nothumanallowed 14.0.3 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/constants.mjs +1 -1
- package/src/server/index.mjs +17 -0
- package/src/server/routes/integrations.mjs +56 -4
- package/src/ui-dist/assets/index-CZpajDT6.js +479 -0
- package/src/ui-dist/assets/index-DomqCxPY.css +1 -0
- package/src/ui-dist/index.html +2 -2
- package/src/ui-dist/assets/index-BNb4mQKL.js +0 -429
- package/src/ui-dist/assets/index-C_jbotpR.css +0 -1
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){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,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},ee=Object.prototype.hasOwnProperty;function te(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ne(e,t){return te(e.type,t,e.props)}function T(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function E(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var D=/\/+/g;function O(e,t){return typeof e==`object`&&e&&e.key!=null?E(``+e.key):t.toString(36)}function re(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function k(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,k(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+O(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(D,`$&/`)+`/`),k(o,r,i,``,function(e){return e})):o!=null&&(T(o)&&(o=ne(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(D,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+O(a,u),c+=k(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+O(a,u++),c+=k(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return k(re(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ie(e,t,n){if(e==null)return e;var r=[],i=0;return k(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function A(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var j=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},M={map:ie,forEach:function(e,t,n){ie(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ie(e,function(){t++}),t},toArray:function(e){return ie(e,function(e){return e})||[]},only:function(e){if(!T(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=M,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!ee.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return te(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)ee.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return te(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=T,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:A}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,j)}catch(e){j(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,T());else{var t=n(l);t!==null&&O(x,t.startTime-e)}}var S=!1,C=-1,w=5,ee=-1;function te(){return g?!0:!(e.unstable_now()-ee<w)}function ne(){if(g=!1,S){var t=e.unstable_now();ee=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&te());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&O(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?T():S=!1}}}var T;if(typeof y==`function`)T=function(){y(ne)};else if(typeof MessageChannel<`u`){var E=new MessageChannel,D=E.port2;E.port1.onmessage=ne,T=function(){D.postMessage(null)}}else T=function(){_(ne,0)};function O(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,O(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,T()))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.6`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),ee=Symbol.for(`react.suspense`),te=Symbol.for(`react.suspense_list`),ne=Symbol.for(`react.memo`),T=Symbol.for(`react.lazy`),E=Symbol.for(`react.activity`),D=Symbol.for(`react.memo_cache_sentinel`),O=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=O&&e[O]||e[`@@iterator`],typeof e==`function`?e:null)}var k=Symbol.for(`react.client.reference`);function ie(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===k?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case ee:return`Suspense`;case te:return`SuspenseList`;case E:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ne:return t=e.displayName||null,t===null?ie(e.type)||`Memo`:t;case T:t=e._payload,e=e._init;try{return ie(e(t))}catch{}}return null}var A=Array.isArray,j=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,M=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ae={pending:!1,data:null,method:null,action:null},oe=[],N=-1;function se(e){return{current:e}}function P(e){0>N||(e.current=oe[N],oe[N]=null,N--)}function F(e,t){N++,oe[N]=e.current,e.current=t}var I=se(null),ce=se(null),le=se(null),ue=se(null);function de(e,t){switch(F(le,t),F(ce,e),F(I,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}P(I),F(I,e)}function L(){P(I),P(ce),P(le)}function fe(e){e.memoizedState!==null&&F(ue,e);var t=I.current,n=Hd(t,e.type);t!==n&&(F(ce,e),F(I,n))}function pe(e){ce.current===e&&(P(I),P(ce)),ue.current===e&&(P(ue),Qf._currentValue=ae)}var me,he;function R(e){if(me===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);me=t&&t[1]||``,he=-1<e.stack.indexOf(`
|
|
2
|
+
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
3
|
+
`+me+e+he}var ge=!1;function _e(e,t){if(!e||ge)return``;ge=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
4
|
+
`),l=s.split(`
|
|
5
|
+
`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
|
|
6
|
+
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{ge=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?R(n):``}function ve(e,t){switch(e.tag){case 26:case 27:case 5:return R(e.type);case 16:return R(`Lazy`);case 13:return e.child!==t&&t!==null?R(`Suspense Fallback`):R(`Suspense`);case 19:return R(`SuspenseList`);case 0:case 15:return _e(e.type,!1);case 11:return _e(e.type.render,!1);case 1:return _e(e.type,!0);case 31:return R(`Activity`);default:return``}}function ye(e){try{var t=``,n=null;do t+=ve(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
|
7
|
+
Error generating stack: `+e.message+`
|
|
8
|
+
`+e.stack}}var be=Object.prototype.hasOwnProperty,xe=t.unstable_scheduleCallback,Se=t.unstable_cancelCallback,Ce=t.unstable_shouldYield,we=t.unstable_requestPaint,Te=t.unstable_now,Ee=t.unstable_getCurrentPriorityLevel,De=t.unstable_ImmediatePriority,Oe=t.unstable_UserBlockingPriority,ke=t.unstable_NormalPriority,Ae=t.unstable_LowPriority,je=t.unstable_IdlePriority,Me=t.log,Ne=t.unstable_setDisableYieldValue,Pe=null,Fe=null;function Ie(e){if(typeof Me==`function`&&Ne(e),Fe&&typeof Fe.setStrictMode==`function`)try{Fe.setStrictMode(Pe,e)}catch{}}var z=Math.clz32?Math.clz32:ze,Le=Math.log,Re=Math.LN2;function ze(e){return e>>>=0,e===0?32:31-(Le(e)/Re|0)|0}var Be=256,Ve=262144,He=4194304;function Ue(e){var t=e&42;if(t!==0)return t;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 B(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ue(n))):i=Ue(o):i=Ue(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ue(n))):i=Ue(o)):i=Ue(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function We(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ge(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Ke(){var e=He;return He<<=1,!(He&62914560)&&(He=4194304),e}function qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function V(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-z(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&Ye(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function Ye(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-z(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Xe(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-z(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function Ze(e,t){var n=t&-t;return n=n&42?1:Qe(n),(n&(e.suspendedLanes|t))===0?n:0}function Qe(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 $e(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function et(){var e=M.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function tt(e,t){var n=M.p;try{return M.p=e,t()}finally{M.p=n}}var nt=Math.random().toString(36).slice(2),rt=`__reactFiber$`+nt,H=`__reactProps$`+nt,it=`__reactContainer$`+nt,at=`__reactEvents$`+nt,ot=`__reactListeners$`+nt,st=`__reactHandles$`+nt,ct=`__reactResources$`+nt,lt=`__reactMarker$`+nt;function ut(e){delete e[rt],delete e[H],delete e[at],delete e[ot],delete e[st]}function U(e){var t=e[rt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[it]||n[rt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[rt])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function dt(e){if(e=e[rt]||e[it]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function ft(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function pt(e){var t=e[ct];return t||=e[ct]={hoistableStyles:new Map,hoistableScripts:new Map},t}function mt(e){e[lt]=!0}var ht=new Set,W={};function gt(e,t){_t(e,t),_t(e+`Capture`,t)}function _t(e,t){for(W[e]=t,e=0;e<t.length;e++)ht.add(t[e])}var vt=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]*$`),yt={},G={};function bt(e){return be.call(G,e)?!0:be.call(yt,e)?!1:vt.test(e)?G[e]=!0:(yt[e]=!0,!1)}function xt(e,t,n){if(bt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function St(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Ct(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function K(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function wt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Tt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Et(e){if(!e._valueTracker){var t=wt(e)?`checked`:`value`;e._valueTracker=Tt(e,t,``+e[t])}}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=wt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Dt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var J=/[\n"\\]/g;function Ot(e){return e.replace(J,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function kt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+K(t)):e.value!==``+K(t)&&(e.value=``+K(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):At(e,o,K(n)):At(e,o,K(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+K(s):e.removeAttribute(`name`)}function Y(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Et(e);return}n=n==null?``:``+K(n),t=t==null?n:``+K(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Et(e)}function At(e,t,n){t===`number`&&Dt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function jt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+K(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Mt(e,t,n){if(t!=null&&(t=``+K(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+K(n)}function X(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(A(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=K(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Et(e)}function Nt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Pt=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 Ft(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||Pt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function It(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&Ft(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&Ft(e,o,t[o])}function Lt(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 Rt=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`]]),zt=/^[\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 Bt(e){return zt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Vt(){}var Ht=null;function Ut(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Wt=null,Gt=null;function Kt(e){var t=dt(e);if(t&&(e=t.stateNode)){var n=e[H]||null;a:switch(e=t.stateNode,t.type){case`input`:if(kt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Ot(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[H]||null;if(!a)throw Error(i(90));kt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&q(r)}break a;case`textarea`:Mt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&jt(e,!!n.multiple,t,!1)}}}var qt=!1;function Jt(e,t,n){if(qt)return e(t,n);qt=!0;try{return e(t)}finally{if(qt=!1,(Wt!==null||Gt!==null)&&(_u(),Wt&&(t=Wt,e=Gt,Gt=Wt=null,Kt(t),e)))for(t=0;t<e.length;t++)Kt(e[t])}}function Yt(e,t){var n=e.stateNode;if(n===null)return null;var r=n[H]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var Xt=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),Z=!1;if(Xt)try{var Zt={};Object.defineProperty(Zt,`passive`,{get:function(){Z=!0}}),window.addEventListener(`test`,Zt,Zt),window.removeEventListener(`test`,Zt,Zt)}catch{Z=!1}var Qt=null,$t=null,en=null;function tn(){if(en)return en;var e,t=$t,n=t.length,r,i=`value`in Qt?Qt.value:Qt.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return en=i.slice(e,1<r?1-r:void 0)}function nn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Q(){return!0}function rn(){return!1}function an(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Q:rn,this.isPropagationStopped=rn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Q)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Q)},persist:function(){},isPersistent:Q}),t}var on={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},sn=an(on),cn=h({},on,{view:0,detail:0}),ln=an(cn),un,dn,fn,pn=h({},cn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wn,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!==fn&&(fn&&e.type===`mousemove`?(un=e.screenX-fn.screenX,dn=e.screenY-fn.screenY):dn=un=0,fn=e),un)},movementY:function(e){return`movementY`in e?e.movementY:dn}}),mn=an(pn),hn=an(h({},pn,{dataTransfer:0})),gn=an(h({},cn,{relatedTarget:0})),_n=an(h({},on,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=an(h({},on,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),yn=an(h({},on,{data:0})),bn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},xn={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`},Sn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Cn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Sn[e])?!!t[e]:!1}function wn(){return Cn}var Tn=an(h({},cn,{key:function(e){if(e.key){var t=bn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=nn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?xn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wn,charCode:function(e){return e.type===`keypress`?nn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?nn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),En=an(h({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Dn=an(h({},cn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wn})),On=an(h({},on,{propertyName:0,elapsedTime:0,pseudoElement:0})),kn=an(h({},pn,{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})),An=an(h({},on,{newState:0,oldState:0})),jn=[9,13,27,32],Mn=Xt&&`CompositionEvent`in window,Nn=null;Xt&&`documentMode`in document&&(Nn=document.documentMode);var Pn=Xt&&`TextEvent`in window&&!Nn,Fn=Xt&&(!Mn||Nn&&8<Nn&&11>=Nn),In=` `,Ln=!1;function Rn(e,t){switch(e){case`keyup`:return jn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Bn=!1;function Vn(e,t){switch(e){case`compositionend`:return zn(t);case`keypress`:return t.which===32?(Ln=!0,In):null;case`textInput`:return e=t.data,e===In&&Ln?null:e;default:return null}}function Hn(e,t){if(Bn)return e===`compositionend`||!Mn&&Rn(e,t)?(e=tn(),en=$t=Qt=null,Bn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return Fn&&t.locale!==`ko`?null:t.data;default:return null}}var Un={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 Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Un[e.type]:t===`textarea`}function Gn(e,t,n,r){Wt?Gt?Gt.push(r):Gt=[r]:Wt=r,t=Td(t,`onChange`),0<t.length&&(n=new sn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var Kn=null,qn=null;function Jn(e){_d(e,0)}function Yn(e){if(q(ft(e)))return e}function Xn(e,t){if(e===`change`)return t}var Zn=!1;if(Xt){var Qn;if(Xt){var $n=`oninput`in document;if(!$n){var er=document.createElement(`div`);er.setAttribute(`oninput`,`return;`),$n=typeof er.oninput==`function`}Qn=$n}else Qn=!1;Zn=Qn&&(!document.documentMode||9<document.documentMode)}function tr(){Kn&&(Kn.detachEvent(`onpropertychange`,nr),qn=Kn=null)}function nr(e){if(e.propertyName===`value`&&Yn(qn)){var t=[];Gn(t,qn,e,Ut(e)),Jt(Jn,t)}}function rr(e,t,n){e===`focusin`?(tr(),Kn=t,qn=n,Kn.attachEvent(`onpropertychange`,nr)):e===`focusout`&&tr()}function ir(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return Yn(qn)}function ar(e,t){if(e===`click`)return Yn(t)}function or(e,t){if(e===`input`||e===`change`)return Yn(t)}function sr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var cr=typeof Object.is==`function`?Object.is:sr;function lr(e,t){if(cr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!be.call(t,i)||!cr(e[i],t[i]))return!1}return!0}function ur(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function dr(e,t){var n=ur(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=ur(n)}}function fr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?fr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Dt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Dt(e.document)}return t}function mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var hr=Xt&&`documentMode`in document&&11>=document.documentMode,gr=null,_r=null,vr=null,yr=!1;function br(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;yr||gr==null||gr!==Dt(r)||(r=gr,`selectionStart`in r&&mr(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}),vr&&lr(vr,r)||(vr=r,r=Td(_r,`onSelect`),0<r.length&&(t=new sn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function xr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Sr={animationend:xr(`Animation`,`AnimationEnd`),animationiteration:xr(`Animation`,`AnimationIteration`),animationstart:xr(`Animation`,`AnimationStart`),transitionrun:xr(`Transition`,`TransitionRun`),transitionstart:xr(`Transition`,`TransitionStart`),transitioncancel:xr(`Transition`,`TransitionCancel`),transitionend:xr(`Transition`,`TransitionEnd`)},Cr={},wr={};Xt&&(wr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),`TransitionEvent`in window||delete Sr.transitionend.transition);function Tr(e){if(Cr[e])return Cr[e];if(!Sr[e])return e;var t=Sr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in wr)return Cr[e]=t[n];return e}var Er=Tr(`animationend`),Dr=Tr(`animationiteration`),Or=Tr(`animationstart`),kr=Tr(`transitionrun`),Ar=Tr(`transitionstart`),jr=Tr(`transitioncancel`),Mr=Tr(`transitionend`),Nr=new Map,Pr=`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(` `);Pr.push(`scrollEnd`);function Fr(e,t){Nr.set(e,t),gt(t,[e])}var Ir=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Lr=[],Rr=0,zr=0;function Br(){for(var e=Rr,t=zr=Rr=0;t<e;){var n=Lr[t];Lr[t++]=null;var r=Lr[t];Lr[t++]=null;var i=Lr[t];Lr[t++]=null;var a=Lr[t];if(Lr[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&Wr(n,i,a)}}function Vr(e,t,n,r){Lr[Rr++]=e,Lr[Rr++]=t,Lr[Rr++]=n,Lr[Rr++]=r,zr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Hr(e,t,n,r){return Vr(e,t,n,r),Gr(e)}function Ur(e,t){return Vr(e,null,null,t),Gr(e)}function Wr(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-z(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Gr(e){if(50<cu)throw cu=0,lu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Kr={};function qr(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Jr(e,t,n,r){return new qr(e,t,n,r)}function Yr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Xr(e,t){var n=e.alternate;return n===null?(n=Jr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Zr(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Qr(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)Yr(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,I.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case E:return e=Jr(31,n,t,a),e.elementType=E,e.lanes=o,e;case y:return $r(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=Jr(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case ee:return e=Jr(13,n,t,a),e.elementType=ee,e.lanes=o,e;case te:return e=Jr(19,n,t,a),e.elementType=te,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case ne:s=14;break a;case T:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=Jr(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function $r(e,t,n,r){return e=Jr(7,e,r,t),e.lanes=n,e}function ei(e,t,n){return e=Jr(6,e,null,t),e.lanes=n,e}function ti(e){var t=Jr(18,null,null,0);return t.stateNode=e,t}function ni(e,t,n){return t=Jr(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ri=new WeakMap;function ii(e,t){if(typeof e==`object`&&e){var n=ri.get(e);return n===void 0?(t={value:e,source:t,stack:ye(t)},ri.set(e,t),t):n}return{value:e,source:t,stack:ye(t)}}var ai=[],oi=0,si=null,ci=0,li=[],ui=0,di=null,fi=1,pi=``;function mi(e,t){ai[oi++]=ci,ai[oi++]=si,si=e,ci=t}function hi(e,t,n){li[ui++]=fi,li[ui++]=pi,li[ui++]=di,di=e;var r=fi;e=pi;var i=32-z(r)-1;r&=~(1<<i),n+=1;var a=32-z(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,fi=1<<32-z(t)+i|n<<i|r,pi=a+e}else fi=1<<a|n<<i|r,pi=e}function gi(e){e.return!==null&&(mi(e,1),hi(e,1,0))}function _i(e){for(;e===si;)si=ai[--oi],ai[oi]=null,ci=ai[--oi],ai[oi]=null;for(;e===di;)di=li[--ui],li[ui]=null,pi=li[--ui],li[ui]=null,fi=li[--ui],li[ui]=null}function vi(e,t){li[ui++]=fi,li[ui++]=pi,li[ui++]=di,fi=t.id,pi=t.overflow,di=e}var yi=null,bi=null,xi=!1,Si=null,Ci=!1,wi=Error(i(519));function Ti(e){throw ji(ii(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),wi}function Ei(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[rt]=e,t[H]=r,n){case`dialog`:vd(`cancel`,t),vd(`close`,t);break;case`iframe`:case`object`:case`embed`:vd(`load`,t);break;case`video`:case`audio`:for(n=0;n<hd.length;n++)vd(hd[n],t);break;case`source`:vd(`error`,t);break;case`img`:case`image`:case`link`:vd(`error`,t),vd(`load`,t);break;case`details`:vd(`toggle`,t);break;case`input`:vd(`invalid`,t),Y(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:vd(`invalid`,t);break;case`textarea`:vd(`invalid`,t),X(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||jd(t.textContent,n)?(r.popover!=null&&(vd(`beforetoggle`,t),vd(`toggle`,t)),r.onScroll!=null&&vd(`scroll`,t),r.onScrollEnd!=null&&vd(`scrollend`,t),r.onClick!=null&&(t.onclick=Vt),t=!0):t=!1,t||Ti(e,!0)}function Di(e){for(yi=e.return;yi;)switch(yi.tag){case 5:case 31:case 13:Ci=!1;return;case 27:case 3:Ci=!0;return;default:yi=yi.return}}function Oi(e){if(e!==yi)return!1;if(!xi)return Di(e),xi=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Ud(e.type,e.memoizedProps)),n=!n),n&&bi&&Ti(e),Di(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));bi=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));bi=uf(e)}else t===27?(t=bi,Zd(e.type)?(e=lf,lf=null,bi=e):bi=t):bi=yi?cf(e.stateNode.nextSibling):null;return!0}function ki(){bi=yi=null,xi=!1}function Ai(){var e=Si;return e!==null&&(Jl===null?Jl=e:Jl.push.apply(Jl,e),Si=null),e}function ji(e){Si===null?Si=[e]:Si.push(e)}var Mi=se(null),Ni=null,Pi=null;function Fi(e,t,n){F(Mi,t._currentValue),t._currentValue=n}function Ii(e){e._currentValue=Mi.current,P(Mi)}function Li(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ri(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Li(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Li(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function zi(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;cr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ue.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}a=a.return}e!==null&&Ri(t,e,n,r),t.flags|=262144}function Bi(e){for(e=e.firstContext;e!==null;){if(!cr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Vi(e){Ni=e,Pi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Hi(e){return Wi(Ni,e)}function Ui(e,t){return Ni===null&&Vi(e),Wi(e,t)}function Wi(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Pi===null){if(e===null)throw Error(i(308));Pi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Pi=Pi.next=t;return n}var Gi=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Ki=t.unstable_scheduleCallback,qi=t.unstable_NormalPriority,Ji={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Yi(){return{controller:new Gi,data:new Map,refCount:0}}function Xi(e){e.refCount--,e.refCount===0&&Ki(qi,function(){e.controller.abort()})}var Zi=null,Qi=0,$i=0,ea=null;function ta(e,t){if(Zi===null){var n=Zi=[];Qi=0,$i=ld(),ea={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return Qi++,t.then(na,na),t}function na(){if(--Qi===0&&Zi!==null){ea!==null&&(ea.status=`fulfilled`);var e=Zi;Zi=null,$i=0,ea=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ra(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var ia=j.S;j.S=function(e,t){Zl=Te(),typeof t==`object`&&t&&typeof t.then==`function`&&ta(e,t),ia!==null&&ia(e,t)};var aa=se(null);function oa(){var e=aa.current;return e===null?Ml.pooledCache:e}function sa(e,t){t===null?F(aa,aa.current):F(aa,t.pool)}function ca(){var e=oa();return e===null?null:{parent:Ji._currentValue,pool:e}}var la=Error(i(460)),ua=Error(i(474)),da=Error(i(542)),fa={then:function(){}};function pa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function ma(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Vt,Vt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,va(e),e;default:if(typeof t.status==`string`)t.then(Vt,Vt);else{if(e=Ml,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,va(e),e}throw ga=t,la}}function ha(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(ga=e,la):e}}var ga=null;function _a(){if(ga===null)throw Error(i(459));var e=ga;return ga=null,e}function va(e){if(e===la||e===da)throw Error(i(483))}var ya=null,ba=0;function xa(e){var t=ba;return ba+=1,ya===null&&(ya=[]),ma(ya,e,t)}function Sa(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ca(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function wa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=Xr(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=ei(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===T&&ha(i)===t.type)?(t=a(t,n.props),Sa(t,n),t.return=e,t):(t=Qr(n.type,n.key,n.props,null,e.mode,r),Sa(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=ni(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=$r(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=ei(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=Qr(t.type,t.key,t.props,null,e.mode,n),Sa(n,t),n.return=e,n;case v:return t=ni(t,e.mode,n),t.return=e,t;case T:return t=ha(t),f(e,t,n)}if(A(t)||re(t))return t=$r(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,xa(t),n);if(t.$$typeof===C)return f(e,Ui(e,t),n);Ca(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case T:return n=ha(n),p(e,t,n,r)}if(A(n)||re(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,xa(n),r);if(n.$$typeof===C)return p(e,t,Ui(e,n),r);Ca(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case T:return r=ha(r),m(e,t,n,r,i)}if(A(r)||re(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,xa(r),i);if(r.$$typeof===C)return m(e,t,n,Ui(t,r),i);Ca(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),xi&&mi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return xi&&mi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),xi&&mi(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),xi&&mi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return xi&&mi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),xi&&mi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===T&&ha(l)===r.type){n(e,r.sibling),c=a(r,o.props),Sa(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=$r(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=Qr(o.type,o.key,o.props,null,e.mode,c),Sa(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=ni(o,e.mode,c),c.return=e,e=c}return s(e);case T:return o=ha(o),b(e,r,o,c)}if(A(o))return h(e,r,o,c);if(re(o)){if(l=re(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,xa(o),c);if(o.$$typeof===C)return b(e,r,Ui(e,o),c);Ca(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=ei(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ba=0;var i=b(e,t,n,r);return ya=null,i}catch(t){if(t===la||t===da)throw t;var a=Jr(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ta=wa(!0),Ea=wa(!1),Da=!1;function Oa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ka(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Aa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ja(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,jl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Gr(e),Wr(e,null,n),t}return Vr(e,r,t,n),Gr(e)}function Ma(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Xe(e,n)}}function Na(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Pa=!1;function Fa(){if(Pa){var e=ea;if(e!==null)throw e}}function Ia(e,t,n,r){Pa=!1;var i=e.updateQueue;Da=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Pl&f)===f:(r&f)===f){f!==0&&f===$i&&(Pa=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Da=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Hl|=o,e.lanes=o,e.memoizedState=d}}function La(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ra(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)La(n[e],t)}var za=se(null),Ba=se(0);function Va(e,t){e=Bl,F(Ba,e),F(za,t),Bl=e|t.baseLanes}function Ha(){F(Ba,Bl),F(za,za.current)}function Ua(){Bl=Ba.current,P(za),P(Ba)}var Wa=se(null),Ga=null;function Ka(e){var t=e.alternate;F(Za,Za.current&1),F(Wa,e),Ga===null&&(t===null||za.current!==null||t.memoizedState!==null)&&(Ga=e)}function qa(e){F(Za,Za.current),F(Wa,e),Ga===null&&(Ga=e)}function Ja(e){e.tag===22?(F(Za,Za.current),F(Wa,e),Ga===null&&(Ga=e)):Ya(e)}function Ya(){F(Za,Za.current),F(Wa,Wa.current)}function Xa(e){P(Wa),Ga===e&&(Ga=null),P(Za)}var Za=se(0);function Qa(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var $a=0,$=null,eo=null,to=null,no=!1,ro=!1,io=!1,ao=0,oo=0,so=null,co=0;function lo(){throw Error(i(321))}function uo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!cr(e[n],t[n]))return!1;return!0}function fo(e,t,n,r,i,a){return $a=a,$=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,j.H=e===null||e.memoizedState===null?ks:As,io=!1,a=n(r,i),io=!1,ro&&(a=mo(t,n,r,i)),po(e),a}function po(e){j.H=Os;var t=eo!==null&&eo.next!==null;if($a=0,to=eo=$=null,no=!1,oo=0,so=null,t)throw Error(i(300));e===null||qs||(e=e.dependencies,e!==null&&Bi(e)&&(qs=!0))}function mo(e,t,n,r){$=e;var a=0;do{if(ro&&(so=null),oo=0,ro=!1,25<=a)throw Error(i(301));if(a+=1,to=eo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}j.H=js,o=t(n,r)}while(ro);return o}function ho(){var e=j.H,t=e.useState()[0];return t=typeof t.then==`function`?So(t):t,e=e.useState()[0],(eo===null?null:eo.memoizedState)!==e&&($.flags|=1024),t}function go(){var e=ao!==0;return ao=0,e}function _o(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function vo(e){if(no){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}no=!1}$a=0,to=eo=$=null,ro=!1,oo=ao=0,so=null}function yo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return to===null?$.memoizedState=to=e:to=to.next=e,to}function bo(){if(eo===null){var e=$.alternate;e=e===null?null:e.memoizedState}else e=eo.next;var t=to===null?$.memoizedState:to.next;if(t!==null)to=t,eo=e;else{if(e===null)throw $.alternate===null?Error(i(467)):Error(i(310));eo=e,e={memoizedState:eo.memoizedState,baseState:eo.baseState,baseQueue:eo.baseQueue,queue:eo.queue,next:null},to===null?$.memoizedState=to=e:to=to.next=e}return to}function xo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function So(e){var t=oo;return oo+=1,so===null&&(so=[]),e=ma(so,e,t),t=$,(to===null?t.memoizedState:to.next)===null&&(t=t.alternate,j.H=t===null||t.memoizedState===null?ks:As),e}function Co(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return So(e);if(e.$$typeof===C)return Hi(e)}throw Error(i(438,String(e)))}function wo(e){var t=null,n=$.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=$.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=xo(),$.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=D;return t.index++,n}function To(e,t){return typeof t==`function`?t(e):t}function Eo(e){return Do(bo(),eo,e)}function Do(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?($a&f)===f:(Pl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===$i&&(d=!0);else if(($a&p)===p){u=u.next,p===$i&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,$.lanes|=p,Hl|=p;f=u.action,io&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,$.lanes|=f,Hl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!cr(o,e.memoizedState)&&(qs=!0,d&&(n=ea,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Oo(e){var t=bo(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);cr(o,t.memoizedState)||(qs=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ko(e,t,n){var r=$,a=bo(),o=xi;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!cr((eo||a).memoizedState,n);if(s&&(a.memoizedState=n,qs=!0),a=a.queue,es(Mo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||to!==null&&to.memoizedState.tag&1){if(r.flags|=2048,Yo(9,{destroy:void 0},jo.bind(null,r,a,n,t),null),Ml===null)throw Error(i(349));o||$a&127||Ao(r,t,n)}return n}function Ao(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=$.updateQueue,t===null?(t=xo(),$.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function jo(e,t,n,r){t.value=n,t.getSnapshot=r,No(t)&&Po(e)}function Mo(e,t,n){return n(function(){No(t)&&Po(e)})}function No(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!cr(e,n)}catch{return!0}}function Po(e){var t=Ur(e,2);t!==null&&fu(t,e,2)}function Fo(e){var t=yo();if(typeof e==`function`){var n=e;if(e=n(),io){Ie(!0);try{n()}finally{Ie(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:To,lastRenderedState:e},t}function Io(e,t,n,r){return e.baseState=n,Do(e,eo,typeof r==`function`?r:To)}function Lo(e,t,n,r,a){if(Ts(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};j.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Ro(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Ro(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=j.T,o={};j.T=o;try{var s=n(i,r),c=j.S;c!==null&&c(o,s),zo(e,t,s)}catch(n){Vo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),j.T=a}}else try{a=n(i,r),zo(e,t,a)}catch(n){Vo(e,t,n)}}function zo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Bo(e,t,n)},function(n){return Vo(e,t,n)}):Bo(e,t,n)}function Bo(e,t,n){t.status=`fulfilled`,t.value=n,Ho(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Ro(e,n)))}function Vo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Ho(t),t=t.next;while(t!==r)}e.action=null}function Ho(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Uo(e,t){return t}function Wo(e,t){if(xi){var n=Ml.formState;if(n!==null){a:{var r=$;if(xi){if(bi){b:{for(var i=bi,a=Ci;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){bi=cf(i.nextSibling),r=i.data===`F!`;break a}}Ti(r)}r=!1}r&&(t=n[0])}}return n=yo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Uo,lastRenderedState:t},n.queue=r,n=Ss.bind(null,$,r),r.dispatch=n,r=Fo(!1),a=ws.bind(null,$,!1,r.queue),r=yo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Lo.bind(null,$,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Go(e){return Ko(bo(),eo,e)}function Ko(e,t,n){if(t=Do(e,t,Uo)[0],e=Eo(To)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=So(t)}catch(e){throw e===la?da:e}else r=t;t=bo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&($.flags|=2048,Yo(9,{destroy:void 0},qo.bind(null,i,n),null)),[r,a,e]}function qo(e,t){e.action=t}function Jo(e){var t=bo(),n=eo;if(n!==null)return Ko(t,n,e);bo(),t=t.memoizedState,n=bo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Yo(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=$.updateQueue,t===null&&(t=xo(),$.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Xo(){return bo().memoizedState}function Zo(e,t,n,r){var i=yo();$.flags|=e,i.memoizedState=Yo(1|t,{destroy:void 0},n,r===void 0?null:r)}function Qo(e,t,n,r){var i=bo();r=r===void 0?null:r;var a=i.memoizedState.inst;eo!==null&&r!==null&&uo(r,eo.memoizedState.deps)?i.memoizedState=Yo(t,a,n,r):($.flags|=e,i.memoizedState=Yo(1|t,a,n,r))}function $o(e,t){Zo(8390656,8,e,t)}function es(e,t){Qo(2048,8,e,t)}function ts(e){$.flags|=4;var t=$.updateQueue;if(t===null)t=xo(),$.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function ns(e){var t=bo().memoizedState;return ts({ref:t,nextImpl:e}),function(){if(jl&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function rs(e,t){return Qo(4,2,e,t)}function is(e,t){return Qo(4,4,e,t)}function as(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function os(e,t,n){n=n==null?null:n.concat([e]),Qo(4,4,as.bind(null,t,e),n)}function ss(){}function cs(e,t){var n=bo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&uo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ls(e,t){var n=bo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&uo(t,r[1]))return r[0];if(r=e(),io){Ie(!0);try{e()}finally{Ie(!1)}}return n.memoizedState=[r,t],r}function us(e,t,n){return n===void 0||$a&1073741824&&!(Pl&261930)?e.memoizedState=t:(e.memoizedState=n,e=du(),$.lanes|=e,Hl|=e,n)}function ds(e,t,n,r){return cr(n,t)?n:za.current===null?!($a&42)||$a&1073741824&&!(Pl&261930)?(qs=!0,e.memoizedState=n):(e=du(),$.lanes|=e,Hl|=e,t):(e=us(e,n,r),cr(e,t)||(qs=!0),e)}function fs(e,t,n,r,i){var a=M.p;M.p=a!==0&&8>a?a:8;var o=j.T,s={};j.T=s,ws(e,!1,t,n);try{var c=i(),l=j.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Cs(e,t,ra(c,r),uu(e)):Cs(e,t,r,uu(e))}catch(n){Cs(e,t,{then:function(){},status:`rejected`,reason:n},uu())}finally{M.p=a,o!==null&&s.types!==null&&(o.types=s.types),j.T=o}}function ps(){}function ms(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=hs(e).queue;fs(e,a,t,ae,n===null?ps:function(){return gs(e),n(r)})}function hs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:To,lastRenderedState:ae},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:To,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function gs(e){var t=hs(e);t.next===null&&(t=e.alternate.memoizedState),Cs(e,t.next.queue,{},uu())}function _s(){return Hi(Qf)}function vs(){return bo().memoizedState}function ys(){return bo().memoizedState}function bs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=uu();e=Aa(n);var r=ja(t,e,n);r!==null&&(fu(r,t,n),Ma(r,t,n)),t={cache:Yi()},e.payload=t;return}t=t.return}}function xs(e,t,n){var r=uu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ts(e)?Es(t,n):(n=Hr(e,t,n,r),n!==null&&(fu(n,e,r),Ds(n,t,r)))}function Ss(e,t,n){Cs(e,t,n,uu())}function Cs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ts(e))Es(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,cr(s,o))return Vr(e,t,i,0),Ml===null&&Br(),!1}catch{}if(n=Hr(e,t,i,r),n!==null)return fu(n,e,r),Ds(n,t,r),!0}return!1}function ws(e,t,n,r){if(r={lane:2,revertLane:ld(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ts(e)){if(t)throw Error(i(479))}else t=Hr(e,n,r,2),t!==null&&fu(t,e,2)}function Ts(e){var t=e.alternate;return e===$||t!==null&&t===$}function Es(e,t){ro=no=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ds(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Xe(e,n)}}var Os={readContext:Hi,use:Co,useCallback:lo,useContext:lo,useEffect:lo,useImperativeHandle:lo,useLayoutEffect:lo,useInsertionEffect:lo,useMemo:lo,useReducer:lo,useRef:lo,useState:lo,useDebugValue:lo,useDeferredValue:lo,useTransition:lo,useSyncExternalStore:lo,useId:lo,useHostTransitionStatus:lo,useFormState:lo,useActionState:lo,useOptimistic:lo,useMemoCache:lo,useCacheRefresh:lo};Os.useEffectEvent=lo;var ks={readContext:Hi,use:Co,useCallback:function(e,t){return yo().memoizedState=[e,t===void 0?null:t],e},useContext:Hi,useEffect:$o,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Zo(4194308,4,as.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Zo(4194308,4,e,t)},useInsertionEffect:function(e,t){Zo(4,2,e,t)},useMemo:function(e,t){var n=yo();t=t===void 0?null:t;var r=e();if(io){Ie(!0);try{e()}finally{Ie(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=yo();if(n!==void 0){var i=n(t);if(io){Ie(!0);try{n(t)}finally{Ie(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=xs.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var t=yo();return e={current:e},t.memoizedState=e},useState:function(e){e=Fo(e);var t=e.queue,n=Ss.bind(null,$,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ss,useDeferredValue:function(e,t){return us(yo(),e,t)},useTransition:function(){var e=Fo(!1);return e=fs.bind(null,$,e.queue,!0,!1),yo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=$,a=yo();if(xi){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Ml===null)throw Error(i(349));Pl&127||Ao(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,$o(Mo.bind(null,r,o,e),[e]),r.flags|=2048,Yo(9,{destroy:void 0},jo.bind(null,r,o,n,t),null),n},useId:function(){var e=yo(),t=Ml.identifierPrefix;if(xi){var n=pi,r=fi;n=(r&~(1<<32-z(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ao++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=co++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:_s,useFormState:Wo,useActionState:Wo,useOptimistic:function(e){var t=yo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=ws.bind(null,$,!0,n),n.dispatch=t,[e,t]},useMemoCache:wo,useCacheRefresh:function(){return yo().memoizedState=bs.bind(null,$)},useEffectEvent:function(e){var t=yo(),n={impl:e};return t.memoizedState=n,function(){if(jl&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},As={readContext:Hi,use:Co,useCallback:cs,useContext:Hi,useEffect:es,useImperativeHandle:os,useInsertionEffect:rs,useLayoutEffect:is,useMemo:ls,useReducer:Eo,useRef:Xo,useState:function(){return Eo(To)},useDebugValue:ss,useDeferredValue:function(e,t){return ds(bo(),eo.memoizedState,e,t)},useTransition:function(){var e=Eo(To)[0],t=bo().memoizedState;return[typeof e==`boolean`?e:So(e),t]},useSyncExternalStore:ko,useId:vs,useHostTransitionStatus:_s,useFormState:Go,useActionState:Go,useOptimistic:function(e,t){return Io(bo(),eo,e,t)},useMemoCache:wo,useCacheRefresh:ys};As.useEffectEvent=ns;var js={readContext:Hi,use:Co,useCallback:cs,useContext:Hi,useEffect:es,useImperativeHandle:os,useInsertionEffect:rs,useLayoutEffect:is,useMemo:ls,useReducer:Oo,useRef:Xo,useState:function(){return Oo(To)},useDebugValue:ss,useDeferredValue:function(e,t){var n=bo();return eo===null?us(n,e,t):ds(n,eo.memoizedState,e,t)},useTransition:function(){var e=Oo(To)[0],t=bo().memoizedState;return[typeof e==`boolean`?e:So(e),t]},useSyncExternalStore:ko,useId:vs,useHostTransitionStatus:_s,useFormState:Jo,useActionState:Jo,useOptimistic:function(e,t){var n=bo();return eo===null?(n.baseState=e,[e,n.queue.dispatch]):Io(n,eo,e,t)},useMemoCache:wo,useCacheRefresh:ys};js.useEffectEvent=ns;function Ms(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ns={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=uu(),i=Aa(r);i.payload=t,n!=null&&(i.callback=n),t=ja(e,i,r),t!==null&&(fu(t,e,r),Ma(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=uu(),i=Aa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=ja(e,i,r),t!==null&&(fu(t,e,r),Ma(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=uu(),r=Aa(n);r.tag=2,t!=null&&(r.callback=t),t=ja(e,r,n),t!==null&&(fu(t,e,n),Ma(t,e,n))}};function Ps(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!lr(n,r)||!lr(i,a):!0}function Fs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ns.enqueueReplaceState(t,t.state,null)}function Is(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Ls(e){Ir(e)}function Rs(e){console.error(e)}function zs(e){Ir(e)}function Bs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Vs(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Hs(e,t,n){return n=Aa(n),n.tag=3,n.payload={element:null},n.callback=function(){Bs(e,t)},n}function Us(e){return e=Aa(e),e.tag=3,e}function Ws(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Vs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Vs(t,n,r),typeof i!=`function`&&(eu===null?eu=new Set([this]):eu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Gs(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&zi(t,n,a,!0),n=Wa.current,n!==null){switch(n.tag){case 31:case 13:return Ga===null?wu():n.alternate===null&&Vl===0&&(Vl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===fa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Uu(e,r,a)),!1;case 22:return n.flags|=65536,r===fa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Uu(e,r,a)),!1}throw Error(i(435,n.tag))}return Uu(e,r,a),wu(),!1}if(xi)return t=Wa.current,t===null?(r!==wi&&(t=Error(i(423),{cause:r}),ji(ii(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=ii(r,n),a=Hs(e.stateNode,r,a),Na(e,a),Vl!==4&&(Vl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==wi&&(e=Error(i(422),{cause:r}),ji(ii(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=ii(o,n),ql===null?ql=[o]:ql.push(o),Vl!==4&&(Vl=2),t===null)return!0;r=ii(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Hs(n.stateNode,r,e),Na(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(eu===null||!eu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Us(a),Ws(a,e,n,r),Na(n,a),!1}n=n.return}while(n!==null);return!1}var Ks=Error(i(461)),qs=!1;function Js(e,t,n,r){t.child=e===null?Ea(t,null,n,r):Ta(t,e.child,n,r)}function Ys(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Vi(t),r=fo(e,t,n,o,a,i),s=go(),e!==null&&!qs?(_o(e,t,i),yc(e,t,i)):(xi&&s&&gi(t),t.flags|=1,Js(e,t,r,i),t.child)}function Xs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Yr(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,Zs(e,t,a,r,i)):(e=Qr(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!bc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?lr:n,n(o,r)&&e.ref===t.ref)return yc(e,t,i)}return t.flags|=1,e=Xr(a,r),e.ref=t.ref,e.return=t,t.child=e}function Zs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref)if(qs=!1,t.pendingProps=r=a,bc(e,i))e.flags&131072&&(qs=!0);else return t.lanes=e.lanes,yc(e,t,i)}return ac(e,t,n,r,i)}function Qs(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return ec(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&sa(t,a===null?null:a.cachePool),a===null?Ha():Va(t,a),Ja(t);else return r=t.lanes=536870912,ec(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&sa(t,null),Ha(),Ya(t)):(sa(t,a.cachePool),Va(t,a),Ya(t),t.memoizedState=null);return Js(e,t,i,n),t.child}function $s(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ec(e,t,n,r,i){var a=oa();return a=a===null?null:{parent:Ji._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&sa(t,null),Ha(),Ja(t),e!==null&&zi(e,t,r,!0),t.childLanes=i,null}function tc(e,t){return t=mc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function nc(e,t,n){return Ta(t,e.child,null,n),e=tc(t,t.pendingProps),e.flags|=2,Xa(t),t.memoizedState=null,e}function rc(e,t,n){var r=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(xi){if(r.mode===`hidden`)return e=tc(t,r),t.lanes=536870912,$s(null,e);if(qa(t),(e=bi)?(e=rf(e,Ci),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:di===null?null:{id:fi,overflow:pi},retryLane:536870912,hydrationErrors:null},n=ti(e),n.return=t,t.child=n,yi=t,bi=null)):e=null,e===null)throw Ti(t);return t.lanes=536870912,null}return tc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(qa(t),a)if(t.flags&256)t.flags&=-257,t=nc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558));else if(qs||zi(e,t,n,!1),a=(n&e.childLanes)!==0,qs||a){if(r=Ml,r!==null&&(s=Ze(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Ur(e,s),fu(r,e,s),Ks;wu(),t=nc(e,t,n)}else e=o.treeContext,bi=cf(s.nextSibling),yi=t,xi=!0,Si=null,Ci=!1,e!==null&&vi(t,e),t=tc(t,r),t.flags|=4096;return t}return e=Xr(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ic(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function ac(e,t,n,r,i){return Vi(t),n=fo(e,t,n,r,void 0,i),r=go(),e!==null&&!qs?(_o(e,t,i),yc(e,t,i)):(xi&&r&&gi(t),t.flags|=1,Js(e,t,n,i),t.child)}function oc(e,t,n,r,i,a){return Vi(t),t.updateQueue=null,n=mo(t,r,n,i),po(e),r=go(),e!==null&&!qs?(_o(e,t,a),yc(e,t,a)):(xi&&r&&gi(t),t.flags|=1,Js(e,t,n,a),t.child)}function sc(e,t,n,r,i){if(Vi(t),t.stateNode===null){var a=Kr,o=n.contextType;typeof o==`object`&&o&&(a=Hi(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ns,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Oa(t),o=n.contextType,a.context=typeof o==`object`&&o?Hi(o):Kr,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ms(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Ns.enqueueReplaceState(a,a.state,null),Ia(t,r,a,i),Fa(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Is(n,s);a.props=c;var l=a.context,u=n.contextType;o=Kr,typeof u==`object`&&u&&(o=Hi(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Fs(t,a,r,o),Da=!1;var f=t.memoizedState;a.state=f,Ia(t,r,a,i),Fa(),l=t.memoizedState,s||f!==l||Da?(typeof d==`function`&&(Ms(t,n,d,r),l=t.memoizedState),(c=Da||Ps(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,ka(e,t),o=t.memoizedProps,u=Is(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Kr,typeof l==`object`&&l&&(c=Hi(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Fs(t,a,r,c),Da=!1,f=t.memoizedState,a.state=f,Ia(t,r,a,i),Fa();var p=t.memoizedState;o!==d||f!==p||Da||e!==null&&e.dependencies!==null&&Bi(e.dependencies)?(typeof s==`function`&&(Ms(t,n,s,r),p=t.memoizedState),(u=Da||Ps(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Bi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,ic(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ta(t,e.child,null,i),t.child=Ta(t,null,n,i)):Js(e,t,n,i),t.memoizedState=a.state,e=t.child):e=yc(e,t,i),e}function cc(e,t,n,r){return ki(),t.flags|=256,Js(e,t,n,r),t.child}var lc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function uc(e){return{baseLanes:e,cachePool:ca()}}function dc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Gl),e}function fc(e,t,n){var r=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(Za.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(xi){if(a?Ka(t):Ya(t),(e=bi)?(e=rf(e,Ci),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:di===null?null:{id:fi,overflow:pi},retryLane:536870912,hydrationErrors:null},n=ti(e),n.return=t,t.child=n,yi=t,bi=null)):e=null,e===null)throw Ti(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(Ya(t),a=t.mode,c=mc({mode:`hidden`,children:c},a),r=$r(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=uc(n),r.childLanes=dc(e,s,n),t.memoizedState=lc,$s(null,r)):(Ka(t),pc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(Ka(t),t.flags&=-257,t=hc(e,t,n)):t.memoizedState===null?(Ya(t),c=r.fallback,a=t.mode,r=mc({mode:`visible`,children:r.children},a),c=$r(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ta(t,e.child,null,n),r=t.child,r.memoizedState=uc(n),r.childLanes=dc(e,s,n),t.memoizedState=lc,t=$s(null,r)):(Ya(t),t.child=e.child,t.flags|=128,t=null);else if(Ka(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,ji({value:r,source:null,stack:null}),t=hc(e,t,n)}else if(qs||zi(e,t,n,!1),s=(n&e.childLanes)!==0,qs||s){if(s=Ml,s!==null&&(r=Ze(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Ur(e,r),fu(s,e,r),Ks;af(c)||wu(),t=hc(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,bi=cf(c.nextSibling),yi=t,xi=!0,Si=null,Ci=!1,e!==null&&vi(t,e),t=pc(t,r.children),t.flags|=4096);return t}return a?(Ya(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=Xr(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=$r(c,a,n,null),c.flags|=2):c=Xr(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,$s(null,r),r=t.child,c=e.child.memoizedState,c===null?c=uc(n):(a=c.cachePool,a===null?a=ca():(l=Ji._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=dc(e,s,n),t.memoizedState=lc,$s(e.child,r)):(Ka(t),n=e.child,e=n.sibling,n=Xr(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function pc(e,t){return t=mc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function mc(e,t){return e=Jr(22,e,null,t),e.lanes=0,e}function hc(e,t,n){return Ta(t,e.child,null,n),e=pc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function gc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Li(e.return,t,n)}function _c(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function vc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=Za.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,F(Za,o),Js(e,t,r,n),r=xi?ci:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&gc(e,n,t);else if(e.tag===19)gc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Qa(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),_c(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Qa(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}_c(t,!0,n,null,a,r);break;case`together`:_c(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function yc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Hl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(zi(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=Xr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Xr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function bc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Bi(e))):!0}function xc(e,t,n){switch(t.tag){case 3:de(t,t.stateNode.containerInfo),Fi(t,Ji,e.memoizedState.cache),ki();break;case 27:case 5:fe(t);break;case 4:de(t,t.stateNode.containerInfo);break;case 10:Fi(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,qa(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Ka(t),e=yc(e,t,n),e===null?null:e.sibling):fc(e,t,n):(Ka(t),t.flags|=128,null);Ka(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(zi(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return vc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),F(Za,Za.current),r)break;return null;case 22:return t.lanes=0,Qs(e,t,n,t.pendingProps);case 24:Fi(t,Ji,e.memoizedState.cache)}return yc(e,t,n)}function Sc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)qs=!0;else{if(!bc(e,n)&&!(t.flags&128))return qs=!1,xc(e,t,n);qs=!!(e.flags&131072)}else qs=!1,xi&&t.flags&1048576&&hi(t,ci,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=ha(t.elementType),t.type=e,typeof e==`function`)Yr(e)?(r=Is(e,r),t.tag=1,t=sc(null,t,e,r,n)):(t.tag=0,t=ac(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=Ys(null,t,e,r,n);break a}else if(a===ne){t.tag=14,t=Xs(null,t,e,r,n);break a}}throw t=ie(e)||e,Error(i(306,t,``))}}return t;case 0:return ac(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Is(r,t.pendingProps),sc(e,t,r,a,n);case 3:a:{if(de(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,ka(e,t),Ia(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Fi(t,Ji,r),r!==o.cache&&Ri(t,[Ji],n,!0),Fa(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=cc(e,t,r,n);break a}else if(r!==a){a=ii(Error(i(424)),t),ji(a),t=cc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(bi=cf(e.firstChild),yi=t,xi=!0,Si=null,Ci=!0,n=Ea(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(ki(),r===a){t=yc(e,t,n);break a}Js(e,t,r,n)}t=t.child}return t;case 26:return ic(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:xi||(n=t.type,e=t.pendingProps,r=Bd(le.current).createElement(n),r[rt]=t,r[H]=e,Pd(r,n,e),mt(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return fe(t),e===null&&xi&&(r=t.stateNode=ff(t.type,t.pendingProps,le.current),yi=t,Ci=!0,a=bi,Zd(t.type)?(lf=a,bi=cf(r.firstChild)):bi=a),Js(e,t,t.pendingProps.children,n),ic(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&xi&&((a=r=bi)&&(r=tf(r,t.type,t.pendingProps,Ci),r===null?a=!1:(t.stateNode=r,yi=t,bi=cf(r.firstChild),Ci=!1,a=!0)),a||Ti(t)),fe(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(a,o)?r=null:s!==null&&Ud(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=fo(e,t,ho,null,null,n),Qf._currentValue=a),ic(e,t),Js(e,t,r,n),t.child;case 6:return e===null&&xi&&((e=n=bi)&&(n=nf(n,t.pendingProps,Ci),n===null?e=!1:(t.stateNode=n,yi=t,bi=null,e=!0)),e||Ti(t)),null;case 13:return fc(e,t,n);case 4:return de(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ta(t,null,r,n):Js(e,t,r,n),t.child;case 11:return Ys(e,t,t.type,t.pendingProps,n);case 7:return Js(e,t,t.pendingProps,n),t.child;case 8:return Js(e,t,t.pendingProps.children,n),t.child;case 12:return Js(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Fi(t,t.type,r.value),Js(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Vi(t),a=Hi(a),r=r(a),t.flags|=1,Js(e,t,r,n),t.child;case 14:return Xs(e,t,t.type,t.pendingProps,n);case 15:return Zs(e,t,t.type,t.pendingProps,n);case 19:return vc(e,t,n);case 31:return rc(e,t,n);case 22:return Qs(e,t,n,t.pendingProps);case 24:return Vi(t),r=Hi(Ji),e===null?(a=oa(),a===null&&(a=Ml,o=Yi(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Oa(t),Fi(t,Ji,a)):((e.lanes&n)!==0&&(ka(e,t),Ia(t,null,null,n),Fa()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,Fi(t,Ji,r),r!==a.cache&&Ri(t,[Ji],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Fi(t,Ji,r))),Js(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Cc(e){e.flags|=4}function wc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(xu())e.flags|=8192;else throw ga=fa,ua}else e.flags&=-16777217}function Tc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(xu())e.flags|=8192;else throw ga=fa,ua}function Ec(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ke(),e.lanes|=t,Kl|=t)}function Dc(e,t){if(!xi)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Oc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function kc(e,t,n){var r=t.pendingProps;switch(_i(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Oc(t),null;case 1:return Oc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Ii(Ji),L(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Oi(t)?Cc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ai())),Oc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Cc(t),o===null?(Oc(t),wc(t,a,null,r,n)):(Oc(t),Tc(t,o))):o?o===e.memoizedState?(Oc(t),t.flags&=-16777217):(Cc(t),Oc(t),Tc(t,o)):(e=e.memoizedProps,e!==r&&Cc(t),Oc(t),wc(t,a,e,r,n)),null;case 27:if(pe(t),n=le.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Oc(t),null}e=I.current,Oi(t)?Ei(t,e):(e=ff(a,r,n),t.stateNode=e,Cc(t))}return Oc(t),null;case 5:if(pe(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Oc(t),null}if(o=I.current,Oi(t))Ei(t,o);else{var s=Bd(le.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[rt]=t,o[H]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Cc(t)}}return Oc(t),wc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=le.current,Oi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=yi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[rt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Ti(t,!0)}else e=Bd(e).createTextNode(r),e[rt]=t,t.stateNode=e}return Oc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Oi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[rt]=t}else ki(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Oc(t),e=!1}else n=Ai(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Xa(t),t):(Xa(t),null);if(t.flags&128)throw Error(i(558))}return Oc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Oi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[rt]=t}else ki(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Oc(t),a=!1}else a=Ai(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Xa(t),t):(Xa(t),null)}return Xa(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ec(t,t.updateQueue),Oc(t),null);case 4:return L(),e===null&&xd(t.stateNode.containerInfo),Oc(t),null;case 10:return Ii(t.type),Oc(t),null;case 19:if(P(Za),r=t.memoizedState,r===null)return Oc(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Dc(r,!1);else{if(Vl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Qa(e),o!==null){for(t.flags|=128,Dc(r,!1),e=o.updateQueue,t.updateQueue=e,Ec(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Zr(n,e),n=n.sibling;return F(Za,Za.current&1|2),xi&&mi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Te()>Ql&&(t.flags|=128,a=!0,Dc(r,!1),t.lanes=4194304)}else{if(!a)if(e=Qa(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Ec(t,e),Dc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!xi)return Oc(t),null}else 2*Te()-r.renderingStartTime>Ql&&n!==536870912&&(t.flags|=128,a=!0,Dc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Oc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Te(),e.sibling=null,n=Za.current,F(Za,a?n&1|2:n&1),xi&&mi(t,r.treeForkCount),e);case 22:case 23:return Xa(t),Ua(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Oc(t),t.subtreeFlags&6&&(t.flags|=8192)):Oc(t),n=t.updateQueue,n!==null&&Ec(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&P(aa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ii(Ji),Oc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Ac(e,t){switch(_i(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ii(Ji),L(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return pe(t),null;case 31:if(t.memoizedState!==null){if(Xa(t),t.alternate===null)throw Error(i(340));ki()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Xa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));ki()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return P(Za),null;case 4:return L(),null;case 10:return Ii(t.type),null;case 22:case 23:return Xa(t),Ua(),e!==null&&P(aa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ii(Ji),null;case 25:return null;default:return null}}function jc(e,t){switch(_i(t),t.tag){case 3:Ii(Ji),L();break;case 26:case 27:case 5:pe(t);break;case 4:L();break;case 31:t.memoizedState!==null&&Xa(t);break;case 13:Xa(t);break;case 19:P(Za);break;case 10:Ii(t.type);break;case 22:case 23:Xa(t),Ua(),e!==null&&P(aa);break;case 24:Ii(Ji)}}function Mc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Hu(t,t.return,e)}}function Nc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Hu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Hu(t,t.return,e)}}function Pc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ra(t,n)}catch(t){Hu(e,e.return,t)}}}function Fc(e,t,n){n.props=Is(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Hu(e,t,n)}}function Ic(e,t){try{var n=e.ref;if(n!==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 n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Hu(e,t,n)}}function Lc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Hu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Hu(e,t,n)}else n.current=null}function Rc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Hu(e,e.return,t)}}function zc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[H]=t}catch(t){Hu(e,e.return,t)}}function Bc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Vc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Bc(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&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Hc(e,t,n),e=e.sibling;e!==null;)Hc(e,t,n),e=e.sibling}function Uc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Uc(e,t,n),e=e.sibling;e!==null;)Uc(e,t,n),e=e.sibling}function Wc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[rt]=e,t[H]=n}catch(t){Hu(e,e.return,t)}}var Gc=!1,Kc=!1,qc=!1,Jc=typeof WeakSet==`function`?WeakSet:Set,Yc=null;function Xc(e,t){if(e=e.containerInfo,Rd=sp,e=pr(e),mr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,Yc=t;Yc!==null;)if(t=Yc,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Yc=e;else for(;Yc!==null;){switch(t=Yc,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Is(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Hu(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,Yc=e;break}Yc=t.return}}function Zc(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:fl(e,n),r&4&&Mc(5,n);break;case 1:if(fl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Hu(n,n.return,e)}else{var i=Is(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Hu(n,n.return,e)}}r&64&&Pc(n),r&512&&Ic(n,n.return);break;case 3:if(fl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Ra(e,t)}catch(e){Hu(n,n.return,e)}}break;case 27:t===null&&r&4&&Wc(n);case 26:case 5:fl(e,n),t===null&&r&4&&Rc(n),r&512&&Ic(n,n.return);break;case 12:fl(e,n);break;case 31:fl(e,n),r&4&&rl(e,n);break;case 13:fl(e,n),r&4&&il(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ku.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||Gc,!r){t=t!==null&&t.memoizedState!==null||Kc,i=Gc;var a=Kc;Gc=r,(Kc=t)&&!a?ml(e,n,(n.subtreeFlags&8772)!=0):fl(e,n),Gc=i,Kc=a}break;case 30:break;default:fl(e,n)}}function Qc(e){var t=e.alternate;t!==null&&(e.alternate=null,Qc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&ut(t)),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 $c=null,el=!1;function tl(e,t,n){for(n=n.child;n!==null;)nl(e,t,n),n=n.sibling}function nl(e,t,n){if(Fe&&typeof Fe.onCommitFiberUnmount==`function`)try{Fe.onCommitFiberUnmount(Pe,n)}catch{}switch(n.tag){case 26:Kc||Lc(n,t),tl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Kc||Lc(n,t);var r=$c,i=el;Zd(n.type)&&($c=n.stateNode,el=!1),tl(e,t,n),pf(n.stateNode),$c=r,el=i;break;case 5:Kc||Lc(n,t);case 6:if(r=$c,i=el,$c=null,tl(e,t,n),$c=r,el=i,$c!==null)if(el)try{($c.nodeType===9?$c.body:$c.nodeName===`HTML`?$c.ownerDocument.body:$c).removeChild(n.stateNode)}catch(e){Hu(n,t,e)}else try{$c.removeChild(n.stateNode)}catch(e){Hu(n,t,e)}break;case 18:$c!==null&&(el?(e=$c,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd($c,n.stateNode));break;case 4:r=$c,i=el,$c=n.stateNode.containerInfo,el=!0,tl(e,t,n),$c=r,el=i;break;case 0:case 11:case 14:case 15:Nc(2,n,t),Kc||Nc(4,n,t),tl(e,t,n);break;case 1:Kc||(Lc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Fc(n,t,r)),tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:Kc=(r=Kc)||n.memoizedState!==null,tl(e,t,n),Kc=r;break;default:tl(e,t,n)}}function rl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Hu(t,t.return,e)}}}function il(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Hu(t,t.return,e)}}function al(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Jc),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Jc),t;default:throw Error(i(435,e.tag))}}function ol(e,t){var n=al(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=qu.bind(null,e,t);t.then(r,r)}})}function sl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){$c=c.stateNode,el=!1;break a}break;case 5:$c=c.stateNode,el=!1;break a;case 3:case 4:$c=c.stateNode.containerInfo,el=!0;break a}c=c.return}if($c===null)throw Error(i(160));nl(o,s,a),$c=null,el=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ll(t,e),t=t.sibling}var cl=null;function ll(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:sl(t,e),ul(e),r&4&&(Nc(3,e,e.return),Mc(3,e),Nc(5,e,e.return));break;case 1:sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),r&64&&Gc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=cl;if(sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[lt]||o[rt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),Pd(o,r,n),o[rt]=e,mt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[rt]=e,mt(o),r=o}e.stateNode=r}else Hf(a,e.type,e.stateNode);else e.stateNode=If(a,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&zc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(a,e.type,e.stateNode):If(a,r,e.memoizedProps))}break;case 27:sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),n!==null&&r&4&&zc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),e.flags&32){a=e.stateNode;try{Nt(a,``)}catch(t){Hu(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,zc(e,a,n===null?a:n.memoizedProps)),r&1024&&(qc=!0);break;case 6:if(sl(t,e),ul(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Hu(e,e.return,t)}}break;case 3:if(Bf=null,a=cl,cl=gf(t.containerInfo),sl(t,e),cl=a,ul(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Hu(e,e.return,t)}qc&&(qc=!1,dl(e));break;case 4:r=cl,cl=gf(e.stateNode.containerInfo),sl(t,e),ul(e),cl=r;break;case 12:sl(t,e),ul(e);break;case 31:sl(t,e),ul(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 13:sl(t,e),ul(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Xl=Te()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Gc,d=Kc;if(Gc=u||a,Kc=d||l,sl(t,e),Kc=d,Gc=u,ul(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||Gc||Kc||pl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Hu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Hu(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?$d(m,!0):$d(l.stateNode,!1)}catch(e){Hu(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,ol(e,n))));break;case 19:sl(t,e),ul(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 30:break;case 21:break;default:sl(t,e),ul(e)}}function ul(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Bc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;Uc(e,Vc(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(Nt(o,``),n.flags&=-33),Uc(e,Vc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Hc(e,Vc(e),s);break;default:throw Error(i(161))}}catch(t){Hu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function dl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;dl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function fl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Zc(e,t.alternate,t),t=t.sibling}function pl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Nc(4,t,t.return),pl(t);break;case 1:Lc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Fc(t,t.return,n),pl(t);break;case 27:pf(t.stateNode);case 26:case 5:Lc(t,t.return),pl(t);break;case 22:t.memoizedState===null&&pl(t);break;case 30:pl(t);break;default:pl(t)}e=e.sibling}}function ml(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:ml(i,a,n),Mc(4,a);break;case 1:if(ml(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Hu(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)La(c[i],s)}catch(e){Hu(r,r.return,e)}}n&&o&64&&Pc(a),Ic(a,a.return);break;case 27:Wc(a);case 26:case 5:ml(i,a,n),n&&r===null&&o&4&&Rc(a),Ic(a,a.return);break;case 12:ml(i,a,n);break;case 31:ml(i,a,n),n&&o&4&&rl(i,a);break;case 13:ml(i,a,n),n&&o&4&&il(i,a);break;case 22:a.memoizedState===null&&ml(i,a,n),Ic(a,a.return);break;case 30:break;default:ml(i,a,n)}t=t.sibling}}function hl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Xi(n))}function gl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Xi(e))}function _l(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)vl(e,t,n,r),t=t.sibling}function vl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:_l(e,t,n,r),i&2048&&Mc(9,t);break;case 1:_l(e,t,n,r);break;case 3:_l(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Xi(e)));break;case 12:if(i&2048){_l(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Hu(t,t.return,e)}}else _l(e,t,n,r);break;case 31:_l(e,t,n,r);break;case 13:_l(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?_l(e,t,n,r):(a._visibility|=2,yl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?_l(e,t,n,r):bl(e,t),i&2048&&hl(o,t);break;case 24:_l(e,t,n,r),i&2048&&gl(t.alternate,t);break;default:_l(e,t,n,r)}}function yl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:yl(a,o,s,c,i),Mc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,yl(a,o,s,c,i)):u._visibility&2?yl(a,o,s,c,i):bl(a,o),i&&l&2048&&hl(o.alternate,o);break;case 24:yl(a,o,s,c,i),i&&l&2048&&gl(o.alternate,o);break;default:yl(a,o,s,c,i)}t=t.sibling}}function bl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:bl(n,r),i&2048&&hl(r.alternate,r);break;case 24:bl(n,r),i&2048&&gl(r.alternate,r);break;default:bl(n,r)}t=t.sibling}}var xl=8192;function Sl(e,t,n){if(e.subtreeFlags&xl)for(e=e.child;e!==null;)Cl(e,t,n),e=e.sibling}function Cl(e,t,n){switch(e.tag){case 26:Sl(e,t,n),e.flags&xl&&e.memoizedState!==null&&Gf(n,cl,e.memoizedState,e.memoizedProps);break;case 5:Sl(e,t,n);break;case 3:case 4:var r=cl;cl=gf(e.stateNode.containerInfo),Sl(e,t,n),cl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=xl,xl=16777216,Sl(e,t,n),xl=r):Sl(e,t,n));break;default:Sl(e,t,n)}}function wl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Tl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Yc=r,Ol(r,e)}wl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)El(e),e=e.sibling}function El(e){switch(e.tag){case 0:case 11:case 15:Tl(e),e.flags&2048&&Nc(9,e,e.return);break;case 3:Tl(e);break;case 12:Tl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Dl(e)):Tl(e);break;default:Tl(e)}}function Dl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Yc=r,Ol(r,e)}wl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Nc(8,t,t.return),Dl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Dl(t));break;default:Dl(t)}e=e.sibling}}function Ol(e,t){for(;Yc!==null;){var n=Yc;switch(n.tag){case 0:case 11:case 15:Nc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Xi(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Yc=r;else a:for(n=e;Yc!==null;){r=Yc;var i=r.sibling,a=r.return;if(Qc(r),r===n){Yc=null;break a}if(i!==null){i.return=a,Yc=i;break a}Yc=a}}}var kl={getCacheForType:function(e){var t=Hi(Ji),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Hi(Ji).controller.signal}},Al=typeof WeakMap==`function`?WeakMap:Map,jl=0,Ml=null,Nl=null,Pl=0,Fl=0,Il=null,Ll=!1,Rl=!1,zl=!1,Bl=0,Vl=0,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=null,Jl=null,Yl=!1,Xl=0,Zl=0,Ql=1/0,$l=null,eu=null,tu=0,nu=null,ru=null,iu=0,au=0,ou=null,su=null,cu=0,lu=null;function uu(){return jl&2&&Pl!==0?Pl&-Pl:j.T===null?et():ld()}function du(){if(Gl===0)if(!(Pl&536870912)||xi){var e=Ve;Ve<<=1,!(Ve&3932160)&&(Ve=262144),Gl=e}else Gl=536870912;return e=Wa.current,e!==null&&(e.flags|=32),Gl}function fu(e,t,n){(e===Ml&&(Fl===2||Fl===9)||e.cancelPendingCommit!==null)&&(yu(e,0),gu(e,Pl,Gl,!1)),Je(e,n),(!(jl&2)||e!==Ml)&&(e===Ml&&(!(jl&2)&&(Ul|=n),Vl===4&&gu(e,Pl,Gl,!1)),td(e))}function pu(e,t,n){if(jl&6)throw Error(i(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||We(e,t),a=r?Du(e,t):Tu(e,t,!0),o=r;do{if(a===0){Rl&&!r&&gu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!hu(n)){a=Tu(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=ql;var l=c.current.memoizedState.isDehydrated;if(l&&(yu(c,s).flags|=256),s=Tu(c,s,!1),s!==2){if(zl&&!l){c.errorRecoveryDisabledLanes|=o,Ul|=o,a=4;break a}o=Jl,Jl=a,o!==null&&(Jl===null?Jl=o:Jl.push.apply(Jl,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){yu(e,0),gu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:gu(r,t,Gl,!Ll);break a;case 2:Jl=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=Xl+300-Te(),10<a)){if(gu(r,t,Gl,!Ll),B(r,0,!0)!==0)break a;iu=t,r.timeoutHandle=Kd(mu.bind(null,r,n,Jl,$l,Yl,t,Gl,Ul,Kl,Ll,o,`Throttled`,-0,0),a);break a}mu(r,n,Jl,$l,Yl,t,Gl,Ul,Kl,Ll,o,null,-0,0)}}break}while(1);td(e)}function mu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Vt},Cl(t,a,d);var m=(a&62914560)===a?Xl-Te():(a&4194048)===a?Zl-Te():0;if(m=qf(d,m),m!==null){iu=a,e.cancelPendingCommit=m(Pu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),gu(e,a,o,!l);return}}Pu(e,t,a,n,r,i,o,s,c)}function hu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!cr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function gu(e,t,n,r){t&=~Wl,t&=~Ul,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-z(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&Ye(e,n,t)}function _u(){return jl&6?!0:(nd(0,!1),!1)}function vu(){if(Nl!==null){if(Fl===0)var e=Nl.return;else e=Nl,Pi=Ni=null,vo(e),ya=null,ba=0,e=Nl;for(;e!==null;)jc(e.alternate,e),e=e.return;Nl=null}}function yu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),iu=0,vu(),Ml=e,Nl=n=Xr(e.current,null),Pl=t,Fl=0,Il=null,Ll=!1,Rl=We(e,t),zl=!1,Kl=Gl=Wl=Ul=Hl=Vl=0,Jl=ql=null,Yl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-z(r),a=1<<i;t|=e[i],r&=~a}return Bl=t,Br(),n}function bu(e,t){$=null,j.H=Os,t===la||t===da?(t=_a(),Fl=3):t===ua?(t=_a(),Fl=4):Fl=t===Ks?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Il=t,Nl===null&&(Vl=1,Bs(e,ii(t,e.current)))}function xu(){var e=Wa.current;return e===null?!0:(Pl&4194048)===Pl?Ga===null:(Pl&62914560)===Pl||Pl&536870912?e===Ga:!1}function Su(){var e=j.H;return j.H=Os,e===null?Os:e}function Cu(){var e=j.A;return j.A=kl,e}function wu(){Vl=4,Ll||(Pl&4194048)!==Pl&&Wa.current!==null||(Rl=!0),!(Hl&134217727)&&!(Ul&134217727)||Ml===null||gu(Ml,Pl,Gl,!1)}function Tu(e,t,n){var r=jl;jl|=2;var i=Su(),a=Cu();(Ml!==e||Pl!==t)&&($l=null,yu(e,t)),t=!1;var o=Vl;a:do try{if(Fl!==0&&Nl!==null){var s=Nl,c=Il;switch(Fl){case 8:vu(),o=6;break a;case 3:case 2:case 9:case 6:Wa.current===null&&(t=!0);var l=Fl;if(Fl=0,Il=null,ju(e,s,c,l),n&&Rl){o=0;break a}break;default:l=Fl,Fl=0,Il=null,ju(e,s,c,l)}}Eu(),o=Vl;break}catch(t){bu(e,t)}while(1);return t&&e.shellSuspendCounter++,Pi=Ni=null,jl=r,j.H=i,j.A=a,Nl===null&&(Ml=null,Pl=0,Br()),o}function Eu(){for(;Nl!==null;)ku(Nl)}function Du(e,t){var n=jl;jl|=2;var r=Su(),a=Cu();Ml!==e||Pl!==t?($l=null,Ql=Te()+500,yu(e,t)):Rl=We(e,t);a:do try{if(Fl!==0&&Nl!==null){t=Nl;var o=Il;b:switch(Fl){case 1:Fl=0,Il=null,ju(e,t,o,1);break;case 2:case 9:if(pa(o)){Fl=0,Il=null,Au(t);break}t=function(){Fl!==2&&Fl!==9||Ml!==e||(Fl=7),td(e)},o.then(t,t);break a;case 3:Fl=7;break a;case 4:Fl=5;break a;case 7:pa(o)?(Fl=0,Il=null,Au(t)):(Fl=0,Il=null,ju(e,t,o,7));break;case 5:var s=null;switch(Nl.tag){case 26:s=Nl.memoizedState;case 5:case 27:var c=Nl;if(s?Wf(s):c.stateNode.complete){Fl=0,Il=null;var l=c.sibling;if(l!==null)Nl=l;else{var u=c.return;u===null?Nl=null:(Nl=u,Mu(u))}break b}}Fl=0,Il=null,ju(e,t,o,5);break;case 6:Fl=0,Il=null,ju(e,t,o,6);break;case 8:vu(),Vl=6;break a;default:throw Error(i(462))}}Ou();break}catch(t){bu(e,t)}while(1);return Pi=Ni=null,j.H=r,j.A=a,jl=n,Nl===null?(Ml=null,Pl=0,Br(),Vl):0}function Ou(){for(;Nl!==null&&!Ce();)ku(Nl)}function ku(e){var t=Sc(e.alternate,e,Bl);e.memoizedProps=e.pendingProps,t===null?Mu(e):Nl=t}function Au(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=oc(n,t,t.pendingProps,t.type,void 0,Pl);break;case 11:t=oc(n,t,t.pendingProps,t.type.render,t.ref,Pl);break;case 5:vo(t);default:jc(n,t),t=Nl=Zr(t,Bl),t=Sc(n,t,Bl)}e.memoizedProps=e.pendingProps,t===null?Mu(e):Nl=t}function ju(e,t,n,r){Pi=Ni=null,vo(t),ya=null,ba=0;var i=t.return;try{if(Gs(e,i,t,n,Pl)){Vl=1,Bs(e,ii(n,e.current)),Nl=null;return}}catch(t){if(i!==null)throw Nl=i,t;Vl=1,Bs(e,ii(n,e.current)),Nl=null;return}t.flags&32768?(xi||r===1?e=!0:Rl||Pl&536870912?e=!1:(Ll=e=!0,(r===2||r===9||r===3||r===6)&&(r=Wa.current,r!==null&&r.tag===13&&(r.flags|=16384))),Nu(t,e)):Mu(t)}function Mu(e){var t=e;do{if(t.flags&32768){Nu(t,Ll);return}e=t.return;var n=kc(t.alternate,t,Bl);if(n!==null){Nl=n;return}if(t=t.sibling,t!==null){Nl=t;return}Nl=t=e}while(t!==null);Vl===0&&(Vl=5)}function Nu(e,t){do{var n=Ac(e.alternate,e);if(n!==null){n.flags&=32767,Nl=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Nl=e;return}Nl=e=n}while(e!==null);Vl=6,Nl=null}function Pu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do zu();while(tu!==0);if(jl&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=zr,V(e,n,o,s,c,l),e===Ml&&(Nl=Ml=null,Pl=0),ru=t,nu=e,iu=n,au=o,ou=a,su=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Ju(ke,function(){return Bu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=j.T,j.T=null,a=M.p,M.p=2,s=jl,jl|=4;try{Xc(e,t,n)}finally{jl=s,M.p=a,j.T=r}}tu=1,Fu(),Iu(),Lu()}}function Fu(){if(tu===1){tu=0;var e=nu,t=ru,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=j.T,j.T=null;var r=M.p;M.p=2;var i=jl;jl|=4;try{ll(t,e);var a=zd,o=pr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&fr(s.ownerDocument.documentElement,s)){if(c!==null&&mr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=dr(s,h),v=dr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{jl=i,M.p=r,j.T=n}}e.current=t,tu=2}}function Iu(){if(tu===2){tu=0;var e=nu,t=ru,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=j.T,j.T=null;var r=M.p;M.p=2;var i=jl;jl|=4;try{Zc(e,t.alternate,t)}finally{jl=i,M.p=r,j.T=n}}tu=3}}function Lu(){if(tu===4||tu===3){tu=0,we();var e=nu,t=ru,n=iu,r=su;t.subtreeFlags&10256||t.flags&10256?tu=5:(tu=0,ru=nu=null,Ru(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(eu=null),$e(n),t=t.stateNode,Fe&&typeof Fe.onCommitFiberRoot==`function`)try{Fe.onCommitFiberRoot(Pe,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=j.T,i=M.p,M.p=2,j.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{j.T=t,M.p=i}}iu&3&&zu(),td(e),i=e.pendingLanes,n&261930&&i&42?e===lu?cu++:(cu=0,lu=e):cu=0,nd(0,!1)}}function Ru(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Xi(t)))}function zu(){return Fu(),Iu(),Lu(),Bu()}function Bu(){if(tu!==5)return!1;var e=nu,t=au;au=0;var n=$e(iu),r=j.T,a=M.p;try{M.p=32>n?32:n,j.T=null,n=ou,ou=null;var o=nu,s=iu;if(tu=0,ru=nu=null,iu=0,jl&6)throw Error(i(331));var c=jl;if(jl|=4,El(o.current),vl(o,o.current,s,n),jl=c,nd(0,!1),Fe&&typeof Fe.onPostCommitFiberRoot==`function`)try{Fe.onPostCommitFiberRoot(Pe,o)}catch{}return!0}finally{M.p=a,j.T=r,Ru(e,t)}}function Vu(e,t,n){t=ii(n,t),t=Hs(e.stateNode,t,2),e=ja(e,t,2),e!==null&&(Je(e,2),td(e))}function Hu(e,t,n){if(e.tag===3)Vu(e,e,n);else for(;t!==null;){if(t.tag===3){Vu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(eu===null||!eu.has(r))){e=ii(n,e),n=Us(2),r=ja(t,n,2),r!==null&&(Ws(n,r,t,e),Je(r,2),td(r));break}}t=t.return}}function Uu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Al;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(zl=!0,i.add(n),e=Wu.bind(null,e,t,n),t.then(e,e))}function Wu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ml===e&&(Pl&n)===n&&(Vl===4||Vl===3&&(Pl&62914560)===Pl&&300>Te()-Xl?!(jl&2)&&yu(e,0):Wl|=n,Kl===Pl&&(Kl=0)),td(e)}function Gu(e,t){t===0&&(t=Ke()),e=Ur(e,t),e!==null&&(Je(e,t),td(e))}function Ku(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gu(e,n)}function qu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Gu(e,n)}function Ju(e,t){return xe(e,t)}var Yu=null,Xu=null,Zu=!1,Qu=!1,$u=!1,ed=0;function td(e){e!==Xu&&e.next===null&&(Xu===null?Yu=Xu=e:Xu=Xu.next=e),Qu=!0,Zu||(Zu=!0,cd())}function nd(e,t){if(!$u&&Qu){$u=!0;do for(var n=!1,r=Yu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-z(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,sd(r,a))}else a=Pl,a=B(r,r===Ml?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||We(r,a)||(n=!0,sd(r,a));r=r.next}while(n);$u=!1}}function rd(){id()}function id(){Qu=Zu=!1;var e=0;ed!==0&&Gd()&&(e=ed);for(var t=Te(),n=null,r=Yu;r!==null;){var i=r.next,a=ad(r,t);a===0?(r.next=null,n===null?Yu=i:n.next=i,i===null&&(Xu=n)):(n=r,(e!==0||a&3)&&(Qu=!0)),r=i}tu!==0&&tu!==5||nd(e,!1),ed!==0&&(ed=0)}function ad(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-z(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Ge(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Ml,n=Pl,n=B(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Fl===2||Fl===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Se(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||We(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Se(r),$e(n)){case 2:case 8:n=Oe;break;case 32:n=ke;break;case 268435456:n=je;break;default:n=ke}return r=od.bind(null,e),n=xe(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Se(r),e.callbackPriority=2,e.callbackNode=null,2}function od(e,t){if(tu!==0&&tu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(zu()&&e.callbackNode!==n)return null;var r=Pl;return r=B(e,e===Ml?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(pu(e,r,t),ad(e,Te()),e.callbackNode!=null&&e.callbackNode===n?od.bind(null,e):null)}function sd(e,t){if(zu())return null;pu(e,t,!0)}function cd(){Yd(function(){jl&6?xe(De,rd):id()})}function ld(){if(ed===0){var e=$i;e===0&&(e=Be,Be<<=1,!(Be&261888)&&(Be=256)),ed=e}return ed}function ud(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Bt(``+e)}function dd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function fd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=ud((i[H]||null).action),o=r.submitter;o&&(t=(t=o[H]||null)?ud(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new sn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ed!==0){var e=o?dd(i,o):new FormData(i);ms(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?dd(i,o):new FormData(i),ms(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var pd=0;pd<Pr.length;pd++){var md=Pr[pd];Fr(md.toLowerCase(),`on`+(md[0].toUpperCase()+md.slice(1)))}Fr(Er,`onAnimationEnd`),Fr(Dr,`onAnimationIteration`),Fr(Or,`onAnimationStart`),Fr(`dblclick`,`onDoubleClick`),Fr(`focusin`,`onFocus`),Fr(`focusout`,`onBlur`),Fr(kr,`onTransitionRun`),Fr(Ar,`onTransitionStart`),Fr(jr,`onTransitionCancel`),Fr(Mr,`onTransitionEnd`),_t(`onMouseEnter`,[`mouseout`,`mouseover`]),_t(`onMouseLeave`,[`mouseout`,`mouseover`]),_t(`onPointerEnter`,[`pointerout`,`pointerover`]),_t(`onPointerLeave`,[`pointerout`,`pointerover`]),gt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),gt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),gt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),gt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),gt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),gt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var hd=`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(` `),gd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(hd));function _d(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ir(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ir(e)}i.currentTarget=null,a=c}}}}function vd(e,t){var n=t[at];n===void 0&&(n=t[at]=new Set);var r=e+`__bubble`;n.has(r)||(Sd(t,e,2,!1),n.add(r))}function yd(e,t,n){var r=0;t&&(r|=4),Sd(n,e,r,t)}var bd=`_reactListening`+Math.random().toString(36).slice(2);function xd(e){if(!e[bd]){e[bd]=!0,ht.forEach(function(t){t!==`selectionchange`&&(gd.has(t)||yd(t,!1,e),yd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bd]||(t[bd]=!0,yd(`selectionchange`,!1,t))}}function Sd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!Z||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Cd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=U(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}Jt(function(){var r=a,i=Ut(n),s=[];a:{var c=Nr.get(e);if(c!==void 0){var l=sn,u=e;switch(e){case`keypress`:if(nn(n)===0)break a;case`keydown`:case`keyup`:l=Tn;break;case`focusin`:u=`focus`,l=gn;break;case`focusout`:u=`blur`,l=gn;break;case`beforeblur`:case`afterblur`:l=gn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=mn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=hn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Dn;break;case Er:case Dr:case Or:l=_n;break;case Mr:l=On;break;case`scroll`:case`scrollend`:l=ln;break;case`wheel`:l=kn;break;case`copy`:case`cut`:case`paste`:l=vn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=En;break;case`toggle`:case`beforetoggle`:l=An}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=Yt(m,p),g!=null&&d.push(wd(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==Ht&&(u=n.relatedTarget||n.fromElement)&&(U(u)||u[it]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?U(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=mn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=En,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:ft(l),h=u==null?c:ft(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,U(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Ed,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Dd(s,c,l,d,!1),u!==null&&f!==null&&Dd(s,f,u,d,!0)}}a:{if(c=r?ft(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=Xn;else if(Wn(c))if(Zn)v=or;else{v=ir;var y=rr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Lt(r.elementType)&&(v=Xn):v=ar;if(v&&=v(e,r)){Gn(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&At(c,`number`,c.value)}switch(y=r?ft(r):window,e){case`focusin`:(Wn(y)||y.contentEditable===`true`)&&(gr=y,_r=r,vr=null);break;case`focusout`:vr=_r=gr=null;break;case`mousedown`:yr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:yr=!1,br(s,n,i);break;case`selectionchange`:if(hr)break;case`keydown`:case`keyup`:br(s,n,i)}var b;if(Mn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else Bn?Rn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(Fn&&n.locale!==`ko`&&(Bn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Bn&&(b=tn()):(Qt=i,$t=`value`in Qt?Qt.value:Qt.textContent,Bn=!0)),y=Td(r,x),0<y.length&&(x=new yn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=zn(n),b!==null&&(x.data=b)))),(b=Pn?Vn(e,n):Hn(e,n))&&(x=Td(r,`onBeforeInput`),0<x.length&&(y=new yn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),fd(s,e,r,n,i)}_d(s,t)})}function wd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Td(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=Yt(e,n),i!=null&&r.unshift(wd(e,i,a)),i=Yt(e,t),i!=null&&r.push(wd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Ed(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Dd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=Yt(n,a),l!=null&&o.unshift(wd(n,l,c))):i||(l=Yt(n,a),l!=null&&o.push(wd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Od=/\r\n?/g,kd=/\u0000|\uFFFD/g;function Ad(e){return(typeof e==`string`?e:``+e).replace(Od,`
|
|
9
|
+
`).replace(kd,``)}function jd(e,t){return t=Ad(t),Ad(e)===t}function Md(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Nt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Nt(e,``+r);break;case`className`:St(e,`class`,r);break;case`tabIndex`:St(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:St(e,n,r);break;case`style`:It(e,r,o);break;case`data`:if(t!==`object`){St(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Bt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`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 o==`function`&&(n===`formAction`?(t!==`input`&&Md(e,t,`name`,a.name,a,null),Md(e,t,`formEncType`,a.formEncType,a,null),Md(e,t,`formMethod`,a.formMethod,a,null),Md(e,t,`formTarget`,a.formTarget,a,null)):(Md(e,t,`encType`,a.encType,a,null),Md(e,t,`method`,a.method,a,null),Md(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Bt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Vt);break;case`onScroll`:r!=null&&vd(`scroll`,e);break;case`onScrollEnd`:r!=null&&vd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}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}n=Bt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);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(n,``+r):e.removeAttribute(n);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(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:vd(`beforetoggle`,e),vd(`toggle`,e),xt(e,`popover`,r);break;case`xlinkActuate`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Ct(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Ct(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Ct(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:xt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Rt.get(n)||n,xt(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:It(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Nt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Nt(e,``+r);break;case`onScroll`:r!=null&&vd(`scroll`,e);break;case`onScrollEnd`:r!=null&&vd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Vt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!W.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[H]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):xt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:vd(`error`,e),vd(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Md(e,t,o,s,n,null)}}a&&Md(e,t,`srcSet`,n.srcSet,n,null),r&&Md(e,t,`src`,n.src,n,null);return;case`input`:vd(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:Md(e,t,r,d,n,null)}}Y(e,o,c,l,u,s,a,!1);return;case`select`:for(a in vd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Md(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&jt(e,!!r,n,!0):jt(e,!!r,t,!1);return;case`textarea`:for(s in vd(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:Md(e,t,s,c,n,null)}X(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Md(e,t,l,r,n,null)}return;case`dialog`:vd(`beforetoggle`,e),vd(`toggle`,e),vd(`cancel`,e),vd(`close`,e);break;case`iframe`:case`object`:vd(`load`,e);break;case`video`:case`audio`:for(r=0;r<hd.length;r++)vd(hd[r],e);break;case`image`:vd(`error`,e),vd(`load`,e);break;case`details`:vd(`toggle`,e);break;case`embed`:case`source`:case`link`:vd(`error`,e),vd(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Md(e,t,u,r,n,null)}return;default:if(Lt(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Md(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Md(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&Md(e,t,p,m,r,f)}}kt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Md(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Md(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?jt(e,!!n,n?[]:``,!1):jt(e,!!n,t,!0)):jt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Md(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&Md(e,t,s,a,r,o)}Mt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Md(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Md(e,t,l,p,r,m)}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 g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Md(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:Md(e,t,u,p,r,m)}return;default:if(Lt(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Md(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Md(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(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 Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[lt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),ut(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[lt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);ut(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=M.d;M.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=_u();return e||t}function yf(e){var t=dt(e);t!==null&&t.tag===5&&t.type===`form`?gs(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Ot(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),mt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ot(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ot(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ot(n.imageSizes)+`"]`)):i+=`[href="`+Ot(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),mt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ot(r)+`"][href="`+Ot(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),mt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=pt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);mt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=pt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),mt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=pt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),mt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=le.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=pt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=pt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=pt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Ot(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),mt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Ot(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ot(n.href)+`"]`);if(r)return t.instance=r,mt(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),mt(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,mt(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),mt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,mt(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),mt(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[lt]||a[rt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,mt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),mt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:ae,_currentValue2:ae,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){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=qe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qe(0),this.hiddenUpdates=qe(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=Jr(3,null,null,t),e.current=a,a.stateNode=e,t=Yi(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Oa(a),e}function tp(e){return e?(e=Kr,e):Kr}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=Aa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=ja(e,r,t),n!==null&&(fu(n,e,t),Ma(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=Ur(e,67108864);t!==null&&fu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=uu();t=Qe(t);var n=Ur(e,t);n!==null&&fu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=j.T;j.T=null;var a=M.p;try{M.p=2,up(e,t,n,r)}finally{M.p=a,j.T=i}}function lp(e,t,n,r){var i=j.T;j.T=null;var a=M.p;try{M.p=8,up(e,t,n,r)}finally{M.p=a,j.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)Cd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=dt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ue(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-z(o);s.entanglements[1]|=c,o&=~c}td(a),!(jl&6)&&(Ql=Te()+500,nd(0,!1))}}break;case 31:case 13:s=Ur(a,2),s!==null&&fu(s,a,2),_u(),ip(a,2)}if(a=dp(r),a===null&&Cd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Cd(e,t,r,null,n)}}function dp(e){return e=Ut(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=U(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(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(Ee()){case De:return 2;case Oe:return 8;case ke:case Ae:return 32;case je:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`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 Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=dt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=U(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,tt(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,tt(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Ht=r,n.target.dispatchEvent(r),Ht=null}else return t=dt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=dt(n);a!==null&&(e.splice(t,3),t-=3,ms(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[H]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[H]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,uu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),_u(),t[it]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.6`)throw Error(i(527,Lp,`19.2.6`));M.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.6`,rendererPackageName:`react-dom`,currentDispatcherRef:j,reconcilerVersion:`19.2.6`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Pe=zp.inject(Rp),Fe=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ls,s=Rs,c=zs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[it]=t.current,xd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=g(),y=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},b=(e=>e?y(e):y),x=e=>e;function S(e,t=x){let n=_.useSyncExternalStore(e.subscribe,_.useCallback(()=>t(e.getState()),[e,t]),_.useCallback(()=>t(e.getInitialState()),[e,t]));return _.useDebugValue(n),n}var C=e=>{let t=b(e),n=e=>S(t,e);return Object.assign(n,t),n},w=(e=>e?C(e):C);function ee(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var te=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return te(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return te(t)(e)}}}},ne=w()(((e,t)=>(n,r,i)=>{let a={storage:ee(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return te(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p})(e=>({activeView:`chat`,setView:t=>e({activeView:t}),apiBase:``,setApiBase:t=>e({apiBase:t}),config:{},setConfig:t=>e({config:t}),sidebarOpen:!1,setSidebarOpen:t=>e({sidebarOpen:t}),toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen}))}),{name:`nha-ui-app`,partialize:e=>({activeView:e.activeView}),merge:(e,t)=>{let n=e;return{...t,activeView:n.activeView??t.activeView}}}));function T(){return ne.getState().apiBase}async function E(e){try{let t=await fetch(T()+e);return t.ok?t.json():null}catch{return null}}async function D(e,t,n=`POST`){let r=await fetch(T()+e,{method:n,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)}),i=await r.text();if(!r.ok)throw Error(i||String(r.status));try{return JSON.parse(i)}catch{return null}}async function O(e,t,n,r){let i=await fetch(T()+e,{method:`POST`,headers:{"Content-Type":`application/json`,"x-nha-client":`web-ui`},body:JSON.stringify(t),signal:r});if(!i.ok||!i.body)throw Error(`Stream failed: `+i.status);let a=i.body.getReader(),o=new TextDecoder,s=``,c=``;for(;;){let{done:e,value:t}=await a.read();if(e)break;s+=o.decode(t,{stream:!0});let r=s.split(`
|
|
10
|
+
`);s=r.pop()??``;for(let e of r)if(e.startsWith(`event: `))c=e.slice(7).trim();else if(e.startsWith(`data: `)){let t=e.slice(6).trim();if(t===`[DONE]`)return;try{let e=JSON.parse(t);n({type:c,data:e})}catch{}}}}async function re(e,t,n,r){await O(e,t,e=>{e.type===`token`&&typeof e.data.content==`string`&&n(e.data.content)},r)}var k={sidebar:`_sidebar_1iub7_1`,logo:`_logo_1iub7_15`,logoRow:`_logoRow_1iub7_24`,logoNHA:`_logoNHA_1iub7_30`,logo3rdArm:`_logo3rdArm_1iub7_38`,logoDot:`_logoDot_1iub7_46`,dotPulse:`_dotPulse_1iub7_1`,logoMeta:`_logoMeta_1iub7_62`,logoVersion:`_logoVersion_1iub7_69`,updateBtnInline:`_updateBtnInline_1iub7_79`,updatePulse:`_updatePulse_1iub7_1`,logoView:`_logoView_1iub7_96`,logoClock:`_logoClock_1iub7_107`,logoSep:`_logoSep_1iub7_116`,logoWeather:`_logoWeather_1iub7_120`,nav:`_nav_1iub7_125`,group:`_group_1iub7_134`,groupLabel:`_groupLabel_1iub7_139`,item:`_item_1iub7_148`,active:`_active_1iub7_167`,itemIcon:`_itemIcon_1iub7_173`,itemLabel:`_itemLabel_1iub7_180`,activeBar:`_activeBar_1iub7_188`,badge:`_badge_1iub7_200`,footer:`_footer_1iub7_218`,footerDocs:`_footerDocs_1iub7_227`,footerLink:`_footerLink_1iub7_233`,footerBottom:`_footerBottom_1iub7_243`,footerVersion:`_footerVersion_1iub7_250`,updateBtn:`_updateBtn_1iub7_79`,overlay:`_overlay_1iub7_281`,open:`_open_1iub7_297`},ie=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),A=o(((e,t)=>{t.exports=ie()}))(),j=[{view:`dashboard`,icon:`⚡`,label:`Dashboard`,group:`panoramica`},{view:`chat`,icon:`💬`,label:`Chat`,group:`panoramica`},{view:`plan`,icon:`🗓️`,label:`Daily Plan`,group:`panoramica`},{view:`tasks`,icon:`✅`,label:`Tasks`,group:`panoramica`},{view:`email`,icon:`📧`,label:`Email`,group:`google`},{view:`calendar`,icon:`📅`,label:`Calendar`,group:`google`},{view:`drive`,icon:`💾`,label:`Drive`,group:`google`},{view:`contacts`,icon:`👤`,label:`Contacts`,group:`google`},{view:`notes`,icon:`📝`,label:`Notes`,group:`google`},{view:`onedrive`,icon:`☁️`,label:`OneDrive`,group:`microsoft`},{view:`mstodo`,icon:`📋`,label:`MS Todo`,group:`microsoft`},{view:`github`,icon:`🐙`,label:`GitHub`,group:`integrazioni`},{view:`notion`,icon:`📓`,label:`Notion`,group:`integrazioni`},{view:`slack`,icon:`💼`,label:`Slack`,group:`integrazioni`},{view:`maps`,icon:`🗺️`,label:`Maps`,group:`integrazioni`},{view:`reminders`,icon:`🔔`,label:`Reminders`,group:`integrazioni`},{view:`birthdays`,icon:`🎂`,label:`Birthdays`,group:`integrazioni`},{view:`cron`,icon:`⏰`,label:`Cron`,group:`integrazioni`},{view:`screen`,icon:`🖥️`,label:`Screen`,group:`integrazioni`},{view:`agents`,icon:`🤖`,label:`Agents`,group:`ai`},{view:`studio`,icon:`🎭`,label:`Studio`,group:`ai`},{view:`webcraft`,icon:`🔨`,label:`WebCraft`,group:`ai`},{view:`collab`,icon:`🏛️`,label:`Alexandria`,group:`ai`},{view:`connectors`,icon:`🔗`,label:`Connectors`,group:`ai`},{view:`settings`,icon:`⚙️`,label:`Settings`,group:`config`}],M=[{id:`panoramica`,label:`Panoramica`},{id:`google`,label:`Google`},{id:`microsoft`,label:`Microsoft`},{id:`integrazioni`,label:`Integrazioni`},{id:`ai`,label:`AI`},{id:`config`,label:`Config`}];function ae(){let{activeView:e,setView:t,sidebarOpen:n,setSidebarOpen:r}=ne(),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(null);(0,_.useEffect)(()=>{let e=()=>{d(new Date().toLocaleTimeString(`it-IT`,{hour:`2-digit`,minute:`2-digit`}))};e();let t=setInterval(e,1e4);return()=>clearInterval(t)},[]),(0,_.useEffect)(()=>{let e=localStorage.getItem(`nha_weather_location`),t=e=>{E(`/api/weather?location=${encodeURIComponent(e)}`).then(e=>{e?.tempC&&a(e)}).catch(()=>{})};e?t(e):navigator.geolocation?.getCurrentPosition(e=>t(`${e.coords.latitude},${e.coords.longitude}`),()=>{})},[]),(0,_.useEffect)(()=>{E(`/api/version/check`).then(e=>{e&&s(e)}).catch(()=>{})},[]),(0,_.useEffect)(()=>{let e=()=>E(`/api/unread-counts`).then(e=>{e&&p(e)}).catch(()=>{});e();let t=setInterval(e,12e4);return()=>clearInterval(t)},[]);let m=()=>{c||(l(!0),E(`/api/npm-update`).finally(()=>{setTimeout(()=>window.location.reload(),3e3)}))},h=j.find(t=>t.view===e)?.label??e;return(0,A.jsxs)(A.Fragment,{children:[n&&(0,A.jsx)(`div`,{className:k.overlay,onClick:()=>r(!1)}),(0,A.jsxs)(`aside`,{className:`${k.sidebar} ${n?k.open:``}`,children:[(0,A.jsxs)(`div`,{className:k.logo,children:[(0,A.jsxs)(`div`,{className:k.logoRow,children:[(0,A.jsx)(`span`,{className:k.logoNHA,children:`NHA`}),(0,A.jsx)(`span`,{className:k.logo3rdArm,children:`3rdArm`}),(0,A.jsx)(`span`,{className:k.logoDot})]}),(0,A.jsxs)(`div`,{className:k.logoVersion,children:[o?`v${o.current}`:``,o?.updateAvailable&&(0,A.jsx)(`button`,{className:k.updateBtnInline,onClick:m,disabled:c,children:c?`⏳`:`↑ v${o.latest}`})]}),(0,A.jsx)(`div`,{className:k.logoView,children:h}),(0,A.jsxs)(`div`,{className:k.logoClock,children:[u,i&&(0,A.jsxs)(`span`,{className:k.logoWeather,children:[` `,`· `,i.icon,` `,Math.round(i.tempC),`°C `,i.city.split(`,`)[0]]})]})]}),(0,A.jsx)(`nav`,{className:k.nav,children:M.map(n=>{let i=j.filter(e=>e.group===n.id);return(0,A.jsxs)(`div`,{className:k.group,children:[(0,A.jsx)(`div`,{className:k.groupLabel,children:n.label}),i.map(n=>{let i=n.view===`email`&&f&&f.emailUnread>0?f.emailUnread:n.view===`calendar`&&f&&f.todayEvents>0?f.todayEvents:null;return(0,A.jsxs)(`button`,{className:`${k.item} ${e===n.view?k.active:``}`,onClick:()=>{t(n.view),r(!1)},children:[(0,A.jsx)(`span`,{className:k.itemIcon,children:n.icon}),(0,A.jsx)(`span`,{className:k.itemLabel,children:n.label}),i!==null&&(0,A.jsx)(`span`,{className:k.badge,children:i>99?`99+`:i}),e===n.view&&(0,A.jsx)(`span`,{className:k.activeBar})]},n.view)})]},n.id)})}),(0,A.jsx)(`div`,{className:k.footer,children:(0,A.jsxs)(`div`,{className:k.footerDocs,children:[(0,A.jsx)(`a`,{href:`https://nothumanallowed.com/docs`,target:`_blank`,rel:`noopener`,className:k.footerLink,children:`Docs`}),(0,A.jsx)(`a`,{href:`https://nothumanallowed.com/docs/cli`,target:`_blank`,rel:`noopener`,className:k.footerLink,children:`CLI`}),(0,A.jsx)(`a`,{href:`https://nothumanallowed.com/docs/agents`,target:`_blank`,rel:`noopener`,className:k.footerLink,children:`Agents`}),(0,A.jsx)(`a`,{href:`https://nothumanallowed.com/docs/studio`,target:`_blank`,rel:`noopener`,className:k.footerLink,children:`Studio`})]})})]})]})}function oe(e){let[t,n]=(0,_.useState)(`connecting`),r=(0,_.useRef)(2e3),i=(0,_.useRef)(0),a=(0,_.useRef)(null),o=(0,_.useRef)(null),s=(0,_.useRef)(e);return s.current=e,(0,_.useEffect)(()=>{let e=!1;function t(){if(!e)try{let c=window.location.protocol===`https:`?`wss:`:`ws:`,l=new WebSocket(`${c}//${window.location.host}/api`);o.current=l,l.onopen=()=>{if(e){l.close();return}i.current=0,r.current=2e3,n(`connected`)},l.onmessage=e=>{try{let t=JSON.parse(e.data);s.current?.(t)}catch{}},l.onclose=()=>{if(e)return;n(`disconnected`),o.current=null,i.current++;let s=Math.min(r.current*1.5**Math.min(i.current-1,6),3e4);r.current=s,a.current=setTimeout(()=>{a.current=null,t()},s)},l.onerror=()=>{try{l.close()}catch{}}}catch{n(`disconnected`)}}return t(),()=>{e=!0,a.current&&=(clearTimeout(a.current),null);try{o.current?.close()}catch{}}},[]),t}var N={"common.save":`Save`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Cancel`,"common.delete":`Delete`,"common.edit":`Edit`,"common.add":`Add`,"common.loading":`Loading…`,"common.comingSoon":`Coming soon`,"common.error":`Error`,"common.retry":`Retry`,"common.send":`Send`,"common.close":`Close`,"common.confirm":`Confirm`,"common.back":`Back`,"common.search":`Search…`,"common.refresh":`Refresh`,"common.copy":`Copy`,"common.copied":`Copied!`,"common.open":`Open`,"common.download":`Download`,"common.upload":`Upload`,"common.sync":`Sync`,"common.syncing":`Syncing…`,"common.connected":`Connected`,"common.disconnected":`Disconnected`,"common.connect":`Connect`,"common.disconnect":`Disconnect`,"common.enable":`Enable`,"common.disable":`Disable`,"common.yes":`Yes`,"common.no":`No`,"common.none":`None`,"common.all":`All`,"common.new":`New`,"common.create":`Create`,"common.update":`Update`,"common.remove":`Remove`,"common.clear":`Clear`,"common.select":`Select`,"common.optional":`optional`,"common.required":`required`,"common.noData":`No data`,"common.empty":`Empty`,"common.today":`Today`,"common.yesterday":`Yesterday`,"common.tomorrow":`Tomorrow`,"common.status":`Status`,"common.name":`Name`,"common.email":`Email`,"common.phone":`Phone`,"common.date":`Date`,"common.time":`Time`,"common.title":`Title`,"common.description":`Description`,"common.notes":`Notes`,"common.tags":`Tags`,"common.type":`Type`,"common.size":`Size`,"common.unknown":`Unknown`,"common.actions":`Actions`,"common.preview":`Preview`,"common.settings":`Settings`,"common.version":`Version`,"sidebar.panoramica":`Overview`,"sidebar.google":`Google`,"sidebar.microsoft":`Microsoft`,"sidebar.integrazioni":`Integrations`,"sidebar.ai":`AI`,"sidebar.config":`Config`,"nav.dashboard":`Dashboard`,"nav.chat":`Chat`,"nav.plan":`Daily Plan`,"nav.tasks":`Tasks`,"nav.email":`Email`,"nav.calendar":`Calendar`,"nav.drive":`Drive`,"nav.contacts":`Contacts`,"nav.notes":`Notes`,"nav.onedrive":`OneDrive`,"nav.mstodo":`MS Todo`,"nav.github":`GitHub`,"nav.notion":`Notion`,"nav.slack":`Slack`,"nav.maps":`Maps`,"nav.reminders":`Reminders`,"nav.birthdays":`Birthdays`,"nav.cron":`Cron`,"nav.screen":`Screen`,"nav.agents":`Agents`,"nav.studio":`Studio`,"nav.webcraft":`WebCraft`,"nav.collab":`Alexandria`,"nav.connectors":`Connectors`,"nav.settings":`Settings`,"chat.placeholder":`Message NHA…`,"chat.thinking":`Thinking…`,"chat.newChat":`New Chat`,"chat.conversations":`Conversations`,"chat.noConversations":`No conversations yet`,"chat.deleteConversation":`Delete conversation?`,"chat.copyMessage":`Copy`,"chat.regenerate":`Regenerate`,"chat.stopGeneration":`Stop`,"chat.model":`Model`,"chat.tokens":`tokens`,"chat.attachFile":`Attach file`,"chat.voice":`Voice input`,"chat.canvas":`Canvas`,"chat.browser":`Browser`,"chat.toolsUsed":`Tools used`,"chat.errorSending":`Error sending message`,"dashboard.title":`Dashboard`,"dashboard.goodMorning":`Good morning`,"dashboard.goodAfternoon":`Good afternoon`,"dashboard.goodEvening":`Good evening`,"dashboard.todayPlan":`Today's plan`,"dashboard.upcomingEvents":`Upcoming events`,"dashboard.unreadEmails":`Unread emails`,"dashboard.pendingTasks":`Pending tasks`,"dashboard.weather":`Weather`,"dashboard.noEvents":`No events today`,"dashboard.noEmails":`No unread emails`,"dashboard.noTasks":`No pending tasks`,"dashboard.systemStatus":`System Status`,"dashboard.provider":`Provider`,"dashboard.version":`Version`,"dashboard.uptime":`Uptime`,"email.inbox":`Inbox`,"email.sent":`Sent`,"email.drafts":`Drafts`,"email.compose":`Compose`,"email.reply":`Reply`,"email.replyAll":`Reply All`,"email.forward":`Forward`,"email.delete":`Delete`,"email.archive":`Archive`,"email.markRead":`Mark as read`,"email.markUnread":`Mark as unread`,"email.noEmails":`No emails`,"email.from":`From`,"email.to":`To`,"email.cc":`CC`,"email.bcc":`BCC`,"email.subject":`Subject`,"email.body":`Message`,"email.attachments":`Attachments`,"email.sending":`Sending…`,"email.sent_ok":`Email sent`,"email.search":`Search emails…`,"email.unread":`Unread`,"email.starred":`Starred`,"email.loadMore":`Load more`,"email.accounts":`Accounts`,"email.noAccounts":`No email accounts configured`,"email.addAccount":`Add Account`,"email.syncNow":`Sync now`,"email.lastSync":`Last sync`,"calendar.title":`Calendar`,"calendar.newEvent":`New Event`,"calendar.today":`Today`,"calendar.month":`Month`,"calendar.week":`Week`,"calendar.day":`Day`,"calendar.agenda":`Agenda`,"calendar.noEvents":`No events`,"calendar.allDay":`All day`,"calendar.starts":`Starts`,"calendar.ends":`Ends`,"calendar.location":`Location`,"calendar.attendees":`Attendees`,"calendar.reminder":`Reminder`,"calendar.recurring":`Recurring`,"calendar.saveEvent":`Save Event`,"calendar.deleteEvent":`Delete event?`,"calendar.editEvent":`Edit Event`,"tasks.title":`Tasks`,"tasks.newTask":`New Task`,"tasks.completed":`Completed`,"tasks.pending":`Pending`,"tasks.overdue":`Overdue`,"tasks.dueDate":`Due date`,"tasks.priority":`Priority`,"tasks.priority.high":`High`,"tasks.priority.medium":`Medium`,"tasks.priority.low":`Low`,"tasks.noTasks":`No tasks`,"tasks.markDone":`Mark as done`,"tasks.markUndone":`Mark as undone`,"tasks.deleteTask":`Delete task?`,"tasks.list":`List`,"tasks.assignee":`Assignee`,"contacts.title":`Contacts`,"contacts.newContact":`New Contact`,"contacts.noContacts":`No contacts`,"contacts.search":`Search contacts…`,"contacts.firstName":`First Name`,"contacts.lastName":`Last Name`,"contacts.company":`Company`,"contacts.role":`Role`,"contacts.address":`Address`,"contacts.birthday":`Birthday`,"contacts.deleteContact":`Delete contact?`,"notes.title":`Notes`,"notes.newNote":`New Note`,"notes.noNotes":`No notes`,"notes.search":`Search notes…`,"notes.lastModified":`Last modified`,"notes.deleteNote":`Delete note?`,"notes.untitled":`Untitled`,"plan.title":`Daily Plan`,"plan.generate":`Generate Plan`,"plan.generating":`Generating…`,"plan.noplan":`No plan for today yet`,"plan.refresh":`Refresh`,"plan.morning":`Morning`,"plan.afternoon":`Afternoon`,"plan.evening":`Evening`,"plan.planTime":`Plan generation time`,"plan.summaryTime":`Summary time`,"drive.title":`Drive`,"drive.myDrive":`My Drive`,"drive.shared":`Shared with me`,"drive.recent":`Recent`,"drive.noFiles":`No files`,"drive.upload":`Upload`,"drive.newFolder":`New Folder`,"drive.download":`Download`,"drive.delete":`Delete`,"drive.rename":`Rename`,"drive.share":`Share`,"drive.search":`Search files…`,"drive.size":`Size`,"drive.modified":`Modified`,"drive.owner":`Owner`,"drive.quota":`Storage`,"onedrive.title":`OneDrive`,"onedrive.noFiles":`No files`,"onedrive.connect":`Connect Microsoft account`,"onedrive.search":`Search OneDrive…`,"mstodo.title":`MS To Do`,"mstodo.noLists":`No lists`,"mstodo.noTasks":`No tasks`,"mstodo.newTask":`New task`,"mstodo.connect":`Connect Microsoft account`,"mstodo.addPlaceholder":`Add a new task…`,"mstodo.add":`+ Add`,"mstodo.noActive":`No active tasks`,"mstodo.due":`Due`,"mstodo.authRequired":`Microsoft To Do requires Microsoft authentication. Run nha microsoft auth in the terminal.`,"github.title":`GitHub`,"github.repos":`Repositories`,"github.issues":`Issues`,"github.prs":`Pull Requests`,"github.noRepos":`No repositories`,"github.noIssues":`No issues`,"github.noPrs":`No pull requests`,"github.search":`Search repos…`,"github.open":`Open`,"github.closed":`Closed`,"github.merged":`Merged`,"github.stars":`Stars`,"github.forks":`Forks`,"github.connect":`Connect GitHub`,"notion.title":`Notion`,"notion.pages":`Pages`,"notion.databases":`Databases`,"notion.noPages":`No pages`,"notion.search":`Search Notion…`,"notion.connect":`Connect Notion`,"slack.title":`Slack`,"slack.channels":`Channels`,"slack.dms":`Direct Messages`,"slack.noMessages":`No messages`,"slack.send":`Send`,"slack.connect":`Connect Slack`,"maps.title":`Maps`,"maps.search":`Search location…`,"maps.directions":`Directions`,"maps.from":`From`,"maps.to":`To`,"maps.route":`Get Route`,"maps.distance":`Distance`,"maps.duration":`Duration`,"maps.noResults":`No results`,"reminders.title":`Reminders`,"reminders.new":`New Reminder`,"reminders.noReminders":`No reminders`,"reminders.dueDate":`Due`,"reminders.repeat":`Repeat`,"reminders.delete":`Delete reminder?`,"reminders.done":`Done`,"birthdays.title":`Birthdays`,"birthdays.upcoming":`Upcoming`,"birthdays.noBirthdays":`No birthdays`,"birthdays.age":`Age`,"birthdays.daysLeft":`days left`,"birthdays.today":`Today!`,"birthdays.new":`Add Birthday`,"cron.title":`Scheduled Tasks`,"cron.newJob":`New Job`,"cron.noJobs":`No scheduled jobs`,"cron.schedule":`Schedule`,"cron.command":`Command`,"cron.lastRun":`Last run`,"cron.nextRun":`Next run`,"cron.status":`Status`,"cron.active":`Active`,"cron.paused":`Paused`,"cron.delete":`Delete job?`,"cron.run":`Run now`,"cron.pause":`Pause`,"cron.resume":`Resume`,"screen.title":`Screen Capture`,"screen.capture":`Capture Screen`,"screen.captureRegion":`Capture Region`,"screen.history":`History`,"screen.noCaptures":`No captures`,"screen.view":`View`,"screen.delete":`Delete`,"screen.describe":`Describe with AI`,"agents.title":`Agents`,"agents.newAgent":`New Agent`,"agents.noAgents":`No agents`,"agents.run":`Run`,"agents.running":`Running…`,"agents.stop":`Stop`,"agents.edit":`Edit`,"agents.delete":`Delete agent?`,"agents.prompt":`System Prompt`,"agents.name":`Agent Name`,"agents.model":`Model`,"agents.schedule":`Schedule`,"agents.lastRun":`Last run`,"agents.output":`Output`,"agents.tools":`Tools`,"agents.openPanel":`Open panel`,"agents.addAgent":`Add agent`,"agents.noDescription":`No description`,"agents.orchestrator":`Orchestrator`,"agents.orchestratorPlaceholder":`Send to all agents…`,"agents.orchestratorSend":`Send to all`,"agents.orchestratorSynthesis":`Conductor Synthesis`,"agents.attachFile":`Attach file`,"agents.voice":`Voice`,"agents.typeMessage":`Type a message…`,"agents.working":`working`,"agents.waitingResponse":`Waiting for response…`,"studio.title":`Studio`,"studio.newSession":`New Session`,"studio.task":`Task`,"studio.taskPlaceholder":`Describe what you want the agents to deliberate on…`,"studio.agents":`Agents`,"studio.run":`Run Deliberation`,"studio.running":`Deliberating…`,"studio.stop":`Stop`,"studio.result":`Result`,"studio.round":`Round`,"studio.convergence":`Convergence`,"studio.consensus":`Consensus`,"studio.noSessions":`No sessions`,"studio.plan":`Plan`,"studio.planning":`Planning…`,"studio.log":`Log`,"studio.export":`Export`,"studio.panel":`Panel`,"studio.canvas":`Canvas`,"studio.browser":`Browser`,"studio.parliament":`Parliament`,"studio.parliamentPrompt":`Activate Parliament analysis?`,"studio.parliamentSub":`The multi-agent Parliament will analyze the result using Legion X deliberation.`,"studio.parliamentActivate":`Activate`,"studio.parliamentSkip":`Skip`,"studio.parliamentRunning":`Parliament deliberating…`,"connectors.title":`Connectors`,"connectors.google":`Google`,"connectors.microsoft":`Microsoft`,"connectors.telegram":`Telegram`,"connectors.discord":`Discord`,"connectors.github":`GitHub`,"connectors.notion":`Notion`,"connectors.slack":`Slack`,"connectors.connect":`Connect`,"connectors.connected":`Connected`,"connectors.disconnect":`Disconnect`,"connectors.configure":`Configure`,"connectors.nodePalette":`Node Palette`,"connectors.triggers":`Triggers`,"connectors.actions":`Actions`,"connectors.ai":`AI`,"connectors.newWorkflow":`New Workflow`,"connectors.noWorkflows":`No workflows yet`,"connectors.noWorkflowsSub":`Drag nodes from the palette to build your first automation`,"connectors.workflowName":`Workflow name`,"connectors.run":`Run`,"connectors.running":`Running…`,"connectors.delete":`Delete`,"connectors.save":`Save`,"connectors.config":`Configuration`,"connectors.nodeConfig":`Node Config`,"connectors.close":`Close`,"connectors.log":`Execution Log`,"connectors.deleteEdge":`Delete edge`,"webcraft.title":`WebCraft`,"webcraft.newProject":`New Project`,"webcraft.projectName":`Project name`,"webcraft.description":`Describe the app you want to build…`,"webcraft.build":`Build`,"webcraft.building":`Building…`,"webcraft.preview":`Preview`,"webcraft.code":`Code`,"webcraft.files":`Files`,"webcraft.console":`Console`,"webcraft.deploy":`Deploy`,"webcraft.stop":`Stop server`,"webcraft.start":`Start server`,"webcraft.noProjects":`No projects`,"webcraft.fix":`Fix error`,"webcraft.fixing":`Fixing…`,"webcraft.error":`Error detected`,"webcraft.running":`Running`,"webcraft.stopped":`Stopped`,"webcraft.port":`Port`,"collab.title":`Alexandria`,"collab.channels":`Channels`,"collab.newChannel":`New Channel`,"collab.noChannels":`No channels`,"collab.messages":`Messages`,"collab.noMessages":`No messages`,"collab.send":`Send`,"collab.placeholder":`Message to the channel…`,"collab.channelId":`Channel ID`,"collab.create":`Create Channel`,"collab.join":`Join Channel`,"collab.leave":`Leave`,"collab.copy":`Copy ID`,"collab.identity":`Your Identity`,"settings.title":`Settings`,"settings.profile":`User Profile`,"settings.profileSub":`Agents use this when you say "my home", "my city", etc.`,"settings.name":`Name`,"settings.namePh":`e.g. John Smith`,"settings.emailPh":`e.g. john@example.com`,"settings.phonePh":`e.g. +1 555 123 4567`,"settings.homeAddress":`Home Address`,"settings.homeAddressPh":`e.g. 123 Main St`,"settings.workAddress":`Work Address`,"settings.workAddressPh":`e.g. 456 Office Blvd`,"settings.city":`City`,"settings.cityPh":`e.g. New York`,"settings.country":`Country`,"settings.countryPh":`e.g. USA`,"settings.company":`Company`,"settings.companyPh":`e.g. Acme Inc`,"settings.role":`Role`,"settings.rolePh":`e.g. Software Engineer`,"settings.notes":`Notes`,"settings.notesPh":`Anything else agents should know about you`,"settings.saveProfile":`Save Profile`,"settings.nhaFreeTitle":`NHA Free (Liara)`,"settings.nhaFreeSub":`Powered by Qwen3 32B. Free, no API key needed. Slower (5–15s).`,"settings.useLiara":`Use NHA Free`,"settings.liaraActivated":`✓ Liara activated`,"settings.llmProvider":`LLM Provider`,"settings.llmProviderSub":`Or use your own API key for faster responses.`,"settings.provider":`Provider`,"settings.apiKey":`API Key`,"settings.apiKeyPh":`Paste your API key here`,"settings.apiKeyFreeNote":`Not needed for NHA Free`,"settings.apiKeySet":`✓ API key configured — enter a new one to change it`,"settings.model":`Model`,"settings.modelPh":`Leave empty for default`,"settings.thinking":`Extended Thinking`,"settings.thinkingOff":`Off — faster responses`,"settings.thinkingOn":`On — extended reasoning (NHA Free only)`,"settings.saveProvider":`Save Provider`,"settings.language":`Language`,"settings.languageLabel":`Language used by all agents and Studio`,"settings.telegram":`Telegram & Discord Bot`,"settings.telegramSub":`Auto-reply to Telegram and Discord messages.`,"settings.telegramToken":`Telegram Bot Token`,"settings.telegramPh":`Get from @BotFather`,"settings.telegramSet":`••••••• (set — enter new to change)`,"settings.discordToken":`Discord Bot Token`,"settings.discordPh":`From Discord Developer Portal`,"settings.discordSet":`••••••• (set — enter new to change)`,"settings.saveBots":`Save Bots`,"settings.dailyOps":`Daily Operations`,"settings.planTime":`Daily Plan Time`,"settings.summaryTime":`Summary Time`,"settings.meetingAlert":`Meeting Alert (minutes)`,"settings.saveSchedule":`Save Schedule`,"settings.googleAccount":`Google Account`,"settings.googleSub":`Connect Gmail, Calendar, Drive, Contacts and Tasks.`,"settings.connectGoogle":`Connect Google`,"settings.reconnectGoogle":`Reconnect Google`,"settings.disconnectGoogle":`Disconnect Google`,"settings.imapAccounts":`Email Accounts (IMAP/SMTP)`,"settings.imapSub":`IMAP is read-only — no emails are ever deleted or moved on the server.`,"settings.addAccount":`+ Add Account`,"settings.noImapAccounts":`No IMAP accounts configured yet.`,"settings.editImapAccount":`Edit IMAP Account`,"settings.addImapAccount":`Add IMAP Account`,"settings.displayName":`Display Name`,"settings.displayNamePh":`e.g. Work Email`,"settings.fromName":`From Name`,"settings.fromNamePh":`e.g. John Smith`,"settings.imapServer":`IMAP Server`,"settings.imapPort":`IMAP Port`,"settings.smtpServer":`SMTP Server`,"settings.smtpPort":`SMTP Port`,"settings.username":`Username`,"settings.password":`Password`,"settings.passwordKeep":`(leave empty to keep existing)`,"settings.passwordPh":`App password or IMAP password`,"settings.show":`Show`,"settings.hide":`Hide`,"settings.sync":`Sync`,"settings.imapDelete":`Delete account "{name}"? All synced emails will be removed locally.`,"settings.disconnectGoogleConfirm":`Disconnect Google account?`,"settings.googleOpened":`Sign-in page opened. Complete the login then reload NHA.`,"settings.googleOpening":`Opening Google sign-in…`},se={en:N,it:{"common.save":`Salva`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Annulla`,"common.delete":`Elimina`,"common.edit":`Modifica`,"common.add":`Aggiungi`,"common.loading":`Caricamento…`,"common.comingSoon":`Prossimamente`,"common.error":`Errore`,"common.retry":`Riprova`,"common.send":`Invia`,"common.close":`Chiudi`,"common.confirm":`Conferma`,"common.back":`Indietro`,"common.search":`Cerca…`,"common.refresh":`Aggiorna`,"common.copy":`Copia`,"common.copied":`Copiato!`,"common.open":`Apri`,"common.download":`Scarica`,"common.upload":`Carica`,"common.sync":`Sincronizza`,"common.syncing":`Sincronizzazione…`,"common.connected":`Connesso`,"common.disconnected":`Disconnesso`,"common.connect":`Connetti`,"common.disconnect":`Disconnetti`,"common.enable":`Abilita`,"common.disable":`Disabilita`,"common.yes":`Sì`,"common.no":`No`,"common.none":`Nessuno`,"common.all":`Tutti`,"common.new":`Nuovo`,"common.create":`Crea`,"common.update":`Aggiorna`,"common.remove":`Rimuovi`,"common.clear":`Cancella`,"common.select":`Seleziona`,"common.optional":`opzionale`,"common.required":`obbligatorio`,"common.noData":`Nessun dato`,"common.empty":`Vuoto`,"common.today":`Oggi`,"common.yesterday":`Ieri`,"common.tomorrow":`Domani`,"common.status":`Stato`,"common.name":`Nome`,"common.email":`Email`,"common.phone":`Telefono`,"common.date":`Data`,"common.time":`Orario`,"common.title":`Titolo`,"common.description":`Descrizione`,"common.notes":`Note`,"common.tags":`Tag`,"common.type":`Tipo`,"common.size":`Dimensione`,"common.unknown":`Sconosciuto`,"common.actions":`Azioni`,"common.preview":`Anteprima`,"common.settings":`Impostazioni`,"common.version":`Versione`,"sidebar.panoramica":`Panoramica`,"sidebar.google":`Google`,"sidebar.microsoft":`Microsoft`,"sidebar.integrazioni":`Integrazioni`,"sidebar.ai":`AI`,"sidebar.config":`Config`,"nav.dashboard":`Dashboard`,"nav.chat":`Chat`,"nav.plan":`Piano Giornaliero`,"nav.tasks":`Task`,"nav.email":`Email`,"nav.calendar":`Calendario`,"nav.drive":`Drive`,"nav.contacts":`Contatti`,"nav.notes":`Note`,"nav.onedrive":`OneDrive`,"nav.mstodo":`MS Todo`,"nav.github":`GitHub`,"nav.notion":`Notion`,"nav.slack":`Slack`,"nav.maps":`Mappe`,"nav.reminders":`Promemoria`,"nav.birthdays":`Compleanni`,"nav.cron":`Cron`,"nav.screen":`Schermo`,"nav.agents":`Agenti`,"nav.studio":`Studio`,"nav.webcraft":`WebCraft`,"nav.collab":`Alexandria`,"nav.connectors":`Connettori`,"nav.settings":`Impostazioni`,"chat.placeholder":`Scrivi a NHA…`,"chat.thinking":`Sto pensando…`,"chat.newChat":`Nuova Chat`,"chat.conversations":`Conversazioni`,"chat.noConversations":`Nessuna conversazione`,"chat.deleteConversation":`Elimina la conversazione?`,"chat.copyMessage":`Copia`,"chat.regenerate":`Rigenera`,"chat.stopGeneration":`Ferma`,"chat.model":`Modello`,"chat.tokens":`token`,"chat.attachFile":`Allega file`,"chat.voice":`Input vocale`,"chat.canvas":`Canvas`,"chat.browser":`Browser`,"chat.toolsUsed":`Strumenti usati`,"chat.errorSending":`Errore nell'invio del messaggio`,"dashboard.title":`Dashboard`,"dashboard.goodMorning":`Buongiorno`,"dashboard.goodAfternoon":`Buon pomeriggio`,"dashboard.goodEvening":`Buonasera`,"dashboard.todayPlan":`Piano di oggi`,"dashboard.upcomingEvents":`Prossimi eventi`,"dashboard.unreadEmails":`Email non lette`,"dashboard.pendingTasks":`Task in sospeso`,"dashboard.weather":`Meteo`,"dashboard.noEvents":`Nessun evento oggi`,"dashboard.noEmails":`Nessuna email non letta`,"dashboard.noTasks":`Nessun task in sospeso`,"dashboard.systemStatus":`Stato del sistema`,"dashboard.provider":`Provider`,"dashboard.version":`Versione`,"dashboard.uptime":`Uptime`,"email.inbox":`In arrivo`,"email.sent":`Inviati`,"email.drafts":`Bozze`,"email.compose":`Scrivi`,"email.reply":`Rispondi`,"email.replyAll":`Rispondi a tutti`,"email.forward":`Inoltra`,"email.delete":`Elimina`,"email.archive":`Archivia`,"email.markRead":`Segna come letto`,"email.markUnread":`Segna come non letto`,"email.noEmails":`Nessuna email`,"email.from":`Da`,"email.to":`A`,"email.cc":`CC`,"email.bcc":`CCN`,"email.subject":`Oggetto`,"email.body":`Messaggio`,"email.attachments":`Allegati`,"email.sending":`Invio in corso…`,"email.sent_ok":`Email inviata`,"email.search":`Cerca email…`,"email.unread":`Non lette`,"email.starred":`Preferite`,"email.loadMore":`Carica altro`,"email.accounts":`Account`,"email.noAccounts":`Nessun account email configurato`,"email.addAccount":`Aggiungi account`,"email.syncNow":`Sincronizza ora`,"email.lastSync":`Ultima sincronizzazione`,"calendar.title":`Calendario`,"calendar.newEvent":`Nuovo Evento`,"calendar.today":`Oggi`,"calendar.month":`Mese`,"calendar.week":`Settimana`,"calendar.day":`Giorno`,"calendar.agenda":`Agenda`,"calendar.noEvents":`Nessun evento`,"calendar.allDay":`Tutto il giorno`,"calendar.starts":`Inizio`,"calendar.ends":`Fine`,"calendar.location":`Luogo`,"calendar.attendees":`Partecipanti`,"calendar.reminder":`Promemoria`,"calendar.recurring":`Ricorrente`,"calendar.saveEvent":`Salva Evento`,"calendar.deleteEvent":`Eliminare l'evento?`,"calendar.editEvent":`Modifica Evento`,"tasks.title":`Task`,"tasks.newTask":`Nuovo Task`,"tasks.completed":`Completati`,"tasks.pending":`In sospeso`,"tasks.overdue":`In ritardo`,"tasks.dueDate":`Scadenza`,"tasks.priority":`Priorità`,"tasks.priority.high":`Alta`,"tasks.priority.medium":`Media`,"tasks.priority.low":`Bassa`,"tasks.noTasks":`Nessun task`,"tasks.markDone":`Segna come fatto`,"tasks.markUndone":`Segna come non fatto`,"tasks.deleteTask":`Eliminare il task?`,"tasks.list":`Lista`,"tasks.assignee":`Assegnato a`,"contacts.title":`Contatti`,"contacts.newContact":`Nuovo Contatto`,"contacts.noContacts":`Nessun contatto`,"contacts.search":`Cerca contatti…`,"contacts.firstName":`Nome`,"contacts.lastName":`Cognome`,"contacts.company":`Azienda`,"contacts.role":`Ruolo`,"contacts.address":`Indirizzo`,"contacts.birthday":`Compleanno`,"contacts.deleteContact":`Eliminare il contatto?`,"notes.title":`Note`,"notes.newNote":`Nuova Nota`,"notes.noNotes":`Nessuna nota`,"notes.search":`Cerca note…`,"notes.lastModified":`Ultima modifica`,"notes.deleteNote":`Eliminare la nota?`,"notes.untitled":`Senza titolo`,"plan.title":`Piano Giornaliero`,"plan.generate":`Genera Piano`,"plan.generating":`Generazione…`,"plan.noplan":`Nessun piano per oggi`,"plan.refresh":`Aggiorna`,"plan.morning":`Mattina`,"plan.afternoon":`Pomeriggio`,"plan.evening":`Sera`,"plan.planTime":`Orario generazione piano`,"plan.summaryTime":`Orario riepilogo`,"drive.title":`Drive`,"drive.myDrive":`Il mio Drive`,"drive.shared":`Condivisi con me`,"drive.recent":`Recenti`,"drive.noFiles":`Nessun file`,"drive.upload":`Carica`,"drive.newFolder":`Nuova Cartella`,"drive.download":`Scarica`,"drive.delete":`Elimina`,"drive.rename":`Rinomina`,"drive.share":`Condividi`,"drive.search":`Cerca file…`,"drive.size":`Dimensione`,"drive.modified":`Modificato`,"drive.owner":`Proprietario`,"drive.quota":`Spazio`,"onedrive.title":`OneDrive`,"onedrive.noFiles":`Nessun file`,"onedrive.connect":`Connetti account Microsoft`,"onedrive.search":`Cerca su OneDrive…`,"mstodo.title":`MS To Do`,"mstodo.noLists":`Nessuna lista`,"mstodo.noTasks":`Nessun task`,"mstodo.newTask":`Nuovo task`,"mstodo.connect":`Connetti account Microsoft`,"mstodo.addPlaceholder":`Aggiungi un nuovo task…`,"mstodo.add":`+ Aggiungi`,"mstodo.noActive":`Nessun task attivo`,"mstodo.due":`Scadenza`,"mstodo.authRequired":`MS To Do richiede autenticazione Microsoft. Esegui nha microsoft auth nel terminale.`,"github.title":`GitHub`,"github.repos":`Repository`,"github.issues":`Issue`,"github.prs":`Pull Request`,"github.noRepos":`Nessun repository`,"github.noIssues":`Nessuna issue`,"github.noPrs":`Nessuna pull request`,"github.search":`Cerca repository…`,"github.open":`Aperta`,"github.closed":`Chiusa`,"github.merged":`Unita`,"github.stars":`Stelle`,"github.forks":`Fork`,"github.connect":`Connetti GitHub`,"notion.title":`Notion`,"notion.pages":`Pagine`,"notion.databases":`Database`,"notion.noPages":`Nessuna pagina`,"notion.search":`Cerca su Notion…`,"notion.connect":`Connetti Notion`,"slack.title":`Slack`,"slack.channels":`Canali`,"slack.dms":`Messaggi diretti`,"slack.noMessages":`Nessun messaggio`,"slack.send":`Invia`,"slack.connect":`Connetti Slack`,"maps.title":`Mappe`,"maps.search":`Cerca luogo…`,"maps.directions":`Indicazioni`,"maps.from":`Da`,"maps.to":`A`,"maps.route":`Calcola percorso`,"maps.distance":`Distanza`,"maps.duration":`Durata`,"maps.noResults":`Nessun risultato`,"reminders.title":`Promemoria`,"reminders.new":`Nuovo Promemoria`,"reminders.noReminders":`Nessun promemoria`,"reminders.dueDate":`Scadenza`,"reminders.repeat":`Ripeti`,"reminders.delete":`Eliminare il promemoria?`,"reminders.done":`Fatto`,"birthdays.title":`Compleanni`,"birthdays.upcoming":`In arrivo`,"birthdays.noBirthdays":`Nessun compleanno`,"birthdays.age":`Età`,"birthdays.daysLeft":`giorni rimanenti`,"birthdays.today":`Oggi!`,"birthdays.new":`Aggiungi Compleanno`,"cron.title":`Task Pianificati`,"cron.newJob":`Nuovo Job`,"cron.noJobs":`Nessun job pianificato`,"cron.schedule":`Pianificazione`,"cron.command":`Comando`,"cron.lastRun":`Ultima esecuzione`,"cron.nextRun":`Prossima esecuzione`,"cron.status":`Stato`,"cron.active":`Attivo`,"cron.paused":`In pausa`,"cron.delete":`Eliminare il job?`,"cron.run":`Esegui ora`,"cron.pause":`Pausa`,"cron.resume":`Riprendi`,"screen.title":`Cattura Schermo`,"screen.capture":`Cattura schermo`,"screen.captureRegion":`Cattura area`,"screen.history":`Cronologia`,"screen.noCaptures":`Nessuna cattura`,"screen.view":`Visualizza`,"screen.delete":`Elimina`,"screen.describe":`Descrivi con AI`,"agents.title":`Agenti`,"agents.newAgent":`Nuovo Agente`,"agents.noAgents":`Nessun agente`,"agents.run":`Esegui`,"agents.running":`In esecuzione…`,"agents.stop":`Ferma`,"agents.edit":`Modifica`,"agents.delete":`Eliminare l'agente?`,"agents.prompt":`System Prompt`,"agents.name":`Nome Agente`,"agents.model":`Modello`,"agents.schedule":`Pianificazione`,"agents.lastRun":`Ultima esecuzione`,"agents.output":`Output`,"agents.tools":`Strumenti`,"agents.openPanel":`Apri pannello`,"agents.addAgent":`Aggiungi agente`,"agents.noDescription":`Nessuna descrizione`,"agents.orchestrator":`Orchestratore`,"agents.orchestratorPlaceholder":`Invia a tutti gli agenti…`,"agents.orchestratorSend":`Invia a tutti`,"agents.orchestratorSynthesis":`Sintesi Conductor`,"agents.attachFile":`Allega file`,"agents.voice":`Voce`,"agents.typeMessage":`Scrivi un messaggio…`,"agents.working":`in lavoro`,"agents.waitingResponse":`In attesa di risposta…`,"studio.title":`Studio`,"studio.newSession":`Nuova Sessione`,"studio.task":`Task`,"studio.taskPlaceholder":`Descrivi cosa vuoi che gli agenti deliberino…`,"studio.agents":`Agenti`,"studio.run":`Avvia Deliberazione`,"studio.running":`Deliberando…`,"studio.stop":`Ferma`,"studio.result":`Risultato`,"studio.round":`Round`,"studio.convergence":`Convergenza`,"studio.consensus":`Consenso`,"studio.noSessions":`Nessuna sessione`,"studio.plan":`Piano`,"studio.planning":`Pianificazione…`,"studio.log":`Log`,"studio.export":`Esporta`,"studio.panel":`Pannello`,"studio.canvas":`Canvas`,"studio.browser":`Browser`,"studio.parliament":`Parlamento`,"studio.parliamentPrompt":`Attivare l'analisi del Parlamento?`,"studio.parliamentSub":`Il Parlamento multi-agente analizzerà il risultato usando la deliberazione Legion X.`,"studio.parliamentActivate":`Attiva`,"studio.parliamentSkip":`Salta`,"studio.parliamentRunning":`Parlamento in deliberazione…`,"connectors.title":`Connettori`,"connectors.google":`Google`,"connectors.microsoft":`Microsoft`,"connectors.telegram":`Telegram`,"connectors.discord":`Discord`,"connectors.github":`GitHub`,"connectors.notion":`Notion`,"connectors.slack":`Slack`,"connectors.connect":`Connetti`,"connectors.connected":`Connesso`,"connectors.disconnect":`Disconnetti`,"connectors.configure":`Configura`,"connectors.nodePalette":`Palette Nodi`,"connectors.triggers":`Trigger`,"connectors.actions":`Azioni`,"connectors.ai":`AI`,"connectors.newWorkflow":`Nuovo Workflow`,"connectors.noWorkflows":`Nessun workflow`,"connectors.noWorkflowsSub":`Trascina nodi dalla palette per costruire la tua prima automazione`,"connectors.workflowName":`Nome workflow`,"connectors.run":`Esegui`,"connectors.running":`In esecuzione…`,"connectors.delete":`Elimina`,"connectors.save":`Salva`,"connectors.config":`Configurazione`,"connectors.nodeConfig":`Config Nodo`,"connectors.close":`Chiudi`,"connectors.log":`Log Esecuzione`,"connectors.deleteEdge":`Elimina connessione`,"webcraft.title":`WebCraft`,"webcraft.newProject":`Nuovo Progetto`,"webcraft.projectName":`Nome progetto`,"webcraft.description":`Descrivi l'app che vuoi costruire…`,"webcraft.build":`Costruisci`,"webcraft.building":`Costruendo…`,"webcraft.preview":`Anteprima`,"webcraft.code":`Codice`,"webcraft.files":`File`,"webcraft.console":`Console`,"webcraft.deploy":`Pubblica`,"webcraft.stop":`Ferma server`,"webcraft.start":`Avvia server`,"webcraft.noProjects":`Nessun progetto`,"webcraft.fix":`Correggi errore`,"webcraft.fixing":`Correzione…`,"webcraft.error":`Errore rilevato`,"webcraft.running":`In esecuzione`,"webcraft.stopped":`Fermo`,"webcraft.port":`Porta`,"collab.title":`Alexandria`,"collab.channels":`Canali`,"collab.newChannel":`Nuovo Canale`,"collab.noChannels":`Nessun canale`,"collab.messages":`Messaggi`,"collab.noMessages":`Nessun messaggio`,"collab.send":`Invia`,"collab.placeholder":`Messaggio al canale…`,"collab.channelId":`ID Canale`,"collab.create":`Crea Canale`,"collab.join":`Unisciti`,"collab.leave":`Lascia`,"collab.copy":`Copia ID`,"collab.identity":`La tua identità`,"settings.title":`Impostazioni`,"settings.profile":`Profilo Utente`,"settings.profileSub":`Gli agenti usano questo quando dici "casa mia", "la mia città", ecc.`,"settings.name":`Nome`,"settings.namePh":`es. Mario Rossi`,"settings.emailPh":`es. mario@esempio.com`,"settings.phonePh":`es. +39 333 123 4567`,"settings.homeAddress":`Indirizzo di casa`,"settings.homeAddressPh":`es. Via Roma 1, Milano`,"settings.workAddress":`Indirizzo di lavoro`,"settings.workAddressPh":`es. Via Ufficio 456`,"settings.city":`Città`,"settings.cityPh":`es. Milano`,"settings.country":`Paese`,"settings.countryPh":`es. Italia`,"settings.company":`Azienda`,"settings.companyPh":`es. Acme Srl`,"settings.role":`Ruolo`,"settings.rolePh":`es. Ingegnere Software`,"settings.notes":`Note`,"settings.notesPh":`Qualsiasi altra cosa gli agenti dovrebbero sapere di te`,"settings.saveProfile":`Salva Profilo`,"settings.nhaFreeTitle":`NHA Free (Liara)`,"settings.nhaFreeSub":`Powered by Qwen3 32B. Gratis, nessuna API key necessaria. Più lento (5–15s).`,"settings.useLiara":`Usa NHA Free`,"settings.liaraActivated":`✓ Liara attivata`,"settings.llmProvider":`Provider LLM`,"settings.llmProviderSub":`Oppure usa la tua API key per risposte più veloci.`,"settings.provider":`Provider`,"settings.apiKey":`API Key`,"settings.apiKeyPh":`Incolla qui la tua API key`,"settings.apiKeyFreeNote":`Non necessaria per NHA Free`,"settings.apiKeySet":`✓ API key configurata — inserisci una nuova per cambiarla`,"settings.model":`Modello`,"settings.modelPh":`Lascia vuoto per il default`,"settings.thinking":`Ragionamento Esteso`,"settings.thinkingOff":`Off — risposte più veloci`,"settings.thinkingOn":`On — ragionamento esteso (solo NHA Free)`,"settings.saveProvider":`Salva Provider`,"settings.language":`Lingua`,"settings.languageLabel":`Lingua usata da tutti gli agenti e Studio`,"settings.telegram":`Bot Telegram e Discord`,"settings.telegramSub":`Risposta automatica ai messaggi Telegram e Discord.`,"settings.telegramToken":`Token Bot Telegram`,"settings.telegramPh":`Ottienilo da @BotFather`,"settings.telegramSet":`••••••• (impostato — inserisci nuovo per cambiare)`,"settings.discordToken":`Token Bot Discord`,"settings.discordPh":`Dal Discord Developer Portal`,"settings.discordSet":`••••••• (impostato — inserisci nuovo per cambiare)`,"settings.saveBots":`Salva Bot`,"settings.dailyOps":`Operazioni Giornaliere`,"settings.planTime":`Orario Piano Giornaliero`,"settings.summaryTime":`Orario Riepilogo`,"settings.meetingAlert":`Avviso Riunione (minuti)`,"settings.saveSchedule":`Salva Orari`,"settings.googleAccount":`Account Google`,"settings.googleSub":`Connetti Gmail, Calendar, Drive, Contatti e Task.`,"settings.connectGoogle":`Connetti Google`,"settings.reconnectGoogle":`Riconnetti Google`,"settings.disconnectGoogle":`Disconnetti Google`,"settings.imapAccounts":`Account Email (IMAP/SMTP)`,"settings.imapSub":`IMAP è in sola lettura — le email non vengono mai cancellate dal server.`,"settings.addAccount":`+ Aggiungi Account`,"settings.noImapAccounts":`Nessun account IMAP configurato.`,"settings.editImapAccount":`Modifica Account IMAP`,"settings.addImapAccount":`Aggiungi Account IMAP`,"settings.displayName":`Nome visualizzato`,"settings.displayNamePh":`es. Email Lavoro`,"settings.fromName":`Nome mittente`,"settings.fromNamePh":`es. Mario Rossi`,"settings.imapServer":`Server IMAP`,"settings.imapPort":`Porta IMAP`,"settings.smtpServer":`Server SMTP`,"settings.smtpPort":`Porta SMTP`,"settings.username":`Username`,"settings.password":`Password`,"settings.passwordKeep":`(lascia vuoto per mantenere quella esistente)`,"settings.passwordPh":`Password app o password IMAP`,"settings.show":`Mostra`,"settings.hide":`Nascondi`,"settings.sync":`Sincronizza`,"settings.imapDelete":`Eliminare l'account "{name}"? Tutte le email locali verranno rimosse.`,"settings.disconnectGoogleConfirm":`Disconnettere l'account Google?`,"settings.googleOpened":`Pagina di accesso aperta. Completa il login e ricarica NHA.`,"settings.googleOpening":`Apertura Google sign-in…`},es:{"common.save":`Guardar`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Cancelar`,"common.delete":`Eliminar`,"common.edit":`Editar`,"common.add":`Agregar`,"common.loading":`Cargando…`,"common.comingSoon":`Próximamente`,"common.error":`Error`,"common.retry":`Reintentar`,"common.send":`Enviar`,"common.close":`Cerrar`,"common.confirm":`Confirmar`,"common.back":`Atrás`,"common.search":`Buscar…`,"common.refresh":`Actualizar`,"common.copy":`Copiar`,"common.copied":`¡Copiado!`,"common.open":`Abrir`,"common.download":`Descargar`,"common.upload":`Subir`,"common.sync":`Sincronizar`,"common.syncing":`Sincronizando…`,"common.connected":`Conectado`,"common.disconnected":`Desconectado`,"common.connect":`Conectar`,"common.disconnect":`Desconectar`,"common.enable":`Habilitar`,"common.disable":`Deshabilitar`,"common.yes":`Sí`,"common.no":`No`,"common.none":`Ninguno`,"common.all":`Todos`,"common.new":`Nuevo`,"common.create":`Crear`,"common.update":`Actualizar`,"common.remove":`Quitar`,"common.clear":`Limpiar`,"common.select":`Seleccionar`,"common.optional":`opcional`,"common.required":`requerido`,"common.noData":`Sin datos`,"common.empty":`Vacío`,"common.today":`Hoy`,"common.yesterday":`Ayer`,"common.tomorrow":`Mañana`,"common.status":`Estado`,"common.name":`Nombre`,"common.email":`Correo`,"common.phone":`Teléfono`,"common.date":`Fecha`,"common.time":`Hora`,"common.title":`Título`,"common.description":`Descripción`,"common.notes":`Notas`,"common.tags":`Etiquetas`,"common.type":`Tipo`,"common.size":`Tamaño`,"common.unknown":`Desconocido`,"common.actions":`Acciones`,"common.preview":`Vista previa`,"common.settings":`Configuración`,"common.version":`Versión`,"sidebar.panoramica":`Resumen`,"sidebar.google":`Google`,"sidebar.microsoft":`Microsoft`,"sidebar.integrazioni":`Integraciones`,"sidebar.ai":`IA`,"sidebar.config":`Config`,"nav.dashboard":`Panel`,"nav.chat":`Chat`,"nav.plan":`Plan diario`,"nav.tasks":`Tareas`,"nav.email":`Correo`,"nav.calendar":`Calendario`,"nav.drive":`Drive`,"nav.contacts":`Contactos`,"nav.notes":`Notas`,"nav.onedrive":`OneDrive`,"nav.mstodo":`MS Todo`,"nav.github":`GitHub`,"nav.notion":`Notion`,"nav.slack":`Slack`,"nav.maps":`Mapas`,"nav.reminders":`Recordatorios`,"nav.birthdays":`Cumpleaños`,"nav.cron":`Cron`,"nav.screen":`Pantalla`,"nav.agents":`Agentes`,"nav.studio":`Studio`,"nav.webcraft":`WebCraft`,"nav.collab":`Alexandria`,"nav.connectors":`Conectores`,"nav.settings":`Configuración`,"chat.placeholder":`Escribe a NHA…`,"chat.thinking":`Pensando…`,"chat.newChat":`Nueva conversación`,"chat.conversations":`Conversaciones`,"chat.noConversations":`Sin conversaciones`,"chat.attachFile":`Adjuntar archivo`,"chat.voice":`Entrada de voz`,"chat.toolsUsed":`Herramientas usadas`,"chat.errorSending":`Error al enviar el mensaje`,"dashboard.title":`Panel`,"dashboard.goodMorning":`Buenos días`,"dashboard.goodAfternoon":`Buenas tardes`,"dashboard.goodEvening":`Buenas noches`,"dashboard.todayPlan":`Plan de hoy`,"dashboard.upcomingEvents":`Próximos eventos`,"dashboard.unreadEmails":`Correos no leídos`,"dashboard.pendingTasks":`Tareas pendientes`,"dashboard.noEvents":`Sin eventos hoy`,"dashboard.noEmails":`Sin correos no leídos`,"dashboard.noTasks":`Sin tareas pendientes`,"email.inbox":`Bandeja de entrada`,"email.sent":`Enviados`,"email.drafts":`Borradores`,"email.compose":`Redactar`,"email.reply":`Responder`,"email.forward":`Reenviar`,"email.noEmails":`Sin correos`,"email.from":`De`,"email.to":`Para`,"email.subject":`Asunto`,"email.search":`Buscar correos…`,"calendar.title":`Calendario`,"calendar.newEvent":`Nuevo evento`,"calendar.today":`Hoy`,"calendar.noEvents":`Sin eventos`,"tasks.title":`Tareas`,"tasks.newTask":`Nueva tarea`,"tasks.completed":`Completadas`,"tasks.pending":`Pendientes`,"tasks.overdue":`Vencidas`,"tasks.noTasks":`Sin tareas`,"tasks.priority.high":`Alta`,"tasks.priority.medium":`Media`,"tasks.priority.low":`Baja`,"contacts.title":`Contactos`,"contacts.newContact":`Nuevo contacto`,"contacts.noContacts":`Sin contactos`,"contacts.search":`Buscar contactos…`,"notes.title":`Notas`,"notes.newNote":`Nueva nota`,"notes.noNotes":`Sin notas`,"drive.title":`Drive`,"drive.noFiles":`Sin archivos`,"drive.search":`Buscar archivos…`,"mstodo.title":`MS To Do`,"mstodo.noTasks":`Sin tareas`,"mstodo.newTask":`Nueva tarea`,"mstodo.addPlaceholder":`Agregar una nueva tarea…`,"mstodo.add":`+ Agregar`,"mstodo.noActive":`Sin tareas activas`,"mstodo.due":`Vence`,"github.title":`GitHub`,"github.repos":`Repositorios`,"github.issues":`Issues`,"github.prs":`Pull Requests`,"slack.title":`Slack`,"slack.channels":`Canales`,"agents.title":`Agentes`,"agents.noAgents":`Sin agentes`,"agents.orchestrator":`Orquestador`,"agents.orchestratorPlaceholder":`Enviar a todos los agentes…`,"agents.orchestratorSend":`Enviar a todos`,"agents.orchestratorSynthesis":`Síntesis Conductor`,"agents.typeMessage":`Escribe un mensaje…`,"agents.working":`trabajando`,"studio.title":`Studio`,"studio.task":`Tarea`,"studio.run":`Iniciar deliberación`,"studio.running":`Deliberando…`,"studio.result":`Resultado`,"studio.log":`Registro`,"studio.export":`Exportar`,"studio.parliamentPrompt":`¿Activar análisis del Parlamento?`,"studio.parliamentActivate":`Activar`,"studio.parliamentSkip":`Omitir`,"connectors.title":`Conectores`,"connectors.nodePalette":`Paleta de nodos`,"connectors.triggers":`Disparadores`,"connectors.actions":`Acciones`,"connectors.ai":`IA`,"connectors.newWorkflow":`Nuevo flujo`,"connectors.noWorkflows":`Sin flujos de trabajo`,"connectors.run":`Ejecutar`,"connectors.save":`Guardar`,"connectors.log":`Registro de ejecución`,"settings.title":`Configuración`,"settings.profile":`Perfil de usuario`,"settings.saveProfile":`Guardar perfil`,"settings.useLiara":`Usar NHA Free`,"settings.liaraActivated":`✓ Liara activada`,"settings.apiKeySet":`✓ API key configurada — introduce una nueva para cambiarla`,"settings.llmProvider":`Proveedor LLM`,"settings.language":`Idioma`,"settings.languageLabel":`Idioma usado por todos los agentes y Studio`,"settings.saveProvider":`Guardar proveedor`,"settings.googleAccount":`Cuenta de Google`,"settings.connectGoogle":`Conectar Google`,"settings.disconnectGoogle":`Desconectar Google`},fr:{"common.save":`Enregistrer`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Annuler`,"common.delete":`Supprimer`,"common.edit":`Modifier`,"common.add":`Ajouter`,"common.loading":`Chargement…`,"common.comingSoon":`Bientôt disponible`,"common.error":`Erreur`,"common.retry":`Réessayer`,"common.send":`Envoyer`,"common.close":`Fermer`,"common.confirm":`Confirmer`,"common.back":`Retour`,"common.search":`Rechercher…`,"common.refresh":`Actualiser`,"common.copy":`Copier`,"common.copied":`Copié !`,"common.open":`Ouvrir`,"common.download":`Télécharger`,"common.upload":`Téléverser`,"common.sync":`Synchroniser`,"common.syncing":`Synchronisation…`,"common.connected":`Connecté`,"common.disconnected":`Déconnecté`,"common.connect":`Connecter`,"common.disconnect":`Déconnecter`,"common.enable":`Activer`,"common.disable":`Désactiver`,"common.yes":`Oui`,"common.no":`Non`,"common.none":`Aucun`,"common.all":`Tout`,"common.new":`Nouveau`,"common.create":`Créer`,"common.update":`Mettre à jour`,"common.remove":`Supprimer`,"common.clear":`Effacer`,"common.select":`Sélectionner`,"common.optional":`optionnel`,"common.required":`requis`,"common.noData":`Aucune donnée`,"common.empty":`Vide`,"common.today":`Aujourd'hui`,"common.yesterday":`Hier`,"common.tomorrow":`Demain`,"common.status":`Statut`,"common.name":`Nom`,"common.email":`E-mail`,"common.phone":`Téléphone`,"common.date":`Date`,"common.time":`Heure`,"common.title":`Titre`,"common.description":`Description`,"common.notes":`Notes`,"common.tags":`Étiquettes`,"common.type":`Type`,"common.size":`Taille`,"common.unknown":`Inconnu`,"common.actions":`Actions`,"common.preview":`Aperçu`,"common.settings":`Paramètres`,"common.version":`Version`,"sidebar.panoramica":`Vue d'ensemble`,"sidebar.google":`Google`,"sidebar.microsoft":`Microsoft`,"sidebar.integrazioni":`Intégrations`,"sidebar.ai":`IA`,"sidebar.config":`Config`,"nav.dashboard":`Tableau de bord`,"nav.chat":`Chat`,"nav.plan":`Plan quotidien`,"nav.tasks":`Tâches`,"nav.email":`E-mail`,"nav.calendar":`Calendrier`,"nav.drive":`Drive`,"nav.contacts":`Contacts`,"nav.notes":`Notes`,"nav.onedrive":`OneDrive`,"nav.mstodo":`MS Todo`,"nav.github":`GitHub`,"nav.notion":`Notion`,"nav.slack":`Slack`,"nav.maps":`Cartes`,"nav.reminders":`Rappels`,"nav.birthdays":`Anniversaires`,"nav.cron":`Cron`,"nav.screen":`Écran`,"nav.agents":`Agents`,"nav.studio":`Studio`,"nav.webcraft":`WebCraft`,"nav.collab":`Alexandria`,"nav.connectors":`Connecteurs`,"nav.settings":`Paramètres`,"chat.placeholder":`Écrivez à NHA…`,"chat.thinking":`Réflexion…`,"chat.newChat":`Nouvelle conversation`,"chat.conversations":`Conversations`,"chat.noConversations":`Aucune conversation`,"chat.attachFile":`Joindre un fichier`,"chat.voice":`Saisie vocale`,"chat.toolsUsed":`Outils utilisés`,"chat.errorSending":`Erreur lors de l'envoi du message`,"dashboard.title":`Tableau de bord`,"dashboard.goodMorning":`Bonjour`,"dashboard.goodAfternoon":`Bon après-midi`,"dashboard.goodEvening":`Bonsoir`,"dashboard.todayPlan":`Plan d'aujourd'hui`,"dashboard.upcomingEvents":`Événements à venir`,"dashboard.unreadEmails":`E-mails non lus`,"dashboard.pendingTasks":`Tâches en attente`,"dashboard.noEvents":`Aucun événement aujourd'hui`,"dashboard.noEmails":`Aucun e-mail non lu`,"dashboard.noTasks":`Aucune tâche en attente`,"email.inbox":`Boîte de réception`,"email.sent":`Envoyés`,"email.drafts":`Brouillons`,"email.compose":`Rédiger`,"email.reply":`Répondre`,"email.forward":`Transférer`,"email.noEmails":`Aucun e-mail`,"email.from":`De`,"email.to":`À`,"email.subject":`Objet`,"email.search":`Rechercher des e-mails…`,"calendar.title":`Calendrier`,"calendar.newEvent":`Nouvel événement`,"calendar.today":`Aujourd'hui`,"calendar.noEvents":`Aucun événement`,"tasks.title":`Tâches`,"tasks.newTask":`Nouvelle tâche`,"tasks.completed":`Terminées`,"tasks.pending":`En attente`,"tasks.overdue":`En retard`,"tasks.noTasks":`Aucune tâche`,"tasks.priority.high":`Haute`,"tasks.priority.medium":`Moyenne`,"tasks.priority.low":`Faible`,"contacts.title":`Contacts`,"contacts.newContact":`Nouveau contact`,"contacts.noContacts":`Aucun contact`,"contacts.search":`Rechercher des contacts…`,"notes.title":`Notes`,"notes.newNote":`Nouvelle note`,"notes.noNotes":`Aucune note`,"drive.title":`Drive`,"drive.noFiles":`Aucun fichier`,"drive.search":`Rechercher des fichiers…`,"mstodo.title":`MS To Do`,"mstodo.noTasks":`Aucune tâche`,"mstodo.newTask":`Nouvelle tâche`,"mstodo.addPlaceholder":`Ajouter une nouvelle tâche…`,"mstodo.add":`+ Ajouter`,"mstodo.noActive":`Aucune tâche active`,"mstodo.due":`Échéance`,"github.title":`GitHub`,"github.repos":`Référentiels`,"github.issues":`Issues`,"github.prs":`Pull Requests`,"slack.title":`Slack`,"slack.channels":`Canaux`,"agents.title":`Agents`,"agents.noAgents":`Aucun agent`,"agents.orchestrator":`Orchestrateur`,"agents.orchestratorPlaceholder":`Envoyer à tous les agents…`,"agents.orchestratorSend":`Envoyer à tous`,"agents.orchestratorSynthesis":`Synthèse Conductor`,"agents.typeMessage":`Saisir un message…`,"agents.working":`en cours`,"studio.title":`Studio`,"studio.task":`Tâche`,"studio.run":`Démarrer la délibération`,"studio.running":`Délibération…`,"studio.result":`Résultat`,"studio.log":`Journal`,"studio.export":`Exporter`,"studio.parliamentPrompt":`Activer l'analyse du Parlement ?`,"studio.parliamentActivate":`Activer`,"studio.parliamentSkip":`Ignorer`,"connectors.title":`Connecteurs`,"connectors.nodePalette":`Palette de nœuds`,"connectors.triggers":`Déclencheurs`,"connectors.actions":`Actions`,"connectors.ai":`IA`,"connectors.newWorkflow":`Nouveau flux`,"connectors.noWorkflows":`Aucun flux de travail`,"connectors.run":`Exécuter`,"connectors.save":`Enregistrer`,"connectors.log":`Journal d'exécution`,"settings.title":`Paramètres`,"settings.profile":`Profil utilisateur`,"settings.saveProfile":`Enregistrer le profil`,"settings.useLiara":`Utiliser NHA Free`,"settings.liaraActivated":`✓ Liara activée`,"settings.apiKeySet":`✓ Clé API configurée — saisissez-en une nouvelle pour la modifier`,"settings.llmProvider":`Fournisseur LLM`,"settings.language":`Langue`,"settings.languageLabel":`Langue utilisée par tous les agents et Studio`,"settings.saveProvider":`Enregistrer le fournisseur`,"settings.googleAccount":`Compte Google`,"settings.connectGoogle":`Connecter Google`,"settings.disconnectGoogle":`Déconnecter Google`},de:{"common.save":`Speichern`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Abbrechen`,"common.delete":`Löschen`,"common.edit":`Bearbeiten`,"common.add":`Hinzufügen`,"common.loading":`Laden…`,"common.comingSoon":`Demnächst`,"common.error":`Fehler`,"common.retry":`Erneut versuchen`,"common.send":`Senden`,"common.close":`Schließen`,"common.confirm":`Bestätigen`,"common.back":`Zurück`,"common.search":`Suchen…`,"common.refresh":`Aktualisieren`,"common.copy":`Kopieren`,"common.copied":`Kopiert!`,"common.open":`Öffnen`,"common.download":`Herunterladen`,"common.upload":`Hochladen`,"common.sync":`Synchronisieren`,"common.syncing":`Synchronisierung…`,"common.connected":`Verbunden`,"common.disconnected":`Getrennt`,"common.connect":`Verbinden`,"common.disconnect":`Trennen`,"common.enable":`Aktivieren`,"common.disable":`Deaktivieren`,"common.yes":`Ja`,"common.no":`Nein`,"common.none":`Keiner`,"common.all":`Alle`,"common.new":`Neu`,"common.create":`Erstellen`,"common.update":`Aktualisieren`,"common.remove":`Entfernen`,"common.clear":`Löschen`,"common.select":`Auswählen`,"common.optional":`optional`,"common.required":`erforderlich`,"common.noData":`Keine Daten`,"common.empty":`Leer`,"common.today":`Heute`,"common.yesterday":`Gestern`,"common.tomorrow":`Morgen`,"common.status":`Status`,"common.name":`Name`,"common.email":`E-Mail`,"common.phone":`Telefon`,"common.date":`Datum`,"common.time":`Uhrzeit`,"common.title":`Titel`,"common.description":`Beschreibung`,"common.notes":`Notizen`,"common.tags":`Tags`,"common.type":`Typ`,"common.size":`Größe`,"common.unknown":`Unbekannt`,"common.actions":`Aktionen`,"common.preview":`Vorschau`,"common.settings":`Einstellungen`,"common.version":`Version`,"sidebar.panoramica":`Übersicht`,"sidebar.google":`Google`,"sidebar.microsoft":`Microsoft`,"sidebar.integrazioni":`Integrationen`,"sidebar.ai":`KI`,"sidebar.config":`Konfiguration`,"nav.dashboard":`Dashboard`,"nav.chat":`Chat`,"nav.plan":`Tagesplan`,"nav.tasks":`Aufgaben`,"nav.email":`E-Mail`,"nav.calendar":`Kalender`,"nav.drive":`Drive`,"nav.contacts":`Kontakte`,"nav.notes":`Notizen`,"nav.onedrive":`OneDrive`,"nav.mstodo":`MS Todo`,"nav.github":`GitHub`,"nav.notion":`Notion`,"nav.slack":`Slack`,"nav.maps":`Karten`,"nav.reminders":`Erinnerungen`,"nav.birthdays":`Geburtstage`,"nav.cron":`Cron`,"nav.screen":`Bildschirm`,"nav.agents":`Agenten`,"nav.studio":`Studio`,"nav.webcraft":`WebCraft`,"nav.collab":`Alexandria`,"nav.connectors":`Konnektoren`,"nav.settings":`Einstellungen`,"chat.placeholder":`Nachricht an NHA…`,"chat.thinking":`Denke nach…`,"chat.newChat":`Neues Gespräch`,"chat.conversations":`Gespräche`,"chat.noConversations":`Keine Gespräche`,"chat.attachFile":`Datei anhängen`,"chat.voice":`Spracheingabe`,"chat.toolsUsed":`Verwendete Werkzeuge`,"chat.errorSending":`Fehler beim Senden der Nachricht`,"dashboard.title":`Dashboard`,"dashboard.goodMorning":`Guten Morgen`,"dashboard.goodAfternoon":`Guten Nachmittag`,"dashboard.goodEvening":`Guten Abend`,"dashboard.todayPlan":`Heutiger Plan`,"dashboard.upcomingEvents":`Bevorstehende Ereignisse`,"dashboard.unreadEmails":`Ungelesene E-Mails`,"dashboard.pendingTasks":`Ausstehende Aufgaben`,"dashboard.noEvents":`Keine Ereignisse heute`,"dashboard.noEmails":`Keine ungelesenen E-Mails`,"dashboard.noTasks":`Keine ausstehenden Aufgaben`,"email.inbox":`Posteingang`,"email.sent":`Gesendet`,"email.drafts":`Entwürfe`,"email.compose":`Verfassen`,"email.reply":`Antworten`,"email.forward":`Weiterleiten`,"email.noEmails":`Keine E-Mails`,"email.from":`Von`,"email.to":`An`,"email.subject":`Betreff`,"email.search":`E-Mails suchen…`,"calendar.title":`Kalender`,"calendar.newEvent":`Neues Ereignis`,"calendar.today":`Heute`,"calendar.noEvents":`Keine Ereignisse`,"tasks.title":`Aufgaben`,"tasks.newTask":`Neue Aufgabe`,"tasks.completed":`Erledigt`,"tasks.pending":`Ausstehend`,"tasks.overdue":`Überfällig`,"tasks.noTasks":`Keine Aufgaben`,"tasks.priority.high":`Hoch`,"tasks.priority.medium":`Mittel`,"tasks.priority.low":`Niedrig`,"contacts.title":`Kontakte`,"contacts.newContact":`Neuer Kontakt`,"contacts.noContacts":`Keine Kontakte`,"contacts.search":`Kontakte suchen…`,"notes.title":`Notizen`,"notes.newNote":`Neue Notiz`,"notes.noNotes":`Keine Notizen`,"drive.title":`Drive`,"drive.noFiles":`Keine Dateien`,"drive.search":`Dateien suchen…`,"mstodo.title":`MS To Do`,"mstodo.noTasks":`Keine Aufgaben`,"mstodo.newTask":`Neue Aufgabe`,"mstodo.addPlaceholder":`Neue Aufgabe hinzufügen…`,"mstodo.add":`+ Hinzufügen`,"mstodo.noActive":`Keine aktiven Aufgaben`,"mstodo.due":`Fällig`,"github.title":`GitHub`,"github.repos":`Repositories`,"github.issues":`Issues`,"github.prs":`Pull Requests`,"slack.title":`Slack`,"slack.channels":`Kanäle`,"agents.title":`Agenten`,"agents.noAgents":`Keine Agenten`,"agents.orchestrator":`Orchestrator`,"agents.orchestratorPlaceholder":`An alle Agenten senden…`,"agents.orchestratorSend":`An alle senden`,"agents.orchestratorSynthesis":`Conductor-Synthese`,"agents.typeMessage":`Nachricht eingeben…`,"agents.working":`arbeitet`,"studio.title":`Studio`,"studio.task":`Aufgabe`,"studio.run":`Deliberation starten`,"studio.running":`Deliberation…`,"studio.result":`Ergebnis`,"studio.log":`Protokoll`,"studio.export":`Exportieren`,"studio.parliamentPrompt":`Parlament-Analyse aktivieren?`,"studio.parliamentActivate":`Aktivieren`,"studio.parliamentSkip":`Überspringen`,"connectors.title":`Konnektoren`,"connectors.nodePalette":`Knotenpalette`,"connectors.triggers":`Auslöser`,"connectors.actions":`Aktionen`,"connectors.ai":`KI`,"connectors.newWorkflow":`Neuer Workflow`,"connectors.noWorkflows":`Keine Workflows`,"connectors.run":`Ausführen`,"connectors.save":`Speichern`,"connectors.log":`Ausführungsprotokoll`,"settings.title":`Einstellungen`,"settings.profile":`Benutzerprofil`,"settings.saveProfile":`Profil speichern`,"settings.useLiara":`NHA Free verwenden`,"settings.liaraActivated":`✓ Liara aktiviert`,"settings.apiKeySet":`✓ API-Schlüssel konfiguriert — neuen eingeben zum Ändern`,"settings.llmProvider":`LLM-Anbieter`,"settings.language":`Sprache`,"settings.languageLabel":`Sprache für alle Agenten und Studio`,"settings.saveProvider":`Anbieter speichern`,"settings.googleAccount":`Google-Konto`,"settings.connectGoogle":`Google verbinden`,"settings.disconnectGoogle":`Google trennen`},pt:{"common.save":`Guardar`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Cancelar`,"common.delete":`Eliminar`,"common.edit":`Editar`,"common.add":`Adicionar`,"common.loading":`A carregar…`,"common.comingSoon":`Em breve`,"common.error":`Erro`,"common.retry":`Tentar novamente`,"common.send":`Enviar`,"common.close":`Fechar`,"common.confirm":`Confirmar`,"common.back":`Voltar`,"common.search":`Pesquisar…`,"common.refresh":`Atualizar`,"common.copy":`Copiar`,"common.copied":`Copiado!`,"common.open":`Abrir`,"common.download":`Transferir`,"common.upload":`Carregar`,"common.sync":`Sincronizar`,"common.syncing":`A sincronizar…`,"common.connected":`Ligado`,"common.disconnected":`Desligado`,"common.connect":`Ligar`,"common.disconnect":`Desligar`,"common.yes":`Sim`,"common.no":`Não`,"common.new":`Novo`,"common.noData":`Sem dados`,"common.today":`Hoje`,"common.yesterday":`Ontem`,"common.tomorrow":`Amanhã`,"common.name":`Nome`,"common.email":`E-mail`,"sidebar.panoramica":`Visão geral`,"sidebar.integrazioni":`Integrações`,"sidebar.ai":`IA`,"nav.dashboard":`Painel`,"nav.chat":`Chat`,"nav.plan":`Plano diário`,"nav.tasks":`Tarefas`,"nav.email":`E-mail`,"nav.calendar":`Calendário`,"nav.contacts":`Contactos`,"nav.notes":`Notas`,"nav.agents":`Agentes`,"nav.settings":`Definições`,"chat.placeholder":`Escrever para NHA…`,"chat.thinking":`A pensar…`,"chat.newChat":`Nova conversa`,"email.inbox":`Caixa de entrada`,"email.compose":`Redigir`,"email.noEmails":`Sem e-mails`,"calendar.title":`Calendário`,"calendar.newEvent":`Novo evento`,"calendar.noEvents":`Sem eventos`,"tasks.title":`Tarefas`,"tasks.newTask":`Nova tarefa`,"tasks.noTasks":`Sem tarefas`,"contacts.title":`Contactos`,"contacts.noContacts":`Sem contactos`,"mstodo.addPlaceholder":`Adicionar uma nova tarefa…`,"mstodo.add":`+ Adicionar`,"mstodo.noActive":`Sem tarefas ativas`,"agents.title":`Agentes`,"agents.noAgents":`Sem agentes`,"agents.orchestrator":`Orquestrador`,"agents.orchestratorSend":`Enviar a todos`,"studio.title":`Studio`,"studio.run":`Iniciar deliberação`,"studio.running":`A deliberar…`,"connectors.title":`Conectores`,"connectors.nodePalette":`Paleta de nós`,"connectors.triggers":`Gatilhos`,"connectors.newWorkflow":`Novo fluxo`,"settings.title":`Definições`,"settings.profile":`Perfil do utilizador`,"settings.language":`Idioma`,"settings.useLiara":`Usar NHA Free`,"settings.liaraActivated":`✓ Liara ativada`,"settings.apiKeySet":`✓ Chave API configurada — insira uma nova para alterar`,"settings.saveProfile":`Guardar perfil`,"settings.googleAccount":`Conta Google`,"settings.connectGoogle":`Ligar Google`},nl:{"common.save":`Opslaan`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Annuleren`,"common.delete":`Verwijderen`,"common.edit":`Bewerken`,"common.add":`Toevoegen`,"common.loading":`Laden…`,"common.comingSoon":`Binnenkort`,"common.error":`Fout`,"common.retry":`Opnieuw proberen`,"common.send":`Verzenden`,"common.close":`Sluiten`,"common.confirm":`Bevestigen`,"common.back":`Terug`,"common.search":`Zoeken…`,"common.refresh":`Vernieuwen`,"common.copy":`Kopiëren`,"common.copied":`Gekopieerd!`,"common.open":`Openen`,"common.download":`Downloaden`,"common.connect":`Verbinden`,"common.disconnect":`Verbreken`,"common.yes":`Ja`,"common.no":`Nee`,"common.new":`Nieuw`,"common.noData":`Geen gegevens`,"common.today":`Vandaag`,"common.yesterday":`Gisteren`,"common.tomorrow":`Morgen`,"common.name":`Naam`,"common.email":`E-mail`,"sidebar.panoramica":`Overzicht`,"sidebar.integrazioni":`Integraties`,"sidebar.ai":`AI`,"nav.dashboard":`Dashboard`,"nav.chat":`Chat`,"nav.plan":`Dagplan`,"nav.tasks":`Taken`,"nav.email":`E-mail`,"nav.calendar":`Agenda`,"nav.contacts":`Contacten`,"nav.agents":`Agenten`,"nav.settings":`Instellingen`,"chat.placeholder":`Bericht aan NHA…`,"chat.thinking":`Aan het denken…`,"chat.newChat":`Nieuwe chat`,"email.inbox":`Postvak IN`,"email.compose":`Opstellen`,"email.noEmails":`Geen e-mails`,"calendar.title":`Agenda`,"calendar.newEvent":`Nieuw evenement`,"calendar.noEvents":`Geen evenementen`,"tasks.title":`Taken`,"tasks.newTask":`Nieuwe taak`,"tasks.noTasks":`Geen taken`,"contacts.title":`Contacten`,"contacts.noContacts":`Geen contacten`,"agents.title":`Agenten`,"agents.noAgents":`Geen agenten`,"agents.orchestrator":`Orchestrator`,"agents.orchestratorSend":`Stuur naar iedereen`,"studio.title":`Studio`,"studio.run":`Beraadslaging starten`,"studio.running":`Beraadslaging…`,"connectors.title":`Connectoren`,"connectors.nodePalette":`Knooppuntenpalet`,"connectors.triggers":`Triggers`,"connectors.newWorkflow":`Nieuwe workflow`,"settings.title":`Instellingen`,"settings.language":`Taal`,"settings.useLiara":`NHA Free gebruiken`,"settings.liaraActivated":`✓ Liara geactiveerd`,"settings.apiKeySet":`✓ API-sleutel geconfigureerd — voer een nieuwe in om te wijzigen`,"settings.saveProfile":`Profiel opslaan`,"settings.googleAccount":`Google-account`,"settings.connectGoogle":`Google verbinden`},pl:{"common.save":`Zapisz`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Anuluj`,"common.delete":`Usuń`,"common.edit":`Edytuj`,"common.add":`Dodaj`,"common.loading":`Ładowanie…`,"common.error":`Błąd`,"common.retry":`Spróbuj ponownie`,"common.send":`Wyślij`,"common.close":`Zamknij`,"common.confirm":`Potwierdź`,"common.back":`Wstecz`,"common.search":`Szukaj…`,"common.refresh":`Odśwież`,"common.copy":`Kopiuj`,"common.copied":`Skopiowano!`,"common.connect":`Połącz`,"common.disconnect":`Rozłącz`,"common.yes":`Tak`,"common.no":`Nie`,"common.new":`Nowy`,"common.noData":`Brak danych`,"common.today":`Dziś`,"common.name":`Nazwa`,"sidebar.panoramica":`Przegląd`,"sidebar.integrazioni":`Integracje`,"sidebar.ai":`AI`,"nav.dashboard":`Panel`,"nav.chat":`Czat`,"nav.tasks":`Zadania`,"nav.email":`E-mail`,"nav.calendar":`Kalendarz`,"nav.contacts":`Kontakty`,"nav.agents":`Agenci`,"nav.settings":`Ustawienia`,"chat.placeholder":`Wiadomość do NHA…`,"chat.thinking":`Myślę…`,"chat.newChat":`Nowa rozmowa`,"email.inbox":`Skrzynka odbiorcza`,"email.compose":`Napisz`,"email.noEmails":`Brak wiadomości`,"calendar.title":`Kalendarz`,"calendar.newEvent":`Nowe zdarzenie`,"calendar.noEvents":`Brak zdarzeń`,"tasks.title":`Zadania`,"tasks.newTask":`Nowe zadanie`,"tasks.noTasks":`Brak zadań`,"contacts.title":`Kontakty`,"contacts.noContacts":`Brak kontaktów`,"agents.title":`Agenci`,"agents.noAgents":`Brak agentów`,"agents.orchestrator":`Orkiestrator`,"agents.orchestratorSend":`Wyślij do wszystkich`,"studio.title":`Studio`,"studio.run":`Rozpocznij deliberację`,"studio.running":`Deliberacja…`,"connectors.title":`Konektory`,"connectors.triggers":`Wyzwalacze`,"connectors.newWorkflow":`Nowy przepływ`,"settings.title":`Ustawienia`,"settings.language":`Język`,"settings.useLiara":`Użyj NHA Free`,"settings.liaraActivated":`✓ Liara aktywowana`,"settings.apiKeySet":`✓ Klucz API skonfigurowany — wpisz nowy, aby zmienić`,"settings.saveProfile":`Zapisz profil`,"settings.googleAccount":`Konto Google`,"settings.connectGoogle":`Połącz Google`},ru:{"common.save":`Сохранить`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Отмена`,"common.delete":`Удалить`,"common.edit":`Редактировать`,"common.add":`Добавить`,"common.loading":`Загрузка…`,"common.error":`Ошибка`,"common.retry":`Повторить`,"common.send":`Отправить`,"common.close":`Закрыть`,"common.confirm":`Подтвердить`,"common.back":`Назад`,"common.search":`Поиск…`,"common.refresh":`Обновить`,"common.copy":`Копировать`,"common.copied":`Скопировано!`,"common.connect":`Подключить`,"common.disconnect":`Отключить`,"common.yes":`Да`,"common.no":`Нет`,"common.new":`Новый`,"common.noData":`Нет данных`,"common.today":`Сегодня`,"common.name":`Имя`,"sidebar.panoramica":`Обзор`,"sidebar.integrazioni":`Интеграции`,"sidebar.ai":`ИИ`,"nav.dashboard":`Панель`,"nav.chat":`Чат`,"nav.tasks":`Задачи`,"nav.email":`Почта`,"nav.calendar":`Календарь`,"nav.contacts":`Контакты`,"nav.agents":`Агенты`,"nav.settings":`Настройки`,"chat.placeholder":`Сообщение NHA…`,"chat.thinking":`Думаю…`,"chat.newChat":`Новый чат`,"email.inbox":`Входящие`,"email.compose":`Написать`,"email.noEmails":`Нет писем`,"calendar.title":`Календарь`,"calendar.newEvent":`Новое событие`,"calendar.noEvents":`Нет событий`,"tasks.title":`Задачи`,"tasks.newTask":`Новая задача`,"tasks.noTasks":`Нет задач`,"contacts.title":`Контакты`,"contacts.noContacts":`Нет контактов`,"agents.title":`Агенты`,"agents.noAgents":`Нет агентов`,"agents.orchestrator":`Оркестратор`,"agents.orchestratorSend":`Отправить всем`,"studio.title":`Studio`,"studio.run":`Начать обсуждение`,"studio.running":`Обсуждение…`,"connectors.title":`Коннекторы`,"connectors.triggers":`Триггеры`,"connectors.newWorkflow":`Новый сценарий`,"settings.title":`Настройки`,"settings.language":`Язык`,"settings.useLiara":`Использовать NHA Free`,"settings.liaraActivated":`✓ Liara активирована`,"settings.apiKeySet":`✓ API-ключ настроен — введите новый для изменения`,"settings.saveProfile":`Сохранить профиль`,"settings.googleAccount":`Аккаунт Google`,"settings.connectGoogle":`Подключить Google`},zh:{"common.save":`保存`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`取消`,"common.delete":`删除`,"common.edit":`编辑`,"common.add":`添加`,"common.loading":`加载中…`,"common.error":`错误`,"common.retry":`重试`,"common.send":`发送`,"common.close":`关闭`,"common.confirm":`确认`,"common.back":`返回`,"common.search":`搜索…`,"common.refresh":`刷新`,"common.copy":`复制`,"common.copied":`已复制!`,"common.connect":`连接`,"common.disconnect":`断开`,"common.yes":`是`,"common.no":`否`,"common.new":`新建`,"common.noData":`无数据`,"common.today":`今天`,"common.name":`名称`,"sidebar.panoramica":`概览`,"sidebar.integrazioni":`集成`,"sidebar.ai":`AI`,"nav.dashboard":`仪表板`,"nav.chat":`聊天`,"nav.tasks":`任务`,"nav.email":`邮件`,"nav.calendar":`日历`,"nav.contacts":`联系人`,"nav.agents":`智能体`,"nav.settings":`设置`,"chat.placeholder":`发送消息给 NHA…`,"chat.thinking":`思考中…`,"chat.newChat":`新对话`,"email.inbox":`收件箱`,"email.compose":`撰写`,"email.noEmails":`无邮件`,"calendar.title":`日历`,"calendar.newEvent":`新建事件`,"calendar.noEvents":`无事件`,"tasks.title":`任务`,"tasks.newTask":`新建任务`,"tasks.noTasks":`无任务`,"contacts.title":`联系人`,"contacts.noContacts":`无联系人`,"agents.title":`智能体`,"agents.noAgents":`无智能体`,"agents.orchestrator":`协调器`,"agents.orchestratorSend":`发送给所有`,"studio.title":`Studio`,"studio.run":`开始协商`,"studio.running":`协商中…`,"connectors.title":`连接器`,"connectors.triggers":`触发器`,"connectors.newWorkflow":`新工作流`,"settings.title":`设置`,"settings.language":`语言`,"settings.useLiara":`使用 NHA Free`,"settings.liaraActivated":`✓ Liara 已激活`,"settings.apiKeySet":`✓ API 密钥已配置 — 输入新密钥以更改`,"settings.saveProfile":`保存配置`,"settings.googleAccount":`Google 账户`,"settings.connectGoogle":`连接 Google`},ja:{"common.save":`保存`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`キャンセル`,"common.delete":`削除`,"common.edit":`編集`,"common.add":`追加`,"common.loading":`読み込み中…`,"common.error":`エラー`,"common.retry":`再試行`,"common.send":`送信`,"common.close":`閉じる`,"common.confirm":`確認`,"common.back":`戻る`,"common.search":`検索…`,"common.refresh":`更新`,"common.copy":`コピー`,"common.copied":`コピーしました!`,"common.connect":`接続`,"common.disconnect":`切断`,"common.yes":`はい`,"common.no":`いいえ`,"common.new":`新規`,"common.noData":`データなし`,"common.today":`今日`,"common.name":`名前`,"sidebar.panoramica":`概要`,"sidebar.integrazioni":`統合`,"sidebar.ai":`AI`,"nav.dashboard":`ダッシュボード`,"nav.chat":`チャット`,"nav.tasks":`タスク`,"nav.email":`メール`,"nav.calendar":`カレンダー`,"nav.contacts":`連絡先`,"nav.agents":`エージェント`,"nav.settings":`設定`,"chat.placeholder":`NHA へメッセージ…`,"chat.thinking":`考え中…`,"chat.newChat":`新しい会話`,"email.inbox":`受信トレイ`,"email.compose":`作成`,"email.noEmails":`メールなし`,"calendar.title":`カレンダー`,"calendar.newEvent":`新しいイベント`,"calendar.noEvents":`イベントなし`,"tasks.title":`タスク`,"tasks.newTask":`新しいタスク`,"tasks.noTasks":`タスクなし`,"contacts.title":`連絡先`,"contacts.noContacts":`連絡先なし`,"agents.title":`エージェント`,"agents.noAgents":`エージェントなし`,"agents.orchestrator":`オーケストレーター`,"agents.orchestratorSend":`全員に送信`,"studio.title":`Studio`,"studio.run":`討議を開始`,"studio.running":`討議中…`,"connectors.title":`コネクター`,"connectors.triggers":`トリガー`,"connectors.newWorkflow":`新しいワークフロー`,"settings.title":`設定`,"settings.language":`言語`,"settings.useLiara":`NHA Free を使用`,"settings.liaraActivated":`✓ Liara が有効になりました`,"settings.apiKeySet":`✓ API キーが設定済み — 変更するには新しいキーを入力してください`,"settings.saveProfile":`プロフィールを保存`,"settings.googleAccount":`Google アカウント`,"settings.connectGoogle":`Google を接続`},ko:{"common.save":`저장`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`취소`,"common.delete":`삭제`,"common.edit":`편집`,"common.add":`추가`,"common.loading":`로딩 중…`,"common.error":`오류`,"common.retry":`다시 시도`,"common.send":`전송`,"common.close":`닫기`,"common.confirm":`확인`,"common.back":`뒤로`,"common.search":`검색…`,"common.refresh":`새로고침`,"common.copy":`복사`,"common.copied":`복사됨!`,"common.connect":`연결`,"common.disconnect":`연결 해제`,"common.yes":`예`,"common.no":`아니요`,"common.new":`새로 만들기`,"common.noData":`데이터 없음`,"common.today":`오늘`,"common.name":`이름`,"sidebar.panoramica":`개요`,"sidebar.integrazioni":`통합`,"sidebar.ai":`AI`,"nav.dashboard":`대시보드`,"nav.chat":`채팅`,"nav.tasks":`작업`,"nav.email":`이메일`,"nav.calendar":`캘린더`,"nav.contacts":`연락처`,"nav.agents":`에이전트`,"nav.settings":`설정`,"chat.placeholder":`NHA에게 메시지…`,"chat.thinking":`생각 중…`,"chat.newChat":`새 대화`,"email.inbox":`받은편지함`,"email.compose":`작성`,"email.noEmails":`이메일 없음`,"calendar.title":`캘린더`,"calendar.newEvent":`새 이벤트`,"calendar.noEvents":`이벤트 없음`,"tasks.title":`작업`,"tasks.newTask":`새 작업`,"tasks.noTasks":`작업 없음`,"contacts.title":`연락처`,"contacts.noContacts":`연락처 없음`,"agents.title":`에이전트`,"agents.noAgents":`에이전트 없음`,"agents.orchestrator":`오케스트레이터`,"agents.orchestratorSend":`전체에게 전송`,"studio.title":`Studio`,"studio.run":`토론 시작`,"studio.running":`토론 중…`,"connectors.title":`커넥터`,"connectors.triggers":`트리거`,"connectors.newWorkflow":`새 워크플로`,"settings.title":`설정`,"settings.language":`언어`,"settings.useLiara":`NHA Free 사용`,"settings.liaraActivated":`✓ Liara 활성화됨`,"settings.apiKeySet":`✓ API 키 설정됨 — 변경하려면 새 키를 입력하세요`,"settings.saveProfile":`프로필 저장`,"settings.googleAccount":`Google 계정`,"settings.connectGoogle":`Google 연결`},ar:{"common.save":`حفظ`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`إلغاء`,"common.delete":`حذف`,"common.edit":`تعديل`,"common.add":`إضافة`,"common.loading":`جارٍ التحميل…`,"common.error":`خطأ`,"common.retry":`إعادة المحاولة`,"common.send":`إرسال`,"common.close":`إغلاق`,"common.confirm":`تأكيد`,"common.back":`رجوع`,"common.search":`بحث…`,"common.refresh":`تحديث`,"common.copy":`نسخ`,"common.copied":`تم النسخ!`,"common.connect":`اتصال`,"common.disconnect":`قطع الاتصال`,"common.yes":`نعم`,"common.no":`لا`,"common.new":`جديد`,"common.noData":`لا بيانات`,"common.today":`اليوم`,"common.name":`الاسم`,"sidebar.panoramica":`نظرة عامة`,"sidebar.integrazioni":`التكاملات`,"sidebar.ai":`الذكاء الاصطناعي`,"nav.dashboard":`لوحة التحكم`,"nav.chat":`المحادثة`,"nav.tasks":`المهام`,"nav.email":`البريد`,"nav.calendar":`التقويم`,"nav.contacts":`جهات الاتصال`,"nav.agents":`الوكلاء`,"nav.settings":`الإعدادات`,"chat.placeholder":`اكتب لـ NHA…`,"chat.thinking":`أفكر…`,"chat.newChat":`محادثة جديدة`,"email.inbox":`البريد الوارد`,"email.compose":`إنشاء`,"email.noEmails":`لا رسائل`,"calendar.title":`التقويم`,"calendar.newEvent":`حدث جديد`,"calendar.noEvents":`لا أحداث`,"tasks.title":`المهام`,"tasks.newTask":`مهمة جديدة`,"tasks.noTasks":`لا مهام`,"contacts.title":`جهات الاتصال`,"contacts.noContacts":`لا جهات اتصال`,"agents.title":`الوكلاء`,"agents.noAgents":`لا وكلاء`,"agents.orchestrator":`المنسق`,"agents.orchestratorSend":`إرسال للجميع`,"studio.title":`Studio`,"studio.run":`بدء المداولة`,"studio.running":`مداولة…`,"connectors.title":`الموصلات`,"connectors.triggers":`المشغلات`,"connectors.newWorkflow":`سير عمل جديد`,"settings.title":`الإعدادات`,"settings.language":`اللغة`,"settings.useLiara":`استخدام NHA Free`,"settings.liaraActivated":`✓ تم تفعيل Liara`,"settings.apiKeySet":`✓ مفتاح API مُعدَّل — أدخل مفتاحاً جديداً للتغيير`,"settings.saveProfile":`حفظ الملف الشخصي`,"settings.googleAccount":`حساب Google`,"settings.connectGoogle":`ربط Google`},hi:{"common.save":`सहेजें`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`रद्द करें`,"common.delete":`हटाएं`,"common.edit":`संपादित करें`,"common.add":`जोड़ें`,"common.loading":`लोड हो रहा है…`,"common.error":`त्रुटि`,"common.retry":`पुनः प्रयास करें`,"common.send":`भेजें`,"common.close":`बंद करें`,"common.confirm":`पुष्टि करें`,"common.back":`वापस`,"common.search":`खोजें…`,"common.refresh":`रीफ्रेश`,"common.copy":`कॉपी करें`,"common.copied":`कॉपी हो गया!`,"common.connect":`कनेक्ट करें`,"common.disconnect":`डिस्कनेक्ट करें`,"common.yes":`हाँ`,"common.no":`नहीं`,"common.new":`नया`,"common.noData":`कोई डेटा नहीं`,"common.today":`आज`,"common.name":`नाम`,"sidebar.panoramica":`अवलोकन`,"sidebar.integrazioni":`एकीकरण`,"sidebar.ai":`AI`,"nav.dashboard":`डैशबोर्ड`,"nav.chat":`चैट`,"nav.tasks":`कार्य`,"nav.email":`ईमेल`,"nav.calendar":`कैलेंडर`,"nav.contacts":`संपर्क`,"nav.agents":`एजेंट`,"nav.settings":`सेटिंग्स`,"chat.placeholder":`NHA को संदेश…`,"chat.thinking":`सोच रहा हूँ…`,"chat.newChat":`नई बातचीत`,"email.inbox":`इनबॉक्स`,"email.compose":`लिखें`,"email.noEmails":`कोई ईमेल नहीं`,"calendar.title":`कैलेंडर`,"calendar.newEvent":`नई घटना`,"calendar.noEvents":`कोई घटना नहीं`,"tasks.title":`कार्य`,"tasks.newTask":`नया कार्य`,"tasks.noTasks":`कोई कार्य नहीं`,"contacts.title":`संपर्क`,"contacts.noContacts":`कोई संपर्क नहीं`,"agents.title":`एजेंट`,"agents.noAgents":`कोई एजेंट नहीं`,"agents.orchestrator":`ऑर्केस्ट्रेटर`,"agents.orchestratorSend":`सभी को भेजें`,"studio.title":`Studio`,"studio.run":`विचार-विमर्श शुरू करें`,"studio.running":`विचार-विमर्श…`,"connectors.title":`कनेक्टर`,"connectors.triggers":`ट्रिगर`,"connectors.newWorkflow":`नया वर्कफ्लो`,"settings.title":`सेटिंग्स`,"settings.language":`भाषा`,"settings.useLiara":`NHA Free उपयोग करें`,"settings.liaraActivated":`✓ Liara सक्रिय`,"settings.apiKeySet":`✓ API key कॉन्फ़िगर — बदलने के लिए नई key डालें`,"settings.saveProfile":`प्रोफ़ाइल सहेजें`,"settings.googleAccount":`Google खाता`,"settings.connectGoogle":`Google कनेक्ट करें`},tr:{"common.save":`Kaydet`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`İptal`,"common.delete":`Sil`,"common.edit":`Düzenle`,"common.add":`Ekle`,"common.loading":`Yükleniyor…`,"common.error":`Hata`,"common.retry":`Tekrar dene`,"common.send":`Gönder`,"common.close":`Kapat`,"common.confirm":`Onayla`,"common.back":`Geri`,"common.search":`Ara…`,"common.refresh":`Yenile`,"common.copy":`Kopyala`,"common.copied":`Kopyalandı!`,"common.connect":`Bağlan`,"common.disconnect":`Bağlantıyı kes`,"common.yes":`Evet`,"common.no":`Hayır`,"common.new":`Yeni`,"common.noData":`Veri yok`,"common.today":`Bugün`,"common.name":`Ad`,"sidebar.panoramica":`Genel bakış`,"sidebar.integrazioni":`Entegrasyonlar`,"sidebar.ai":`YZ`,"nav.dashboard":`Gösterge paneli`,"nav.chat":`Sohbet`,"nav.tasks":`Görevler`,"nav.email":`E-posta`,"nav.calendar":`Takvim`,"nav.contacts":`Kişiler`,"nav.agents":`Ajanlar`,"nav.settings":`Ayarlar`,"chat.placeholder":`NHA'ya mesaj…`,"chat.thinking":`Düşünüyor…`,"chat.newChat":`Yeni sohbet`,"email.inbox":`Gelen kutusu`,"email.compose":`Oluştur`,"email.noEmails":`E-posta yok`,"calendar.title":`Takvim`,"calendar.newEvent":`Yeni etkinlik`,"calendar.noEvents":`Etkinlik yok`,"tasks.title":`Görevler`,"tasks.newTask":`Yeni görev`,"tasks.noTasks":`Görev yok`,"contacts.title":`Kişiler`,"contacts.noContacts":`Kişi yok`,"agents.title":`Ajanlar`,"agents.noAgents":`Ajan yok`,"agents.orchestrator":`Orkestratör`,"agents.orchestratorSend":`Hepsine gönder`,"studio.title":`Studio`,"studio.run":`Müzakereyi başlat`,"studio.running":`Müzakere ediliyor…`,"connectors.title":`Bağlayıcılar`,"connectors.triggers":`Tetikleyiciler`,"connectors.newWorkflow":`Yeni iş akışı`,"settings.title":`Ayarlar`,"settings.language":`Dil`,"settings.useLiara":`NHA Free kullan`,"settings.liaraActivated":`✓ Liara etkinleştirildi`,"settings.apiKeySet":`✓ API anahtarı yapılandırıldı — değiştirmek için yeni girin`,"settings.saveProfile":`Profili kaydet`,"settings.googleAccount":`Google hesabı`,"settings.connectGoogle":`Google'a bağlan`},sv:{"common.save":`Spara`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Avbryt`,"common.delete":`Ta bort`,"common.edit":`Redigera`,"common.add":`Lägg till`,"common.loading":`Laddar…`,"common.error":`Fel`,"common.retry":`Försök igen`,"common.send":`Skicka`,"common.close":`Stäng`,"common.confirm":`Bekräfta`,"common.back":`Tillbaka`,"common.search":`Sök…`,"common.refresh":`Uppdatera`,"common.copy":`Kopiera`,"common.copied":`Kopierat!`,"common.connect":`Anslut`,"common.disconnect":`Koppla från`,"common.yes":`Ja`,"common.no":`Nej`,"common.new":`Ny`,"common.noData":`Inga data`,"common.today":`Idag`,"common.name":`Namn`,"sidebar.panoramica":`Översikt`,"sidebar.integrazioni":`Integrationer`,"sidebar.ai":`AI`,"nav.dashboard":`Instrumentpanel`,"nav.chat":`Chatt`,"nav.tasks":`Uppgifter`,"nav.email":`E-post`,"nav.calendar":`Kalender`,"nav.contacts":`Kontakter`,"nav.agents":`Agenter`,"nav.settings":`Inställningar`,"chat.placeholder":`Meddelande till NHA…`,"chat.thinking":`Tänker…`,"chat.newChat":`Ny konversation`,"email.inbox":`Inkorgen`,"email.compose":`Skriv`,"email.noEmails":`Inga e-postmeddelanden`,"calendar.title":`Kalender`,"calendar.newEvent":`Ny händelse`,"calendar.noEvents":`Inga händelser`,"tasks.title":`Uppgifter`,"tasks.newTask":`Ny uppgift`,"tasks.noTasks":`Inga uppgifter`,"contacts.title":`Kontakter`,"contacts.noContacts":`Inga kontakter`,"agents.title":`Agenter`,"agents.noAgents":`Inga agenter`,"agents.orchestrator":`Orkestrator`,"agents.orchestratorSend":`Skicka till alla`,"studio.title":`Studio`,"studio.run":`Starta deliberation`,"studio.running":`Delibererar…`,"connectors.title":`Kopplingar`,"connectors.triggers":`Utlösare`,"connectors.newWorkflow":`Nytt arbetsflöde`,"settings.title":`Inställningar`,"settings.language":`Språk`,"settings.useLiara":`Använd NHA Free`,"settings.liaraActivated":`✓ Liara aktiverad`,"settings.apiKeySet":`✓ API-nyckel konfigurerad — ange en ny för att ändra`,"settings.saveProfile":`Spara profil`,"settings.googleAccount":`Google-konto`,"settings.connectGoogle":`Anslut Google`},da:{"common.save":`Gem`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Annuller`,"common.delete":`Slet`,"common.edit":`Rediger`,"common.add":`Tilføj`,"common.loading":`Indlæser…`,"common.error":`Fejl`,"common.retry":`Prøv igen`,"common.send":`Send`,"common.close":`Luk`,"common.confirm":`Bekræft`,"common.back":`Tilbage`,"common.search":`Søg…`,"common.refresh":`Opdater`,"common.copy":`Kopiér`,"common.copied":`Kopieret!`,"common.connect":`Tilslut`,"common.disconnect":`Afbryd`,"common.yes":`Ja`,"common.no":`Nej`,"common.new":`Ny`,"common.noData":`Ingen data`,"common.today":`I dag`,"common.name":`Navn`,"sidebar.panoramica":`Oversigt`,"sidebar.integrazioni":`Integrationer`,"sidebar.ai":`AI`,"nav.dashboard":`Dashboard`,"nav.chat":`Chat`,"nav.tasks":`Opgaver`,"nav.email":`E-mail`,"nav.calendar":`Kalender`,"nav.contacts":`Kontakter`,"nav.agents":`Agenter`,"nav.settings":`Indstillinger`,"chat.placeholder":`Besked til NHA…`,"chat.thinking":`Tænker…`,"chat.newChat":`Ny samtale`,"email.inbox":`Indbakke`,"email.compose":`Skriv`,"email.noEmails":`Ingen e-mails`,"calendar.title":`Kalender`,"calendar.newEvent":`Nyt arrangement`,"calendar.noEvents":`Ingen arrangementer`,"tasks.title":`Opgaver`,"tasks.newTask":`Ny opgave`,"tasks.noTasks":`Ingen opgaver`,"contacts.title":`Kontakter`,"contacts.noContacts":`Ingen kontakter`,"agents.title":`Agenter`,"agents.noAgents":`Ingen agenter`,"agents.orchestrator":`Orkestrering`,"agents.orchestratorSend":`Send til alle`,"studio.title":`Studio`,"studio.run":`Start deliberation`,"studio.running":`Delibererer…`,"connectors.title":`Forbindelser`,"connectors.triggers":`Udløsere`,"connectors.newWorkflow":`Nyt workflow`,"settings.title":`Indstillinger`,"settings.language":`Sprog`,"settings.useLiara":`Brug NHA Free`,"settings.liaraActivated":`✓ Liara aktiveret`,"settings.apiKeySet":`✓ API-nøgle konfigureret — indtast en ny for at ændre`,"settings.saveProfile":`Gem profil`,"settings.googleAccount":`Google-konto`,"settings.connectGoogle":`Tilslut Google`},fi:{"common.save":`Tallenna`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Peruuta`,"common.delete":`Poista`,"common.edit":`Muokkaa`,"common.add":`Lisää`,"common.loading":`Ladataan…`,"common.error":`Virhe`,"common.retry":`Yritä uudelleen`,"common.send":`Lähetä`,"common.close":`Sulje`,"common.confirm":`Vahvista`,"common.back":`Takaisin`,"common.search":`Hae…`,"common.refresh":`Päivitä`,"common.copy":`Kopioi`,"common.copied":`Kopioitu!`,"common.connect":`Yhdistä`,"common.disconnect":`Katkaise yhteys`,"common.yes":`Kyllä`,"common.no":`Ei`,"common.new":`Uusi`,"common.noData":`Ei tietoja`,"common.today":`Tänään`,"common.name":`Nimi`,"sidebar.panoramica":`Yleiskatsaus`,"sidebar.integrazioni":`Integraatiot`,"sidebar.ai":`AI`,"nav.dashboard":`Kojelauta`,"nav.chat":`Chat`,"nav.tasks":`Tehtävät`,"nav.email":`Sähköposti`,"nav.calendar":`Kalenteri`,"nav.contacts":`Yhteystiedot`,"nav.agents":`Agentit`,"nav.settings":`Asetukset`,"chat.placeholder":`Viesti NHA:lle…`,"chat.thinking":`Mietitään…`,"chat.newChat":`Uusi keskustelu`,"email.inbox":`Saapuneet`,"email.compose":`Kirjoita`,"email.noEmails":`Ei sähköposteja`,"calendar.title":`Kalenteri`,"calendar.newEvent":`Uusi tapahtuma`,"calendar.noEvents":`Ei tapahtumia`,"tasks.title":`Tehtävät`,"tasks.newTask":`Uusi tehtävä`,"tasks.noTasks":`Ei tehtäviä`,"contacts.title":`Yhteystiedot`,"contacts.noContacts":`Ei yhteystietoja`,"agents.title":`Agentit`,"agents.noAgents":`Ei agentteja`,"agents.orchestrator":`Orkestraattori`,"agents.orchestratorSend":`Lähetä kaikille`,"studio.title":`Studio`,"studio.run":`Aloita deliberaatio`,"studio.running":`Deliberaatio…`,"connectors.title":`Yhdistimet`,"connectors.triggers":`Laukaisijat`,"connectors.newWorkflow":`Uusi työnkulku`,"settings.title":`Asetukset`,"settings.language":`Kieli`,"settings.useLiara":`Käytä NHA Freeä`,"settings.liaraActivated":`✓ Liara aktivoitu`,"settings.apiKeySet":`✓ API-avain määritetty — syötä uusi vaihtaaksesi`,"settings.saveProfile":`Tallenna profiili`,"settings.googleAccount":`Google-tili`,"settings.connectGoogle":`Yhdistä Google`},cs:{"common.save":`Uložit`,"common.saving":`…`,"common.saved":`✓`,"common.cancel":`Zrušit`,"common.delete":`Smazat`,"common.edit":`Upravit`,"common.add":`Přidat`,"common.loading":`Načítání…`,"common.error":`Chyba`,"common.retry":`Zkusit znovu`,"common.send":`Odeslat`,"common.close":`Zavřít`,"common.confirm":`Potvrdit`,"common.back":`Zpět`,"common.search":`Hledat…`,"common.refresh":`Obnovit`,"common.copy":`Kopírovat`,"common.copied":`Zkopírováno!`,"common.connect":`Připojit`,"common.disconnect":`Odpojit`,"common.yes":`Ano`,"common.no":`Ne`,"common.new":`Nový`,"common.noData":`Žádná data`,"common.today":`Dnes`,"common.name":`Název`,"sidebar.panoramica":`Přehled`,"sidebar.integrazioni":`Integrace`,"sidebar.ai":`AI`,"nav.dashboard":`Přehled`,"nav.chat":`Chat`,"nav.tasks":`Úkoly`,"nav.email":`E-mail`,"nav.calendar":`Kalendář`,"nav.contacts":`Kontakty`,"nav.agents":`Agenti`,"nav.settings":`Nastavení`,"chat.placeholder":`Zpráva pro NHA…`,"chat.thinking":`Přemýšlím…`,"chat.newChat":`Nová konverzace`,"email.inbox":`Doručená pošta`,"email.compose":`Napsat`,"email.noEmails":`Žádné e-maily`,"calendar.title":`Kalendář`,"calendar.newEvent":`Nová událost`,"calendar.noEvents":`Žádné události`,"tasks.title":`Úkoly`,"tasks.newTask":`Nový úkol`,"tasks.noTasks":`Žádné úkoly`,"contacts.title":`Kontakty`,"contacts.noContacts":`Žádné kontakty`,"agents.title":`Agenti`,"agents.noAgents":`Žádní agenti`,"agents.orchestrator":`Orchestrátor`,"agents.orchestratorSend":`Odeslat všem`,"studio.title":`Studio`,"studio.run":`Zahájit deliberaci`,"studio.running":`Deliberace…`,"connectors.title":`Konektory`,"connectors.triggers":`Spouštěče`,"connectors.newWorkflow":`Nový workflow`,"settings.title":`Nastavení`,"settings.language":`Jazyk`,"settings.useLiara":`Použít NHA Free`,"settings.liaraActivated":`✓ Liara aktivována`,"settings.apiKeySet":`✓ API klíč nastaven — zadejte nový pro změnu`,"settings.saveProfile":`Uložit profil`,"settings.googleAccount":`Účet Google`,"settings.connectGoogle":`Připojit Google`}};function P(e,t,n){let r=(se[e]??N)[t]??N[t]??t;if(n)for(let[e,t]of Object.entries(n))r=r.replace(RegExp(`\\{${e}\\}`,`g`),String(t));return r}function F(){let e=ne(e=>e.config?.lang??`en`);return(0,_.useMemo)(()=>(t,n)=>P(e,t,n),[e])}var I={root:`_root_1swo9_1`,main:`_main_1swo9_7`,topbar:`_topbar_1swo9_15`,burger:`_burger_1swo9_26`,viewTitle:`_viewTitle_1swo9_45`,content:`_content_1swo9_53`,wsIndicator:`_wsIndicator_1swo9_62`,wsDot:`_wsDot_1swo9_70`,wsDotOnline:`_wsDotOnline_1swo9_78`,wsOnlinePulse:`_wsOnlinePulse_1swo9_1`,wsDotConnecting:`_wsDotConnecting_1swo9_84`,wsConnectingBlink:`_wsConnectingBlink_1swo9_1`,wsDotOffline:`_wsDotOffline_1swo9_89`,wsLabel:`_wsLabel_1swo9_105`},ce={dashboard:`dashboard.title`,chat:`chat.placeholder`,studio:`studio.title`,webcraft:`webcraft.title`,collab:`collab.title`,agents:`agents.title`,connectors:`connectors.title`,email:`email.inbox`,calendar:`calendar.title`,tasks:`tasks.title`,contacts:`contacts.title`,notes:`notes.title`,reminders:`reminders.title`,birthdays:`birthdays.title`,plan:`plan.title`,drive:`drive.title`,onedrive:`onedrive.title`,mstodo:`mstodo.title`,github:`github.title`,slack:`slack.title`,notion:`notion.title`,maps:`maps.title`,cron:`cron.title`,screen:`screen.title`,settings:`settings.title`},le={dashboard:`Dashboard`,chat:`Chat`,studio:`Studio`,webcraft:`WebCraft`,collab:`Alexandria`,agents:`Agents`,connectors:`Connectors`,email:`Email`,calendar:`Calendar`,tasks:`Tasks`,contacts:`Contacts`,notes:`Notes`,reminders:`Reminders`,birthdays:`Birthdays`,plan:`Daily Plan`,drive:`Drive`,onedrive:`OneDrive`,mstodo:`MS Todo`,github:`GitHub`,slack:`Slack`,notion:`Notion`,maps:`Maps`,cron:`Cron`,screen:`Screen`,settings:`Settings`};function ue({children:e}){let{activeView:t,toggleSidebar:n,setConfig:r}=ne(),i=oe(),a=F();(0,_.useEffect)(()=>{E(`/api/config`).then(e=>{e&&r(e)}).catch(()=>{})},[r]);let o=ce[t],s=o?a(o):le[t]??t;return(0,A.jsxs)(`div`,{className:I.root,children:[(0,A.jsx)(ae,{}),(0,A.jsxs)(`div`,{className:I.main,children:[(0,A.jsxs)(`header`,{className:I.topbar,children:[(0,A.jsxs)(`button`,{className:I.burger,onClick:n,"aria-label":`Menu`,children:[(0,A.jsx)(`span`,{}),(0,A.jsx)(`span`,{}),(0,A.jsx)(`span`,{})]}),(0,A.jsx)(`span`,{className:I.viewTitle,children:s}),(0,A.jsx)(`span`,{style:{flex:1}}),(0,A.jsxs)(`div`,{className:I.wsIndicator,title:a(i===`connected`?`common.connected`:i===`connecting`?`common.loading`:`common.disconnected`),children:[(0,A.jsx)(`span`,{className:`${I.wsDot} ${i===`connected`?I.wsDotOnline:i===`connecting`?I.wsDotConnecting:I.wsDotOffline}`}),(0,A.jsx)(`span`,{className:I.wsLabel,children:a(i===`connected`?`common.connected`:i===`connecting`?`common.loading`:`common.disconnected`)})]})]}),(0,A.jsx)(`main`,{className:I.content,id:`main-content`,children:e})]})]})}function de(e){if(!e)return``;let t=e.split(`
|
|
11
|
+
`),n=``,r=!1,i=!1,a=!1,o=!1,s=!1,c=``;function l(){r&&=(n+=`</ul>`,!1),i&&=(n+=`</ol>`,!1),o&&=(s&&=(n+=`</tbody>`,!1),n+=`</table>`,!1)}function u(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}function d(e){return e=u(e),e=e.replace(/\*\*([^*]+)\*\*/g,`<strong>$1</strong>`),e=e.replace(/\*([^*]+)\*/g,`<em>$1</em>`),e=e.replace(/~~([^~]+)~~/g,`<del>$1</del>`),e=e.replace(/`([^`]+)`/g,`<code>$1</code>`),e=e.replace(/\[([^\]]+)\]\(([^)]+)\)/g,`<a href="$2" target="_blank" rel="noopener">$1</a>`),e}for(let e=0;e<t.length;e++){let f=t[e],p=f.trim();if(p.startsWith("```")){if(a)n+=u(c)+`</code></pre>`,a=!1,c=``;else{l(),a=!0,c=``;let e=p.slice(3).trim();n+=`<pre><code${e?` class="language-${u(e)}"`:``}>`}continue}if(a){c+=f+`
|
|
12
|
+
`;continue}if(p.startsWith(`#### `)){l(),n+=`<h4>${d(p.slice(5))}</h4>`;continue}if(p.startsWith(`### `)){l(),n+=`<h3>${d(p.slice(4))}</h3>`;continue}if(p.startsWith(`## `)){l(),n+=`<h2>${d(p.slice(3))}</h2>`;continue}if(p.startsWith(`# `)){l(),n+=`<h1>${d(p.slice(2))}</h1>`;continue}if(/^---+$/.test(p)){l(),n+=`<hr>`;continue}if(p.charAt(0)===`|`&&p.lastIndexOf(`|`)>0){if(/^\|[\s\-|:]+\|$/.test(p)){o&&(n+=`</thead><tbody>`,s=!0);continue}let r=p.split(`|`).slice(1,-1).map(e=>d(e.trim())),i=t[e+1]?.trim()??``,a=/^\|[\s\-|:]+\|$/.test(i);o||(n+=`<table>`,o=!0,a?(n+=`<thead>`,s=!1):(n+=`<tbody>`,s=!0));let c=s?`td`:`th`;n+=`<tr>`+r.map(e=>`<${c}>${e}</${c}>`).join(``)+`</tr>`;continue}if(o&&=(s&&=(n+=`</tbody>`,!1),n+=`</table>`,!1),/^[-*] /.test(p)){i&&=(n+=`</ol>`,!1),r||=(n+=`<ul>`,!0),n+=`<li>${d(p.slice(2))}</li>`;continue}let m=p.match(/^(\d+)\. (.+)/);if(m){r&&=(n+=`</ul>`,!1),i||=(n+=`<ol>`,!0),n+=`<li>${d(m[2])}</li>`;continue}if(r&&=(n+=`</ul>`,!1),i&&=(n+=`</ol>`,!1),p===``){n+=`<div style="height:6px"></div>`;continue}n+=`<p>${d(p)}</p>`}return l(),n}var L={root:`_root_npowj_1`,convSidebar:`_convSidebar_npowj_8`,convSidebarHeader:`_convSidebarHeader_npowj_18`,newConvBtn:`_newConvBtn_npowj_23`,convList:`_convList_npowj_36`,convItem:`_convItem_npowj_41`,convItemActive:`_convItemActive_npowj_48`,convTitle:`_convTitle_npowj_53`,convMeta:`_convMeta_npowj_61`,convDelete:`_convDelete_npowj_69`,chatMain:`_chatMain_npowj_76`,chatToolbar:`_chatToolbar_npowj_85`,convTitleBar:`_convTitleBar_npowj_94`,toolbarBtn:`_toolbarBtn_npowj_103`,toolbarBtnDim:`_toolbarBtnDim_npowj_116`,toolbarBtnCanvas:`_toolbarBtnCanvas_npowj_128`,messages:`_messages_npowj_137`,empty:`_empty_npowj_146`,emptyIcon:`_emptyIcon_npowj_158`,emptyTitle:`_emptyTitle_npowj_159`,emptySub:`_emptySub_npowj_160`,emptyHint:`_emptyHint_npowj_161`,suggGroups:`_suggGroups_npowj_163`,suggGroup:`_suggGroup_npowj_163`,suggGroupTitle:`_suggGroupTitle_npowj_165`,suggBtns:`_suggBtns_npowj_166`,suggBtn:`_suggBtn_npowj_166`,message:`_message_npowj_137`,user:`_user_npowj_178`,assistant:`_assistant_npowj_179`,msgLabel:`_msgLabel_npowj_181`,bubble:`_bubble_npowj_188`,sentinelBubble:`_sentinelBubble_npowj_211`,cursor:`_cursor_npowj_216`,blink:`_blink_npowj_1`,msgActions:`_msgActions_npowj_231`,msgActionBtn:`_msgActionBtn_npowj_240`,editBox:`_editBox_npowj_252`,editInput:`_editInput_npowj_259`,editActions:`_editActions_npowj_272`,editSaveBtn:`_editSaveBtn_npowj_273`,editCancelBtn:`_editCancelBtn_npowj_277`,toolActivity:`_toolActivity_npowj_284`,toolActivityItem:`_toolActivityItem_npowj_290`,active:`_active_npowj_303`,toolPulse:`_toolPulse_npowj_1`,done:`_done_npowj_308`,error:`_error_npowj_309`,thinkingIndicator:`_thinkingIndicator_npowj_317`,thinkingDots:`_thinkingDots_npowj_331`,thinkingDot:`_thinkingDot_npowj_331`,thinkBounce:`_thinkBounce_npowj_1`,attachBar:`_attachBar_npowj_349`,attachClear:`_attachClear_npowj_360`,inputBar:`_inputBar_npowj_371`,inputTools:`_inputTools_npowj_381`,iconBtn:`_iconBtn_npowj_387`,iconBtnActive:`_iconBtnActive_npowj_398`,thinkBtn:`_thinkBtn_npowj_400`,thinkBtnOn:`_thinkBtnOn_npowj_412`,inputRow:`_inputRow_npowj_417`,input:`_input_npowj_371`,btn:`_btn_npowj_436`,send:`_send_npowj_447`,stop:`_stop_npowj_454`,canvasPanel:`_canvasPanel_npowj_461`,canvasPanelHeader:`_canvasPanelHeader_npowj_476`,canvasPanelActions:`_canvasPanelActions_npowj_488`,canvasPanelBtn:`_canvasPanelBtn_npowj_494`,canvasPanelClose:`_canvasPanelClose_npowj_505`,canvasFrame:`_canvasFrame_npowj_516`},fe={body:`_body_ctbrf_4`,mdCursorBlink:`_mdCursorBlink_ctbrf_1`,compact:`_compact_ctbrf_197`};function pe(e){let t=e.replace(/```(?:json|tool|data|xml|csv)[^\n]*\n[\s\S]*?```/g,``).replace(/```[^\n]*\n\s*[{\[]([\s\S]*?)```/g,``).replace(/^```\s*$/gm,``),n=``,r=0,i=!1;for(let e=0;e<t.length;e++){let a=t[e];a===`{`&&(r++,r===1&&/"action"\s*:/.test(t.slice(e,e+80))&&(i=!0)),i||(n+=a),a===`}`&&(r=Math.max(0,r-1),i&&r===0&&(i=!1))}return n.replace(/\n{3,}/g,`
|
|
13
|
+
|
|
14
|
+
`).trim()}var me={browser_open:`Opening page`,browser_screenshot:`Taking screenshot`,browser_click:`Clicking element`,browser_type:`Typing text`,browser_extract:`Extracting content`,browser_js:`Running JavaScript`,browser_wait:`Waiting for element`,browser_scroll:`Scrolling page`,browser_key:`Pressing key`,browser_close:`Closing browser`,web_search:`Searching the web`,fetch_url:`Fetching URL`,gmail_list:`Searching emails`,gmail_read:`Reading email`,gmail_send:`Sending email`,calendar_today:`Loading calendar`,calendar_create:`Creating event`};function he(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(null),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(()=>localStorage.getItem(`nha_conv_sidebar`)!==`hidden`),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(!1),p=(0,_.useRef)(null),[m,h]=(0,_.useState)(null),[g,v]=(0,_.useState)(null),y=(0,_.useRef)(null),b=(0,_.useRef)(null),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)(!1),ee=(0,_.useRef)(null),[te,T]=(0,_.useState)(null),[re,k]=(0,_.useState)(!1),[ie,j]=(0,_.useState)(null),[M,ae]=(0,_.useState)(``),[oe,N]=(0,_.useState)([]),[se,P]=(0,_.useState)(!1),[I,ce]=(0,_.useState)(!1),le=(0,_.useRef)(null),ue=(0,_.useRef)(null),he=(0,_.useRef)(null);(0,_.useEffect)(()=>{le.current?.scrollIntoView({behavior:`smooth`})},[a]),(0,_.useEffect)(()=>{E(`/api/config`).then(e=>{e&&(e.thinking===!0||e.thinking===`on`||e.thinking===`true`)&&S(!0)}),R().then(e=>{e&&e.length>0?ge(e[0].id):_e()});try{let e=sessionStorage.getItem(`nha_chat_prefill`)??sessionStorage.getItem(`nha_studio_import`);e&&(u(e),sessionStorage.removeItem(`nha_chat_prefill`),sessionStorage.removeItem(`nha_studio_import`),setTimeout(()=>ue.current?.focus(),100))}catch{}},[]);let R=(0,_.useCallback)(async()=>{let e=(await E(`/api/conversations`))?.conversations??[];return n(e),e},[]),ge=(0,_.useCallback)(async e=>{let t=await E(`/api/conversations/${e}`);t?.conversation&&(i(t.conversation.id),o(t.conversation.messages??[]))},[]),_e=(0,_.useCallback)(async()=>{let e=await D(`/api/conversations`,{});e?.conversation&&(i(e.conversation.id),o([]),R())},[R]),ve=(0,_.useCallback)(async e=>{let t=ne.getState().apiBase;await fetch(`${t}/api/conversations/${e}`,{method:`DELETE`}),R().then(t=>{e===r&&(t.length>0?ge(t[0].id):_e())})},[r,R,ge,_e]),ye=()=>{r&&window.open(`/api/conversations/${r}/export?format=md`,`_blank`)},be=()=>{let e=!x;S(e),D(`/api/config`,{key:`thinking`,value:e?`on`:`off`}).catch(()=>{})},xe=()=>{c(e=>{let t=!e;return localStorage.setItem(`nha_conv_sidebar`,t?`visible`:`hidden`),t})},Se=e=>{let t=e.target.files?.[0];if(!t)return;let n=t.name.toLowerCase().endsWith(`.pdf`)||t.type===`application/pdf`,r=new FileReader;n?(r.onload=e=>{let n=(e.target?.result).split(`,`)[1];h({name:t.name,size:t.size,base64:n,mimeType:`application/pdf`,isPDF:!0}),v(null)},r.readAsDataURL(t)):(r.onload=e=>{h({name:t.name,size:t.size,content:e.target?.result}),v(null)},r.readAsText(t))},Ce=e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=e=>{let n=(e.target?.result).split(`,`)[1];v({name:t.name,size:t.size,base64:n,mimeType:t.type||`image/jpeg`}),h(null)},n.readAsDataURL(t)},we=()=>{h(null),v(null),y.current&&(y.current.value=``),b.current&&(b.current.value=``)},Te=m?`[file] ${m.name} (${Math.round(m.size/1024)}KB)`:g?`[img] ${g.name} (${Math.round(g.size/1024)}KB)`:null,Ee=()=>{let e=window.SpeechRecognition??window.webkitSpeechRecognition;if(!e){alert(`Speech recognition not supported in this browser.`);return}if(C&&ee.current){ee.current.stop(),w(!1);return}let t=new e;ee.current=t,t.lang=`it-IT`,t.continuous=!1,t.interimResults=!1,t.onresult=e=>{let t=e.results[0][0].transcript;u(e=>e?e+` `+t:t)},t.onend=()=>w(!1),t.onerror=()=>w(!1),t.start(),w(!0)},De=(0,_.useCallback)(async()=>{let t=l.trim(),n=!!(m||g);if(!t&&!n||d)return;let i={role:`user`,content:m?(t?t+` `:``)+`[File: ${m.name}]`:g?(t?t+` `:``)+`[Image: ${g.name}]`:t};if(o(e=>[...e,i]),u(``),n){let n={message:t||`Analyze this attachment`,history:a.map(e=>({role:e.role,content:e.content}))};m?.isPDF&&m.base64?(n.pdfBase64=m.base64,n.pdfName=m.name):m?.content&&(n.fileContent=m.content,n.fileName=m.name),g?.base64&&(n.imageBase64=g.base64,n.imageMimeType=g.mimeType),we(),o(t=>[...t,{role:`assistant`,content:e(`chat.thinking`),streaming:!0}]),f(!0);try{let e=await D(`/api/chat`,n);o(t=>{let n=[...t],r=n[n.length-1];return r?.role===`assistant`&&(n[n.length-1]={...r,content:e?.response??(e?.error?`Error: `+e.error:`Error`),streaming:!1}),n}),R()}catch(e){o(t=>{let n=[...t],r=n[n.length-1];return r?.role===`assistant`&&(n[n.length-1]={...r,content:`Error: `+e.message,streaming:!1}),n})}finally{f(!1)}return}we(),f(!0),N([]),P(!1),ce(!0);let s=new AbortController;p.current=s,o(e=>[...e,{role:`assistant`,content:``,streaming:!0}]);let c=a.map(e=>({role:e.role,content:e.content})),h;if(c.length>10){let e=c.slice(0,c.length-10);h=[{role:`user`,content:e.reduce((t,n,r)=>n.role===`user`?t+`\nUser: ${n.content.slice(0,120)}`:r>0&&e[r-1]?.role===`user`?t+` → ${n.content.slice(0,150)}`:t,`[Earlier conversation summary]:`)},{role:`assistant`,content:`Understood, I have context from our earlier conversation.`},...c.slice(-10)]}else h=c;try{let e=``,n=!1;await O(`/api/chat/stream`,{message:t,history:h,conversationId:r},t=>{if(t.type===`processing`&&ce(!0),t.type===`token`&&typeof t.data.content==`string`){ce(!1),n&&e===``&&o(e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&(t[t.length-1]={...n,content:``}),t}),e+=t.data.content;let r=e,i=r.includes(`<think>`)&&!r.includes(`</think>`);if(P(i),i)return;r=pe(r.replace(/<think>[\s\S]*?<\/think>/g,``)),o(e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&(t[t.length-1]={...n,content:r}),t})}if(t.type===`tool`){let n=t.data.action,r=t.data.status,i=me[n]??n,a=r===`executing`?`active`:r===`error`?`error`:`done`;N(e=>{let t=e.findIndex(e=>e.action===n&&e.status===`active`);if(t>=0){let r=[...e];return r[t]={action:n,label:i,status:a},r}return[...e,{action:n,label:i,status:a}]}),r===`executing`&&(e=pe(e))}if(t.type===`tool_synthesis`&&(e=``,n=!0,P(!1),ce(!0)),t.type===`canvas`&&typeof t.data.markers==`string`){let e=t.data.markers.match(/\[CANVAS_RENDER\]([\s\S]*?)\[\/CANVAS_RENDER\]/);if(e)try{T(JSON.parse(e[1]).html),k(!0)}catch{}}if(t.type===`done`){P(!1),ce(!1),N(e=>e.map(e=>e.status===`active`?{...e,status:`done`}:e));let n=t.data.content,r=!!t.data.__sentinel_blocked,i=(n??e).replace(/<think>[\s\S]*?<\/think>/g,``),a=i.match(/\[CANVAS_RENDER\]([\s\S]*?)\[\/CANVAS_RENDER\]/);if(a)try{T(JSON.parse(a[1]).html),k(!0)}catch{T(a[1]),k(!0)}if(!a){let e=i.match(/```html\n([\s\S]*?)```/);e&&e[1].includes(`<`)&&(T(e[1]),k(!0))}let s=pe(i.replace(/\[CANVAS_RENDER\][\s\S]*?\[\/CANVAS_RENDER\]/g,``).replace(/```html[\s\S]*?```/g,`[Canvas HTML — click Panel to view]`));o(r?e=>{let t=[...e],n=t.findIndex((e,n)=>n===t.length-1&&e.role===`assistant`);return n>=0&&(t[n]={role:`assistant`,content:s||`Message blocked by SENTINEL.`,sentinelBlocked:!0,streaming:!1}),t}:e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&(t[t.length-1]={...n,content:s,streaming:!1}),t}),R()}t.type===`error`&&o(e=>{let n=[...e],r=n[n.length-1];return r?.role===`assistant`&&(n[n.length-1]={...r,content:`Error: `+(t.data.message??`Unknown`),streaming:!1}),n})},s.signal)}catch(e){e.name!==`AbortError`&&o(e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&(t[t.length-1]={...n,content:n.content||`Error connecting to server.`,streaming:!1}),t})}finally{P(!1),ce(!1),o(e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&n.streaming&&(t[t.length-1]={...n,streaming:!1}),t}),f(!1),p.current=null,setTimeout(()=>N([]),2e3)}},[l,a,d,m,g,r,R]),Oe=()=>{p.current?.abort(),f(!1)},ke=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),De())},Ae=e=>{navigator.clipboard.writeText(e.replace(/\[CANVAS_RENDER\][\s\S]*?\[\/CANVAS_RENDER\]/g,``).trim()).catch(()=>{})},je=(0,_.useCallback)(async t=>{if(d)return;let n=t-1;if(n<0||a[n]?.role!==`user`)return;let i=a[n],s=a.slice(0,n).map(e=>({role:e.role,content:e.content}));o(e=>{let n=[...e];return n[t]={role:`assistant`,content:``,streaming:!0},n.slice(0,t+1)}),f(!0);let c=new AbortController;p.current=c;let l=``;try{await O(`/api/chat/stream`,{message:i.content,history:s,conversationId:r},t=>{if(t.type===`token`&&typeof t.data.content==`string`){l+=t.data.content;let n=l;n=n.includes(`<think>`)&&!n.includes(`</think>`)?`💭 `+e(`chat.thinking`):pe(n.replace(/<think>[\s\S]*?<\/think>/g,``)),o(e=>{let t=[...e],r=t[t.length-1];return r?.role===`assistant`&&(t[t.length-1]={...r,content:n}),t})}if(t.type===`tool_synthesis`&&(l=``,o(e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&(t[t.length-1]={...n,content:``}),t})),t.type===`done`){let e=pe((t.data.content??l).replace(/<think>[\s\S]*?<\/think>/g,``));o(t=>{let n=[...t],r=n[n.length-1];return r?.role===`assistant`&&(n[n.length-1]={...r,content:e,streaming:!1}),n}),R()}},c.signal)}catch{}finally{f(!1),p.current=null}},[d,a,r,R,e]),Me=e=>{d||(j(e),ae(a[e].content))},Ne=(0,_.useCallback)(async()=>{if(ie===null)return;let t=M.trim();if(!t)return;let n=a.slice(0,ie).map(e=>({role:e.role,content:e.content}));o(e=>{let n=e.slice(0,ie);return n.push({role:`user`,content:t}),n.push({role:`assistant`,content:``,streaming:!0}),n}),j(null),ae(``),f(!0);let i=new AbortController;p.current=i;let s=``;try{await O(`/api/chat/stream`,{message:t,history:n,conversationId:r},t=>{if(t.type===`token`&&typeof t.data.content==`string`){s+=t.data.content;let n=s;n=n.includes(`<think>`)&&!n.includes(`</think>`)?`💭 `+e(`chat.thinking`):pe(n.replace(/<think>[\s\S]*?<\/think>/g,``)),o(e=>{let t=[...e],r=t[t.length-1];return r?.role===`assistant`&&(t[t.length-1]={...r,content:n}),t})}if(t.type===`tool_synthesis`&&(s=``,o(e=>{let t=[...e],n=t[t.length-1];return n?.role===`assistant`&&(t[t.length-1]={...n,content:``}),t})),t.type===`done`){let e=pe((t.data.content??s).replace(/<think>[\s\S]*?<\/think>/g,``));o(t=>{let n=[...t],r=n[n.length-1];return r?.role===`assistant`&&(n[n.length-1]={...r,content:e,streaming:!1}),n}),R()}},i.signal)}catch{}finally{f(!1),p.current=null}},[ie,M,a,r,R,e]);return(0,A.jsxs)(`div`,{className:L.root,children:[s&&(0,A.jsxs)(`div`,{className:L.convSidebar,children:[(0,A.jsx)(`div`,{className:L.convSidebarHeader,children:(0,A.jsxs)(`button`,{className:L.newConvBtn,onClick:_e,children:[`+ `,e(`chat.newChat`)]})}),(0,A.jsx)(`div`,{className:L.convList,children:t.map(t=>{let n=Math.floor(t.messageCount/2),i=t.id===r;return(0,A.jsxs)(`div`,{className:`${L.convItem} ${i?L.convItemActive:``}`,onClick:()=>ge(t.id),children:[(0,A.jsx)(`div`,{className:L.convTitle,children:t.title||e(`chat.newChat`)}),(0,A.jsxs)(`div`,{className:L.convMeta,children:[(0,A.jsxs)(`span`,{children:[n,` turns`]}),!i&&(0,A.jsx)(`span`,{className:L.convDelete,onClick:e=>{e.stopPropagation(),ve(t.id)},children:`del`})]})]},t.id)})})]}),(0,A.jsxs)(`div`,{className:L.chatMain,children:[(0,A.jsxs)(`div`,{className:L.chatToolbar,children:[(0,A.jsx)(`button`,{className:L.toolbarBtn,onClick:xe,title:`Toggle conversations`,children:`💬 Chats`}),(0,A.jsx)(`span`,{className:L.convTitleBar,children:t.find(e=>e.id===r)?.title||e(`chat.newChat`)}),(0,A.jsx)(`button`,{className:L.toolbarBtn,onClick:_e,children:`+ New`}),(0,A.jsx)(`button`,{className:L.toolbarBtnDim,onClick:ye,title:`Export Markdown`,children:`Export`}),te&&(0,A.jsx)(`button`,{className:`${L.toolbarBtn} ${L.toolbarBtnCanvas}`,onClick:()=>k(e=>!e),title:`Toggle canvas panel`,children:re?`▣ Panel ✕`:`▣ Panel`})]}),(0,A.jsxs)(`div`,{className:L.messages,ref:he,children:[a.length===0&&(0,A.jsxs)(`div`,{className:L.empty,children:[(0,A.jsx)(`div`,{className:L.emptyIcon,children:`💬`}),(0,A.jsx)(`div`,{className:L.emptyTitle,children:`NHA Chat`}),(0,A.jsx)(`div`,{className:L.emptySub,children:`Personal Operations Assistant · 80 Tools · 38 Agents · Free AI`}),(0,A.jsxs)(`div`,{className:L.suggGroups,children:[(0,A.jsxs)(`div`,{className:L.suggGroup,children:[(0,A.jsx)(`div`,{className:L.suggGroupTitle,children:`⚡ Quick Actions`}),(0,A.jsx)(`div`,{className:L.suggBtns,children:[`Show my unread emails and summarize the most important ones`,`What's on my calendar today? Any meetings I need to prepare for?`,`List my pending tasks sorted by priority`,`Check my GitHub notifications and summarize open issues`].map(e=>(0,A.jsx)(`button`,{className:L.suggBtn,onClick:()=>u(e),children:e},e))})]}),(0,A.jsxs)(`div`,{className:L.suggGroup,children:[(0,A.jsx)(`div`,{className:L.suggGroupTitle,children:`🌐 Web & Research`}),(0,A.jsx)(`div`,{className:L.suggBtns,children:[`Search the web for the latest AI news and summarize the top 5 stories`,`Open google.com and take a screenshot of the homepage`,`Search for the best restaurants near me and create a summary`,`Research the latest developments in quantum computing and write a report`].map(e=>(0,A.jsx)(`button`,{className:L.suggBtn,onClick:()=>u(e),children:e},e))})]}),(0,A.jsxs)(`div`,{className:L.suggGroup,children:[(0,A.jsx)(`div`,{className:L.suggGroupTitle,children:`🛠️ Productivity`}),(0,A.jsx)(`div`,{className:L.suggBtns,children:[`Draft a professional reply to my last email`,`Create a new calendar event for tomorrow at 10am with reminder`,`Summarize my notes and create a to-do list from action items`,`Find contacts named Mario and show their details`].map(e=>(0,A.jsx)(`button`,{className:L.suggBtn,onClick:()=>u(e),children:e},e))})]}),(0,A.jsxs)(`div`,{className:L.suggGroup,children:[(0,A.jsx)(`div`,{className:L.suggGroupTitle,children:`📈 Finance`}),(0,A.jsx)(`div`,{className:L.suggBtns,children:[`What is the current price of Bitcoin and its 24h performance?`,`Analyze the current macro environment and suggest 3 trading opportunities`,`What is the current market regime? Risk-on or risk-off?`,`Give me a technical analysis of AAPL with key support/resistance levels`].map(e=>(0,A.jsx)(`button`,{className:L.suggBtn,onClick:()=>u(e),children:e},e))})]})]})]}),a.map((e,t)=>(0,A.jsxs)(`div`,{className:`${L.message} ${L[e.role]}`,children:[(0,A.jsx)(`div`,{className:L.msgLabel,children:e.role===`user`?`You`:`NHA`}),e.role===`assistant`&&e.streaming&&(0,A.jsxs)(`div`,{className:L.toolActivity,children:[(I||e.content===``&&!se&&oe.length===0)&&(0,A.jsxs)(`div`,{className:L.thinkingIndicator,children:[(0,A.jsxs)(`div`,{className:L.thinkingDots,children:[(0,A.jsx)(`div`,{className:L.thinkingDot}),(0,A.jsx)(`div`,{className:L.thinkingDot}),(0,A.jsx)(`div`,{className:L.thinkingDot})]}),se?`Deep thinking...`:`Generating...`]}),se&&!I&&(0,A.jsxs)(`div`,{className:L.thinkingIndicator,children:[(0,A.jsxs)(`div`,{className:L.thinkingDots,children:[(0,A.jsx)(`div`,{className:L.thinkingDot}),(0,A.jsx)(`div`,{className:L.thinkingDot}),(0,A.jsx)(`div`,{className:L.thinkingDot})]}),`Deep thinking...`]}),oe.map((e,t)=>(0,A.jsxs)(`div`,{className:`${L.toolActivityItem} ${L[e.status]}`,children:[e.status===`active`?`⏳`:e.status===`error`?`❌`:`✅`,` `,e.label,e.status===`active`&&`...`]},t))]}),e.role===`user`&&ie===t?(0,A.jsxs)(`div`,{className:L.editBox,children:[(0,A.jsx)(`textarea`,{className:L.editInput,value:M,onChange:e=>ae(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Ne()),e.key===`Escape`&&j(null)},autoFocus:!0,rows:3}),(0,A.jsxs)(`div`,{className:L.editActions,children:[(0,A.jsx)(`button`,{className:L.editSaveBtn,onClick:Ne,children:`Send ↵`}),(0,A.jsx)(`button`,{className:L.editCancelBtn,onClick:()=>j(null),children:`Cancel`})]})]}):e.role===`assistant`?e.content!==``&&(0,A.jsx)(`div`,{className:`${L.bubble} ${fe.body} ${e.sentinelBlocked?L.sentinelBubble:``}`,dangerouslySetInnerHTML:{__html:de(e.content)}}):(0,A.jsx)(`div`,{className:L.bubble,children:e.content}),e.streaming&&(0,A.jsx)(`span`,{className:L.cursor}),!e.streaming&&ie!==t&&(0,A.jsxs)(`div`,{className:L.msgActions,children:[(0,A.jsx)(`button`,{className:L.msgActionBtn,onClick:()=>Ae(e.content),children:`Copy`}),e.role===`user`&&!d&&(0,A.jsx)(`button`,{className:L.msgActionBtn,onClick:()=>Me(t),children:`Edit`}),e.role===`assistant`&&!d&&(0,A.jsx)(`button`,{className:L.msgActionBtn,onClick:()=>je(t),children:`Retry`})]})]},t)),(0,A.jsx)(`div`,{ref:le})]}),Te&&(0,A.jsxs)(`div`,{className:L.attachBar,children:[(0,A.jsx)(`span`,{children:Te}),(0,A.jsx)(`button`,{className:L.attachClear,onClick:we,children:`×`})]}),(0,A.jsxs)(`div`,{className:L.inputBar,children:[(0,A.jsxs)(`div`,{className:L.inputTools,children:[(0,A.jsx)(`button`,{className:`${L.iconBtn} ${C?L.iconBtnActive:``}`,onClick:Ee,title:`Voice input`,children:`🎤`}),(0,A.jsx)(`button`,{className:L.iconBtn,onClick:()=>y.current?.click(),title:`Attach file`,children:`📎`}),(0,A.jsx)(`button`,{className:L.iconBtn,onClick:()=>b.current?.click(),title:`Attach image`,children:`🖼`}),(0,A.jsx)(`input`,{ref:y,type:`file`,style:{display:`none`},onChange:Se}),(0,A.jsx)(`input`,{ref:b,type:`file`,accept:`image/*`,style:{display:`none`},onChange:Ce}),(0,A.jsx)(`span`,{style:{flex:1}}),(0,A.jsxs)(`button`,{className:`${L.thinkBtn} ${x?L.thinkBtnOn:``}`,onClick:be,title:`Extended Thinking`,children:[`Think: `,x?`on`:`off`]}),te&&(0,A.jsx)(`button`,{className:L.toolbarBtn,onClick:()=>k(e=>!e),title:`Canvas panel`,children:`▣ Panel`})]}),(0,A.jsxs)(`div`,{className:L.inputRow,children:[(0,A.jsx)(`textarea`,{ref:ue,className:L.input,value:l,onChange:e=>u(e.target.value),onKeyDown:ke,placeholder:e(`chat.placeholder`),rows:1,disabled:d}),d?(0,A.jsxs)(`button`,{className:`${L.btn} ${L.stop}`,onClick:Oe,children:[`■ `,e(`chat.stopGeneration`)]}):(0,A.jsx)(`button`,{className:`${L.btn} ${L.send}`,onClick:De,disabled:!l.trim()&&!m&&!g,children:`Send ↵`})]})]})]}),re&&te&&(0,A.jsxs)(`div`,{className:L.canvasPanel,children:[(0,A.jsxs)(`div`,{className:L.canvasPanelHeader,children:[(0,A.jsx)(`span`,{children:`Canvas`}),(0,A.jsxs)(`div`,{className:L.canvasPanelActions,children:[(0,A.jsx)(`button`,{className:L.canvasPanelBtn,onClick:()=>{let e=new Blob([te],{type:`text/html`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`NHA-Canvas.html`,n.click(),setTimeout(()=>URL.revokeObjectURL(t),5e3)},children:`↓ Download`}),(0,A.jsx)(`button`,{className:L.canvasPanelBtn,onClick:()=>navigator.clipboard.writeText(te).catch(()=>{}),children:`Copy HTML`}),(0,A.jsx)(`button`,{className:L.canvasPanelClose,onClick:()=>k(!1),children:`×`})]})]}),(0,A.jsx)(`iframe`,{className:L.canvasFrame,sandbox:`allow-scripts`,srcDoc:te,title:`Canvas`})]})]})}var R={root:`_root_1j3wy_1`,header:`_header_1j3wy_8`,headerLeft:`_headerLeft_1j3wy_18`,title:`_title_1j3wy_20`,subtitle:`_subtitle_1j3wy_27`,headerActions:`_headerActions_1j3wy_33`,tokenBar:`_tokenBar_1j3wy_40`,tokIn:`_tokIn_1j3wy_48`,tokOut:`_tokOut_1j3wy_49`,tokTotal:`_tokTotal_1j3wy_50`,tokDim:`_tokDim_1j3wy_51`,sessionsBtn:`_sessionsBtn_1j3wy_53`,pdfBtn:`_pdfBtn_1j3wy_65`,sessionsDrawer:`_sessionsDrawer_1j3wy_76`,noSessions:`_noSessions_1j3wy_84`,sessionItem:`_sessionItem_1j3wy_91`,sessionInfo:`_sessionInfo_1j3wy_101`,sessionTask:`_sessionTask_1j3wy_107`,sessionMeta:`_sessionMeta_1j3wy_117`,sessionBtns:`_sessionBtns_1j3wy_123`,importBtn:`_importBtn_1j3wy_129`,delSessionBtn:`_delSessionBtn_1j3wy_139`,inputArea:`_inputArea_1j3wy_150`,inputRow:`_inputRow_1j3wy_159`,taskInput:`_taskInput_1j3wy_165`,inputControls:`_inputControls_1j3wy_180`,runBtn:`_runBtn_1j3wy_186`,stopBtn:`_stopBtn_1j3wy_199`,attachBtn:`_attachBtn_1j3wy_210`,attachBadge:`_attachBadge_1j3wy_223`,clearAttach:`_clearAttach_1j3wy_236`,examples:`_examples_1j3wy_245`,exampleBtn:`_exampleBtn_1j3wy_251`,body:`_body_1j3wy_269`,pipeline:`_pipeline_1j3wy_279`,pipelineRunning:`_pipelineRunning_1j3wy_289`,scanSweep:`_scanSweep_1j3wy_1`,pipelineTitle:`_pipelineTitle_1j3wy_311`,pipelineNodes:`_pipelineNodes_1j3wy_319`,pipelineStep:`_pipelineStep_1j3wy_326`,arrow:`_arrow_1j3wy_332`,arrowActive:`_arrowActive_1j3wy_341`,arrowPulse:`_arrowPulse_1j3wy_1`,agentChar:`_agentChar_1j3wy_353`,charWaiting:`_charWaiting_1j3wy_368`,charActive:`_charActive_1j3wy_373`,charCardPulse:`_charCardPulse_1j3wy_1`,charDone:`_charDone_1j3wy_381`,charError:`_charError_1j3wy_386`,orbitRing1:`_orbitRing1_1j3wy_397`,orbitRing2:`_orbitRing2_1j3wy_398`,orbitSpin1:`_orbitSpin1_1j3wy_1`,orbitSpin2:`_orbitSpin2_1j3wy_1`,charAvatar:`_charAvatar_1j3wy_444`,charIcon:`_charIcon_1j3wy_459`,iconBob:`_iconBob_1j3wy_1`,charCheck:`_charCheck_1j3wy_476`,badgePop:`_badgePop_1j3wy_1`,charErr:`_charErr_1j3wy_386`,charPulse:`_charPulse_1j3wy_520`,charPulse2:`_charPulse2_1j3wy_521`,expandRing:`_expandRing_1j3wy_1`,charLabel:`_charLabel_1j3wy_540`,charStatus:`_charStatus_1j3wy_552`,charStatusDots:`_charStatusDots_1j3wy_565`,dot1:`_dot1_1j3wy_566`,dot2:`_dot2_1j3wy_566`,dot3:`_dot3_1j3wy_566`,dotFade:`_dotFade_1j3wy_1`,twoCol:`_twoCol_1j3wy_580`,panelTitle:`_panelTitle_1j3wy_587`,logPanel:`_logPanel_1j3wy_597`,logBody:`_logBody_1j3wy_609`,logEntry:`_logEntry_1j3wy_617`,logTime:`_logTime_1j3wy_627`,logIcon:`_logIcon_1j3wy_628`,logAgent:`_logAgent_1j3wy_629`,logText:`_logText_1j3wy_630`,log_system:`_log_system_1j3wy_632`,log_error:`_log_error_1j3wy_633`,liveOutputPanel:`_liveOutputPanel_1j3wy_636`,liveBlock:`_liveBlock_1j3wy_642`,blockSlideIn:`_blockSlideIn_1j3wy_1`,liveBlockActive:`_liveBlockActive_1j3wy_656`,liveBlockHeader:`_liveBlockHeader_1j3wy_661`,liveBlockIcon:`_liveBlockIcon_1j3wy_670`,liveBlockLabel:`_liveBlockLabel_1j3wy_672`,outputStatus:`_outputStatus_1j3wy_680`,status_done:`_status_done_1j3wy_691`,status_running:`_status_running_1j3wy_692`,status_error:`_status_error_1j3wy_693`,status_waiting:`_status_waiting_1j3wy_694`,liveBlockBody:`_liveBlockBody_1j3wy_697`,studioBlinkCursor:`_studioBlinkCursor_1j3wy_1`,resultAccordion:`_resultAccordion_1j3wy_851`,resultAccordionSummary:`_resultAccordionSummary_1j3wy_858`,resultAccordionBody:`_resultAccordionBody_1j3wy_875`,financeSection:`_financeSection_1j3wy_909`,financeSectionTitle:`_financeSectionTitle_1j3wy_917`,financePresets:`_financePresets_1j3wy_926`,financeBtn:`_financeBtn_1j3wy_932`,canvasToggleBtn:`_canvasToggleBtn_1j3wy_950`,canvasPanel:`_canvasPanel_1j3wy_966`,canvasPanelHeader:`_canvasPanelHeader_1j3wy_981`,canvasPanelActions:`_canvasPanelActions_1j3wy_993`,canvasPanelBtn:`_canvasPanelBtn_1j3wy_999`,canvasPanelClose:`_canvasPanelClose_1j3wy_1011`,canvasFrame:`_canvasFrame_1j3wy_1022`,pipelineLiveTag:`_pipelineLiveTag_1j3wy_1030`,liveTagBlink:`_liveTagBlink_1j3wy_1`,reasonRow:`_reasonRow_1j3wy_1044`,reasonChip:`_reasonChip_1j3wy_1053`,reasonIcon:`_reasonIcon_1j3wy_1066`,reasonText:`_reasonText_1j3wy_1067`,liveBlockReason:`_liveBlockReason_1j3wy_1070`,councilWrapper:`_councilWrapper_1j3wy_1080`,councilPanel:`_councilPanel_1j3wy_1085`,councilHeader:`_councilHeader_1j3wy_1093`,councilHeaderLeft:`_councilHeaderLeft_1j3wy_1104`,councilHeaderRight:`_councilHeaderRight_1j3wy_1110`,councilIcon:`_councilIcon_1j3wy_1116`,councilTitle:`_councilTitle_1j3wy_1118`,councilConvergedBadge:`_councilConvergedBadge_1j3wy_1127`,councilDivergedBadge:`_councilDivergedBadge_1j3wy_1139`,councilPhaseTag:`_councilPhaseTag_1j3wy_1151`,councilPhaseActive:`_councilPhaseActive_1j3wy_1157`,phaseGlow:`_phaseGlow_1j3wy_1`,councilPhaseDone:`_councilPhaseDone_1j3wy_1166`,councilMetrics:`_councilMetrics_1j3wy_1169`,convRow:`_convRow_1j3wy_1177`,convLabel:`_convLabel_1j3wy_1183`,convTrack:`_convTrack_1j3wy_1191`,convFill:`_convFill_1j3wy_1199`,convPct:`_convPct_1j3wy_1205`,councilNodes:`_councilNodes_1j3wy_1215`,councilSectionTitle:`_councilSectionTitle_1j3wy_1220`,councilNode:`_councilNode_1j3wy_1215`,councilNodeHeader:`_councilNodeHeader_1j3wy_1237`,councilNodeIcon:`_councilNodeIcon_1j3wy_1250`,councilNodeLabel:`_councilNodeLabel_1j3wy_1251`,councilNodeToggle:`_councilNodeToggle_1j3wy_1252`,councilNodeBody:`_councilNodeBody_1j3wy_1254`,councilSynthesis:`_councilSynthesis_1j3wy_1264`,councilSynthesisHeader:`_councilSynthesisHeader_1j3wy_1268`,heraldIcon:`_heraldIcon_1j3wy_1277`,heraldLabel:`_heraldLabel_1j3wy_1279`,heraldStreaming:`_heraldStreaming_1j3wy_1287`,councilSynthesisBody:`_councilSynthesisBody_1j3wy_1289`,councilSkipped:`_councilSkipped_1j3wy_1319`,councilSkipIcon:`_councilSkipIcon_1j3wy_1330`,charSpriteRunning:`_charSpriteRunning_1j3wy_1343`,spriteWalk:`_spriteWalk_1j3wy_1`,charSpriteDone:`_charSpriteDone_1j3wy_1352`,charScanline:`_charScanline_1j3wy_1356`,scanlineScroll:`_scanlineScroll_1j3wy_1`,auraAnim:`_auraAnim_1j3wy_1376`,auraGlow:`_auraGlow_1j3wy_1`,parliamentPrompt:`_parliamentPrompt_1j3wy_1383`,parliamentPromptIcon:`_parliamentPromptIcon_1j3wy_1393`,parliamentPromptContent:`_parliamentPromptContent_1j3wy_1394`,parliamentPromptTitle:`_parliamentPromptTitle_1j3wy_1395`,parliamentPromptDesc:`_parliamentPromptDesc_1j3wy_1396`,parliamentPromptMeta:`_parliamentPromptMeta_1j3wy_1397`,parliamentPromptBtns:`_parliamentPromptBtns_1j3wy_1398`,parliamentActivateBtn:`_parliamentActivateBtn_1j3wy_1399`,parliamentSkipBtn:`_parliamentSkipBtn_1j3wy_1406`,panelTabs:`_panelTabs_1j3wy_1414`,panelTabBtn:`_panelTabBtn_1j3wy_1415`,panelTabActive:`_panelTabActive_1j3wy_1422`,panelEmpty:`_panelEmpty_1j3wy_1424`,browserPanel:`_browserPanel_1j3wy_1433`,browserBar:`_browserBar_1j3wy_1434`,browserInput:`_browserInput_1j3wy_1435`,browserGo:`_browserGo_1j3wy_1442`},ge=[{label:`📈 Full Trading Strategy`,task:`You are a team of senior quantitative analysts and macro traders. Build a complete, actionable trading strategy with the following structure:
|
|
15
|
+
|
|
16
|
+
1. MACRO REGIME ANALYSIS
|
|
17
|
+
- Current macro cycle phase (expansion/peak/contraction/trough) with supporting indicators (yield curve, PMI, CPI trajectory, Fed/ECB policy stance)
|
|
18
|
+
- Dominant regime factors: risk-on vs risk-off, dollar strength, credit spreads, volatility regime (VIX term structure)
|
|
19
|
+
- Identify the 3 most important macro catalysts in the next 30-90 days
|
|
20
|
+
|
|
21
|
+
2. CROSS-ASSET OPPORTUNITY SCAN
|
|
22
|
+
- Equities: sector rotation signals, momentum vs value regime, earnings revision trends, relative strength leaders
|
|
23
|
+
- Fixed Income: duration trade setups, credit spread plays, EM vs DM bonds
|
|
24
|
+
- Commodities: energy (oil/gas), metals (gold/copper/silver), agricultural - trend and mean-reversion setups
|
|
25
|
+
- Crypto: BTC/ETH cycle positioning, on-chain signals interpretation, altcoin relative strength
|
|
26
|
+
- FX: major pair setups (EUR/USD, USD/JPY, GBP/USD), carry trade opportunities
|
|
27
|
+
|
|
28
|
+
3. TOP 5 TRADE IDEAS (for each trade):
|
|
29
|
+
- Asset/Instrument + exact entry zone (support/resistance level or breakout trigger)
|
|
30
|
+
- Stop loss level with rationale (ATR-based or structure-based)
|
|
31
|
+
- Target 1 (conservative) and Target 2 (extended) with R:R ratio
|
|
32
|
+
- Position sizing formula: % of portfolio based on volatility-adjusted Kelly criterion
|
|
33
|
+
- Time horizon and invalidation conditions
|
|
34
|
+
- Correlation with existing positions (portfolio construction note)
|
|
35
|
+
|
|
36
|
+
4. PORTFOLIO CONSTRUCTION
|
|
37
|
+
- Suggested allocation across asset classes given current regime
|
|
38
|
+
- Maximum correlated exposure limits
|
|
39
|
+
- Hedging overlay: tail risk protection via options or inverse ETFs
|
|
40
|
+
- Rebalancing triggers
|
|
41
|
+
|
|
42
|
+
5. RISK SCORECARD
|
|
43
|
+
- Scenario analysis: Bull / Base / Bear outcomes for each trade
|
|
44
|
+
- Aggregate portfolio VaR (95% confidence, 10-day horizon)
|
|
45
|
+
- Maximum drawdown estimate
|
|
46
|
+
- Liquidity risk assessment
|
|
47
|
+
|
|
48
|
+
Provide specific, actionable levels. Use technical analysis (EMA, RSI, MACD, Fibonacci, volume profile), fundamental valuation, and macro positioning data. Be precise and quantitative.`,agents:[{icon:`📰`,agent:`herald`,label:`Herald`,status:`waiting`,output:``},{icon:`💹`,agent:`mercury`,label:`Mercury`,status:`waiting`,output:``},{icon:`📊`,agent:`oracle`,label:`Oracle`,status:`waiting`,output:``},{icon:`⚠️`,agent:`cassandra`,label:`Cassandra`,status:`waiting`,output:``},{icon:`🔥`,agent:`prometheus`,label:`Prometheus`,status:`waiting`,output:``}]},{label:`🏦 Deep Fundamental Analysis`,task:`You are a sell-side equity research team. Produce a comprehensive fundamental analysis report with the following sections:
|
|
49
|
+
|
|
50
|
+
1. BUSINESS MODEL DEEP-DIVE
|
|
51
|
+
- Revenue streams breakdown, unit economics, gross margin drivers
|
|
52
|
+
- Competitive moat: network effects, switching costs, cost advantages, intangibles
|
|
53
|
+
- TAM/SAM/SOM analysis with growth assumptions
|
|
54
|
+
- Management quality: capital allocation track record, insider ownership, compensation structure
|
|
55
|
+
|
|
56
|
+
2. FINANCIAL STATEMENT ANALYSIS
|
|
57
|
+
- 5-year trend analysis: revenue CAGR, margin expansion/compression, FCF conversion
|
|
58
|
+
- Balance sheet quality: debt/EBITDA, interest coverage, current ratio, working capital cycle
|
|
59
|
+
- Cash flow quality: accruals ratio, capex vs D&A, owner earnings calculation
|
|
60
|
+
- Return metrics: ROIC, ROE decomposition (DuPont), ROCE vs WACC spread
|
|
61
|
+
|
|
62
|
+
3. VALUATION (multi-method)
|
|
63
|
+
- DCF: base case, bull case, bear case with explicit assumptions (WACC, terminal growth, margins)
|
|
64
|
+
- Relative valuation: P/E, EV/EBITDA, P/FCF, P/S vs sector and historical mean
|
|
65
|
+
- Sum-of-parts if applicable
|
|
66
|
+
- Reverse DCF: what growth rate is currently priced in?
|
|
67
|
+
|
|
68
|
+
4. CATALYSTS & TIMELINE
|
|
69
|
+
- Near-term (0-3 months): earnings, product launches, regulatory decisions
|
|
70
|
+
- Medium-term (3-12 months): market share gains, margin inflection, M&A
|
|
71
|
+
- Long-term (1-3 years): secular growth drivers, TAM expansion
|
|
72
|
+
|
|
73
|
+
5. RISK MATRIX
|
|
74
|
+
- Bear case risks: competitive threats, regulatory, execution, balance sheet
|
|
75
|
+
- Probability-weighted downside scenario
|
|
76
|
+
- Key metrics to monitor (early warning indicators)
|
|
77
|
+
|
|
78
|
+
6. INVESTMENT RECOMMENDATION
|
|
79
|
+
- Buy / Hold / Sell with conviction level (1-5)
|
|
80
|
+
- Price target (12-month) with methodology
|
|
81
|
+
- Risk/reward asymmetry assessment`,agents:[{icon:`🔍`,agent:`ResearchAgent`,label:`Research`,status:`waiting`,output:``},{icon:`💹`,agent:`mercury`,label:`Mercury`,status:`waiting`,output:``},{icon:`📊`,agent:`oracle`,label:`Oracle`,status:`waiting`,output:``},{icon:`✓`,agent:`veritas`,label:`Veritas`,status:`waiting`,output:``},{icon:`⚠️`,agent:`cassandra`,label:`Cassandra`,status:`waiting`,output:``}]},{label:`📉 Portfolio Risk & Hedging`,task:`You are a risk management team at a hedge fund. Perform a comprehensive portfolio risk assessment:
|
|
82
|
+
|
|
83
|
+
1. RISK FACTOR DECOMPOSITION
|
|
84
|
+
- Identify primary risk factors: market beta, sector exposure, factor tilts (value/growth/momentum/quality/size)
|
|
85
|
+
- Correlation matrix analysis: identify hidden correlations and concentration risks
|
|
86
|
+
- Factor VaR contribution per position
|
|
87
|
+
- Liquidity-adjusted risk (bid-ask spread x position size x days to liquidate)
|
|
88
|
+
|
|
89
|
+
2. TAIL RISK SCENARIOS (Monte Carlo + Historical)
|
|
90
|
+
- 2008 GFC analog: expected drawdown and recovery time
|
|
91
|
+
- 2020 COVID crash analog
|
|
92
|
+
- 2022 rate shock analog (40-year high inflation + aggressive tightening)
|
|
93
|
+
- Custom black swan: China/Taiwan conflict, sovereign debt crisis, dollar collapse
|
|
94
|
+
- Expected Shortfall (CVaR) at 95% and 99% confidence over 1-day, 10-day, 1-month horizons
|
|
95
|
+
|
|
96
|
+
3. DRAWDOWN ANALYTICS
|
|
97
|
+
- Maximum drawdown (MDD) estimate
|
|
98
|
+
- Drawdown duration analysis
|
|
99
|
+
- Calmar ratio, Sterling ratio, Ulcer index
|
|
100
|
+
- Underwater equity curve projection
|
|
101
|
+
|
|
102
|
+
4. HEDGING STRATEGIES (ranked by cost-effectiveness)
|
|
103
|
+
- Equity puts: which strikes/expiries, delta/vega exposure, cost as % of portfolio
|
|
104
|
+
- VIX calls / VXXB as convexity hedge
|
|
105
|
+
- Inverse ETFs (SQQQ, SDS) for systematic hedging
|
|
106
|
+
- Gold / BTC as uncorrelated store of value
|
|
107
|
+
- Short duration bonds / T-bills as safe haven
|
|
108
|
+
- FX hedging for currency-exposed positions
|
|
109
|
+
- Dynamic hedging rules: when to increase/decrease hedge ratio
|
|
110
|
+
|
|
111
|
+
5. STRESS TEST REPORT
|
|
112
|
+
- Portfolio PnL under each scenario
|
|
113
|
+
- Hedge effectiveness analysis
|
|
114
|
+
- Optimal hedge ratio calculation (minimum variance hedge)
|
|
115
|
+
|
|
116
|
+
6. RECOMMENDATIONS
|
|
117
|
+
- Current portfolio risk score (1-10)
|
|
118
|
+
- Suggested position sizing adjustments
|
|
119
|
+
- Hedge implementation priority list with specific instruments and sizing`,agents:[{icon:`⚠️`,agent:`cassandra`,label:`Cassandra`,status:`waiting`,output:``},{icon:`📊`,agent:`oracle`,label:`Oracle`,status:`waiting`,output:``},{icon:`💹`,agent:`mercury`,label:`Mercury`,status:`waiting`,output:``},{icon:`🔥`,agent:`prometheus`,label:`Prometheus`,status:`waiting`,output:``}]},{label:`🔎 Sector Deep Dive`,task:`You are a specialized sector research team. Conduct an exhaustive sector analysis:
|
|
120
|
+
|
|
121
|
+
1. SECTOR MACRO POSITIONING
|
|
122
|
+
- Where are we in the sector cycle? (early/mid/late cycle characteristics)
|
|
123
|
+
- Relative performance vs S&P 500 (52-week, YTD, 3-year): momentum score
|
|
124
|
+
- Institutional positioning: 13F filings trends, fund flows, short interest
|
|
125
|
+
- Earnings revision momentum: breadth of upgrades vs downgrades
|
|
126
|
+
|
|
127
|
+
2. STRUCTURAL TRENDS & DISRUPTION
|
|
128
|
+
- Secular tailwinds (5-10 year): technology disruption, demographic shifts, regulatory changes
|
|
129
|
+
- Secular headwinds and risk of disruption
|
|
130
|
+
- Innovation S-curve positioning: is the sector in early adoption, mass market, or saturation?
|
|
131
|
+
|
|
132
|
+
3. COMPETITIVE LANDSCAPE
|
|
133
|
+
- Top 10 companies by market cap with key metrics (P/E, EV/EBITDA, revenue growth, margins, ROIC)
|
|
134
|
+
- Market share dynamics: gainers vs losers
|
|
135
|
+
- M&A activity: consolidation trends, premium paid in recent deals
|
|
136
|
+
- Barrier to entry assessment
|
|
137
|
+
|
|
138
|
+
4. VALUATION COMPARISON
|
|
139
|
+
- Sector P/E, P/S, EV/EBITDA vs 5-year and 10-year historical average
|
|
140
|
+
- Sector vs market relative valuation (premium/discount)
|
|
141
|
+
- Sub-sector valuation dispersion (identify cheap vs expensive pockets)
|
|
142
|
+
|
|
143
|
+
5. TECHNICAL SECTOR SETUP
|
|
144
|
+
- Sector ETF technical analysis (weekly chart): trend, key levels, RSI, MACD
|
|
145
|
+
- Breadth indicators: % of stocks above 200-day MA, new highs vs new lows
|
|
146
|
+
- Seasonal patterns
|
|
147
|
+
|
|
148
|
+
6. INVESTMENT CONCLUSION
|
|
149
|
+
- Overweight / Underweight / Neutral recommendation
|
|
150
|
+
- Top 3 stock picks within the sector with brief thesis
|
|
151
|
+
- Key risks to the thesis
|
|
152
|
+
- Monitoring checklist (metrics and triggers to reassess)`,agents:[{icon:`📰`,agent:`herald`,label:`Herald`,status:`waiting`,output:``},{icon:`🔍`,agent:`ResearchAgent`,label:`Research`,status:`waiting`,output:``},{icon:`💹`,agent:`mercury`,label:`Mercury`,status:`waiting`,output:``},{icon:`🧠`,agent:`athena`,label:`Athena`,status:`waiting`,output:``},{icon:`✓`,agent:`veritas`,label:`Veritas`,status:`waiting`,output:``}]},{label:`₿ Crypto Market Analysis`,task:`You are a crypto-native research team combining on-chain analytics, macro, and technical analysis:
|
|
153
|
+
|
|
154
|
+
1. BITCOIN CYCLE POSITIONING
|
|
155
|
+
- Current halving cycle phase (days since last halving, historical cycle comparison)
|
|
156
|
+
- Key on-chain metrics: NUPL (Net Unrealized Profit/Loss), MVRV Z-Score, Stock-to-Flow deviation, Puell Multiple
|
|
157
|
+
- Realized price vs market price spread
|
|
158
|
+
- Long-term holder vs short-term holder supply dynamics
|
|
159
|
+
- Miner health: hash rate trend, miner revenue, potential capitulation signals
|
|
160
|
+
|
|
161
|
+
2. MACRO-CRYPTO CORRELATION
|
|
162
|
+
- BTC beta vs NASDAQ, gold, DXY (90-day rolling correlation)
|
|
163
|
+
- Liquidity cycle analysis: global M2, Fed balance sheet, crypto market cap
|
|
164
|
+
- Institutional adoption metrics: ETF flows, CME futures OI, Grayscale premium/discount
|
|
165
|
+
- Stablecoin supply as dry powder indicator
|
|
166
|
+
|
|
167
|
+
3. ALTCOIN RELATIVE STRENGTH
|
|
168
|
+
- BTC dominance trend: rotation signals into altcoins
|
|
169
|
+
- ETH/BTC ratio: layer-1 sentiment
|
|
170
|
+
- DeFi TVL trends, DEX volume, lending protocol health
|
|
171
|
+
- Top performing sectors: AI tokens, RWA, gaming, L2s — momentum ranking
|
|
172
|
+
|
|
173
|
+
4. TECHNICAL STRUCTURE
|
|
174
|
+
- BTC weekly chart: key support/resistance, Fibonacci levels, Elliott Wave count
|
|
175
|
+
- Market structure: higher highs/lows or lower highs/lows
|
|
176
|
+
- Funding rates: long/short squeeze risk
|
|
177
|
+
- Open interest: leverage buildup and liquidation heatmap analysis
|
|
178
|
+
- Fear & Greed Index trend
|
|
179
|
+
|
|
180
|
+
5. TRADE SETUPS
|
|
181
|
+
- BTC: spot accumulation zone, swing trade levels, invalidation
|
|
182
|
+
- ETH: setup and ETH/BTC pair trade
|
|
183
|
+
- Top 3 altcoin opportunities with asymmetric risk/reward
|
|
184
|
+
- Avoid list: overvalued, low liquidity, high risk coins
|
|
185
|
+
|
|
186
|
+
6. PORTFOLIO ALLOCATION
|
|
187
|
+
- Suggested BTC/ETH/Alts ratio for current cycle phase
|
|
188
|
+
- Position sizing given crypto's volatility profile
|
|
189
|
+
- DCA vs lump sum decision framework
|
|
190
|
+
- Exit strategy: profit-taking levels at different cycle stages`,agents:[{icon:`📰`,agent:`herald`,label:`Herald`,status:`waiting`,output:``},{icon:`💹`,agent:`mercury`,label:`Mercury`,status:`waiting`,output:``},{icon:`📊`,agent:`oracle`,label:`Oracle`,status:`waiting`,output:``},{icon:`⚠️`,agent:`cassandra`,label:`Cassandra`,status:`waiting`,output:``},{icon:`🔥`,agent:`prometheus`,label:`Prometheus`,status:`waiting`,output:``}]},{label:`📊 Quant Factor Analysis`,task:`You are a quantitative research team specializing in factor investing and systematic strategies:
|
|
191
|
+
|
|
192
|
+
1. CURRENT FACTOR PERFORMANCE ATTRIBUTION
|
|
193
|
+
- Which factors are winning right now? Rank: Value, Momentum, Quality, Low Volatility, Size, Growth
|
|
194
|
+
- Factor cycle analysis: which part of the factor cycle are we in?
|
|
195
|
+
- Cross-factor correlations and factor crowding risk
|
|
196
|
+
- Smart beta ETF flows as factor sentiment indicator
|
|
197
|
+
|
|
198
|
+
2. MOMENTUM STRATEGY ANALYSIS
|
|
199
|
+
- Cross-sectional momentum: 12-1 month returns, risk-adjusted momentum score
|
|
200
|
+
- Time-series momentum (trend following): 200-day MA crossovers across assets
|
|
201
|
+
- Momentum crash risk: conditions that precede reversals (high dispersion + high volatility = danger)
|
|
202
|
+
- Optimal momentum lookback period for current regime
|
|
203
|
+
|
|
204
|
+
3. VALUE FACTOR
|
|
205
|
+
- Current value spread: cheap vs expensive quintile valuation gap (historical percentile)
|
|
206
|
+
- Value in different asset classes: equities, credit, currencies
|
|
207
|
+
- Value + Momentum combination: avoiding value traps
|
|
208
|
+
|
|
209
|
+
4. VOLATILITY & OPTIONS STRATEGIES
|
|
210
|
+
- Implied vs realized volatility spread: premium capture opportunities
|
|
211
|
+
- Volatility surface analysis: term structure contango/backwardation
|
|
212
|
+
- Optimal options strategies for current vol regime: covered calls, cash-secured puts, spreads, straddles
|
|
213
|
+
- VIX seasonality and mean-reversion signals
|
|
214
|
+
|
|
215
|
+
5. SYSTEMATIC STRATEGY BLUEPRINTS
|
|
216
|
+
- Trend-following CTA strategy: universe, entry/exit signals, position sizing (ATR-based), portfolio construction
|
|
217
|
+
- Statistical arbitrage setup: pairs trading opportunities with cointegration test results
|
|
218
|
+
- Carry trade: yield differential ranking across G10 currencies and EM
|
|
219
|
+
- Risk parity allocation: equal risk contribution across asset classes
|
|
220
|
+
|
|
221
|
+
6. BACKTESTING ASSUMPTIONS & EDGE
|
|
222
|
+
- Expected Sharpe ratio for each strategy (realistic, after costs)
|
|
223
|
+
- Maximum drawdown and recovery expectations
|
|
224
|
+
- Strategy capacity (AUM limits before alpha decay)
|
|
225
|
+
- Implementation costs: slippage, market impact, transaction costs
|
|
226
|
+
- Key risks: overfitting, regime change, crowding`,agents:[{icon:`📊`,agent:`oracle`,label:`Oracle`,status:`waiting`,output:``},{icon:`💹`,agent:`mercury`,label:`Mercury`,status:`waiting`,output:``},{icon:`📈`,agent:`edi`,label:`Edi`,status:`waiting`,output:``},{icon:`⚠️`,agent:`cassandra`,label:`Cassandra`,status:`waiting`,output:``},{icon:`🔥`,agent:`prometheus`,label:`Prometheus`,status:`waiting`,output:``}]}],_e=`trading strategy.fundamental analysis.portfolio risk.sector deep dive.crypto analysis.quant factor.macro regime.cross-asset.hedge.derivative.yield curve.market_price.market_chart.market_indicators.macro_data.crypto_data.valuation.equity.earnings.dividend.short interest.volatility.options.futures.bitcoin.ethereum`.split(`.`),ve=[`Analyze my unread emails and create a priority action plan`,`Search the web for AI news today and summarize it in a canvas report`,`Check my calendar for this week and suggest how to optimize my schedule`,`Review my GitHub notifications and draft responses to open issues`,`Search for information about a topic, fact-check it, and write a report`],ye={finance:{body:`#f5c97a`,shirt:`#1e40af`,hair:`#7c3aed`,eyes:`#1e293b`},analysis:{body:`#fbbf24`,shirt:`#065f46`,hair:`#92400e`,eyes:`#1e293b`},data:{body:`#86efac`,shirt:`#0f172a`,hair:`#6b21a8`,eyes:`#1e293b`},research:{body:`#fca5a5`,shirt:`#312e81`,hair:`#1e293b`,eyes:`#1e293b`},news:{body:`#fde68a`,shirt:`#7c3aed`,hair:`#78350f`,eyes:`#1e293b`},sentiment:{body:`#a5f3fc`,shirt:`#be123c`,hair:`#292524`,eyes:`#1e293b`},risk:{body:`#f9a8d4`,shirt:`#7f1d1d`,hair:`#0c4a6e`,eyes:`#1e293b`},technical:{body:`#c4b5fd`,shirt:`#164e63`,hair:`#422006`,eyes:`#1e293b`},prediction:{body:`#fef08a`,shirt:`#064e3b`,hair:`#3b0764`,eyes:`#1e293b`},synthesis:{body:`#d9f99d`,shirt:`#1e1b4b`,hair:`#292524`,eyes:`#1e293b`},general:{body:`#fbbf24`,shirt:`#1e3a5f`,hair:`#422006`,eyes:`#1e293b`}};function be(e){let t=e.toLowerCase();for(let e of Object.keys(ye))if(t.includes(e))return ye[e];let n=(e.charCodeAt(0)+(e.charCodeAt(1)??0))%Object.keys(ye).length;return Object.values(ye)[n]}function xe({palette:e,active:t,done:n,error:r,px:i=3}){let{body:a,shirt:o,hair:s,eyes:c}=e,l=`none`,u=o,d=a,f=s,p=c,m=n?`#22c55e`:r?`#ef4444`:t?`#a5f3fc`:`#64748b`,h=[[l,f,f,f,f,f,f,l],[f,f,f,f,f,f,f,f],[f,d,d,p,p,d,d,f],[f,d,d,d,d,d,d,f],[l,d,d,d,d,d,d,l],[l,u,u,u,u,u,u,l],[u,u,u,u,u,u,u,u],[d,u,u,u,u,u,u,d],[d,u,u,u,u,u,u,d],[l,d,u,u,u,u,d,l],[l,f,f,l,l,f,f,l],[l,f,f,l,l,f,f,l],[l,m,m,l,l,m,m,l]],g=8*i,_=h.length*i;return(0,A.jsxs)(`svg`,{width:g,height:_,viewBox:`0 0 ${g} ${_}`,style:{imageRendering:`pixelated`,display:`block`},shapeRendering:`crispEdges`,children:[h.map((e,t)=>e.map((e,n)=>e===l?null:(0,A.jsx)(`rect`,{x:n*i,y:t*i,width:i,height:i,fill:e},`${t}-${n}`))),(0,A.jsx)(`ellipse`,{cx:g/2,cy:_+2,rx:g*.35,ry:2,fill:`rgba(0,0,0,0.3)`})]})}function Se({active:e,done:t,error:n}){let r=e?`#6366f1`:t?`#22c55e`:n?`#ef4444`:`transparent`;return!e&&!t&&!n?null:(0,A.jsx)(`svg`,{className:e?R.auraAnim:void 0,width:`56`,height:`56`,viewBox:`0 0 56 56`,style:{position:`absolute`,top:-4,left:-4,pointerEvents:`none`,zIndex:0},children:[[24,0],[28,0],[32,0],[12,8],[16,8],[36,8],[40,8],[4,16],[44,16],[0,24],[48,24],[0,28],[48,28],[0,32],[48,32],[4,40],[44,40],[12,48],[40,48],[24,52],[28,52],[32,52]].map(([t,n],i)=>(0,A.jsx)(`rect`,{x:t,y:n,width:4,height:4,fill:r,opacity:e?.7:.5},i))})}function Ce({node:e}){let t=e.status===`running`,n=e.status===`done`,r=e.status===`error`,i=e.status===`waiting`,a=be(e.agent||e.label);return(0,A.jsxs)(`div`,{className:[R.agentChar,t?R.charActive:``,n?R.charDone:``,r?R.charError:``,i?R.charWaiting:``].filter(Boolean).join(` `),title:`${e.label} — ${e.status}`,children:[t&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{className:R.orbitRing1}),(0,A.jsx)(`span`,{className:R.orbitRing2})]}),(0,A.jsxs)(`div`,{className:R.charAvatar,style:{position:`relative`,background:`transparent`,border:`none`,width:`auto`,height:`auto`},children:[(0,A.jsx)(Se,{active:t,done:n,error:r}),t&&(0,A.jsx)(`div`,{className:R.charScanline}),(0,A.jsx)(`div`,{className:t?R.charSpriteRunning:n?R.charSpriteDone:``,style:{position:`relative`,zIndex:1},children:(0,A.jsx)(xe,{palette:a,active:t,done:n,error:r,px:3})}),n&&(0,A.jsx)(`span`,{className:R.charCheck,children:`✓`}),r&&(0,A.jsx)(`span`,{className:R.charErr,children:`✗`}),t&&(0,A.jsx)(`span`,{className:R.charPulse}),t&&(0,A.jsx)(`span`,{className:R.charPulse2})]}),(0,A.jsx)(`div`,{className:R.charLabel,children:e.label}),(0,A.jsx)(`div`,{className:R.charStatus,"data-status":e.status,children:t?(0,A.jsxs)(`span`,{className:R.charStatusDots,children:[`working`,(0,A.jsx)(`span`,{className:R.dot1,children:`.`}),(0,A.jsx)(`span`,{className:R.dot2,children:`.`}),(0,A.jsx)(`span`,{className:R.dot3,children:`.`})]}):e.status})]})}function we(e){let t=e.toLowerCase();return _e.some(e=>t.includes(e.toLowerCase()))}function Te(e,t){let n=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),r=t.map(e=>e.output).join(`
|
|
227
|
+
|
|
228
|
+
`),i=/([+-]?\d+(?:\.\d+)?)\s*%/g,a=[],o;for(;(o=i.exec(r))!==null;){let e=parseFloat(o[1]);e>=-100&&e<=500&&a.push(e)}let s=t.filter(e=>e.output&&e.output!==`(no output)`).map(e=>{let t=n(e.output).replace(/\*\*(.*?)\*\*/g,`<strong>$1</strong>`).replace(/^(#{1,3})\s+(.+)$/gm,(e,t,n)=>{let r=Math.min(t.length+1,5);return`<h${r} class="sh${r}">${n}</h${r}>`}).replace(/\n/g,`<br>`);return`
|
|
229
|
+
<div class="section">
|
|
230
|
+
<div class="section-head">
|
|
231
|
+
<span class="section-icon">${n(e.icon)}</span>
|
|
232
|
+
<span class="section-title">${n(e.label)}</span>
|
|
233
|
+
<span class="section-badge">${n(e.status)}</span>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="section-body">${t}</div>
|
|
236
|
+
</div>`}).join(``),c=t.filter(e=>e.output&&e.output!==`(no output)`).map(e=>e.label),l=t.filter(e=>e.output&&e.output!==`(no output)`).map(e=>{let t=(e.output.match(/bullish|buy|long|upside|growth|positive|strong|breakout|momentum/gi)??[]).length,n=(e.output.match(/bearish|sell|short|downside|risk|negative|weak|breakdown|reversal/gi)??[]).length;return Math.max(0,Math.min(100,50+(t-n)*5))}),u=a.filter(e=>e!==0).slice(0,8),d=u.map((e,t)=>`Signal ${t+1}`),f=c.map((e,r)=>{let i=l[r]??50,a=i>=65?`score-bull`:i<=35?`score-bear`:`score-neutral`,o=i>=65?`fill-bull`:i<=35?`fill-bear`:`fill-neutral`,s=i>=65?`BULLISH`:i<=35?`BEARISH`:`NEUTRAL`;return`<div class="gauge-card">
|
|
237
|
+
<div class="gauge-icon">${n(t.find(t=>t.label===e)?.icon??`📊`)}</div>
|
|
238
|
+
<div class="gauge-label">${n(e)}</div>
|
|
239
|
+
<div class="gauge-score ${a}">${i}</div>
|
|
240
|
+
<div style="font-size:9px;color:var(--dim);margin-bottom:6px">${s}</div>
|
|
241
|
+
<div class="gauge-bar"><div class="gauge-fill ${o}" style="width:${i}%"></div></div>
|
|
242
|
+
</div>`}).join(``),p=u.length>=3?`<div class="chart-card">
|
|
243
|
+
<div class="chart-title">Extracted % Signals</div>
|
|
244
|
+
<div class="chart-wrap"><canvas id="chartPct"></canvas></div>
|
|
245
|
+
</div>`:`<div class="chart-card">
|
|
246
|
+
<div class="chart-title">Bull vs Bear Count per Agent</div>
|
|
247
|
+
<div class="chart-wrap"><canvas id="chartBearBull"></canvas></div>
|
|
248
|
+
</div>`,m=JSON.stringify(t.filter(e=>e.output&&e.output!==`(no output)`).map(e=>(e.output.match(/bullish|buy|long|upside|growth|breakout/gi)??[]).length)),h=JSON.stringify(t.filter(e=>e.output&&e.output!==`(no output)`).map(e=>(e.output.match(/bearish|sell|short|downside|risk|breakdown/gi)??[]).length)),g=u.length>=3?`const pctCtx = document.getElementById('chartPct');
|
|
249
|
+
if (pctCtx) {
|
|
250
|
+
const pctVals = ${JSON.stringify(u)};
|
|
251
|
+
new C(pctCtx, {
|
|
252
|
+
type: 'bar',
|
|
253
|
+
data: {
|
|
254
|
+
labels: ${JSON.stringify(d)},
|
|
255
|
+
datasets: [{ label: '% Value', data: pctVals,
|
|
256
|
+
backgroundColor: pctVals.map(v => v >= 0 ? 'rgba(0,229,255,0.65)' : 'rgba(255,68,68,0.65)'),
|
|
257
|
+
borderColor: pctVals.map(v => v >= 0 ? '#00e5ff' : '#ff4444'),
|
|
258
|
+
borderWidth: 1, borderRadius: 3 }]
|
|
259
|
+
},
|
|
260
|
+
options: { responsive: true, maintainAspectRatio: false,
|
|
261
|
+
plugins: { legend: { display: false } },
|
|
262
|
+
scales: { x: { ticks: { color: '#8b949e', font: { size: 9 } }, grid: { color: '#21262d' } },
|
|
263
|
+
y: { ticks: { color: '#8b949e', font: { size: 9 } }, grid: { color: '#21262d' } } } }
|
|
264
|
+
});
|
|
265
|
+
}`:`const bbCtx = document.getElementById('chartBearBull');
|
|
266
|
+
if (bbCtx) {
|
|
267
|
+
new C(bbCtx, {
|
|
268
|
+
type: 'bar',
|
|
269
|
+
data: {
|
|
270
|
+
labels: ${JSON.stringify(c)},
|
|
271
|
+
datasets: [
|
|
272
|
+
{ label: 'Bullish signals', data: ${m}, backgroundColor: 'rgba(0,255,65,0.7)', borderColor: '#00ff41', borderWidth: 1, borderRadius: 3 },
|
|
273
|
+
{ label: 'Bearish signals', data: ${h}, backgroundColor: 'rgba(255,68,68,0.7)', borderColor: '#ff4444', borderWidth: 1, borderRadius: 3 },
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
options: { responsive: true, maintainAspectRatio: false,
|
|
277
|
+
plugins: { legend: { labels: { color: '#8b949e', font: { size: 9 } } } },
|
|
278
|
+
scales: { x: { ticks: { color: '#8b949e', font: { size: 9 } }, grid: { color: '#21262d' } },
|
|
279
|
+
y: { ticks: { color: '#8b949e', font: { size: 9 } }, grid: { color: '#21262d' } } } }
|
|
280
|
+
});
|
|
281
|
+
}`,_=new Date().toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`});return`<!DOCTYPE html>
|
|
282
|
+
<html lang="en">
|
|
283
|
+
<head>
|
|
284
|
+
<meta charset="UTF-8">
|
|
285
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
286
|
+
<title>NHA Financial Analysis</title>
|
|
287
|
+
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"><\/script>
|
|
288
|
+
<style>
|
|
289
|
+
*{box-sizing:border-box;margin:0;padding:0}
|
|
290
|
+
:root{
|
|
291
|
+
--bg:#070b0f;--bg2:#0d1117;--bg3:#161b22;--bg4:#1c2128;
|
|
292
|
+
--green:#00ff41;--green2:#00cc33;--greendim:rgba(0,255,65,0.08);
|
|
293
|
+
--amber:#f59e0b;--red:#ff4444;--blue:#00e5ff;
|
|
294
|
+
--text:#c9d1d9;--dim:#8b949e;--bright:#f0f6fc;
|
|
295
|
+
--border:#30363d;--border2:#484f58;
|
|
296
|
+
--font:'SF Mono','Fira Code',Consolas,monospace;
|
|
297
|
+
}
|
|
298
|
+
html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:12px;line-height:1.6;min-height:100vh}
|
|
299
|
+
.page{padding:20px;max-width:1200px;margin:0 auto}
|
|
300
|
+
.header{background:linear-gradient(135deg,#0d1117 0%,#161b22 50%,#1c2128 100%);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px;position:relative;overflow:hidden}
|
|
301
|
+
.header::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(0,255,65,0.02) 40px,rgba(0,255,65,0.02) 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(0,255,65,0.02) 40px,rgba(0,255,65,0.02) 41px)}
|
|
302
|
+
.header-inner{position:relative;z-index:1}
|
|
303
|
+
.header-tag{font-size:9px;text-transform:uppercase;letter-spacing:3px;color:var(--green);font-weight:700;margin-bottom:6px}
|
|
304
|
+
.header-title{font-size:18px;font-weight:800;color:var(--bright);margin-bottom:8px;line-height:1.3}
|
|
305
|
+
.header-task{font-size:11px;color:var(--dim);padding:8px 12px;background:rgba(255,255,255,0.04);border-left:3px solid var(--green);border-radius:4px;white-space:pre-wrap}
|
|
306
|
+
.header-meta{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}
|
|
307
|
+
.meta-badge{font-size:10px;color:var(--dim);background:var(--bg3);border:1px solid var(--border);padding:3px 8px;border-radius:4px}
|
|
308
|
+
.meta-badge b{color:var(--bright)}
|
|
309
|
+
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
|
|
310
|
+
.chart-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:16px}
|
|
311
|
+
.chart-title{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);font-weight:700;margin-bottom:12px}
|
|
312
|
+
.chart-wrap{position:relative;height:180px}
|
|
313
|
+
.gauges-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:20px}
|
|
314
|
+
.gauge-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
|
|
315
|
+
.gauge-icon{font-size:20px;margin-bottom:4px}
|
|
316
|
+
.gauge-label{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
|
|
317
|
+
.gauge-score{font-size:22px;font-weight:800;margin-bottom:4px}
|
|
318
|
+
.gauge-bar{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}
|
|
319
|
+
.gauge-fill{height:100%;border-radius:2px;transition:width 0.5s ease}
|
|
320
|
+
.score-bull{color:var(--green)}.score-neutral{color:var(--amber)}.score-bear{color:var(--red)}
|
|
321
|
+
.fill-bull{background:linear-gradient(90deg,var(--green2),var(--green))}.fill-neutral{background:var(--amber)}.fill-bear{background:var(--red)}
|
|
322
|
+
.section{background:var(--bg2);border:1px solid var(--border);border-radius:8px;margin-bottom:14px;overflow:hidden}
|
|
323
|
+
.section-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg3);border-bottom:1px solid var(--border)}
|
|
324
|
+
.section-icon{font-size:16px}.section-title{font-size:12px;font-weight:700;color:var(--bright);flex:1}
|
|
325
|
+
.section-badge{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--green);background:var(--greendim);padding:2px 7px;border-radius:10px}
|
|
326
|
+
.section-body{padding:14px 16px;font-size:11px;color:var(--text);line-height:1.8}
|
|
327
|
+
.section-body strong{color:var(--bright)}
|
|
328
|
+
.section-body .sh2{font-size:12px;font-weight:700;color:var(--bright);margin:10px 0 4px;padding-left:8px;border-left:2px solid var(--green)}
|
|
329
|
+
.section-body .sh3{font-size:11px;font-weight:700;color:var(--amber);margin:8px 0 3px}
|
|
330
|
+
.section-body .sh4,.section-body .sh5{font-size:11px;color:var(--blue);margin:6px 0 2px}
|
|
331
|
+
.footer{text-align:center;padding:16px;color:var(--dim);font-size:9px;border-top:1px solid var(--border);margin-top:20px}
|
|
332
|
+
.footer span{color:var(--green)}
|
|
333
|
+
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}
|
|
334
|
+
</style>
|
|
335
|
+
</head>
|
|
336
|
+
<body>
|
|
337
|
+
<div class="page">
|
|
338
|
+
<div class="header">
|
|
339
|
+
<div class="header-inner">
|
|
340
|
+
<div class="header-tag">NHA Studio • Financial Analysis Report</div>
|
|
341
|
+
<div class="header-title">${n(e.split(`
|
|
342
|
+
`)[0].slice(0,100))}</div>
|
|
343
|
+
<div class="header-task">${n(e.slice(0,400))}${e.length>400?`…`:``}</div>
|
|
344
|
+
<div class="header-meta">
|
|
345
|
+
<div class="meta-badge"><b>${t.length}</b> Agents</div>
|
|
346
|
+
<div class="meta-badge">Generated <b>${_}</b></div>
|
|
347
|
+
<div class="meta-badge">NHA Studio <b>v13</b></div>
|
|
348
|
+
</div>
|
|
349
|
+
</div>
|
|
350
|
+
</div>
|
|
351
|
+
<div class="gauges-row">${f}</div>
|
|
352
|
+
${c.length>0?`<div class="charts-row">
|
|
353
|
+
<div class="chart-card">
|
|
354
|
+
<div class="chart-title">Agent Signal Scores</div>
|
|
355
|
+
<div class="chart-wrap"><canvas id="chartSignal"></canvas></div>
|
|
356
|
+
</div>
|
|
357
|
+
${p}
|
|
358
|
+
</div>`:``}
|
|
359
|
+
${s}
|
|
360
|
+
<div class="footer">Generated by <span>NotHumanAllowed</span> Studio • Real intelligence, real tools, free AI via Liara (Qwen3 32B)</div>
|
|
361
|
+
</div>
|
|
362
|
+
<script>
|
|
363
|
+
const C = Chart;
|
|
364
|
+
C.defaults.color = '#8b949e';
|
|
365
|
+
C.defaults.borderColor = '#30363d';
|
|
366
|
+
C.defaults.font.family = "'SF Mono','Fira Code',Consolas,monospace";
|
|
367
|
+
C.defaults.font.size = 10;
|
|
368
|
+
const signalCtx = document.getElementById('chartSignal');
|
|
369
|
+
if (signalCtx) {
|
|
370
|
+
const scores = ${JSON.stringify(l)};
|
|
371
|
+
new C(signalCtx, {
|
|
372
|
+
type: 'bar',
|
|
373
|
+
data: {
|
|
374
|
+
labels: ${JSON.stringify(c)},
|
|
375
|
+
datasets: [{
|
|
376
|
+
label: 'Signal Score (0=bear, 100=bull)',
|
|
377
|
+
data: scores,
|
|
378
|
+
backgroundColor: scores.map(s => s >= 65 ? 'rgba(0,255,65,0.7)' : s <= 35 ? 'rgba(255,68,68,0.7)' : 'rgba(245,158,11,0.7)'),
|
|
379
|
+
borderColor: scores.map(s => s >= 65 ? '#00ff41' : s <= 35 ? '#ff4444' : '#f59e0b'),
|
|
380
|
+
borderWidth: 1, borderRadius: 4,
|
|
381
|
+
}]
|
|
382
|
+
},
|
|
383
|
+
options: { responsive: true, maintainAspectRatio: false,
|
|
384
|
+
plugins: { legend: { display: false } },
|
|
385
|
+
scales: { x: { ticks: { color: '#8b949e', font: { size: 9 } }, grid: { color: '#21262d' } },
|
|
386
|
+
y: { min: 0, max: 100, ticks: { color: '#8b949e', font: { size: 9 } }, grid: { color: '#21262d' } } } }
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
${g}
|
|
390
|
+
<\/script>
|
|
391
|
+
</body>
|
|
392
|
+
</html>`}function Ee(e){try{localStorage.setItem(`nha_studio_sessions`,JSON.stringify(e.slice(0,20)))}catch{}}function De(){try{return JSON.parse(localStorage.getItem(`nha_studio_sessions`)??`[]`)}catch{return[]}}var Oe=`nha_studio_active`;function ke(e){try{sessionStorage.setItem(Oe,JSON.stringify(e))}catch{}}function Ae(){try{let e=sessionStorage.getItem(Oe);return e?JSON.parse(e):null}catch{return null}}function je(e){let t=[];return{clean:e.replace(/```json\s*\n?\s*\{[^`]*"action"\s*:\s*"canvas_render"[^`]*\}\s*```/g,e=>{try{let n=JSON.parse(e.replace(/```json\s*|\s*```/g,``).trim());n?.params?.html&&t.push(n.params.html)}catch{}return``}).replace(/\{"action"\s*:\s*"canvas_render"[^}]*"html"\s*:\s*"((?:[^"\\]|\\.)*)"/g,e=>{try{let n=JSON.parse(e+`}`);n?.params?.html&&t.push(n.params.html)}catch{try{let n=e.match(/"html"\s*:\s*"((?:[^"\\]|\\.)*?)"/);n&&t.push(JSON.parse(`"`+n[1]+`"`))}catch{}}return``}).trim(),canvasBlocks:t}}function Me(){return ne.getState().apiBase}async function Ne(e,t,n,r){let i=await fetch(Me()+e,{method:`POST`,headers:{"Content-Type":`application/json`,"x-nha-client":`web-ui`},body:JSON.stringify(t),signal:r});if(!i.ok||!i.body)throw Error(`HTTP ${i.status}`);let a=i.body.getReader(),o=new TextDecoder,s=``;for(;;){let{done:e,value:t}=await a.read();if(e)break;s+=o.decode(t,{stream:!0});let r=s.split(`
|
|
393
|
+
`);s=r.pop()??``;for(let e of r){if(!e.startsWith(`data: `))continue;let t=e.slice(6).trim();if(t===`[DONE]`)return;try{n(JSON.parse(t))}catch{}}}}function Pe({label:e,value:t}){let n=Math.round(t*100),r=n>=60?`#22c55e`:n>=30?`#f59e0b`:`#ef4444`;return(0,A.jsxs)(`div`,{className:R.convRow,children:[(0,A.jsx)(`span`,{className:R.convLabel,children:e}),(0,A.jsx)(`div`,{className:R.convTrack,children:(0,A.jsx)(`div`,{className:R.convFill,style:{width:`${n}%`,background:r}})}),(0,A.jsxs)(`span`,{className:R.convPct,style:{color:r},children:[n,`%`]})]})}function Fe({council:e}){let[t,n]=(0,_.useState)(null);if(e.skipped)return(0,A.jsxs)(`div`,{className:R.councilSkipped,children:[(0,A.jsx)(`span`,{className:R.councilSkipIcon,children:`🏛️`}),(0,A.jsxs)(`span`,{children:[`Parliament skipped — `,e.skipReason??`fewer than 2 eligible agents`]})]});let r=e.phase===`r2`?`⚡ Cross-reading & Refinement (Round 2)…`:e.phase===`r3`?`🏛️ HERALD Mediation (Round 3)…`:e.phase===`done`?`✅ Parliament Consensus Reached`:`🏛️ Parliament…`,i=e.converged?(0,A.jsx)(`span`,{className:R.councilConvergedBadge,children:`CONSENSUS`}):(0,A.jsx)(`span`,{className:R.councilDivergedBadge,children:`MEDIATED`});return(0,A.jsxs)(`div`,{className:R.councilPanel,children:[(0,A.jsxs)(`div`,{className:R.councilHeader,children:[(0,A.jsxs)(`div`,{className:R.councilHeaderLeft,children:[(0,A.jsx)(`span`,{className:R.councilIcon,children:`🏛️`}),(0,A.jsx)(`span`,{className:R.councilTitle,children:`Parliament · Geth Consensus`}),e.phase===`done`&&i]}),(0,A.jsx)(`div`,{className:R.councilHeaderRight,children:e.phase!==`idle`&&(0,A.jsx)(`span`,{className:`${R.councilPhaseTag} ${e.phase===`done`?R.councilPhaseDone:R.councilPhaseActive}`,children:r})})]}),(e.r1Convergence>0||e.r2Convergence>0)&&(0,A.jsxs)(`div`,{className:R.councilMetrics,children:[e.r1Convergence>0&&(0,A.jsx)(Pe,{label:`Round 1`,value:e.r1Convergence}),e.r2Convergence>0&&(0,A.jsx)(Pe,{label:`Round 2`,value:e.r2Convergence})]}),e.r2Nodes.length>0&&(0,A.jsxs)(`div`,{className:R.councilNodes,children:[(0,A.jsx)(`div`,{className:R.councilSectionTitle,children:`Refined Positions (Round 2)`}),e.r2Nodes.map(e=>(0,A.jsxs)(`div`,{className:R.councilNode,children:[(0,A.jsxs)(`button`,{className:R.councilNodeHeader,onClick:()=>n(t===e.agent?null:e.agent),children:[(0,A.jsx)(`span`,{className:R.councilNodeIcon,children:e.icon}),(0,A.jsx)(`span`,{className:R.councilNodeLabel,children:e.label}),(0,A.jsx)(`span`,{className:R.councilNodeToggle,children:t===e.agent?`▲`:`▼`})]}),t===e.agent&&(0,A.jsx)(`div`,{className:R.councilNodeBody,dangerouslySetInnerHTML:{__html:de(e.output)}})]},e.agent))]}),e.synthesis&&(0,A.jsxs)(`div`,{className:R.councilSynthesis,children:[(0,A.jsxs)(`div`,{className:R.councilSynthesisHeader,children:[(0,A.jsx)(`span`,{className:R.heraldIcon,children:`📰`}),(0,A.jsx)(`span`,{className:R.heraldLabel,children:`HERALD — Final Synthesis`}),e.phase===`r3`&&(0,A.jsx)(`span`,{className:R.heraldStreaming,children:(0,A.jsx)(`span`,{className:`studio-cursor`})})]}),(0,A.jsx)(`div`,{className:R.councilSynthesisBody,dangerouslySetInnerHTML:{__html:de(e.synthesis)+(e.phase===`r3`?`<span class="studio-cursor"></span>`:``)}})]})]})}function Ie(){let e=ne(e=>e.setView),t=Ae(),[n,r]=(0,_.useState)(t?.task??``),[i,a]=(0,_.useState)(t?.nodes??[]),[o,s]=(0,_.useState)(t?.log??[]),[c,l]=(0,_.useState)(t?.result??``),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(De),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(null),[y,b]=(0,_.useState)({in:0,out:0}),[x,S]=(0,_.useState)(t?.canvasHtml??``),[C,w]=(0,_.useState)(t?.council??null),[ee,te]=(0,_.useState)(!1),[T,E]=(0,_.useState)([]),[D,O]=(0,_.useState)(!1),[re,k]=(0,_.useState)(`canvas`),[ie,j]=(0,_.useState)(``),M=(0,_.useRef)(null),ae=(0,_.useRef)(null),oe=(0,_.useRef)(t?.canvasHtml??``),N=(0,_.useRef)(t?.council??null),se=(0,_.useRef)([]);(0,_.useEffect)(()=>{ke({task:n,nodes:i,log:o,result:c,canvasHtml:x,council:C})},[n,i,o,c,x,C]),(0,_.useEffect)(()=>{ae.current&&(ae.current.scrollTop=ae.current.scrollHeight)},[o]);let P=(0,_.useCallback)((e,t,n,r=`agent`)=>{let i=new Date().toLocaleTimeString(`en`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});s(a=>[...a,{agent:e,icon:t,text:n,time:i,type:r}])},[]),F=e=>{if(!e)return;let t=e.name.toLowerCase();if(!t.endsWith(`.pdf`)&&!/\.(png|jpe?g|gif|webp)$/i.test(t)){alert(`Supported: PDF, PNG, JPG, GIF, WEBP`);return}let n=new FileReader;n.onload=t=>v({name:e.name,data:t.target?.result}),n.readAsDataURL(e)},I=async()=>{if(!n.trim()||u)return;d(!0),a([]),s([]),l(``),w(null),N.current=null,b({in:0,out:0}),oe.current=``,S(``),P(`Studio`,`🎬`,`Planning workflow…`,`system`);let e=new AbortController;M.current=e;try{let t={task:n.trim()};g&&(t[g.name.endsWith(`.pdf`)?`pdfBase64`:`imageBase64`]=g.data,g.name.endsWith(`.pdf`)&&(t.pdfName=g.name));let r=[];try{let n=await fetch(Me()+`/api/studio/plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:e.signal});if(n.ok){let e=await n.json();r=e.steps??e.nodes??[]}}catch{}r.length||(r=[{icon:`🤖`,agent:`general`,label:`Assistant`,status:`waiting`,output:``}]);let i=r.map(e=>({...e,status:`waiting`,output:``}));a(i),P(`Studio`,`📋`,`${i.length} agents planned: ${i.map(e=>e.label).join(` → `)}`,`system`);let o=``,s=[...i];for(let t=0;t<s.length&&!e.signal.aborted;t++){let r=s[t];s[t]={...r,status:`running`,output:``},a([...s]),P(r.label,r.icon,`Running ${r.label}…`,`agent`);let i=``;try{await Ne(`/api/studio/run`,{stepIdx:t,agent:r.agent,task:n.trim(),prompt:(r.reason,void 0),context:o.length>12e4?o.slice(-12e4):o,...t===0&&g?g.name.endsWith(`.pdf`)?{pdfBase64:g.data,pdfName:g.name}:{imageBase64:g.data}:{}},e=>{let n=e.token??e.content??``;n&&(n.startsWith(`[`)&&n.indexOf(`]`)>0&&n.length<80&&!n.includes(`
|
|
394
|
+
`)||(i+=n,s[t]={...s[t],output:i},a([...s])))},e.signal);let{clean:c,canvasBlocks:l}=je(i),u=c||`(no output)`;if(s[t]={...s[t],status:`done`,output:u},a([...s]),o+=`\n\n[${r.label}]:\n${u}`,P(r.label,r.icon,`Done (${u.length} chars)`,`agent`),l.length>0){let e=l[l.length-1];oe.current=e,S(e),O(!0),k(`canvas`),P(r.label,r.icon,`Canvas render captured`,`system`)}}catch(n){if(e.signal.aborted)break;s[t]={...s[t],status:`error`,output:n.message??`Error`},a([...s]),P(r.label,r.icon,`Error: ${n.message}`,`error`)}}let c=s.filter(e=>e.status===`done`&&e.output&&e.output!==`(no output)`&&![`CanvasAgent`,`GitHubAgent`,`EmailAgent`,`CalendarAgent`].includes(e.agent));c.length>=2?(se.current=c,E(c),te(!0),P(`Parlamento`,`🏛️`,`${c.length} agenti pronti — attendi conferma utente`,`system`)):P(`Studio`,`ℹ️`,`Parliament skipped — fewer than 2 eligible specialist agents`,`system`);let u=N.current,d=s.filter(e=>e.output&&e.output!==`(no output)`).map(e=>`## ${e.icon} ${e.label}\n\n${e.output}`).join(`
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
`);if(l(d),P(`Studio`,`✅`,`Workflow completo`,`system`),we(n.trim())&&!oe.current){let e=Te(n.trim(),s.filter(e=>e.output&&e.output!==`(no output)`));oe.current=e,S(e),O(!0),k(`canvas`),P(`Studio`,`📊`,`Financial canvas generated`,`system`)}let f=[{id:`s_${Date.now()}`,task:n.trim(),nodes:s,log:[],result:d,council:u??void 0,canvas:oe.current||void 0,ts:new Date().toISOString()},...De()].slice(0,20);Ee(f),p(f)}catch(e){e instanceof DOMException&&e.name===`AbortError`||P(`Studio`,`❌`,`Fatal: ${e.message}`,`error`)}finally{d(!1),M.current=null}},ce=()=>{M.current?.abort(),d(!1),a(e=>e.map(e=>e.status===`running`?{...e,status:`error`}:e)),P(`Studio`,`⬛`,`Stopped`,`system`)},le=async()=>{let e=se.current;if(!e.length)return;te(!1);let t=M.current??new AbortController;M.current=t;let r={phase:`r2`,r1Convergence:0,r2Convergence:0,converged:!1,r2Nodes:[],synthesis:``};N.current=r,w({...r}),P(`Parlamento`,`🏛️`,`Avvio deliberazione — ${e.length} agenti`,`system`);try{await Ne(`/api/studio/deliberate`,{task:n.trim(),proposals:e.map(e=>({agent:e.agent,label:e.label,icon:e.icon,output:e.output}))},e=>{let t=N.current;if(typeof e.token==`string`){e.token.startsWith(`[`)||P(`Parlamento`,`🏛️`,e.token.trim(),`system`);return}if(e.deliberation_r2){let n=e.deliberation_r2,r={...t,phase:`r2`,r2Nodes:[...t.r2Nodes.filter(e=>e.agent!==n.agent),n]};N.current=r,w({...r}),P(n.label,n.icon,`Posizione raffinata (Round 2)`,`agent`);return}if(e.deliberation_r3){let n=e.deliberation_r3,r={...t,phase:`r3`,synthesis:n.output,converged:n.converged};N.current=r,w({...r}),P(`HERALD`,`📰`,n.converged?`Sintesi consenso`:`Mediazione divergenze`,`agent`);return}if(e.deliberation_done){let n=e;if(n.skipped){let e={...t,phase:`skipped`,skipped:!0,skipReason:n.reason};N.current=e,w({...e})}else{let e={...t,phase:`done`,r1Convergence:n.r1_convergence??t.r1Convergence,r2Convergence:n.r2_convergence??t.r2Convergence,converged:n.converged??t.converged,synthesis:n.mediation??t.synthesis};N.current=e,w({...e}),P(`Parlamento`,`✅`,`Consenso — R2: ${Math.round((n.r2_convergence??0)*100)}%`,`system`)}}},t.signal)}catch(e){t.signal.aborted||P(`Parlamento`,`⚠️`,`Deliberazione fallita: ${e.message}`,`error`)}},ue=e=>{r(e.task),a(e.nodes.map(e=>({...e,status:`done`}))),s(e.log),l(e.result),w(e.council??null),e.canvas&&(S(e.canvas),oe.current=e.canvas),h(!1)},L=e=>{let t=f.filter(t=>t.id!==e);Ee(t),p(t)},fe=()=>{if(!c&&i.length===0)return;let e=i.filter(e=>e.output&&e.output!==`(no output)`),t=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`),r=e=>t(e).replace(/^#{3}\s+(.+)$/gm,`<h3>$1</h3>`).replace(/^#{2}\s+(.+)$/gm,`<h2>$1</h2>`).replace(/^#{1}\s+(.+)$/gm,`<h1>$1</h1>`).replace(/\*\*(.*?)\*\*/g,`<strong>$1</strong>`).replace(/\*(.*?)\*/g,`<em>$1</em>`).replace(/`([^`]+)`/g,`<code>$1</code>`).replace(/^\|\s*(.*?)\s*\|/gm,(e,t)=>`<tr>${t.split(`|`).map(e=>`<td>${e.trim()}</td>`).join(``)}</tr>`).replace(/(<tr>.*?<\/tr>\n?)+/gs,e=>`<table>${e}</table>`).replace(/^[-*]\s+(.+)$/gm,`<li>$1</li>`).replace(/(<li>.*?<\/li>\n?)+/gs,e=>`<ul>${e}</ul>`).replace(/\n{2,}/g,`</p><p>`).replace(/^(?!<[a-zA-Z])(.+)$/gm,`$1<br>`),a=e.map(e=>{let t=(e.output.match(/bullish|buy|positive|strong|upside|growth/gi)??[]).length,n=(e.output.match(/bearish|sell|negative|weak|risk|downside/gi)??[]).length;return Math.max(5,Math.min(95,50+(t-n)*6))}),o=Math.floor(Math.min(560,e.length*80)),s=e.length>0?Math.floor(o/e.length)-6:40,l=e.length>=2?`
|
|
399
|
+
<div class="chart-section">
|
|
400
|
+
<h3 class="chart-title">Agent Sentiment Scores</h3>
|
|
401
|
+
<svg width="${o}" height="120" viewBox="0 0 ${o} 120" xmlns="http://www.w3.org/2000/svg">
|
|
402
|
+
<rect width="${o}" height="120" fill="#f8fafc" rx="6"/>
|
|
403
|
+
${a.map((t,n)=>{let r=n*(s+6)+4,i=Math.round(t*.8),a=100-i,o=t>=65?`#22c55e`:t<=35?`#ef4444`:`#f59e0b`;return`<rect x="${r}" y="${a}" width="${s}" height="${i}" fill="${o}" rx="3"/>
|
|
404
|
+
<text x="${r+s/2}" y="114" text-anchor="middle" font-size="8" fill="#64748b">${e[n].label.slice(0,8)}</text>
|
|
405
|
+
<text x="${r+s/2}" y="${a-4}" text-anchor="middle" font-size="9" font-weight="bold" fill="${o}">${t}%</text>`}).join(``)}
|
|
406
|
+
<line x1="0" y1="100" x2="${o}" y2="100" stroke="#e2e8f0" stroke-width="1"/>
|
|
407
|
+
</svg>
|
|
408
|
+
</div>`:``,u=C?.synthesis?`<div class="section parliament"><div class="agent-header"><span class="icon">🏛️</span><div class="agent-name">Parliament — HERALD Synthesis</div></div><div class="section-body"><p>${r(C.synthesis)}</p></div></div>`:``,d=`<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>NHA Studio — ${t(n)}</title>
|
|
409
|
+
<style>
|
|
410
|
+
*{box-sizing:border-box;margin:0;padding:0}
|
|
411
|
+
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1e293b;background:#fff;font-size:13px;line-height:1.75;padding:40px;max-width:900px;margin:0 auto}
|
|
412
|
+
.cover{background:linear-gradient(135deg,#1e1b4b 0%,#312e81 50%,#0f172a 100%);color:#fff;padding:48px 52px;margin-bottom:36px;border-radius:12px;page-break-after:always}
|
|
413
|
+
.cover h1{color:#fff;font-size:28px;font-weight:900;margin-bottom:6px;letter-spacing:-0.5px}
|
|
414
|
+
.cover .meta{color:rgba(255,255,255,.55);font-size:11px;margin-bottom:18px}
|
|
415
|
+
.task{color:rgba(255,255,255,.85);font-size:14px;padding:14px 18px;background:rgba(255,255,255,.07);border-radius:8px;border-left:3px solid #818cf8;line-height:1.6}
|
|
416
|
+
.toc{margin-bottom:32px;padding:16px 20px;background:#f1f5f9;border-radius:8px;border-left:3px solid #6366f1}
|
|
417
|
+
.toc h3{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
|
|
418
|
+
.toc-item{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px;color:#334155}
|
|
419
|
+
.toc-icon{font-size:14px;width:20px;text-align:center}
|
|
420
|
+
.section{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid #e2e8f0;page-break-inside:avoid}
|
|
421
|
+
.section.parliament{background:linear-gradient(135deg,#ede9fe,#f0f9ff);padding:20px 24px;border-radius:10px;border:1px solid #c4b5fd;border-bottom:1px solid #c4b5fd}
|
|
422
|
+
.agent-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}
|
|
423
|
+
.icon{font-size:22px;width:32px;text-align:center}
|
|
424
|
+
.agent-name{font-size:15px;font-weight:800;color:#0f172a}
|
|
425
|
+
.section-body{font-size:13px;line-height:1.8;color:#374151}
|
|
426
|
+
.section-body h1{font-size:17px;font-weight:800;margin:20px 0 10px;color:#0f172a;padding-bottom:6px;border-bottom:2px solid #6366f1}
|
|
427
|
+
.section-body h2{font-size:14px;font-weight:700;margin:16px 0 8px;color:#0f172a;padding-left:10px;border-left:3px solid #4f46e5}
|
|
428
|
+
.section-body h3{font-size:13px;font-weight:700;margin:12px 0 6px;color:#7c3aed;padding-left:8px;border-left:2px solid #7c3aed}
|
|
429
|
+
.section-body strong{color:#0f172a;font-weight:700}
|
|
430
|
+
.section-body em{font-style:italic;color:#64748b}
|
|
431
|
+
.section-body code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:11px;color:#7c3aed}
|
|
432
|
+
.section-body table{width:100%;border-collapse:collapse;margin:14px 0}
|
|
433
|
+
.section-body th{background:#f1f5f9;color:#0f172a;font-weight:700;padding:8px 12px;text-align:left;border:1px solid #e2e8f0;font-size:11px;text-transform:uppercase;letter-spacing:0.5px}
|
|
434
|
+
.section-body td{padding:8px 12px;border:1px solid #e2e8f0;color:#374151;font-size:12px}
|
|
435
|
+
.section-body tr:nth-child(even) td{background:#f8fafc}
|
|
436
|
+
.section-body ul{padding-left:20px;margin:8px 0}
|
|
437
|
+
.section-body li{margin-bottom:4px}
|
|
438
|
+
.section-body p{margin:0 0 8px}
|
|
439
|
+
.chart-section{margin:24px 0;padding:16px 20px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}
|
|
440
|
+
.chart-title{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px}
|
|
441
|
+
.footer{margin-top:48px;padding-top:16px;border-top:1px solid #e2e8f0;color:#94a3b8;font-size:10px;text-align:center}
|
|
442
|
+
@media print{.cover{page-break-after:always}.section{page-break-inside:avoid}}
|
|
443
|
+
</style></head><body>
|
|
444
|
+
<div class="cover">
|
|
445
|
+
<h1>NHA Studio Report</h1>
|
|
446
|
+
<div class="meta">Generated ${new Date().toLocaleString()} · ${e.length} agents · ${C?.phase===`done`?`🏛️ Parliament`:`Solo analysis`}</div>
|
|
447
|
+
<div class="task">${t(n)}</div>
|
|
448
|
+
</div>
|
|
449
|
+
<div class="toc">
|
|
450
|
+
<h3>Table of Contents</h3>
|
|
451
|
+
${e.map(e=>`<div class="toc-item"><span class="toc-icon">${e.icon}</span>${e.label}</div>`).join(``)}
|
|
452
|
+
${C?.synthesis?`<div class="toc-item"><span class="toc-icon">🏛️</span>Parliament Synthesis</div>`:``}
|
|
453
|
+
</div>
|
|
454
|
+
${l}
|
|
455
|
+
${e.map(e=>`<div class="section"><div class="agent-header"><span class="icon">${e.icon}</span><div class="agent-name">${e.label}</div></div><div class="section-body"><p>${r(e.output)}</p></div></div>`).join(``)}
|
|
456
|
+
${u}
|
|
457
|
+
<div class="footer">NHA Studio · nothumanallowed.com · ${new Date().getFullYear()}</div>
|
|
458
|
+
</body></html>`,f=new Blob([d],{type:`text/html`}),p=URL.createObjectURL(f),m=document.createElement(`a`);m.href=p,m.download=`nha-report-${Date.now()}.html`,m.click(),URL.revokeObjectURL(p);let h=window.open(``,`_blank`,`width=1100,height=800`);h&&(h.document.open(),h.document.write(d),h.document.close(),h.onload=()=>setTimeout(()=>{h.focus(),h.print()},600))},pe=t=>{let n=`**Studio Workflow Result**\n\nTask: ${t.task}\n\nAgents: ${t.nodes.map(e=>e.label).join(` → `)}\n\n---\n\n${t.result}`;try{sessionStorage.setItem(`nha_studio_import`,n)}catch{}e(`chat`)},me=i.some(e=>e.output||e.status===`running`);return(0,A.jsxs)(`div`,{className:R.root,children:[(0,A.jsxs)(`div`,{className:R.header,children:[(0,A.jsxs)(`div`,{className:R.headerLeft,children:[(0,A.jsx)(`div`,{className:R.title,children:`Studio`}),(0,A.jsx)(`div`,{className:R.subtitle,children:`Multi-agent orchestration · Parliament deliberation · Geth Consensus`})]}),(0,A.jsxs)(`div`,{className:R.headerActions,children:[y.in+y.out>0&&(0,A.jsxs)(`div`,{className:R.tokenBar,children:[(0,A.jsxs)(`span`,{className:R.tokIn,children:[`↑ `,y.in.toLocaleString()]}),(0,A.jsx)(`span`,{className:R.tokDim,children:` in `}),(0,A.jsxs)(`span`,{className:R.tokOut,children:[`↓ `,y.out.toLocaleString()]}),(0,A.jsx)(`span`,{className:R.tokDim,children:` out`})]}),(0,A.jsxs)(`button`,{className:R.sessionsBtn,onClick:()=>h(e=>!e),children:[`Sessions (`,f.length,`)`]}),x&&(0,A.jsx)(`button`,{className:R.canvasToggleBtn,onClick:()=>{O(!0),k(`canvas`)},children:`📊 Panel`}),c&&(0,A.jsx)(`button`,{className:R.pdfBtn,onClick:fe,children:`⬇ PDF / HTML`})]})]}),m&&(0,A.jsxs)(`div`,{className:R.sessionsDrawer,children:[f.length===0&&(0,A.jsx)(`div`,{className:R.noSessions,children:`No saved sessions yet.`}),f.map(e=>(0,A.jsxs)(`div`,{className:R.sessionItem,children:[(0,A.jsxs)(`div`,{className:R.sessionInfo,onClick:()=>ue(e),children:[(0,A.jsx)(`div`,{className:R.sessionTask,children:e.task.slice(0,80)}),(0,A.jsxs)(`div`,{className:R.sessionMeta,children:[e.ts.slice(0,16),` · `,e.nodes.length,` agents`,e.council?.phase===`done`?` · 🏛️ Parliament`:``]})]}),(0,A.jsxs)(`div`,{className:R.sessionBtns,children:[(0,A.jsx)(`button`,{className:R.importBtn,onClick:()=>pe(e),children:`→ Chat`}),(0,A.jsx)(`button`,{className:R.delSessionBtn,onClick:()=>L(e.id),children:`✕`})]})]},e.id))]}),(0,A.jsxs)(`div`,{className:R.inputArea,children:[(0,A.jsxs)(`div`,{className:R.inputRow,children:[(0,A.jsx)(`textarea`,{className:R.taskInput,value:n,onChange:e=>r(e.target.value),placeholder:`Describe your task… e.g. Analyze my emails and create a priority action plan`,rows:2,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),I())}}),(0,A.jsxs)(`div`,{className:R.inputControls,children:[u?(0,A.jsx)(`button`,{className:R.stopBtn,onClick:ce,children:`■ Stop`}):(0,A.jsx)(`button`,{className:R.runBtn,onClick:I,disabled:!n.trim(),children:`Run ▶`}),(0,A.jsxs)(`label`,{className:R.attachBtn,title:`Attach PDF or image`,children:[`📎`,(0,A.jsx)(`input`,{type:`file`,accept:`.pdf,.png,.jpg,.jpeg,.gif,.webp`,style:{display:`none`},onChange:e=>F(e.target.files?.[0])})]})]})]}),g&&(0,A.jsxs)(`div`,{className:R.attachBadge,children:[`📎 `,g.name,(0,A.jsx)(`button`,{className:R.clearAttach,onClick:()=>v(null),children:`✕`})]}),!u&&i.length===0&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:R.examples,children:ve.map((e,t)=>(0,A.jsx)(`button`,{className:R.exampleBtn,onClick:()=>r(e),children:e},t))}),(0,A.jsxs)(`div`,{className:R.financeSection,children:[(0,A.jsx)(`div`,{className:R.financeSectionTitle,children:`📈 Finance & Trading Workflows`}),(0,A.jsx)(`div`,{className:R.financePresets,children:ge.map((e,t)=>(0,A.jsx)(`button`,{className:R.financeBtn,onClick:()=>{r(e.task),a(e.agents)},children:e.label},t))})]})]})]}),(0,A.jsxs)(`div`,{className:R.body,children:[i.length>0&&(0,A.jsxs)(`div`,{className:`${R.pipeline} ${u?R.pipelineRunning:``}`,children:[(0,A.jsxs)(`div`,{className:R.pipelineTitle,children:[`Agent Pipeline`,u&&(0,A.jsx)(`span`,{className:R.pipelineLiveTag,children:`● LIVE`})]}),(0,A.jsx)(`div`,{className:R.pipelineNodes,children:i.map((e,t)=>(0,A.jsxs)(`div`,{className:R.pipelineStep,children:[(0,A.jsx)(Ce,{node:e}),t<i.length-1&&(0,A.jsx)(`div`,{className:`${R.arrow} ${u?R.arrowActive:``}`,children:`→`})]},t))}),i.some(e=>e.reason)&&(0,A.jsx)(`div`,{className:R.reasonRow,children:i.map((e,t)=>e.reason?(0,A.jsxs)(`div`,{className:R.reasonChip,title:e.reason,children:[(0,A.jsx)(`span`,{className:R.reasonIcon,children:e.icon}),(0,A.jsxs)(`span`,{className:R.reasonText,children:[e.reason.slice(0,60),e.reason.length>60?`…`:``]})]},t):null)})]}),(o.length>0||me)&&(0,A.jsxs)(`div`,{className:R.twoCol,children:[(0,A.jsxs)(`div`,{className:R.logPanel,children:[(0,A.jsx)(`div`,{className:R.panelTitle,children:`Live Log`}),(0,A.jsx)(`div`,{className:R.logBody,ref:ae,children:o.map((e,t)=>(0,A.jsxs)(`div`,{className:`${R.logEntry} ${R[`log_${e.type}`]}`,children:[(0,A.jsx)(`span`,{className:R.logTime,children:e.time}),(0,A.jsx)(`span`,{className:R.logIcon,children:e.icon}),(0,A.jsx)(`span`,{className:R.logAgent,children:e.agent}),(0,A.jsx)(`span`,{className:R.logText,children:e.text})]},t))})]}),(0,A.jsx)(`div`,{className:R.liveOutputPanel,children:i.filter(e=>e.output||e.status===`running`).map((e,t)=>(0,A.jsxs)(`div`,{className:`${R.liveBlock} ${e.status===`running`?R.liveBlockActive:``}`,children:[(0,A.jsxs)(`div`,{className:R.liveBlockHeader,children:[(0,A.jsx)(`span`,{className:R.liveBlockIcon,children:e.icon}),(0,A.jsx)(`span`,{className:R.liveBlockLabel,children:e.label}),e.reason&&(0,A.jsx)(`span`,{className:R.liveBlockReason,title:e.reason,children:`ℹ`}),(0,A.jsx)(`span`,{className:`${R.outputStatus} ${R[`status_${e.status}`]}`,children:e.status})]}),(0,A.jsx)(`div`,{className:R.liveBlockBody,dangerouslySetInnerHTML:{__html:de(e.output)+(e.status===`running`?`<span class="studio-cursor"></span>`:``)}})]},t))})]}),ee&&(0,A.jsxs)(`div`,{className:R.parliamentPrompt,children:[(0,A.jsx)(`div`,{className:R.parliamentPromptIcon,children:`🏛️`}),(0,A.jsxs)(`div`,{className:R.parliamentPromptContent,children:[(0,A.jsx)(`div`,{className:R.parliamentPromptTitle,children:`Attivare il Parlamento?`}),(0,A.jsxs)(`div`,{className:R.parliamentPromptDesc,children:[T.length,` agenti (`,T.map(e=>e.label).join(`, `),`) hanno prodotto output. Il Geth Consensus eseguirà cross-reading, refinement e mediazione HERALD per raggiungere un consenso collettivo.`]}),(0,A.jsxs)(`div`,{className:R.parliamentPromptMeta,children:[`Complessità: `,T.length<=3?`⚡ Rapido (~30s)`:T.length<=5?`⏱ Medio (~60s)`:`🕐 Lungo (~2min)`,`\xA0· Consigliato per task analitici complessi`]})]}),(0,A.jsxs)(`div`,{className:R.parliamentPromptBtns,children:[(0,A.jsx)(`button`,{className:R.parliamentActivateBtn,onClick:le,children:`🏛️ Attiva`}),(0,A.jsx)(`button`,{className:R.parliamentSkipBtn,onClick:()=>te(!1),children:`Salta`})]})]}),C&&!ee&&(0,A.jsx)(`div`,{className:R.councilWrapper,children:(0,A.jsx)(Fe,{council:C})}),c&&!u&&(0,A.jsxs)(`details`,{className:R.resultAccordion,open:i.length<=1,children:[(0,A.jsxs)(`summary`,{className:R.resultAccordionSummary,children:[`Full Combined Report (`,i.filter(e=>e.output&&e.output!==`(no output)`).length,` agents)`]}),(0,A.jsx)(`div`,{className:R.resultAccordionBody,dangerouslySetInnerHTML:{__html:de(c)}})]})]}),D&&(0,A.jsxs)(`div`,{className:R.canvasPanel,children:[(0,A.jsxs)(`div`,{className:R.canvasPanelHeader,children:[(0,A.jsxs)(`div`,{className:R.panelTabs,children:[(0,A.jsx)(`button`,{className:`${R.panelTabBtn} ${re===`canvas`?R.panelTabActive:``}`,onClick:()=>k(`canvas`),children:`📊 Canvas`}),(0,A.jsx)(`button`,{className:`${R.panelTabBtn} ${re===`browser`?R.panelTabActive:``}`,onClick:()=>k(`browser`),children:`🌐 Browser`})]}),(0,A.jsxs)(`div`,{className:R.canvasPanelActions,children:[re===`canvas`&&x&&(0,A.jsx)(`button`,{className:R.canvasPanelBtn,onClick:()=>{let e=new Blob([x],{type:`text/html`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`nha-canvas-report.html`,n.click(),URL.revokeObjectURL(t)},children:`⬇ HTML`}),(0,A.jsx)(`button`,{className:R.canvasPanelClose,onClick:()=>O(!1),children:`✕`})]})]}),re===`canvas`?x?(0,A.jsx)(`iframe`,{className:R.canvasFrame,srcDoc:x,sandbox:`allow-scripts`,title:`Canvas Report`}):(0,A.jsx)(`div`,{className:R.panelEmpty,children:`No canvas report yet. Run a workflow first.`}):(0,A.jsxs)(`div`,{className:R.browserPanel,children:[(0,A.jsxs)(`div`,{className:R.browserBar,children:[(0,A.jsx)(`input`,{className:R.browserInput,value:ie,onChange:e=>j(e.target.value),placeholder:`https://…`,onKeyDown:e=>{e.key===`Enter`&&j(ie)}}),(0,A.jsx)(`button`,{className:R.browserGo,onClick:()=>j(ie),children:`Go`})]}),ie?(0,A.jsx)(`iframe`,{className:R.canvasFrame,src:ie,sandbox:`allow-scripts allow-same-origin allow-forms`,title:`Browser`}):(0,A.jsx)(`div`,{className:R.panelEmpty,children:`Enter a URL above to browse`})]})]})]})}var z={root:`_root_13wnr_2`,hero:`_hero_13wnr_12`,heroLeft:`_heroLeft_13wnr_21`,heroDate:`_heroDate_13wnr_22`,heroTitle:`_heroTitle_13wnr_23`,heroVer:`_heroVer_13wnr_24`,heroUptime:`_heroUptime_13wnr_25`,heroWeather:`_heroWeather_13wnr_27`,wIcon:`_wIcon_13wnr_35`,wInfo:`_wInfo_13wnr_36`,wTemp:`_wTemp_13wnr_37`,wCity:`_wCity_13wnr_38`,wDesc:`_wDesc_13wnr_39`,wEmpty:`_wEmpty_13wnr_40`,kpiRow:`_kpiRow_13wnr_43`,kpi:`_kpi_13wnr_43`,kpiNum:`_kpiNum_13wnr_55`,kpiLbl:`_kpiLbl_13wnr_56`,kpiBar:`_kpiBar_13wnr_57`,kpiFill:`_kpiFill_13wnr_58`,liveGrid:`_liveGrid_13wnr_61`,liveCard:`_liveCard_13wnr_67`,liveHdr:`_liveHdr_13wnr_71`,liveMore:`_liveMore_13wnr_79`,liveRow:`_liveRow_13wnr_81`,liveUnread:`_liveUnread_13wnr_89`,liveTitle:`_liveTitle_13wnr_89`,liveTime:`_liveTime_13wnr_91`,liveBody:`_liveBody_13wnr_95`,liveSub:`_liveSub_13wnr_97`,prio:`_prio_13wnr_99`,prio_high:`_prio_high_13wnr_103`,prio_medium:`_prio_medium_13wnr_104`,prio_low:`_prio_low_13wnr_105`,launcher:`_launcher_13wnr_108`,launchGroup:`_launchGroup_13wnr_115`,launchGroupLabel:`_launchGroupLabel_13wnr_117`,launchTiles:`_launchTiles_13wnr_123`,tile:`_tile_13wnr_129`,tileIcon:`_tileIcon_13wnr_143`,tileLabel:`_tileLabel_13wnr_144`},Le=[{view:`chat`,icon:`💬`,label:`Chat`,color:`#38bdf8`,group:`Panoramica`},{view:`plan`,icon:`🗓️`,label:`Daily Plan`,color:`#818cf8`,group:`Panoramica`},{view:`tasks`,icon:`✅`,label:`Tasks`,color:`#4ade80`,group:`Panoramica`},{view:`email`,icon:`📧`,label:`Email`,color:`#f87171`,group:`Google`},{view:`calendar`,icon:`📅`,label:`Calendar`,color:`#fb923c`,group:`Google`},{view:`drive`,icon:`💾`,label:`Drive`,color:`#facc15`,group:`Google`},{view:`contacts`,icon:`👤`,label:`Contacts`,color:`#34d399`,group:`Google`},{view:`notes`,icon:`📝`,label:`Notes`,color:`#a78bfa`,group:`Google`},{view:`onedrive`,icon:`☁️`,label:`OneDrive`,color:`#60a5fa`,group:`Microsoft`},{view:`mstodo`,icon:`📋`,label:`MS Todo`,color:`#38bdf8`,group:`Microsoft`},{view:`github`,icon:`🐙`,label:`GitHub`,color:`#e2e8f0`,group:`Tools`},{view:`notion`,icon:`📓`,label:`Notion`,color:`#94a3b8`,group:`Tools`},{view:`slack`,icon:`💼`,label:`Slack`,color:`#e879f9`,group:`Tools`},{view:`maps`,icon:`🗺️`,label:`Maps`,color:`#2dd4bf`,group:`Tools`},{view:`reminders`,icon:`🔔`,label:`Reminders`,color:`#fbbf24`,group:`Tools`},{view:`birthdays`,icon:`🎂`,label:`Birthdays`,color:`#f472b6`,group:`Tools`},{view:`cron`,icon:`⏰`,label:`Cron`,color:`#fb923c`,group:`Tools`},{view:`screen`,icon:`🖥️`,label:`Screen`,color:`#64748b`,group:`Tools`},{view:`agents`,icon:`🤖`,label:`Agents`,color:`#4ade80`,group:`AI`},{view:`studio`,icon:`🎭`,label:`Studio`,color:`#a78bfa`,group:`AI`},{view:`webcraft`,icon:`🔨`,label:`WebCraft`,color:`#f59e0b`,group:`AI`},{view:`collab`,icon:`🏛️`,label:`Alexandria`,color:`#38bdf8`,group:`AI`},{view:`connectors`,icon:`🔗`,label:`Connectors`,color:`#94a3b8`,group:`Config`},{view:`settings`,icon:`⚙️`,label:`Settings`,color:`#64748b`,group:`Config`}],Re={Sunny:`☀️`,Clear:`☀️`,"Partly Cloudy":`⛅`,"Partly cloudy":`⛅`,Cloudy:`☁️`,Overcast:`☁️`,"Light rain":`🌧️`,Rain:`🌧️`,Drizzle:`🌧️`,"Moderate rain":`🌧️`,"Heavy rain":`🌧️`,Snow:`❄️`,"Light snow":`❄️`,Fog:`🌫️`,Mist:`🌫️`,Thunder:`⚡`,"Thundery outbreaks":`⚡`};function ze(e){try{return new Date(e).toLocaleTimeString(`en`,{hour:`2-digit`,minute:`2-digit`,hour12:!1})}catch{return e}}function Be(e){try{return new Date(e).toLocaleDateString(`en`,{month:`short`,day:`numeric`})}catch{return e}}function Ve(){let e=ne(e=>e.setView),t=F(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(new Date);(0,_.useEffect)(()=>{let e=setInterval(()=>p(new Date),6e4);return()=>clearInterval(e)},[]),(0,_.useEffect)(()=>{let e=!0,t=t=>n=>{e&&n!=null&&t(n)};E(`/api/tasks`).then(e=>t(r)(e?.tasks??[])),E(`/api/emails?page=0&pageSize=8`).then(e=>t(a)(e?.emails??[])),E(`/api/calendar`).then(e=>t(s)(e?.events??[])),E(`/api/status`).then(t(l));let n=localStorage.getItem(`nha_weather_location`),i=t=>E(`/api/weather?location=${encodeURIComponent(t)}`).then(t=>{e&&t?.tempC&&d(t)});return n?i(n):navigator.geolocation?.getCurrentPosition(e=>i(`${e.coords.latitude.toFixed(4)},${e.coords.longitude.toFixed(4)}`),()=>{},{timeout:6e3}),()=>{e=!1}},[]);let m=n.filter(e=>e.status!==`done`),h=n.filter(e=>e.status===`done`),g=n.length>0?Math.round(h.length/n.length*100):0,v=i.filter(e=>e.isUnread).length,y=f.toLocaleDateString(`en`,{weekday:`long`,month:`long`,day:`numeric`}),b=[...new Set(Le.map(e=>e.group))];return(0,A.jsxs)(`div`,{className:z.root,children:[(0,A.jsxs)(`div`,{className:z.hero,children:[(0,A.jsxs)(`div`,{className:z.heroLeft,children:[(0,A.jsx)(`div`,{className:z.heroDate,children:y}),(0,A.jsx)(`div`,{className:z.heroTitle,children:c?(0,A.jsxs)(A.Fragment,{children:[`NHA `,(0,A.jsxs)(`span`,{className:z.heroVer,children:[`v`,c.version]}),` · `,(0,A.jsxs)(`span`,{className:z.heroUptime,children:[Math.floor(c.uptime/60),`m uptime`]})]}):`NotHumanAllowed`})]}),(0,A.jsx)(`div`,{className:z.heroWeather,onClick:()=>{let e=prompt(`City or lat,lon:`);e&&(localStorage.setItem(`nha_weather_location`,e),location.reload())},children:u?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{className:z.wIcon,children:Re[u.desc]??u.icon??`🌡️`}),(0,A.jsxs)(`div`,{className:z.wInfo,children:[(0,A.jsxs)(`span`,{className:z.wTemp,children:[u.tempC,`°C`]}),(0,A.jsxs)(`span`,{className:z.wCity,children:[u.city.split(`,`)[0],u.country?`, ${u.country.slice(0,2).toUpperCase()}`:``]}),(0,A.jsxs)(`span`,{className:z.wDesc,children:[u.desc,` · 💧`,u.humidity,`%`]})]})]}):(0,A.jsxs)(`span`,{className:z.wEmpty,children:[`🌡️ `,t(`dashboard.weather`)]})})]}),(0,A.jsxs)(`div`,{className:z.kpiRow,children:[(0,A.jsxs)(`div`,{className:z.kpi,onClick:()=>e(`tasks`),role:`button`,children:[(0,A.jsx)(`span`,{className:z.kpiNum,children:m.length}),(0,A.jsx)(`span`,{className:z.kpiLbl,children:`Pending tasks`}),n.length>0&&(0,A.jsx)(`div`,{className:z.kpiBar,children:(0,A.jsx)(`div`,{className:z.kpiFill,style:{width:`${g}%`}})})]}),(0,A.jsxs)(`div`,{className:z.kpi,onClick:()=>e(`email`),role:`button`,children:[(0,A.jsx)(`span`,{className:z.kpiNum,children:v>0?v:i.length}),(0,A.jsx)(`span`,{className:z.kpiLbl,children:v>0?`Unread emails`:`Emails`})]}),(0,A.jsxs)(`div`,{className:z.kpi,onClick:()=>e(`calendar`),role:`button`,children:[(0,A.jsx)(`span`,{className:z.kpiNum,children:o.length}),(0,A.jsx)(`span`,{className:z.kpiLbl,children:`Today's events`})]}),u&&(0,A.jsxs)(`div`,{className:z.kpi,children:[(0,A.jsxs)(`span`,{className:z.kpiNum,children:[u.feelsC,`°`]}),(0,A.jsx)(`span`,{className:z.kpiLbl,children:`Feels like`})]})]}),(0,A.jsxs)(`div`,{className:z.liveGrid,children:[o.length>0&&(0,A.jsxs)(`div`,{className:z.liveCard,children:[(0,A.jsxs)(`div`,{className:z.liveHdr,onClick:()=>e(`calendar`),role:`button`,children:[(0,A.jsxs)(`span`,{children:[`📅 `,t(`calendar.title`)]}),(0,A.jsx)(`span`,{className:z.liveMore,children:`→`})]}),o.slice(0,5).map((t,n)=>(0,A.jsxs)(`div`,{className:z.liveRow,onClick:()=>e(`calendar`),role:`button`,children:[(0,A.jsx)(`span`,{className:z.liveTime,children:t.isAllDay?`All day`:ze(t.start)}),(0,A.jsxs)(`div`,{className:z.liveBody,children:[(0,A.jsx)(`span`,{className:z.liveTitle,children:t.summary}),t.location&&(0,A.jsx)(`span`,{className:z.liveSub,children:t.location})]})]},n))]}),i.length>0&&(0,A.jsxs)(`div`,{className:z.liveCard,children:[(0,A.jsxs)(`div`,{className:z.liveHdr,onClick:()=>e(`email`),role:`button`,children:[(0,A.jsxs)(`span`,{children:[`📧 `,t(`email.inbox`)]}),(0,A.jsx)(`span`,{className:z.liveMore,children:`→`})]}),i.slice(0,5).map((t,n)=>(0,A.jsxs)(`div`,{className:`${z.liveRow} ${t.isUnread?z.liveUnread:``}`,onClick:()=>e(`email`),role:`button`,children:[(0,A.jsx)(`span`,{className:z.liveTime,children:Be(t.date)}),(0,A.jsxs)(`div`,{className:z.liveBody,children:[(0,A.jsx)(`span`,{className:z.liveTitle,children:t.subject}),(0,A.jsx)(`span`,{className:z.liveSub,children:t.from})]})]},n))]}),m.length>0&&(0,A.jsxs)(`div`,{className:z.liveCard,children:[(0,A.jsxs)(`div`,{className:z.liveHdr,onClick:()=>e(`tasks`),role:`button`,children:[(0,A.jsxs)(`span`,{children:[`✅ `,t(`tasks.title`),` · `,h.length,`/`,n.length,` (`,g,`%)`]}),(0,A.jsx)(`span`,{className:z.liveMore,children:`→`})]}),m.slice(0,5).map((t,n)=>(0,A.jsxs)(`div`,{className:z.liveRow,onClick:()=>e(`tasks`),role:`button`,children:[(0,A.jsx)(`span`,{className:`${z.prio} ${z[`prio_`+t.priority]}`,children:t.priority[0].toUpperCase()}),(0,A.jsx)(`div`,{className:z.liveBody,children:(0,A.jsx)(`span`,{className:z.liveTitle,children:t.description})})]},n))]})]}),(0,A.jsx)(`div`,{className:z.launcher,children:b.map(t=>(0,A.jsxs)(`div`,{className:z.launchGroup,children:[(0,A.jsx)(`div`,{className:z.launchGroupLabel,children:t}),(0,A.jsx)(`div`,{className:z.launchTiles,children:Le.filter(e=>e.group===t).map(t=>(0,A.jsxs)(`button`,{className:z.tile,onClick:()=>e(t.view),style:{"--tc":t.color},children:[(0,A.jsx)(`span`,{className:z.tileIcon,children:t.icon}),(0,A.jsx)(`span`,{className:z.tileLabel,children:t.label})]},t.view))})]},t))})]})}var He={root:`_root_1pldx_1`,loading:`_loading_1pldx_2`,bar:`_bar_1pldx_4`,input:`_input_1pldx_5`,select:`_select_1pldx_6`,addBtn:`_addBtn_1pldx_7`,actions:`_actions_1pldx_10`,clearDone:`_clearDone_1pldx_11`,clearAll:`_clearAll_1pldx_12`,stats:`_stats_1pldx_14`,progress:`_progress_1pldx_15`,progressBar:`_progressBar_1pldx_16`,empty:`_empty_1pldx_18`,task:`_task_1pldx_20`,taskDone:`_taskDone_1pldx_22`,check:`_check_1pldx_23`,checkDone:`_checkDone_1pldx_25`,desc:`_desc_1pldx_26`,del:`_del_1pldx_27`,badge:`_badge_1pldx_30`,badge_high:`_badge_high_1pldx_31`,badge_medium:`_badge_medium_1pldx_32`,badge_low:`_badge_low_1pldx_33`,doneLabel:`_doneLabel_1pldx_35`};function Ue(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(`medium`),[l,u]=(0,_.useState)(!1),d=(0,_.useRef)(null),f=()=>E(`/api/tasks`).then(e=>{n(e?.tasks??[]),i(!1)});(0,_.useEffect)(()=>{f()},[]);let p=async()=>{a.trim()&&(u(!0),await D(`/api/tasks`,{description:a.trim(),priority:s}),o(``),u(!1),f(),d.current?.focus())},m=e=>D(`/api/tasks/${e}/done`,{},`PATCH`).then(f),h=e=>D(`/api/tasks/${e}/delete`,{}).then(f),g=()=>D(`/api/tasks/clear`,{filter:`done`}).then(f),v=()=>{confirm(e(`tasks.deleteTask`))&&D(`/api/tasks/clear`,{filter:`all`}).then(f)},y=t.filter(e=>e.status!==`done`),b=t.filter(e=>e.status===`done`);return r?(0,A.jsxs)(`div`,{className:He.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]}):(0,A.jsxs)(`div`,{className:He.root,children:[(0,A.jsxs)(`div`,{className:He.bar,children:[(0,A.jsx)(`input`,{ref:d,className:He.input,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>e.key===`Enter`&&p(),placeholder:e(`tasks.newTask`)}),(0,A.jsxs)(`select`,{className:He.select,value:s,onChange:e=>c(e.target.value),children:[(0,A.jsx)(`option`,{value:`high`,children:`High`}),(0,A.jsx)(`option`,{value:`medium`,children:`Medium`}),(0,A.jsx)(`option`,{value:`low`,children:`Low`})]}),(0,A.jsx)(`button`,{className:He.addBtn,onClick:p,disabled:l||!a.trim(),children:l?`…`:`+ `+e(`common.add`)})]}),t.length>0&&(0,A.jsxs)(`div`,{className:He.actions,children:[(0,A.jsx)(`button`,{className:He.clearDone,onClick:g,children:`Clear completed`}),(0,A.jsx)(`button`,{className:He.clearAll,onClick:v,children:`Clear all`})]}),t.length>0&&(0,A.jsxs)(`div`,{className:He.stats,children:[y.length,` pending · `,b.length,` done`,t.length>0&&(0,A.jsx)(`span`,{className:He.progress,children:(0,A.jsx)(`span`,{className:He.progressBar,style:{width:`${Math.round(b.length/t.length*100)}%`}})})]}),y.length===0&&b.length===0&&(0,A.jsx)(`div`,{className:He.empty,children:`No tasks yet. Add one above ↑`}),y.map(e=>(0,A.jsxs)(`div`,{className:He.task,children:[(0,A.jsx)(`span`,{className:He.check,onClick:()=>m(e.id)}),(0,A.jsx)(`span`,{className:He.desc,onClick:()=>m(e.id),children:e.description}),(0,A.jsx)(`span`,{className:`${He.badge} ${He[`badge_`+e.priority]}`,children:e.priority}),(0,A.jsx)(`span`,{className:He.del,onClick:()=>h(e.id),children:`×`})]},e.id)),b.length>0&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:He.doneLabel,children:`Completed`}),b.map(e=>(0,A.jsxs)(`div`,{className:`${He.task} ${He.taskDone}`,children:[(0,A.jsx)(`span`,{className:`${He.check} ${He.checkDone}`,onClick:()=>m(e.id),children:`✓`}),(0,A.jsx)(`span`,{className:He.desc,onClick:()=>m(e.id),children:e.description}),(0,A.jsx)(`span`,{className:`${He.badge} ${He[`badge_`+e.priority]}`,children:e.priority}),(0,A.jsx)(`span`,{className:He.del,onClick:()=>h(e.id),children:`×`})]},e.id))]})]})}var B={root:`_root_1jj88_1`,loading:`_loading_1jj88_2`,card:`_card_1jj88_4`,cardTitle:`_cardTitle_1jj88_5`,cardTitleRow:`_cardTitleRow_1jj88_6`,cardSub:`_cardSub_1jj88_7`,connected:`_connected_1jj88_8`,statusMsg:`_statusMsg_1jj88_9`,fields:`_fields_1jj88_11`,field:`_field_1jj88_11`,fieldLabel:`_fieldLabel_1jj88_13`,fieldInput:`_fieldInput_1jj88_14`,saveBtn:`_saveBtn_1jj88_17`,dangerBtn:`_dangerBtn_1jj88_18`,cancelBtn:`_cancelBtn_1jj88_19`,btnRow:`_btnRow_1jj88_20`,keySet:`_keySet_1jj88_22`,nhaFree:`_nhaFree_1jj88_24`,nhaFreeTitle:`_nhaFreeTitle_1jj88_25`,nhaFreeSub:`_nhaFreeSub_1jj88_26`,nhaFreeBtn:`_nhaFreeBtn_1jj88_27`,imapRow:`_imapRow_1jj88_29`,imapName:`_imapName_1jj88_30`,imapMeta:`_imapMeta_1jj88_31`,imapStatus:`_imapStatus_1jj88_32`,imapBtns:`_imapBtns_1jj88_36`,imapSyncBtn:`_imapSyncBtn_1jj88_37`,imapEditBtn:`_imapEditBtn_1jj88_38`,imapDelBtn:`_imapDelBtn_1jj88_39`,emptyImap:`_emptyImap_1jj88_40`,imapForm:`_imapForm_1jj88_42`,imapFormTitle:`_imapFormTitle_1jj88_43`,pwdNote:`_pwdNote_1jj88_44`,pwdRow:`_pwdRow_1jj88_45`,togglePwd:`_togglePwd_1jj88_46`},We={id:``,display_name:``,email_address:``,from_name:``,imap_host:``,imap_port:`993`,smtp_host:``,smtp_port:`587`,username:``,password:``};function Ge({id:e,label:t,placeholder:n,value:r,onChange:i,type:a=`text`}){return(0,A.jsxs)(`div`,{className:B.field,children:[(0,A.jsx)(`label`,{className:B.fieldLabel,children:t}),(0,A.jsx)(`input`,{id:e,type:a,placeholder:n,value:r,onChange:e=>i(e.target.value),className:B.fieldInput})]})}function Ke(){let{setConfig:e}=ne(),t=F(),[n,r]=(0,_.useState)({}),[i,a]=(0,_.useState)(!0),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)([]),[f,p]=(0,_.useState)(null),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)({name:``,email:``,phone:``,homeAddress:``,workAddress:``,city:``,country:``,company:``,role:``,notes:``}),[C,w]=(0,_.useState)(`nha`),[ee,te]=(0,_.useState)(``),[T,O]=(0,_.useState)(``),[re,k]=(0,_.useState)(`en`),[ie,j]=(0,_.useState)(`07:00`),[M,ae]=(0,_.useState)(`18:00`),[oe,N]=(0,_.useState)(`30`),[se,P]=(0,_.useState)(`off`),[I,ce]=(0,_.useState)(``),[le,ue]=(0,_.useState)(``);(0,_.useEffect)(()=>{E(`/api/config`).then(t=>{r(t??{});let n=t?.profile??{};S({name:n.name??``,email:n.email??``,phone:n.phone??``,homeAddress:n.homeAddress??``,workAddress:n.workAddress??``,city:n.city??``,country:n.country??``,company:n.company??``,role:n.role??``,notes:n.notes??``}),w(t?.provider??`nha`),O(t?.model??``),k(t?.lang??`en`),j(t?.planTime??`07:00`),ae(t?.summaryTime??`18:00`),N(String(t?.meetingAlert??`30`)),P(t?.thinking??`off`),te(``),a(!1),t&&e(t)}),de()},[]);let de=()=>E(`/api/imap/accounts`).then(e=>d(e?.accounts??[])),L=async(e,t)=>{s(e),await D(`/api/config`,{key:e,value:t}),l(e),s(null),setTimeout(()=>l(null),2e3)},fe=()=>L(`profile`,x),pe=()=>{L(`provider`,C),L(`model`,T),L(`thinking`,se),ee&&L(`key`,ee)},me=()=>{L(`planTime`,ie),L(`summaryTime`,M),L(`meetingAlert`,Number(oe))},he=()=>{v(t(`settings.googleOpening`)),D(`/api/google/auth`,{}).then(e=>{e?.url?(window.open(e.url,`_blank`),v(t(`settings.googleOpened`))):e?.error&&v(t(`common.error`)+`: `+e.error)}).catch(e=>v(t(`common.error`)+`: `+e.message))},R=()=>{confirm(t(`settings.disconnectGoogleConfirm`))&&D(`/api/google/revoke`,{}).then(()=>{r(e=>({...e,hasGoogle:!1})),v(t(`common.disconnected`))})},ge=()=>{if(!f)return;let e=!!f.id,t={display_name:f.display_name,email_address:f.email_address,from_name:f.from_name,imap_host:f.imap_host,imap_port:Number(f.imap_port),smtp_host:f.smtp_host,smtp_port:Number(f.smtp_port),username:f.username};f.password&&(t.password=f.password),e&&(t.id=f.id),h(`Saving…`),D(e?`/api/imap/accounts/update`:`/api/imap/accounts`,t).then(e=>{e?.ok||e?.id?(h(`Saved!`),p(null),de()):h(`Error: `+(e?.error??`Unknown error`))}).catch(e=>h(`Error: `+e.message))},_e=(e,n)=>{confirm(t(`settings.imapDelete`,{name:n}))&&D(`/api/imap/accounts/delete`,{id:e}).then(()=>de())},ve=e=>{D(`/api/imap/sync`,{accountId:e}).then(()=>setTimeout(de,3e3))};if(i)return(0,A.jsxs)(`div`,{className:B.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),t(`common.loading`)]});let ye=e=>t(o===e?`common.saving`:c===e?`common.saved`:`common.save`);return(0,A.jsxs)(`div`,{className:B.root,children:[(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.profile`)}),(0,A.jsx)(`div`,{className:B.cardSub,children:t(`settings.profileSub`)}),(0,A.jsx)(`div`,{className:B.fields,children:[[`name`,t(`settings.name`),t(`settings.namePh`)],[`email`,t(`common.email`),t(`settings.emailPh`)],[`phone`,t(`common.phone`),t(`settings.phonePh`)],[`homeAddress`,t(`settings.homeAddress`),t(`settings.homeAddressPh`)],[`workAddress`,t(`settings.workAddress`),t(`settings.workAddressPh`)],[`city`,t(`settings.city`),t(`settings.cityPh`)],[`country`,t(`settings.country`),t(`settings.countryPh`)],[`company`,t(`settings.company`),t(`settings.companyPh`)],[`role`,t(`settings.role`),t(`settings.rolePh`)],[`notes`,t(`settings.notes`),t(`settings.notesPh`)]].map(([e,t,n])=>(0,A.jsx)(Ge,{id:e,label:t,placeholder:n,value:x[e],onChange:t=>S(n=>({...n,[e]:t}))},e))}),(0,A.jsxs)(`button`,{className:B.saveBtn,onClick:fe,children:[ye(`profile`),` `,t(`settings.saveProfile`)]})]}),(0,A.jsxs)(`div`,{className:B.nhaFree,children:[(0,A.jsx)(`div`,{className:B.nhaFreeTitle,children:t(`settings.nhaFreeTitle`)}),(0,A.jsx)(`div`,{className:B.nhaFreeSub,children:t(`settings.nhaFreeSub`)}),(0,A.jsx)(`button`,{className:B.nhaFreeBtn,onClick:()=>{D(`/api/config`,{updates:[{key:`provider`,value:`nha`},{key:`model`,value:``},{key:`key`,value:``}]}).then(()=>{w(`nha`),O(``),te(``),l(`nhaFree`),setTimeout(()=>l(null),2e3)})},children:t(c===`nhaFree`?`settings.liaraActivated`:`settings.useLiara`)})]}),(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.llmProvider`)}),(0,A.jsx)(`div`,{className:B.cardSub,children:t(`settings.llmProviderSub`)}),(0,A.jsxs)(`div`,{className:B.field,children:[(0,A.jsx)(`label`,{className:B.fieldLabel,children:t(`settings.provider`)}),(0,A.jsxs)(`select`,{value:C,onChange:e=>w(e.target.value),className:B.fieldInput,children:[(0,A.jsx)(`option`,{value:`nha`,children:`NHA Free (Liara) — no API key needed`}),(0,A.jsx)(`option`,{value:`anthropic`,children:`Anthropic (Claude)`}),(0,A.jsx)(`option`,{value:`openai`,children:`OpenAI (GPT-4)`}),(0,A.jsx)(`option`,{value:`gemini`,children:`Google (Gemini)`}),(0,A.jsx)(`option`,{value:`deepseek`,children:`DeepSeek`}),(0,A.jsx)(`option`,{value:`grok`,children:`xAI (Grok)`}),(0,A.jsx)(`option`,{value:`mistral`,children:`Mistral`}),(0,A.jsx)(`option`,{value:`cohere`,children:`Cohere`})]})]}),C!==`nha`&&({anthropic:n.hasApiKey,openai:n.hasOpenaiKey,gemini:n.hasGeminiKey,deepseek:n.hasDeepseekKey,grok:n.hasGrokKey,mistral:n.hasMistralKey,cohere:n.hasCohereKey}[C]?(0,A.jsx)(`div`,{className:B.keySet,children:t(`settings.apiKeySet`)}):null),(0,A.jsx)(Ge,{id:`apiKey`,label:t(`settings.apiKey`),placeholder:t(C===`nha`?`settings.apiKeyFreeNote`:`settings.apiKeyPh`),type:`password`,value:ee,onChange:te}),(0,A.jsx)(Ge,{id:`model`,label:t(`settings.model`),placeholder:t(`settings.modelPh`),value:T,onChange:O}),(0,A.jsxs)(`div`,{className:B.field,children:[(0,A.jsx)(`label`,{className:B.fieldLabel,children:t(`settings.thinking`)}),(0,A.jsxs)(`select`,{value:se,onChange:e=>P(e.target.value),className:B.fieldInput,children:[(0,A.jsx)(`option`,{value:`off`,children:t(`settings.thinkingOff`)}),(0,A.jsx)(`option`,{value:`on`,children:t(`settings.thinkingOn`)})]})]}),(0,A.jsxs)(`button`,{className:B.saveBtn,onClick:pe,children:[ye(`provider`),` `,t(`settings.saveProvider`)]})]}),(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.language`)}),(0,A.jsxs)(`div`,{className:B.field,children:[(0,A.jsx)(`label`,{className:B.fieldLabel,children:t(`settings.languageLabel`)}),(0,A.jsx)(`select`,{value:re,onChange:t=>{let r=t.target.value;k(r),L(`lang`,r),e({...n,lang:r})},className:B.fieldInput,children:[[`it`,`Italiano`],[`en`,`English`],[`es`,`Español`],[`fr`,`Français`],[`de`,`Deutsch`],[`pt`,`Português`],[`nl`,`Nederlands`],[`pl`,`Polski`],[`ru`,`Русский`],[`zh`,`中文`],[`ja`,`日本語`],[`ko`,`한국어`],[`ar`,`العربية`],[`hi`,`हिन्दी`],[`tr`,`Türkçe`],[`sv`,`Svenska`],[`da`,`Dansk`],[`fi`,`Suomi`],[`cs`,`Čeština`]].map(([e,t])=>(0,A.jsx)(`option`,{value:e,children:t},e))})]})]}),(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.telegram`)}),(0,A.jsx)(`div`,{className:B.cardSub,children:t(`settings.telegramSub`)}),n.hasTelegram&&(0,A.jsxs)(`div`,{className:B.connected,children:[`Telegram: `,t(`common.connected`)]}),n.hasDiscord&&(0,A.jsxs)(`div`,{className:B.connected,children:[`Discord: `,t(`common.connected`)]}),(0,A.jsx)(Ge,{id:`tgToken`,label:t(`settings.telegramToken`),placeholder:n.hasTelegram?t(`settings.telegramSet`):t(`settings.telegramPh`),type:`password`,value:I,onChange:ce}),(0,A.jsx)(Ge,{id:`discordToken`,label:t(`settings.discordToken`),placeholder:n.hasDiscord?t(`settings.discordSet`):t(`settings.discordPh`),type:`password`,value:le,onChange:ue}),(0,A.jsxs)(`button`,{className:B.saveBtn,onClick:()=>{I&&L(`telegram-bot-token`,I),le&&L(`discord-bot-token`,le)},children:[ye(`telegram-bot-token`),` `,t(`settings.saveBots`)]})]}),(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.dailyOps`)}),(0,A.jsx)(Ge,{id:`planTime`,label:t(`settings.planTime`),placeholder:`07:00`,value:ie,onChange:j}),(0,A.jsx)(Ge,{id:`summaryTime`,label:t(`settings.summaryTime`),placeholder:`18:00`,value:M,onChange:ae}),(0,A.jsx)(Ge,{id:`meetingAlert`,label:t(`settings.meetingAlert`),placeholder:`30`,value:oe,onChange:N}),(0,A.jsxs)(`button`,{className:B.saveBtn,onClick:me,children:[ye(`planTime`),` `,t(`settings.saveSchedule`)]})]}),(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.googleAccount`)}),(0,A.jsx)(`div`,{className:B.cardSub,children:t(`settings.googleSub`)}),n.hasGoogle&&(0,A.jsxs)(`div`,{className:B.connected,children:[`✅ `,t(`common.connected`),n.googleEmail?` · ${n.googleEmail}`:``]}),(0,A.jsxs)(`div`,{className:B.btnRow,children:[(0,A.jsx)(`button`,{className:B.saveBtn,onClick:he,children:n.hasGoogle?t(`settings.reconnectGoogle`):t(`settings.connectGoogle`)}),n.hasGoogle&&(0,A.jsx)(`button`,{className:B.dangerBtn,onClick:R,children:t(`settings.disconnectGoogle`)})]}),g&&(0,A.jsx)(`div`,{className:B.statusMsg,children:g})]}),(0,A.jsxs)(`div`,{className:B.card,children:[(0,A.jsxs)(`div`,{className:B.cardTitleRow,children:[(0,A.jsx)(`div`,{className:B.cardTitle,children:t(`settings.imapAccounts`)}),(0,A.jsx)(`button`,{className:B.saveBtn,onClick:()=>{p({...We}),h(``)},children:t(`settings.addAccount`)})]}),(0,A.jsx)(`div`,{className:B.cardSub,children:t(`settings.imapSub`)}),u.length===0&&!f&&(0,A.jsx)(`div`,{className:B.emptyImap,children:t(`settings.noImapAccounts`)}),u.map(e=>(0,A.jsxs)(`div`,{className:B.imapRow,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:B.imapName,children:e.display_name}),(0,A.jsxs)(`div`,{className:B.imapMeta,children:[e.email_address,` · `,e.imap_host]}),(0,A.jsxs)(`div`,{className:B.imapStatus,"data-status":e.sync_status,children:[e.sync_status,e.last_sync_at?` · ${t(`email.lastSync`)}: ${e.last_sync_at.slice(0,16)}`:``]})]}),(0,A.jsxs)(`div`,{className:B.imapBtns,children:[(0,A.jsx)(`button`,{className:B.imapSyncBtn,onClick:()=>ve(e.id),children:t(`settings.sync`)}),(0,A.jsx)(`button`,{className:B.imapEditBtn,onClick:()=>{p({...We,id:e.id,display_name:e.display_name,email_address:e.email_address,from_name:e.from_name??``,imap_host:e.imap_host,imap_port:String(e.imap_port??993),smtp_host:e.smtp_host??``,smtp_port:String(e.smtp_port??587),username:e.username??``,password:``}),h(``)},children:t(`common.edit`)}),(0,A.jsx)(`button`,{className:B.imapDelBtn,onClick:()=>_e(e.id,e.display_name),children:t(`common.delete`)})]})]},e.id)),f&&(0,A.jsxs)(`div`,{className:B.imapForm,children:[(0,A.jsx)(`div`,{className:B.imapFormTitle,children:f.id?t(`settings.editImapAccount`):t(`settings.addImapAccount`)}),[[`display_name`,t(`settings.displayName`),t(`settings.displayNamePh`)],[`email_address`,t(`common.email`),`user@example.com`],[`from_name`,t(`settings.fromName`),t(`settings.fromNamePh`)],[`imap_host`,t(`settings.imapServer`),`e.g. imap.gmail.com`],[`imap_port`,t(`settings.imapPort`),`993`],[`smtp_host`,t(`settings.smtpServer`),`e.g. smtp.gmail.com`],[`smtp_port`,t(`settings.smtpPort`),`587`],[`username`,t(`settings.username`),`user@example.com`]].map(([e,t,n])=>(0,A.jsx)(Ge,{id:`imap_${e}`,label:t,placeholder:n,value:f[e],onChange:t=>p(n=>n&&{...n,[e]:t})},e)),(0,A.jsxs)(`div`,{className:B.field,children:[(0,A.jsxs)(`label`,{className:B.fieldLabel,children:[t(`settings.password`),` `,f.id&&(0,A.jsx)(`span`,{className:B.pwdNote,children:t(`settings.passwordKeep`)})]}),(0,A.jsxs)(`div`,{className:B.pwdRow,children:[(0,A.jsx)(`input`,{type:y?`text`:`password`,placeholder:t(`settings.passwordPh`),value:f.password,onChange:e=>p(t=>t&&{...t,password:e.target.value}),className:B.fieldInput,style:{flex:1}}),(0,A.jsx)(`button`,{className:B.togglePwd,onClick:()=>b(e=>!e),children:t(y?`settings.hide`:`settings.show`)})]})]}),(0,A.jsxs)(`div`,{className:B.btnRow,children:[(0,A.jsx)(`button`,{className:B.saveBtn,onClick:ge,children:t(`common.save`)}),(0,A.jsx)(`button`,{className:B.cancelBtn,onClick:()=>p(null),children:t(`common.cancel`)})]}),m&&(0,A.jsx)(`div`,{className:B.statusMsg,children:m})]})]})]})}var qe={root:`_root_o07ov_1`,loading:`_loading_o07ov_2`,err:`_err_o07ov_3`,header:`_header_o07ov_4`,title:`_title_o07ov_5`,addBtn:`_addBtn_o07ov_6`,empty:`_empty_o07ov_7`,card:`_card_o07ov_8`,cardToday:`_cardToday_o07ov_9`,icon:`_icon_o07ov_10`,info:`_info_o07ov_11`,name:`_name_o07ov_12`,date:`_date_o07ov_13`,labelToday:`_labelToday_o07ov_14`,labelTomorrow:`_labelTomorrow_o07ov_15`,labelFuture:`_labelFuture_o07ov_16`,editBtn:`_editBtn_o07ov_17`,delBtn:`_delBtn_o07ov_18`,overlay:`_overlay_o07ov_20`,modal:`_modal_o07ov_21`,modalTitle:`_modalTitle_o07ov_22`,label:`_label_o07ov_14`,input:`_input_o07ov_24`,hint:`_hint_o07ov_25`,formErr:`_formErr_o07ov_26`,modalBtns:`_modalBtns_o07ov_27`,cancelBtn:`_cancelBtn_o07ov_28`,saveBtn:`_saveBtn_o07ov_29`};function Je(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(!1),p=(0,_.useCallback)(()=>{i(!0),E(`/api/birthdays`).then(e=>{e?.error?o(e.error):n(e?.birthdays??[]),i(!1)})},[]);(0,_.useEffect)(()=>{p()},[p]);let m=()=>{c({name:``,date:``}),u(``)},h=e=>{c({name:e.name,date:e.date,contactId:e.contactId}),u(``)},g=async()=>{if(!s)return;if(!s.name.trim()){u(`Name is required`);return}if(!s.date.trim()){u(`Date is required`);return}f(!0);let e=s.date;/^\d{2}-\d{2}$/.test(e)&&(e=`${new Date().getFullYear()}-${e}`),await D(`/api/birthdays`,{name:s.name,date:e,contactId:s.contactId??null,edit:!!s.contactId}),f(!1),c(null),p()},v=e=>{confirm(`Remove birthday for ${e.name}?`)&&D(`/api/birthdays/delete`,{contactId:e.contactId}).then(p)};return r?(0,A.jsxs)(`div`,{className:qe.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]}):a?(0,A.jsx)(`div`,{className:qe.err,children:a}):(0,A.jsxs)(`div`,{className:qe.root,children:[(0,A.jsxs)(`div`,{className:qe.header,children:[(0,A.jsx)(`div`,{className:qe.title,children:`Upcoming Birthdays`}),(0,A.jsx)(`button`,{className:qe.addBtn,onClick:m,children:`+ Add Birthday`})]}),t.length===0&&(0,A.jsxs)(`div`,{className:qe.empty,children:[e(`birthdays.noBirthdays`),(0,A.jsx)(`br`,{}),(0,A.jsx)(`small`,{children:`Add one above, or add birthdays to your Google Contacts.`})]}),t.map((t,n)=>{let r=t.daysUntil===0,i=t.daysUntil===1;return(0,A.jsxs)(`div`,{className:`${qe.card} ${r?qe.cardToday:``}`,children:[(0,A.jsx)(`span`,{className:qe.icon,children:`🎂`}),(0,A.jsxs)(`div`,{className:qe.info,children:[(0,A.jsx)(`div`,{className:qe.name,children:t.name}),(0,A.jsx)(`div`,{className:qe.date,children:t.date})]}),(0,A.jsx)(`div`,{className:r?qe.labelToday:i?qe.labelTomorrow:qe.labelFuture,children:r?`TODAY!`:i?`Tomorrow`:`in ${t.daysUntil} days`}),t.contactId&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`button`,{className:qe.editBtn,onClick:()=>h(t),children:e(`common.edit`)}),(0,A.jsx)(`button`,{className:qe.delBtn,onClick:()=>v(t),children:e(`common.delete`)})]})]},n)}),s&&(0,A.jsx)(`div`,{className:qe.overlay,onClick:e=>{e.target===e.currentTarget&&c(null)},children:(0,A.jsxs)(`div`,{className:qe.modal,children:[(0,A.jsx)(`div`,{className:qe.modalTitle,children:s.contactId?`Edit Birthday`:`Add Birthday`}),(0,A.jsx)(`label`,{className:qe.label,children:`Name *`}),(0,A.jsx)(`input`,{className:qe.input,value:s.name,onChange:e=>c(t=>t&&{...t,name:e.target.value}),placeholder:`Contact name`}),(0,A.jsx)(`label`,{className:qe.label,children:`Birthday (MM-DD or YYYY-MM-DD)`}),(0,A.jsx)(`input`,{className:qe.input,value:s.date,onChange:e=>c(t=>t&&{...t,date:e.target.value}),placeholder:`e.g. 03-15 or 1990-03-15`}),(0,A.jsx)(`div`,{className:qe.hint,children:`Birthday will be saved as a Google Calendar event.`}),l&&(0,A.jsx)(`div`,{className:qe.formErr,children:l}),(0,A.jsxs)(`div`,{className:qe.modalBtns,children:[(0,A.jsx)(`button`,{className:qe.cancelBtn,onClick:()=>c(null),children:e(`common.cancel`)}),(0,A.jsx)(`button`,{className:qe.saveBtn,onClick:g,disabled:d,children:d?`Saving…`:s.contactId?`Save`:`Add`})]})]})})]})}var V={root:`_root_1z04o_1`,header:`_header_1z04o_3`,title:`_title_1z04o_4`,subtitle:`_subtitle_1z04o_5`,code:`_code_1z04o_6`,addBtn:`_addBtn_1z04o_8`,tabs:`_tabs_1z04o_10`,tab:`_tab_1z04o_10`,tabActive:`_tabActive_1z04o_12`,loading:`_loading_1z04o_14`,err:`_err_1z04o_15`,empty:`_empty_1z04o_17`,emptyIcon:`_emptyIcon_1z04o_18`,emptyTitle:`_emptyTitle_1z04o_19`,emptySub:`_emptySub_1z04o_20`,card:`_card_1z04o_23`,cardDisabled:`_cardDisabled_1z04o_24`,cardTop:`_cardTop_1z04o_25`,cardLeft:`_cardLeft_1z04o_26`,jobName:`_jobName_1z04o_27`,schedule:`_schedule_1z04o_28`,agentBadge:`_agentBadge_1z04o_29`,statusBadge:`_statusBadge_1z04o_30`,statusActive:`_statusActive_1z04o_31`,statusPaused:`_statusPaused_1z04o_32`,jobPrompt:`_jobPrompt_1z04o_33`,jobMeta:`_jobMeta_1z04o_34`,cardActions:`_cardActions_1z04o_35`,runBtn:`_runBtn_1z04o_36`,editBtn:`_editBtn_1z04o_37`,pauseBtn:`_pauseBtn_1z04o_38`,resumeBtn:`_resumeBtn_1z04o_39`,delBtn:`_delBtn_1z04o_40`,templates:`_templates_1z04o_43`,templatesNote:`_templatesNote_1z04o_44`,templateCard:`_templateCard_1z04o_45`,templateLabel:`_templateLabel_1z04o_46`,templatePrompt:`_templatePrompt_1z04o_47`,templateBtns:`_templateBtns_1z04o_48`,scheduleTplBtn:`_scheduleTplBtn_1z04o_49`,runTplBtn:`_runTplBtn_1z04o_50`,formOverlay:`_formOverlay_1z04o_54`,formModal:`_formModal_1z04o_55`,formTitle:`_formTitle_1z04o_56`,label:`_label_1z04o_57`,input:`_input_1z04o_58`,textarea:`_textarea_1z04o_59`,presets:`_presets_1z04o_61`,preset:`_preset_1z04o_61`,presetActive:`_presetActive_1z04o_63`,cronHints:`_cronHints_1z04o_65`,cronHint:`_cronHint_1z04o_65`,formErr:`_formErr_1z04o_70`,formOk:`_formOk_1z04o_71`,formBtns:`_formBtns_1z04o_72`,cancelBtn:`_cancelBtn_1z04o_73`,saveBtn:`_saveBtn_1z04o_74`},Ye=[{label:`Every 15 min`,value:`every 15 minutes`},{label:`Every 30 min`,value:`every 30 minutes`},{label:`Every hour`,value:`every hour`},{label:`Every 6h`,value:`every 6 hours`},{label:`Daily 8am`,value:`every day at 08:00`},{label:`Daily 9am`,value:`every day at 09:00`},{label:`Daily noon`,value:`every day at 12:00`},{label:`Daily 6pm`,value:`every day at 18:00`},{label:`Mon–Fri 9am`,value:`weekdays at 09:00`},{label:`Every Monday`,value:`every monday at 09:00`}],Xe=[{label:`🌅 Morning Briefing`,prompt:`Summarize my unread emails from the last 12 hours, check today's calendar events, list my top 3 priority tasks, and give me a focused action plan for the day.`},{label:`🌆 Evening Review`,prompt:`Review what I accomplished today: check completed tasks, summarize any important emails received, flag unresolved issues, and prepare a priority list for tomorrow.`},{label:`📰 News Digest`,prompt:`Search for the top AI, tech, and finance news from the last 24 hours. Summarize the 5 most important stories with key takeaways and market implications.`},{label:`📈 Market Update`,prompt:`Provide a comprehensive market update: macro environment, major indices performance, top movers, notable events, and key levels to watch. Use herald and mercury agents.`},{label:`🐙 GitHub Monitor`,prompt:`Check my GitHub notifications, summarize open issues and pull requests that need attention, and draft brief responses for the most urgent ones.`},{label:`📊 Weekly Report`,prompt:`Generate a weekly productivity report: tasks completed vs pending, email response rate, upcoming calendar events, and 3 strategic priorities for next week.`},{label:`🔒 Security Scan`,prompt:`Run a security awareness check: scan recent code commits for potential vulnerabilities, check dependency alerts, and summarize any security-related GitHub notifications.`},{label:`🎯 Goal Tracker`,prompt:`Review my tasks and notes for goal progress. Identify what's on track, what's at risk, and suggest one concrete action to unblock the most important goal.`}],Ze=[{label:`0 9 * * 1-5`,desc:`Mon–Fri at 9:00 AM`},{label:`0 */6 * * *`,desc:`Every 6 hours`},{label:`*/30 * * * *`,desc:`Every 30 minutes`},{label:`0 8 * * *`,desc:`Daily at 8:00 AM`},{label:`0 20 * * 5`,desc:`Every Friday at 8 PM`}];function Qe(){let e=F(),t=ne(e=>e.setView),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(!0),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)({name:``,schedule:``,prompt:``,agent:``}),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(null),[x,S]=(0,_.useState)(`jobs`),C=()=>{a(!0),E(`/api/cron`).then(e=>{e?.error?s(e.error):r(e?.jobs??[]),a(!1)}).catch(()=>{r([]),a(!1)})};(0,_.useEffect)(()=>{C()},[]);let w=()=>{d({name:``,schedule:``,prompt:``,agent:``}),h(``),v(``),b(null),l(!0)},ee=e=>{d({name:e.name??``,schedule:e.schedule,prompt:e.prompt??e.command??``,agent:e.agent??``}),h(``),v(``),b(e.id),l(!0)},te=async()=>{if(!u.schedule.trim()){h(`Schedule is required`);return}if(!u.prompt.trim()){h(`Task prompt is required`);return}p(!0),h(``);try{y?await D(`/api/cron/update`,{id:y,schedule:u.schedule,prompt:u.prompt,agent:u.agent||void 0,name:u.name||void 0}):await D(`/api/cron`,{schedule:u.schedule,prompt:u.prompt,agent:u.agent||void 0,name:u.name||void 0}),v(y?`Updated!`:`Job scheduled!`),setTimeout(()=>{v(``),l(!1)},1500),C()}catch(e){h(e.message??`Failed`)}p(!1)},T=(e,t)=>D(`/api/cron/toggle`,{id:e,enabled:!t}).then(C),O=e=>{confirm(`Delete this scheduled task?`)&&D(`/api/cron/delete`,{id:e}).then(C)},re=e=>{try{sessionStorage.setItem(`nha_chat_prefill`,e)}catch{}t(`chat`)},k=e=>{d(t=>({...t,prompt:e.prompt,name:e.label.replace(/^[^\s]+\s/,``)})),S(`jobs`),l(!0)};return(0,A.jsxs)(`div`,{className:V.root,children:[(0,A.jsxs)(`div`,{className:V.header,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:V.title,children:`⏰ Scheduled Tasks`}),(0,A.jsxs)(`div`,{className:V.subtitle,children:[`Automate agents on a recurring schedule. Daemon must be running: `,(0,A.jsx)(`code`,{className:V.code,children:`nha ops start`})]})]}),(0,A.jsx)(`button`,{className:V.addBtn,onClick:w,children:`+ New Task`})]}),(0,A.jsxs)(`div`,{className:V.tabs,children:[(0,A.jsxs)(`button`,{className:`${V.tab} ${x===`jobs`?V.tabActive:``}`,onClick:()=>S(`jobs`),children:[`Jobs (`,n.length,`)`]}),(0,A.jsx)(`button`,{className:`${V.tab} ${x===`templates`?V.tabActive:``}`,onClick:()=>S(`templates`),children:`Templates`})]}),x===`templates`&&(0,A.jsxs)(`div`,{className:V.templates,children:[(0,A.jsx)(`div`,{className:V.templatesNote,children:`Click a template to pre-fill the job form or run it immediately in Chat.`}),Xe.map(t=>(0,A.jsxs)(`div`,{className:V.templateCard,children:[(0,A.jsx)(`div`,{className:V.templateLabel,children:t.label}),(0,A.jsx)(`div`,{className:V.templatePrompt,children:t.prompt}),(0,A.jsxs)(`div`,{className:V.templateBtns,children:[(0,A.jsx)(`button`,{className:V.scheduleTplBtn,onClick:()=>k(t),children:`Schedule`}),(0,A.jsxs)(`button`,{className:V.runTplBtn,onClick:()=>re(t.prompt),children:[e(`cron.run`),` in Chat →`]})]})]},t.label))]}),x===`jobs`&&(0,A.jsxs)(A.Fragment,{children:[i&&(0,A.jsxs)(`div`,{className:V.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),`Loading jobs…`]}),o&&(0,A.jsx)(`div`,{className:V.err,children:o}),!i&&n.length===0&&!c&&(0,A.jsxs)(`div`,{className:V.empty,children:[(0,A.jsx)(`div`,{className:V.emptyIcon,children:`⏰`}),(0,A.jsxs)(`div`,{className:V.emptyTitle,children:[e(`cron.noJobs`),` tasks`]}),(0,A.jsx)(`div`,{className:V.emptySub,children:`Create a job to automate agents on a recurring schedule, or browse the Templates tab for ready-made automation recipes.`}),(0,A.jsx)(`button`,{className:V.addBtn,onClick:w,children:`+ New Task`})]}),n.map(e=>(0,A.jsxs)(`div`,{className:`${V.card} ${e.enabled?``:V.cardDisabled}`,children:[(0,A.jsxs)(`div`,{className:V.cardTop,children:[(0,A.jsxs)(`div`,{className:V.cardLeft,children:[e.name&&(0,A.jsx)(`div`,{className:V.jobName,children:e.name}),(0,A.jsx)(`code`,{className:V.schedule,children:e.schedule}),e.agent&&(0,A.jsx)(`span`,{className:V.agentBadge,children:e.agent}),(0,A.jsx)(`span`,{className:`${V.statusBadge} ${e.enabled?V.statusActive:V.statusPaused}`,children:e.enabled?`active`:`paused`})]}),(0,A.jsxs)(`div`,{className:V.cardActions,children:[(0,A.jsx)(`button`,{className:V.runBtn,onClick:()=>re(e.prompt??e.command??``),title:`Run now in Chat`,children:`▶`}),(0,A.jsx)(`button`,{className:V.editBtn,onClick:()=>ee(e),children:`Edit`}),(0,A.jsx)(`button`,{className:e.enabled?V.pauseBtn:V.resumeBtn,onClick:()=>T(e.id,e.enabled),children:e.enabled?`Pause`:`Resume`}),(0,A.jsx)(`button`,{className:V.delBtn,onClick:()=>O(e.id),children:`✕`})]})]}),(0,A.jsx)(`div`,{className:V.jobPrompt,children:e.prompt??e.command}),(0,A.jsxs)(`div`,{className:V.jobMeta,children:[e.runCount!==void 0&&(0,A.jsxs)(`span`,{children:[`ran `,e.runCount,`×`]}),e.lastRun&&(0,A.jsxs)(`span`,{children:[` · last `,new Date(e.lastRun).toLocaleString()]}),e.nextRun&&(0,A.jsxs)(`span`,{children:[` · next `,new Date(e.nextRun).toLocaleString()]})]})]},e.id))]}),c&&(0,A.jsx)(`div`,{className:V.formOverlay,onClick:e=>{e.target===e.currentTarget&&l(!1)},children:(0,A.jsxs)(`div`,{className:V.formModal,children:[(0,A.jsx)(`div`,{className:V.formTitle,children:y?`Edit Scheduled Task`:`New Scheduled Task`}),(0,A.jsx)(`label`,{className:V.label,children:`Name (optional)`}),(0,A.jsx)(`input`,{className:V.input,value:u.name,onChange:e=>d(t=>({...t,name:e.target.value})),placeholder:`e.g. Morning Briefing`}),(0,A.jsx)(`label`,{className:V.label,children:`Schedule *`}),(0,A.jsx)(`div`,{className:V.presets,children:Ye.map(e=>(0,A.jsx)(`button`,{className:`${V.preset} ${u.schedule===e.value?V.presetActive:``}`,onClick:()=>d(t=>({...t,schedule:e.value})),children:e.label},e.value))}),(0,A.jsx)(`input`,{className:V.input,value:u.schedule,onChange:e=>d(t=>({...t,schedule:e.target.value})),placeholder:`every day at 09:00 — or cron syntax: 0 9 * * 1-5`}),(0,A.jsx)(`div`,{className:V.cronHints,children:Ze.map(e=>(0,A.jsxs)(`span`,{className:V.cronHint,onClick:()=>d(t=>({...t,schedule:e.label})),children:[(0,A.jsx)(`code`,{children:e.label}),` `,e.desc]},e.label))}),(0,A.jsx)(`label`,{className:V.label,children:`Task / Prompt *`}),(0,A.jsx)(`textarea`,{className:V.textarea,value:u.prompt,onChange:e=>d(t=>({...t,prompt:e.target.value})),placeholder:`Describe what the agent should do (e.g. Summarize my unread emails and list my 3 top priority tasks)`,rows:4}),(0,A.jsx)(`label`,{className:V.label,children:`Agent (optional — leave blank for auto-routing)`}),(0,A.jsx)(`input`,{className:V.input,value:u.agent,onChange:e=>d(t=>({...t,agent:e.target.value})),placeholder:`e.g. herald, oracle, mercury, EmailAgent, general`}),m&&(0,A.jsx)(`div`,{className:V.formErr,children:m}),g&&(0,A.jsx)(`div`,{className:V.formOk,children:g}),(0,A.jsxs)(`div`,{className:V.formBtns,children:[(0,A.jsx)(`button`,{className:V.cancelBtn,onClick:()=>l(!1),children:`Cancel`}),(0,A.jsx)(`button`,{className:V.saveBtn,onClick:te,disabled:f,children:f?`Saving…`:y?`Update`:`Schedule`})]})]})})]})}var $e={root:`_root_1npv7_1`,loading:`_loading_1npv7_2`,sidebar:`_sidebar_1npv7_4`,newBtn:`_newBtn_1npv7_5`,empty:`_empty_1npv7_6`,noteItem:`_noteItem_1npv7_8`,noteItemActive:`_noteItemActive_1npv7_10`,noteTitle:`_noteTitle_1npv7_11`,noteMeta:`_noteMeta_1npv7_12`,notePreview:`_notePreview_1npv7_13`,noteTags:`_noteTags_1npv7_14`,noteTag:`_noteTag_1npv7_14`,editor:`_editor_1npv7_17`,emptyEditor:`_emptyEditor_1npv7_18`,titleInput:`_titleInput_1npv7_19`,contentArea:`_contentArea_1npv7_21`,editorFooter:`_editorFooter_1npv7_22`,delNoteBtn:`_delNoteBtn_1npv7_23`,cancelBtn:`_cancelBtn_1npv7_24`,saveBtn:`_saveBtn_1npv7_25`};function et(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(!1),h=()=>E(`/api/notes`).then(e=>{n(e?.notes??[]),i(!1)});(0,_.useEffect)(()=>{h()},[]);let g=e=>{o(e),c(e.title),u(e.content),m(!1)},v=()=>{o(null),c(``),u(``),m(!0)},y=async()=>{f(!0),p?await D(`/api/notes`,{title:s||`Untitled`,content:l}):a&&await D(`/api/notes/${a.id}`,{title:s,content:l}),f(!1),m(!1),h()},b=(e,t)=>{confirm(`Delete note "${t}"?`)&&D(`/api/notes/${e}/delete`,{}).then(h)};return r?(0,A.jsxs)(`div`,{className:$e.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]}):(0,A.jsxs)(`div`,{className:$e.root,children:[(0,A.jsxs)(`div`,{className:$e.sidebar,children:[(0,A.jsx)(`button`,{className:$e.newBtn,onClick:v,children:`+ New Note`}),t.length===0&&(0,A.jsx)(`div`,{className:$e.empty,children:e(`notes.noNotes`)}),t.map(e=>(0,A.jsxs)(`div`,{className:`${$e.noteItem} ${a?.id===e.id?$e.noteItemActive:``}`,onClick:()=>g(e),children:[(0,A.jsx)(`div`,{className:$e.noteTitle,children:e.title||`Untitled`}),(0,A.jsx)(`div`,{className:$e.noteMeta,children:e.updatedAt?new Date(e.updatedAt).toLocaleDateString():``}),e.content&&(0,A.jsx)(`div`,{className:$e.notePreview,children:e.content.slice(0,150)}),e.tags&&e.tags.length>0&&(0,A.jsx)(`div`,{className:$e.noteTags,children:e.tags.map(e=>(0,A.jsx)(`span`,{className:$e.noteTag,children:e},e))})]},e.id))]}),(0,A.jsx)(`div`,{className:$e.editor,children:a||p?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`input`,{className:$e.titleInput,value:s,onChange:e=>c(e.target.value),placeholder:`Note title…`}),(0,A.jsx)(`textarea`,{className:$e.contentArea,value:l,onChange:e=>u(e.target.value),placeholder:`Start writing…`}),(0,A.jsxs)(`div`,{className:$e.editorFooter,children:[a&&(0,A.jsx)(`button`,{className:$e.delNoteBtn,onClick:()=>b(a.id,a.title),children:e(`common.delete`)}),(0,A.jsx)(`button`,{className:$e.cancelBtn,onClick:()=>{o(null),m(!1)},children:e(`common.cancel`)}),(0,A.jsx)(`button`,{className:$e.saveBtn,onClick:y,disabled:d,children:d?`Saving…`:`Save`})]})]}):(0,A.jsx)(`div`,{className:$e.emptyEditor,children:`Select a note or create a new one`})})]})}var tt={root:`_root_18yos_1`,loading:`_loading_18yos_2`,error:`_error_18yos_3`,toolbar:`_toolbar_18yos_5`,search:`_search_18yos_6`,addBtn:`_addBtn_18yos_7`,count:`_count_18yos_10`,empty:`_empty_18yos_12`,grid:`_grid_18yos_14`,card:`_card_18yos_16`,actions:`_actions_18yos_29`,avatar:`_avatar_18yos_31`,avatarImg:`_avatarImg_18yos_38`,info:`_info_18yos_40`,name:`_name_18yos_41`,row:`_row_18yos_42`,email:`_email_18yos_43`,phone:`_phone_18yos_44`,company:`_company_18yos_45`,birthday:`_birthday_18yos_46`,iconBtn:`_iconBtn_18yos_52`,iconBtnRed:`_iconBtnRed_18yos_58`,overlay:`_overlay_18yos_61`,modal:`_modal_18yos_62`,modalTitle:`_modalTitle_18yos_63`,field:`_field_18yos_64`,label:`_label_18yos_65`,input:`_input_18yos_66`,formStatus:`_formStatus_18yos_67`,formError:`_formError_18yos_68`,modalBtns:`_modalBtns_18yos_69`,cancelBtn:`_cancelBtn_18yos_70`,saveBtn:`_saveBtn_18yos_71`},nt={name:``,email:``,phone:``,company:``,address:``,notes:``};function rt(){let e=F(),t=ne(e=>e.setView),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(!0),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(null),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(``),y=(0,_.useRef)(null),b=(e=``)=>{E(e?`/api/contacts?q=${encodeURIComponent(e)}`:`/api/contacts`).then(e=>{r(e?.contacts??[]),a(!1),s(``)}).catch(()=>{s(`Could not load contacts. Run nha google revoke then nha google auth.`),a(!1)})};(0,_.useEffect)(()=>{b()},[]);let x=e=>{l(e),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>b(e),400)},S=()=>{d(null),p({...nt}),v(``)},C=e=>{d(e),p({name:e.name,email:e.email??``,phone:e.phone??``,company:e.company??``,address:e.address??``,notes:e.notes??``}),v(``)},w=async()=>{if(f?.name){h(!0),v(`Saving…`);try{if(u?.resourceName){let e=await D(`/api/contacts/update`,{resourceName:u.resourceName,fields:f});if(e?.error){v(`Error: `+e.error);return}}else if(u)await D(`/api/contacts/update`,{resourceName:u.id,fields:f});else{let e=await D(`/api/contacts`,f);if(e?.error){v(`Error: `+e.error);return}}v(`Saved!`),setTimeout(()=>{p(null),d(null),b(c)},800)}catch(e){v(`Error: `+e.message)}finally{h(!1)}}},ee=(e,t)=>{e.stopPropagation(),confirm(`Delete "${t.name}"?`)&&D(`/api/contacts/delete`,{resourceName:t.resourceName||t.id}).then(e=>{let t=e;if(t?.error){alert(`Error: `+t.error);return}b(c)})},te=(e,n,r)=>{e.stopPropagation(),t(`chat`),setTimeout(()=>{let e=document.getElementById(`chatInput`);e&&(e.value=`Send an email to ${r} (${n}) about `,e.focus())},300)},T=e=>(e||`?`).split(` `).map(e=>e[0]).slice(0,2).join(``).toUpperCase();return i?(0,A.jsxs)(`div`,{className:tt.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),`Loading contacts…`]}):o?(0,A.jsx)(`div`,{className:tt.error,children:o}):(0,A.jsxs)(`div`,{className:tt.root,children:[(0,A.jsxs)(`div`,{className:tt.toolbar,children:[(0,A.jsx)(`input`,{className:tt.search,value:c,onChange:e=>x(e.target.value),placeholder:`Search contacts…`}),n.length>0&&(0,A.jsxs)(`span`,{className:tt.count,children:[n.length,` contact`,n.length===1?``:`s`]}),(0,A.jsx)(`button`,{className:tt.addBtn,onClick:S,children:`+ Add`})]}),n.length===0&&(0,A.jsxs)(`div`,{className:tt.empty,children:[e(`contacts.noContacts`),(0,A.jsx)(`br`,{}),`Add a Google account or add contacts manually.`]}),(0,A.jsx)(`div`,{className:tt.grid,children:n.map(e=>(0,A.jsxs)(`div`,{className:tt.card,onClick:()=>C(e),children:[(0,A.jsx)(`div`,{className:tt.avatar,children:e.photo?(0,A.jsx)(`img`,{src:e.photo,alt:e.name,className:tt.avatarImg}):T(e.name)}),(0,A.jsxs)(`div`,{className:tt.info,children:[(0,A.jsx)(`div`,{className:tt.name,children:e.name||`(no name)`}),(0,A.jsxs)(`div`,{className:tt.row,children:[e.email&&(0,A.jsx)(`span`,{className:tt.email,children:e.email}),e.phone&&(0,A.jsx)(`span`,{className:tt.phone,children:e.phone}),e.company&&(0,A.jsxs)(`span`,{className:tt.company,children:[e.company,e.title?` · ${e.title}`:``]}),e.birthday&&(0,A.jsxs)(`span`,{className:tt.birthday,children:[`🎂 `,e.birthday]})]})]}),(0,A.jsxs)(`div`,{className:tt.actions,children:[e.email&&(0,A.jsx)(`button`,{className:tt.iconBtn,onClick:t=>te(t,e.email,e.name),title:`Send email via chat`,children:`✉`}),(0,A.jsx)(`button`,{className:tt.iconBtn,onClick:t=>{t.stopPropagation(),C(e)},title:`Edit`,children:`✎`}),(0,A.jsx)(`button`,{className:`${tt.iconBtn} ${tt.iconBtnRed}`,onClick:t=>ee(t,e),title:`Delete`,children:`✕`})]})]},e.id))}),f&&(0,A.jsx)(`div`,{className:tt.overlay,onClick:e=>{e.target===e.currentTarget&&p(null)},children:(0,A.jsxs)(`div`,{className:tt.modal,children:[(0,A.jsx)(`div`,{className:tt.modalTitle,children:u?`Edit Contact`:`New Contact`}),[[`name`,`Name`,`Full name *`],[`email`,`Email`,`user@example.com`],[`phone`,`Phone`,`+1 555 123 4567`],[`company`,`Company`,`Acme Inc`],[`address`,`Address`,`123 Main St, New York`],[`notes`,`Notes`,`Any additional info`]].map(([e,t,n])=>(0,A.jsxs)(`div`,{className:tt.field,children:[(0,A.jsx)(`label`,{className:tt.label,children:t}),(0,A.jsx)(`input`,{className:tt.input,value:f[e],onChange:t=>p(n=>n&&{...n,[e]:t.target.value}),placeholder:n,onKeyDown:t=>t.key===`Enter`&&e===`name`&&w()})]},e)),g&&(0,A.jsx)(`div`,{className:g.startsWith(`Error`)?tt.formError:tt.formStatus,children:g}),(0,A.jsxs)(`div`,{className:tt.modalBtns,children:[(0,A.jsx)(`button`,{className:tt.cancelBtn,onClick:()=>p(null),children:e(`common.cancel`)}),(0,A.jsx)(`button`,{className:tt.saveBtn,onClick:w,disabled:m||!f.name,children:m?`…`:`Save`})]})]})})]})}var H={root:`_root_19042_2`,topbar:`_topbar_19042_11`,topbarLeft:`_topbarLeft_19042_20`,topbarTitle:`_topbarTitle_19042_21`,topbarSub:`_topbarSub_19042_22`,topbarActions:`_topbarActions_19042_23`,runBtn:`_runBtn_19042_25`,runBtnActive:`_runBtnActive_19042_32`,logBtn:`_logBtn_19042_34`,newWfBtn:`_newWfBtn_19042_41`,body:`_body_19042_50`,sidebar:`_sidebar_19042_53`,sidebarTitle:`_sidebarTitle_19042_61`,sidebarEmpty:`_sidebarEmpty_19042_65`,wfItem:`_wfItem_19042_67`,wfItemActive:`_wfItemActive_19042_78`,wfItemRow:`_wfItemRow_19042_79`,wfItemName:`_wfItemName_19042_80`,wfItemMeta:`_wfItemMeta_19042_81`,wfOn:`_wfOn_19042_82`,wfOff:`_wfOff_19042_83`,wfDelBtn:`_wfDelBtn_19042_84`,canvasArea:`_canvasArea_19042_92`,canvasHeader:`_canvasHeader_19042_94`,wfNameInput:`_wfNameInput_19042_99`,canvasHint:`_canvasHint_19042_106`,portHint:`_portHint_19042_107`,connectHint:`_connectHint_19042_108`,cancelConnectBtn:`_cancelConnectBtn_19042_109`,canvas:`_canvas_19042_92`,canvasConnecting:`_canvasConnecting_19042_122`,canvasSvg:`_canvasSvg_19042_124`,canvasNode:`_canvasNode_19042_134`,canvasNodeSelected:`_canvasNodeSelected_19042_152`,canvasNodeConnecting:`_canvasNodeConnecting_19042_153`,nodeIcon:`_nodeIcon_19042_155`,nodeLabel:`_nodeLabel_19042_156`,nodeConfigPreview:`_nodeConfigPreview_19042_157`,nodeDelBtn:`_nodeDelBtn_19042_159`,portOut:`_portOut_19042_171`,portActive:`_portActive_19042_182`,portIn:`_portIn_19042_184`,pulse:`_pulse_19042_1`,canvasDrop:`_canvasDrop_19042_195`,canvasEmpty:`_canvasEmpty_19042_203`,canvasEmptyIcon:`_canvasEmptyIcon_19042_208`,canvasEmptyTitle:`_canvasEmptyTitle_19042_209`,canvasEmptyDesc:`_canvasEmptyDesc_19042_210`,logPanel:`_logPanel_19042_213`,logHeader:`_logHeader_19042_220`,logTime:`_logTime_19042_226`,logClose:`_logClose_19042_227`,logEmpty:`_logEmpty_19042_228`,logStep:`_logStep_19042_229`,logStepError:`_logStepError_19042_230`,logStepHeader:`_logStepHeader_19042_231`,logStepIcon:`_logStepIcon_19042_232`,logStepLabel:`_logStepLabel_19042_233`,logStepErrBadge:`_logStepErrBadge_19042_234`,logStepErr:`_logStepErr_19042_230`,logStepOutput:`_logStepOutput_19042_236`,rightPanel:`_rightPanel_19042_241`,configPanel:`_configPanel_19042_252`,configHeader:`_configHeader_19042_253`,configClose:`_configClose_19042_254`,configDesc:`_configDesc_19042_255`,configFields:`_configFields_19042_256`,configField:`_configField_19042_256`,configLabel:`_configLabel_19042_258`,configRequired:`_configRequired_19042_259`,configInput:`_configInput_19042_260`,configHint:`_configHint_19042_267`,configDelete:`_configDelete_19042_269`,palette:`_palette_19042_273`,paletteTitle:`_paletteTitle_19042_274`,paletteTabs:`_paletteTabs_19042_275`,paletteTab:`_paletteTab_19042_275`,paletteTabActive:`_paletteTabActive_19042_281`,paletteNodes:`_paletteNodes_19042_282`,paletteDef:`_paletteDef_19042_284`,paletteDefIcon:`_paletteDefIcon_19042_292`,paletteDefLabel:`_paletteDefLabel_19042_293`,paletteDefDesc:`_paletteDefDesc_19042_294`,paletteFooter:`_paletteFooter_19042_296`,paletteGuide:`_paletteGuide_19042_300`,guideTitle:`_guideTitle_19042_308`,guideStep:`_guideStep_19042_317`,guideNum:`_guideNum_19042_325`,guideTip:`_guideTip_19042_341`,guideCode:`_guideCode_19042_352`},it=[{id:`trigger_manual`,type:`trigger`,label:`Manual`,icon:`▶`,color:`#6366f1`,description:`Run manually with optional text input.`,configFields:[{key:`input`,label:`Input text`,placeholder:`Optional initial input`}]},{id:`trigger_cron`,type:`trigger`,label:`Cron`,icon:`⏰`,color:`#fbbf24`,description:`Run on a schedule (cron expression).`,configFields:[{key:`schedule`,label:`Cron expression`,placeholder:`0 8 * * *`,required:!0}]},{id:`trigger_email`,type:`trigger`,label:`New Email`,icon:`📧`,color:`#38bdf8`,description:`Trigger when a new email arrives matching a filter.`,configFields:[{key:`filter`,label:`Gmail filter`,placeholder:`subject:TODO is:unread`}]},{id:`trigger_webhook`,type:`trigger`,label:`Webhook`,icon:`🔗`,color:`#a5b4fc`,description:`Trigger via HTTP POST.`,configFields:[{key:`path`,label:`Path`,placeholder:`/hook/my-trigger`}]},{id:`action_email`,type:`action`,label:`Send Email`,icon:`✉`,color:`#38bdf8`,description:`Send email via Gmail or IMAP.`,configFields:[{key:`to`,label:`To`,placeholder:`email@example.com`,required:!0},{key:`subject`,label:`Subject`,placeholder:`Subject or {{output}}`},{key:`body`,label:`Body`,placeholder:`{{output}}`}]},{id:`action_slack`,type:`action`,label:`Slack Message`,icon:`💬`,color:`#818cf8`,description:`Post a message to a Slack channel.`,configFields:[{key:`channel`,label:`Channel`,placeholder:`#general`,required:!0},{key:`text`,label:`Text`,placeholder:`{{output}}`}]},{id:`action_calendar`,type:`action`,label:`Create Event`,icon:`📅`,color:`#4ade80`,description:`Create a Google Calendar event.`,configFields:[{key:`title`,label:`Title`,placeholder:`{{output}}`,required:!0},{key:`date`,label:`Date (YYYY-MM-DD)`,placeholder:`2025-01-15`},{key:`time`,label:`Time (HH:MM)`,placeholder:`09:00`}]},{id:`action_task`,type:`action`,label:`Create Task`,icon:`✅`,color:`#fbbf24`,description:`Add a task to your task list.`,configFields:[{key:`title`,label:`Title`,placeholder:`{{output}}`,required:!0},{key:`priority`,label:`Priority`,placeholder:`medium`}]},{id:`action_drive`,type:`action`,label:`Save to Drive`,icon:`💾`,color:`#a78bfa`,description:`Save a text file to Google Drive.`,configFields:[{key:`name`,label:`Filename`,placeholder:`output.txt`,required:!0},{key:`content`,label:`Content`,placeholder:`{{output}}`}]},{id:`action_notion`,type:`action`,label:`Notion Page`,icon:`📋`,color:`#e4e4e7`,description:`Create or update a Notion page.`,configFields:[{key:`title`,label:`Title`,placeholder:`{{output}}`,required:!0},{key:`content`,label:`Content`,placeholder:`{{output}}`}]},{id:`action_github`,type:`action`,label:`GitHub Issue`,icon:`🐙`,color:`#6ee7b7`,description:`Create a GitHub issue.`,configFields:[{key:`repo`,label:`Repo (owner/name)`,placeholder:`user/repo`,required:!0},{key:`title`,label:`Title`,placeholder:`{{output}}`,required:!0},{key:`body`,label:`Body`,placeholder:``}]},{id:`action_webhook`,type:`action`,label:`HTTP Request`,icon:`🌐`,color:`#38bdf8`,description:`Make an HTTP request.`,configFields:[{key:`url`,label:`URL`,placeholder:`https://…`,required:!0},{key:`method`,label:`Method`,placeholder:`POST`},{key:`body`,label:`Body`,placeholder:`{{output}}`}]},{id:`ai_agent`,type:`ai`,label:`Run Agent`,icon:`🤖`,color:`#818cf8`,description:`Run any of the 38 NHA specialist agents.`,configFields:[{key:`agent`,label:`Agent name`,placeholder:`herald, saber, forge…`,required:!0},{key:`prompt`,label:`Prompt`,placeholder:`Summarize this: {{output}}`,required:!0}]},{id:`ai_summarize`,type:`ai`,label:`Summarize`,icon:`📝`,color:`#a5b4fc`,description:`Summarize text with AI (free via Liara).`,configFields:[{key:`prompt`,label:`Prompt`,placeholder:`Summarize: {{output}}`}]},{id:`ai_classify`,type:`ai`,label:`Classify`,icon:`🏷`,color:`#a5b4fc`,description:`Classify content into categories.`,configFields:[{key:`categories`,label:`Categories (comma-separated)`,placeholder:`urgent, normal, spam`},{key:`prompt`,label:`Prompt`,placeholder:`Classify this email: {{output}}`}]},{id:`ai_extract`,type:`ai`,label:`Extract Data`,icon:`🔍`,color:`#a5b4fc`,description:`Extract structured data from text.`,configFields:[{key:`prompt`,label:`What to extract`,placeholder:`Extract name, email, date from: {{output}}`}]},{id:`ai_translate`,type:`ai`,label:`Translate`,icon:`🌍`,color:`#a5b4fc`,description:`Translate text to another language.`,configFields:[{key:`lang`,label:`Target language`,placeholder:`Italian`,required:!0},{key:`prompt`,label:`Text`,placeholder:`{{output}}`}]}],at=Object.fromEntries(it.map(e=>[e.id,e])),ot=90,st=72;function ct(){return`n_${Date.now()}_${Math.random().toString(36).slice(2,6)}`}function lt(e,t){return{x:e.x+(t===`out`?ot:0),y:e.y+st/2}}function ut(){let[e,t]=(0,_.useState)([]),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)([]),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(`trigger`),g=(0,_.useRef)(null),v=(0,_.useRef)(null),y=(0,_.useRef)(null),b=(0,_.useCallback)(async()=>{let e=(await E(`/api/workflows`).catch(()=>null))?.workflows??[];t(e),r(t=>t?e.find(e=>e.id===t.id)??e[0]??null:e[0]??null)},[]);(0,_.useEffect)(()=>{b()},[b]);let x=(0,_.useCallback)(async e=>{r(e),t(t=>t.map(t=>t.id===e.id?e:t)),await D(`/api/workflows/${e.id}`,e,`PUT`).catch(()=>null)},[]),S=async()=>{let e={id:`wf_${Date.now()}`,name:`New Workflow`,enabled:!1,nodes:[],edges:[],nodeDefs:it},n=(await D(`/api/workflows`,e).catch(()=>null))?.workflow??e;t(e=>[...e,n]),r(n),a(null),d([]),p(!1)},C=async e=>{confirm(`Delete this workflow?`)&&(await D(`/api/workflows/${e}`,{},`DELETE`).catch(()=>null),b())},w=(0,_.useCallback)(e=>{e.preventDefault();let t=v.current;if(!t||!n)return;let r=y.current.getBoundingClientRect(),i=Math.round((e.clientX-r.left-ot/2)/20)*20,o=Math.round((e.clientY-r.top-st/2)/20)*20,s={id:ct(),defId:t,x:Math.max(0,i),y:Math.max(0,o),config:{}};x({...n,nodes:[...n.nodes,s]}),a(s.id),v.current=null},[n,x]),ee=(0,_.useCallback)((e,t)=>{if(e.stopPropagation(),o){o!==t&&n&&(n.edges.some(e=>e.from===o&&e.to===t)||x({...n,edges:[...n.edges,{from:o,to:t}]})),s(null);return}a(t);let r=n?.nodes.find(e=>e.id===t);r&&(g.current={id:t,ox:e.clientX-r.x,oy:e.clientY-r.y})},[o,n,x]),te=(0,_.useCallback)(e=>{if(!g.current||!n)return;let{id:t,ox:i,oy:a}=g.current,o=e.clientX-i,s=e.clientY-a,c=Math.max(0,Math.round(o/20)*20),l=Math.max(0,Math.round(s/20)*20);r(e=>e&&{...e,nodes:e.nodes.map(e=>e.id===t?{...e,x:c,y:l}:e)})},[n]),ne=(0,_.useCallback)(()=>{if(!g.current||!n){g.current=null;return}n.nodes.find(e=>e.id===g.current.id)&&x(n),g.current=null},[n,x]),T=(0,_.useCallback)(e=>{n&&(x({...n,nodes:n.nodes.filter(t=>t.id!==e),edges:n.edges.filter(t=>t.from!==e&&t.to!==e)}),a(null))},[n,x]),O=(0,_.useCallback)((e,t)=>{n&&x({...n,edges:n.edges.filter(n=>!(n.from===e&&n.to===t))})},[n,x]),re=(0,_.useCallback)((e,i,a)=>{if(!n)return;let o={...n,nodes:n.nodes.map(t=>t.id===e?{...t,config:{...t.config,[i]:a}}:t)};r(o),t(e=>e.map(e=>e.id===o.id?o:e))},[n]),k=(0,_.useCallback)(()=>{n&&x(n)},[n,x]),ie=async()=>{if(!(!n||c)){l(!0),p(!0),d([]);try{let e={...n,nodeDefs:it};await D(`/api/workflows/${n.id}`,e,`PUT`).catch(()=>null),d((await D(`/api/workflows/${n.id}/run`,{}))?.steps??[]),b()}catch(e){d([{nodeId:`__error`,nodeLabel:`Error`,nodeIcon:`❌`,output:``,error:e.message}])}finally{l(!1)}}},j=async e=>{let i={...e,enabled:!e.enabled};await D(`/api/workflows/${e.id}`,i,`PUT`).catch(()=>null),t(t=>t.map(t=>t.id===e.id?i:t)),n?.id===e.id&&r(i)},M=n?.nodes.find(e=>e.id===i)??null,ae=M?at[M.defId]:null;return(0,A.jsxs)(`div`,{className:H.root,children:[(0,A.jsxs)(`div`,{className:H.topbar,children:[(0,A.jsxs)(`div`,{className:H.topbarLeft,children:[(0,A.jsx)(`span`,{className:H.topbarTitle,children:`Connectors`}),(0,A.jsx)(`span`,{className:H.topbarSub,children:`Visual workflow automation · 80 tools · 38 AI agents · free AI via Liara`})]}),(0,A.jsxs)(`div`,{className:H.topbarActions,children:[n&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`button`,{className:`${H.runBtn} ${c?H.runBtnActive:``}`,onClick:ie,disabled:c||n.nodes.length===0,children:c?`⏳ Running…`:`▶ Run`}),(0,A.jsx)(`button`,{className:H.logBtn,onClick:()=>p(e=>!e),children:f?`Hide Log`:`📋 Log`})]}),(0,A.jsx)(`button`,{className:H.newWfBtn,onClick:S,children:`+ New Workflow`})]})]}),(0,A.jsxs)(`div`,{className:H.body,children:[(0,A.jsxs)(`div`,{className:H.sidebar,children:[(0,A.jsx)(`div`,{className:H.sidebarTitle,children:`Workflows`}),e.length===0&&(0,A.jsxs)(`div`,{className:H.sidebarEmpty,children:[`No workflows yet.`,(0,A.jsx)(`br`,{}),`Click "New Workflow" to start.`]}),e.map(e=>(0,A.jsxs)(`div`,{className:`${H.wfItem} ${n?.id===e.id?H.wfItemActive:``}`,onClick:()=>{r(e),a(null),d(e.lastRun?.steps??[]),p(!1)},children:[(0,A.jsxs)(`div`,{className:H.wfItemRow,children:[(0,A.jsx)(`span`,{className:H.wfItemName,children:e.name}),(0,A.jsx)(`button`,{className:e.enabled?H.wfOn:H.wfOff,onClick:t=>{t.stopPropagation(),j(e)},children:e.enabled?`ON`:`OFF`})]}),(0,A.jsxs)(`div`,{className:H.wfItemMeta,children:[e.nodes.length,` nodes · `,e.edges.length,` edges`,e.lastRun&&(0,A.jsxs)(`span`,{children:[` · ran `,new Date(e.lastRun.at).toLocaleTimeString()]})]}),(0,A.jsx)(`button`,{className:H.wfDelBtn,onClick:t=>{t.stopPropagation(),C(e.id)},children:`✕`})]},e.id))]}),(0,A.jsx)(`div`,{className:H.canvasArea,children:n?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:H.canvasHeader,children:[(0,A.jsx)(`input`,{className:H.wfNameInput,value:n.name,onChange:e=>r(t=>t&&{...t,name:e.target.value}),onBlur:()=>n&&x(n)}),o?(0,A.jsxs)(`span`,{className:H.connectHint,children:[`Click a target node to connect · `,(0,A.jsx)(`button`,{className:H.cancelConnectBtn,onClick:()=>s(null),children:`Cancel`})]}):(0,A.jsxs)(`span`,{className:H.canvasHint,children:[`Drag nodes from palette · Click `,(0,A.jsx)(`span`,{className:H.portHint,children:`▶`}),` to connect · Drag nodes to reposition`]})]}),(0,A.jsxs)(`div`,{ref:y,className:`${H.canvas} ${o?H.canvasConnecting:``}`,onMouseMove:te,onMouseUp:ne,onMouseLeave:ne,onDragOver:e=>e.preventDefault(),onDrop:w,onClick:()=>{o||a(null)},children:[(0,A.jsx)(`svg`,{className:H.canvasSvg,children:n.edges.map((e,t)=>{let r=n.nodes.find(t=>t.id===e.from),i=n.nodes.find(t=>t.id===e.to);if(!r||!i)return null;let a=lt(r,`out`),o=lt(i,`in`),s=(a.x+o.x)/2;return(0,A.jsxs)(`g`,{children:[(0,A.jsx)(`path`,{d:`M${a.x},${a.y} C${s},${a.y} ${s},${o.y} ${o.x},${o.y}`,stroke:`var(--green3)`,strokeWidth:`2`,fill:`none`,strokeDasharray:`6,3`,opacity:`0.8`}),(0,A.jsx)(`path`,{d:`M${a.x},${a.y} C${s},${a.y} ${s},${o.y} ${o.x},${o.y}`,stroke:`transparent`,strokeWidth:`12`,fill:`none`,style:{cursor:`pointer`},onClick:t=>{t.stopPropagation(),O(e.from,e.to)}}),(0,A.jsx)(`circle`,{cx:s,cy:(a.y+o.y)/2,r:`7`,fill:`var(--bg2)`,stroke:`var(--border)`,strokeWidth:`1.5`,style:{cursor:`pointer`},onClick:t=>{t.stopPropagation(),O(e.from,e.to)}}),(0,A.jsx)(`text`,{x:s,y:(a.y+o.y)/2+4,textAnchor:`middle`,fill:`var(--dim)`,fontSize:`9`,style:{cursor:`pointer`,pointerEvents:`none`},children:`✕`})]},t)})}),n.nodes.map(e=>{let t=at[e.defId];if(!t)return null;let n=i===e.id,r=o===e.id;return(0,A.jsxs)(`div`,{className:`${H.canvasNode} ${n?H.canvasNodeSelected:``} ${r?H.canvasNodeConnecting:``}`,style:{left:e.x,top:e.y,borderColor:t.color+(n?`ff`:`88`),background:t.color+`18`},onMouseDown:t=>ee(t,e.id),onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(`button`,{className:H.nodeDelBtn,onMouseDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),T(e.id)},children:`✕`}),(0,A.jsx)(`span`,{className:H.nodeIcon,children:t.icon}),(0,A.jsx)(`span`,{className:H.nodeLabel,style:{color:t.color},children:t.label}),Object.values(e.config).filter(Boolean).slice(0,1).map((e,t)=>(0,A.jsx)(`span`,{className:H.nodeConfigPreview,children:String(e).slice(0,14)},t)),(0,A.jsx)(`button`,{className:`${H.portOut} ${r?H.portActive:``}`,onMouseDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),s(t=>t===e.id?null:e.id)},title:`Connect from here`,children:`▶`}),o&&o!==e.id&&(0,A.jsx)(`button`,{className:H.portIn,onMouseDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),ee(t,e.id)},title:`Connect here`,children:`◀`})]},e.id)}),n.nodes.length===0&&(0,A.jsx)(`div`,{className:H.canvasDrop,children:`Drag nodes from the right panel and drop here`})]}),f&&(0,A.jsxs)(`div`,{className:H.logPanel,children:[(0,A.jsxs)(`div`,{className:H.logHeader,children:[(0,A.jsx)(`span`,{children:`Run Log`}),n.lastRun&&(0,A.jsx)(`span`,{className:H.logTime,children:new Date(n.lastRun.at).toLocaleString()}),(0,A.jsx)(`button`,{className:H.logClose,onClick:()=>p(!1),children:`✕`})]}),u.length===0&&(0,A.jsx)(`div`,{className:H.logEmpty,children:c?`Running…`:`No run results yet.`}),u.map((e,t)=>(0,A.jsxs)(`div`,{className:`${H.logStep} ${e.error?H.logStepError:``}`,children:[(0,A.jsxs)(`div`,{className:H.logStepHeader,children:[(0,A.jsx)(`span`,{className:H.logStepIcon,children:e.nodeIcon}),(0,A.jsx)(`span`,{className:H.logStepLabel,children:e.nodeLabel}),e.error&&(0,A.jsx)(`span`,{className:H.logStepErrBadge,children:`ERROR`})]}),e.error&&(0,A.jsx)(`div`,{className:H.logStepErr,children:e.error}),e.output&&(0,A.jsx)(`div`,{className:H.logStepOutput,dangerouslySetInnerHTML:{__html:de(e.output.slice(0,500))}})]},t))]})]}):(0,A.jsxs)(`div`,{className:H.canvasEmpty,children:[(0,A.jsx)(`div`,{className:H.canvasEmptyIcon,children:`🔗`}),(0,A.jsx)(`div`,{className:H.canvasEmptyTitle,children:`Select or create a workflow`}),(0,A.jsxs)(`div`,{className:H.canvasEmptyDesc,children:[`Drag nodes from the right panel onto the canvas.`,(0,A.jsx)(`br`,{}),`Connect them by clicking the `,(0,A.jsx)(`span`,{className:H.portHint,children:`▶`}),` output port then the target node.`,(0,A.jsx)(`br`,{}),`Run with one click — all 80 NHA tools already authenticated.`]}),(0,A.jsx)(`button`,{className:H.newWfBtn,onClick:S,children:`+ New Workflow`})]})}),(0,A.jsx)(`div`,{className:H.rightPanel,children:M&&ae?(0,A.jsxs)(`div`,{className:H.configPanel,children:[(0,A.jsxs)(`div`,{className:H.configHeader,children:[(0,A.jsxs)(`span`,{style:{color:ae.color},children:[ae.icon,` `,ae.label]}),(0,A.jsx)(`button`,{className:H.configClose,onClick:()=>a(null),children:`✕`})]}),(0,A.jsx)(`div`,{className:H.configDesc,children:ae.description}),(0,A.jsx)(`div`,{className:H.configFields,children:(ae.configFields??[]).map(e=>(0,A.jsxs)(`div`,{className:H.configField,children:[(0,A.jsxs)(`label`,{className:H.configLabel,children:[e.label,e.required&&(0,A.jsx)(`span`,{className:H.configRequired,children:`*`})]}),(0,A.jsx)(`input`,{className:H.configInput,value:M.config[e.key]??``,placeholder:e.placeholder??``,onChange:t=>re(M.id,e.key,t.target.value),onBlur:k}),(e.placeholder?.includes(`{{`)??!1)&&(0,A.jsxs)(`div`,{className:H.configHint,children:[`Use `,(0,A.jsx)(`code`,{children:`{{output}}`}),` to pass previous node result`]})]},e.key))}),(0,A.jsx)(`button`,{className:H.configDelete,onClick:()=>T(M.id),children:`Delete node`})]}):(0,A.jsxs)(`div`,{className:H.palette,children:[(0,A.jsx)(`div`,{className:H.paletteTitle,children:`Node Palette`}),(0,A.jsx)(`div`,{className:H.paletteTabs,children:[{id:`trigger`,label:`Triggers`,color:`#fbbf24`},{id:`action`,label:`Actions`,color:`#38bdf8`},{id:`ai`,label:`AI`,color:`#a5b4fc`}].map(e=>(0,A.jsx)(`button`,{className:`${H.paletteTab} ${m===e.id?H.paletteTabActive:``}`,style:m===e.id?{borderColor:e.color,color:e.color}:{},onClick:()=>h(e.id),children:e.label},e.id))}),(0,A.jsx)(`div`,{className:H.paletteNodes,children:it.filter(e=>e.type===m).map(e=>(0,A.jsxs)(`div`,{className:H.paletteDef,style:{borderColor:e.color+`44`,background:e.color+`14`},draggable:!0,onDragStart:()=>{v.current=e.id},onDragEnd:()=>{v.current=null},children:[(0,A.jsx)(`span`,{className:H.paletteDefIcon,children:e.icon}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:H.paletteDefLabel,style:{color:e.color},children:e.label}),(0,A.jsx)(`div`,{className:H.paletteDefDesc,children:e.description})]})]},e.id))}),(0,A.jsxs)(`div`,{className:H.paletteGuide,children:[(0,A.jsx)(`div`,{className:H.guideTitle,children:`How to use Connectors`}),(0,A.jsxs)(`div`,{className:H.guideStep,children:[(0,A.jsx)(`span`,{className:H.guideNum,children:`1`}),(0,A.jsxs)(`span`,{children:[(0,A.jsx)(`strong`,{children:`Create`}),` a workflow with "+ New Workflow"`]})]}),(0,A.jsxs)(`div`,{className:H.guideStep,children:[(0,A.jsx)(`span`,{className:H.guideNum,children:`2`}),(0,A.jsxs)(`span`,{children:[(0,A.jsx)(`strong`,{children:`Drag`}),` a Trigger node (e.g. Manual, Cron) onto the canvas`]})]}),(0,A.jsxs)(`div`,{className:H.guideStep,children:[(0,A.jsx)(`span`,{className:H.guideNum,children:`3`}),(0,A.jsxs)(`span`,{children:[(0,A.jsx)(`strong`,{children:`Drag`}),` Action or AI nodes to chain operations`]})]}),(0,A.jsxs)(`div`,{className:H.guideStep,children:[(0,A.jsx)(`span`,{className:H.guideNum,children:`4`}),(0,A.jsxs)(`span`,{children:[`Click the `,(0,A.jsx)(`strong`,{style:{color:`var(--green3)`},children:`▶`}),` port on a node then click the next to `,(0,A.jsx)(`strong`,{children:`connect`}),` them`]})]}),(0,A.jsxs)(`div`,{className:H.guideStep,children:[(0,A.jsx)(`span`,{className:H.guideNum,children:`5`}),(0,A.jsxs)(`span`,{children:[(0,A.jsx)(`strong`,{children:`Click`}),` a node to configure it — use `,(0,A.jsx)(`code`,{className:H.guideCode,children:`{{output}}`}),` to pass the previous result`]})]}),(0,A.jsxs)(`div`,{className:H.guideStep,children:[(0,A.jsx)(`span`,{className:H.guideNum,children:`6`}),(0,A.jsxs)(`span`,{children:[`Press `,(0,A.jsx)(`strong`,{children:`▶ Run`}),` to execute · toggle `,(0,A.jsx)(`strong`,{children:`ON`}),` to run automatically (cron/webhook)`]})]}),(0,A.jsxs)(`div`,{className:H.guideTip,children:[(0,A.jsx)(`strong`,{children:`Tip:`}),` Click an edge to delete it. Drag nodes on the canvas to reposition. All 80 NHA tools are pre-authenticated — no extra setup.`]}),(0,A.jsxs)(`div`,{className:H.guideTip,children:[(0,A.jsx)(`strong`,{children:`AI nodes`}),` use Liara (free) by default. They receive `,(0,A.jsx)(`code`,{className:H.guideCode,children:`{{output}}`}),` from the previous step automatically.`]})]})]})})]})]})}var U={root:`_root_1ssbe_1`,sidebar:`_sidebar_1ssbe_12`,sidebarSection:`_sidebarSection_1ssbe_23`,sidebarLabel:`_sidebarLabel_1ssbe_28`,accountSelect:`_accountSelect_1ssbe_36`,sidebarCompose:`_sidebarCompose_1ssbe_46`,composeBtn:`_composeBtn_1ssbe_51`,folderList:`_folderList_1ssbe_63`,folderItem:`_folderItem_1ssbe_69`,folderActive:`_folderActive_1ssbe_82`,badge:`_badge_1ssbe_88`,labelHeader:`_labelHeader_1ssbe_103`,addLabelBtn:`_addLabelBtn_1ssbe_114`,newLabelRow:`_newLabelRow_1ssbe_123`,newLabelInput:`_newLabelInput_1ssbe_129`,newLabelSave:`_newLabelSave_1ssbe_139`,labelDot:`_labelDot_1ssbe_150`,syncArea:`_syncArea_1ssbe_158`,syncBtn:`_syncBtn_1ssbe_163`,messageList:`_messageList_1ssbe_175`,listHeader:`_listHeader_1ssbe_185`,searchInput:`_searchInput_1ssbe_194`,searchBtn:`_searchBtn_1ssbe_204`,listBody:`_listBody_1ssbe_214`,listLoading:`_listLoading_1ssbe_219`,noMessages:`_noMessages_1ssbe_224`,msgRow:`_msgRow_1ssbe_231`,msgUnread:`_msgUnread_1ssbe_242`,msgActive:`_msgActive_1ssbe_247`,msgTop:`_msgTop_1ssbe_251`,msgFrom:`_msgFrom_1ssbe_257`,msgDate:`_msgDate_1ssbe_270`,msgSubject:`_msgSubject_1ssbe_277`,msgPreview:`_msgPreview_1ssbe_289`,listFooter:`_listFooter_1ssbe_300`,loadMoreBtn:`_loadMoreBtn_1ssbe_311`,pane:`_pane_1ssbe_322`,emptyPane:`_emptyPane_1ssbe_330`,readingPane:`_readingPane_1ssbe_337`,paneToolbar:`_paneToolbar_1ssbe_344`,paneActions:`_paneActions_1ssbe_354`,replyBtn:`_replyBtn_1ssbe_360`,fwdBtn:`_fwdBtn_1ssbe_371`,trashBtn:`_trashBtn_1ssbe_371`,starBtn:`_starBtn_1ssbe_371`,aiBtn:`_aiBtn_1ssbe_384`,labelSelect:`_labelSelect_1ssbe_394`,paneHeader:`_paneHeader_1ssbe_403`,paneSubject:`_paneSubject_1ssbe_409`,paneMeta:`_paneMeta_1ssbe_416`,attachments:`_attachments_1ssbe_424`,attachLink:`_attachLink_1ssbe_431`,paneBody:`_paneBody_1ssbe_441`,bodyFrame:`_bodyFrame_1ssbe_447`,bodyText:`_bodyText_1ssbe_455`,composePane:`_composePane_1ssbe_465`,composeTitle:`_composeTitle_1ssbe_474`,composeField:`_composeField_1ssbe_483`,templateRow:`_templateRow_1ssbe_495`,templateToggle:`_templateToggle_1ssbe_500`,templateDrop:`_templateDrop_1ssbe_510`,templateItem:`_templateItem_1ssbe_524`,templateSubject:`_templateSubject_1ssbe_534`,composeBody:`_composeBody_1ssbe_540`,composeActions:`_composeActions_1ssbe_556`,sendBtn:`_sendBtn_1ssbe_563`,cancelBtn:`_cancelBtn_1ssbe_574`,compStatus:`_compStatus_1ssbe_584`,ok:`_ok_1ssbe_585`,err:`_err_1ssbe_586`},dt=[{id:`INBOX`,name:`Inbox`,icon:`✉`},{id:`SENT`,name:`Sent`,icon:`→`},{id:`DRAFTS`,name:`Drafts`,icon:`📄`},{id:`SPAM`,name:`Spam`,icon:`🛡`},{id:`TRASH`,name:`Trash`,icon:`🗑`}],ft=[{name:`Product Promo`,subject:`Discover our offer on [PRODUCT]`},{name:`Monthly Newsletter`,subject:`[COMPANY] Newsletter — [MONTH] [YEAR]`},{name:`Commercial Follow-up`,subject:`Following our conversation — [TOPIC]`},{name:`Offer / Quote`,subject:`Offer [NUMBER] — [SUBJECT]`},{name:`Event Invitation`,subject:`You are invited: [EVENT NAME] — [DATE]`},{name:`Customer Thank You`,subject:`Thank you for your trust, [NAME]`}];function pt(e){return e?e.slice(0,10):``}function mt(e){if(!e)return``;try{let t=typeof e==`string`?JSON.parse(e):e;return Array.isArray(t)?t.map(e=>e.name?`${e.name} <${e.address}>`:e.address||``).join(`, `):String(e)}catch{return String(e)}}function ht(){let e=F(),t=ne(e=>e.setView),[n,r]=(0,_.useState)(!1),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(`google`),[u,d]=(0,_.useState)([]),[f,p]=(0,_.useState)(`INBOX`),[m,h]=(0,_.useState)([]),[g,v]=(0,_.useState)(0),[y,b]=(0,_.useState)(0),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),[ee,te]=(0,_.useState)(!1),[T,O]=(0,_.useState)(!1),[re,k]=(0,_.useState)(``),[ie,j]=(0,_.useState)(``),[M,ae]=(0,_.useState)(0),[oe,N]=(0,_.useState)(!1),[se,P]=(0,_.useState)({}),[I,ce]=(0,_.useState)(``),[le,ue]=(0,_.useState)(``),[de,L]=(0,_.useState)(``),[fe,pe]=(0,_.useState)(``),[me,he]=(0,_.useState)(``),[R,ge]=(0,_.useState)(!1),[_e,ve]=(0,_.useState)(``),[ye,be]=(0,_.useState)(!1),xe=(0,_.useRef)(null);(0,_.useEffect)(()=>{E(`/api/config`).then(e=>r(!!e?.hasGoogle)),E(`/api/imap/accounts`).then(e=>{let t=e?.accounts??[];a(t),t.length>0?Se(t[0].id,`imap`):Se(`google`,`google`)})},[]);let Se=(e,t)=>{s(e),l(t),p(t===`google`?`INBOX`:null),h([]),b(0),S(null),w(null),t===`imap`?E(`/api/imap/labels?accountId=${e}`).then(t=>{let n=t?.labels??[];d(n);let r=n.find(e=>e.system_type===`inbox`)?.id??null;p(r),Ce(e,r,0,``)}):(d([]),we(`INBOX`,``))},Ce=(e,t,n,r)=>{te(!0);let i=`/api/imap/messages?accountId=${encodeURIComponent(e)}&limit=50&offset=${n}`;t&&(i+=`&labelId=${encodeURIComponent(t)}`),r&&(i+=`&search=${encodeURIComponent(r)}`),E(i).then(e=>{h(n===0?e?.messages??[]:t=>[...t,...e?.messages??[]]),v(e?.total??0),te(!1)}).catch(()=>te(!1))},we=(e,t)=>{te(!0);let n=e===`INBOX`||!e?`all`:e.toLowerCase(),r=`/api/emails?filter=${encodeURIComponent(t||n)}&page=0&pageSize=50`;t&&(r=`/api/emails?filter=${encodeURIComponent(t)}&page=0&pageSize=50`),E(r).then(e=>{let t=(e?.emails??[]).map(e=>({id:e.id,subject:e.subject,from_name:e.from,from_address:e.from,internal_date:e.date,body_preview:e.snippet,is_read:!e.isUnread,is_starred:!1,has_attachments:!1,_google:!0}));h(t),v(t.length);let n=t.filter(e=>!e.is_read).length;ae(n),te(!1)}).catch(()=>te(!1))},Te=()=>{k(ie),b(0),h([]),c===`imap`&&o?Ce(o,f,0,ie):we(f??`INBOX`,ie)},Ee=e=>{S(e),N(!1),O(!0),c===`google`?D(`/api/email/read`,{messageId:e}).then(t=>{w({...t?.message??t,id:e,_google:!0}),O(!1),D(`/api/email/mark-read`,{messageId:e}).catch(()=>{})}).catch(()=>O(!1)):E(`/api/imap/message?id=${encodeURIComponent(e)}`).then(t=>{w(t?.message??null),h(t=>t.map(t=>t.id===e?{...t,is_read:!0}:t)),O(!1)}).catch(()=>O(!1))},De=(e={})=>{N(!0),P(e),ce(e.to??``),ue(``),L(e.subject??``),pe(e.type===`forward`&&e.body?`\n\n---------- Forwarded message ----------\n${e.body}`:``),he(``),ge(!1),S(null),w(null)},Oe=async()=>{if(!I.trim()){he(`Recipient required`);return}he(`Sending…`);try{if(c===`imap`&&o){let e=await D(`/api/imap/send`,{accountId:o,to:I.trim(),cc:le.trim()||void 0,subject:de.trim(),bodyHtml:fe.replace(/\n/g,`<br>`),bodyText:fe,inReplyTo:se.inReplyTo||void 0});e?.ok?(he(`Sent!`),setTimeout(()=>N(!1),800)):he(e?.error??`Error`)}else{let e=await D(`/api/email/send`,{to:I.trim(),subject:de.trim(),body:fe});e?.ok||e?.id?(he(`Sent!`),setTimeout(()=>N(!1),800)):he(e?.error??`Error`)}}catch(e){he(e.message??`Error`)}},ke=e=>{confirm(`Move to trash? Email stays on the server.`)&&D(`/api/imap/trash`,{messageId:e}).then(()=>{h(t=>t.filter(t=>t.id!==e)),w(null),S(null)})},Ae=(e,t)=>{D(`/api/imap/mark-starred`,{messageId:e,isStarred:t}).then(()=>{C?.id===e&&w(e=>e&&{...e,is_starred:t})})},je=(e,t)=>{t&&D(`/api/imap/labels/assign`,{messageId:e,labelId:t})},Me=()=>{!_e.trim()||!o||D(`/api/imap/labels`,{accountId:o,name:_e.trim()}).then(()=>{be(!1),ve(``),E(`/api/imap/labels?accountId=${o}`).then(e=>d(e?.labels??[]))})};return(0,A.jsxs)(`div`,{className:U.root,children:[(0,A.jsxs)(`div`,{className:U.sidebar,children:[(0,A.jsxs)(`div`,{className:U.sidebarSection,children:[(0,A.jsx)(`div`,{className:U.sidebarLabel,children:`Account`}),(0,A.jsxs)(`select`,{className:U.accountSelect,value:c===`google`?`google`:`imap:${o}`,onChange:e=>{let t=e.target.value;t===`google`?Se(`google`,`google`):t.startsWith(`imap:`)&&Se(t.slice(5),`imap`)},children:[n&&(0,A.jsx)(`option`,{value:`google`,children:`Google (Gmail)`}),i.map(e=>(0,A.jsx)(`option`,{value:`imap:${e.id}`,children:e.display_name||e.email_address},e.id)),!n&&i.length===0&&(0,A.jsx)(`option`,{value:``,children:`No accounts — add in Settings`})]})]}),(0,A.jsx)(`div`,{className:U.sidebarCompose,children:(0,A.jsx)(`button`,{className:U.composeBtn,onClick:()=>De(),children:`+ Compose`})}),(0,A.jsx)(`div`,{className:U.folderList,children:c===`google`?dt.map(e=>(0,A.jsxs)(`div`,{className:`${U.folderItem} ${f===e.id?U.folderActive:``}`,onClick:()=>{p(e.id),h([]),b(0),we(e.id,re)},children:[(0,A.jsx)(`span`,{children:e.icon}),(0,A.jsx)(`span`,{children:e.name}),e.id===`INBOX`&&M>0&&(0,A.jsx)(`span`,{className:U.badge,children:M})]},e.id)):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:U.labelHeader,children:[(0,A.jsx)(`span`,{children:`Labels`}),(0,A.jsx)(`button`,{className:U.addLabelBtn,onClick:()=>be(e=>!e),children:`+`})]}),ye&&(0,A.jsxs)(`div`,{className:U.newLabelRow,children:[(0,A.jsx)(`input`,{className:U.newLabelInput,value:_e,onChange:e=>ve(e.target.value),placeholder:`Label name`,onKeyDown:e=>e.key===`Enter`&&Me()}),(0,A.jsx)(`button`,{className:U.newLabelSave,onClick:Me,children:`+`})]}),u.map(e=>(0,A.jsxs)(`div`,{className:`${U.folderItem} ${f===e.id?U.folderActive:``}`,onClick:()=>{p(e.id),h([]),b(0),o&&Ce(o,e.id,0,re)},children:[(0,A.jsx)(`span`,{className:U.labelDot,style:{background:e.color??`var(--dim)`}}),(0,A.jsx)(`span`,{children:e.name}),e.unread_count?(0,A.jsx)(`span`,{className:U.badge,children:e.unread_count}):null]},e.id))]})}),c===`imap`&&o&&(0,A.jsx)(`div`,{className:U.syncArea,children:(0,A.jsx)(`button`,{className:U.syncBtn,onClick:()=>{o&&c===`imap`&&D(`/api/imap/sync/${o}`,{})},children:`Sync now`})})]}),(0,A.jsxs)(`div`,{className:U.messageList,children:[(0,A.jsxs)(`div`,{className:U.listHeader,children:[(0,A.jsx)(`input`,{className:U.searchInput,value:ie,onChange:e=>j(e.target.value),placeholder:`Search…`,onKeyDown:e=>e.key===`Enter`&&Te()}),(0,A.jsx)(`button`,{className:U.searchBtn,onClick:Te,children:`Go`})]}),(0,A.jsxs)(`div`,{className:U.listBody,children:[ee&&(0,A.jsx)(`div`,{className:U.listLoading,children:(0,A.jsx)(`div`,{className:`spinner`})}),!ee&&m.length===0&&(0,A.jsx)(`div`,{className:U.noMessages,children:`No messages`}),m.map(e=>(0,A.jsxs)(`div`,{className:`${U.msgRow} ${e.id===x?U.msgActive:``} ${e.is_read?``:U.msgUnread}`,onClick:()=>Ee(e.id),children:[(0,A.jsxs)(`div`,{className:U.msgTop,children:[(0,A.jsx)(`span`,{className:U.msgFrom,children:e.from_name||e.from_address||``}),(0,A.jsx)(`span`,{className:U.msgDate,children:pt(e.internal_date)})]}),(0,A.jsx)(`div`,{className:U.msgSubject,children:e.subject||`(no subject)`}),(0,A.jsx)(`div`,{className:U.msgPreview,children:(e.body_preview||``).slice(0,80)})]},e.id))]}),(0,A.jsxs)(`div`,{className:U.listFooter,children:[(0,A.jsxs)(`span`,{children:[g,` messages`]}),m.length<g&&c===`imap`&&(0,A.jsx)(`button`,{className:U.loadMoreBtn,onClick:()=>{let e=y+50;b(e),o&&Ce(o,f,e,re)},children:`Load more`})]})]}),(0,A.jsx)(`div`,{className:U.pane,children:(()=>{if(oe)return(0,A.jsxs)(`div`,{className:U.composePane,children:[(0,A.jsx)(`div`,{className:U.composeTitle,children:e(`email.compose`)}),(0,A.jsx)(`input`,{className:U.composeField,value:I,onChange:e=>ce(e.target.value),placeholder:`To`}),(0,A.jsx)(`input`,{className:U.composeField,value:le,onChange:e=>ue(e.target.value),placeholder:`Cc`}),(0,A.jsx)(`input`,{className:U.composeField,value:de,onChange:e=>L(e.target.value),placeholder:`Subject`}),(0,A.jsxs)(`div`,{className:U.templateRow,children:[(0,A.jsx)(`button`,{className:U.templateToggle,onClick:()=>ge(e=>!e),children:`📄 Templates`}),R&&(0,A.jsx)(`div`,{className:U.templateDrop,children:ft.map((e,t)=>(0,A.jsxs)(`div`,{className:U.templateItem,onClick:()=>{L(t=>t||e.subject),ge(!1)},children:[(0,A.jsx)(`strong`,{children:e.name}),(0,A.jsx)(`div`,{className:U.templateSubject,children:e.subject})]},t))})]}),(0,A.jsx)(`textarea`,{className:U.composeBody,value:fe,onChange:e=>pe(e.target.value),placeholder:`Write your message…`}),(0,A.jsxs)(`div`,{className:U.composeActions,children:[(0,A.jsx)(`button`,{className:U.sendBtn,onClick:Oe,children:e(`email.send_ok`)}),(0,A.jsx)(`button`,{className:U.cancelBtn,onClick:()=>N(!1),children:`Discard`}),me&&(0,A.jsx)(`span`,{className:`${U.compStatus} ${me===`Sent!`?U.ok:U.err}`,children:me})]})]});if(T)return(0,A.jsx)(`div`,{className:U.emptyPane,children:(0,A.jsx)(`div`,{className:`spinner`})});if(!C)return(0,A.jsx)(`div`,{className:U.emptyPane,children:`Select a message`});let n=mt(C.to_addresses);return(0,A.jsxs)(`div`,{className:U.readingPane,children:[(0,A.jsx)(`div`,{className:U.paneToolbar,children:(0,A.jsxs)(`div`,{className:U.paneActions,children:[(0,A.jsx)(`button`,{className:U.replyBtn,onClick:()=>De({to:C.from_address,subject:`Re: ${C.subject??``}`,inReplyTo:C.message_id??C.id,replyTo:C.id,type:`reply`}),children:e(`email.reply`)}),(0,A.jsx)(`button`,{className:U.fwdBtn,onClick:()=>De({subject:`Fwd: ${C.subject??``}`,type:`forward`,body:C.body_text??C.body_preview??``}),children:`Forward`}),!C._google&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`button`,{className:U.trashBtn,onClick:()=>ke(C.id),children:`🗑`}),(0,A.jsx)(`button`,{className:U.starBtn,onClick:()=>Ae(C.id,!C.is_starred),children:C.is_starred?`★`:`☆`}),u.length>0&&(0,A.jsxs)(`select`,{className:U.labelSelect,defaultValue:``,onChange:e=>je(C.id,e.target.value),children:[(0,A.jsx)(`option`,{value:``,children:`+ Label`}),u.map(e=>(0,A.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,A.jsx)(`button`,{className:U.aiBtn,onClick:()=>t(`chat`),children:`Ask AI`})]})}),(0,A.jsxs)(`div`,{className:U.paneHeader,children:[(0,A.jsx)(`div`,{className:U.paneSubject,children:C.subject||`(no subject)`}),(0,A.jsxs)(`div`,{className:U.paneMeta,children:[(0,A.jsx)(`strong`,{children:`From:`}),` `,C.from_name&&C.from_name!==C.from_address?`${C.from_name} <${C.from_address}>`:C.from_address]}),(0,A.jsxs)(`div`,{className:U.paneMeta,children:[(0,A.jsx)(`strong`,{children:`To:`}),` `,n]}),(0,A.jsxs)(`div`,{className:U.paneMeta,children:[(0,A.jsx)(`strong`,{children:`Date:`}),` `,C.internal_date]}),C.attachments&&C.attachments.length>0&&(0,A.jsx)(`div`,{className:U.attachments,children:C.attachments.map((e,t)=>(0,A.jsxs)(`a`,{className:U.attachLink,href:`/api/imap/attachment?messageId=${encodeURIComponent(C.id)}&partId=${encodeURIComponent(e.part_id??``)}&accountId=${encodeURIComponent(o??``)}`,download:e.filename??`attachment`,children:[`📎 `,e.filename??`attachment`,` (`,Math.round((e.size_bytes??0)/1024),`KB)`]},t))})]}),(0,A.jsx)(`div`,{className:U.paneBody,children:C.body_html?(0,A.jsx)(`iframe`,{ref:xe,sandbox:`allow-same-origin`,className:U.bodyFrame,srcDoc:C.body_html,title:`Email body`}):(0,A.jsx)(`pre`,{className:U.bodyText,children:C.body_text??C.body_preview??`(empty)`})})]})})()})]})}var W={root:`_root_1u06k_1`,center:`_center_1u06k_10`,noGoogle:`_noGoogle_1u06k_17`,noGoogleIcon:`_noGoogleIcon_1u06k_26`,noGoogleTitle:`_noGoogleTitle_1u06k_27`,noGoogleSub:`_noGoogleSub_1u06k_28`,connectBtn:`_connectBtn_1u06k_30`,calCol:`_calCol_1u06k_42`,navRow:`_navRow_1u06k_50`,navBtn:`_navBtn_1u06k_57`,monthTitle:`_monthTitle_1u06k_70`,dayHeaders:`_dayHeaders_1u06k_78`,dayHeader:`_dayHeader_1u06k_78`,weekend:`_weekend_1u06k_92`,grid:`_grid_1u06k_94`,cell:`_cell_1u06k_103`,emptyCell:`_emptyCell_1u06k_119`,weekendCell:`_weekendCell_1u06k_121`,todayCell:`_todayCell_1u06k_122`,activeCell:`_activeCell_1u06k_123`,hasEvtsCell:`_hasEvtsCell_1u06k_124`,holidayCell:`_holidayCell_1u06k_125`,dayNum:`_dayNum_1u06k_127`,todayNum:`_todayNum_1u06k_133`,weekendNum:`_weekendNum_1u06k_134`,evtPills:`_evtPills_1u06k_136`,evtPill:`_evtPill_1u06k_136`,holidayPill:`_holidayPill_1u06k_156`,morePill:`_morePill_1u06k_158`,loadingBar:`_loadingBar_1u06k_164`,detailCol:`_detailCol_1u06k_173`,detailHeader:`_detailHeader_1u06k_184`,detailDate:`_detailDate_1u06k_192`,addEvtBtn:`_addEvtBtn_1u06k_198`,noEvts:`_noEvts_1u06k_210`,selectDay:`_selectDay_1u06k_217`,evtCard:`_evtCard_1u06k_224`,evtTop:`_evtTop_1u06k_234`,evtTime:`_evtTime_1u06k_241`,evtBtns:`_evtBtns_1u06k_247`,editBtn:`_editBtn_1u06k_253`,delBtn:`_delBtn_1u06k_263`,readOnly:`_readOnly_1u06k_273`,evtTitle:`_evtTitle_1u06k_280`,evtLoc:`_evtLoc_1u06k_286`,evtMeta:`_evtMeta_1u06k_287`,attendees:`_attendees_1u06k_289`,attendee:`_attendee_1u06k_289`,evtDesc:`_evtDesc_1u06k_300`,joinBtn:`_joinBtn_1u06k_310`,gcalLink:`_gcalLink_1u06k_317`,overlay:`_overlay_1u06k_324`,formCard:`_formCard_1u06k_334`,formTitle:`_formTitle_1u06k_348`,formLabel:`_formLabel_1u06k_355`,formInput:`_formInput_1u06k_361`,formTextarea:`_formTextarea_1u06k_374`,formError:`_formError_1u06k_390`,formBtns:`_formBtns_1u06k_395`,cancelFormBtn:`_cancelFormBtn_1u06k_402`,saveFormBtn:`_saveFormBtn_1u06k_412`};function gt(e,t,n){return`${e}-${String(t+1).padStart(2,`0`)}-${String(n).padStart(2,`0`)}`}function _t(e,t,n){let r=new Date;return r.getFullYear()===e&&r.getMonth()===t&&r.getDate()===n}function vt(e){if(!e)return``;let t=new Date(e);return isNaN(t.getTime())?e.slice(11,16):t.toLocaleTimeString(`en`,{hour:`2-digit`,minute:`2-digit`})}function yt(){let e=F(),t=ne(e=>e.setView),[n,r]=(0,_.useState)(null),i=new Date,[a,o]=(0,_.useState)(i.getFullYear()),[s,c]=(0,_.useState)(i.getMonth()),[l,u]=(0,_.useState)({}),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)(!1);(0,_.useEffect)(()=>{E(`/api/config`).then(e=>r(!!e?.hasGoogle))},[]);let S=(0,_.useCallback)((e,t)=>{let n=`${e}-${String(t+1).padStart(2,`0`)}`;f(!0),E(`/api/calendar?month=${n}`).then(e=>{e?.byDate&&u(t=>({...t,...e.byDate})),f(!1)}).catch(()=>f(!1))},[]);(0,_.useEffect)(()=>{n&&S(a,s)},[n,a,s,S]);let C=e=>{E(`/api/calendar?date=${e}`).then(t=>{u(n=>({...n,[e]:t?.events??[]}))})},w=(e,t,n)=>{confirm(`Delete this event?`)&&D(`/api/calendar/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{},`DELETE`).then(()=>C(n))},ee=e=>{g({title:``,start:`${e}T09:00`,end:`${e}T10:00`,location:``,description:``,isEdit:!1}),y(``)},te=(e,t)=>{let n=e.start?e.start.slice(0,16):`${t}T09:00`,r=e.end?e.end.slice(0,16):`${t}T10:00`;g({id:e.id,calId:e.calendarId??`primary`,title:e.summary,start:n,end:r,location:e.location??``,description:e.description??``,isEdit:!0}),y(``)},T=async()=>{if(h){if(!h.title.trim()){y(`Title is required`);return}x(!0);try{if(h.isEdit&&h.id){let e=h.calId??`primary`;await D(`/api/calendar/${encodeURIComponent(e)}/${encodeURIComponent(h.id)}`,{summary:h.title,start:h.start,end:h.end,location:h.location||void 0,description:h.description||void 0},`PATCH`)}else{let e=h.start.split(`T`)[0];await D(`/api/calendar`,{summary:h.title,start:h.start,end:h.end,location:h.location||void 0,description:h.description||void 0,date:e})}let e=h.start.split(`T`)[0];C(e),g(null)}catch(e){y(`Error: `+(e.message??`Unknown`))}finally{x(!1)}}};if(n===null)return(0,A.jsx)(`div`,{className:W.center,children:(0,A.jsx)(`div`,{className:`spinner`})});if(!n)return(0,A.jsx)(`div`,{className:W.center,children:(0,A.jsxs)(`div`,{className:W.noGoogle,children:[(0,A.jsx)(`div`,{className:W.noGoogleIcon,children:`📅`}),(0,A.jsx)(`div`,{className:W.noGoogleTitle,children:`Calendar`}),(0,A.jsx)(`div`,{className:W.noGoogleSub,children:`Connect your Google account to view and manage calendar events.`}),(0,A.jsx)(`button`,{className:W.connectBtn,onClick:()=>t(`settings`),children:`Connect Google →`})]})});let O=new Date(a,s,1).getDay(),re=new Date(a,s+1,0).getDate(),k=new Date(a,s,1).toLocaleDateString(`en`,{month:`long`,year:`numeric`}),ie=(O+6)%7,j=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],M=p?l[p]??[]:[];return(0,A.jsxs)(`div`,{className:W.root,children:[(0,A.jsxs)(`div`,{className:W.calCol,children:[(0,A.jsxs)(`div`,{className:W.navRow,children:[(0,A.jsx)(`button`,{className:W.navBtn,onClick:()=>{let e=s-1;e<0?(o(e=>e-1),c(11)):c(e)},children:`←`}),(0,A.jsx)(`div`,{className:W.monthTitle,children:k}),(0,A.jsx)(`button`,{className:W.navBtn,onClick:()=>{let e=s+1;e>11?(o(e=>e+1),c(0)):c(e)},children:`→`})]}),(0,A.jsx)(`div`,{className:W.dayHeaders,children:j.map((e,t)=>(0,A.jsx)(`div`,{className:`${W.dayHeader} ${t>=5?W.weekend:``}`,children:e},e))}),(0,A.jsxs)(`div`,{className:W.grid,children:[Array.from({length:ie}).map((e,t)=>(0,A.jsx)(`div`,{className:`${W.cell} ${W.emptyCell} ${t>=5?W.weekendCell:``}`},`e${t}`)),Array.from({length:re}).map((e,t)=>{let n=t+1,r=gt(a,s,n),i=_t(a,s,n),o=l[r]??[],c=o.length,u=(ie+n-1)%7>=5,d=o.some(e=>e._isHoliday||e.readOnly),f=p===r;return(0,A.jsxs)(`div`,{className:`${W.cell} ${i?W.todayCell:u?W.weekendCell:``} ${f?W.activeCell:``} ${d?W.holidayCell:c>0?W.hasEvtsCell:``}`,onClick:()=>m(r),children:[(0,A.jsx)(`div`,{className:`${W.dayNum} ${i?W.todayNum:u?W.weekendNum:``}`,children:n}),c>0&&(0,A.jsxs)(`div`,{className:W.evtPills,children:[o.slice(0,2).map((e,t)=>(0,A.jsx)(`div`,{className:`${W.evtPill} ${e._isHoliday||e.readOnly?W.holidayPill:``}`,children:e.summary},t)),c>2&&(0,A.jsxs)(`div`,{className:W.morePill,children:[`+`,c-2]})]})]},r)})]}),d&&(0,A.jsx)(`div`,{className:W.loadingBar,children:`Loading events…`})]}),(0,A.jsx)(`div`,{className:W.detailCol,children:p?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:W.detailHeader,children:[(0,A.jsx)(`div`,{className:W.detailDate,children:new Date(p+`T12:00:00`).toLocaleDateString(`en`,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})}),(0,A.jsx)(`button`,{className:W.addEvtBtn,onClick:()=>ee(p),children:`+ Add Event`})]}),M.length===0?(0,A.jsx)(`div`,{className:W.noEvts,children:`No events on this day`}):M.map((t,n)=>{let r=t.isAllDay?`All day`:`${vt(t.start)} - ${vt(t.end)}`,i=t.calendarId??`primary`;return(0,A.jsxs)(`div`,{className:W.evtCard,children:[(0,A.jsxs)(`div`,{className:W.evtTop,children:[(0,A.jsx)(`div`,{className:W.evtTime,children:r}),t.id&&!t.readOnly&&(0,A.jsxs)(`div`,{className:W.evtBtns,children:[(0,A.jsx)(`button`,{className:W.editBtn,onClick:()=>te(t,p),children:`Edit`}),(0,A.jsx)(`button`,{className:W.delBtn,onClick:()=>w(i,t.id,p),children:e(`common.delete`)})]}),t.readOnly&&(0,A.jsx)(`span`,{className:W.readOnly,children:`read-only`})]}),(0,A.jsx)(`div`,{className:W.evtTitle,children:t.summary}),t.location&&(0,A.jsxs)(`div`,{className:W.evtLoc,children:[`📍 `,t.location]}),t.organizer&&(0,A.jsxs)(`div`,{className:W.evtMeta,children:[`Organizer: `,t.organizer]}),t.attendees&&t.attendees.length>0&&(0,A.jsxs)(`div`,{className:W.attendees,children:[(0,A.jsx)(`div`,{className:W.evtMeta,children:`Attendees:`}),t.attendees.map((e,t)=>(0,A.jsxs)(`div`,{className:W.attendee,"data-status":e.responseStatus,children:[e.name||e.email,` (`,e.responseStatus,`)`]},t))]}),t.description&&(0,A.jsx)(`div`,{className:W.evtDesc,children:t.description}),t.hangoutLink&&(0,A.jsx)(`a`,{className:W.joinBtn,href:t.hangoutLink,target:`_blank`,rel:`noreferrer`,children:`Join Video Call`}),t.htmlLink&&(0,A.jsx)(`a`,{className:W.gcalLink,href:t.htmlLink,target:`_blank`,rel:`noreferrer`,children:`Open in Google Calendar`})]},n)})]}):(0,A.jsx)(`div`,{className:W.selectDay,children:`Select a day to see events`})}),h&&(0,A.jsx)(`div`,{className:W.overlay,onClick:e=>{e.target===e.currentTarget&&g(null)},children:(0,A.jsxs)(`div`,{className:W.formCard,children:[(0,A.jsx)(`div`,{className:W.formTitle,children:h.isEdit?`Edit Event`:`New Event`}),(0,A.jsx)(`label`,{className:W.formLabel,children:`Title *`}),(0,A.jsx)(`input`,{className:W.formInput,value:h.title,onChange:e=>g(t=>t&&{...t,title:e.target.value}),placeholder:`Event title`}),(0,A.jsx)(`label`,{className:W.formLabel,children:`Start`}),(0,A.jsx)(`input`,{className:W.formInput,type:`datetime-local`,value:h.start,onChange:e=>g(t=>t&&{...t,start:e.target.value})}),(0,A.jsx)(`label`,{className:W.formLabel,children:`End`}),(0,A.jsx)(`input`,{className:W.formInput,type:`datetime-local`,value:h.end,onChange:e=>g(t=>t&&{...t,end:e.target.value})}),(0,A.jsx)(`label`,{className:W.formLabel,children:`Location`}),(0,A.jsx)(`input`,{className:W.formInput,value:h.location,onChange:e=>g(t=>t&&{...t,location:e.target.value}),placeholder:`Optional`}),(0,A.jsx)(`label`,{className:W.formLabel,children:`Description`}),(0,A.jsx)(`textarea`,{className:W.formTextarea,value:h.description,onChange:e=>g(t=>t&&{...t,description:e.target.value})}),v&&(0,A.jsx)(`div`,{className:W.formError,children:v}),(0,A.jsxs)(`div`,{className:W.formBtns,children:[(0,A.jsx)(`button`,{className:W.cancelFormBtn,onClick:()=>g(null),children:e(`common.cancel`)}),(0,A.jsx)(`button`,{className:W.saveFormBtn,onClick:T,disabled:b,children:b?`Saving…`:h.isEdit?`Save Changes`:`Create Event`})]})]})})]})}var G={root:`_root_1tngw_1`,gridSection:`_gridSection_1tngw_9`,gridHeader:`_gridHeader_1tngw_14`,headerRow:`_headerRow_1tngw_21`,search:`_search_1tngw_23`,createBtn:`_createBtn_1tngw_34`,catTabs:`_catTabs_1tngw_41`,catTab:`_catTab_1tngw_41`,catActive:`_catActive_1tngw_48`,grid:`_grid_1tngw_9`,agentCard:`_agentCard_1tngw_59`,agentActive:`_agentActive_1tngw_66`,agentCardTop:`_agentCardTop_1tngw_68`,agentIcon:`_agentIcon_1tngw_69`,agentActions:`_agentActions_1tngw_70`,agentEditBtn:`_agentEditBtn_1tngw_71`,agentDelBtn:`_agentDelBtn_1tngw_71`,agentLabel:`_agentLabel_1tngw_74`,agentDesc:`_agentDesc_1tngw_75`,agentCat:`_agentCat_1tngw_76`,loading:`_loading_1tngw_78`,chatArea:`_chatArea_1tngw_81`,emptyChat:`_emptyChat_1tngw_88`,emptyChatHint:`_emptyChatHint_1tngw_98`,chatPanel:`_chatPanel_1tngw_101`,chatHeader:`_chatHeader_1tngw_111`,chatIcon:`_chatIcon_1tngw_118`,chatHeaderInfo:`_chatHeaderInfo_1tngw_119`,chatAgentName:`_chatAgentName_1tngw_120`,chatAgentDesc:`_chatAgentDesc_1tngw_121`,closeChat:`_closeChat_1tngw_122`,chatMessages:`_chatMessages_1tngw_125`,chatEmpty:`_chatEmpty_1tngw_130`,chatMsg:`_chatMsg_1tngw_132`,msgUser:`_msgUser_1tngw_136`,msgAgent:`_msgAgent_1tngw_137`,thinking:`_thinking_1tngw_139`,dot:`_dot_1tngw_140`,dotPulse:`_dotPulse_1tngw_1`,chatInput:`_chatInput_1tngw_146`,chatTools:`_chatTools_1tngw_147`,toolBtn:`_toolBtn_1tngw_148`,toolBtnActive:`_toolBtnActive_1tngw_156`,attachBar:`_attachBar_1tngw_158`,attachClear:`_attachClear_1tngw_163`,chatInputRow:`_chatInputRow_1tngw_165`,chatTextarea:`_chatTextarea_1tngw_166`,sendBtn:`_sendBtn_1tngw_173`,orchBar:`_orchBar_1tngw_181`,orchLabel:`_orchLabel_1tngw_192`,orchRow:`_orchRow_1tngw_193`,orchInput:`_orchInput_1tngw_194`,orchBtn:`_orchBtn_1tngw_201`,orchSynthesis:`_orchSynthesis_1tngw_208`,orchSynthHeader:`_orchSynthHeader_1tngw_214`,orchSynthSpinner:`_orchSynthSpinner_1tngw_220`,blink:`_blink_1tngw_1`,orchSynthBody:`_orchSynthBody_1tngw_222`,modalOverlay:`_modalOverlay_1tngw_230`,modal:`_modal_1tngw_230`,modalTitle:`_modalTitle_1tngw_232`,formField:`_formField_1tngw_233`,formLabel:`_formLabel_1tngw_234`,formInput:`_formInput_1tngw_235`,formTextarea:`_formTextarea_1tngw_236`,formError:`_formError_1tngw_237`,modalBtns:`_modalBtns_1tngw_238`,cancelBtn:`_cancelBtn_1tngw_239`,modalSaveBtn:`_modalSaveBtn_1tngw_240`},bt={saber:{icon:`🛡`},zero:{icon:`🔍`},ade:{icon:`🔬`},heimdall:{icon:`🔒`},cassandra:{icon:`⚠`},sauron:{icon:`👁`},jarvis:{icon:`💻`},forge:{icon:`⚙`},pipe:{icon:`🔧`},shell:{icon:`📟`},glitch:{icon:`🐛`},hermes:{icon:`🔗`},babel:{icon:`🌎`},shogun:{icon:`☸`},flux:{icon:`🔄`},cron:{icon:`⏰`},atlas:{icon:`🗺`},oracle:{icon:`📊`},logos:{icon:`🧮`},navi:{icon:`🧭`},edi:{icon:`📈`},mercury:{icon:`🌐`},tempest:{icon:`⛈`},cartographer:{icon:`🌍`},scheherazade:{icon:`✍`},quill:{icon:`📝`},muse:{icon:`🎨`},murasaki:{icon:`🖌`},echo:{icon:`📡`},polyglot:{icon:`🗣`},prometheus:{icon:`🔥`},herald:{icon:`📢`},veritas:{icon:`✓`},athena:{icon:`🧠`},conductor:{icon:`🎼`},link:{icon:`🔌`},macro:{icon:`⚡`},epicure:{icon:`🍽`}};function xt(e){let t=e.card??e,n=(t.name||t.displayName||t.agentName||e.name||``).toLowerCase().replace(/\s+/g,`-`),r=bt[n],i=t.displayName||t.agentName||t.name||e.displayName||n,a=t.tagline||t.description||e.tagline||``,o=t.category||e.category||`Other`;return{id:n,icon:r?.icon??t.icon??`🤖`,label:i,description:a,category:o,isCustom:o===`custom`,systemPrompt:e.systemPrompt}}function St(e){return{agent:e,history:[],streaming:!1,input:``,attachedFile:null,attachedImage:null,voiceActive:!1}}function Ct(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(`All`),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(`create`),[w,ee]=(0,_.useState)(``),[te,ne]=(0,_.useState)(!1),T=(0,_.useRef)(new Map),O=(0,_.useRef)(new Map),k=(0,_.useRef)(new Map),ie=(0,_.useRef)(new Map),j=(0,_.useRef)(new Map),M=(0,_.useRef)(null),ae=()=>{E(`/api/agents`).then(e=>{n((e?.agents??[]).map(xt)),i(!1)}).catch(()=>i(!1))};(0,_.useEffect)(()=>{ae()},[]);let oe=[`All`,...Array.from(new Set(t.map(e=>e.category))).sort()],N=t.filter(e=>{let t=s===`All`||e.category===s,n=a.toLowerCase();return t&&(!n||e.label.toLowerCase().includes(n)||e.description.toLowerCase().includes(n))}),se=e=>{u(t=>{let n=t.findIndex(t=>t.agent.id===e.id);return n>=0?(O.current.get(e.id)?.abort(),O.current.delete(e.id),t.filter((e,t)=>t!==n)):[...t,St(e)]})},P=e=>{O.current.get(e)?.abort(),O.current.delete(e),u(t=>t.filter(t=>t.agent.id!==e))},I=(e,t)=>{u(n=>n.map(n=>n.agent.id===e?{...n,...t}:n))},ce=(e,t)=>{u(n=>n.map(n=>n.agent.id===e?{...n,history:[...n.history,t]}:n))},le=(e,t)=>{u(n=>n.map(n=>{if(n.agent.id!==e)return n;let r=[...n.history];return r[r.length-1]={...r[r.length-1],content:t},{...n,history:r}}))},ue=async(e,t,n,r)=>{let i=e.agent.id;if(!t.trim()&&!n&&!r)return;ce(i,{role:`user`,content:n?(t?t+` `:``)+`[File: ${n.name}]`:r?(t?t+` `:``)+`[Image: ${r.name}]`:t}),I(i,{streaming:!0,input:``,attachedFile:null,attachedImage:null});let a=e.history.slice(-20);if(n||r){try{let e={message:t||`Analyze this`,agent:i};n?.isPDF&&n.base64?(e.pdfBase64=n.base64,e.pdfName=n.name):n?.content&&(e.fileContent=n.content,e.fileName=n.name),r?.base64&&(e.imageBase64=r.base64,e.imageMimeType=r.mimeType??`image/jpeg`);let a=await D(`/api/chat`,e);ce(i,{role:`assistant`,content:a?.response||a?.content||``})}catch{ce(i,{role:`assistant`,content:`Error sending attachment.`})}I(i,{streaming:!1});return}ce(i,{role:`assistant`,content:``,streaming:!0});let o=new AbortController;O.current.set(i,o);let s=``;try{await re(`/api/chat/stream`,{message:t,agent:i,history:a,_agentSystemPrompt:e.agent.systemPrompt},e=>{s+=e,le(i,s);let t=k.current.get(i);t&&(t.scrollTop=t.scrollHeight)},o.signal)}catch{}finally{I(i,{streaming:!1}),O.current.delete(i)}},L=async()=>{let e=d.trim();if(!e||p||l.length===0)return;f(``),m(!0),g(``);let t=[];if(await Promise.all(l.map(async n=>{let r=n.agent.id;ce(r,{role:`user`,content:e}),I(r,{streaming:!0});let i=``,a=new AbortController;O.current.set(r,a),ce(r,{role:`assistant`,content:``,streaming:!0});try{await re(`/api/chat/stream`,{message:e,agent:r,history:n.history.slice(-20),_agentSystemPrompt:n.agent.systemPrompt},e=>{i+=e,le(r,i);let t=k.current.get(r);t&&(t.scrollTop=t.scrollHeight)},a.signal)}catch{}finally{I(r,{streaming:!1}),O.current.delete(r)}t.push({agentId:r,agentLabel:n.agent.label,icon:n.agent.icon,content:i})})),m(!1),t.length<2)return;y(!0);let n=t.map(e=>`## ${e.icon} ${e.agentLabel}\n${e.content}`).join(`
|
|
459
|
+
|
|
460
|
+
---
|
|
461
|
+
|
|
462
|
+
`),r=`The user asked: "${e}"\n\nHere are the responses from ${t.length} specialist agents:\n\n${n}\n\nSynthesize these responses into a unified analysis.`,i=``;try{await re(`/api/chat/stream`,{message:r,systemPrompt:`You are the Conductor — a meta-agent that synthesizes the outputs of multiple specialist AI agents.
|
|
463
|
+
Your job: examine all agent responses to a user's question, identify agreements, disagreements, complementary insights, and deliver a unified, high-quality synthesis.
|
|
464
|
+
Be concise. Highlight what each agent contributed uniquely. Give your own synthesis verdict at the end.`},e=>{i+=e,g(i)})}catch{}finally{y(!1)}},fe=e=>{let t=window.SpeechRecognition??window.webkitSpeechRecognition;if(!t){alert(`Speech recognition not supported.`);return}let n=T.current.get(e);if(l.find(t=>t.agent.id===e)?.voiceActive&&n){n.stop(),I(e,{voiceActive:!1});return}let r=new t;T.current.set(e,r),r.lang=`it-IT`,r.continuous=!1,r.interimResults=!1,r.onresult=t=>{let n=t.results[0][0].transcript;I(e,{input:(l.find(t=>t.agent.id===e)?.input??``)+(l.find(t=>t.agent.id===e)?.input?` `:``)+n})},r.onend=()=>I(e,{voiceActive:!1}),r.onerror=()=>I(e,{voiceActive:!1}),r.start(),I(e,{voiceActive:!0})},pe=(e,t)=>{if(!t)return;let n=t.name.toLowerCase().endsWith(`.pdf`)||t.type===`application/pdf`,r=new FileReader;n?(r.onload=n=>{let r=(n.target?.result).split(`,`)[1];I(e,{attachedFile:{name:t.name,size:t.size,base64:r,mimeType:`application/pdf`,isPDF:!0},attachedImage:null})},r.readAsDataURL(t)):(r.onload=n=>{I(e,{attachedFile:{name:t.name,size:t.size,content:n.target?.result},attachedImage:null})},r.readAsText(t))},me=(e,t)=>{if(!t)return;let n=new FileReader;n.onload=n=>{let r=(n.target?.result).split(`,`)[1];I(e,{attachedImage:{name:t.name,size:t.size,base64:r,mimeType:t.type||`image/jpeg`},attachedFile:null})},n.readAsDataURL(t)},he=()=>{x({name:``,tagline:``,systemPrompt:``}),C(`create`),ee(``)},R=async e=>{let t=await E(`/api/agents/${e.id}`).catch(()=>null);x({name:e.id,tagline:t?.tagline??e.description,systemPrompt:t?.systemPrompt??``}),C(`edit`),ee(``)},ge=async()=>{if(b){if(!b.tagline.trim()||!b.systemPrompt.trim()){ee(`Tagline and system prompt are required.`);return}ne(!0),ee(``);try{if(S===`create`){let e=b.name.toLowerCase().replace(/[^a-z0-9_-]/g,``);if(!e){ee(`Agent name required (lowercase, no spaces).`),ne(!1);return}let t=await D(`/api/agents`,{name:e,tagline:b.tagline,systemPrompt:b.systemPrompt});if(t?.error){ee(`Error: `+t.error),ne(!1);return}}else await D(`/api/agents/${b.name}`,{tagline:b.tagline,systemPrompt:b.systemPrompt,category:`custom`},`PUT`);x(null),ae()}catch(e){ee(`Error: `+e.message)}finally{ne(!1)}}},_e=e=>{confirm(`Delete agent "${e.label}"?`)&&D(`/api/agents/${e.id}`,{},`DELETE`).then(()=>ae())};return r?(0,A.jsx)(`div`,{className:G.root,children:(0,A.jsx)(`div`,{className:G.loading,children:(0,A.jsx)(`div`,{className:`spinner`})})}):(0,A.jsxs)(`div`,{className:G.root,children:[(0,A.jsxs)(`div`,{className:G.gridSection,children:[(0,A.jsxs)(`div`,{className:G.gridHeader,children:[(0,A.jsxs)(`div`,{className:G.headerRow,children:[(0,A.jsx)(`input`,{className:G.search,value:a,onChange:e=>o(e.target.value),placeholder:`Search agents…`}),(0,A.jsx)(`button`,{className:G.createBtn,onClick:he,children:`+ Create`})]}),(0,A.jsx)(`div`,{className:G.catTabs,children:oe.map(e=>(0,A.jsxs)(`button`,{className:`${G.catTab} ${s===e?G.catActive:``}`,onClick:()=>c(e),children:[e,` (`,e===`All`?t.length:t.filter(t=>t.category===e).length,`)`]},e))})]}),(0,A.jsx)(`div`,{className:G.grid,children:N.map(e=>{let t=l.some(t=>t.agent.id===e.id);return(0,A.jsxs)(`div`,{className:`${G.agentCard} ${t?G.agentActive:``}`,onClick:()=>se(e),children:[(0,A.jsxs)(`div`,{className:G.agentCardTop,children:[(0,A.jsx)(`div`,{className:G.agentIcon,children:e.icon}),e.isCustom&&(0,A.jsxs)(`div`,{className:G.agentActions,children:[(0,A.jsx)(`button`,{className:G.agentEditBtn,onClick:t=>{t.stopPropagation(),R(e)},children:`✏️`}),(0,A.jsx)(`button`,{className:G.agentDelBtn,onClick:t=>{t.stopPropagation(),_e(e)},children:`🗑`})]})]}),(0,A.jsx)(`div`,{className:G.agentLabel,children:e.label}),(0,A.jsx)(`div`,{className:G.agentDesc,children:e.description}),(0,A.jsx)(`div`,{className:G.agentCat,children:e.category})]},e.id)})})]}),(0,A.jsx)(`div`,{className:G.chatArea,children:l.length===0?(0,A.jsxs)(`div`,{className:G.emptyChat,children:[(0,A.jsx)(`span`,{children:`Click an agent above to open a chat`}),(0,A.jsx)(`span`,{className:G.emptyChatHint,children:`Open multiple agents to run them in parallel`})]}):l.map(e=>{let{agent:t}=e,n=e.attachedFile?`📎 ${e.attachedFile.name}`:e.attachedImage?`🖼 ${e.attachedImage.name}`:null;return(0,A.jsxs)(`div`,{className:G.chatPanel,children:[(0,A.jsxs)(`div`,{className:G.chatHeader,children:[(0,A.jsx)(`span`,{className:G.chatIcon,children:t.icon}),(0,A.jsxs)(`div`,{className:G.chatHeaderInfo,children:[(0,A.jsx)(`div`,{className:G.chatAgentName,children:t.label}),(0,A.jsx)(`div`,{className:G.chatAgentDesc,children:t.description})]}),(0,A.jsx)(`button`,{className:G.closeChat,onClick:()=>P(t.id),children:`✕`})]}),(0,A.jsxs)(`div`,{className:G.chatMessages,ref:e=>{k.current.set(t.id,e)},children:[e.history.length===0&&(0,A.jsxs)(`div`,{className:G.chatEmpty,children:[`Ask `,t.label,` anything…`]}),e.history.map((e,t)=>(0,A.jsx)(`div`,{className:`${G.chatMsg} ${e.role===`user`?G.msgUser:G.msgAgent}`,children:e.role===`assistant`?(0,A.jsx)(`div`,{dangerouslySetInnerHTML:{__html:de(e.content||`…`)}}):(0,A.jsx)(`span`,{children:e.content})},t)),e.streaming&&e.history[e.history.length-1]?.role===`assistant`&&e.history[e.history.length-1]?.content===``&&(0,A.jsxs)(`div`,{className:G.thinking,children:[(0,A.jsx)(`span`,{className:G.dot}),(0,A.jsx)(`span`,{className:G.dot}),(0,A.jsx)(`span`,{className:G.dot})]})]}),n&&(0,A.jsxs)(`div`,{className:G.attachBar,children:[(0,A.jsx)(`span`,{children:n}),(0,A.jsx)(`button`,{className:G.attachClear,onClick:()=>I(t.id,{attachedFile:null,attachedImage:null}),children:`×`})]}),(0,A.jsxs)(`div`,{className:G.chatInput,children:[(0,A.jsxs)(`div`,{className:G.chatTools,children:[(0,A.jsx)(`button`,{className:`${G.toolBtn} ${e.voiceActive?G.toolBtnActive:``}`,onClick:()=>fe(t.id),title:`Voice`,children:`🎤`}),(0,A.jsx)(`button`,{className:G.toolBtn,onClick:()=>ie.current.get(t.id)?.click(),title:`Attach file`,children:`📎`}),(0,A.jsx)(`button`,{className:G.toolBtn,onClick:()=>j.current.get(t.id)?.click(),title:`Attach image`,children:`🖼`}),(0,A.jsx)(`input`,{type:`file`,style:{display:`none`},ref:e=>{ie.current.set(t.id,e)},onChange:e=>pe(t.id,e.target.files?.[0])}),(0,A.jsx)(`input`,{type:`file`,accept:`image/*`,style:{display:`none`},ref:e=>{j.current.set(t.id,e)},onChange:e=>me(t.id,e.target.files?.[0])})]}),(0,A.jsxs)(`div`,{className:G.chatInputRow,children:[(0,A.jsx)(`textarea`,{className:G.chatTextarea,value:e.input,onChange:e=>I(t.id,{input:e.target.value}),placeholder:`Message ${t.label}…`,rows:2,onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),ue(e,e.input,e.attachedFile,e.attachedImage))}}),(0,A.jsx)(`button`,{className:G.sendBtn,onClick:()=>ue(e,e.input,e.attachedFile,e.attachedImage),disabled:e.streaming||!e.input.trim()&&!e.attachedFile&&!e.attachedImage,children:e.streaming?`…`:`→`})]})]})]},t.id)})}),l.length>=2&&(0,A.jsxs)(`div`,{className:G.orchBar,children:[(0,A.jsxs)(`div`,{className:G.orchLabel,children:[`🎼 Conductor · `,l.map(e=>`${e.agent.icon} ${e.agent.label}`).join(` · `)]}),(0,A.jsxs)(`div`,{className:G.orchRow,children:[(0,A.jsx)(`textarea`,{ref:M,className:G.orchInput,value:d,onChange:e=>f(e.target.value),placeholder:`Ask all agents — Conductor will synthesize a unified response…`,rows:1,onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),L())}}),(0,A.jsx)(`button`,{className:G.orchBtn,onClick:L,disabled:p||v||!d.trim(),children:p?`⏳`:v?`🔄`:`🎼 Run`})]}),(v||h)&&(0,A.jsxs)(`div`,{className:G.orchSynthesis,children:[(0,A.jsxs)(`div`,{className:G.orchSynthHeader,children:[(0,A.jsx)(`span`,{children:`🎼 Conductor Synthesis`}),v&&(0,A.jsx)(`span`,{className:G.orchSynthSpinner,children:`synthesizing…`})]}),(0,A.jsx)(`div`,{className:G.orchSynthBody,dangerouslySetInnerHTML:{__html:de(h||`…`)}})]})]}),b&&(0,A.jsx)(`div`,{className:G.modalOverlay,onClick:e=>{e.target===e.currentTarget&&x(null)},children:(0,A.jsxs)(`div`,{className:G.modal,children:[(0,A.jsx)(`div`,{className:G.modalTitle,children:S===`create`?`+ New Agent`:`✏️ Edit Agent`}),S===`create`&&(0,A.jsxs)(`div`,{className:G.formField,children:[(0,A.jsx)(`label`,{className:G.formLabel,children:`Agent name (lowercase, no spaces)`}),(0,A.jsx)(`input`,{className:G.formInput,placeholder:`my-agent`,value:b.name,onChange:e=>x(t=>t&&{...t,name:e.target.value})})]}),(0,A.jsxs)(`div`,{className:G.formField,children:[(0,A.jsx)(`label`,{className:G.formLabel,children:`Tagline`}),(0,A.jsx)(`input`,{className:G.formInput,placeholder:`Short description`,value:b.tagline,onChange:e=>x(t=>t&&{...t,tagline:e.target.value})})]}),(0,A.jsxs)(`div`,{className:G.formField,children:[(0,A.jsx)(`label`,{className:G.formLabel,children:`System Prompt`}),(0,A.jsx)(`textarea`,{className:G.formTextarea,placeholder:`You are an expert in…`,value:b.systemPrompt,onChange:e=>x(t=>t&&{...t,systemPrompt:e.target.value})})]}),w&&(0,A.jsx)(`div`,{className:G.formError,children:w}),(0,A.jsxs)(`div`,{className:G.modalBtns,children:[(0,A.jsx)(`button`,{className:G.cancelBtn,onClick:()=>x(null),children:e(`common.cancel`)}),(0,A.jsx)(`button`,{className:G.modalSaveBtn,onClick:ge,disabled:te,children:te?`…`:S===`create`?`Create Agent`:`Save`})]})]})})]})}var K={root:`_root_1mam6_1`,error:`_error_1mam6_10`,errorHint:`_errorHint_1mam6_16`,quotaBar:`_quotaBar_1mam6_29`,quotaText:`_quotaText_1mam6_37`,quotaUsed:`_quotaUsed_1mam6_43`,quotaPct:`_quotaPct_1mam6_44`,quotaTrack:`_quotaTrack_1mam6_46`,quotaFill:`_quotaFill_1mam6_53`,actionBar:`_actionBar_1mam6_59`,filterBtn:`_filterBtn_1mam6_67`,filterActive:`_filterActive_1mam6_79`,spacer:`_spacer_1mam6_85`,newBtn:`_newBtn_1mam6_87`,uploadBtn:`_uploadBtn_1mam6_98`,searchRow:`_searchRow_1mam6_108`,searchInput:`_searchInput_1mam6_114`,searchBtn:`_searchBtn_1mam6_126`,loading:`_loading_1mam6_136`,empty:`_empty_1mam6_141`,fileList:`_fileList_1mam6_151`,fileRow:`_fileRow_1mam6_159`,fileIcon:`_fileIcon_1mam6_172`,fileInfo:`_fileInfo_1mam6_174`,fileName:`_fileName_1mam6_176`,fileMeta:`_fileMeta_1mam6_184`,fileBtns:`_fileBtns_1mam6_190`,editBtn:`_editBtn_1mam6_196`,viewBtn:`_viewBtn_1mam6_197`,pdfBtn:`_pdfBtn_1mam6_198`,openBtn:`_openBtn_1mam6_199`,delBtn:`_delBtn_1mam6_200`,editorRoot:`_editorRoot_1mam6_204`,editorToolbar:`_editorToolbar_1mam6_211`,backBtn:`_backBtn_1mam6_221`,editorName:`_editorName_1mam6_231`,saveBtn:`_saveBtn_1mam6_238`,editorArea:`_editorArea_1mam6_251`,editorMeta:`_editorMeta_1mam6_266`,viewerRoot:`_viewerRoot_1mam6_276`,imgContainer:`_imgContainer_1mam6_283`,imgView:`_imgView_1mam6_292`,pdfFrame:`_pdfFrame_1mam6_298`};function wt(e,t){return e===`folder`?`📁`:e===`image`?`🖼`:e===`pdf`||t.includes(`pdf`)?`📕`:e===`video`?`🎬`:e===`audio`?`🎵`:t.includes(`spreadsheet`)||t.includes(`excel`)?`📊`:t.includes(`presentation`)||t.includes(`powerpoint`)?`📽`:t.includes(`document`)||t.includes(`word`)?`📄`:t.includes(`zip`)||t.includes(`archive`)?`📦`:`📄`}function Tt(e){let t=e.mimeType;return e.type===`text`||e.type===`doc`||t.includes(`text`)||t.includes(`json`)||t.includes(`javascript`)||t.includes(`xml`)||t.includes(`csv`)||t.includes(`yaml`)||t.includes(`markdown`)||t.includes(`html`)||t.includes(`css`)||t.includes(`python`)||t.includes(`vnd.google-apps.document`)}function Et(){let e=F(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(`list`),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),w=(0,_.useRef)(null),ee=(e=s,t=l)=>{i(!0);let r=`/api/drive`;e&&(r+=`?filter=${e}`),t&&(r+=`${e?`&`:`?`}search=${encodeURIComponent(t)}`),E(r).then(e=>{n(e??{files:[]}),i(!1)}).catch(e=>{o(e.message??`Error`),i(!1)})};(0,_.useEffect)(()=>{ee()},[]);let te=e=>{c(e),ee(e,l)},ne=()=>{u(d),ee(s,d)},T=(e,t)=>{i(!0),E(`/api/drive/read/${e}`).then(n=>{g({id:e,name:t,content:n?.content??``}),y(n?.content??``),m(`editor`),i(!1)}).catch(()=>i(!1))},O=async()=>{if(h&&confirm(`Save changes to "${h.name}" on Drive?`)){C(!0);try{await D(`/api/drive/update/${h.id}`,{content:v}),g(e=>e&&{...e,content:v}),alert(`Saved!`)}catch(e){alert(`Save failed: `+e.message)}finally{C(!1)}}},re=(e,t)=>{i(!0),E(`/api/drive/download/${e}`).then(n=>{x({id:e,name:t,src:`data:${n?.mimeType??`image/jpeg`};base64,${n?.base64}`,mode:`image`}),m(`image`),i(!1)}).catch(()=>i(!1))},k=(e,t)=>{i(!0),E(`/api/drive/download/${e}`).then(n=>{x({id:e,name:t,src:`data:application/pdf;base64,${n?.base64}`,mode:`pdf`}),m(`pdf`),i(!1)}).catch(()=>i(!1))},ie=(e,t)=>{confirm(`Delete "${t}" from Drive? (moved to trash)`)&&D(`/api/drive/delete/${e}`,{}).then(()=>{n(null),ee()})},j=()=>{let e=prompt(`File name (e.g. notes.txt, script.py):`);e&&D(`/api/drive/upload`,{name:e,content:``,mimeType:`text/plain`}).then(t=>{t?.id?T(t.id,e):ee()}).catch(e=>alert(`Error: `+e.message))},M=()=>{w.current?.click()},ae=e=>{if(!e)return;let t=new FileReader;t.onload=t=>{let r=(t.target?.result).split(`,`)[1]??``;D(`/api/drive/upload`,{name:e.name,content:r,mimeType:e.type||`application/octet-stream`,encoding:`base64`}).then(()=>{n(null),ee()}).catch(e=>alert(`Upload error: `+e.message))},t.readAsDataURL(e)};if(a)return(0,A.jsxs)(`div`,{className:K.error,children:[(0,A.jsx)(`div`,{children:a}),(0,A.jsxs)(`div`,{className:K.errorHint,children:[`Run: `,(0,A.jsx)(`code`,{children:`nha google revoke`}),` then `,(0,A.jsx)(`code`,{children:`nha google auth`})]})]});if(p===`editor`&&h)return(0,A.jsxs)(`div`,{className:K.editorRoot,children:[(0,A.jsxs)(`div`,{className:K.editorToolbar,children:[(0,A.jsx)(`button`,{className:K.backBtn,onClick:()=>m(`list`),children:`← Back`}),(0,A.jsx)(`span`,{className:K.editorName,children:h.name}),(0,A.jsx)(`button`,{className:K.saveBtn,onClick:O,disabled:S,children:S?`Saving…`:`Save to Drive`})]}),(0,A.jsx)(`textarea`,{className:K.editorArea,value:v,onChange:e=>y(e.target.value),spellCheck:!1,onKeyDown:e=>{if(e.key===`Tab`){e.preventDefault();let t=e.currentTarget.selectionStart,n=e.currentTarget.selectionEnd,r=e.currentTarget.value;e.currentTarget.value=r.slice(0,t)+` `+r.slice(n),e.currentTarget.selectionStart=e.currentTarget.selectionEnd=t+2}}}),(0,A.jsxs)(`div`,{className:K.editorMeta,children:[`File ID: `,h.id,` · Tab = 2 spaces · Not auto-saved`]})]});if(p===`image`&&b)return(0,A.jsxs)(`div`,{className:K.viewerRoot,children:[(0,A.jsxs)(`div`,{className:K.editorToolbar,children:[(0,A.jsx)(`button`,{className:K.backBtn,onClick:()=>m(`list`),children:`← Back`}),(0,A.jsx)(`span`,{className:K.editorName,children:b.name})]}),(0,A.jsx)(`div`,{className:K.imgContainer,children:(0,A.jsx)(`img`,{src:b.src,alt:b.name,className:K.imgView})})]});if(p===`pdf`&&b)return(0,A.jsxs)(`div`,{className:K.viewerRoot,children:[(0,A.jsxs)(`div`,{className:K.editorToolbar,children:[(0,A.jsx)(`button`,{className:K.backBtn,onClick:()=>m(`list`),children:`← Back`}),(0,A.jsx)(`span`,{className:K.editorName,children:b.name})]}),(0,A.jsx)(`iframe`,{className:K.pdfFrame,src:b.src,title:b.name})]});let oe=t?.files??[],N=t?.quota;return(0,A.jsxs)(`div`,{className:K.root,children:[N&&(0,A.jsxs)(`div`,{className:K.quotaBar,children:[(0,A.jsxs)(`div`,{className:K.quotaText,children:[(0,A.jsxs)(`span`,{className:K.quotaUsed,children:[N.usage,` of `,N.limit,` used`]}),(0,A.jsxs)(`span`,{className:K.quotaPct,children:[N.percentUsed,`%`]})]}),(0,A.jsx)(`div`,{className:K.quotaTrack,children:(0,A.jsx)(`div`,{className:K.quotaFill,style:{width:`${Math.min(N.percentUsed,100)}%`,background:N.percentUsed>90?`var(--red)`:N.percentUsed>70?`var(--amber)`:`var(--green)`}})})]}),(0,A.jsxs)(`div`,{className:K.actionBar,children:[[``,`recent`,`starred`,`shared`].map(e=>(0,A.jsx)(`button`,{className:`${K.filterBtn} ${s===e?K.filterActive:``}`,onClick:()=>te(e),children:e?e.charAt(0).toUpperCase()+e.slice(1):`All Files`},e)),(0,A.jsx)(`div`,{className:K.spacer}),(0,A.jsx)(`button`,{className:K.newBtn,onClick:j,children:`+ New File`}),(0,A.jsx)(`button`,{className:K.uploadBtn,onClick:M,children:e(`drive.upload`)}),(0,A.jsx)(`input`,{ref:w,type:`file`,style:{display:`none`},onChange:e=>ae(e.target.files?.[0])})]}),(0,A.jsxs)(`div`,{className:K.searchRow,children:[(0,A.jsx)(`input`,{className:K.searchInput,value:d,onChange:e=>f(e.target.value),placeholder:`Search files…`,onKeyDown:e=>e.key===`Enter`&&ne()}),(0,A.jsx)(`button`,{className:K.searchBtn,onClick:ne,children:`Search`})]}),r&&(0,A.jsx)(`div`,{className:K.loading,children:(0,A.jsx)(`div`,{className:`spinner`})}),!r&&oe.length===0&&(0,A.jsxs)(`div`,{className:K.empty,children:[e(`drive.noFiles`),` found`]}),(0,A.jsx)(`div`,{className:K.fileList,children:oe.map(e=>{let t=Tt(e),n=e.type===`image`,r=e.type===`pdf`||e.mimeType.includes(`pdf`);return(0,A.jsxs)(`div`,{className:K.fileRow,onClick:()=>{t?T(e.id,e.name):n?re(e.id,e.name):r?k(e.id,e.name):e.webViewLink&&window.open(e.webViewLink,`_blank`)},style:{cursor:t||n||r||e.webViewLink?`pointer`:`default`},children:[(0,A.jsx)(`span`,{className:K.fileIcon,children:wt(e.type,e.mimeType)}),(0,A.jsxs)(`div`,{className:K.fileInfo,children:[(0,A.jsx)(`div`,{className:K.fileName,children:e.name}),(0,A.jsxs)(`div`,{className:K.fileMeta,children:[e.modifiedTime?new Date(e.modifiedTime).toLocaleDateString():``,e.size?` · ${e.size}`:``,e.shared?` · Shared`:``,e.starred?` ★`:``]})]}),(0,A.jsxs)(`div`,{className:K.fileBtns,children:[t&&(0,A.jsx)(`button`,{className:K.editBtn,onClick:t=>{t.stopPropagation(),T(e.id,e.name)},children:`Edit`}),n&&(0,A.jsx)(`button`,{className:K.viewBtn,onClick:t=>{t.stopPropagation(),re(e.id,e.name)},children:`View`}),r&&(0,A.jsx)(`button`,{className:K.pdfBtn,onClick:t=>{t.stopPropagation(),k(e.id,e.name)},children:`PDF`}),e.webViewLink&&(0,A.jsx)(`a`,{className:K.openBtn,href:e.webViewLink,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),children:`Open ↗`}),(0,A.jsx)(`button`,{className:K.delBtn,onClick:t=>{t.stopPropagation(),ie(e.id,e.name)},children:`Del`})]})]},e.id)})})]})}var q={root:`_root_a0x57_1`,loading:`_loading_a0x57_10`,errorBox:`_errorBox_a0x57_12`,errorHint:`_errorHint_a0x57_13`,userRow:`_userRow_a0x57_16`,avatar:`_avatar_a0x57_27`,userLogin:`_userLogin_a0x57_29`,userName:`_userName_a0x57_30`,disconnectBtn:`_disconnectBtn_a0x57_32`,repoBar:`_repoBar_a0x57_43`,repoInput:`_repoInput_a0x57_49`,issuesBtn:`_issuesBtn_a0x57_61`,prsBtn:`_prsBtn_a0x57_72`,repoPills:`_repoPills_a0x57_83`,repoPill:`_repoPill_a0x57_83`,issueCount:`_issueCount_a0x57_106`,tabs:`_tabs_a0x57_112`,tab:`_tab_a0x57_112`,tabActive:`_tabActive_a0x57_131`,markRead:`_markRead_a0x57_137`,content:`_content_a0x57_148`,empty:`_empty_a0x57_150`,notifRow:`_notifRow_a0x57_152`,issueRow:`_issueRow_a0x57_152`,prRow:`_prRow_a0x57_152`,notifRepo:`_notifRepo_a0x57_166`,notifType:`_notifType_a0x57_167`,notifTitle:`_notifTitle_a0x57_168`,notifMeta:`_notifMeta_a0x57_169`,issueNum:`_issueNum_a0x57_171`,issueTitle:`_issueTitle_a0x57_172`,issueMeta:`_issueMeta_a0x57_173`,issueLabel:`_issueLabel_a0x57_174`,prNum:`_prNum_a0x57_176`,prTitle:`_prTitle_a0x57_177`,prAuthor:`_prAuthor_a0x57_178`,prDraft:`_prDraft_a0x57_179`,prMeta:`_prMeta_a0x57_180`};function Dt(){let e=F(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(`notifs`),d=(e=``)=>{i(!0),E(e?`/api/github?repo=${encodeURIComponent(e)}`:`/api/github`).then(e=>{n(e??{}),i(!1)}).catch(()=>i(!1))};(0,_.useEffect)(()=>{d()},[]);let f=()=>{let e=s.trim();o(e),d(e),u(`issues`)},p=()=>{let e=s.trim();o(e),d(e),u(`prs`)},m=()=>D(`/api/github/mark-read`,{}).then(()=>d(a)),h=()=>{confirm(`Remove GitHub connection? You can reconnect anytime.`)&&D(`/api/config`,{key:`github-token`,value:``}).then(()=>{n(null),i(!1)})};if(r)return(0,A.jsx)(`div`,{className:q.loading,children:(0,A.jsx)(`div`,{className:`spinner`})});if(t?.error)return(0,A.jsxs)(`div`,{className:q.errorBox,children:[(0,A.jsx)(`div`,{children:t.error}),(0,A.jsxs)(`div`,{className:q.errorHint,children:[`Run: `,(0,A.jsx)(`code`,{children:`nha config set github-token YOUR_PAT`})]})]});let g=t?.user,v=t?.notifications??[],y=t?.issues??[],b=t?.prs??[];return(0,A.jsxs)(`div`,{className:q.root,children:[g?.login&&(0,A.jsxs)(`div`,{className:q.userRow,children:[g.avatar&&(0,A.jsx)(`img`,{src:g.avatar,className:q.avatar,alt:g.login}),(0,A.jsxs)(`div`,{style:{flex:1},children:[(0,A.jsxs)(`div`,{className:q.userLogin,children:[`@`,g.login]}),g.name&&(0,A.jsx)(`div`,{className:q.userName,children:g.name})]}),(0,A.jsx)(`button`,{className:q.disconnectBtn,onClick:h,children:`Disconnect`})]}),(0,A.jsxs)(`div`,{className:q.repoBar,children:[(0,A.jsx)(`input`,{className:q.repoInput,value:s,onChange:e=>c(e.target.value),placeholder:`owner/repo`,onKeyDown:e=>e.key===`Enter`&&f()}),(0,A.jsx)(`button`,{className:q.issuesBtn,onClick:f,children:`Issues`}),(0,A.jsx)(`button`,{className:q.prsBtn,onClick:p,children:`PRs`})]}),g?.repos&&g.repos.length>0&&(0,A.jsx)(`div`,{className:q.repoPills,children:g.repos.slice(0,12).map(e=>(0,A.jsxs)(`button`,{className:q.repoPill,onClick:()=>{c(e.full_name),o(e.full_name),d(e.full_name),u(`issues`)},title:e.description??``,children:[e.private?`🔒 `:``,e.full_name,e.open_issues?(0,A.jsx)(`span`,{className:q.issueCount,children:e.open_issues}):null]},e.full_name))}),(0,A.jsxs)(`div`,{className:q.tabs,children:[(0,A.jsxs)(`button`,{className:`${q.tab} ${l===`notifs`?q.tabActive:``}`,onClick:()=>u(`notifs`),children:[`Notifications `,v.length>0?`(${v.length})`:``]}),y.length>0&&(0,A.jsxs)(`button`,{className:`${q.tab} ${l===`issues`?q.tabActive:``}`,onClick:()=>u(`issues`),children:[`Issues (`,y.length,`)`]}),b.length>0&&(0,A.jsxs)(`button`,{className:`${q.tab} ${l===`prs`?q.tabActive:``}`,onClick:()=>u(`prs`),children:[`PRs (`,b.length,`)`]}),l===`notifs`&&v.length>0&&(0,A.jsx)(`button`,{className:q.markRead,onClick:m,children:`Mark all read`})]}),(0,A.jsxs)(`div`,{className:q.content,children:[l===`notifs`&&(v.length===0?(0,A.jsx)(`div`,{className:q.empty,children:`No notifications`}):v.map((e,t)=>(0,A.jsxs)(`a`,{className:q.notifRow,href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,A.jsx)(`span`,{className:q.notifRepo,children:e.repo}),(0,A.jsxs)(`span`,{className:q.notifType,children:[`[`,e.type,`]`]}),(0,A.jsx)(`div`,{className:q.notifTitle,children:e.title}),(0,A.jsxs)(`div`,{className:q.notifMeta,children:[e.reason,` · `,e.updated]})]},t))),l===`issues`&&(y.length===0?(0,A.jsxs)(`div`,{className:q.empty,children:[e(`github.noIssues`),` for `,a]}):y.map((e,t)=>(0,A.jsxs)(`a`,{className:q.issueRow,href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,A.jsxs)(`span`,{className:q.issueNum,children:[`#`,e.number]}),(0,A.jsx)(`span`,{className:q.issueTitle,children:e.title}),e.assignee&&(0,A.jsxs)(`span`,{className:q.issueMeta,children:[`→ `,e.assignee]}),e.labels&&(0,A.jsxs)(`span`,{className:q.issueLabel,children:[`[`,e.labels,`]`]}),(0,A.jsx)(`div`,{className:q.issueMeta,children:e.updated})]},t))),l===`prs`&&(b.length===0?(0,A.jsxs)(`div`,{className:q.empty,children:[`No PRs for `,a]}):b.map((e,t)=>(0,A.jsxs)(`a`,{className:q.prRow,href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,A.jsxs)(`span`,{className:q.prNum,children:[`#`,e.number]}),(0,A.jsx)(`span`,{className:q.prTitle,children:e.title}),(0,A.jsxs)(`span`,{className:q.prAuthor,children:[`by `,e.author]}),e.draft&&(0,A.jsx)(`span`,{className:q.prDraft,children:`DRAFT`}),(0,A.jsx)(`div`,{className:q.prMeta,children:e.updated})]},t)))]})]})}var J={loading:`_loading_1h5ss_1`,errorBox:`_errorBox_1h5ss_3`,errorHint:`_errorHint_1h5ss_4`,twoPane:`_twoPane_1h5ss_7`,sidebar:`_sidebar_1h5ss_13`,sidebarTitle:`_sidebarTitle_1h5ss_24`,workspace:`_workspace_1h5ss_36`,searchRow:`_searchRow_1h5ss_42`,searchInput:`_searchInput_1h5ss_50`,searchBtn:`_searchBtn_1h5ss_63`,channelItem:`_channelItem_1h5ss_73`,channelActive:`_channelActive_1h5ss_83`,pageTitle:`_pageTitle_1h5ss_89`,pageMeta:`_pageMeta_1h5ss_97`,disconnectBtn:`_disconnectBtn_1h5ss_99`,empty:`_empty_1h5ss_110`,messagePane:`_messagePane_1h5ss_112`,channelHeader:`_channelHeader_1h5ss_120`,emptyPane:`_emptyPane_1h5ss_129`,message:`_message_1h5ss_112`,msgUser:`_msgUser_1h5ss_146`,msgText:`_msgText_1h5ss_147`,msgTs:`_msgTs_1h5ss_148`,openLink:`_openLink_1h5ss_150`,pageBody:`_pageBody_1h5ss_160`};function Ot(){let e=F(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)([]),l=()=>{i(!0),E(`/api/slack/channels`).then(e=>{n(e??{}),i(!1)}).catch(()=>i(!1))},u=e=>{o(e),E(`/api/slack/messages?channel=${e.id}`).then(e=>c(e?.messages??[]))};if((0,_.useEffect)(()=>{l()},[]),r)return(0,A.jsxs)(`div`,{className:J.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]});if(t?.error)return(0,A.jsxs)(`div`,{className:J.errorBox,children:[(0,A.jsx)(`div`,{children:t.error}),(0,A.jsxs)(`div`,{className:J.errorHint,children:[`Run: `,(0,A.jsx)(`code`,{children:`nha config set slack-token xoxb-YOUR-TOKEN`})]})]});let d=t?.channels??[];return(0,A.jsxs)(`div`,{className:J.twoPane,children:[(0,A.jsxs)(`div`,{className:J.sidebar,children:[(0,A.jsxs)(`div`,{className:J.sidebarTitle,children:[(0,A.jsx)(`span`,{children:`💬 Slack`}),t?.workspace&&(0,A.jsx)(`span`,{className:J.workspace,children:t.workspace})]}),d.length===0&&(0,A.jsx)(`div`,{className:J.empty,children:`No channels`}),d.map(e=>(0,A.jsxs)(`div`,{className:`${J.channelItem} ${a?.id===e.id?J.channelActive:``}`,onClick:()=>u(e),children:[`# `,e.name]},e.id)),(0,A.jsx)(`button`,{className:J.disconnectBtn,onClick:()=>D(`/api/config`,{key:`slack-token`,value:``}).then(l),children:`Disconnect`})]}),(0,A.jsx)(`div`,{className:J.messagePane,children:a?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:J.channelHeader,children:[`#`,a.name]}),s.length===0&&(0,A.jsx)(`div`,{className:J.empty,children:`No messages`}),s.map((e,t)=>(0,A.jsxs)(`div`,{className:J.message,children:[(0,A.jsx)(`span`,{className:J.msgUser,children:e.username||e.user||`Unknown`}),(0,A.jsx)(`span`,{className:J.msgText,children:e.text}),(0,A.jsx)(`span`,{className:J.msgTs,children:new Date(parseFloat(e.ts)*1e3).toLocaleTimeString()})]},t))]}):(0,A.jsx)(`div`,{className:J.emptyPane,children:`Select a channel`})})]})}function kt(){let e=F(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),d=(e=``)=>{i(!0),E(e?`/api/notion/search?q=${encodeURIComponent(e)}`:`/api/notion`).then(e=>{n(e??{}),i(!1)}).catch(()=>i(!1))},f=e=>{o(e),E(`/api/notion/page?id=${encodeURIComponent(e.id)}`).then(e=>c(e?.content??``))};(0,_.useEffect)(()=>{d()},[]);let p=()=>d(l);if(r)return(0,A.jsxs)(`div`,{className:J.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]});if(t?.error)return(0,A.jsxs)(`div`,{className:J.errorBox,children:[(0,A.jsx)(`div`,{children:t.error}),(0,A.jsxs)(`div`,{className:J.errorHint,children:[`Run: `,(0,A.jsx)(`code`,{children:`nha config set notion-token secret_YOUR_TOKEN`})]})]});let m=t?.pages??[];return(0,A.jsxs)(`div`,{className:J.twoPane,children:[(0,A.jsxs)(`div`,{className:J.sidebar,children:[(0,A.jsx)(`div`,{className:J.sidebarTitle,children:`📋 Notion`}),(0,A.jsxs)(`div`,{className:J.searchRow,children:[(0,A.jsx)(`input`,{className:J.searchInput,value:l,onChange:e=>u(e.target.value),placeholder:`Search pages…`,onKeyDown:e=>e.key===`Enter`&&p()}),(0,A.jsx)(`button`,{className:J.searchBtn,onClick:p,children:`Go`})]}),m.length===0&&(0,A.jsx)(`div`,{className:J.empty,children:`No pages found`}),m.map(e=>(0,A.jsxs)(`div`,{className:`${J.channelItem} ${a?.id===e.id?J.channelActive:``}`,onClick:()=>f(e),children:[(0,A.jsx)(`div`,{className:J.pageTitle,children:e.title||`Untitled`}),e.last_edited&&(0,A.jsx)(`div`,{className:J.pageMeta,children:e.last_edited.slice(0,10)})]},e.id)),(0,A.jsx)(`button`,{className:J.disconnectBtn,onClick:()=>D(`/api/config`,{key:`notion-token`,value:``}).then(()=>d()),children:`Disconnect`})]}),(0,A.jsx)(`div`,{className:J.messagePane,children:a?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:J.channelHeader,children:a.title}),a.url&&(0,A.jsx)(`a`,{className:J.openLink,href:a.url,target:`_blank`,rel:`noreferrer`,children:`Open in Notion ↗`}),(0,A.jsx)(`div`,{className:J.pageBody,dangerouslySetInnerHTML:{__html:de(s||`Loading…`)}})]}):(0,A.jsx)(`div`,{className:J.emptyPane,children:`Select a page`})})]})}var Y={root:`_root_1l3ll_1`,sidebar:`_sidebar_1l3ll_8`,sidebarHeader:`_sidebarHeader_1l3ll_18`,sidebarTitle:`_sidebarTitle_1l3ll_19`,sidebarBtns:`_sidebarBtns_1l3ll_21`,createBtn:`_createBtn_1l3ll_22`,joinBtn:`_joinBtn_1l3ll_23`,noChannels:`_noChannels_1l3ll_25`,channelItem:`_channelItem_1l3ll_27`,channelActive:`_channelActive_1l3ll_29`,channelName:`_channelName_1l3ll_30`,channelMeta:`_channelMeta_1l3ll_31`,channelCode:`_channelCode_1l3ll_32`,channelDel:`_channelDel_1l3ll_34`,main:`_main_1l3ll_38`,chatHeader:`_chatHeader_1l3ll_41`,chatChannelName:`_chatChannelName_1l3ll_50`,chatChannelId:`_chatChannelId_1l3ll_51`,statusDot:`_statusDot_1l3ll_52`,connected:`_connected_1l3ll_53`,disconnected:`_disconnected_1l3ll_54`,statusText:`_statusText_1l3ll_55`,messages:`_messages_1l3ll_58`,emptyMsgs:`_emptyMsgs_1l3ll_66`,msg:`_msg_1l3ll_68`,msgSelf:`_msgSelf_1l3ll_69`,msgOther:`_msgOther_1l3ll_70`,msgSender:`_msgSender_1l3ll_71`,msgContent:`_msgContent_1l3ll_72`,msgTime:`_msgTime_1l3ll_82`,inputRow:`_inputRow_1l3ll_85`,textInput:`_textInput_1l3ll_86`,sendBtn:`_sendBtn_1l3ll_88`,welcome:`_welcome_1l3ll_92`,welcomeIcon:`_welcomeIcon_1l3ll_103`,welcomeTitle:`_welcomeTitle_1l3ll_104`,welcomeSub:`_welcomeSub_1l3ll_105`,welcomeBox:`_welcomeBox_1l3ll_106`,welcomeBoxTitle:`_welcomeBoxTitle_1l3ll_107`,welcomeStep:`_welcomeStep_1l3ll_108`,welcomeHint:`_welcomeHint_1l3ll_109`,cliCmd:`_cliCmd_1l3ll_110`};function At(e){return e.content||e.plaintext||e.message||``}function jt(e){return e.senderName||e.senderFingerprint?.slice(0,8)||e.sender||`unknown`}function Mt(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(null),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1),[d]=(0,_.useState)(()=>`nha-ui-${Math.random().toString(36).slice(2,8)}`),f=(0,_.useRef)(null),p=(0,_.useRef)(null);(0,_.useEffect)(()=>{E(`/api/collab/channels`).then(e=>{n(e?.channels??[])}).catch(()=>{})},[]),(0,_.useEffect)(()=>{if(r)return m(r),h(r),()=>{f.current?.close(),u(!1)}},[r]);let m=e=>{E(`/api/collab/messages?channelId=${e}`).then(e=>{e?.messages&&(o(e.messages),setTimeout(()=>{p.current&&(p.current.scrollTop=p.current.scrollHeight)},50))}).catch(()=>{})},h=e=>{f.current?.close();let t=window.location.protocol===`https:`?`wss:`:`ws:`,n=window.location.port===`3030`||window.location.port===`3031`?`3020`:window.location.port||`3020`,r=`${t}//${window.location.hostname}:${n}/ws/alexandria?channel=${e}&agentId=${encodeURIComponent(d)}`,i=new WebSocket(r);f.current=i,i.onopen=()=>u(!0),i.onclose=()=>u(!1),i.onmessage=e=>{try{let t=JSON.parse(e.data);if(!t)return;o(e=>[...e,{...t,id:t.id||Date.now().toString(),type:`message`}]),p.current&&(p.current.scrollTop=p.current.scrollHeight)}catch{}}},g=async()=>{let e=prompt(`Channel name:`);if(!e)return;let t=await D(`/api/collab/create`,{name:e}).catch(()=>null);if(!t||t.error){alert(t?.error||`Error creating channel`);return}let r=t.id;await D(`/api/collab/channels`,{id:r,name:e,role:`creator`}).catch(()=>{});let a={id:r,name:e,role:`creator`};n(e=>[...e,a]),i(r),prompt(`Share this invite code with collaborators:`,r)},v=async()=>{let e=prompt(`Invite code:`);if(!e)return;let t=await D(`/api/collab/join`,{channelId:e}).catch(()=>null);if(!t||t.error){alert(t?.error||`Error joining channel`);return}let r=t.name||e.slice(0,8);await D(`/api/collab/channels`,{id:e,name:r,role:`member`}).catch(()=>{}),n(t=>[...t,{id:e,name:r,role:`member`}]),i(e)},y=async e=>{confirm(`Delete this channel? Messages will be lost.`)&&(D(`/api/collab/delete`,{channelId:e}).catch(()=>{}),n(t=>t.filter(t=>t.id!==e)),r===e&&(i(null),o([]),f.current?.close(),u(!1)))},b=async()=>{let e=s.trim();if(!e||!r)return;c(``);let t=await D(`/api/collab/send`,{channelId:r,message:e}).catch(()=>null);t?.error&&alert(t.error),l||m(r)},x=e=>{navigator.clipboard.writeText(e).catch(()=>{})};return(0,A.jsxs)(`div`,{className:Y.root,children:[(0,A.jsxs)(`div`,{className:Y.sidebar,children:[(0,A.jsx)(`div`,{className:Y.sidebarHeader,children:(0,A.jsx)(`div`,{className:Y.sidebarTitle,children:`Alexandria`})}),(0,A.jsxs)(`div`,{className:Y.sidebarBtns,children:[(0,A.jsx)(`button`,{className:Y.createBtn,onClick:g,children:`+ Create`}),(0,A.jsx)(`button`,{className:Y.joinBtn,onClick:v,children:`Join`})]}),t.length===0?(0,A.jsxs)(`div`,{className:Y.noChannels,children:[e(`collab.noChannels`),` yet`]}):t.map(e=>(0,A.jsxs)(`div`,{className:`${Y.channelItem} ${r===e.id?Y.channelActive:``}`,onClick:()=>i(e.id),children:[(0,A.jsx)(`div`,{className:Y.channelName,children:e.name}),(0,A.jsxs)(`div`,{className:Y.channelMeta,children:[(0,A.jsxs)(`span`,{className:Y.channelCode,onClick:t=>{t.stopPropagation(),x(e.id)},title:`Click to copy invite code`,children:[e.id.slice(0,8),`…`]}),(0,A.jsx)(`button`,{className:Y.channelDel,onClick:t=>{t.stopPropagation(),y(e.id)},children:`del`})]})]},e.id))]}),(0,A.jsx)(`div`,{className:Y.main,children:r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:Y.chatHeader,children:[(0,A.jsx)(`div`,{className:Y.chatChannelName,children:t.find(e=>e.id===r)?.name??r.slice(0,12)}),(0,A.jsx)(`div`,{className:Y.chatChannelId,children:r}),(0,A.jsx)(`div`,{className:`${Y.statusDot} ${l?Y.connected:Y.disconnected}`}),(0,A.jsx)(`span`,{className:Y.statusText,children:l?`Live`:`HTTP`})]}),(0,A.jsxs)(`div`,{className:Y.messages,ref:p,children:[a.length===0&&(0,A.jsx)(`div`,{className:Y.emptyMsgs,children:`No messages yet`}),a.map((e,t)=>{let n=jt(e),r=At(e),i=n===d;return(0,A.jsxs)(`div`,{className:`${Y.msg} ${i?Y.msgSelf:Y.msgOther}`,children:[!i&&(0,A.jsx)(`div`,{className:Y.msgSender,children:n}),(0,A.jsx)(`div`,{className:Y.msgContent,children:r}),(0,A.jsx)(`div`,{className:Y.msgTime,children:new Date(e.timestamp).toLocaleTimeString()})]},e.id||t)})]}),(0,A.jsxs)(`div`,{className:Y.inputRow,children:[(0,A.jsx)(`input`,{className:Y.textInput,value:s,onChange:e=>c(e.target.value),placeholder:`Send an encrypted message…`,onKeyDown:e=>e.key===`Enter`&&!e.shiftKey&&b()}),(0,A.jsx)(`button`,{className:Y.sendBtn,onClick:b,disabled:!s.trim(),children:e(`collab.send`)})]})]}):(0,A.jsxs)(`div`,{className:Y.welcome,children:[(0,A.jsx)(`div`,{className:Y.welcomeIcon,children:`🔐`}),(0,A.jsx)(`div`,{className:Y.welcomeTitle,children:`Alexandria`}),(0,A.jsx)(`div`,{className:Y.welcomeSub,children:`E2E encrypted messaging for AI agents and teams`}),(0,A.jsxs)(`div`,{className:Y.welcomeBox,children:[(0,A.jsx)(`div`,{className:Y.welcomeBoxTitle,children:`HOW TO USE`}),(0,A.jsxs)(`div`,{className:Y.welcomeStep,children:[(0,A.jsx)(`strong`,{children:`1. Create a channel`}),` — Click [+ Create] in the sidebar. Give it a name.`]}),(0,A.jsx)(`div`,{className:Y.welcomeHint,children:`You get an invite code. Share it with your team or another AI session.`}),(0,A.jsxs)(`div`,{className:Y.welcomeStep,children:[(0,A.jsx)(`strong`,{children:`2. Others join`}),` — They click [Join] and paste the invite code.`]}),(0,A.jsx)(`div`,{className:Y.welcomeHint,children:`Works from this web UI, the Android app, or the CLI.`}),(0,A.jsxs)(`div`,{className:Y.welcomeStep,children:[(0,A.jsx)(`strong`,{children:`3. Chat encrypted`}),` — All messages are E2E encrypted. The server sees only ciphertext.`]})]}),(0,A.jsxs)(`div`,{className:Y.welcomeBox,children:[(0,A.jsx)(`div`,{className:Y.welcomeBoxTitle,children:`FROM CLI (same channels)`}),(0,A.jsx)(`div`,{className:Y.cliCmd,children:`nha collab create "Project X"`}),(0,A.jsx)(`div`,{className:Y.cliCmd,children:`nha collab join <invite-code>`}),(0,A.jsx)(`div`,{className:Y.cliCmd,children:`nha collab send "Hello from CLI"`}),(0,A.jsx)(`div`,{className:Y.cliCmd,children:`nha collab read`})]})]})})]})}var X={root:`_root_14zra_2`,header:`_header_14zra_10`,title:`_title_14zra_21`,subtitle:`_subtitle_14zra_28`,headerTabs:`_headerTabs_14zra_34`,tabBtn:`_tabBtn_14zra_40`,tabActive:`_tabActive_14zra_51`,body:`_body_14zra_58`,editor:`_editor_14zra_67`,examples:`_examples_14zra_75`,sectionLabel:`_sectionLabel_14zra_81`,examplePills:`_examplePills_14zra_89`,examplePill:`_examplePill_14zra_89`,editorCols:`_editorCols_14zra_109`,leftSidebar:`_leftSidebar_14zra_119`,panel:`_panel_14zra_128`,panelHeader:`_panelHeader_14zra_135`,panelTitle:`_panelTitle_14zra_142`,addBtn:`_addBtn_14zra_149`,blockLabel:`_blockLabel_14zra_160`,blockCheck:`_blockCheck_14zra_170`,authField:`_authField_14zra_173`,authFieldInput:`_authFieldInput_14zra_183`,authFieldSelect:`_authFieldSelect_14zra_193`,authFieldReq:`_authFieldReq_14zra_204`,removeFieldBtn:`_removeFieldBtn_14zra_205`,skillsList:`_skillsList_14zra_208`,skillRow:`_skillRow_14zra_210`,skillIcon:`_skillIcon_14zra_218`,skillName:`_skillName_14zra_220`,skillBadge:`_skillBadge_14zra_229`,skillBadge_skill:`_skillBadge_skill_14zra_237`,skillBadge_memory:`_skillBadge_memory_14zra_238`,skillBadge_provider:`_skillBadge_provider_14zra_239`,skillBadge_log:`_skillBadge_log_14zra_240`,skillEmpty:`_skillEmpty_14zra_242`,skillBtn:`_skillBtn_14zra_244`,skillsEmpty:`_skillsEmpty_14zra_246`,snapshotRow:`_snapshotRow_14zra_249`,snapshotTs:`_snapshotTs_14zra_258`,snapshotCount:`_snapshotCount_14zra_259`,snapshotBtn:`_snapshotBtn_14zra_260`,genStatus:`_genStatus_14zra_263`,repairStatus:`_repairStatus_14zra_265`,repairStatusTitle:`_repairStatusTitle_14zra_266`,repairStatusProg:`_repairStatusProg_14zra_267`,repairStatusFile:`_repairStatusFile_14zra_268`,actionRow:`_actionRow_14zra_271`,actionBtn:`_actionBtn_14zra_273`,actionBtnIcon:`_actionBtnIcon_14zra_275`,actionBtnActive:`_actionBtnActive_14zra_276`,repairBtn:`_repairBtn_14zra_278`,sandboxBtn:`_sandboxBtn_14zra_280`,statsBar:`_statsBar_14zra_282`,rightPanel:`_rightPanel_14zra_285`,rightTabBar:`_rightTabBar_14zra_296`,rightTab:`_rightTab_14zra_296`,rightTabActive:`_rightTabActive_14zra_313`,repairBar:`_repairBar_14zra_316`,repairBarRow:`_repairBarRow_14zra_326`,repairBarIcon:`_repairBarIcon_14zra_327`,repairBarLabel:`_repairBarLabel_14zra_328`,repairBarFile:`_repairBarFile_14zra_329`,repairBarCounter:`_repairBarCounter_14zra_330`,repairBarTime:`_repairBarTime_14zra_331`,genBar:`_genBar_14zra_333`,genBarRow:`_genBarRow_14zra_343`,genBarRobot:`_genBarRobot_14zra_344`,robotBob:`_robotBob_14zra_1`,genBarLabel:`_genBarLabel_14zra_345`,genBarFile:`_genBarFile_14zra_346`,genBarCounter:`_genBarCounter_14zra_347`,genBarTime:`_genBarTime_14zra_348`,progressTrack:`_progressTrack_14zra_350`,repairProgress:`_repairProgress_14zra_351`,genProgress:`_genProgress_14zra_352`,genDots:`_genDots_14zra_355`,dot:`_dot_14zra_356`,dot1:`_dot1_14zra_357`,dotBounce:`_dotBounce_14zra_1`,dot2:`_dot2_14zra_358`,dot3:`_dot3_14zra_359`,stopBtn:`_stopBtn_14zra_362`,codeArea:`_codeArea_14zra_365`,sandboxWrap:`_sandboxWrap_14zra_366`,sandboxFrame:`_sandboxFrame_14zra_367`,sandboxEmpty:`_sandboxEmpty_14zra_368`,sandboxStartBtn:`_sandboxStartBtn_14zra_369`,noFiles:`_noFiles_14zra_371`,noFilesIcon:`_noFilesIcon_14zra_372`,codeLayout:`_codeLayout_14zra_374`,codeViewer:`_codeViewer_14zra_376`,codeHeader:`_codeHeader_14zra_384`,codeFileIcon:`_codeFileIcon_14zra_397`,codeFileName:`_codeFileName_14zra_398`,codeFileMeta:`_codeFileMeta_14zra_399`,fileError:`_fileError_14zra_401`,fileSyntaxError:`_fileSyntaxError_14zra_402`,filePending:`_filePending_14zra_403`,code:`_code_14zra_365`,codeError:`_codeError_14zra_418`,codeSyntaxError:`_codeSyntaxError_14zra_419`,fileSidebar:`_fileSidebar_14zra_422`,fileSidebarHeader:`_fileSidebarHeader_14zra_431`,fileTab:`_fileTab_14zra_441`,fileTabActive:`_fileTabActive_14zra_457`,fileTabError:`_fileTabError_14zra_458`,fileTabRow:`_fileTabRow_14zra_460`,fileTabIcon:`_fileTabIcon_14zra_461`,fileTabName:`_fileTabName_14zra_462`,fileTabDir:`_fileTabDir_14zra_463`,fileTabMeta:`_fileTabMeta_14zra_464`,projectsList:`_projectsList_14zra_467`,emptyProjects:`_emptyProjects_14zra_469`,emptyIcon:`_emptyIcon_14zra_470`,emptyHint:`_emptyHint_14zra_471`,projectCard:`_projectCard_14zra_473`,projectInfo:`_projectInfo_14zra_474`,projectName:`_projectName_14zra_475`,projectDesc:`_projectDesc_14zra_476`,projectMeta:`_projectMeta_14zra_477`,openBtn:`_openBtn_14zra_478`,deleteBtn:`_deleteBtn_14zra_479`,planBanner:`_planBanner_14zra_482`,planTitle:`_planTitle_14zra_491`,planText:`_planText_14zra_492`,planActions:`_planActions_14zra_493`,planApprove:`_planApprove_14zra_494`,planReject:`_planReject_14zra_495`,grepPanel:`_grepPanel_14zra_498`,grepRow:`_grepRow_14zra_507`,grepInput:`_grepInput_14zra_508`,grepBtn:`_grepBtn_14zra_510`,grepClose:`_grepClose_14zra_511`,grepCount:`_grepCount_14zra_512`,grepResults:`_grepResults_14zra_513`,grepEmpty:`_grepEmpty_14zra_514`,grepMatch:`_grepMatch_14zra_515`,grepMatchFile:`_grepMatchFile_14zra_517`,grepMatchLine:`_grepMatchLine_14zra_518`,diffPanel:`_diffPanel_14zra_521`,diffHeader:`_diffHeader_14zra_530`,diffClose:`_diffClose_14zra_531`,diffFile:`_diffFile_14zra_532`,diffSummary:`_diffSummary_14zra_533`,diffArrow:`_diffArrow_14zra_534`,diffFileName:`_diffFileName_14zra_535`,diffAdded:`_diffAdded_14zra_536`,diffRemoved:`_diffRemoved_14zra_537`,diffContent:`_diffContent_14zra_538`,diffInline:`_diffInline_14zra_541`,diffInlineHeader:`_diffInlineHeader_14zra_542`,diffRemLine:`_diffRemLine_14zra_543`,diffAddLine:`_diffAddLine_14zra_544`,chatPanel:`_chatPanel_14zra_547`,chatMessages:`_chatMessages_14zra_556`,chatWelcome:`_chatWelcome_14zra_558`,chatUser:`_chatUser_14zra_560`,chatUserBubble:`_chatUserBubble_14zra_561`,chatAttachPreviews:`_chatAttachPreviews_14zra_562`,chatAttachBadge:`_chatAttachBadge_14zra_563`,chatSystem:`_chatSystem_14zra_565`,chatSystemBubble:`_chatSystemBubble_14zra_566`,chatSyntaxErr:`_chatSyntaxErr_14zra_567`,chatAgent:`_chatAgent_14zra_569`,chatAgentCard:`_chatAgentCard_14zra_570`,chatAgentHeader:`_chatAgentHeader_14zra_571`,chatAgentRobot:`_chatAgentRobot_14zra_572`,chatAgentRobotAnim:`_chatAgentRobotAnim_14zra_573`,chatAgentLabel:`_chatAgentLabel_14zra_574`,chatRunningDots:`_chatRunningDots_14zra_575`,chatAgentText:`_chatAgentText_14zra_576`,chatToolBadges:`_chatToolBadges_14zra_577`,toolBadge:`_toolBadge_14zra_578`,toolBadgeOk:`_toolBadgeOk_14zra_579`,toolBadgeErr:`_toolBadgeErr_14zra_580`,cursor:`_cursor_14zra_582`,blink:`_blink_14zra_1`,attachPreviews:`_attachPreviews_14zra_585`,attachBadge:`_attachBadge_14zra_586`,removeAttachBtn:`_removeAttachBtn_14zra_587`,projNameRow:`_projNameRow_14zra_590`,projNameLabel:`_projNameLabel_14zra_591`,projNameInput:`_projNameInput_14zra_592`,projActiveRow:`_projActiveRow_14zra_593`,projActiveName:`_projActiveName_14zra_594`,chatInputRow:`_chatInputRow_14zra_597`,attachLabel:`_attachLabel_14zra_598`,chatTextarea:`_chatTextarea_14zra_599`,chatSendCol:`_chatSendCol_14zra_602`,chatSendBtn:`_chatSendBtn_14zra_603`,chatStopBtn:`_chatStopBtn_14zra_605`,modalOverlay:`_modalOverlay_14zra_608`,modal:`_modal_14zra_608`,modalHeader:`_modalHeader_14zra_630`,modalTitle:`_modalTitle_14zra_631`,modalClose:`_modalClose_14zra_632`,modalBody:`_modalBody_14zra_634`,modalRow:`_modalRow_14zra_636`,modalField:`_modalField_14zra_637`,modalLabel:`_modalLabel_14zra_638`,modalLabelRow:`_modalLabelRow_14zra_639`,modalSelect:`_modalSelect_14zra_641`,modalInput:`_modalInput_14zra_642`,modalHint:`_modalHint_14zra_645`,modalAiBox:`_modalAiBox_14zra_647`,modalAiRow:`_modalAiRow_14zra_648`,modalAiDesc:`_modalAiDesc_14zra_649`,modalAiBtn:`_modalAiBtn_14zra_650`,modalContentArea:`_modalContentArea_14zra_653`,logView:`_logView_14zra_656`,modalFooter:`_modalFooter_14zra_658`,modalCancelBtn:`_modalCancelBtn_14zra_659`,modalSaveBtn:`_modalSaveBtn_14zra_660`},Nt=[{name:`MySaaS`,desc:`SaaS product landing page. Hero: large headline, subheadline, two CTA buttons (Start free trial / Watch demo), animated gradient background. Features section: 3-column grid with icon, title, description for 6 features. Pricing section: 3 cards (Free / Pro $29/mo / Enterprise). Testimonials: 3 customer quotes. FAQ accordion: 5 questions. Footer with links and social icons. Sticky nav.`},{name:`MyShop`,desc:`E-commerce storefront homepage. Nav with logo, search bar, cart badge, hamburger mobile menu. Hero banner. Category strip: 6 cards. Featured products grid: 8 cards with rating, price, Add to Cart, wishlist. Promo banner. Newsletter signup. Responsive.`},{name:`MyBlog`,desc:`Blog platform homepage. Nav with category links. Hero: featured article card. Article grid: 6 cards. Sidebar: recent posts, tags cloud, newsletter widget. Pagination. Author bio section. Minimal footer.`},{name:`MyPortfolio`,desc:`Developer portfolio. Nav with scroll hide/show. Hero: typewriter role subtitle, CTA buttons. Work section: 6 project cards. Skills grouped by category with bars. About: timeline of milestones. Contact form. Scroll entrance animations via Intersection Observer.`},{name:`MyRestaurant`,desc:`Restaurant website. Nav: logo center, transparent→solid on scroll. Hero: full-viewport with overlay. Menu preview: tabbed (Starters/Mains/Desserts/Drinks). Reservation form. Gallery 3x3 mosaic. Chef section. Testimonials horizontal scroll.`},{name:`MyJobBoard`,desc:`Job board homepage. Hero search widget. Stats strip. Featured jobs list: 8 cards with company, location badge, salary, Quick Apply. Filter sidebar. Top companies section. Category cards. Newsletter.`}],Pt=[{key:`auth`,label:`Auth (register/login/JWT)`,icon:`🔒`},{key:`cookieBanner`,label:`GDPR Cookie Banner`,icon:`🍪`},{key:`securityMiddleware`,label:`Security Middleware`,icon:`🛡️`},{key:`emailVerification`,label:`Email Verification`,icon:`✉️`}],Ft={js:`📄`,ts:`📄`,css:`🎨`,html:`🌐`,json:`{`,md:`📑`,sql:`🗂`,env:`🔐`,conf:`⚙`,lock:`🔒`};function It(e){return Ft[e.split(`.`).pop()?.toLowerCase()??``]??`📄`}function Lt(e){let t=new TextEncoder().encode(e).length;return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(2)} MB`}function Rt(e){return e===`memory`?`🧠`:e===`provider`?`🤖`:e===`log`?`📄`:`📋`}function zt(){let e=F(),[t,n]=(0,_.useState)(`new`),[r,i]=(0,_.useState)(`files`),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)({auth:!0,cookieBanner:!0,securityMiddleware:!0,emailVerification:!0}),[d,f]=(0,_.useState)([{label:`Email`,type:`email`,required:!0},{label:`Password`,type:`password`,required:!0},{label:`Name`,type:`text`,required:!0}]),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)(0),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(!1),[S,C]=(0,_.useState)(0),[w,ee]=(0,_.useState)(0),[te,ne]=(0,_.useState)(``),[T,O]=(0,_.useState)({fi:0,total:0,name:``}),[re,k]=(0,_.useState)(null),[ie,j]=(0,_.useState)([]),[M,ae]=(0,_.useState)(``),[oe,N]=(0,_.useState)(!1),[se,P]=(0,_.useState)([]),[I,ce]=(0,_.useState)(null),[le,ue]=(0,_.useState)([]),[de,L]=(0,_.useState)(!1),[fe,pe]=(0,_.useState)(null),[me,he]=(0,_.useState)([]),[R,ge]=(0,_.useState)(!1),[_e,ve]=(0,_.useState)(``),[ye,be]=(0,_.useState)([]),[xe,Se]=(0,_.useState)([]),[Ce,we]=(0,_.useState)([]),[Te,Ee]=(0,_.useState)(null),[De,Oe]=(0,_.useState)(`0s`),[ke,Ae]=(0,_.useState)(`0s`),je=(0,_.useRef)(0),Me=(0,_.useRef)(0),Ne=(0,_.useRef)(null),Pe=(0,_.useRef)(null),Fe=(0,_.useRef)(null),Ie=(0,_.useRef)(null);function z(e){let t=Math.floor((Date.now()-e)/1e3),n=Math.floor(t/60);return(n>0?`${n}m `:``)+`${t%60}s`}(0,_.useEffect)(()=>(v||b?Ne.current=setInterval(()=>{v&&Oe(z(je.current)),b&&Ae(z(Me.current))},1e3):Ne.current&&=(clearInterval(Ne.current),null),()=>{Ne.current&&clearInterval(Ne.current)}),[v,b]);function Le(){Fe.current&&(Fe.current.scrollTop=Fe.current.scrollHeight)}(0,_.useEffect)(()=>{Le()},[ie]),(0,_.useEffect)(()=>{a&&p.length>0&&!de&&(L(!0),E(`/api/studio/webcraft/skills/${encodeURIComponent(a)}`).then(e=>{e?.skills&&ue(e.skills)}).catch(()=>{}))},[a,p.length,de]);async function Re(e,t){if(v||!e||e.length<5)return;y(!0),m([]),g(0),O({fi:0,total:0,name:``}),je.current=Date.now(),Oe(`0s`),Pe.current=new AbortController;let n=Date.now();try{let r=await fetch(`/api/studio/webcraft/generate`,{method:`POST`,headers:{"Content-Type":`application/json`},signal:Pe.current.signal,body:JSON.stringify({projectName:t,description:e,blocks:l,authFields:d})});if(!r.ok||!r.body){y(!1);return}let i=r.body.getReader(),a=new TextDecoder,o=``,s=[];for(;;){let{done:e,value:t}=await i.read();if(e)break;o+=a.decode(t,{stream:!0});let r=o.split(`
|
|
465
|
+
|
|
466
|
+
`);o=r.pop()??``;for(let e of r){let t=e.replace(/^data: /,``).trim();if(t)try{let e=JSON.parse(t);if(e.type===`file_start`)s.push({name:e.name,content:``,_pending:!0}),m([...s]),O({fi:e.fi,total:e.total,name:e.name});else if(e.type===`file_chunk`){let t=s.find(t=>t.name===e.name);t&&(t.content+=e.chunk,t._pending=!1),m([...s])}else if(e.type===`file_done`){let t=s.find(t=>t.name===e.name);t&&(t._pending=!1,e.syntaxError&&(t._syntaxError=e.syntaxError)),m([...s]),O({fi:e.fi,total:e.total,name:e.name})}else if(e.type===`file_error`){let t=s.find(t=>t.name===e.name);t&&(t._error=!0,t._pending=!1),m([...s])}else e.type===`done`&&(k({seconds:Math.round((Date.now()-n)/1e3),tokIn:e.tokIn??0,tokOut:e.tokOut??0,files:s.length}),y(!1),L(!1),ue([]))}catch{}}}}catch(e){e.name!==`AbortError`&&j(t=>[...t,{role:`system`,text:`Errore generazione: `+e.message}]),y(!1)}}async function ze(){let e=M.trim();if(!(a&&p.length>0)){if(!e||e.length<5)return;let t=a||`MyProject`;o(t),c(e),ae(``),await Re(e,t);return}if(!e&&se.length===0||oe||v)return;let t=[...se];if(P([]),ae(``),e.toLowerCase().startsWith(`/plan `)||e.toLowerCase().startsWith(`piano: `)){let t=e.replace(/^\/plan[ ]*/i,``).replace(/^piano:[ ]*/i,``);j(t=>[...t,{role:`user`,text:e}]),await Be(`[MODALITA PIANO] Descrivi cosa modificheresti per: "${t}". Elenca i file e cosa faresti. NON applicare modifiche ancora. Rispondi con il piano in bullet list.`,t,[]);return}j(n=>[...n,{role:`user`,text:e,attachments:t}]),await Be(e,null,t)}async function Be(e,t,n){if(oe)return;N(!0);let r={};p.forEach(e=>{r[e.name]=e.content});try{let i=await fetch(`/api/studio/webcraft/agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({projectName:a,message:e,attachments:n.map(e=>({name:e.name,mimeType:e.mimeType,base64:e.base64}))})});if(!i.ok||!i.body){j(e=>[...e,{role:`agent`,text:`Errore: ${i.status}`,tools:[]}]),N(!1);return}let o={role:`agent`,text:``,tools:[]};j(e=>[...e,o]);let s=i.body.getReader(),c=new TextDecoder,l=``,u=!1;for(;;){let{done:e,value:n}=await s.read();if(e)break;l+=c.decode(n,{stream:!0});let i=l.split(`
|
|
467
|
+
|
|
468
|
+
`);l=i.pop()??``;for(let e of i){let n=e.replace(/^data: /,``).trim();if(n)try{let e=JSON.parse(n);e.type===`text`?(o.text+=e.token,j(e=>{let t=[...e];return t[t.length-1]={...o},t})):e.type===`tool`?(o.tools.push({op:e.op,path:e.path,result:e.result,oldSnippet:e.oldSnippet??``,newSnippet:e.newSnippet??``}),(e.op===`edit`||e.op===`write`)&&e.result===`ok`&&(u=!0),j(e=>{let t=[...e];return t[t.length-1]={...o},t})):e.type===`done`?(t&&!u&&ce({plan:o.text,originalMessage:t}),N(!1),e.changed&&await Ve((o.tools??[]).filter(e=>e.op===`edit`||e.op===`write`).map(e=>e.path),r)):e.type===`error`&&(o.text+=`
|
|
469
|
+
Errore: `+e.msg,N(!1))}catch{}}}}catch(e){j(t=>[...t,{role:`agent`,text:`Errore di rete: `+e.message,tools:[]}])}N(!1)}async function Ve(e,t){if(!a)return;let n=await E(`/api/studio/webcraft/projects/load/${encodeURIComponent(a)}`);if(n?.files&&(m(n.files),e.length>0)){let r=e.map(e=>{let r=n.files.find(t=>t.name===e);return r?{file:e,before:t[e]??``,after:r.content}:null}).filter(Boolean);Se(e=>[...e,...r])}}function He(){Pe.current&&=(Pe.current.abort(),null),y(!1),N(!1),j(e=>[...e,{role:`system`,text:`⏹ Generazione interrotta.`}])}async function Ue(){return a?(await D(`/api/studio/webcraft/snapshot`,{projectName:a}))?.snapshot??null:null}async function B(){let e=await Ue();e&&(j(t=>[...t,{role:`system`,text:`💾 Snapshot salvato (${e.slice(0,16).replace(`T`,` `)})`}]),We())}async function We(){if(!a)return;let e=await E(`/api/studio/webcraft/snapshots/${encodeURIComponent(a)}`);e?.snapshots&&he(e.snapshots)}async function Ge(e){confirm(`Ripristinare lo snapshot del ${e.replace(`T`,` `).slice(0,16)}? I file attuali verranno sovrascritti.`)&&await D(`/api/studio/webcraft/restore`,{projectName:a,ts:e})!==null&&(j(t=>[...t,{role:`agent`,text:`Snapshot ripristinato (${e}). Ricarico i file...`}]),Ve([],{}))}async function Ke(){if(!a)return;let e=await D(`/api/studio/webcraft/syntax-check`,{projectName:a});if(e?.results){let t=e.results.filter(e=>!e.ok);t.length>0?j(e=>[...e,{role:`system`,text:`⚠ Syntax check: ${t.length} errore/i trovato/i.`,syntaxErrors:t}]):j(e=>[...e,{role:`system`,text:`✓ Syntax check: tutti i file JS sono validi.`}])}}async function qe(){let e=p.filter(e=>e._error||e._syntaxError);if(e.length!==0){x(!0),C(0),ee(e.length),Me.current=Date.now(),Ae(`0s`);for(let t=0;t<e.length;t++){let n=e[t];ne(n.name),C(t),await Be(`REPAIR FILE: ${n.name}\nErrore: ${n._syntaxError??`generazione fallita`}\nRigenera il file correttamente. Output SOLO il contenuto del file, nessuna spiegazione.`,null,[])}C(e.length),ne(``),x(!1)}}async function Je(){if(!_e||!a)return;let e=await D(`/api/studio/webcraft/grep`,{projectName:a,query:_e});e?.matches&&be(e.matches)}function V(e){let t=p.findIndex(t=>t.name===e);t>=0&&(g(t),i(`files`))}function Ye(){window.open(`/api/studio/webcraft/download/${encodeURIComponent(a)}`,`_blank`)}async function Xe(e,t,n,r){t.endsWith(`.md`)||(t+=`.md`);let i={name:t,content:n,type:r},o;o=e.mode===`edit`&&e.idx!==null?le.map((t,n)=>n===e.idx?i:t):[...le,i],ue(o),pe(null),await D(`/api/studio/webcraft/skills/${encodeURIComponent(a)}`,{skills:o})}async function Ze(e){let t=le[e];!t||!confirm(`Eliminare "${t.name}"?`)||(await D(`/api/studio/webcraft/skills/${encodeURIComponent(a)}/delete`,{name:t.name}),ue(le.filter((t,n)=>n!==e)))}async function Qe(e){let t=le[e];if(!t||!confirm(`Svuotare "${t.name}"? Il file rimane ma il contenuto viene cancellato.`))return;let n=le.map((t,n)=>n===e?{...t,content:``}:t);ue(n),await D(`/api/studio/webcraft/skills/${encodeURIComponent(a)}`,{skills:n})}async function $e(){let e=await E(`/api/studio/webcraft/projects`);e?.projects&&we(e.projects)}async function et(e){let t=await E(`/api/studio/webcraft/projects/load/${encodeURIComponent(e.name)}`);if(!t)return;o(t.projectName??e.name),c(t.description??``),m(t.files??[]),g(0),n(`new`),i(`files`),j([]),ue([]),L(!1);let r=await E(`/api/studio/webcraft/projects/chat/load/${encodeURIComponent(t.projectName??e.name)}`);r?.chat&&j(r.chat);let a=await E(`/api/studio/webcraft/skills/${encodeURIComponent(t.projectName??e.name)}`);a?.skills&&(ue(a.skills),L(!0))}async function tt(e){confirm(`Eliminare: ${e.name} - ${e.dir}?`)&&(await D(`/api/studio/webcraft/projects/${encodeURIComponent(e.name)}`,{},`DELETE`),we(Ce.filter(t=>t.name!==e.name)),a===e.name&&(o(``),m([]),j([]),c(``)))}async function nt(){if(!I)return;let e=I.originalMessage;ce(null),await Be(e+`
|
|
470
|
+
[Piano approvato — procedi con le modifiche]`,null,[])}function rt(e){e&&Array.from(e).forEach(e=>{let t=new FileReader;t.onload=t=>{let n=(t.target?.result).split(`,`)[1];P(t=>[...t,{name:e.name,mimeType:e.type,base64:n,size:e.size}])},t.readAsDataURL(e)})}let H=a&&p.length>0,it=p[h],at=oe||v;return(0,A.jsxs)(`div`,{className:X.root,children:[(0,A.jsxs)(`div`,{className:X.header,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:X.title,children:`⚙ WebCraft`}),(0,A.jsx)(`div`,{className:X.subtitle,children:`Genera progetti web completi con agenti AI`})]}),(0,A.jsxs)(`div`,{className:X.headerTabs,children:[(0,A.jsx)(`button`,{className:`${X.tabBtn} ${t===`new`?X.tabActive:``}`,onClick:()=>n(`new`),children:`+ Nuovo`}),(0,A.jsx)(`button`,{className:`${X.tabBtn} ${t===`projects`?X.tabActive:``}`,onClick:()=>{n(`projects`),$e()},children:`📁 Progetti`})]})]}),(0,A.jsx)(`div`,{className:X.body,children:t===`projects`?(0,A.jsx)(`div`,{className:X.projectsList,children:Ce.length===0?(0,A.jsxs)(`div`,{className:X.emptyProjects,children:[(0,A.jsx)(`span`,{className:X.emptyIcon,children:`📁`}),(0,A.jsx)(`span`,{children:e(`webcraft.noProjects`)}),(0,A.jsx)(`span`,{className:X.emptyHint,children:`Crea un progetto nella tab Nuovo`})]}):Ce.map(e=>(0,A.jsxs)(`div`,{className:X.projectCard,children:[(0,A.jsxs)(`div`,{className:X.projectInfo,children:[(0,A.jsx)(`div`,{className:X.projectName,children:e.name}),(0,A.jsx)(`div`,{className:X.projectDesc,children:e.description}),(0,A.jsxs)(`div`,{className:X.projectMeta,children:[(0,A.jsxs)(`span`,{children:[`📄 `,e.fileCount,` file`]}),(0,A.jsxs)(`span`,{children:[`📅 `,e.createdAt?new Date(e.createdAt).toLocaleString():``]})]})]}),(0,A.jsx)(`button`,{className:X.openBtn,onClick:()=>et(e),children:`↗ Apri`}),(0,A.jsx)(`button`,{className:X.deleteBtn,onClick:()=>tt(e),children:`🗑`})]},e.name))}):(0,A.jsxs)(`div`,{className:X.editor,children:[(0,A.jsxs)(`div`,{className:X.examples,children:[(0,A.jsx)(`div`,{className:X.sectionLabel,children:`Esempi`}),(0,A.jsx)(`div`,{className:X.examplePills,children:Nt.map(e=>(0,A.jsx)(`button`,{className:X.examplePill,onClick:()=>{o(e.name),c(e.desc),ae(e.desc)},children:e.name},e.name))})]}),(0,A.jsxs)(`div`,{className:X.editorCols,children:[(0,A.jsxs)(`div`,{className:X.leftSidebar,children:[(0,A.jsxs)(`div`,{className:X.panel,children:[(0,A.jsx)(`div`,{className:X.panelTitle,children:`Blocchi`}),Pt.map(e=>(0,A.jsxs)(`label`,{className:X.blockLabel,children:[(0,A.jsx)(`input`,{type:`checkbox`,checked:l[e.key],onChange:t=>u(n=>({...n,[e.key]:t.target.checked})),className:X.blockCheck}),(0,A.jsx)(`span`,{children:e.icon}),(0,A.jsx)(`span`,{children:e.label})]},e.key))]}),l.auth&&(0,A.jsxs)(`div`,{className:X.panel,children:[(0,A.jsxs)(`div`,{className:X.panelHeader,children:[(0,A.jsx)(`div`,{className:X.panelTitle,children:`Campi Auth`}),(0,A.jsx)(`button`,{className:X.addBtn,onClick:()=>f(e=>[...e,{label:`New field`,type:`text`,required:!1}]),children:`+ Campo`})]}),d.map((e,t)=>(0,A.jsxs)(`div`,{className:X.authField,children:[(0,A.jsx)(`input`,{value:e.label,onChange:e=>f(n=>n.map((n,r)=>r===t?{...n,label:e.target.value}:n)),className:X.authFieldInput}),(0,A.jsx)(`select`,{value:e.type,onChange:e=>f(n=>n.map((n,r)=>r===t?{...n,type:e.target.value}:n)),className:X.authFieldSelect,children:[`text`,`email`,`password`,`tel`,`date`,`number`].map(e=>(0,A.jsx)(`option`,{value:e,children:e},e))}),(0,A.jsx)(`input`,{type:`checkbox`,checked:e.required,onChange:e=>f(n=>n.map((n,r)=>r===t?{...n,required:e.target.checked}:n)),title:`Required`,className:X.authFieldReq}),(0,A.jsx)(`button`,{onClick:()=>f(e=>e.filter((e,n)=>n!==t)),className:X.removeFieldBtn,children:`×`})]},t))]}),(0,A.jsxs)(`div`,{className:X.panel,children:[(0,A.jsxs)(`div`,{className:X.panelHeader,children:[(0,A.jsx)(`div`,{className:X.panelTitle,children:`🗂 Contesto AI`}),H&&(0,A.jsx)(`button`,{className:X.addBtn,onClick:()=>pe({mode:`new`,idx:null,name:``,content:``,type:`skill`,generating:!1}),children:`+ Skill`})]}),le.length>0?(0,A.jsx)(`div`,{className:X.skillsList,children:le.map((e,t)=>(0,A.jsxs)(`div`,{className:X.skillRow,children:[(0,A.jsx)(`span`,{className:X.skillIcon,children:Rt(e.type)}),(0,A.jsx)(`span`,{className:X.skillName,title:e.name,children:e.name}),(0,A.jsx)(`span`,{className:`${X.skillBadge} ${X[`skillBadge_`+e.type]}`,children:e.type}),!e.content&&e.type!==`log`&&(0,A.jsx)(`span`,{className:X.skillEmpty,children:`⚠`}),(0,A.jsx)(`button`,{className:X.skillBtn,onClick:()=>pe({mode:e.type===`log`?`view`:`edit`,idx:t,name:e.name,content:e.content,type:e.type,generating:!1}),children:e.type===`log`?`👁`:`✏`}),e.type!==`memory`&&e.type!==`provider`&&e.type!==`log`&&(0,A.jsx)(`button`,{className:X.skillBtn,onClick:()=>Qe(t),children:`🗑`}),e.type===`log`&&(0,A.jsx)(`button`,{className:X.skillBtn,onClick:()=>Ze(t),children:`🗑`})]},t))}):(0,A.jsx)(`div`,{className:X.skillsEmpty,children:H?`Caricamento...`:`Genera un progetto per attivare i file di contesto.`})]}),me.length>0&&(0,A.jsxs)(`div`,{className:X.panel,children:[(0,A.jsx)(`div`,{className:X.panelTitle,children:`💾 Snapshot`}),me.slice(0,5).map(e=>{let t=e.ts.replace(`T`,` `).slice(0,16);return(0,A.jsxs)(`div`,{className:X.snapshotRow,children:[(0,A.jsx)(`span`,{className:X.snapshotTs,children:t}),(0,A.jsxs)(`span`,{className:X.snapshotCount,children:[e.fileCount,`f`]}),(0,A.jsx)(`button`,{className:X.snapshotBtn,onClick:()=>Ge(e.ts),children:`↺`})]},e.ts)})]}),v&&(0,A.jsx)(`div`,{className:X.genStatus,children:`⏳ Generazione...`}),b&&(0,A.jsxs)(`div`,{className:X.repairStatus,children:[(0,A.jsx)(`div`,{className:X.repairStatusTitle,children:`🔧 Correzione automatica...`}),(0,A.jsxs)(`div`,{className:X.repairStatusProg,children:[S,` / `,w,` file`]}),(0,A.jsx)(`div`,{className:X.repairStatusFile,children:te})]}),p.length>0&&!v&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:X.actionRow,children:[(0,A.jsx)(`button`,{className:X.actionBtn,onClick:Ye,children:`⬇ ZIP`}),(0,A.jsx)(`button`,{className:X.actionBtnIcon,title:`Syntax check`,onClick:Ke,children:`✅`}),(0,A.jsx)(`button`,{className:`${X.actionBtnIcon} ${R?X.actionBtnActive:``}`,title:`Grep`,onClick:()=>ge(!R),children:`🔍`}),(0,A.jsx)(`button`,{className:X.actionBtnIcon,title:`Snapshot`,onClick:B,children:`💾`})]}),p.some(e=>e._error||e._syntaxError)&&!b&&(0,A.jsx)(`button`,{className:X.repairBtn,onClick:qe,children:`🔧 Correggi tutti i file rossi`}),(0,A.jsx)(`button`,{className:X.sandboxBtn,onClick:()=>i(`preview`),children:`▶ Sandbox`}),re&&(0,A.jsxs)(`div`,{className:X.statsBar,children:[(0,A.jsxs)(`span`,{children:[`⏱ `,re.seconds>=60?`${Math.floor(re.seconds/60)}m ${re.seconds%60}s`:`${re.seconds}s`]}),(0,A.jsxs)(`span`,{children:[`↑ `,re.tokIn.toLocaleString(),` tok`]}),(0,A.jsxs)(`span`,{children:[`↓ `,re.tokOut.toLocaleString(),` tok`]}),(0,A.jsxs)(`span`,{children:[`📄 `,re.files,` file`]})]})]})]}),(0,A.jsxs)(`div`,{className:X.rightPanel,children:[(0,A.jsxs)(`div`,{className:X.rightTabBar,children:[(0,A.jsx)(`button`,{className:`${X.rightTab} ${r===`preview`?``:X.rightTabActive}`,onClick:()=>i(`files`),children:`📄 File`}),(0,A.jsx)(`button`,{className:`${X.rightTab} ${r===`preview`?X.rightTabActive:``}`,onClick:()=>i(`preview`),children:`🌐 Sandbox`})]}),b&&(0,A.jsxs)(`div`,{className:X.repairBar,children:[(0,A.jsxs)(`div`,{className:X.repairBarRow,children:[(0,A.jsx)(`span`,{className:X.repairBarIcon,children:`🔧`}),(0,A.jsx)(`span`,{className:X.repairBarLabel,children:`Auto-fix`}),(0,A.jsx)(`span`,{className:X.repairBarFile,children:te}),(0,A.jsxs)(`span`,{className:X.repairBarCounter,children:[S,` / `,w]}),(0,A.jsx)(`span`,{className:X.repairBarTime,children:ke}),(0,A.jsx)(`button`,{className:X.stopBtn,onClick:He,children:`⏹ Stop`})]}),(0,A.jsx)(`div`,{className:X.progressTrack,children:(0,A.jsx)(`div`,{className:X.repairProgress,style:{width:w>0?`${Math.round(S/w*100)}%`:`0%`}})})]}),v&&(0,A.jsxs)(`div`,{className:X.genBar,children:[(0,A.jsxs)(`div`,{className:X.genBarRow,children:[(0,A.jsx)(`span`,{className:X.genBarRobot,children:`🤖`}),(0,A.jsx)(`span`,{className:X.genBarLabel,children:`Generazione`}),(0,A.jsx)(`span`,{className:X.genBarFile,children:T.name.split(`,`)[0].trim()}),(0,A.jsxs)(`span`,{className:X.genBarCounter,children:[T.fi,` / `,T.total]}),(0,A.jsx)(`span`,{className:X.genBarTime,children:De}),(0,A.jsxs)(`span`,{className:X.genDots,children:[(0,A.jsx)(`span`,{className:`${X.dot} ${X.dot1}`}),(0,A.jsx)(`span`,{className:`${X.dot} ${X.dot2}`}),(0,A.jsx)(`span`,{className:`${X.dot} ${X.dot3}`})]})]}),(0,A.jsx)(`div`,{className:X.progressTrack,children:(0,A.jsx)(`div`,{className:X.genProgress,style:{width:T.total>0?`${Math.round(T.fi/T.total*100)}%`:`0%`}})})]}),r===`preview`?(0,A.jsx)(`div`,{className:X.sandboxWrap,children:Te?(0,A.jsx)(`iframe`,{src:`http://127.0.0.1:${Te}`,className:X.sandboxFrame,title:`WebCraft Sandbox`,sandbox:`allow-scripts allow-same-origin allow-forms`}):(0,A.jsxs)(`div`,{className:X.sandboxEmpty,children:[(0,A.jsx)(`span`,{children:`🌐`}),(0,A.jsx)(`span`,{children:e(`webcraft.stopped`)}),(0,A.jsx)(`button`,{className:X.sandboxStartBtn,onClick:()=>{D(`/api/studio/webcraft/sandbox/start`,{projectName:a}).then(e=>{e?.port&&Ee(e.port)})},children:`▶ Avvia Sandbox`})]})}):(0,A.jsx)(`div`,{className:X.codeArea,children:p.length===0?(0,A.jsxs)(`div`,{className:X.noFiles,children:[(0,A.jsx)(`span`,{className:X.noFilesIcon,children:`⚙`}),(0,A.jsx)(`span`,{children:e(`common.empty`)})]}):(0,A.jsxs)(`div`,{className:X.codeLayout,children:[(0,A.jsx)(`div`,{className:X.codeViewer,children:it&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:X.codeHeader,children:[(0,A.jsx)(`span`,{className:X.codeFileIcon,children:It(it.name)}),(0,A.jsx)(`span`,{className:X.codeFileName,children:it.name}),!it._pending&&!it._error&&(0,A.jsxs)(`span`,{className:X.codeFileMeta,children:[it.content.split(`
|
|
471
|
+
`).length,` righe · `,Lt(it.content)]})]}),it._error&&(0,A.jsx)(`div`,{className:X.fileError,children:`⚠ Generazione fallita — chiedi al modello di rigenerare questo file`}),it._syntaxError&&!it._error&&(0,A.jsxs)(`div`,{className:X.fileSyntaxError,children:[`⚠ Syntax error: `,it._syntaxError]}),it._pending?(0,A.jsx)(`div`,{className:X.filePending,children:`⌛ In generazione...`}):(0,A.jsx)(`pre`,{className:`${X.code} ${it._error?X.codeError:it._syntaxError?X.codeSyntaxError:``}`,children:it.content})]})}),(0,A.jsxs)(`div`,{className:X.fileSidebar,children:[(0,A.jsxs)(`div`,{className:X.fileSidebarHeader,children:[p.length,` file`]}),p.map((e,t)=>{let n=e._error||!!e._syntaxError,r=t===h;return(0,A.jsxs)(`button`,{className:`${X.fileTab} ${r?X.fileTabActive:``} ${n?X.fileTabError:``}`,onClick:()=>g(t),children:[(0,A.jsxs)(`div`,{className:X.fileTabRow,children:[(0,A.jsx)(`span`,{className:X.fileTabIcon,children:e._pending?`⌛`:n?`⚠`:It(e.name)}),(0,A.jsx)(`span`,{className:X.fileTabName,children:e.name.split(`/`).pop()})]}),e.name.includes(`/`)&&(0,A.jsx)(`div`,{className:X.fileTabDir,children:e.name.split(`/`).slice(0,-1).join(`/`)}),!e._pending&&(0,A.jsxs)(`div`,{className:X.fileTabMeta,children:[e.content.split(`
|
|
472
|
+
`).length,` righe · `,Lt(e.content)]})]},t)})]})]})})]})]})]})}),I&&t!==`projects`&&(0,A.jsxs)(`div`,{className:X.planBanner,children:[(0,A.jsx)(`div`,{className:X.planTitle,children:`📌 Piano proposto — approva per eseguire`}),(0,A.jsx)(`pre`,{className:X.planText,children:I.plan}),(0,A.jsxs)(`div`,{className:X.planActions,children:[(0,A.jsx)(`button`,{className:X.planApprove,onClick:nt,children:`✓ Esegui`}),(0,A.jsx)(`button`,{className:X.planReject,onClick:()=>ce(null),children:`✕ Annulla`})]})]}),R&&t!==`projects`&&(0,A.jsxs)(`div`,{className:X.grepPanel,children:[(0,A.jsxs)(`div`,{className:X.grepRow,children:[(0,A.jsx)(`input`,{className:X.grepInput,value:_e,onChange:e=>ve(e.target.value),onKeyDown:e=>e.key===`Enter`&&Je(),placeholder:`Cerca nel codice...`}),(0,A.jsx)(`button`,{className:X.grepBtn,onClick:Je,children:`🔍`}),(0,A.jsx)(`button`,{className:X.grepClose,onClick:()=>ge(!1),children:`×`})]}),ye.length>0&&(0,A.jsxs)(`div`,{className:X.grepCount,children:[ye.length,` risultati`]}),(0,A.jsx)(`div`,{className:X.grepResults,children:ye.length===0?(0,A.jsx)(`div`,{className:X.grepEmpty,children:`Nessun risultato.`}):ye.map((e,t)=>(0,A.jsxs)(`div`,{className:X.grepMatch,onClick:()=>V(e.file),children:[(0,A.jsxs)(`span`,{className:X.grepMatchFile,children:[e.file,`:`,e.lineNum]}),(0,A.jsx)(`pre`,{className:X.grepMatchLine,children:e.line})]},t))})]}),xe.length>0&&t!==`projects`&&(0,A.jsxs)(`div`,{className:X.diffPanel,children:[(0,A.jsxs)(`div`,{className:X.diffHeader,children:[(0,A.jsxs)(`span`,{children:[`🔌 Diff — `,xe.length,` file modificati`]}),(0,A.jsx)(`button`,{className:X.diffClose,onClick:()=>Se([]),children:`✕ Chiudi`})]}),xe.map((e,t)=>{let n=e.after.split(`
|
|
473
|
+
`).length-e.before.split(`
|
|
474
|
+
`).length;return(0,A.jsxs)(`details`,{open:!0,className:X.diffFile,children:[(0,A.jsxs)(`summary`,{className:X.diffSummary,children:[(0,A.jsx)(`span`,{className:X.diffArrow,children:`▲`}),(0,A.jsx)(`span`,{className:X.diffFileName,children:e.file}),(0,A.jsxs)(`span`,{className:n>=0?X.diffAdded:X.diffRemoved,children:[n>=0?`+`:``,n,` linee`]})]}),(0,A.jsx)(`div`,{className:X.diffContent,children:(0,A.jsx)(Bt,{before:e.before,after:e.after})})]},t)})]}),t!==`projects`&&(0,A.jsxs)(`div`,{className:X.chatPanel,children:[(0,A.jsxs)(`div`,{className:X.chatMessages,ref:Fe,children:[ie.length===0&&H&&(0,A.jsx)(`div`,{className:X.chatWelcome,children:`🤖 Pronto! Dimmi cosa vuoi modificare o migliorare nel progetto.`}),ie.map((e,t)=>(0,A.jsxs)(`div`,{className:e.role===`user`?X.chatUser:e.role===`system`?X.chatSystem:X.chatAgent,children:[e.role===`user`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:X.chatUserBubble,children:e.text}),e.attachments&&e.attachments.length>0&&(0,A.jsx)(`div`,{className:X.chatAttachPreviews,children:e.attachments.map((e,t)=>(0,A.jsxs)(`span`,{className:X.chatAttachBadge,children:[`📎 `,e.name]},t))})]}),e.role===`system`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:X.chatSystemBubble,children:e.text}),e.syntaxErrors?.map((e,t)=>(0,A.jsxs)(`div`,{className:X.chatSyntaxErr,children:[`✕ `,e.file,`: `,e.error]},t))]}),e.role===`agent`&&(0,A.jsxs)(`div`,{className:X.chatAgentCard,children:[(0,A.jsxs)(`div`,{className:X.chatAgentHeader,children:[(0,A.jsx)(`span`,{className:X.chatAgentRobot,children:`🤖`}),(0,A.jsx)(`span`,{className:X.chatAgentLabel,children:`WebCraft Agent`})]}),(0,A.jsx)(`div`,{className:X.chatAgentText,children:e.text.replace(/<tool>[\s\S]*?<\/tool>/g,``).trim()}),e.tools&&e.tools.filter(e=>(e.op===`edit`||e.op===`write`)&&e.result===`ok`&&(e.oldSnippet||e.newSnippet)).map((e,t)=>(0,A.jsxs)(`div`,{className:X.diffInline,children:[(0,A.jsxs)(`div`,{className:X.diffInlineHeader,children:[`✏ `,e.path]}),e.oldSnippet?.split(`
|
|
475
|
+
`).map((e,t)=>(0,A.jsxs)(`div`,{className:X.diffRemLine,children:[`- `,e]},`r${t}`)),e.newSnippet?.split(`
|
|
476
|
+
`).map((e,t)=>(0,A.jsxs)(`div`,{className:X.diffAddLine,children:[`+ `,e]},`a${t}`))]},t)),e.tools&&e.tools.length>0&&(0,A.jsx)(`div`,{className:X.chatToolBadges,children:e.tools.map((e,t)=>(0,A.jsxs)(`span`,{className:`${X.toolBadge} ${e.result===`ok`?X.toolBadgeOk:X.toolBadgeErr}`,children:[e.op===`edit`?`✏`:e.op===`write`?`+`:`👁`,` `,e.path]},t))})]})]},t)),oe&&(0,A.jsxs)(`div`,{className:X.chatAgentCard,children:[(0,A.jsxs)(`div`,{className:X.chatAgentHeader,children:[(0,A.jsx)(`span`,{className:X.chatAgentRobotAnim,children:`🤖`}),(0,A.jsx)(`span`,{className:X.chatAgentLabel,children:`WebCraft Agent`}),(0,A.jsxs)(`span`,{className:X.chatRunningDots,children:[(0,A.jsx)(`span`,{className:`${X.dot} ${X.dot1}`}),(0,A.jsx)(`span`,{className:`${X.dot} ${X.dot2}`}),(0,A.jsx)(`span`,{className:`${X.dot} ${X.dot3}`})]})]}),(0,A.jsx)(`div`,{className:X.chatAgentText,children:(0,A.jsx)(`span`,{className:X.cursor,children:``})})]})]}),se.length>0&&(0,A.jsx)(`div`,{className:X.attachPreviews,children:se.map((e,t)=>(0,A.jsxs)(`span`,{className:X.attachBadge,children:[`📎 `,e.name,(0,A.jsx)(`button`,{className:X.removeAttachBtn,onClick:()=>P(e=>e.filter((e,n)=>n!==t)),children:`×`})]},t))}),H?(0,A.jsxs)(`div`,{className:X.projActiveRow,children:[`📄 `,(0,A.jsx)(`strong`,{className:X.projActiveName,children:a}),` — scrivi per modificare o migliorare il progetto`]}):(0,A.jsxs)(`div`,{className:X.projNameRow,children:[(0,A.jsx)(`span`,{className:X.projNameLabel,children:`Nome progetto:`}),(0,A.jsx)(`input`,{className:X.projNameInput,value:a,onChange:e=>o(e.target.value),placeholder:`MioProgetto`})]}),(0,A.jsxs)(`div`,{className:X.chatInputRow,children:[(0,A.jsxs)(`label`,{className:X.attachLabel,title:`Allega immagine o PDF`,children:[`📎`,(0,A.jsx)(`input`,{ref:Ie,type:`file`,multiple:!0,accept:`image/*,.pdf`,style:{display:`none`},onChange:e=>rt(e.target.files)})]}),(0,A.jsx)(`textarea`,{className:X.chatTextarea,value:M,onChange:e=>ae(e.target.value),placeholder:H?`Parla con il tuo agente: chiedi correzioni, migliorie, nuove funzionalità...`:`Descrivi il progetto da creare, poi premi Genera...`,disabled:at,onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ze())},rows:4}),(0,A.jsxs)(`div`,{className:X.chatSendCol,children:[(0,A.jsx)(`button`,{className:X.chatSendBtn,onClick:ze,disabled:at,children:v?`⏳`:H?`▶`:`▶ Genera`}),at&&(0,A.jsx)(`button`,{className:X.chatStopBtn,onClick:He,children:`⏹ Stop`})]})]})]}),fe&&(0,A.jsx)(Vt,{modal:fe,skills:le,projectName:a,onClose:()=>pe(null),onSave:(e,t,n)=>Xe(fe,e,t,n)})]})}function Bt({before:e,after:t}){let n=e.split(`
|
|
477
|
+
`),r=t.split(`
|
|
478
|
+
`),i=[],a=0,o=0;for(;(a<n.length||o<r.length)&&(a>=n.length?i.push({type:`add`,text:r[o++]??``}):o>=r.length?i.push({type:`rem`,text:n[a++]??``}):n[a]===r[o]?(i.push({type:`same`,text:n[a++]??``}),o++):(i.push({type:`rem`,text:n[a++]??``}),i.push({type:`add`,text:r[o++]??``})),!(i.length>2e3)););return(0,A.jsx)(`div`,{style:{fontFamily:`var(--mono)`,fontSize:10},children:i.map((e,t)=>(0,A.jsxs)(`div`,{style:{padding:`1px 8px`,background:e.type===`add`?`#0a3a1a`:e.type===`rem`?`#3a0a0a`:`transparent`,color:e.type===`add`?`#4ade80`:e.type===`rem`?`#f87171`:`var(--dim)`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:[e.type===`add`?`+`:e.type===`rem`?`-`:` `,e.text]},t))})}function Vt({modal:e,skills:t,projectName:n,onClose:r,onSave:i}){let[a,o]=(0,_.useState)(e.name),[s,c]=(0,_.useState)(e.content),[l,u]=(0,_.useState)(e.type),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(!1),h=l===`skill`?6e3:4e3,g=s.length>h;async function v(){if(!d.trim())return;m(!0);let e={skill:`Sei un esperto di sviluppo web fullstack. Genera un file Markdown "skill" per il WebCraft Agent. Deve contenere istruzioni, pattern di codice, best practice e snippet pronti all uso come contesto persistente. Scrivi SOLO il contenuto Markdown, niente altro.`,memory:`Sei un assistente tecnico. Genera un file Markdown "memory" per il WebCraft Agent. Deve riassumere decisioni architetturali, preferenze dello sviluppatore e contesto generale del progetto. Scrivi SOLO il Markdown.`,provider:`Sei un esperto di prompt engineering. Genera un file Markdown con istruzioni specifiche per calibrare il comportamento del modello AI. Scrivi SOLO il Markdown.`},t=await D(`/api/studio/webcraft`,{system:e[l]??e.skill,user:`Progetto: ${n}\n\n${d}`,max_tokens:2048});t?.text&&(c(t.text),a||o(l===`memory`?`memory.md`:l===`provider`?`liara.md`:d.toLowerCase().replace(/[^a-z0-9]+/g,`-`).slice(0,30)+`.md`)),m(!1)}function y(){if(!a.trim()){alert(`Inserisci un nome per il file.`);return}let n=a.endsWith(`.md`)?a:a+`.md`;if((l===`memory`||l===`provider`)&&e.mode===`new`&&t.findIndex(e=>e.type===l)>=0){alert(`Esiste già un file di tipo "${l}". Modificalo direttamente.`);return}i(n,s,l)}return(0,A.jsx)(`div`,{className:X.modalOverlay,onClick:e=>{e.target===e.currentTarget&&r()},children:(0,A.jsxs)(`div`,{className:X.modal,children:[(0,A.jsxs)(`div`,{className:X.modalHeader,children:[(0,A.jsxs)(`span`,{className:X.modalTitle,children:[Rt(l),` `,e.mode===`new`?`Nuovo file di contesto`:`Modifica ${e.name}`]}),(0,A.jsx)(`button`,{className:X.modalClose,onClick:r,children:`×`})]}),(0,A.jsx)(`div`,{className:X.modalBody,children:e.mode===`view`?(0,A.jsx)(`pre`,{className:X.logView,children:s}):(0,A.jsxs)(A.Fragment,{children:[e.mode===`new`&&(0,A.jsxs)(`div`,{className:X.modalRow,children:[(0,A.jsxs)(`div`,{className:X.modalField,children:[(0,A.jsx)(`div`,{className:X.modalLabel,children:`TIPO`}),(0,A.jsx)(`select`,{value:l,onChange:e=>{let t=e.target.value;u(t),t===`memory`?o(`memory.md`):t===`provider`&&o(`liara.md`)},className:X.modalSelect,children:[`skill`,`memory`,`provider`].map(e=>{let n=(e===`memory`||e===`provider`)&&t.some(t=>t.type===e);return(0,A.jsxs)(`option`,{value:e,disabled:n,children:[e,n?` (esiste già)`:``]},e)})})]}),(0,A.jsxs)(`div`,{className:X.modalField,style:{flex:2},children:[(0,A.jsx)(`div`,{className:X.modalLabel,children:`NOME FILE`}),(0,A.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),placeholder:l===`memory`?`memory.md`:l===`provider`?`liara.md`:`nome-skill.md`,className:X.modalInput})]})]}),(0,A.jsxs)(`div`,{className:X.modalHint,children:[`💡 `,l===`skill`?`Istruzioni tecniche, snippet, pattern di codice specifici. Max ~6000 caratteri.`:l===`memory`?`Note persistenti sul progetto: decisioni architetturali, preferenze. Solo UN file. Max ~4000 caratteri.`:`Istruzioni specifiche per il modello AI (tono, formato, vincoli). Solo UN file. Max ~4000 caratteri.`]}),(0,A.jsxs)(`div`,{className:X.modalAiBox,children:[(0,A.jsx)(`div`,{className:X.modalLabel,children:`🤖 GENERA CON AI`}),(0,A.jsxs)(`div`,{className:X.modalAiRow,children:[(0,A.jsx)(`textarea`,{value:d,onChange:e=>f(e.target.value),rows:2,placeholder:`Descrivi cosa deve contenere questo file...`,className:X.modalAiDesc}),(0,A.jsx)(`button`,{onClick:v,disabled:p,className:X.modalAiBtn,children:p?`⏳ ...`:`▶ Genera`})]})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:X.modalLabelRow,children:[(0,A.jsx)(`span`,{children:`CONTENUTO (markdown)`}),(0,A.jsxs)(`span`,{style:{color:g?`#e05050`:`var(--dim)`},children:[s.length,` car.`,g?` ⚠ Troppo lungo`:``]})]}),(0,A.jsx)(`textarea`,{value:s,onChange:e=>c(e.target.value),rows:14,placeholder:`# Titolo
|
|
479
|
+
Scrivi le istruzioni in Markdown...`,className:X.modalContentArea,style:{borderColor:g?`#e05050`:`var(--border2)`}})]})]})}),(0,A.jsxs)(`div`,{className:X.modalFooter,children:[(0,A.jsx)(`button`,{onClick:r,className:X.modalCancelBtn,children:`Annulla`}),e.mode!==`view`&&(0,A.jsx)(`button`,{onClick:y,className:X.modalSaveBtn,children:`✓ Salva`})]})]})})}var Ht={root:`_root_x9yvu_1`,loading:`_loading_x9yvu_7`,empty:`_empty_x9yvu_18`,emptyIcon:`_emptyIcon_x9yvu_29`,emptyTitle:`_emptyTitle_x9yvu_30`,emptySub:`_emptySub_x9yvu_31`,generateBtn:`_generateBtn_x9yvu_33`,summary:`_summary_x9yvu_46`,sectionTitle:`_sectionTitle_x9yvu_57`,alertTitle:`_alertTitle_x9yvu_68`,actionCard:`_actionCard_x9yvu_70`,actionTime:`_actionTime_x9yvu_81`,actionText:`_actionText_x9yvu_89`,schedCard:`_schedCard_x9yvu_95`,schedTime:`_schedTime_x9yvu_106`,schedTitle:`_schedTitle_x9yvu_114`,alertCard:`_alertCard_x9yvu_119`,alertSev:`_alertSev_x9yvu_129`,alertAction:`_alertAction_x9yvu_135`,insight:`_insight_x9yvu_141`,regenRow:`_regenRow_x9yvu_148`,regenBtn:`_regenBtn_x9yvu_153`};function Ut(){let e=F(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(!1),[s,c]=(0,_.useState)(!1),l=()=>{i(!0),c(!1),E(`/api/plan`).then(e=>{e?.plan?(n(e.plan),c(!1)):(n(null),c(!0)),i(!1)}).catch(()=>{i(!1),c(!0)})},u=async()=>{o(!0),i(!0),n(null);try{await D(`/api/plan/refresh`,{}),l()}catch{i(!1)}finally{o(!1)}};if((0,_.useEffect)(()=>{l()},[]),r)return(0,A.jsxs)(`div`,{className:Ht.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),(0,A.jsx)(`div`,{children:a?`Generating plan with 5 agents...`:`Loading plan...`})]});if(s||!t)return(0,A.jsxs)(`div`,{className:Ht.empty,children:[(0,A.jsx)(`div`,{className:Ht.emptyIcon,children:`🗓️`}),(0,A.jsxs)(`div`,{className:Ht.emptyTitle,children:[e(`plan.noplan`),` generated yet`]}),(0,A.jsx)(`div`,{className:Ht.emptySub,children:`Generate a daily plan using your calendar, tasks, and emails.`}),(0,A.jsx)(`button`,{className:Ht.generateBtn,onClick:u,children:e(`plan.generate`)})]});let d=e=>typeof e==`string`?e:e.description??e.message??e.action_required??`Alert`,f=e=>typeof e==`object`&&e.severity?` [${e.severity.toUpperCase()}]`:``,p=e=>typeof e==`object`&&e.action_required&&e.action_required!==d(e)?e.action_required:``,m=e=>typeof e==`string`?e:e.message??e.insight??``;return(0,A.jsxs)(`div`,{className:Ht.root,children:[t.executive_summary&&(0,A.jsx)(`div`,{className:Ht.summary,children:t.executive_summary}),t.priority_actions&&t.priority_actions.length>0&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:Ht.sectionTitle,children:`Priority Actions`}),t.priority_actions.map((e,t)=>(0,A.jsxs)(`div`,{className:Ht.actionCard,children:[e.time&&(0,A.jsx)(`span`,{className:Ht.actionTime,children:e.time}),(0,A.jsx)(`span`,{className:Ht.actionText,children:e.action})]},t))]}),t.schedule&&t.schedule.length>0&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:Ht.sectionTitle,children:`Schedule`}),t.schedule.map((e,t)=>(0,A.jsxs)(`div`,{className:Ht.schedCard,children:[(0,A.jsxs)(`span`,{className:Ht.schedTime,children:[e.time_start,`–`,e.time_end]}),(0,A.jsx)(`span`,{className:Ht.schedTitle,children:e.title})]},t))]}),t.security_alerts&&t.security_alerts.length>0&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:`${Ht.sectionTitle} ${Ht.alertTitle}`,children:`Security Alerts`}),t.security_alerts.map((e,t)=>(0,A.jsxs)(`div`,{className:Ht.alertCard,children:[(0,A.jsxs)(`span`,{className:Ht.alertSev,children:[`!`,f(e)]}),(0,A.jsx)(`span`,{children:d(e)}),p(e)&&(0,A.jsxs)(`div`,{className:Ht.alertAction,children:[`Action: `,p(e)]})]},t))]}),t.insights&&t.insights.length>0&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:Ht.sectionTitle,children:`Insights`}),t.insights.map((e,t)=>(0,A.jsxs)(`div`,{className:Ht.insight,children:[`→ `,m(e)]},t))]}),(0,A.jsx)(`div`,{className:Ht.regenRow,children:(0,A.jsx)(`button`,{className:Ht.regenBtn,onClick:u,disabled:a,children:a?`Regenerating…`:`↺ Regenerate`})})]})}function Wt(e){return e===`folder`?`📁`:e===`image`?`🖼`:e===`pdf`?`📕`:e===`video`?`🎬`:e===`audio`?`🎵`:e===`sheet`?`📊`:e===`slides`?`📽`:`📄`}function Gt(){let e=F(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),l=(e=``)=>{i(!0),E(e?`/api/onedrive?q=${encodeURIComponent(e)}`:`/api/onedrive`).then(e=>{n(e??{files:[]}),i(!1)}).catch(()=>{o(`Could not load OneDrive. Run nha microsoft auth in the terminal to connect.`),i(!1)})};if((0,_.useEffect)(()=>{l()},[]),a)return(0,A.jsx)(`div`,{className:K.error,children:a});let u=t?.files??[],d=t?.quota;return(0,A.jsxs)(`div`,{className:K.root,children:[d&&(0,A.jsxs)(`div`,{className:K.quotaBar,children:[(0,A.jsxs)(`div`,{className:K.quotaText,children:[(0,A.jsxs)(`span`,{className:K.quotaUsed,children:[d.usage,` of `,d.limit,` used`]}),(0,A.jsxs)(`span`,{className:K.quotaPct,children:[d.percentUsed,`%`]})]}),(0,A.jsx)(`div`,{className:K.quotaTrack,children:(0,A.jsx)(`div`,{className:K.quotaFill,style:{width:`${Math.min(d.percentUsed,100)}%`,background:d.percentUsed>90?`var(--red)`:d.percentUsed>70?`var(--amber)`:`var(--cyan)`}})})]}),(0,A.jsxs)(`div`,{className:K.searchRow,children:[(0,A.jsx)(`input`,{className:K.searchInput,value:s,onChange:e=>c(e.target.value),placeholder:`Search OneDrive files…`,onKeyDown:e=>e.key===`Enter`&&l(s)}),(0,A.jsx)(`button`,{className:K.searchBtn,onClick:()=>l(s),children:`Search`})]}),r&&(0,A.jsxs)(`div`,{className:K.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]}),!r&&u.length===0&&(0,A.jsx)(`div`,{className:K.empty,children:e(`drive.noFiles`)}),(0,A.jsx)(`div`,{className:K.fileList,children:u.map(e=>(0,A.jsxs)(`div`,{className:K.fileRow,children:[(0,A.jsx)(`span`,{className:K.fileIcon,children:Wt(e.type)}),(0,A.jsxs)(`div`,{className:K.fileInfo,children:[(0,A.jsx)(`div`,{className:K.fileName,children:e.name}),(0,A.jsxs)(`div`,{className:K.fileMeta,children:[e.modifiedTime?new Date(e.modifiedTime).toLocaleDateString():``,e.size?` · ${e.size}`:``]})]}),(0,A.jsx)(`div`,{className:K.fileBtns,children:e.webViewLink&&(0,A.jsx)(`a`,{className:K.openBtn,href:e.webViewLink,target:`_blank`,rel:`noreferrer`,children:`Open`})})]},e.id))})]})}var Kt={root:`_root_1vbmp_1`,loading:`_loading_1vbmp_2`,error:`_error_1vbmp_3`,empty:`_empty_1vbmp_4`,addRow:`_addRow_1vbmp_6`,addInput:`_addInput_1vbmp_7`,addBtn:`_addBtn_1vbmp_8`,list:`_list_1vbmp_10`,taskRow:`_taskRow_1vbmp_11`,checkBtn:`_checkBtn_1vbmp_12`,taskInfo:`_taskInfo_1vbmp_14`,taskTitle:`_taskTitle_1vbmp_15`,taskDue:`_taskDue_1vbmp_16`,taskImp:`_taskImp_1vbmp_17`};function qt(){let e=F(),[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(!0),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),l=()=>{E(`/api/mstodo`).then(e=>{n(e?.tasks??[]),i(!1)}).catch(()=>{o(`Microsoft To Do requires Microsoft authentication. Run nha microsoft auth in the terminal.`),i(!1)})};(0,_.useEffect)(()=>{l()},[]);let u=()=>{let e=s.trim();e&&(c(``),D(`/api/mstodo`,{title:e}).then(e=>{e?.task&&l()}))},d=(e,t)=>{D(`/api/mstodo/${e}/complete`,{listId:t}).then(()=>l())};return r?(0,A.jsxs)(`div`,{className:Kt.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]}):a?(0,A.jsx)(`div`,{className:Kt.error,children:a}):(0,A.jsxs)(`div`,{className:Kt.root,children:[(0,A.jsxs)(`div`,{className:Kt.addRow,children:[(0,A.jsx)(`input`,{className:Kt.addInput,value:s,onChange:e=>c(e.target.value),placeholder:`Add a new task…`,onKeyDown:e=>e.key===`Enter`&&u()}),(0,A.jsx)(`button`,{className:Kt.addBtn,onClick:u,children:`+ Add`})]}),t.length===0&&(0,A.jsx)(`div`,{className:Kt.empty,children:`No active tasks`}),(0,A.jsx)(`div`,{className:Kt.list,children:t.map(e=>{let t=e.importance===`high`?`var(--red)`:e.importance===`low`?`var(--dim)`:`var(--amber)`;return(0,A.jsxs)(`div`,{className:Kt.taskRow,children:[(0,A.jsx)(`button`,{className:Kt.checkBtn,onClick:()=>d(e.id,e.listId)}),(0,A.jsxs)(`div`,{className:Kt.taskInfo,children:[(0,A.jsx)(`div`,{className:Kt.taskTitle,children:e.title}),e.dueDate&&(0,A.jsxs)(`div`,{className:Kt.taskDue,children:[`Due: `,e.dueDate.split(`T`)[0]]})]}),e.importance&&(0,A.jsx)(`span`,{className:Kt.taskImp,style:{color:t},children:e.importance})]},e.id)})})]})}var Jt={root:`_root_1ag4s_1`,header:`_header_1ag4s_3`,title:`_title_1ag4s_4`,subtitle:`_subtitle_1ag4s_5`,controls:`_controls_1ag4s_7`,monitorRow:`_monitorRow_1ag4s_8`,label:`_label_1ag4s_9`,monitorBtn:`_monitorBtn_1ag4s_10`,monitorActive:`_monitorActive_1ag4s_11`,captureBtn:`_captureBtn_1ag4s_12`,analyzeSection:`_analyzeSection_1ag4s_15`,sectionTitle:`_sectionTitle_1ag4s_16`,presets:`_presets_1ag4s_17`,preset:`_preset_1ag4s_17`,presetActive:`_presetActive_1ag4s_20`,questionRow:`_questionRow_1ag4s_21`,questionInput:`_questionInput_1ag4s_22`,analyzeBtn:`_analyzeBtn_1ag4s_23`,error:`_error_1ag4s_26`,screenshotContainer:`_screenshotContainer_1ag4s_28`,screenshot:`_screenshot_1ag4s_28`,screenshotMeta:`_screenshotMeta_1ag4s_30`,analysis:`_analysis_1ag4s_32`,analysisTitle:`_analysisTitle_1ag4s_33`,analysisText:`_analysisText_1ag4s_34`,continueInChat:`_continueInChat_1ag4s_35`,history:`_history_1ag4s_37`,historyGrid:`_historyGrid_1ag4s_38`,historyItem:`_historyItem_1ag4s_39`,historyThumb:`_historyThumb_1ag4s_40`,historyMeta:`_historyMeta_1ag4s_41`,historyTs:`_historyTs_1ag4s_42`,historyQ:`_historyQ_1ag4s_43`,historyA:`_historyA_1ag4s_44`},Yt=[`Describe exactly what you see on the screen`,`Identify any errors, warnings, or issues visible`,`What application is open and what is the user doing?`,`Summarize the content visible on screen and suggest next actions`,`Read and extract all visible text from the screen`,`Analyze the code visible on screen and identify bugs or improvements`,`What financial data or charts are visible? Summarize key numbers`,`Is there anything sensitive or that should be kept private?`];function Xt(){let e=F(),t=ne(e=>e.setView),n=ne(e=>e.apiBase),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(!1),[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(1),[p,m]=(0,_.useState)([]),h=async()=>{i(!0),c(null);try{let e=await D(`/api/screen/capture`,{monitor:d});c(e),(e?.base64||e?.file)&&m(t=>[{ts:new Date().toLocaleTimeString(),question:`Screenshot`,analysis:``,src:e.base64?`data:image/${e.format??`jpeg`};base64,${e.base64}`:`${n}/api/screenshots/${e.file}`},...t.slice(0,9)])}catch(e){c({error:e.message})}i(!1)},g=async()=>{if(l.trim()){o(!0);try{let e=await D(`/api/screen/analyze`,{question:l.trim(),monitor:d});if(c(e),e?.analysis){let t=e.base64?`data:image/${e.format??`jpeg`};base64,${e.base64}`:e.file?`${n}/api/screenshots/${e.file}`:``;m(n=>[{ts:new Date().toLocaleTimeString(),question:l.trim(),analysis:e.analysis??``,src:t},...n.slice(0,9)])}}catch(e){c({error:e.message})}o(!1)}},v=e=>{try{sessionStorage.setItem(`nha_chat_prefill`,e)}catch{}t(`chat`)},y=s?.base64?`data:image/${s.format??`jpeg`};base64,${s.base64}`:s?.file?`${n}/api/screenshots/${s.file}`:null;return(0,A.jsxs)(`div`,{className:Jt.root,children:[(0,A.jsx)(`div`,{className:Jt.header,children:(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:Jt.title,children:`🖥️ Screen Capture`}),(0,A.jsxs)(`div`,{className:Jt.subtitle,children:[e(`screen.capture`),` and analyze your desktop screen with AI vision`]})]})}),(0,A.jsxs)(`div`,{className:Jt.controls,children:[(0,A.jsxs)(`div`,{className:Jt.monitorRow,children:[(0,A.jsx)(`label`,{className:Jt.label,children:`Monitor`}),[1,2,3].map(e=>(0,A.jsxs)(`button`,{className:`${Jt.monitorBtn} ${d===e?Jt.monitorActive:``}`,onClick:()=>f(e),children:[`Monitor `,e]},e))]}),(0,A.jsx)(`button`,{className:Jt.captureBtn,onClick:h,disabled:r||a,children:r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:`spinner`}),` Capturing…`]}):`📷 Capture Screen`})]}),(0,A.jsxs)(`div`,{className:Jt.analyzeSection,children:[(0,A.jsx)(`div`,{className:Jt.sectionTitle,children:`Capture + Analyze`}),(0,A.jsx)(`div`,{className:Jt.presets,children:Yt.map(e=>(0,A.jsxs)(`button`,{className:`${Jt.preset} ${l===e?Jt.presetActive:``}`,onClick:()=>u(e),children:[e.slice(0,50),e.length>50?`…`:``]},e))}),(0,A.jsxs)(`div`,{className:Jt.questionRow,children:[(0,A.jsx)(`input`,{className:Jt.questionInput,value:l,onChange:e=>u(e.target.value),placeholder:`Ask something about your screen…`,onKeyDown:e=>e.key===`Enter`&&g()}),(0,A.jsx)(`button`,{className:Jt.analyzeBtn,onClick:g,disabled:!l.trim()||r||a,children:a?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:`spinner`}),` Analyzing…`]}):`🔍 Analyze`})]})]}),s?.error&&(0,A.jsx)(`div`,{className:Jt.error,children:s.error}),y&&(0,A.jsxs)(`div`,{className:Jt.screenshotContainer,children:[(0,A.jsx)(`img`,{src:y,className:Jt.screenshot,alt:`Screen capture`}),s?.width&&s?.height&&(0,A.jsxs)(`div`,{className:Jt.screenshotMeta,children:[s.width,` × `,s.height,`px`]})]}),s?.analysis&&(0,A.jsxs)(`div`,{className:Jt.analysis,children:[(0,A.jsx)(`div`,{className:Jt.analysisTitle,children:`AI Analysis`}),(0,A.jsx)(`div`,{className:Jt.analysisText,children:s.analysis}),(0,A.jsx)(`button`,{className:Jt.continueInChat,onClick:()=>v(`I captured my screen. Here's what the AI saw:\n\n${s.analysis}\n\nCan you help me with this?`),children:`Continue in Chat →`})]}),p.length>0&&(0,A.jsxs)(`div`,{className:Jt.history,children:[(0,A.jsx)(`div`,{className:Jt.sectionTitle,children:`Recent Captures`}),(0,A.jsx)(`div`,{className:Jt.historyGrid,children:p.map((e,t)=>(0,A.jsxs)(`div`,{className:Jt.historyItem,children:[e.src&&(0,A.jsx)(`img`,{src:e.src,className:Jt.historyThumb,alt:e.question}),(0,A.jsxs)(`div`,{className:Jt.historyMeta,children:[(0,A.jsx)(`div`,{className:Jt.historyTs,children:e.ts}),(0,A.jsx)(`div`,{className:Jt.historyQ,children:e.question}),e.analysis&&(0,A.jsxs)(`div`,{className:Jt.historyA,children:[e.analysis.slice(0,120),`…`]})]})]},t))})]})]})}var Z={root:`_root_v12qq_1`,header:`_header_v12qq_3`,title:`_title_v12qq_4`,subtitle:`_subtitle_v12qq_5`,section:`_section_v12qq_7`,sectionTitle:`_sectionTitle_v12qq_8`,quickBtns:`_quickBtns_v12qq_10`,quickBtn:`_quickBtn_v12qq_10`,searchRow:`_searchRow_v12qq_14`,searchInput:`_searchInput_v12qq_15`,searchBtn:`_searchBtn_v12qq_16`,modeRow:`_modeRow_v12qq_19`,modeBtn:`_modeBtn_v12qq_20`,modeActive:`_modeActive_v12qq_21`,routeInputs:`_routeInputs_v12qq_23`,inputWrapper:`_inputWrapper_v12qq_24`,inputIcon:`_inputIcon_v12qq_25`,routeInput:`_routeInput_v12qq_23`,swapBtn:`_swapBtn_v12qq_27`,dirBtns:`_dirBtns_v12qq_29`,dirBtn:`_dirBtn_v12qq_29`,openMapsBtn:`_openMapsBtn_v12qq_32`,error:`_error_v12qq_34`,resultCard:`_resultCard_v12qq_36`,routeSummary:`_routeSummary_v12qq_37`,routeDistance:`_routeDistance_v12qq_38`,routeDuration:`_routeDuration_v12qq_39`,routeMode:`_routeMode_v12qq_40`,steps:`_steps_v12qq_41`,step:`_step_v12qq_41`,stepNum:`_stepNum_v12qq_43`,stepText:`_stepText_v12qq_44`,mapLink:`_mapLink_v12qq_45`,askChatBtn:`_askChatBtn_v12qq_47`,savedRoute:`_savedRoute_v12qq_49`,savedFrom:`_savedFrom_v12qq_51`,savedArrow:`_savedArrow_v12qq_52`,savedTo:`_savedTo_v12qq_53`,savedTs:`_savedTs_v12qq_54`},Zt=[`driving`,`walking`,`bicycling`,`transit`],Qt={driving:`🚗`,walking:`🚶`,bicycling:`🚲`,transit:`🚌`},$t=[{label:`🏥 Nearest Hospital`,query:`nearest hospital`},{label:`⛽ Gas Station`,query:`gas station near me`},{label:`🛒 Supermarket`,query:`supermarket near me`},{label:`☕ Coffee Shop`,query:`coffee shop near me`},{label:`🏧 ATM`,query:`ATM near me`},{label:`🍕 Pizza`,query:`pizza restaurant near me`}];function en(e,t,n){try{let r=JSON.parse(localStorage.getItem(`nha_maps_routes`)??`[]`),i=[{from:e,to:t,label:n,ts:new Date().toISOString()},...r.filter(n=>!(n.from===e&&n.to===t))].slice(0,10);localStorage.setItem(`nha_maps_routes`,JSON.stringify(i))}catch{}}function tn(){try{return JSON.parse(localStorage.getItem(`nha_maps_routes`)??`[]`)}catch{return[]}}function nn(){let e=F(),t=ne(e=>e.setView),[n,r]=(0,_.useState)(``),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(`driving`),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(tn),[m,h]=(0,_.useState)(``),g=async()=>{if(!(!n.trim()||!i.trim())){l(!0),d(null);try{let e=await E(`/api/maps/directions?from=${encodeURIComponent(n.trim())}&to=${encodeURIComponent(i.trim())}&mode=${o}`);e&&(d(e),e.error||(en(n.trim(),i.trim()),p(tn())))}catch{d({url:`https://www.google.com/maps/dir/${encodeURIComponent(n.trim())}/${encodeURIComponent(i.trim())}/?travelmode=${o}`}),en(n.trim(),i.trim()),p(tn())}l(!1)}},v=e=>{let t=`https://www.google.com/maps/search/${encodeURIComponent(e)}`;window.open(t,`_blank`)},y=e=>{try{sessionStorage.setItem(`nha_chat_prefill`,e)}catch{}t(`chat`)},b=e=>{r(e.from),a(e.to)},x=n.trim()&&i.trim()?`https://www.google.com/maps/dir/${encodeURIComponent(n.trim())}/${encodeURIComponent(i.trim())}/?travelmode=${o}`:null;return(0,A.jsxs)(`div`,{className:Z.root,children:[(0,A.jsx)(`div`,{className:Z.header,children:(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:Z.title,children:`🗺️ Maps & Directions`}),(0,A.jsx)(`div`,{className:Z.subtitle,children:e(`maps.directions`)})]})}),(0,A.jsxs)(`div`,{className:Z.section,children:[(0,A.jsx)(`div`,{className:Z.sectionTitle,children:e(`common.search`)}),(0,A.jsx)(`div`,{className:Z.quickBtns,children:$t.map(e=>(0,A.jsx)(`button`,{className:Z.quickBtn,onClick:()=>v(e.query),children:e.label},e.label))}),(0,A.jsxs)(`div`,{className:Z.searchRow,children:[(0,A.jsx)(`input`,{className:Z.searchInput,value:m,onChange:e=>h(e.target.value),placeholder:`Search for a place, address, or business…`,onKeyDown:e=>e.key===`Enter`&&v(m)}),(0,A.jsx)(`button`,{className:Z.searchBtn,onClick:()=>v(m),disabled:!m.trim(),children:`Search ↗`})]})]}),(0,A.jsxs)(`div`,{className:Z.section,children:[(0,A.jsx)(`div`,{className:Z.sectionTitle,children:`Directions`}),(0,A.jsx)(`div`,{className:Z.modeRow,children:Zt.map(e=>(0,A.jsxs)(`button`,{className:`${Z.modeBtn} ${o===e?Z.modeActive:``}`,onClick:()=>s(e),title:e,children:[Qt[e],` `,e.charAt(0).toUpperCase()+e.slice(1)]},e))}),(0,A.jsxs)(`div`,{className:Z.routeInputs,children:[(0,A.jsxs)(`div`,{className:Z.inputWrapper,children:[(0,A.jsx)(`span`,{className:Z.inputIcon,children:`A`}),(0,A.jsx)(`input`,{className:Z.routeInput,value:n,onChange:e=>r(e.target.value),placeholder:`From (address, city, or 'my location')`,onKeyDown:e=>e.key===`Enter`&&g()})]}),(0,A.jsx)(`button`,{className:Z.swapBtn,onClick:()=>{r(i),a(n)},title:`Swap`,children:`⇅`}),(0,A.jsxs)(`div`,{className:Z.inputWrapper,children:[(0,A.jsx)(`span`,{className:Z.inputIcon,children:`B`}),(0,A.jsx)(`input`,{className:Z.routeInput,value:i,onChange:e=>a(e.target.value),placeholder:`To (address, city, or landmark)`,onKeyDown:e=>e.key===`Enter`&&g()})]})]}),(0,A.jsxs)(`div`,{className:Z.dirBtns,children:[(0,A.jsx)(`button`,{className:Z.dirBtn,onClick:g,disabled:c||!n.trim()||!i.trim(),children:c?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:`spinner`}),` Getting route…`]}):`🗺️ Get Directions`}),x&&(0,A.jsx)(`a`,{className:Z.openMapsBtn,href:x,target:`_blank`,rel:`noreferrer`,children:`Open in Google Maps ↗`})]})]}),u?.error&&(0,A.jsx)(`div`,{className:Z.error,children:u.error}),u&&!u.error&&(0,A.jsxs)(`div`,{className:Z.resultCard,children:[(u.distance||u.duration)&&(0,A.jsxs)(`div`,{className:Z.routeSummary,children:[u.distance&&(0,A.jsxs)(`span`,{className:Z.routeDistance,children:[`📏 `,u.distance]}),u.duration&&(0,A.jsxs)(`span`,{className:Z.routeDuration,children:[`⏱ `,u.duration]}),(0,A.jsxs)(`span`,{className:Z.routeMode,children:[Qt[o],` `,o]})]}),u.steps&&u.steps.length>0&&(0,A.jsx)(`div`,{className:Z.steps,children:u.steps.map((e,t)=>(0,A.jsxs)(`div`,{className:Z.step,children:[(0,A.jsx)(`span`,{className:Z.stepNum,children:t+1}),(0,A.jsx)(`span`,{className:Z.stepText,children:e})]},t))}),u.url&&(0,A.jsx)(`a`,{className:Z.mapLink,href:u.url,target:`_blank`,rel:`noreferrer`,children:`View full route on Google Maps ↗`}),(0,A.jsx)(`button`,{className:Z.askChatBtn,onClick:()=>y(`Give me directions from "${n}" to "${i}" by ${o}. Include estimated time, distance, and any traffic alerts or alternative routes.`),children:`Ask AI for detailed route advice →`})]}),f.length>0&&(0,A.jsxs)(`div`,{className:Z.section,children:[(0,A.jsx)(`div`,{className:Z.sectionTitle,children:`Recent Routes`}),f.map((e,t)=>(0,A.jsxs)(`div`,{className:Z.savedRoute,onClick:()=>b(e),children:[(0,A.jsx)(`span`,{className:Z.savedFrom,children:e.from}),(0,A.jsx)(`span`,{className:Z.savedArrow,children:`→`}),(0,A.jsx)(`span`,{className:Z.savedTo,children:e.to}),(0,A.jsx)(`span`,{className:Z.savedTs,children:new Date(e.ts).toLocaleDateString()})]},t))]})]})}var Q={root:`_root_esnjz_1`,header:`_header_esnjz_3`,title:`_title_esnjz_4`,subtitle:`_subtitle_esnjz_5`,addBtn:`_addBtn_esnjz_6`,quickAdd:`_quickAdd_esnjz_8`,quickLabel:`_quickLabel_esnjz_9`,quickPresets:`_quickPresets_esnjz_10`,quickPreset:`_quickPreset_esnjz_10`,section:`_section_esnjz_14`,sectionTitle:`_sectionTitle_esnjz_15`,loading:`_loading_esnjz_17`,empty:`_empty_esnjz_18`,card:`_card_esnjz_20`,cardPast:`_cardPast_esnjz_21`,cardLeft:`_cardLeft_esnjz_22`,reminderMsg:`_reminderMsg_esnjz_23`,reminderTime:`_reminderTime_esnjz_24`,timeBadge:`_timeBadge_esnjz_25`,countdown:`_countdown_esnjz_26`,timePast:`_timePast_esnjz_27`,sentBadge:`_sentBadge_esnjz_28`,cancelledBadge:`_cancelledBadge_esnjz_29`,cancelBtn:`_cancelBtn_esnjz_30`,repeatBtn:`_repeatBtn_esnjz_31`,aiButtons:`_aiButtons_esnjz_33`,aiBtn:`_aiBtn_esnjz_34`,overlay:`_overlay_esnjz_38`,modal:`_modal_esnjz_39`,modalTitle:`_modalTitle_esnjz_40`,label:`_label_esnjz_41`,input:`_input_esnjz_42`,msgTemplates:`_msgTemplates_esnjz_44`,msgTemplate:`_msgTemplate_esnjz_44`,msgTemplateActive:`_msgTemplateActive_esnjz_47`,typeTabs:`_typeTabs_esnjz_49`,typeTab:`_typeTab_esnjz_49`,typeTabActive:`_typeTabActive_esnjz_51`,relRow:`_relRow_esnjz_53`,inLabel:`_inLabel_esnjz_54`,relInput:`_relInput_esnjz_55`,relSelect:`_relSelect_esnjz_56`,formErr:`_formErr_esnjz_58`,formOk:`_formOk_esnjz_59`,modalBtns:`_modalBtns_esnjz_60`,cancelModalBtn:`_cancelModalBtn_esnjz_61`,saveBtn:`_saveBtn_esnjz_62`},rn=[{label:`In 5 min`,value:`in 5 minutes`},{label:`In 15 min`,value:`in 15 minutes`},{label:`In 30 min`,value:`in 30 minutes`},{label:`In 1 hour`,value:`in 1 hour`},{label:`In 2 hours`,value:`in 2 hours`},{label:`In 3 hours`,value:`in 3 hours`},{label:`Tomorrow 9am`,value:`tomorrow at 09:00`},{label:`Tomorrow noon`,value:`tomorrow at 12:00`}],an=[`Take a break and stretch`,`Check emails`,`Join the standup call`,`Review and respond to messages`,`Take your medication`,`Drink water`,`Focus review — what did you accomplish in the last hour?`,`Follow up on pending tasks`,`End of work day — log your achievements`,`Weekly review — prepare for next week`];function on(e){if(e<1)return`now`;if(e<60)return`in ${e}m`;let t=Math.floor(e/60),n=e%60;return n>0?`in ${t}h ${n}m`:`in ${t}h`}function sn(){let e=F(),t=ne(e=>e.setView),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(!0),[o,s]=(0,_.useState)({message:``,atTime:``,atTimeType:`relative`,relValue:`30`,relUnit:`minutes`}),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(!1),g=()=>{a(!0),E(`/api/reminders`).then(e=>{r(e?.reminders??[]),a(!1)}).catch(()=>{r([]),a(!1)})};(0,_.useEffect)(()=>{g()},[]);let v=async()=>{if(!o.message.trim()){d(`Message is required`);return}let e=``;if(o.atTimeType===`relative`)e=`in ${o.relValue} ${o.relUnit}`;else{if(!o.atTime){d(`Time is required`);return}e=o.atTime}l(!0),d(``);try{await D(`/api/reminders`,{message:o.message.trim(),atTime:e}),p(`Reminder set!`),setTimeout(()=>{p(``),h(!1)},1500),g()}catch(e){d(e.message??`Failed to set reminder`)}l(!1)},y=e=>{confirm(`Cancel this reminder?`)&&D(`/api/reminders/cancel`,{id:e}).then(g)},b=e=>{try{sessionStorage.setItem(`nha_chat_prefill`,e)}catch{}t(`chat`)},x=n.filter(e=>e.status===`pending`),S=n.filter(e=>e.status!==`pending`);return(0,A.jsxs)(`div`,{className:Q.root,children:[(0,A.jsxs)(`div`,{className:Q.header,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:Q.title,children:`🔔 Reminders`}),(0,A.jsx)(`div`,{className:Q.subtitle,children:`Set one-time notifications via the NHA daemon`})]}),(0,A.jsx)(`button`,{className:Q.addBtn,onClick:()=>{h(!0),d(``),p(``)},children:`+ New Reminder`})]}),(0,A.jsxs)(`div`,{className:Q.quickAdd,children:[(0,A.jsx)(`div`,{className:Q.quickLabel,children:`Quick reminder for now:`}),(0,A.jsx)(`div`,{className:Q.quickPresets,children:rn.map(e=>(0,A.jsx)(`button`,{className:Q.quickPreset,onClick:()=>{s(e=>({...e,atTimeType:`relative`,atTime:``,message:e.message||`Reminder`})),h(!0),d(``),p(``)},children:e.label},e.value))})]}),i&&(0,A.jsxs)(`div`,{className:Q.loading,children:[(0,A.jsx)(`div`,{className:`spinner`}),e(`common.loading`)]}),!i&&(0,A.jsxs)(`div`,{className:Q.section,children:[(0,A.jsxs)(`div`,{className:Q.sectionTitle,children:[`Pending (`,x.length,`)`]}),x.length===0&&(0,A.jsx)(`div`,{className:Q.empty,children:`No pending reminders. Set one to get notified.`}),x.map(e=>(0,A.jsxs)(`div`,{className:Q.card,children:[(0,A.jsxs)(`div`,{className:Q.cardLeft,children:[(0,A.jsx)(`div`,{className:Q.reminderMsg,children:e.message}),(0,A.jsxs)(`div`,{className:Q.reminderTime,children:[(0,A.jsx)(`span`,{className:Q.timeBadge,children:new Date(e.atTime).toLocaleString()}),e.minutesUntil!==void 0&&(0,A.jsx)(`span`,{className:Q.countdown,children:on(e.minutesUntil)})]})]}),(0,A.jsx)(`button`,{className:Q.cancelBtn,onClick:()=>y(e.id),children:`Cancel`})]},e.id))]}),S.length>0&&(0,A.jsxs)(`div`,{className:Q.section,children:[(0,A.jsxs)(`div`,{className:Q.sectionTitle,children:[`Recent (`,S.length,`)`]}),S.slice(0,10).map(e=>(0,A.jsxs)(`div`,{className:`${Q.card} ${Q.cardPast}`,children:[(0,A.jsxs)(`div`,{className:Q.cardLeft,children:[(0,A.jsx)(`div`,{className:Q.reminderMsg,children:e.message}),(0,A.jsxs)(`div`,{className:Q.reminderTime,children:[(0,A.jsx)(`span`,{className:e.status===`sent`?Q.sentBadge:Q.cancelledBadge,children:e.status}),(0,A.jsx)(`span`,{className:Q.timePast,children:new Date(e.atTime).toLocaleString()})]})]}),(0,A.jsx)(`button`,{className:Q.repeatBtn,onClick:()=>{s(t=>({...t,message:e.message,atTimeType:`relative`,relValue:`30`,relUnit:`minutes`})),h(!0)},children:`Repeat`})]},e.id))]}),(0,A.jsxs)(`div`,{className:Q.section,children:[(0,A.jsx)(`div`,{className:Q.sectionTitle,children:`AI-Powered Reminders`}),(0,A.jsxs)(`div`,{className:Q.aiButtons,children:[(0,A.jsx)(`button`,{className:Q.aiBtn,onClick:()=>b(`Set a reminder to check my emails in 30 minutes`),children:`📧 Email check in 30min`}),(0,A.jsx)(`button`,{className:Q.aiBtn,onClick:()=>b(`Set a reminder every hour to take a break and drink water`),children:`💧 Hourly water break`}),(0,A.jsx)(`button`,{className:Q.aiBtn,onClick:()=>b(`Set a reminder at the end of the work day (6pm) to do an evening review of my tasks and prepare tomorrow's plan`),children:`🌆 Evening review 6pm`}),(0,A.jsx)(`button`,{className:Q.aiBtn,onClick:()=>b(`Look at my calendar and set reminders for all events today`),children:`📅 Remind me of today's events`})]})]}),m&&(0,A.jsx)(`div`,{className:Q.overlay,onClick:e=>{e.target===e.currentTarget&&h(!1)},children:(0,A.jsxs)(`div`,{className:Q.modal,children:[(0,A.jsx)(`div`,{className:Q.modalTitle,children:e(`reminders.new`)}),(0,A.jsx)(`div`,{className:Q.label,children:`Message *`}),(0,A.jsx)(`div`,{className:Q.msgTemplates,children:an.map(e=>(0,A.jsx)(`button`,{className:`${Q.msgTemplate} ${o.message===e?Q.msgTemplateActive:``}`,onClick:()=>s(t=>({...t,message:e})),children:e},e))}),(0,A.jsx)(`input`,{className:Q.input,value:o.message,onChange:e=>s(t=>({...t,message:e.target.value})),placeholder:`Reminder message (e.g. Call John)`}),(0,A.jsx)(`div`,{className:Q.label,children:`When *`}),(0,A.jsxs)(`div`,{className:Q.typeTabs,children:[(0,A.jsx)(`button`,{className:`${Q.typeTab} ${o.atTimeType===`relative`?Q.typeTabActive:``}`,onClick:()=>s(e=>({...e,atTimeType:`relative`})),children:`Relative`}),(0,A.jsx)(`button`,{className:`${Q.typeTab} ${o.atTimeType===`absolute`?Q.typeTabActive:``}`,onClick:()=>s(e=>({...e,atTimeType:`absolute`})),children:`Exact time`})]}),o.atTimeType===`relative`?(0,A.jsxs)(`div`,{className:Q.relRow,children:[(0,A.jsx)(`span`,{className:Q.inLabel,children:`in`}),(0,A.jsx)(`input`,{className:Q.relInput,type:`number`,min:`1`,value:o.relValue,onChange:e=>s(t=>({...t,relValue:e.target.value}))}),(0,A.jsxs)(`select`,{className:Q.relSelect,value:o.relUnit,onChange:e=>s(t=>({...t,relUnit:e.target.value})),children:[(0,A.jsx)(`option`,{value:`minutes`,children:`minutes`}),(0,A.jsx)(`option`,{value:`hours`,children:`hours`}),(0,A.jsx)(`option`,{value:`days`,children:`days`})]})]}):(0,A.jsx)(`input`,{className:Q.input,type:`datetime-local`,value:o.atTime,onChange:e=>s(t=>({...t,atTime:e.target.value}))}),u&&(0,A.jsx)(`div`,{className:Q.formErr,children:u}),f&&(0,A.jsx)(`div`,{className:Q.formOk,children:f}),(0,A.jsxs)(`div`,{className:Q.modalBtns,children:[(0,A.jsx)(`button`,{className:Q.cancelModalBtn,onClick:()=>h(!1),children:`Cancel`}),(0,A.jsx)(`button`,{className:Q.saveBtn,onClick:v,disabled:c,children:c?`Setting…`:`🔔 Set Reminder`})]})]})})]})}var cn={root:`_root_atgeb_1`,icon:`_icon_atgeb_10`,title:`_title_atgeb_11`,sub:`_sub_atgeb_12`},ln={dashboard:`⚡`,email:`📧`,calendar:`📅`,tasks:`✅`,contacts:`👤`,notes:`📝`,drive:`💾`,onedrive:`☁️`,mstodo:`📋`,github:`🐙`,slack:`💬`,notion:`📋`,collab:`🏛️`,maps:`🗺️`,cron:`⏰`,screen:`🖥️`,reminders:`🔔`,birthdays:`🎂`,settings:`⚙️`,agents:`🤖`,plan:`🗓️`,webcraft:`🔨`,connectors:`🔗`};function un({view:e}){let t=F();return(0,A.jsxs)(`div`,{className:cn.root,children:[(0,A.jsx)(`div`,{className:cn.icon,children:ln[e]??`🔧`}),(0,A.jsx)(`div`,{className:cn.title,children:e.charAt(0).toUpperCase()+e.slice(1)}),(0,A.jsx)(`div`,{className:cn.sub,children:t(`common.comingSoon`)})]})}function dn(){let{activeView:e}=ne();switch(e){case`dashboard`:return(0,A.jsx)(Ve,{});case`chat`:return(0,A.jsx)(he,{});case`studio`:return(0,A.jsx)(Ie,{});case`email`:return(0,A.jsx)(ht,{});case`calendar`:return(0,A.jsx)(yt,{});case`tasks`:return(0,A.jsx)(Ue,{});case`notes`:return(0,A.jsx)(et,{});case`contacts`:return(0,A.jsx)(rt,{});case`birthdays`:return(0,A.jsx)(Je,{});case`cron`:return(0,A.jsx)(Qe,{});case`connectors`:return(0,A.jsx)(ut,{});case`agents`:return(0,A.jsx)(Ct,{});case`drive`:return(0,A.jsx)(Et,{});case`onedrive`:return(0,A.jsx)(Gt,{});case`mstodo`:return(0,A.jsx)(qt,{});case`github`:return(0,A.jsx)(Dt,{});case`slack`:return(0,A.jsx)(Ot,{});case`notion`:return(0,A.jsx)(kt,{});case`collab`:return(0,A.jsx)(Mt,{});case`webcraft`:return(0,A.jsx)(zt,{});case`plan`:return(0,A.jsx)(Ut,{});case`screen`:return(0,A.jsx)(Xt,{});case`maps`:return(0,A.jsx)(nn,{});case`reminders`:return(0,A.jsx)(sn,{});case`settings`:return(0,A.jsx)(Ke,{});default:return(0,A.jsx)(un,{view:e})}}(0,v.createRoot)(document.getElementById(`root`)).render((0,A.jsx)(_.StrictMode,{children:(0,A.jsx)(ue,{children:(0,A.jsx)(dn,{})})}));
|