agent-nuvira 3.5.5 → 3.5.6
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/README.md +66 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +72 -19
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +17 -3
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +63 -22
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/failover-runner.js +4 -4
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/gateway.js +13 -13
- package/dist/cli/gateway.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +22 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +56 -12
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/stats.d.ts +62 -4
- package/dist/cli/stats.d.ts.map +1 -1
- package/dist/cli/stats.js +282 -5
- package/dist/cli/stats.js.map +1 -1
- package/dist/cli/ui/index.d.ts +2 -2
- package/dist/cli/ui/index.d.ts.map +1 -1
- package/dist/cli/ui/index.js +1 -1
- package/dist/cli/ui/index.js.map +1 -1
- package/dist/cli/ui/presenter.d.ts +43 -0
- package/dist/cli/ui/presenter.d.ts.map +1 -1
- package/dist/cli/ui/presenter.js +88 -1
- package/dist/cli/ui/presenter.js.map +1 -1
- package/dist/config/manager.d.ts +29 -1
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +178 -143
- package/dist/config/manager.js.map +1 -1
- package/dist/config/paths.d.ts +48 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +59 -9
- package/dist/config/paths.js.map +1 -1
- package/dist/config/service-catalog.js +1 -1
- package/dist/config/service-catalog.js.map +1 -1
- package/dist/config/service-probe.js +1 -1
- package/dist/config/service-probe.js.map +1 -1
- package/dist/config/types.d.ts +22 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/gateway/adapters.js +8 -8
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/registry.js +1 -1
- package/dist/gateway/registry.js.map +1 -1
- package/dist/learning/auto-router.d.ts +30 -4
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +54 -38
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/cost-classification.d.ts +188 -0
- package/dist/learning/cost-classification.d.ts.map +1 -0
- package/dist/learning/cost-classification.js +294 -0
- package/dist/learning/cost-classification.js.map +1 -0
- package/dist/learning/cost-ledger-maintenance.d.ts +122 -0
- package/dist/learning/cost-ledger-maintenance.d.ts.map +1 -0
- package/dist/learning/cost-ledger-maintenance.js +289 -0
- package/dist/learning/cost-ledger-maintenance.js.map +1 -0
- package/dist/learning/cost-reconcile.d.ts +160 -0
- package/dist/learning/cost-reconcile.d.ts.map +1 -0
- package/dist/learning/cost-reconcile.js +238 -0
- package/dist/learning/cost-reconcile.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts +134 -13
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +190 -68
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/model-pricing.d.ts +240 -0
- package/dist/learning/model-pricing.d.ts.map +1 -0
- package/dist/learning/model-pricing.js +309 -0
- package/dist/learning/model-pricing.js.map +1 -0
- package/dist/learning/model-selection.d.ts +15 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +22 -2
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/model-warmup.d.ts.map +1 -1
- package/dist/learning/model-warmup.js +4 -1
- package/dist/learning/model-warmup.js.map +1 -1
- package/dist/learning/session-store.d.ts +1 -5
- package/dist/learning/session-store.d.ts.map +1 -1
- package/dist/learning/session-store.js +10 -1
- package/dist/learning/session-store.js.map +1 -1
- package/dist/learning/step-checkpoint.d.ts +32 -3
- package/dist/learning/step-checkpoint.d.ts.map +1 -1
- package/dist/learning/step-checkpoint.js +33 -4
- package/dist/learning/step-checkpoint.js.map +1 -1
- package/dist/mcp/settings.d.ts +15 -3
- package/dist/mcp/settings.d.ts.map +1 -1
- package/dist/mcp/settings.js +30 -15
- package/dist/mcp/settings.js.map +1 -1
- package/dist/parity/drivers.d.ts.map +1 -1
- package/dist/parity/drivers.js +31 -5
- package/dist/parity/drivers.js.map +1 -1
- package/dist/tools/child-agent-runtime.d.ts.map +1 -1
- package/dist/tools/child-agent-runtime.js +13 -7
- package/dist/tools/child-agent-runtime.js.map +1 -1
- package/dist/tools/followup-utils.d.ts +36 -0
- package/dist/tools/followup-utils.d.ts.map +1 -1
- package/dist/tools/followup-utils.js +66 -0
- package/dist/tools/followup-utils.js.map +1 -1
- package/dist/tools/modality/browser.js +2 -2
- package/dist/tools/modality/browser.js.map +1 -1
- package/dist/tools/modality/image-gen.d.ts +1 -1
- package/dist/tools/modality/image-gen.js +1 -1
- package/dist/tools/modality/image-providers.js +1 -1
- package/dist/tools/modality/image-providers.js.map +1 -1
- package/dist/tools/modality/vision.d.ts +1 -1
- package/dist/tools/modality/vision.js +1 -1
- package/dist/tools/modality/voice.js +2 -2
- package/dist/tools/modality/voice.js.map +1 -1
- package/dist/tools/neutts-synth.d.ts +3 -3
- package/dist/tools/neutts-synth.js +3 -3
- package/dist/tools/neutts-synth.js.map +1 -1
- package/dist/tools/process-liveness.d.ts +50 -0
- package/dist/tools/process-liveness.d.ts.map +1 -1
- package/dist/tools/process-liveness.js +82 -9
- package/dist/tools/process-liveness.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +27 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +18 -1
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +5 -3
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/web-research.d.ts +1 -1
- package/dist/tools/web-research.js +3 -3
- package/dist/tools/web-research.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +56 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +57 -1
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +122 -2
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +63 -0
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/task-runner.d.ts +17 -1
- package/dist/web-dashboard/task-runner.d.ts.map +1 -1
- package/dist/web-dashboard/task-runner.js +40 -4
- package/dist/web-dashboard/task-runner.js.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/index-DeSsNU94.css +1 -0
- package/src/web-dashboard/public/assets/index-Do_O67Kv.js +236 -0
- package/src/web-dashboard/public/assets/index-Do_O67Kv.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-DycGBWwy.js +0 -236
- package/src/web-dashboard/public/assets/index-DycGBWwy.js.map +0 -1
- package/src/web-dashboard/public/assets/index-aO3aG7ex.css +0 -1
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
var b$=Object.defineProperty;var x$=(e,t,n)=>t in e?b$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Yr=(e,t,n)=>x$(e,typeof t!="symbol"?t+"":t,n);function w$(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in e)){const s=Object.getOwnPropertyDescriptor(r,a);s&&Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>r[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();var fi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var rC={exports:{}},hp={},aC={exports:{}},Be={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Vu=Symbol.for("react.element"),k$=Symbol.for("react.portal"),S$=Symbol.for("react.fragment"),j$=Symbol.for("react.strict_mode"),N$=Symbol.for("react.profiler"),E$=Symbol.for("react.provider"),_$=Symbol.for("react.context"),C$=Symbol.for("react.forward_ref"),A$=Symbol.for("react.suspense"),T$=Symbol.for("react.memo"),O$=Symbol.for("react.lazy"),B0=Symbol.iterator;function P$(e){return e===null||typeof e!="object"?null:(e=B0&&e[B0]||e["@@iterator"],typeof e=="function"?e:null)}var iC={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},sC=Object.assign,oC={};function yl(e,t,n){this.props=e,this.context=t,this.refs=oC,this.updater=n||iC}yl.prototype.isReactComponent={};yl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};yl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function lC(){}lC.prototype=yl.prototype;function nx(e,t,n){this.props=e,this.context=t,this.refs=oC,this.updater=n||iC}var rx=nx.prototype=new lC;rx.constructor=nx;sC(rx,yl.prototype);rx.isPureReactComponent=!0;var z0=Array.isArray,cC=Object.prototype.hasOwnProperty,ax={current:null},uC={key:!0,ref:!0,__self:!0,__source:!0};function dC(e,t,n){var r,a={},s=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)cC.call(t,r)&&!uC.hasOwnProperty(r)&&(a[r]=t[r]);var l=arguments.length-2;if(l===1)a.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps,l)a[r]===void 0&&(a[r]=l[r]);return{$$typeof:Vu,type:e,key:s,ref:o,props:a,_owner:ax.current}}function R$(e,t){return{$$typeof:Vu,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ix(e){return typeof e=="object"&&e!==null&&e.$$typeof===Vu}function M$(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var F0=/\/+/g;function Mm(e,t){return typeof e=="object"&&e!==null&&e.key!=null?M$(""+e.key):t.toString(36)}function mf(e,t,n,r,a){var s=typeof e;(s==="undefined"||s==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(s){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Vu:case k$:o=!0}}if(o)return o=e,a=a(o),e=r===""?"."+Mm(o,0):r,z0(a)?(n="",e!=null&&(n=e.replace(F0,"$&/")+"/"),mf(a,t,n,"",function(u){return u})):a!=null&&(ix(a)&&(a=R$(a,n+(!a.key||o&&o.key===a.key?"":(""+a.key).replace(F0,"$&/")+"/")+e)),t.push(a)),1;if(o=0,r=r===""?".":r+":",z0(e))for(var l=0;l<e.length;l++){s=e[l];var c=r+Mm(s,l);o+=mf(s,t,n,c,a)}else if(c=P$(e),typeof c=="function")for(e=c.call(e),l=0;!(s=e.next()).done;)s=s.value,c=r+Mm(s,l++),o+=mf(s,t,n,c,a);else if(s==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function wd(e,t,n){if(e==null)return e;var r=[],a=0;return mf(e,r,"","",function(s){return t.call(n,s,a++)}),r}function I$(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Tn={current:null},gf={transition:null},$$={ReactCurrentDispatcher:Tn,ReactCurrentBatchConfig:gf,ReactCurrentOwner:ax};function fC(){throw Error("act(...) is not supported in production builds of React.")}Be.Children={map:wd,forEach:function(e,t,n){wd(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return wd(e,function(){t++}),t},toArray:function(e){return wd(e,function(t){return t})||[]},only:function(e){if(!ix(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Be.Component=yl;Be.Fragment=S$;Be.Profiler=N$;Be.PureComponent=nx;Be.StrictMode=j$;Be.Suspense=A$;Be.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=$$;Be.act=fC;Be.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=sC({},e.props),a=e.key,s=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(s=t.ref,o=ax.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)cC.call(t,c)&&!uC.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=n;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}return{$$typeof:Vu,type:e.type,key:a,ref:s,props:r,_owner:o}};Be.createContext=function(e){return e={$$typeof:_$,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:E$,_context:e},e.Consumer=e};Be.createElement=dC;Be.createFactory=function(e){var t=dC.bind(null,e);return t.type=e,t};Be.createRef=function(){return{current:null}};Be.forwardRef=function(e){return{$$typeof:C$,render:e}};Be.isValidElement=ix;Be.lazy=function(e){return{$$typeof:O$,_payload:{_status:-1,_result:e},_init:I$}};Be.memo=function(e,t){return{$$typeof:T$,type:e,compare:t===void 0?null:t}};Be.startTransition=function(e){var t=gf.transition;gf.transition={};try{e()}finally{gf.transition=t}};Be.unstable_act=fC;Be.useCallback=function(e,t){return Tn.current.useCallback(e,t)};Be.useContext=function(e){return Tn.current.useContext(e)};Be.useDebugValue=function(){};Be.useDeferredValue=function(e){return Tn.current.useDeferredValue(e)};Be.useEffect=function(e,t){return Tn.current.useEffect(e,t)};Be.useId=function(){return Tn.current.useId()};Be.useImperativeHandle=function(e,t,n){return Tn.current.useImperativeHandle(e,t,n)};Be.useInsertionEffect=function(e,t){return Tn.current.useInsertionEffect(e,t)};Be.useLayoutEffect=function(e,t){return Tn.current.useLayoutEffect(e,t)};Be.useMemo=function(e,t){return Tn.current.useMemo(e,t)};Be.useReducer=function(e,t,n){return Tn.current.useReducer(e,t,n)};Be.useRef=function(e){return Tn.current.useRef(e)};Be.useState=function(e){return Tn.current.useState(e)};Be.useSyncExternalStore=function(e,t,n){return Tn.current.useSyncExternalStore(e,t,n)};Be.useTransition=function(){return Tn.current.useTransition()};Be.version="18.3.1";aC.exports=Be;var b=aC.exports;const V=Ze(b),L$=w$({__proto__:null,default:V},[b]);/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.production.min.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var D$=b,B$=Symbol.for("react.element"),z$=Symbol.for("react.fragment"),F$=Object.prototype.hasOwnProperty,U$=D$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,W$={key:!0,ref:!0,__self:!0,__source:!0};function hC(e,t,n){var r,a={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)F$.call(t,r)&&!W$.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)a[r]===void 0&&(a[r]=t[r]);return{$$typeof:B$,type:e,key:s,ref:o,props:a,_owner:U$.current}}hp.Fragment=z$;hp.jsx=hC;hp.jsxs=hC;rC.exports=hp;var i=rC.exports,pC={exports:{}},rr={},mC={exports:{}},gC={};/**
|
|
18
|
-
* @license React
|
|
19
|
-
* scheduler.production.min.js
|
|
20
|
-
*
|
|
21
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the MIT license found in the
|
|
24
|
-
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/(function(e){function t(R,z){var T=R.length;R.push(z);e:for(;0<T;){var Z=T-1>>>1,U=R[Z];if(0<a(U,z))R[Z]=z,R[T]=U,T=Z;else break e}}function n(R){return R.length===0?null:R[0]}function r(R){if(R.length===0)return null;var z=R[0],T=R.pop();if(T!==z){R[0]=T;e:for(var Z=0,U=R.length,$=U>>>1;Z<$;){var ie=2*(Z+1)-1,de=R[ie],ve=ie+1,Ee=R[ve];if(0>a(de,T))ve<U&&0>a(Ee,de)?(R[Z]=Ee,R[ve]=T,Z=ve):(R[Z]=de,R[ie]=T,Z=ie);else if(ve<U&&0>a(Ee,T))R[Z]=Ee,R[ve]=T,Z=ve;else break e}}return z}function a(R,z){var T=R.sortIndex-z.sortIndex;return T!==0?T:R.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],u=[],d=1,f=null,h=3,p=!1,m=!1,g=!1,y=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(R){for(var z=n(u);z!==null;){if(z.callback===null)r(u);else if(z.startTime<=R)r(u),z.sortIndex=z.expirationTime,t(c,z);else break;z=n(u)}}function N(R){if(g=!1,w(R),!m)if(n(c)!==null)m=!0,D(k);else{var z=n(u);z!==null&&W(N,z.startTime-R)}}function k(R,z){m=!1,g&&(g=!1,v(_),_=-1),p=!0;var T=h;try{for(w(z),f=n(c);f!==null&&(!(f.expirationTime>z)||R&&!P());){var Z=f.callback;if(typeof Z=="function"){f.callback=null,h=f.priorityLevel;var U=Z(f.expirationTime<=z);z=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(c)&&r(c),w(z)}else r(c);f=n(c)}if(f!==null)var $=!0;else{var ie=n(u);ie!==null&&W(N,ie.startTime-z),$=!1}return $}finally{f=null,h=T,p=!1}}var x=!1,j=null,_=-1,O=5,C=-1;function P(){return!(e.unstable_now()-C<O)}function A(){if(j!==null){var R=e.unstable_now();C=R;var z=!0;try{z=j(!0,R)}finally{z?B():(x=!1,j=null)}}else x=!1}var B;if(typeof S=="function")B=function(){S(A)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,M=I.port2;I.port1.onmessage=A,B=function(){M.postMessage(null)}}else B=function(){y(A,0)};function D(R){j=R,x||(x=!0,B())}function W(R,z){_=y(function(){R(e.unstable_now())},z)}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(R){R.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,D(k))},e.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):O=0<R?Math.floor(1e3/R):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(R){switch(h){case 1:case 2:case 3:var z=3;break;default:z=h}var T=h;h=z;try{return R()}finally{h=T}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(R,z){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var T=h;h=R;try{return z()}finally{h=T}},e.unstable_scheduleCallback=function(R,z,T){var Z=e.unstable_now();switch(typeof T=="object"&&T!==null?(T=T.delay,T=typeof T=="number"&&0<T?Z+T:Z):T=Z,R){case 1:var U=-1;break;case 2:U=250;break;case 5:U=1073741823;break;case 4:U=1e4;break;default:U=5e3}return U=T+U,R={id:d++,callback:z,priorityLevel:R,startTime:T,expirationTime:U,sortIndex:-1},T>Z?(R.sortIndex=T,t(u,R),n(c)===null&&R===n(u)&&(g?(v(_),_=-1):g=!0,W(N,T-Z))):(R.sortIndex=U,t(c,R),m||p||(m=!0,D(k))),R},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(R){var z=h;return function(){var T=h;h=z;try{return R.apply(this,arguments)}finally{h=T}}}})(gC);mC.exports=gC;var H$=mC.exports;/**
|
|
26
|
-
* @license React
|
|
27
|
-
* react-dom.production.min.js
|
|
28
|
-
*
|
|
29
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
-
*
|
|
31
|
-
* This source code is licensed under the MIT license found in the
|
|
32
|
-
* LICENSE file in the root directory of this source tree.
|
|
33
|
-
*/var G$=b,tr=H$;function se(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;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."}var vC=new Set,Uc={};function Ds(e,t){Fo(e,t),Fo(e+"Capture",t)}function Fo(e,t){for(Uc[e]=t,e=0;e<t.length;e++)vC.add(t[e])}var Ra=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),vv=Object.prototype.hasOwnProperty,q$=/^[: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]*$/,U0={},W0={};function K$(e){return vv.call(W0,e)?!0:vv.call(U0,e)?!1:q$.test(e)?W0[e]=!0:(U0[e]=!0,!1)}function V$(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Y$(e,t,n,r){if(t===null||typeof t>"u"||V$(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function On(e,t,n,r,a,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var dn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){dn[e]=new On(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];dn[t]=new On(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){dn[e]=new On(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){dn[e]=new On(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){dn[e]=new On(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){dn[e]=new On(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){dn[e]=new On(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){dn[e]=new On(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){dn[e]=new On(e,5,!1,e.toLowerCase(),null,!1,!1)});var sx=/[\-:]([a-z])/g;function ox(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(sx,ox);dn[t]=new On(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(sx,ox);dn[t]=new On(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(sx,ox);dn[t]=new On(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){dn[e]=new On(e,1,!1,e.toLowerCase(),null,!1,!1)});dn.xlinkHref=new On("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){dn[e]=new On(e,1,!1,e.toLowerCase(),null,!0,!0)});function lx(e,t,n,r){var a=dn.hasOwnProperty(t)?dn[t]:null;(a!==null?a.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Y$(t,n,a,r)&&(n=null),r||a===null?K$(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=n===null?a.type===3?!1:"":n:(t=a.attributeName,r=a.attributeNamespace,n===null?e.removeAttribute(t):(a=a.type,n=a===3||a===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var za=G$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,kd=Symbol.for("react.element"),po=Symbol.for("react.portal"),mo=Symbol.for("react.fragment"),cx=Symbol.for("react.strict_mode"),yv=Symbol.for("react.profiler"),yC=Symbol.for("react.provider"),bC=Symbol.for("react.context"),ux=Symbol.for("react.forward_ref"),bv=Symbol.for("react.suspense"),xv=Symbol.for("react.suspense_list"),dx=Symbol.for("react.memo"),ii=Symbol.for("react.lazy"),xC=Symbol.for("react.offscreen"),H0=Symbol.iterator;function Xl(e){return e===null||typeof e!="object"?null:(e=H0&&e[H0]||e["@@iterator"],typeof e=="function"?e:null)}var At=Object.assign,Im;function yc(e){if(Im===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Im=t&&t[1]||""}return`
|
|
34
|
-
`+Im+e}var $m=!1;function Lm(e,t){if(!e||$m)return"";$m=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var a=u.stack.split(`
|
|
35
|
-
`),s=r.stack.split(`
|
|
36
|
-
`),o=a.length-1,l=s.length-1;1<=o&&0<=l&&a[o]!==s[l];)l--;for(;1<=o&&0<=l;o--,l--)if(a[o]!==s[l]){if(o!==1||l!==1)do if(o--,l--,0>l||a[o]!==s[l]){var c=`
|
|
37
|
-
`+a[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{$m=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?yc(e):""}function X$(e){switch(e.tag){case 5:return yc(e.type);case 16:return yc("Lazy");case 13:return yc("Suspense");case 19:return yc("SuspenseList");case 0:case 2:case 15:return e=Lm(e.type,!1),e;case 11:return e=Lm(e.type.render,!1),e;case 1:return e=Lm(e.type,!0),e;default:return""}}function wv(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case mo:return"Fragment";case po:return"Portal";case yv:return"Profiler";case cx:return"StrictMode";case bv:return"Suspense";case xv:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case bC:return(e.displayName||"Context")+".Consumer";case yC:return(e._context.displayName||"Context")+".Provider";case ux:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case dx:return t=e.displayName||null,t!==null?t:wv(e.type)||"Memo";case ii:t=e._payload,e=e._init;try{return wv(e(t))}catch{}}return null}function Q$(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return wv(t);case 8:return t===cx?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ti(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function wC(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Z$(e){var t=wC(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var a=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Sd(e){e._valueTracker||(e._valueTracker=Z$(e))}function kC(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=wC(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Tf(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kv(e,t){var n=t.checked;return At({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function G0(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ti(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function SC(e,t){t=t.checked,t!=null&&lx(e,"checked",t,!1)}function Sv(e,t){SC(e,t);var n=Ti(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?jv(e,t.type,n):t.hasOwnProperty("defaultValue")&&jv(e,t.type,Ti(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function q0(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function jv(e,t,n){(t!=="number"||Tf(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var bc=Array.isArray;function To(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Ti(n),t=null,a=0;a<e.length;a++){if(e[a].value===n){e[a].selected=!0,r&&(e[a].defaultSelected=!0);return}t!==null||e[a].disabled||(t=e[a])}t!==null&&(t.selected=!0)}}function Nv(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(se(91));return At({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function K0(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(se(92));if(bc(n)){if(1<n.length)throw Error(se(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Ti(n)}}function jC(e,t){var n=Ti(t.value),r=Ti(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function V0(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function NC(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ev(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?NC(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var jd,EC=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,a){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,a)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(jd=jd||document.createElement("div"),jd.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=jd.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Wc(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Nc={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},J$=["Webkit","ms","Moz","O"];Object.keys(Nc).forEach(function(e){J$.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Nc[t]=Nc[e]})});function _C(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Nc.hasOwnProperty(e)&&Nc[e]?(""+t).trim():t+"px"}function CC(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,a=_C(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}var eL=At({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _v(e,t){if(t){if(eL[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(se(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(se(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(se(61))}if(t.style!=null&&typeof t.style!="object")throw Error(se(62))}}function Cv(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Av=null;function fx(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tv=null,Oo=null,Po=null;function Y0(e){if(e=Qu(e)){if(typeof Tv!="function")throw Error(se(280));var t=e.stateNode;t&&(t=yp(t),Tv(e.stateNode,e.type,t))}}function AC(e){Oo?Po?Po.push(e):Po=[e]:Oo=e}function TC(){if(Oo){var e=Oo,t=Po;if(Po=Oo=null,Y0(e),t)for(e=0;e<t.length;e++)Y0(t[e])}}function OC(e,t){return e(t)}function PC(){}var Dm=!1;function RC(e,t,n){if(Dm)return e(t,n);Dm=!0;try{return OC(e,t,n)}finally{Dm=!1,(Oo!==null||Po!==null)&&(PC(),TC())}}function Hc(e,t){var n=e.stateNode;if(n===null)return null;var r=yp(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(se(231,t,typeof n));return n}var Ov=!1;if(Ra)try{var Ql={};Object.defineProperty(Ql,"passive",{get:function(){Ov=!0}}),window.addEventListener("test",Ql,Ql),window.removeEventListener("test",Ql,Ql)}catch{Ov=!1}function tL(e,t,n,r,a,s,o,l,c){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(d){this.onError(d)}}var Ec=!1,Of=null,Pf=!1,Pv=null,nL={onError:function(e){Ec=!0,Of=e}};function rL(e,t,n,r,a,s,o,l,c){Ec=!1,Of=null,tL.apply(nL,arguments)}function aL(e,t,n,r,a,s,o,l,c){if(rL.apply(this,arguments),Ec){if(Ec){var u=Of;Ec=!1,Of=null}else throw Error(se(198));Pf||(Pf=!0,Pv=u)}}function Bs(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 MC(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 X0(e){if(Bs(e)!==e)throw Error(se(188))}function iL(e){var t=e.alternate;if(!t){if(t=Bs(e),t===null)throw Error(se(188));return t!==e?null:e}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 X0(a),e;if(s===r)return X0(a),t;s=s.sibling}throw Error(se(188))}if(n.return!==r.return)n=a,r=s;else{for(var o=!1,l=a.child;l;){if(l===n){o=!0,n=a,r=s;break}if(l===r){o=!0,r=a,n=s;break}l=l.sibling}if(!o){for(l=s.child;l;){if(l===n){o=!0,n=s,r=a;break}if(l===r){o=!0,r=s,n=a;break}l=l.sibling}if(!o)throw Error(se(189))}}if(n.alternate!==r)throw Error(se(190))}if(n.tag!==3)throw Error(se(188));return n.stateNode.current===n?e:t}function IC(e){return e=iL(e),e!==null?$C(e):null}function $C(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=$C(e);if(t!==null)return t;e=e.sibling}return null}var LC=tr.unstable_scheduleCallback,Q0=tr.unstable_cancelCallback,sL=tr.unstable_shouldYield,oL=tr.unstable_requestPaint,Mt=tr.unstable_now,lL=tr.unstable_getCurrentPriorityLevel,hx=tr.unstable_ImmediatePriority,DC=tr.unstable_UserBlockingPriority,Rf=tr.unstable_NormalPriority,cL=tr.unstable_LowPriority,BC=tr.unstable_IdlePriority,pp=null,aa=null;function uL(e){if(aa&&typeof aa.onCommitFiberRoot=="function")try{aa.onCommitFiberRoot(pp,e,void 0,(e.current.flags&128)===128)}catch{}}var Br=Math.clz32?Math.clz32:hL,dL=Math.log,fL=Math.LN2;function hL(e){return e>>>=0,e===0?32:31-(dL(e)/fL|0)|0}var Nd=64,Ed=4194304;function xc(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mf(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,a=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~a;l!==0?r=xc(l):(s&=o,s!==0&&(r=xc(s)))}else o=n&~a,o!==0?r=xc(o):s!==0&&(r=xc(s));if(r===0)return 0;if(t!==0&&t!==r&&!(t&a)&&(a=r&-r,s=t&-t,a>=s||a===16&&(s&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Br(t),a=1<<n,r|=e[n],t&=~a;return r}function pL(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function mL(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,s=e.pendingLanes;0<s;){var o=31-Br(s),l=1<<o,c=a[o];c===-1?(!(l&n)||l&r)&&(a[o]=pL(l,t)):c<=t&&(e.expiredLanes|=l),s&=~l}}function Rv(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function zC(){var e=Nd;return Nd<<=1,!(Nd&4194240)&&(Nd=64),e}function Bm(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Yu(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Br(t),e[t]=n}function gL(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-Br(n),s=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~s}}function px(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Br(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var tt=0;function FC(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var UC,mx,WC,HC,GC,Mv=!1,_d=[],bi=null,xi=null,wi=null,Gc=new Map,qc=new Map,li=[],vL="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Z0(e,t){switch(e){case"focusin":case"focusout":bi=null;break;case"dragenter":case"dragleave":xi=null;break;case"mouseover":case"mouseout":wi=null;break;case"pointerover":case"pointerout":Gc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":qc.delete(t.pointerId)}}function Zl(e,t,n,r,a,s){return e===null||e.nativeEvent!==s?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:s,targetContainers:[a]},t!==null&&(t=Qu(t),t!==null&&mx(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}function yL(e,t,n,r,a){switch(t){case"focusin":return bi=Zl(bi,e,t,n,r,a),!0;case"dragenter":return xi=Zl(xi,e,t,n,r,a),!0;case"mouseover":return wi=Zl(wi,e,t,n,r,a),!0;case"pointerover":var s=a.pointerId;return Gc.set(s,Zl(Gc.get(s)||null,e,t,n,r,a)),!0;case"gotpointercapture":return s=a.pointerId,qc.set(s,Zl(qc.get(s)||null,e,t,n,r,a)),!0}return!1}function qC(e){var t=ds(e.target);if(t!==null){var n=Bs(t);if(n!==null){if(t=n.tag,t===13){if(t=MC(n),t!==null){e.blockedOn=t,GC(e.priority,function(){WC(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 vf(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Iv(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Av=r,n.target.dispatchEvent(r),Av=null}else return t=Qu(n),t!==null&&mx(t),e.blockedOn=n,!1;t.shift()}return!0}function J0(e,t,n){vf(e)&&n.delete(t)}function bL(){Mv=!1,bi!==null&&vf(bi)&&(bi=null),xi!==null&&vf(xi)&&(xi=null),wi!==null&&vf(wi)&&(wi=null),Gc.forEach(J0),qc.forEach(J0)}function Jl(e,t){e.blockedOn===t&&(e.blockedOn=null,Mv||(Mv=!0,tr.unstable_scheduleCallback(tr.unstable_NormalPriority,bL)))}function Kc(e){function t(a){return Jl(a,e)}if(0<_d.length){Jl(_d[0],e);for(var n=1;n<_d.length;n++){var r=_d[n];r.blockedOn===e&&(r.blockedOn=null)}}for(bi!==null&&Jl(bi,e),xi!==null&&Jl(xi,e),wi!==null&&Jl(wi,e),Gc.forEach(t),qc.forEach(t),n=0;n<li.length;n++)r=li[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<li.length&&(n=li[0],n.blockedOn===null);)qC(n),n.blockedOn===null&&li.shift()}var Ro=za.ReactCurrentBatchConfig,If=!0;function xL(e,t,n,r){var a=tt,s=Ro.transition;Ro.transition=null;try{tt=1,gx(e,t,n,r)}finally{tt=a,Ro.transition=s}}function wL(e,t,n,r){var a=tt,s=Ro.transition;Ro.transition=null;try{tt=4,gx(e,t,n,r)}finally{tt=a,Ro.transition=s}}function gx(e,t,n,r){if(If){var a=Iv(e,t,n,r);if(a===null)Ym(e,t,r,$f,n),Z0(e,r);else if(yL(a,e,t,n,r))r.stopPropagation();else if(Z0(e,r),t&4&&-1<vL.indexOf(e)){for(;a!==null;){var s=Qu(a);if(s!==null&&UC(s),s=Iv(e,t,n,r),s===null&&Ym(e,t,r,$f,n),s===a)break;a=s}a!==null&&r.stopPropagation()}else Ym(e,t,r,null,n)}}var $f=null;function Iv(e,t,n,r){if($f=null,e=fx(r),e=ds(e),e!==null)if(t=Bs(e),t===null)e=null;else if(n=t.tag,n===13){if(e=MC(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 $f=e,null}function KC(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(lL()){case hx:return 1;case DC:return 4;case Rf:case cL:return 16;case BC:return 536870912;default:return 16}default:return 16}}var hi=null,vx=null,yf=null;function VC(){if(yf)return yf;var e,t=vx,n=t.length,r,a="value"in hi?hi.value:hi.textContent,s=a.length;for(e=0;e<n&&t[e]===a[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===a[s-r];r++);return yf=a.slice(e,1<r?1-r:void 0)}function bf(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 Cd(){return!0}function ek(){return!1}function ar(e){function t(n,r,a,s,o){this._reactName=n,this._targetInst=a,this.type=r,this.nativeEvent=s,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(s):s[l]);return this.isDefaultPrevented=(s.defaultPrevented!=null?s.defaultPrevented:s.returnValue===!1)?Cd:ek,this.isPropagationStopped=ek,this}return At(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Cd)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Cd)},persist:function(){},isPersistent:Cd}),t}var bl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},yx=ar(bl),Xu=At({},bl,{view:0,detail:0}),kL=ar(Xu),zm,Fm,ec,mp=At({},Xu,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:bx,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!==ec&&(ec&&e.type==="mousemove"?(zm=e.screenX-ec.screenX,Fm=e.screenY-ec.screenY):Fm=zm=0,ec=e),zm)},movementY:function(e){return"movementY"in e?e.movementY:Fm}}),tk=ar(mp),SL=At({},mp,{dataTransfer:0}),jL=ar(SL),NL=At({},Xu,{relatedTarget:0}),Um=ar(NL),EL=At({},bl,{animationName:0,elapsedTime:0,pseudoElement:0}),_L=ar(EL),CL=At({},bl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),AL=ar(CL),TL=At({},bl,{data:0}),nk=ar(TL),OL={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},PL={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"},RL={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ML(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=RL[e])?!!t[e]:!1}function bx(){return ML}var IL=At({},Xu,{key:function(e){if(e.key){var t=OL[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=bf(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?PL[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:bx,charCode:function(e){return e.type==="keypress"?bf(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?bf(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),$L=ar(IL),LL=At({},mp,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),rk=ar(LL),DL=At({},Xu,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:bx}),BL=ar(DL),zL=At({},bl,{propertyName:0,elapsedTime:0,pseudoElement:0}),FL=ar(zL),UL=At({},mp,{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}),WL=ar(UL),HL=[9,13,27,32],xx=Ra&&"CompositionEvent"in window,_c=null;Ra&&"documentMode"in document&&(_c=document.documentMode);var GL=Ra&&"TextEvent"in window&&!_c,YC=Ra&&(!xx||_c&&8<_c&&11>=_c),ak=" ",ik=!1;function XC(e,t){switch(e){case"keyup":return HL.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function QC(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var go=!1;function qL(e,t){switch(e){case"compositionend":return QC(t);case"keypress":return t.which!==32?null:(ik=!0,ak);case"textInput":return e=t.data,e===ak&&ik?null:e;default:return null}}function KL(e,t){if(go)return e==="compositionend"||!xx&&XC(e,t)?(e=VC(),yf=vx=hi=null,go=!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 YC&&t.locale!=="ko"?null:t.data;default:return null}}var VL={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 sk(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!VL[e.type]:t==="textarea"}function ZC(e,t,n,r){AC(r),t=Lf(t,"onChange"),0<t.length&&(n=new yx("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Cc=null,Vc=null;function YL(e){cA(e,0)}function gp(e){var t=bo(e);if(kC(t))return e}function XL(e,t){if(e==="change")return t}var JC=!1;if(Ra){var Wm;if(Ra){var Hm="oninput"in document;if(!Hm){var ok=document.createElement("div");ok.setAttribute("oninput","return;"),Hm=typeof ok.oninput=="function"}Wm=Hm}else Wm=!1;JC=Wm&&(!document.documentMode||9<document.documentMode)}function lk(){Cc&&(Cc.detachEvent("onpropertychange",eA),Vc=Cc=null)}function eA(e){if(e.propertyName==="value"&&gp(Vc)){var t=[];ZC(t,Vc,e,fx(e)),RC(YL,t)}}function QL(e,t,n){e==="focusin"?(lk(),Cc=t,Vc=n,Cc.attachEvent("onpropertychange",eA)):e==="focusout"&&lk()}function ZL(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return gp(Vc)}function JL(e,t){if(e==="click")return gp(t)}function eD(e,t){if(e==="input"||e==="change")return gp(t)}function tD(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Hr=typeof Object.is=="function"?Object.is:tD;function Yc(e,t){if(Hr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)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 a=n[r];if(!vv.call(t,a)||!Hr(e[a],t[a]))return!1}return!0}function ck(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function uk(e,t){var n=ck(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}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ck(n)}}function tA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?tA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function nA(){for(var e=window,t=Tf();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Tf(e.document)}return t}function wx(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function nD(e){var t=nA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&tA(n.ownerDocument.documentElement,n)){if(r!==null&&wx(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=n.textContent.length,s=Math.min(r.start,a);r=r.end===void 0?s:Math.min(r.end,a),!e.extend&&s>r&&(a=r,r=s,s=a),a=uk(n,s);var o=uk(n,r);a&&o&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),s>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var rD=Ra&&"documentMode"in document&&11>=document.documentMode,vo=null,$v=null,Ac=null,Lv=!1;function dk(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Lv||vo==null||vo!==Tf(r)||(r=vo,"selectionStart"in r&&wx(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}),Ac&&Yc(Ac,r)||(Ac=r,r=Lf($v,"onSelect"),0<r.length&&(t=new yx("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vo)))}function Ad(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var yo={animationend:Ad("Animation","AnimationEnd"),animationiteration:Ad("Animation","AnimationIteration"),animationstart:Ad("Animation","AnimationStart"),transitionend:Ad("Transition","TransitionEnd")},Gm={},rA={};Ra&&(rA=document.createElement("div").style,"AnimationEvent"in window||(delete yo.animationend.animation,delete yo.animationiteration.animation,delete yo.animationstart.animation),"TransitionEvent"in window||delete yo.transitionend.transition);function vp(e){if(Gm[e])return Gm[e];if(!yo[e])return e;var t=yo[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in rA)return Gm[e]=t[n];return e}var aA=vp("animationend"),iA=vp("animationiteration"),sA=vp("animationstart"),oA=vp("transitionend"),lA=new Map,fk="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ri(e,t){lA.set(e,t),Ds(t,[e])}for(var qm=0;qm<fk.length;qm++){var Km=fk[qm],aD=Km.toLowerCase(),iD=Km[0].toUpperCase()+Km.slice(1);Ri(aD,"on"+iD)}Ri(aA,"onAnimationEnd");Ri(iA,"onAnimationIteration");Ri(sA,"onAnimationStart");Ri("dblclick","onDoubleClick");Ri("focusin","onFocus");Ri("focusout","onBlur");Ri(oA,"onTransitionEnd");Fo("onMouseEnter",["mouseout","mouseover"]);Fo("onMouseLeave",["mouseout","mouseover"]);Fo("onPointerEnter",["pointerout","pointerover"]);Fo("onPointerLeave",["pointerout","pointerover"]);Ds("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ds("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ds("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ds("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Ds("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ds("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var wc="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(" "),sD=new Set("cancel close invalid load scroll toggle".split(" ").concat(wc));function hk(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,aL(r,t,void 0,e),e.currentTarget=null}function cA(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var s=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,u=l.currentTarget;if(l=l.listener,c!==s&&a.isPropagationStopped())break e;hk(a,l,u),s=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,u=l.currentTarget,l=l.listener,c!==s&&a.isPropagationStopped())break e;hk(a,l,u),s=c}}}if(Pf)throw e=Pv,Pf=!1,Pv=null,e}function vt(e,t){var n=t[Uv];n===void 0&&(n=t[Uv]=new Set);var r=e+"__bubble";n.has(r)||(uA(t,e,2,!1),n.add(r))}function Vm(e,t,n){var r=0;t&&(r|=4),uA(n,e,r,t)}var Td="_reactListening"+Math.random().toString(36).slice(2);function Xc(e){if(!e[Td]){e[Td]=!0,vC.forEach(function(n){n!=="selectionchange"&&(sD.has(n)||Vm(n,!1,e),Vm(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Td]||(t[Td]=!0,Vm("selectionchange",!1,t))}}function uA(e,t,n,r){switch(KC(t)){case 1:var a=xL;break;case 4:a=wL;break;default:a=gx}n=a.bind(null,t,n,e),a=void 0,!Ov||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(a=!0),r?a!==void 0?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):a!==void 0?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Ym(e,t,n,r,a){var s=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===a||l.nodeType===8&&l.parentNode===a)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===a||c.nodeType===8&&c.parentNode===a))return;o=o.return}for(;l!==null;){if(o=ds(l),o===null)return;if(c=o.tag,c===5||c===6){r=s=o;continue e}l=l.parentNode}}r=r.return}RC(function(){var u=s,d=fx(n),f=[];e:{var h=lA.get(e);if(h!==void 0){var p=yx,m=e;switch(e){case"keypress":if(bf(n)===0)break e;case"keydown":case"keyup":p=$L;break;case"focusin":m="focus",p=Um;break;case"focusout":m="blur",p=Um;break;case"beforeblur":case"afterblur":p=Um;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=tk;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=jL;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=BL;break;case aA:case iA:case sA:p=_L;break;case oA:p=FL;break;case"scroll":p=kL;break;case"wheel":p=WL;break;case"copy":case"cut":case"paste":p=AL;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=rk}var g=(t&4)!==0,y=!g&&e==="scroll",v=g?h!==null?h+"Capture":null:h;g=[];for(var S=u,w;S!==null;){w=S;var N=w.stateNode;if(w.tag===5&&N!==null&&(w=N,v!==null&&(N=Hc(S,v),N!=null&&g.push(Qc(S,N,w)))),y)break;S=S.return}0<g.length&&(h=new p(h,m,null,n,d),f.push({event:h,listeners:g}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",h&&n!==Av&&(m=n.relatedTarget||n.fromElement)&&(ds(m)||m[Ma]))break e;if((p||h)&&(h=d.window===d?d:(h=d.ownerDocument)?h.defaultView||h.parentWindow:window,p?(m=n.relatedTarget||n.toElement,p=u,m=m?ds(m):null,m!==null&&(y=Bs(m),m!==y||m.tag!==5&&m.tag!==6)&&(m=null)):(p=null,m=u),p!==m)){if(g=tk,N="onMouseLeave",v="onMouseEnter",S="mouse",(e==="pointerout"||e==="pointerover")&&(g=rk,N="onPointerLeave",v="onPointerEnter",S="pointer"),y=p==null?h:bo(p),w=m==null?h:bo(m),h=new g(N,S+"leave",p,n,d),h.target=y,h.relatedTarget=w,N=null,ds(d)===u&&(g=new g(v,S+"enter",m,n,d),g.target=w,g.relatedTarget=y,N=g),y=N,p&&m)t:{for(g=p,v=m,S=0,w=g;w;w=eo(w))S++;for(w=0,N=v;N;N=eo(N))w++;for(;0<S-w;)g=eo(g),S--;for(;0<w-S;)v=eo(v),w--;for(;S--;){if(g===v||v!==null&&g===v.alternate)break t;g=eo(g),v=eo(v)}g=null}else g=null;p!==null&&pk(f,h,p,g,!1),m!==null&&y!==null&&pk(f,y,m,g,!0)}}e:{if(h=u?bo(u):window,p=h.nodeName&&h.nodeName.toLowerCase(),p==="select"||p==="input"&&h.type==="file")var k=XL;else if(sk(h))if(JC)k=eD;else{k=ZL;var x=QL}else(p=h.nodeName)&&p.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(k=JL);if(k&&(k=k(e,u))){ZC(f,k,n,d);break e}x&&x(e,h,u),e==="focusout"&&(x=h._wrapperState)&&x.controlled&&h.type==="number"&&jv(h,"number",h.value)}switch(x=u?bo(u):window,e){case"focusin":(sk(x)||x.contentEditable==="true")&&(vo=x,$v=u,Ac=null);break;case"focusout":Ac=$v=vo=null;break;case"mousedown":Lv=!0;break;case"contextmenu":case"mouseup":case"dragend":Lv=!1,dk(f,n,d);break;case"selectionchange":if(rD)break;case"keydown":case"keyup":dk(f,n,d)}var j;if(xx)e:{switch(e){case"compositionstart":var _="onCompositionStart";break e;case"compositionend":_="onCompositionEnd";break e;case"compositionupdate":_="onCompositionUpdate";break e}_=void 0}else go?XC(e,n)&&(_="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(_="onCompositionStart");_&&(YC&&n.locale!=="ko"&&(go||_!=="onCompositionStart"?_==="onCompositionEnd"&&go&&(j=VC()):(hi=d,vx="value"in hi?hi.value:hi.textContent,go=!0)),x=Lf(u,_),0<x.length&&(_=new nk(_,e,null,n,d),f.push({event:_,listeners:x}),j?_.data=j:(j=QC(n),j!==null&&(_.data=j)))),(j=GL?qL(e,n):KL(e,n))&&(u=Lf(u,"onBeforeInput"),0<u.length&&(d=new nk("onBeforeInput","beforeinput",null,n,d),f.push({event:d,listeners:u}),d.data=j))}cA(f,t)})}function Qc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Lf(e,t){for(var n=t+"Capture",r=[];e!==null;){var a=e,s=a.stateNode;a.tag===5&&s!==null&&(a=s,s=Hc(e,n),s!=null&&r.unshift(Qc(e,s,a)),s=Hc(e,t),s!=null&&r.push(Qc(e,s,a))),e=e.return}return r}function eo(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function pk(e,t,n,r,a){for(var s=t._reactName,o=[];n!==null&&n!==r;){var l=n,c=l.alternate,u=l.stateNode;if(c!==null&&c===r)break;l.tag===5&&u!==null&&(l=u,a?(c=Hc(n,s),c!=null&&o.unshift(Qc(n,c,l))):a||(c=Hc(n,s),c!=null&&o.push(Qc(n,c,l)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var oD=/\r\n?/g,lD=/\u0000|\uFFFD/g;function mk(e){return(typeof e=="string"?e:""+e).replace(oD,`
|
|
38
|
-
`).replace(lD,"")}function Od(e,t,n){if(t=mk(t),mk(e)!==t&&n)throw Error(se(425))}function Df(){}var Dv=null,Bv=null;function zv(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Fv=typeof setTimeout=="function"?setTimeout:void 0,cD=typeof clearTimeout=="function"?clearTimeout:void 0,gk=typeof Promise=="function"?Promise:void 0,uD=typeof queueMicrotask=="function"?queueMicrotask:typeof gk<"u"?function(e){return gk.resolve(null).then(e).catch(dD)}:Fv;function dD(e){setTimeout(function(){throw e})}function Xm(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(r===0){e.removeChild(a),Kc(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=a}while(n);Kc(t)}function ki(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function vk(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var xl=Math.random().toString(36).slice(2),ea="__reactFiber$"+xl,Zc="__reactProps$"+xl,Ma="__reactContainer$"+xl,Uv="__reactEvents$"+xl,fD="__reactListeners$"+xl,hD="__reactHandles$"+xl;function ds(e){var t=e[ea];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ma]||n[ea]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=vk(e);e!==null;){if(n=e[ea])return n;e=vk(e)}return t}e=n,n=e.parentNode}return null}function Qu(e){return e=e[ea]||e[Ma],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function bo(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(se(33))}function yp(e){return e[Zc]||null}var Wv=[],xo=-1;function Mi(e){return{current:e}}function wt(e){0>xo||(e.current=Wv[xo],Wv[xo]=null,xo--)}function ht(e,t){xo++,Wv[xo]=e.current,e.current=t}var Oi={},kn=Mi(Oi),zn=Mi(!1),_s=Oi;function Uo(e,t){var n=e.type.contextTypes;if(!n)return Oi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a={},s;for(s in n)a[s]=t[s];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Fn(e){return e=e.childContextTypes,e!=null}function Bf(){wt(zn),wt(kn)}function yk(e,t,n){if(kn.current!==Oi)throw Error(se(168));ht(kn,t),ht(zn,n)}function dA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var a in r)if(!(a in t))throw Error(se(108,Q$(e)||"Unknown",a));return At({},n,r)}function zf(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Oi,_s=kn.current,ht(kn,e),ht(zn,zn.current),!0}function bk(e,t,n){var r=e.stateNode;if(!r)throw Error(se(169));n?(e=dA(e,t,_s),r.__reactInternalMemoizedMergedChildContext=e,wt(zn),wt(kn),ht(kn,e)):wt(zn),ht(zn,n)}var Sa=null,bp=!1,Qm=!1;function fA(e){Sa===null?Sa=[e]:Sa.push(e)}function pD(e){bp=!0,fA(e)}function Ii(){if(!Qm&&Sa!==null){Qm=!0;var e=0,t=tt;try{var n=Sa;for(tt=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Sa=null,bp=!1}catch(a){throw Sa!==null&&(Sa=Sa.slice(e+1)),LC(hx,Ii),a}finally{tt=t,Qm=!1}}return null}var wo=[],ko=0,Ff=null,Uf=0,mr=[],gr=0,Cs=null,ja=1,Na="";function ns(e,t){wo[ko++]=Uf,wo[ko++]=Ff,Ff=e,Uf=t}function hA(e,t,n){mr[gr++]=ja,mr[gr++]=Na,mr[gr++]=Cs,Cs=e;var r=ja;e=Na;var a=32-Br(r)-1;r&=~(1<<a),n+=1;var s=32-Br(t)+a;if(30<s){var o=a-a%5;s=(r&(1<<o)-1).toString(32),r>>=o,a-=o,ja=1<<32-Br(t)+a|n<<a|r,Na=s+e}else ja=1<<s|n<<a|r,Na=e}function kx(e){e.return!==null&&(ns(e,1),hA(e,1,0))}function Sx(e){for(;e===Ff;)Ff=wo[--ko],wo[ko]=null,Uf=wo[--ko],wo[ko]=null;for(;e===Cs;)Cs=mr[--gr],mr[gr]=null,Na=mr[--gr],mr[gr]=null,ja=mr[--gr],mr[gr]=null}var Jn=null,Zn=null,St=!1,$r=null;function pA(e,t){var n=yr(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function xk(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Jn=e,Zn=ki(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Jn=e,Zn=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Cs!==null?{id:ja,overflow:Na}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=yr(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Jn=e,Zn=null,!0):!1;default:return!1}}function Hv(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Gv(e){if(St){var t=Zn;if(t){var n=t;if(!xk(e,t)){if(Hv(e))throw Error(se(418));t=ki(n.nextSibling);var r=Jn;t&&xk(e,t)?pA(r,n):(e.flags=e.flags&-4097|2,St=!1,Jn=e)}}else{if(Hv(e))throw Error(se(418));e.flags=e.flags&-4097|2,St=!1,Jn=e}}}function wk(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Jn=e}function Pd(e){if(e!==Jn)return!1;if(!St)return wk(e),St=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!zv(e.type,e.memoizedProps)),t&&(t=Zn)){if(Hv(e))throw mA(),Error(se(418));for(;t;)pA(e,t),t=ki(t.nextSibling)}if(wk(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(se(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Zn=ki(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Zn=null}}else Zn=Jn?ki(e.stateNode.nextSibling):null;return!0}function mA(){for(var e=Zn;e;)e=ki(e.nextSibling)}function Wo(){Zn=Jn=null,St=!1}function jx(e){$r===null?$r=[e]:$r.push(e)}var mD=za.ReactCurrentBatchConfig;function tc(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(se(309));var r=n.stateNode}if(!r)throw Error(se(147,e));var a=r,s=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===s?t.ref:(t=function(o){var l=a.refs;o===null?delete l[s]:l[s]=o},t._stringRef=s,t)}if(typeof e!="string")throw Error(se(284));if(!n._owner)throw Error(se(290,e))}return e}function Rd(e,t){throw e=Object.prototype.toString.call(t),Error(se(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function kk(e){var t=e._init;return t(e._payload)}function gA(e){function t(v,S){if(e){var w=v.deletions;w===null?(v.deletions=[S],v.flags|=16):w.push(S)}}function n(v,S){if(!e)return null;for(;S!==null;)t(v,S),S=S.sibling;return null}function r(v,S){for(v=new Map;S!==null;)S.key!==null?v.set(S.key,S):v.set(S.index,S),S=S.sibling;return v}function a(v,S){return v=Ei(v,S),v.index=0,v.sibling=null,v}function s(v,S,w){return v.index=w,e?(w=v.alternate,w!==null?(w=w.index,w<S?(v.flags|=2,S):w):(v.flags|=2,S)):(v.flags|=1048576,S)}function o(v){return e&&v.alternate===null&&(v.flags|=2),v}function l(v,S,w,N){return S===null||S.tag!==6?(S=ag(w,v.mode,N),S.return=v,S):(S=a(S,w),S.return=v,S)}function c(v,S,w,N){var k=w.type;return k===mo?d(v,S,w.props.children,N,w.key):S!==null&&(S.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ii&&kk(k)===S.type)?(N=a(S,w.props),N.ref=tc(v,S,w),N.return=v,N):(N=Ef(w.type,w.key,w.props,null,v.mode,N),N.ref=tc(v,S,w),N.return=v,N)}function u(v,S,w,N){return S===null||S.tag!==4||S.stateNode.containerInfo!==w.containerInfo||S.stateNode.implementation!==w.implementation?(S=ig(w,v.mode,N),S.return=v,S):(S=a(S,w.children||[]),S.return=v,S)}function d(v,S,w,N,k){return S===null||S.tag!==7?(S=xs(w,v.mode,N,k),S.return=v,S):(S=a(S,w),S.return=v,S)}function f(v,S,w){if(typeof S=="string"&&S!==""||typeof S=="number")return S=ag(""+S,v.mode,w),S.return=v,S;if(typeof S=="object"&&S!==null){switch(S.$$typeof){case kd:return w=Ef(S.type,S.key,S.props,null,v.mode,w),w.ref=tc(v,null,S),w.return=v,w;case po:return S=ig(S,v.mode,w),S.return=v,S;case ii:var N=S._init;return f(v,N(S._payload),w)}if(bc(S)||Xl(S))return S=xs(S,v.mode,w,null),S.return=v,S;Rd(v,S)}return null}function h(v,S,w,N){var k=S!==null?S.key:null;if(typeof w=="string"&&w!==""||typeof w=="number")return k!==null?null:l(v,S,""+w,N);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case kd:return w.key===k?c(v,S,w,N):null;case po:return w.key===k?u(v,S,w,N):null;case ii:return k=w._init,h(v,S,k(w._payload),N)}if(bc(w)||Xl(w))return k!==null?null:d(v,S,w,N,null);Rd(v,w)}return null}function p(v,S,w,N,k){if(typeof N=="string"&&N!==""||typeof N=="number")return v=v.get(w)||null,l(S,v,""+N,k);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case kd:return v=v.get(N.key===null?w:N.key)||null,c(S,v,N,k);case po:return v=v.get(N.key===null?w:N.key)||null,u(S,v,N,k);case ii:var x=N._init;return p(v,S,w,x(N._payload),k)}if(bc(N)||Xl(N))return v=v.get(w)||null,d(S,v,N,k,null);Rd(S,N)}return null}function m(v,S,w,N){for(var k=null,x=null,j=S,_=S=0,O=null;j!==null&&_<w.length;_++){j.index>_?(O=j,j=null):O=j.sibling;var C=h(v,j,w[_],N);if(C===null){j===null&&(j=O);break}e&&j&&C.alternate===null&&t(v,j),S=s(C,S,_),x===null?k=C:x.sibling=C,x=C,j=O}if(_===w.length)return n(v,j),St&&ns(v,_),k;if(j===null){for(;_<w.length;_++)j=f(v,w[_],N),j!==null&&(S=s(j,S,_),x===null?k=j:x.sibling=j,x=j);return St&&ns(v,_),k}for(j=r(v,j);_<w.length;_++)O=p(j,v,_,w[_],N),O!==null&&(e&&O.alternate!==null&&j.delete(O.key===null?_:O.key),S=s(O,S,_),x===null?k=O:x.sibling=O,x=O);return e&&j.forEach(function(P){return t(v,P)}),St&&ns(v,_),k}function g(v,S,w,N){var k=Xl(w);if(typeof k!="function")throw Error(se(150));if(w=k.call(w),w==null)throw Error(se(151));for(var x=k=null,j=S,_=S=0,O=null,C=w.next();j!==null&&!C.done;_++,C=w.next()){j.index>_?(O=j,j=null):O=j.sibling;var P=h(v,j,C.value,N);if(P===null){j===null&&(j=O);break}e&&j&&P.alternate===null&&t(v,j),S=s(P,S,_),x===null?k=P:x.sibling=P,x=P,j=O}if(C.done)return n(v,j),St&&ns(v,_),k;if(j===null){for(;!C.done;_++,C=w.next())C=f(v,C.value,N),C!==null&&(S=s(C,S,_),x===null?k=C:x.sibling=C,x=C);return St&&ns(v,_),k}for(j=r(v,j);!C.done;_++,C=w.next())C=p(j,v,_,C.value,N),C!==null&&(e&&C.alternate!==null&&j.delete(C.key===null?_:C.key),S=s(C,S,_),x===null?k=C:x.sibling=C,x=C);return e&&j.forEach(function(A){return t(v,A)}),St&&ns(v,_),k}function y(v,S,w,N){if(typeof w=="object"&&w!==null&&w.type===mo&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case kd:e:{for(var k=w.key,x=S;x!==null;){if(x.key===k){if(k=w.type,k===mo){if(x.tag===7){n(v,x.sibling),S=a(x,w.props.children),S.return=v,v=S;break e}}else if(x.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ii&&kk(k)===x.type){n(v,x.sibling),S=a(x,w.props),S.ref=tc(v,x,w),S.return=v,v=S;break e}n(v,x);break}else t(v,x);x=x.sibling}w.type===mo?(S=xs(w.props.children,v.mode,N,w.key),S.return=v,v=S):(N=Ef(w.type,w.key,w.props,null,v.mode,N),N.ref=tc(v,S,w),N.return=v,v=N)}return o(v);case po:e:{for(x=w.key;S!==null;){if(S.key===x)if(S.tag===4&&S.stateNode.containerInfo===w.containerInfo&&S.stateNode.implementation===w.implementation){n(v,S.sibling),S=a(S,w.children||[]),S.return=v,v=S;break e}else{n(v,S);break}else t(v,S);S=S.sibling}S=ig(w,v.mode,N),S.return=v,v=S}return o(v);case ii:return x=w._init,y(v,S,x(w._payload),N)}if(bc(w))return m(v,S,w,N);if(Xl(w))return g(v,S,w,N);Rd(v,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,S!==null&&S.tag===6?(n(v,S.sibling),S=a(S,w),S.return=v,v=S):(n(v,S),S=ag(w,v.mode,N),S.return=v,v=S),o(v)):n(v,S)}return y}var Ho=gA(!0),vA=gA(!1),Wf=Mi(null),Hf=null,So=null,Nx=null;function Ex(){Nx=So=Hf=null}function _x(e){var t=Wf.current;wt(Wf),e._currentValue=t}function qv(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Mo(e,t){Hf=e,Nx=So=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Dn=!0),e.firstContext=null)}function kr(e){var t=e._currentValue;if(Nx!==e)if(e={context:e,memoizedValue:t,next:null},So===null){if(Hf===null)throw Error(se(308));So=e,Hf.dependencies={lanes:0,firstContext:e}}else So=So.next=e;return t}var fs=null;function Cx(e){fs===null?fs=[e]:fs.push(e)}function yA(e,t,n,r){var a=t.interleaved;return a===null?(n.next=n,Cx(t)):(n.next=a.next,a.next=n),t.interleaved=n,Ia(e,r)}function Ia(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var si=!1;function Ax(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function bA(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Aa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Si(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,We&2){var a=r.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Ia(e,n)}return a=r.interleaved,a===null?(t.next=t,Cx(r)):(t.next=a.next,a.next=t),r.interleaved=t,Ia(e,n)}function xf(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,px(e,n)}}function Sk(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var a=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?a=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?a=s=t:s=s.next=t}else a=s=t;n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:s,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Gf(e,t,n,r){var a=e.updateQueue;si=!1;var s=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var c=l,u=c.next;c.next=null,o===null?s=u:o.next=u,o=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==o&&(l===null?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(s!==null){var f=a.baseState;o=0,d=u=c=null,l=s;do{var h=l.lane,p=l.eventTime;if((r&h)===h){d!==null&&(d=d.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,g=l;switch(h=t,p=n,g.tag){case 1:if(m=g.payload,typeof m=="function"){f=m.call(p,f,h);break e}f=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,h=typeof m=="function"?m.call(p,f,h):m,h==null)break e;f=At({},f,h);break e;case 2:si=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,h=a.effects,h===null?a.effects=[l]:h.push(l))}else p={eventTime:p,lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(u=d=p,c=f):d=d.next=p,o|=h;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;h=l,l=h.next,h.next=null,a.lastBaseUpdate=h,a.shared.pending=null}}while(!0);if(d===null&&(c=f),a.baseState=c,a.firstBaseUpdate=u,a.lastBaseUpdate=d,t=a.shared.interleaved,t!==null){a=t;do o|=a.lane,a=a.next;while(a!==t)}else s===null&&(a.shared.lanes=0);Ts|=o,e.lanes=o,e.memoizedState=f}}function jk(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(a!==null){if(r.callback=null,r=n,typeof a!="function")throw Error(se(191,a));a.call(r)}}}var Zu={},ia=Mi(Zu),Jc=Mi(Zu),eu=Mi(Zu);function hs(e){if(e===Zu)throw Error(se(174));return e}function Tx(e,t){switch(ht(eu,t),ht(Jc,e),ht(ia,Zu),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ev(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ev(t,e)}wt(ia),ht(ia,t)}function Go(){wt(ia),wt(Jc),wt(eu)}function xA(e){hs(eu.current);var t=hs(ia.current),n=Ev(t,e.type);t!==n&&(ht(Jc,e),ht(ia,n))}function Ox(e){Jc.current===e&&(wt(ia),wt(Jc))}var Et=Mi(0);function qf(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){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 Zm=[];function Px(){for(var e=0;e<Zm.length;e++)Zm[e]._workInProgressVersionPrimary=null;Zm.length=0}var wf=za.ReactCurrentDispatcher,Jm=za.ReactCurrentBatchConfig,As=0,_t=null,Ht=null,en=null,Kf=!1,Tc=!1,tu=0,gD=0;function hn(){throw Error(se(321))}function Rx(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Hr(e[n],t[n]))return!1;return!0}function Mx(e,t,n,r,a,s){if(As=s,_t=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,wf.current=e===null||e.memoizedState===null?xD:wD,e=n(r,a),Tc){s=0;do{if(Tc=!1,tu=0,25<=s)throw Error(se(301));s+=1,en=Ht=null,t.updateQueue=null,wf.current=kD,e=n(r,a)}while(Tc)}if(wf.current=Vf,t=Ht!==null&&Ht.next!==null,As=0,en=Ht=_t=null,Kf=!1,t)throw Error(se(300));return e}function Ix(){var e=tu!==0;return tu=0,e}function Zr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return en===null?_t.memoizedState=en=e:en=en.next=e,en}function Sr(){if(Ht===null){var e=_t.alternate;e=e!==null?e.memoizedState:null}else e=Ht.next;var t=en===null?_t.memoizedState:en.next;if(t!==null)en=t,Ht=e;else{if(e===null)throw Error(se(310));Ht=e,e={memoizedState:Ht.memoizedState,baseState:Ht.baseState,baseQueue:Ht.baseQueue,queue:Ht.queue,next:null},en===null?_t.memoizedState=en=e:en=en.next=e}return en}function nu(e,t){return typeof t=="function"?t(e):t}function eg(e){var t=Sr(),n=t.queue;if(n===null)throw Error(se(311));n.lastRenderedReducer=e;var r=Ht,a=r.baseQueue,s=n.pending;if(s!==null){if(a!==null){var o=a.next;a.next=s.next,s.next=o}r.baseQueue=a=s,n.pending=null}if(a!==null){s=a.next,r=r.baseState;var l=o=null,c=null,u=s;do{var d=u.lane;if((As&d)===d)c!==null&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};c===null?(l=c=f,o=r):c=c.next=f,_t.lanes|=d,Ts|=d}u=u.next}while(u!==null&&u!==s);c===null?o=r:c.next=l,Hr(r,t.memoizedState)||(Dn=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=c,n.lastRenderedState=r}if(e=n.interleaved,e!==null){a=e;do s=a.lane,_t.lanes|=s,Ts|=s,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function tg(e){var t=Sr(),n=t.queue;if(n===null)throw Error(se(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,s=t.memoizedState;if(a!==null){n.pending=null;var o=a=a.next;do s=e(s,o.action),o=o.next;while(o!==a);Hr(s,t.memoizedState)||(Dn=!0),t.memoizedState=s,t.baseQueue===null&&(t.baseState=s),n.lastRenderedState=s}return[s,r]}function wA(){}function kA(e,t){var n=_t,r=Sr(),a=t(),s=!Hr(r.memoizedState,a);if(s&&(r.memoizedState=a,Dn=!0),r=r.queue,$x(NA.bind(null,n,r,e),[e]),r.getSnapshot!==t||s||en!==null&&en.memoizedState.tag&1){if(n.flags|=2048,ru(9,jA.bind(null,n,r,a,t),void 0,null),rn===null)throw Error(se(349));As&30||SA(n,t,a)}return a}function SA(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=_t.updateQueue,t===null?(t={lastEffect:null,stores:null},_t.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function jA(e,t,n,r){t.value=n,t.getSnapshot=r,EA(t)&&_A(e)}function NA(e,t,n){return n(function(){EA(t)&&_A(e)})}function EA(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Hr(e,n)}catch{return!0}}function _A(e){var t=Ia(e,1);t!==null&&zr(t,e,1,-1)}function Nk(e){var t=Zr();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:nu,lastRenderedState:e},t.queue=e,e=e.dispatch=bD.bind(null,_t,e),[t.memoizedState,e]}function ru(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=_t.updateQueue,t===null?(t={lastEffect:null,stores:null},_t.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function CA(){return Sr().memoizedState}function kf(e,t,n,r){var a=Zr();_t.flags|=e,a.memoizedState=ru(1|t,n,void 0,r===void 0?null:r)}function xp(e,t,n,r){var a=Sr();r=r===void 0?null:r;var s=void 0;if(Ht!==null){var o=Ht.memoizedState;if(s=o.destroy,r!==null&&Rx(r,o.deps)){a.memoizedState=ru(t,n,s,r);return}}_t.flags|=e,a.memoizedState=ru(1|t,n,s,r)}function Ek(e,t){return kf(8390656,8,e,t)}function $x(e,t){return xp(2048,8,e,t)}function AA(e,t){return xp(4,2,e,t)}function TA(e,t){return xp(4,4,e,t)}function OA(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function PA(e,t,n){return n=n!=null?n.concat([e]):null,xp(4,4,OA.bind(null,t,e),n)}function Lx(){}function RA(e,t){var n=Sr();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Rx(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function MA(e,t){var n=Sr();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Rx(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function IA(e,t,n){return As&21?(Hr(n,t)||(n=zC(),_t.lanes|=n,Ts|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Dn=!0),e.memoizedState=n)}function vD(e,t){var n=tt;tt=n!==0&&4>n?n:4,e(!0);var r=Jm.transition;Jm.transition={};try{e(!1),t()}finally{tt=n,Jm.transition=r}}function $A(){return Sr().memoizedState}function yD(e,t,n){var r=Ni(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},LA(e))DA(t,n);else if(n=yA(e,t,n,r),n!==null){var a=An();zr(n,e,r,a),BA(n,t,r)}}function bD(e,t,n){var r=Ni(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(LA(e))DA(t,a);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(a.hasEagerState=!0,a.eagerState=l,Hr(l,o)){var c=t.interleaved;c===null?(a.next=a,Cx(t)):(a.next=c.next,c.next=a),t.interleaved=a;return}}catch{}finally{}n=yA(e,t,a,r),n!==null&&(a=An(),zr(n,e,r,a),BA(n,t,r))}}function LA(e){var t=e.alternate;return e===_t||t!==null&&t===_t}function DA(e,t){Tc=Kf=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function BA(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,px(e,n)}}var Vf={readContext:kr,useCallback:hn,useContext:hn,useEffect:hn,useImperativeHandle:hn,useInsertionEffect:hn,useLayoutEffect:hn,useMemo:hn,useReducer:hn,useRef:hn,useState:hn,useDebugValue:hn,useDeferredValue:hn,useTransition:hn,useMutableSource:hn,useSyncExternalStore:hn,useId:hn,unstable_isNewReconciler:!1},xD={readContext:kr,useCallback:function(e,t){return Zr().memoizedState=[e,t===void 0?null:t],e},useContext:kr,useEffect:Ek,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,kf(4194308,4,OA.bind(null,t,e),n)},useLayoutEffect:function(e,t){return kf(4194308,4,e,t)},useInsertionEffect:function(e,t){return kf(4,2,e,t)},useMemo:function(e,t){var n=Zr();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Zr();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=yD.bind(null,_t,e),[r.memoizedState,e]},useRef:function(e){var t=Zr();return e={current:e},t.memoizedState=e},useState:Nk,useDebugValue:Lx,useDeferredValue:function(e){return Zr().memoizedState=e},useTransition:function(){var e=Nk(!1),t=e[0];return e=vD.bind(null,e[1]),Zr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_t,a=Zr();if(St){if(n===void 0)throw Error(se(407));n=n()}else{if(n=t(),rn===null)throw Error(se(349));As&30||SA(r,t,n)}a.memoizedState=n;var s={value:n,getSnapshot:t};return a.queue=s,Ek(NA.bind(null,r,s,e),[e]),r.flags|=2048,ru(9,jA.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=Zr(),t=rn.identifierPrefix;if(St){var n=Na,r=ja;n=(r&~(1<<32-Br(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=tu++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=gD++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},wD={readContext:kr,useCallback:RA,useContext:kr,useEffect:$x,useImperativeHandle:PA,useInsertionEffect:AA,useLayoutEffect:TA,useMemo:MA,useReducer:eg,useRef:CA,useState:function(){return eg(nu)},useDebugValue:Lx,useDeferredValue:function(e){var t=Sr();return IA(t,Ht.memoizedState,e)},useTransition:function(){var e=eg(nu)[0],t=Sr().memoizedState;return[e,t]},useMutableSource:wA,useSyncExternalStore:kA,useId:$A,unstable_isNewReconciler:!1},kD={readContext:kr,useCallback:RA,useContext:kr,useEffect:$x,useImperativeHandle:PA,useInsertionEffect:AA,useLayoutEffect:TA,useMemo:MA,useReducer:tg,useRef:CA,useState:function(){return tg(nu)},useDebugValue:Lx,useDeferredValue:function(e){var t=Sr();return Ht===null?t.memoizedState=e:IA(t,Ht.memoizedState,e)},useTransition:function(){var e=tg(nu)[0],t=Sr().memoizedState;return[e,t]},useMutableSource:wA,useSyncExternalStore:kA,useId:$A,unstable_isNewReconciler:!1};function Rr(e,t){if(e&&e.defaultProps){t=At({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Kv(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:At({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var wp={isMounted:function(e){return(e=e._reactInternals)?Bs(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=An(),a=Ni(e),s=Aa(r,a);s.payload=t,n!=null&&(s.callback=n),t=Si(e,s,a),t!==null&&(zr(t,e,a,r),xf(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=An(),a=Ni(e),s=Aa(r,a);s.tag=1,s.payload=t,n!=null&&(s.callback=n),t=Si(e,s,a),t!==null&&(zr(t,e,a,r),xf(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=An(),r=Ni(e),a=Aa(n,r);a.tag=2,t!=null&&(a.callback=t),t=Si(e,a,r),t!==null&&(zr(t,e,r,n),xf(t,e,r))}};function _k(e,t,n,r,a,s,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,s,o):t.prototype&&t.prototype.isPureReactComponent?!Yc(n,r)||!Yc(a,s):!0}function zA(e,t,n){var r=!1,a=Oi,s=t.contextType;return typeof s=="object"&&s!==null?s=kr(s):(a=Fn(t)?_s:kn.current,r=t.contextTypes,s=(r=r!=null)?Uo(e,a):Oi),t=new t(n,s),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=wp,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=s),t}function Ck(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&&wp.enqueueReplaceState(t,t.state,null)}function Vv(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},Ax(e);var s=t.contextType;typeof s=="object"&&s!==null?a.context=kr(s):(s=Fn(t)?_s:kn.current,a.context=Uo(e,s)),a.state=e.memoizedState,s=t.getDerivedStateFromProps,typeof s=="function"&&(Kv(e,t,s,n),a.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(t=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),t!==a.state&&wp.enqueueReplaceState(a,a.state,null),Gf(e,n,a,r),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308)}function qo(e,t){try{var n="",r=t;do n+=X$(r),r=r.return;while(r);var a=n}catch(s){a=`
|
|
39
|
-
Error generating stack: `+s.message+`
|
|
40
|
-
`+s.stack}return{value:e,source:t,stack:a,digest:null}}function ng(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Yv(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var SD=typeof WeakMap=="function"?WeakMap:Map;function FA(e,t,n){n=Aa(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Xf||(Xf=!0,iy=r),Yv(e,t)},n}function UA(e,t,n){n=Aa(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){Yv(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Yv(e,t),typeof r!="function"&&(ji===null?ji=new Set([this]):ji.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Ak(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new SD;var a=new Set;r.set(t,a)}else a=r.get(t),a===void 0&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=LD.bind(null,e,t,n),t.then(e,e))}function Tk(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Ok(e,t,n,r,a){return e.mode&1?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Aa(-1,1),t.tag=2,Si(n,t,1))),n.lanes|=1),e)}var jD=za.ReactCurrentOwner,Dn=!1;function En(e,t,n,r){t.child=e===null?vA(t,null,n,r):Ho(t,e.child,n,r)}function Pk(e,t,n,r,a){n=n.render;var s=t.ref;return Mo(t,a),r=Mx(e,t,n,r,s,a),n=Ix(),e!==null&&!Dn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,$a(e,t,a)):(St&&n&&kx(t),t.flags|=1,En(e,t,r,a),t.child)}function Rk(e,t,n,r,a){if(e===null){var s=n.type;return typeof s=="function"&&!Gx(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,WA(e,t,s,r,a)):(e=Ef(n.type,null,r,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&a)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:Yc,n(o,r)&&e.ref===t.ref)return $a(e,t,a)}return t.flags|=1,e=Ei(s,r),e.ref=t.ref,e.return=t,t.child=e}function WA(e,t,n,r,a){if(e!==null){var s=e.memoizedProps;if(Yc(s,r)&&e.ref===t.ref)if(Dn=!1,t.pendingProps=r=s,(e.lanes&a)!==0)e.flags&131072&&(Dn=!0);else return t.lanes=e.lanes,$a(e,t,a)}return Xv(e,t,n,r,a)}function HA(e,t,n){var r=t.pendingProps,a=r.children,s=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ht(No,Yn),Yn|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ht(No,Yn),Yn|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,ht(No,Yn),Yn|=r}else s!==null?(r=s.baseLanes|n,t.memoizedState=null):r=n,ht(No,Yn),Yn|=r;return En(e,t,a,n),t.child}function GA(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Xv(e,t,n,r,a){var s=Fn(n)?_s:kn.current;return s=Uo(t,s),Mo(t,a),n=Mx(e,t,n,r,s,a),r=Ix(),e!==null&&!Dn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,$a(e,t,a)):(St&&r&&kx(t),t.flags|=1,En(e,t,n,a),t.child)}function Mk(e,t,n,r,a){if(Fn(n)){var s=!0;zf(t)}else s=!1;if(Mo(t,a),t.stateNode===null)Sf(e,t),zA(t,n,r),Vv(t,n,r,a),r=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=kr(u):(u=Fn(n)?_s:kn.current,u=Uo(t,u));var d=n.getDerivedStateFromProps,f=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==r||c!==u)&&Ck(t,o,r,u),si=!1;var h=t.memoizedState;o.state=h,Gf(t,r,o,a),c=t.memoizedState,l!==r||h!==c||zn.current||si?(typeof d=="function"&&(Kv(t,n,d,r),c=t.memoizedState),(l=si||_k(t,n,l,r,h,c,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=u,r=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,bA(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:Rr(t.type,l),o.props=u,f=t.pendingProps,h=o.context,c=n.contextType,typeof c=="object"&&c!==null?c=kr(c):(c=Fn(n)?_s:kn.current,c=Uo(t,c));var p=n.getDerivedStateFromProps;(d=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==c)&&Ck(t,o,r,c),si=!1,h=t.memoizedState,o.state=h,Gf(t,r,o,a);var m=t.memoizedState;l!==f||h!==m||zn.current||si?(typeof p=="function"&&(Kv(t,n,p,r),m=t.memoizedState),(u=si||_k(t,n,u,r,h,m,c)||!1)?(d||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Qv(e,t,n,r,s,a)}function Qv(e,t,n,r,a,s){GA(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return a&&bk(t,n,!1),$a(e,t,s);r=t.stateNode,jD.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Ho(t,e.child,null,s),t.child=Ho(t,null,l,s)):En(e,t,l,s),t.memoizedState=r.state,a&&bk(t,n,!0),t.child}function qA(e){var t=e.stateNode;t.pendingContext?yk(e,t.pendingContext,t.pendingContext!==t.context):t.context&&yk(e,t.context,!1),Tx(e,t.containerInfo)}function Ik(e,t,n,r,a){return Wo(),jx(a),t.flags|=256,En(e,t,n,r),t.child}var Zv={dehydrated:null,treeContext:null,retryLane:0};function Jv(e){return{baseLanes:e,cachePool:null,transitions:null}}function KA(e,t,n){var r=t.pendingProps,a=Et.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(a&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(a|=1),ht(Et,a&1),e===null)return Gv(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,s?(r=t.mode,s=t.child,o={mode:"hidden",children:o},!(r&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=jp(o,r,0,null),e=xs(e,r,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Jv(n),t.memoizedState=Zv,e):Dx(t,o));if(a=e.memoizedState,a!==null&&(l=a.dehydrated,l!==null))return ND(e,t,o,r,l,a,n);if(s){s=r.fallback,o=t.mode,a=e.child,l=a.sibling;var c={mode:"hidden",children:r.children};return!(o&1)&&t.child!==a?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Ei(a,c),r.subtreeFlags=a.subtreeFlags&14680064),l!==null?s=Ei(l,s):(s=xs(s,o,n,null),s.flags|=2),s.return=t,r.return=t,r.sibling=s,t.child=r,r=s,s=t.child,o=e.child.memoizedState,o=o===null?Jv(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Zv,r}return s=e.child,e=s.sibling,r=Ei(s,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Dx(e,t){return t=jp({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Md(e,t,n,r){return r!==null&&jx(r),Ho(t,e.child,null,n),e=Dx(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ND(e,t,n,r,a,s,o){if(n)return t.flags&256?(t.flags&=-257,r=ng(Error(se(422))),Md(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=r.fallback,a=t.mode,r=jp({mode:"visible",children:r.children},a,0,null),s=xs(s,a,o,null),s.flags|=2,r.return=t,s.return=t,r.sibling=s,t.child=r,t.mode&1&&Ho(t,e.child,null,o),t.child.memoizedState=Jv(o),t.memoizedState=Zv,s);if(!(t.mode&1))return Md(e,t,o,null);if(a.data==="$!"){if(r=a.nextSibling&&a.nextSibling.dataset,r)var l=r.dgst;return r=l,s=Error(se(419)),r=ng(s,r,void 0),Md(e,t,o,r)}if(l=(o&e.childLanes)!==0,Dn||l){if(r=rn,r!==null){switch(o&-o){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=a&(r.suspendedLanes|o)?0:a,a!==0&&a!==s.retryLane&&(s.retryLane=a,Ia(e,a),zr(r,e,a,-1))}return Hx(),r=ng(Error(se(421))),Md(e,t,o,r)}return a.data==="$?"?(t.flags|=128,t.child=e.child,t=DD.bind(null,e),a._reactRetry=t,null):(e=s.treeContext,Zn=ki(a.nextSibling),Jn=t,St=!0,$r=null,e!==null&&(mr[gr++]=ja,mr[gr++]=Na,mr[gr++]=Cs,ja=e.id,Na=e.overflow,Cs=t),t=Dx(t,r.children),t.flags|=4096,t)}function $k(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),qv(e.return,t,n)}function rg(e,t,n,r,a){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=a)}function VA(e,t,n){var r=t.pendingProps,a=r.revealOrder,s=r.tail;if(En(e,t,r.children,n),r=Et.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&$k(e,n,t);else if(e.tag===19)$k(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ht(Et,r),!(t.mode&1))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;n!==null;)e=n.alternate,e!==null&&qf(e)===null&&(a=n),n=n.sibling;n=a,n===null?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),rg(t,!1,a,n,s);break;case"backwards":for(n=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&qf(e)===null){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}rg(t,!0,n,null,s);break;case"together":rg(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Sf(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function $a(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ts|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(se(153));if(t.child!==null){for(e=t.child,n=Ei(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ei(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function ED(e,t,n){switch(t.tag){case 3:qA(t),Wo();break;case 5:xA(t);break;case 1:Fn(t.type)&&zf(t);break;case 4:Tx(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;ht(Wf,r._currentValue),r._currentValue=a;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ht(Et,Et.current&1),t.flags|=128,null):n&t.child.childLanes?KA(e,t,n):(ht(Et,Et.current&1),e=$a(e,t,n),e!==null?e.sibling:null);ht(Et,Et.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return VA(e,t,n);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),ht(Et,Et.current),r)break;return null;case 22:case 23:return t.lanes=0,HA(e,t,n)}return $a(e,t,n)}var YA,ey,XA,QA;YA=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};ey=function(){};XA=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,hs(ia.current);var s=null;switch(n){case"input":a=kv(e,a),r=kv(e,r),s=[];break;case"select":a=At({},a,{value:void 0}),r=At({},r,{value:void 0}),s=[];break;case"textarea":a=Nv(e,a),r=Nv(e,r),s=[];break;default:typeof a.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Df)}_v(n,r);var o;n=null;for(u in a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&a[u]!=null)if(u==="style"){var l=a[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Uc.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in r){var c=r[u];if(l=a!=null?a[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(c!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(s||(s=[]),s.push(u,n)),n=c;else u==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(s=s||[]).push(u,c)):u==="children"?typeof c!="string"&&typeof c!="number"||(s=s||[]).push(u,""+c):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Uc.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&vt("scroll",e),s||l===c||(s=[])):(s=s||[]).push(u,c))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};QA=function(e,t,n,r){n!==r&&(t.flags|=4)};function nc(e,t){if(!St)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 pn(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags&14680064,r|=a.flags&14680064,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function _D(e,t,n){var r=t.pendingProps;switch(Sx(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pn(t),null;case 1:return Fn(t.type)&&Bf(),pn(t),null;case 3:return r=t.stateNode,Go(),wt(zn),wt(kn),Px(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Pd(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,$r!==null&&(ly($r),$r=null))),ey(e,t),pn(t),null;case 5:Ox(t);var a=hs(eu.current);if(n=t.type,e!==null&&t.stateNode!=null)XA(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(se(166));return pn(t),null}if(e=hs(ia.current),Pd(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[ea]=t,r[Zc]=s,e=(t.mode&1)!==0,n){case"dialog":vt("cancel",r),vt("close",r);break;case"iframe":case"object":case"embed":vt("load",r);break;case"video":case"audio":for(a=0;a<wc.length;a++)vt(wc[a],r);break;case"source":vt("error",r);break;case"img":case"image":case"link":vt("error",r),vt("load",r);break;case"details":vt("toggle",r);break;case"input":G0(r,s),vt("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},vt("invalid",r);break;case"textarea":K0(r,s),vt("invalid",r)}_v(n,s),a=null;for(var o in s)if(s.hasOwnProperty(o)){var l=s[o];o==="children"?typeof l=="string"?r.textContent!==l&&(s.suppressHydrationWarning!==!0&&Od(r.textContent,l,e),a=["children",l]):typeof l=="number"&&r.textContent!==""+l&&(s.suppressHydrationWarning!==!0&&Od(r.textContent,l,e),a=["children",""+l]):Uc.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&vt("scroll",r)}switch(n){case"input":Sd(r),q0(r,s,!0);break;case"textarea":Sd(r),V0(r);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(r.onclick=Df)}r=a,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=a.nodeType===9?a:a.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=NC(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[ea]=t,e[Zc]=r,YA(e,t,!1,!1),t.stateNode=e;e:{switch(o=Cv(n,r),n){case"dialog":vt("cancel",e),vt("close",e),a=r;break;case"iframe":case"object":case"embed":vt("load",e),a=r;break;case"video":case"audio":for(a=0;a<wc.length;a++)vt(wc[a],e);a=r;break;case"source":vt("error",e),a=r;break;case"img":case"image":case"link":vt("error",e),vt("load",e),a=r;break;case"details":vt("toggle",e),a=r;break;case"input":G0(e,r),a=kv(e,r),vt("invalid",e);break;case"option":a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=At({},r,{value:void 0}),vt("invalid",e);break;case"textarea":K0(e,r),a=Nv(e,r),vt("invalid",e);break;default:a=r}_v(n,a),l=a;for(s in l)if(l.hasOwnProperty(s)){var c=l[s];s==="style"?CC(e,c):s==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&EC(e,c)):s==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&Wc(e,c):typeof c=="number"&&Wc(e,""+c):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(Uc.hasOwnProperty(s)?c!=null&&s==="onScroll"&&vt("scroll",e):c!=null&&lx(e,s,c,o))}switch(n){case"input":Sd(e),q0(e,r,!1);break;case"textarea":Sd(e),V0(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ti(r.value));break;case"select":e.multiple=!!r.multiple,s=r.value,s!=null?To(e,!!r.multiple,s,!1):r.defaultValue!=null&&To(e,!!r.multiple,r.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=Df)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return pn(t),null;case 6:if(e&&t.stateNode!=null)QA(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(se(166));if(n=hs(eu.current),hs(ia.current),Pd(t)){if(r=t.stateNode,n=t.memoizedProps,r[ea]=t,(s=r.nodeValue!==n)&&(e=Jn,e!==null))switch(e.tag){case 3:Od(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Od(r.nodeValue,n,(e.mode&1)!==0)}s&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[ea]=t,t.stateNode=r}return pn(t),null;case 13:if(wt(Et),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(St&&Zn!==null&&t.mode&1&&!(t.flags&128))mA(),Wo(),t.flags|=98560,s=!1;else if(s=Pd(t),r!==null&&r.dehydrated!==null){if(e===null){if(!s)throw Error(se(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(se(317));s[ea]=t}else Wo(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;pn(t),s=!1}else $r!==null&&(ly($r),$r=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||Et.current&1?Gt===0&&(Gt=3):Hx())),t.updateQueue!==null&&(t.flags|=4),pn(t),null);case 4:return Go(),ey(e,t),e===null&&Xc(t.stateNode.containerInfo),pn(t),null;case 10:return _x(t.type._context),pn(t),null;case 17:return Fn(t.type)&&Bf(),pn(t),null;case 19:if(wt(Et),s=t.memoizedState,s===null)return pn(t),null;if(r=(t.flags&128)!==0,o=s.rendering,o===null)if(r)nc(s,!1);else{if(Gt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=qf(e),o!==null){for(t.flags|=128,nc(s,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)s=n,e=r,s.flags&=14680066,o=s.alternate,o===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=o.childLanes,s.lanes=o.lanes,s.child=o.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=o.memoizedProps,s.memoizedState=o.memoizedState,s.updateQueue=o.updateQueue,s.type=o.type,e=o.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ht(Et,Et.current&1|2),t.child}e=e.sibling}s.tail!==null&&Mt()>Ko&&(t.flags|=128,r=!0,nc(s,!1),t.lanes=4194304)}else{if(!r)if(e=qf(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),nc(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!St)return pn(t),null}else 2*Mt()-s.renderingStartTime>Ko&&n!==1073741824&&(t.flags|=128,r=!0,nc(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Mt(),t.sibling=null,n=Et.current,ht(Et,r?n&1|2:n&1),t):(pn(t),null);case 22:case 23:return Wx(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Yn&1073741824&&(pn(t),t.subtreeFlags&6&&(t.flags|=8192)):pn(t),null;case 24:return null;case 25:return null}throw Error(se(156,t.tag))}function CD(e,t){switch(Sx(t),t.tag){case 1:return Fn(t.type)&&Bf(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Go(),wt(zn),wt(kn),Px(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ox(t),null;case 13:if(wt(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(se(340));Wo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return wt(Et),null;case 4:return Go(),null;case 10:return _x(t.type._context),null;case 22:case 23:return Wx(),null;case 24:return null;default:return null}}var Id=!1,yn=!1,AD=typeof WeakSet=="function"?WeakSet:Set,ye=null;function jo(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tt(e,t,r)}else n.current=null}function ty(e,t,n){try{n()}catch(r){Tt(e,t,r)}}var Lk=!1;function TD(e,t){if(Dv=If,e=nA(),wx(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{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,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,l=-1,c=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var p;f!==n||a!==0&&f.nodeType!==3||(l=o+a),f!==s||r!==0&&f.nodeType!==3||(c=o+r),f.nodeType===3&&(o+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++u===a&&(l=o),h===s&&++d===r&&(c=o),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(Bv={focusedElem:e,selectionRange:n},If=!1,ye=t;ye!==null;)if(t=ye,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ye=e;else for(;ye!==null;){t=ye;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var g=m.memoizedProps,y=m.memoizedState,v=t.stateNode,S=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:Rr(t.type,g),y);v.__reactInternalSnapshotBeforeUpdate=S}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(se(163))}}catch(N){Tt(t,t.return,N)}if(e=t.sibling,e!==null){e.return=t.return,ye=e;break}ye=t.return}return m=Lk,Lk=!1,m}function Oc(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var a=r=r.next;do{if((a.tag&e)===e){var s=a.destroy;a.destroy=void 0,s!==void 0&&ty(t,n,s)}a=a.next}while(a!==r)}}function kp(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ny(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function ZA(e){var t=e.alternate;t!==null&&(e.alternate=null,ZA(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ea],delete t[Zc],delete t[Uv],delete t[fD],delete t[hD])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function JA(e){return e.tag===5||e.tag===3||e.tag===4}function Dk(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||JA(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ry(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Df));else if(r!==4&&(e=e.child,e!==null))for(ry(e,t,n),e=e.sibling;e!==null;)ry(e,t,n),e=e.sibling}function ay(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&&(e=e.child,e!==null))for(ay(e,t,n),e=e.sibling;e!==null;)ay(e,t,n),e=e.sibling}var ln=null,Mr=!1;function ti(e,t,n){for(n=n.child;n!==null;)eT(e,t,n),n=n.sibling}function eT(e,t,n){if(aa&&typeof aa.onCommitFiberUnmount=="function")try{aa.onCommitFiberUnmount(pp,n)}catch{}switch(n.tag){case 5:yn||jo(n,t);case 6:var r=ln,a=Mr;ln=null,ti(e,t,n),ln=r,Mr=a,ln!==null&&(Mr?(e=ln,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ln.removeChild(n.stateNode));break;case 18:ln!==null&&(Mr?(e=ln,n=n.stateNode,e.nodeType===8?Xm(e.parentNode,n):e.nodeType===1&&Xm(e,n),Kc(e)):Xm(ln,n.stateNode));break;case 4:r=ln,a=Mr,ln=n.stateNode.containerInfo,Mr=!0,ti(e,t,n),ln=r,Mr=a;break;case 0:case 11:case 14:case 15:if(!yn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){a=r=r.next;do{var s=a,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ty(n,t,o),a=a.next}while(a!==r)}ti(e,t,n);break;case 1:if(!yn&&(jo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Tt(n,t,l)}ti(e,t,n);break;case 21:ti(e,t,n);break;case 22:n.mode&1?(yn=(r=yn)||n.memoizedState!==null,ti(e,t,n),yn=r):ti(e,t,n);break;default:ti(e,t,n)}}function Bk(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new AD),t.forEach(function(r){var a=BD.bind(null,e,r);n.has(r)||(n.add(r),r.then(a,a))})}}function Or(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r];try{var s=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:ln=l.stateNode,Mr=!1;break e;case 3:ln=l.stateNode.containerInfo,Mr=!0;break e;case 4:ln=l.stateNode.containerInfo,Mr=!0;break e}l=l.return}if(ln===null)throw Error(se(160));eT(s,o,a),ln=null,Mr=!1;var c=a.alternate;c!==null&&(c.return=null),a.return=null}catch(u){Tt(a,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)tT(t,e),t=t.sibling}function tT(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Or(t,e),Xr(e),r&4){try{Oc(3,e,e.return),kp(3,e)}catch(g){Tt(e,e.return,g)}try{Oc(5,e,e.return)}catch(g){Tt(e,e.return,g)}}break;case 1:Or(t,e),Xr(e),r&512&&n!==null&&jo(n,n.return);break;case 5:if(Or(t,e),Xr(e),r&512&&n!==null&&jo(n,n.return),e.flags&32){var a=e.stateNode;try{Wc(a,"")}catch(g){Tt(e,e.return,g)}}if(r&4&&(a=e.stateNode,a!=null)){var s=e.memoizedProps,o=n!==null?n.memoizedProps:s,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&s.type==="radio"&&s.name!=null&&SC(a,s),Cv(l,o);var u=Cv(l,s);for(o=0;o<c.length;o+=2){var d=c[o],f=c[o+1];d==="style"?CC(a,f):d==="dangerouslySetInnerHTML"?EC(a,f):d==="children"?Wc(a,f):lx(a,d,f,u)}switch(l){case"input":Sv(a,s);break;case"textarea":jC(a,s);break;case"select":var h=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!s.multiple;var p=s.value;p!=null?To(a,!!s.multiple,p,!1):h!==!!s.multiple&&(s.defaultValue!=null?To(a,!!s.multiple,s.defaultValue,!0):To(a,!!s.multiple,s.multiple?[]:"",!1))}a[Zc]=s}catch(g){Tt(e,e.return,g)}}break;case 6:if(Or(t,e),Xr(e),r&4){if(e.stateNode===null)throw Error(se(162));a=e.stateNode,s=e.memoizedProps;try{a.nodeValue=s}catch(g){Tt(e,e.return,g)}}break;case 3:if(Or(t,e),Xr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Kc(t.containerInfo)}catch(g){Tt(e,e.return,g)}break;case 4:Or(t,e),Xr(e);break;case 13:Or(t,e),Xr(e),a=e.child,a.flags&8192&&(s=a.memoizedState!==null,a.stateNode.isHidden=s,!s||a.alternate!==null&&a.alternate.memoizedState!==null||(Fx=Mt())),r&4&&Bk(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(yn=(u=yn)||d,Or(t,e),yn=u):Or(t,e),Xr(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(ye=e,d=e.child;d!==null;){for(f=ye=d;ye!==null;){switch(h=ye,p=h.child,h.tag){case 0:case 11:case 14:case 15:Oc(4,h,h.return);break;case 1:jo(h,h.return);var m=h.stateNode;if(typeof m.componentWillUnmount=="function"){r=h,n=h.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(g){Tt(r,n,g)}}break;case 5:jo(h,h.return);break;case 22:if(h.memoizedState!==null){Fk(f);continue}}p!==null?(p.return=h,ye=p):Fk(f)}d=d.sibling}e:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(s=a.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none"):(l=f.stateNode,c=f.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=_C("display",o))}catch(g){Tt(e,e.return,g)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(g){Tt(e,e.return,g)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;f.sibling===null;){if(f.return===null||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Or(t,e),Xr(e),r&4&&Bk(e);break;case 21:break;default:Or(t,e),Xr(e)}}function Xr(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(JA(n)){var r=n;break e}n=n.return}throw Error(se(160))}switch(r.tag){case 5:var a=r.stateNode;r.flags&32&&(Wc(a,""),r.flags&=-33);var s=Dk(e);ay(e,s,a);break;case 3:case 4:var o=r.stateNode.containerInfo,l=Dk(e);ry(e,l,o);break;default:throw Error(se(161))}}catch(c){Tt(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function OD(e,t,n){ye=e,nT(e)}function nT(e,t,n){for(var r=(e.mode&1)!==0;ye!==null;){var a=ye,s=a.child;if(a.tag===22&&r){var o=a.memoizedState!==null||Id;if(!o){var l=a.alternate,c=l!==null&&l.memoizedState!==null||yn;l=Id;var u=yn;if(Id=o,(yn=c)&&!u)for(ye=a;ye!==null;)o=ye,c=o.child,o.tag===22&&o.memoizedState!==null?Uk(a):c!==null?(c.return=o,ye=c):Uk(a);for(;s!==null;)ye=s,nT(s),s=s.sibling;ye=a,Id=l,yn=u}zk(e)}else a.subtreeFlags&8772&&s!==null?(s.return=a,ye=s):zk(e)}}function zk(e){for(;ye!==null;){var t=ye;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:yn||kp(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!yn)if(n===null)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Rr(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;s!==null&&jk(t,s,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}jk(t,o,n)}break;case 5:var l=t.stateNode;if(n===null&&t.flags&4){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&Kc(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(se(163))}yn||t.flags&512&&ny(t)}catch(h){Tt(t,t.return,h)}}if(t===e){ye=null;break}if(n=t.sibling,n!==null){n.return=t.return,ye=n;break}ye=t.return}}function Fk(e){for(;ye!==null;){var t=ye;if(t===e){ye=null;break}var n=t.sibling;if(n!==null){n.return=t.return,ye=n;break}ye=t.return}}function Uk(e){for(;ye!==null;){var t=ye;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{kp(4,t)}catch(c){Tt(t,n,c)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var a=t.return;try{r.componentDidMount()}catch(c){Tt(t,a,c)}}var s=t.return;try{ny(t)}catch(c){Tt(t,s,c)}break;case 5:var o=t.return;try{ny(t)}catch(c){Tt(t,o,c)}}}catch(c){Tt(t,t.return,c)}if(t===e){ye=null;break}var l=t.sibling;if(l!==null){l.return=t.return,ye=l;break}ye=t.return}}var PD=Math.ceil,Yf=za.ReactCurrentDispatcher,Bx=za.ReactCurrentOwner,xr=za.ReactCurrentBatchConfig,We=0,rn=null,Bt=null,un=0,Yn=0,No=Mi(0),Gt=0,au=null,Ts=0,Sp=0,zx=0,Pc=null,Ln=null,Fx=0,Ko=1/0,ka=null,Xf=!1,iy=null,ji=null,$d=!1,pi=null,Qf=0,Rc=0,sy=null,jf=-1,Nf=0;function An(){return We&6?Mt():jf!==-1?jf:jf=Mt()}function Ni(e){return e.mode&1?We&2&&un!==0?un&-un:mD.transition!==null?(Nf===0&&(Nf=zC()),Nf):(e=tt,e!==0||(e=window.event,e=e===void 0?16:KC(e.type)),e):1}function zr(e,t,n,r){if(50<Rc)throw Rc=0,sy=null,Error(se(185));Yu(e,n,r),(!(We&2)||e!==rn)&&(e===rn&&(!(We&2)&&(Sp|=n),Gt===4&&ci(e,un)),Un(e,r),n===1&&We===0&&!(t.mode&1)&&(Ko=Mt()+500,bp&&Ii()))}function Un(e,t){var n=e.callbackNode;mL(e,t);var r=Mf(e,e===rn?un:0);if(r===0)n!==null&&Q0(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Q0(n),t===1)e.tag===0?pD(Wk.bind(null,e)):fA(Wk.bind(null,e)),uD(function(){!(We&6)&&Ii()}),n=null;else{switch(FC(r)){case 1:n=hx;break;case 4:n=DC;break;case 16:n=Rf;break;case 536870912:n=BC;break;default:n=Rf}n=uT(n,rT.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function rT(e,t){if(jf=-1,Nf=0,We&6)throw Error(se(327));var n=e.callbackNode;if(Io()&&e.callbackNode!==n)return null;var r=Mf(e,e===rn?un:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Zf(e,r);else{t=r;var a=We;We|=2;var s=iT();(rn!==e||un!==t)&&(ka=null,Ko=Mt()+500,bs(e,t));do try{ID();break}catch(l){aT(e,l)}while(!0);Ex(),Yf.current=s,We=a,Bt!==null?t=0:(rn=null,un=0,t=Gt)}if(t!==0){if(t===2&&(a=Rv(e),a!==0&&(r=a,t=oy(e,a))),t===1)throw n=au,bs(e,0),ci(e,r),Un(e,Mt()),n;if(t===6)ci(e,r);else{if(a=e.current.alternate,!(r&30)&&!RD(a)&&(t=Zf(e,r),t===2&&(s=Rv(e),s!==0&&(r=s,t=oy(e,s))),t===1))throw n=au,bs(e,0),ci(e,r),Un(e,Mt()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(se(345));case 2:rs(e,Ln,ka);break;case 3:if(ci(e,r),(r&130023424)===r&&(t=Fx+500-Mt(),10<t)){if(Mf(e,0)!==0)break;if(a=e.suspendedLanes,(a&r)!==r){An(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Fv(rs.bind(null,e,Ln,ka),t);break}rs(e,Ln,ka);break;case 4:if(ci(e,r),(r&4194240)===r)break;for(t=e.eventTimes,a=-1;0<r;){var o=31-Br(r);s=1<<o,o=t[o],o>a&&(a=o),r&=~s}if(r=a,r=Mt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*PD(r/1960))-r,10<r){e.timeoutHandle=Fv(rs.bind(null,e,Ln,ka),r);break}rs(e,Ln,ka);break;case 5:rs(e,Ln,ka);break;default:throw Error(se(329))}}}return Un(e,Mt()),e.callbackNode===n?rT.bind(null,e):null}function oy(e,t){var n=Pc;return e.current.memoizedState.isDehydrated&&(bs(e,t).flags|=256),e=Zf(e,t),e!==2&&(t=Ln,Ln=n,t!==null&&ly(t)),e}function ly(e){Ln===null?Ln=e:Ln.push.apply(Ln,e)}function RD(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var a=n[r],s=a.getSnapshot;a=a.value;try{if(!Hr(s(),a))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 ci(e,t){for(t&=~zx,t&=~Sp,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Br(t),r=1<<n;e[n]=-1,t&=~r}}function Wk(e){if(We&6)throw Error(se(327));Io();var t=Mf(e,0);if(!(t&1))return Un(e,Mt()),null;var n=Zf(e,t);if(e.tag!==0&&n===2){var r=Rv(e);r!==0&&(t=r,n=oy(e,r))}if(n===1)throw n=au,bs(e,0),ci(e,t),Un(e,Mt()),n;if(n===6)throw Error(se(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,rs(e,Ln,ka),Un(e,Mt()),null}function Ux(e,t){var n=We;We|=1;try{return e(t)}finally{We=n,We===0&&(Ko=Mt()+500,bp&&Ii())}}function Os(e){pi!==null&&pi.tag===0&&!(We&6)&&Io();var t=We;We|=1;var n=xr.transition,r=tt;try{if(xr.transition=null,tt=1,e)return e()}finally{tt=r,xr.transition=n,We=t,!(We&6)&&Ii()}}function Wx(){Yn=No.current,wt(No)}function bs(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,cD(n)),Bt!==null)for(n=Bt.return;n!==null;){var r=n;switch(Sx(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Bf();break;case 3:Go(),wt(zn),wt(kn),Px();break;case 5:Ox(r);break;case 4:Go();break;case 13:wt(Et);break;case 19:wt(Et);break;case 10:_x(r.type._context);break;case 22:case 23:Wx()}n=n.return}if(rn=e,Bt=e=Ei(e.current,null),un=Yn=t,Gt=0,au=null,zx=Sp=Ts=0,Ln=Pc=null,fs!==null){for(t=0;t<fs.length;t++)if(n=fs[t],r=n.interleaved,r!==null){n.interleaved=null;var a=r.next,s=n.pending;if(s!==null){var o=s.next;s.next=a,r.next=o}n.pending=r}fs=null}return e}function aT(e,t){do{var n=Bt;try{if(Ex(),wf.current=Vf,Kf){for(var r=_t.memoizedState;r!==null;){var a=r.queue;a!==null&&(a.pending=null),r=r.next}Kf=!1}if(As=0,en=Ht=_t=null,Tc=!1,tu=0,Bx.current=null,n===null||n.return===null){Gt=1,au=t,Bt=null;break}e:{var s=e,o=n.return,l=n,c=t;if(t=un,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var u=c,d=l,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var h=d.alternate;h?(d.updateQueue=h.updateQueue,d.memoizedState=h.memoizedState,d.lanes=h.lanes):(d.updateQueue=null,d.memoizedState=null)}var p=Tk(o);if(p!==null){p.flags&=-257,Ok(p,o,l,s,t),p.mode&1&&Ak(s,u,t),t=p,c=u;var m=t.updateQueue;if(m===null){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}else{if(!(t&1)){Ak(s,u,t),Hx();break e}c=Error(se(426))}}else if(St&&l.mode&1){var y=Tk(o);if(y!==null){!(y.flags&65536)&&(y.flags|=256),Ok(y,o,l,s,t),jx(qo(c,l));break e}}s=c=qo(c,l),Gt!==4&&(Gt=2),Pc===null?Pc=[s]:Pc.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t;var v=FA(s,c,t);Sk(s,v);break e;case 1:l=c;var S=s.type,w=s.stateNode;if(!(s.flags&128)&&(typeof S.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(ji===null||!ji.has(w)))){s.flags|=65536,t&=-t,s.lanes|=t;var N=UA(s,l,t);Sk(s,N);break e}}s=s.return}while(s!==null)}oT(n)}catch(k){t=k,Bt===n&&n!==null&&(Bt=n=n.return);continue}break}while(!0)}function iT(){var e=Yf.current;return Yf.current=Vf,e===null?Vf:e}function Hx(){(Gt===0||Gt===3||Gt===2)&&(Gt=4),rn===null||!(Ts&268435455)&&!(Sp&268435455)||ci(rn,un)}function Zf(e,t){var n=We;We|=2;var r=iT();(rn!==e||un!==t)&&(ka=null,bs(e,t));do try{MD();break}catch(a){aT(e,a)}while(!0);if(Ex(),We=n,Yf.current=r,Bt!==null)throw Error(se(261));return rn=null,un=0,Gt}function MD(){for(;Bt!==null;)sT(Bt)}function ID(){for(;Bt!==null&&!sL();)sT(Bt)}function sT(e){var t=cT(e.alternate,e,Yn);e.memoizedProps=e.pendingProps,t===null?oT(e):Bt=t,Bx.current=null}function oT(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=CD(n,t),n!==null){n.flags&=32767,Bt=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Gt=6,Bt=null;return}}else if(n=_D(n,t,Yn),n!==null){Bt=n;return}if(t=t.sibling,t!==null){Bt=t;return}Bt=t=e}while(t!==null);Gt===0&&(Gt=5)}function rs(e,t,n){var r=tt,a=xr.transition;try{xr.transition=null,tt=1,$D(e,t,n,r)}finally{xr.transition=a,tt=r}return null}function $D(e,t,n,r){do Io();while(pi!==null);if(We&6)throw Error(se(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(se(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(gL(e,s),e===rn&&(Bt=rn=null,un=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||$d||($d=!0,uT(Rf,function(){return Io(),null})),s=(n.flags&15990)!==0,n.subtreeFlags&15990||s){s=xr.transition,xr.transition=null;var o=tt;tt=1;var l=We;We|=4,Bx.current=null,TD(e,n),tT(n,e),nD(Bv),If=!!Dv,Bv=Dv=null,e.current=n,OD(n),oL(),We=l,tt=o,xr.transition=s}else e.current=n;if($d&&($d=!1,pi=e,Qf=a),s=e.pendingLanes,s===0&&(ji=null),uL(n.stateNode),Un(e,Mt()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Xf)throw Xf=!1,e=iy,iy=null,e;return Qf&1&&e.tag!==0&&Io(),s=e.pendingLanes,s&1?e===sy?Rc++:(Rc=0,sy=e):Rc=0,Ii(),null}function Io(){if(pi!==null){var e=FC(Qf),t=xr.transition,n=tt;try{if(xr.transition=null,tt=16>e?16:e,pi===null)var r=!1;else{if(e=pi,pi=null,Qf=0,We&6)throw Error(se(331));var a=We;for(We|=4,ye=e.current;ye!==null;){var s=ye,o=s.child;if(ye.flags&16){var l=s.deletions;if(l!==null){for(var c=0;c<l.length;c++){var u=l[c];for(ye=u;ye!==null;){var d=ye;switch(d.tag){case 0:case 11:case 15:Oc(8,d,s)}var f=d.child;if(f!==null)f.return=d,ye=f;else for(;ye!==null;){d=ye;var h=d.sibling,p=d.return;if(ZA(d),d===u){ye=null;break}if(h!==null){h.return=p,ye=h;break}ye=p}}}var m=s.alternate;if(m!==null){var g=m.child;if(g!==null){m.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(g!==null)}}ye=s}}if(s.subtreeFlags&2064&&o!==null)o.return=s,ye=o;else e:for(;ye!==null;){if(s=ye,s.flags&2048)switch(s.tag){case 0:case 11:case 15:Oc(9,s,s.return)}var v=s.sibling;if(v!==null){v.return=s.return,ye=v;break e}ye=s.return}}var S=e.current;for(ye=S;ye!==null;){o=ye;var w=o.child;if(o.subtreeFlags&2064&&w!==null)w.return=o,ye=w;else e:for(o=S;ye!==null;){if(l=ye,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:kp(9,l)}}catch(k){Tt(l,l.return,k)}if(l===o){ye=null;break e}var N=l.sibling;if(N!==null){N.return=l.return,ye=N;break e}ye=l.return}}if(We=a,Ii(),aa&&typeof aa.onPostCommitFiberRoot=="function")try{aa.onPostCommitFiberRoot(pp,e)}catch{}r=!0}return r}finally{tt=n,xr.transition=t}}return!1}function Hk(e,t,n){t=qo(n,t),t=FA(e,t,1),e=Si(e,t,1),t=An(),e!==null&&(Yu(e,1,t),Un(e,t))}function Tt(e,t,n){if(e.tag===3)Hk(e,e,n);else for(;t!==null;){if(t.tag===3){Hk(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ji===null||!ji.has(r))){e=qo(n,e),e=UA(t,e,1),t=Si(t,e,1),e=An(),t!==null&&(Yu(t,1,e),Un(t,e));break}}t=t.return}}function LD(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=An(),e.pingedLanes|=e.suspendedLanes&n,rn===e&&(un&n)===n&&(Gt===4||Gt===3&&(un&130023424)===un&&500>Mt()-Fx?bs(e,0):zx|=n),Un(e,t)}function lT(e,t){t===0&&(e.mode&1?(t=Ed,Ed<<=1,!(Ed&130023424)&&(Ed=4194304)):t=1);var n=An();e=Ia(e,t),e!==null&&(Yu(e,t,n),Un(e,n))}function DD(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),lT(e,n)}function BD(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(se(314))}r!==null&&r.delete(t),lT(e,n)}var cT;cT=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||zn.current)Dn=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dn=!1,ED(e,t,n);Dn=!!(e.flags&131072)}else Dn=!1,St&&t.flags&1048576&&hA(t,Uf,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Sf(e,t),e=t.pendingProps;var a=Uo(t,kn.current);Mo(t,n),a=Mx(null,t,r,e,a,n);var s=Ix();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Fn(r)?(s=!0,zf(t)):s=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Ax(t),a.updater=wp,t.stateNode=a,a._reactInternals=t,Vv(t,r,e,n),t=Qv(null,t,r,!0,s,n)):(t.tag=0,St&&s&&kx(t),En(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Sf(e,t),e=t.pendingProps,a=r._init,r=a(r._payload),t.type=r,a=t.tag=FD(r),e=Rr(r,e),a){case 0:t=Xv(null,t,r,e,n);break e;case 1:t=Mk(null,t,r,e,n);break e;case 11:t=Pk(null,t,r,e,n);break e;case 14:t=Rk(null,t,r,Rr(r.type,e),n);break e}throw Error(se(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Rr(r,a),Xv(e,t,r,a,n);case 1:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Rr(r,a),Mk(e,t,r,a,n);case 3:e:{if(qA(t),e===null)throw Error(se(387));r=t.pendingProps,s=t.memoizedState,a=s.element,bA(e,t),Gf(t,r,null,n);var o=t.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){a=qo(Error(se(423)),t),t=Ik(e,t,r,n,a);break e}else if(r!==a){a=qo(Error(se(424)),t),t=Ik(e,t,r,n,a);break e}else for(Zn=ki(t.stateNode.containerInfo.firstChild),Jn=t,St=!0,$r=null,n=vA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Wo(),r===a){t=$a(e,t,n);break e}En(e,t,r,n)}t=t.child}return t;case 5:return xA(t),e===null&&Gv(t),r=t.type,a=t.pendingProps,s=e!==null?e.memoizedProps:null,o=a.children,zv(r,a)?o=null:s!==null&&zv(r,s)&&(t.flags|=32),GA(e,t),En(e,t,o,n),t.child;case 6:return e===null&&Gv(t),null;case 13:return KA(e,t,n);case 4:return Tx(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ho(t,null,r,n):En(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Rr(r,a),Pk(e,t,r,a,n);case 7:return En(e,t,t.pendingProps,n),t.child;case 8:return En(e,t,t.pendingProps.children,n),t.child;case 12:return En(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,s=t.memoizedProps,o=a.value,ht(Wf,r._currentValue),r._currentValue=o,s!==null)if(Hr(s.value,o)){if(s.children===a.children&&!zn.current){t=$a(e,t,n);break e}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var c=l.firstContext;c!==null;){if(c.context===r){if(s.tag===1){c=Aa(-1,n&-n),c.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),qv(s.return,n,t),l.lanes|=n;break}c=c.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(se(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),qv(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}En(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Mo(t,n),a=kr(a),r=r(a),t.flags|=1,En(e,t,r,n),t.child;case 14:return r=t.type,a=Rr(r,t.pendingProps),a=Rr(r.type,a),Rk(e,t,r,a,n);case 15:return WA(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Rr(r,a),Sf(e,t),t.tag=1,Fn(r)?(e=!0,zf(t)):e=!1,Mo(t,n),zA(t,r,a),Vv(t,r,a,n),Qv(null,t,r,!0,e,n);case 19:return VA(e,t,n);case 22:return HA(e,t,n)}throw Error(se(156,t.tag))};function uT(e,t){return LC(e,t)}function zD(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.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 yr(e,t,n,r){return new zD(e,t,n,r)}function Gx(e){return e=e.prototype,!(!e||!e.isReactComponent)}function FD(e){if(typeof e=="function")return Gx(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ux)return 11;if(e===dx)return 14}return 2}function Ei(e,t){var n=e.alternate;return n===null?(n=yr(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&14680064,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}function Ef(e,t,n,r,a,s){var o=2;if(r=e,typeof e=="function")Gx(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case mo:return xs(n.children,a,s,t);case cx:o=8,a|=8;break;case yv:return e=yr(12,n,t,a|2),e.elementType=yv,e.lanes=s,e;case bv:return e=yr(13,n,t,a),e.elementType=bv,e.lanes=s,e;case xv:return e=yr(19,n,t,a),e.elementType=xv,e.lanes=s,e;case xC:return jp(n,a,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case yC:o=10;break e;case bC:o=9;break e;case ux:o=11;break e;case dx:o=14;break e;case ii:o=16,r=null;break e}throw Error(se(130,e==null?e:typeof e,""))}return t=yr(o,n,t,a),t.elementType=e,t.type=r,t.lanes=s,t}function xs(e,t,n,r){return e=yr(7,e,r,t),e.lanes=n,e}function jp(e,t,n,r){return e=yr(22,e,r,t),e.elementType=xC,e.lanes=n,e.stateNode={isHidden:!1},e}function ag(e,t,n){return e=yr(6,e,null,t),e.lanes=n,e}function ig(e,t,n){return t=yr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function UD(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bm(0),this.expirationTimes=Bm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bm(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function qx(e,t,n,r,a,s,o,l,c){return e=new UD(e,t,n,l,c),t===1?(t=1,s===!0&&(t|=8)):t=0,s=yr(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ax(s),e}function WD(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:po,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function dT(e){if(!e)return Oi;e=e._reactInternals;e:{if(Bs(e)!==e||e.tag!==1)throw Error(se(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Fn(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(se(171))}if(e.tag===1){var n=e.type;if(Fn(n))return dA(e,n,t)}return t}function fT(e,t,n,r,a,s,o,l,c){return e=qx(n,r,!0,e,a,s,o,l,c),e.context=dT(null),n=e.current,r=An(),a=Ni(n),s=Aa(r,a),s.callback=t??null,Si(n,s,a),e.current.lanes=a,Yu(e,a,r),Un(e,r),e}function Np(e,t,n,r){var a=t.current,s=An(),o=Ni(a);return n=dT(n),t.context===null?t.context=n:t.pendingContext=n,t=Aa(s,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Si(a,t,o),e!==null&&(zr(e,a,o,s),xf(e,a,o)),o}function Jf(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Gk(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Kx(e,t){Gk(e,t),(e=e.alternate)&&Gk(e,t)}function HD(){return null}var hT=typeof reportError=="function"?reportError:function(e){console.error(e)};function Vx(e){this._internalRoot=e}Ep.prototype.render=Vx.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(se(409));Np(e,t,null,null)};Ep.prototype.unmount=Vx.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Os(function(){Np(null,e,null,null)}),t[Ma]=null}};function Ep(e){this._internalRoot=e}Ep.prototype.unstable_scheduleHydration=function(e){if(e){var t=HC();e={blockedOn:null,target:e,priority:t};for(var n=0;n<li.length&&t!==0&&t<li[n].priority;n++);li.splice(n,0,e),n===0&&qC(e)}};function Yx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function _p(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function qk(){}function GD(e,t,n,r,a){if(a){if(typeof r=="function"){var s=r;r=function(){var u=Jf(o);s.call(u)}}var o=fT(t,r,e,0,null,!1,!1,"",qk);return e._reactRootContainer=o,e[Ma]=o.current,Xc(e.nodeType===8?e.parentNode:e),Os(),o}for(;a=e.lastChild;)e.removeChild(a);if(typeof r=="function"){var l=r;r=function(){var u=Jf(c);l.call(u)}}var c=qx(e,0,!1,null,null,!1,!1,"",qk);return e._reactRootContainer=c,e[Ma]=c.current,Xc(e.nodeType===8?e.parentNode:e),Os(function(){Np(t,c,n,r)}),c}function Cp(e,t,n,r,a){var s=n._reactRootContainer;if(s){var o=s;if(typeof a=="function"){var l=a;a=function(){var c=Jf(o);l.call(c)}}Np(t,o,e,a)}else o=GD(n,t,e,a,r);return Jf(o)}UC=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=xc(t.pendingLanes);n!==0&&(px(t,n|1),Un(t,Mt()),!(We&6)&&(Ko=Mt()+500,Ii()))}break;case 13:Os(function(){var r=Ia(e,1);if(r!==null){var a=An();zr(r,e,1,a)}}),Kx(e,1)}};mx=function(e){if(e.tag===13){var t=Ia(e,134217728);if(t!==null){var n=An();zr(t,e,134217728,n)}Kx(e,134217728)}};WC=function(e){if(e.tag===13){var t=Ni(e),n=Ia(e,t);if(n!==null){var r=An();zr(n,e,t,r)}Kx(e,t)}};HC=function(){return tt};GC=function(e,t){var n=tt;try{return tt=e,t()}finally{tt=n}};Tv=function(e,t,n){switch(t){case"input":if(Sv(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=yp(r);if(!a)throw Error(se(90));kC(r),Sv(r,a)}}}break;case"textarea":jC(e,n);break;case"select":t=n.value,t!=null&&To(e,!!n.multiple,t,!1)}};OC=Ux;PC=Os;var qD={usingClientEntryPoint:!1,Events:[Qu,bo,yp,AC,TC,Ux]},rc={findFiberByHostInstance:ds,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},KD={bundleType:rc.bundleType,version:rc.version,rendererPackageName:rc.rendererPackageName,rendererConfig:rc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:za.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=IC(e),e===null?null:e.stateNode},findFiberByHostInstance:rc.findFiberByHostInstance||HD,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ld=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ld.isDisabled&&Ld.supportsFiber)try{pp=Ld.inject(KD),aa=Ld}catch{}}rr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qD;rr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Yx(t))throw Error(se(200));return WD(e,t,null,n)};rr.createRoot=function(e,t){if(!Yx(e))throw Error(se(299));var n=!1,r="",a=hT;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=qx(e,1,!1,null,null,n,!1,r,a),e[Ma]=t.current,Xc(e.nodeType===8?e.parentNode:e),new Vx(t)};rr.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(se(188)):(e=Object.keys(e).join(","),Error(se(268,e)));return e=IC(t),e=e===null?null:e.stateNode,e};rr.flushSync=function(e){return Os(e)};rr.hydrate=function(e,t,n){if(!_p(t))throw Error(se(200));return Cp(null,e,t,!0,n)};rr.hydrateRoot=function(e,t,n){if(!Yx(e))throw Error(se(405));var r=n!=null&&n.hydratedSources||null,a=!1,s="",o=hT;if(n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=fT(t,null,e,1,n??null,a,!1,s,o),e[Ma]=t.current,Xc(e),r)for(e=0;e<r.length;e++)n=r[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Ep(t)};rr.render=function(e,t,n){if(!_p(t))throw Error(se(200));return Cp(null,e,t,!1,n)};rr.unmountComponentAtNode=function(e){if(!_p(e))throw Error(se(40));return e._reactRootContainer?(Os(function(){Cp(null,null,e,!1,function(){e._reactRootContainer=null,e[Ma]=null})}),!0):!1};rr.unstable_batchedUpdates=Ux;rr.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!_p(n))throw Error(se(200));if(e==null||e._reactInternals===void 0)throw Error(se(38));return Cp(e,t,n,!1,r)};rr.version="18.3.1-next-f1338f8080-20240426";function pT(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pT)}catch(e){console.error(e)}}pT(),pC.exports=rr;var VD=pC.exports,mT,Kk=VD;mT=Kk.createRoot,Kk.hydrateRoot;/**
|
|
41
|
-
* @remix-run/router v1.23.3
|
|
42
|
-
*
|
|
43
|
-
* Copyright (c) Remix Software Inc.
|
|
44
|
-
*
|
|
45
|
-
* This source code is licensed under the MIT license found in the
|
|
46
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
47
|
-
*
|
|
48
|
-
* @license MIT
|
|
49
|
-
*/function iu(){return iu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},iu.apply(null,arguments)}var mi;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(mi||(mi={}));const Vk="popstate";function YD(e){e===void 0&&(e={});function t(r,a){let{pathname:s,search:o,hash:l}=r.location;return cy("",{pathname:s,search:o,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function n(r,a){return typeof a=="string"?a:eh(a)}return QD(t,n,null,e)}function Ct(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Xx(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function XD(){return Math.random().toString(36).substr(2,8)}function Yk(e,t){return{usr:e.state,key:e.key,idx:t}}function cy(e,t,n,r){return n===void 0&&(n=null),iu({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?wl(t):t,{state:n,key:t&&t.key||r||XD()})}function eh(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function wl(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function QD(e,t,n,r){r===void 0&&(r={});let{window:a=document.defaultView,v5Compat:s=!1}=r,o=a.history,l=mi.Pop,c=null,u=d();u==null&&(u=0,o.replaceState(iu({},o.state,{idx:u}),""));function d(){return(o.state||{idx:null}).idx}function f(){l=mi.Pop;let y=d(),v=y==null?null:y-u;u=y,c&&c({action:l,location:g.location,delta:v})}function h(y,v){l=mi.Push;let S=cy(g.location,y,v);u=d()+1;let w=Yk(S,u),N=g.createHref(S);try{o.pushState(w,"",N)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;a.location.assign(N)}s&&c&&c({action:l,location:g.location,delta:1})}function p(y,v){l=mi.Replace;let S=cy(g.location,y,v);u=d();let w=Yk(S,u),N=g.createHref(S);o.replaceState(w,"",N),s&&c&&c({action:l,location:g.location,delta:0})}function m(y){let v=a.location.origin!=="null"?a.location.origin:a.location.href,S=typeof y=="string"?y:eh(y);return S=S.replace(/ $/,"%20"),Ct(v,"No window.location.(origin|href) available to create URL for href: "+S),new URL(S,v)}let g={get action(){return l},get location(){return e(a,o)},listen(y){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(Vk,f),c=y,()=>{a.removeEventListener(Vk,f),c=null}},createHref(y){return t(a,y)},createURL:m,encodeLocation(y){let v=m(y);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:h,replace:p,go(y){return o.go(y)}};return g}var Xk;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Xk||(Xk={}));function ZD(e,t,n){return n===void 0&&(n="/"),JD(e,t,n)}function JD(e,t,n,r){let a=typeof t=="string"?wl(t):t,s=Vo(a.pathname||"/",n);if(s==null)return null;let o=gT(e);e2(o);let l=null,c=d2(s);for(let u=0;l==null&&u<o.length;++u)l=c2(o[u],c);return l}function gT(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let a=(s,o,l)=>{let c={relativePath:l===void 0?s.path||"":l,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};c.relativePath.startsWith("/")&&(Ct(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let u=_i([r,c.relativePath]),d=n.concat(c);s.children&&s.children.length>0&&(Ct(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),gT(s.children,t,d,u)),!(s.path==null&&!s.index)&&t.push({path:u,score:o2(u,s.index),routesMeta:d})};return e.forEach((s,o)=>{var l;if(s.path===""||!((l=s.path)!=null&&l.includes("?")))a(s,o);else for(let c of vT(s.path))a(s,o,c)}),t}function vT(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return a?[s,""]:[s];let o=vT(r.join("/")),l=[];return l.push(...o.map(c=>c===""?s:[s,c].join("/"))),a&&l.push(...o),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function e2(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:l2(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const t2=/^:[\w-]+$/,n2=3,r2=2,a2=1,i2=10,s2=-2,Qk=e=>e==="*";function o2(e,t){let n=e.split("/"),r=n.length;return n.some(Qk)&&(r+=s2),t&&(r+=r2),n.filter(a=>!Qk(a)).reduce((a,s)=>a+(t2.test(s)?n2:s===""?a2:i2),r)}function l2(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function c2(e,t,n){let{routesMeta:r}=e,a={},s="/",o=[];for(let l=0;l<r.length;++l){let c=r[l],u=l===r.length-1,d=s==="/"?t:t.slice(s.length)||"/",f=uy({path:c.relativePath,caseSensitive:c.caseSensitive,end:u},d),h=c.route;if(!f)return null;Object.assign(a,f.params),o.push({params:a,pathname:_i([s,f.pathname]),pathnameBase:g2(_i([s,f.pathnameBase])),route:h}),f.pathnameBase!=="/"&&(s=_i([s,f.pathnameBase]))}return o}function uy(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=u2(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let s=a[0],o=s.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((u,d,f)=>{let{paramName:h,isOptional:p}=d;if(h==="*"){let g=l[f]||"";o=s.slice(0,s.length-g.length).replace(/(.)\/+$/,"$1")}const m=l[f];return p&&!m?u[h]=void 0:u[h]=(m||"").replace(/%2F/g,"/"),u},{}),pathname:s,pathnameBase:o,pattern:e}}function u2(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Xx(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function d2(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Xx(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Vo(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const f2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,h2=e=>f2.test(e);function p2(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?wl(e):e,s;if(n)if(h2(n))s=n;else{if(n.includes("//")){let o=n;n=yT(n),Xx(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+n))}n.startsWith("/")?s=Zk(n.substring(1),"/"):s=Zk(n,t)}else s=t;return{pathname:s,search:v2(r),hash:y2(a)}}function Zk(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function sg(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function m2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Qx(e,t){let n=m2(e);return t?n.map((r,a)=>a===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Zx(e,t,n,r){r===void 0&&(r=!1);let a;typeof e=="string"?a=wl(e):(a=iu({},e),Ct(!a.pathname||!a.pathname.includes("?"),sg("?","pathname","search",a)),Ct(!a.pathname||!a.pathname.includes("#"),sg("#","pathname","hash",a)),Ct(!a.search||!a.search.includes("#"),sg("#","search","hash",a)));let s=e===""||a.pathname==="",o=s?"/":a.pathname,l;if(o==null)l=n;else{let f=t.length-1;if(!r&&o.startsWith("..")){let h=o.split("/");for(;h[0]==="..";)h.shift(),f-=1;a.pathname=h.join("/")}l=f>=0?t[f]:"/"}let c=p2(a,l),u=o&&o!=="/"&&o.endsWith("/"),d=(s||o===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const yT=e=>e.replace(/\/\/+/g,"/"),_i=e=>yT(e.join("/")),g2=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),v2=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,y2=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function b2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const bT=["post","put","patch","delete"];new Set(bT);const x2=["get",...bT];new Set(x2);/**
|
|
50
|
-
* React Router v6.30.4
|
|
51
|
-
*
|
|
52
|
-
* Copyright (c) Remix Software Inc.
|
|
53
|
-
*
|
|
54
|
-
* This source code is licensed under the MIT license found in the
|
|
55
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
56
|
-
*
|
|
57
|
-
* @license MIT
|
|
58
|
-
*/function su(){return su=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},su.apply(null,arguments)}const Ap=b.createContext(null),xT=b.createContext(null),Fa=b.createContext(null),Tp=b.createContext(null),$i=b.createContext({outlet:null,matches:[],isDataRoute:!1}),wT=b.createContext(null);function w2(e,t){let{relative:n}=t===void 0?{}:t;kl()||Ct(!1);let{basename:r,navigator:a}=b.useContext(Fa),{hash:s,pathname:o,search:l}=Op(e,{relative:n}),c=o;return r!=="/"&&(c=o==="/"?r:_i([r,o])),a.createHref({pathname:c,search:l,hash:s})}function kl(){return b.useContext(Tp)!=null}function Li(){return kl()||Ct(!1),b.useContext(Tp).location}function kT(e){b.useContext(Fa).static||b.useLayoutEffect(e)}function Jx(){let{isDataRoute:e}=b.useContext($i);return e?M2():k2()}function k2(){kl()||Ct(!1);let e=b.useContext(Ap),{basename:t,future:n,navigator:r}=b.useContext(Fa),{matches:a}=b.useContext($i),{pathname:s}=Li(),o=JSON.stringify(Qx(a,n.v7_relativeSplatPath)),l=b.useRef(!1);return kT(()=>{l.current=!0}),b.useCallback(function(u,d){if(d===void 0&&(d={}),!l.current)return;if(typeof u=="number"){r.go(u);return}let f=Zx(u,JSON.parse(o),s,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:_i([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,o,s,e])}function Op(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=b.useContext(Fa),{matches:a}=b.useContext($i),{pathname:s}=Li(),o=JSON.stringify(Qx(a,r.v7_relativeSplatPath));return b.useMemo(()=>Zx(e,JSON.parse(o),s,n==="path"),[e,o,s,n])}function S2(e,t){return j2(e,t)}function j2(e,t,n,r){kl()||Ct(!1);let{navigator:a}=b.useContext(Fa),{matches:s}=b.useContext($i),o=s[s.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let u=Li(),d;if(t){var f;let y=typeof t=="string"?wl(t):t;c==="/"||(f=y.pathname)!=null&&f.startsWith(c)||Ct(!1),d=y}else d=u;let h=d.pathname||"/",p=h;if(c!=="/"){let y=c.replace(/^\//,"").split("/");p="/"+h.replace(/^\//,"").split("/").slice(y.length).join("/")}let m=ZD(e,{pathname:p}),g=A2(m&&m.map(y=>Object.assign({},y,{params:Object.assign({},l,y.params),pathname:_i([c,a.encodeLocation?a.encodeLocation(y.pathname).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?c:_i([c,a.encodeLocation?a.encodeLocation(y.pathnameBase).pathname:y.pathnameBase])})),s,n,r);return t&&g?b.createElement(Tp.Provider,{value:{location:su({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:mi.Pop}},g):g}function N2(){let e=R2(),t=b2(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},t),n?b.createElement("pre",{style:a},n):null,null)}const E2=b.createElement(N2,null);class _2 extends b.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?b.createElement($i.Provider,{value:this.props.routeContext},b.createElement(wT.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function C2(e){let{routeContext:t,match:n,children:r}=e,a=b.useContext(Ap);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),b.createElement($i.Provider,{value:t},r)}function A2(e,t,n,r){var a;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var s;if(!n)return null;if(n.errors)e=n.matches;else if((s=r)!=null&&s.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,l=(a=n)==null?void 0:a.errors;if(l!=null){let d=o.findIndex(f=>f.route.id&&(l==null?void 0:l[f.route.id])!==void 0);d>=0||Ct(!1),o=o.slice(0,Math.min(o.length,d+1))}let c=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d<o.length;d++){let f=o[d];if((f.route.HydrateFallback||f.route.hydrateFallbackElement)&&(u=d),f.route.id){let{loaderData:h,errors:p}=n,m=f.route.loader&&h[f.route.id]===void 0&&(!p||p[f.route.id]===void 0);if(f.route.lazy||m){c=!0,u>=0?o=o.slice(0,u+1):o=[o[0]];break}}}return o.reduceRight((d,f,h)=>{let p,m=!1,g=null,y=null;n&&(p=l&&f.route.id?l[f.route.id]:void 0,g=f.route.errorElement||E2,c&&(u<0&&h===0?(I2("route-fallback"),m=!0,y=null):u===h&&(m=!0,y=f.route.hydrateFallbackElement||null)));let v=t.concat(o.slice(0,h+1)),S=()=>{let w;return p?w=g:m?w=y:f.route.Component?w=b.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,b.createElement(C2,{match:f,routeContext:{outlet:d,matches:v,isDataRoute:n!=null},children:w})};return n&&(f.route.ErrorBoundary||f.route.errorElement||h===0)?b.createElement(_2,{location:n.location,revalidation:n.revalidation,component:g,error:p,children:S(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):S()},null)}var ST=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(ST||{}),jT=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(jT||{});function T2(e){let t=b.useContext(Ap);return t||Ct(!1),t}function O2(e){let t=b.useContext(xT);return t||Ct(!1),t}function P2(e){let t=b.useContext($i);return t||Ct(!1),t}function NT(e){let t=P2(),n=t.matches[t.matches.length-1];return n.route.id||Ct(!1),n.route.id}function R2(){var e;let t=b.useContext(wT),n=O2(),r=NT();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function M2(){let{router:e}=T2(ST.UseNavigateStable),t=NT(jT.UseNavigateStable),n=b.useRef(!1);return kT(()=>{n.current=!0}),b.useCallback(function(a,s){s===void 0&&(s={}),n.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,su({fromRouteId:t},s)))},[e,t])}const Jk={};function I2(e,t,n){Jk[e]||(Jk[e]=!0)}function $2(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function eS(e){let{to:t,replace:n,state:r,relative:a}=e;kl()||Ct(!1);let{future:s,static:o}=b.useContext(Fa),{matches:l}=b.useContext($i),{pathname:c}=Li(),u=Jx(),d=Zx(t,Qx(l,s.v7_relativeSplatPath),c,a==="path"),f=JSON.stringify(d);return b.useEffect(()=>u(JSON.parse(f),{replace:n,state:r,relative:a}),[u,f,a,n,r]),null}function Ue(e){Ct(!1)}function L2(e){let{basename:t="/",children:n=null,location:r,navigationType:a=mi.Pop,navigator:s,static:o=!1,future:l}=e;kl()&&Ct(!1);let c=t.replace(/^\/*/,"/"),u=b.useMemo(()=>({basename:c,navigator:s,static:o,future:su({v7_relativeSplatPath:!1},l)}),[c,l,s,o]);typeof r=="string"&&(r=wl(r));let{pathname:d="/",search:f="",hash:h="",state:p=null,key:m="default"}=r,g=b.useMemo(()=>{let y=Vo(d,c);return y==null?null:{location:{pathname:y,search:f,hash:h,state:p,key:m},navigationType:a}},[c,d,f,h,p,m,a]);return g==null?null:b.createElement(Fa.Provider,{value:u},b.createElement(Tp.Provider,{children:n,value:g}))}function D2(e){let{children:t,location:n}=e;return S2(dy(t),n)}new Promise(()=>{});function dy(e,t){t===void 0&&(t=[]);let n=[];return b.Children.forEach(e,(r,a)=>{if(!b.isValidElement(r))return;let s=[...t,a];if(r.type===b.Fragment){n.push.apply(n,dy(r.props.children,s));return}r.type!==Ue&&Ct(!1),!r.props.index||!r.props.children||Ct(!1);let o={id:r.props.id||s.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=dy(r.props.children,s)),n.push(o)}),n}/**
|
|
59
|
-
* React Router DOM v6.30.4
|
|
60
|
-
*
|
|
61
|
-
* Copyright (c) Remix Software Inc.
|
|
62
|
-
*
|
|
63
|
-
* This source code is licensed under the MIT license found in the
|
|
64
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
65
|
-
*
|
|
66
|
-
* @license MIT
|
|
67
|
-
*/function th(){return th=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},th.apply(null,arguments)}function ET(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function B2(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function z2(e,t){return e.button===0&&(!t||t==="_self")&&!B2(e)}const F2=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],U2=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],W2="6";try{window.__reactRouterVersion=W2}catch{}const H2=b.createContext({isTransitioning:!1}),G2="startTransition",tS=L$[G2];function q2(e){let{basename:t,children:n,future:r,window:a}=e,s=b.useRef();s.current==null&&(s.current=YD({window:a,v5Compat:!0}));let o=s.current,[l,c]=b.useState({action:o.action,location:o.location}),{v7_startTransition:u}=r||{},d=b.useCallback(f=>{u&&tS?tS(()=>c(f)):c(f)},[c,u]);return b.useLayoutEffect(()=>o.listen(d),[o,d]),b.useEffect(()=>$2(r),[r]),b.createElement(L2,{basename:t,children:n,location:l.location,navigationType:l.action,navigator:o,future:r})}const K2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",V2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,tn=b.forwardRef(function(t,n){let{onClick:r,relative:a,reloadDocument:s,replace:o,state:l,target:c,to:u,preventScrollReset:d,viewTransition:f}=t,h=ET(t,F2),{basename:p}=b.useContext(Fa),m,g=!1;if(typeof u=="string"&&V2.test(u)&&(m=u,K2))try{let w=new URL(window.location.href),N=u.startsWith("//")?new URL(w.protocol+u):new URL(u),k=Vo(N.pathname,p);N.origin===w.origin&&k!=null?u=k+N.search+N.hash:g=!0}catch{}let y=w2(u,{relative:a}),v=X2(u,{replace:o,state:l,target:c,preventScrollReset:d,relative:a,viewTransition:f});function S(w){r&&r(w),w.defaultPrevented||v(w)}return b.createElement("a",th({},h,{href:m||y,onClick:g||s?r:S,ref:n,target:c}))}),nS=b.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:a=!1,className:s="",end:o=!1,style:l,to:c,viewTransition:u,children:d}=t,f=ET(t,U2),h=Op(c,{relative:f.relative}),p=Li(),m=b.useContext(xT),{navigator:g,basename:y}=b.useContext(Fa),v=m!=null&&Q2(h)&&u===!0,S=g.encodeLocation?g.encodeLocation(h).pathname:h.pathname,w=p.pathname,N=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(w=w.toLowerCase(),N=N?N.toLowerCase():null,S=S.toLowerCase()),N&&y&&(N=Vo(N,y)||N);const k=S!=="/"&&S.endsWith("/")?S.length-1:S.length;let x=w===S||!o&&w.startsWith(S)&&w.charAt(k)==="/",j=N!=null&&(N===S||!o&&N.startsWith(S)&&N.charAt(S.length)==="/"),_={isActive:x,isPending:j,isTransitioning:v},O=x?r:void 0,C;typeof s=="function"?C=s(_):C=[s,x?"active":null,j?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let P=typeof l=="function"?l(_):l;return b.createElement(tn,th({},f,{"aria-current":O,className:C,ref:n,style:P,to:c,viewTransition:u}),typeof d=="function"?d(_):d)});var fy;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(fy||(fy={}));var rS;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(rS||(rS={}));function Y2(e){let t=b.useContext(Ap);return t||Ct(!1),t}function X2(e,t){let{target:n,replace:r,state:a,preventScrollReset:s,relative:o,viewTransition:l}=t===void 0?{}:t,c=Jx(),u=Li(),d=Op(e,{relative:o});return b.useCallback(f=>{if(z2(f,n)){f.preventDefault();let h=r!==void 0?r:eh(u)===eh(d);c(e,{replace:h,state:a,preventScrollReset:s,relative:o,viewTransition:l})}},[u,c,d,r,a,n,e,s,o,l])}function Q2(e,t){t===void 0&&(t={});let n=b.useContext(H2);n==null&&Ct(!1);let{basename:r}=Y2(fy.useViewTransitionState),a=Op(e,{relative:t.relative});if(!n.isTransitioning)return!1;let s=Vo(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=Vo(n.nextLocation.pathname,r)||n.nextLocation.pathname;return uy(a.pathname,o)!=null||uy(a.pathname,s)!=null}async function it(e){if(!e.ok)return null;const t=e.headers.get("content-type")||"";if(!t.includes("application/json")&&!t.includes("text/json"))return t.includes("text/html")&&console.warn(`[dashboard] GET ${e.url||"/api/*"} returned HTML (${e.status}) instead of JSON — the dashboard server may be an older version. Stop it and start it again (agent-nuvira dashboard stop, or Ctrl+C in its terminal).`),null;try{return await e.json()}catch{return null}}const Eo="buff-dashboard-admin-token";function _T(){try{if(typeof window<"u"&&window.localStorage)return window.localStorage}catch{}return null}function Z2(e){if(!e||typeof e!="object")return!1;const t=e,n=t.diff;return typeof t.dir=="string"&&typeof t.base=="string"&&typeof t.removed=="boolean"&&!!n&&typeof n=="object"&&Array.isArray(n.files)&&n.files.every(r=>typeof r=="string")&&typeof n.summary=="string"&&!!n.payload&&typeof n.payload=="object"&&typeof n.payload.summary=="string"&&Array.isArray(n.payload.files)&&n.payload.files.every(r=>!!r&&typeof r.path=="string"&&typeof r.body=="string")}function J2(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.replayed=="number"&&typeof t.modelCalls=="number"&&typeof t.saved=="boolean"&&typeof t.notice=="string"&&(t.callsAvoided===void 0||typeof t.callsAvoided=="number")}function eB(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.goal=="string"&&typeof t.planned=="boolean"&&Array.isArray(t.steps)&&!!t.stepCounts&&typeof t.stepCounts=="object"&&typeof t.stepCounts.total=="number"&&typeof t.verification=="string"&&["verified","unverified","blocked","not-applicable","delivered-and-read-back"].includes(t.verification)&&(t.summary===null||typeof t.summary=="string")&&Array.isArray(t.changedPaths)&&!!t.flags&&typeof t.flags=="object"}const hy=new Map;function tB(){const e=_T();if(e)try{const t=e.getItem(Eo);if(t)return t}catch{}return hy.get(Eo)??null}function nB(e){const t=_T();if(t)try{e?t.setItem(Eo,e):t.removeItem(Eo);return}catch{}e?hy.set(Eo,e):hy.delete(Eo)}function Zt(){return tB()}let py=0;const my=new Set;function rB(){return py}function aB(e){return my.add(e),()=>{my.delete(e)}}function iB(){py+=1;for(const e of my)try{e(py)}catch{}}function og(e){nB(e),iB()}function gt(){const e=Zt();return e?{Authorization:`Bearer ${e}`}:{}}class sB{constructor(t=""){Yr(this,"sse",null);Yr(this,"listeners",new Set);Yr(this,"connectionListeners",new Set);Yr(this,"dagListeners",new Set);Yr(this,"typingListeners",new Set);Yr(this,"chatRetryListeners",new Set);Yr(this,"reconnectTimer",null);Yr(this,"baseUrl");Yr(this,"lastData",null);this.baseUrl=t}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}onConnectionChange(t){return this.connectionListeners.add(t),()=>this.connectionListeners.delete(t)}onDAGEvent(t){return this.dagListeners.add(t),()=>this.dagListeners.delete(t)}onTypingEvent(t){return this.typingListeners.add(t),()=>this.typingListeners.delete(t)}onChatRetryEvent(t){return this.chatRetryListeners.add(t),()=>this.chatRetryListeners.delete(t)}connect(){this.sse||(this.sse=new EventSource(`${this.baseUrl}/api/sse`),this.sse.addEventListener("init",t=>{try{const n=JSON.parse(t.data);this.lastData=n,this.notify(n),this.notifyConnection(!0)}catch(n){console.error("Failed to parse SSE init data:",n)}}),this.sse.addEventListener("refresh",t=>{try{const n=JSON.parse(t.data);this.lastData=n,this.notify(n),this.notifyConnection(!0)}catch(n){console.error("Failed to parse SSE refresh data:",n)}}),this.sse.addEventListener("dag",t=>{try{const n=JSON.parse(t.data);if(this.notifyDAG(n),this.lastData){const r={...this.lastData,dag:n};this.lastData=r,this.notify(r)}}catch(n){console.error("Failed to parse SSE dag event:",n)}}),this.sse.addEventListener("quota",t=>{try{const n=JSON.parse(t.data);if(this.lastData&&n.quota){const r={...this.lastData,routing:{...this.lastData.routing||{},quota:n.quota},serverTime:n.serverTime||this.lastData.serverTime};this.lastData=r,this.notify(r)}}catch(n){console.error("Failed to parse SSE quota event:",n)}}),this.sse.addEventListener("conversation",t=>{try{const n=JSON.parse(t.data);if(this.lastData&&n.conversations){const r={...this.lastData,conversations:{total:n.total??n.conversations.length,recent:n.conversations},serverTime:n.serverTime||this.lastData.serverTime};this.lastData=r,this.notify(r)}}catch(n){console.error("Failed to parse SSE conversation event:",n)}}),this.sse.addEventListener("typing",t=>{try{const n=JSON.parse(t.data);for(const r of this.typingListeners)try{r(n)}catch{}}catch(n){console.error("Failed to parse SSE typing event:",n)}}),this.sse.addEventListener("chat-retry",t=>{try{const n=JSON.parse(t.data);if(!n||typeof n.sessionId!="string"||typeof n.content!="string")return;for(const r of this.chatRetryListeners)try{r(n)}catch{}}catch(n){console.error("Failed to parse SSE chat-retry event:",n)}}),this.sse.onerror=()=>{this.notifyConnection(!1),this.disconnect(),this.reconnect()},this.sse.onopen=()=>{this.notifyConnection(!0)})}disconnect(){this.sse&&(this.sse.close(),this.sse=null),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}reconnect(){this.reconnectTimer=setTimeout(()=>{this.connect()},3e3)}notify(t){this.listeners.forEach(n=>n(t))}notifyDAG(t){this.dagListeners.forEach(n=>n(t))}notifyConnection(t){this.connectionListeners.forEach(n=>n(t))}async fetchAll(){try{const t=await fetch(`${this.baseUrl}/api/all`),n=await it(t);return n?(this.lastData=n,n):null}catch{return null}}async fetchExecutionAudit(t){try{const n=new URLSearchParams;t!=null&&t.skillName&&n.set("skillName",t.skillName),t!=null&&t.status&&n.set("status",t.status),t!=null&&t.limit&&n.set("limit",String(t.limit));const r=n.toString(),a=await fetch(`${this.baseUrl}/api/executions${r?`?${r}`:""}`,{signal:AbortSignal.timeout(8e3)}),s=await it(a);return(s==null?void 0:s.entries)??[]}catch{return[]}}async fetchTraces(){try{const t=await fetch(`${this.baseUrl}/api/traces`,{signal:AbortSignal.timeout(8e3)}),n=await it(t);return n!=null&&n.traces?n.traces:null}catch{return null}}async fetchAcceptance(){try{const t=await fetch(`${this.baseUrl}/api/acceptance`,{signal:AbortSignal.timeout(8e3)}),n=await it(t);return!n||typeof n.labelled!="number"?null:n}catch{return null}}acceptanceExportUrl(t="json"){return`${this.baseUrl}/api/acceptance/export?format=${t}`}async importAcceptance(t,n){try{const r=await fetch(`${this.baseUrl}/api/acceptance/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,...n?{format:n}:{}})}),a=await it(r);return!a||typeof a.ok!="boolean"?null:a}catch{return null}}async fetchDecisions(t,n){try{const r=new URLSearchParams;t&&r.set("dir",t),n&&n.trim()&&r.set("for",n.trim());const a=await fetch(`${this.baseUrl}/api/decisions?${r.toString()}`,{signal:AbortSignal.timeout(8e3)}),s=await it(a);return!s||!Array.isArray(s.decisions)?null:s}catch{return null}}async reviseDecision(t,n,r,a){try{const s=await fetch(`${this.baseUrl}/api/decisions/revise`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dir:t,id:n,answer:r,...a?{note:a}:{}})}),o=await it(s);return!o||o.ok!==!0||!o.decision?null:o.decision}catch{return null}}async fetchGates(){try{const t=await fetch(`${this.baseUrl}/api/gates`,{signal:AbortSignal.timeout(8e3)}),n=await it(t);return!n||typeof n.events!="number"?null:n}catch{return null}}async fetchConsent(){try{const t=await fetch(`${this.baseUrl}/api/consent`,{signal:AbortSignal.timeout(8e3)}),n=await it(t);return!n||n.ok!==!0||!n.picture||!n.picture.denied?null:n.picture}catch{return null}}async fetchCapabilities(){try{const t=await fetch(`${this.baseUrl}/api/capabilities`,{signal:AbortSignal.timeout(8e3)}),n=await it(t);return!n||n.ok!==!0||!Array.isArray(n.verbs)?null:n}catch{return null}}async saveLearnedCommand(t,n,r){try{const a=await fetch(`${this.baseUrl}/api/capabilities/commands`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verb:t,command:n,...r?{note:r}:{}})}),s=await it(a);return{ok:(s==null?void 0:s.ok)===!0,commands:s==null?void 0:s.commands,error:s==null?void 0:s.error}}catch{return{ok:!1,error:"Could not reach the server."}}}async forgetLearnedCommand(t){try{const n=await fetch(`${this.baseUrl}/api/capabilities/commands/forget`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verb:t})}),r=await it(n);return{ok:(r==null?void 0:r.ok)===!0,commands:r==null?void 0:r.commands,error:r==null?void 0:r.error}}catch{return{ok:!1,error:"Could not reach the server."}}}async fetchSessionGrants(){try{const t=await fetch(`${this.baseUrl}/api/session-grants`,{signal:AbortSignal.timeout(8e3)}),n=await it(t);return!n||!Array.isArray(n.grants)?null:n.grants}catch{return null}}async revokeSessionGrant(t){try{const n=await fetch(`${this.baseUrl}/api/session-grants/clear`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t})}),r=await it(n);return(r==null?void 0:r.ok)===!0}catch{return!1}}async fetchAdminChecks(){try{const t=await fetch(`${this.baseUrl}/api/admin/checks`,{signal:AbortSignal.timeout(15e3)}),n=await it(t);return!n||!Array.isArray(n.system)||!Array.isArray(n.enterprise)||!Array.isArray(n.providers)?null:n}catch{return null}}async fetchHub(){var t;try{const n=await fetch(`${this.baseUrl}/api/hub`,{signal:AbortSignal.timeout(8e3)}),r=await it(n);return!r||!Array.isArray((t=r.toolsets)==null?void 0:t.toolsets)?null:r}catch{return null}}async rateTrace(t,n){try{const r=await fetch(`${this.baseUrl}/api/traces/${encodeURIComponent(t)}/verdict`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verdict:n}),signal:AbortSignal.timeout(8e3)}),a=await it(r);return a!=null&&a.ok&&a.rated?{traceId:a.rated.traceId,corpusLabeled:!!a.rated.corpusLabeled}:null}catch{return null}}async fetchTraceDetail(t){try{const n=await fetch(`${this.baseUrl}/api/traces/${encodeURIComponent(t)}`,{signal:AbortSignal.timeout(8e3)}),r=await it(n);return r&&Array.isArray(r.steps)?r:null}catch{return null}}async sendAdminRequest(t,n,r){try{const a=Zt(),s=await fetch(`${this.baseUrl}${t}`,{method:n,headers:{"Content-Type":"application/json",...a?{Authorization:`Bearer ${a}`}:{}},body:r!==void 0?JSON.stringify(r):void 0,signal:AbortSignal.timeout(15e3)}),o=s.headers.get("content-type")||"";let l=null;if(o.includes("application/json")||o.includes("text/json"))try{l=await s.json()}catch{l=null}return{status:s.status,data:l}}catch{return null}}async fetchAdminAuthStatus(){const t=await this.sendAdminRequest("/api/admin/auth-status","GET");if(!t||typeof t.data!="object"||t.data===null)return null;const n=t.data;return typeof n.configured!="boolean"||typeof n.authenticated!="boolean"?null:{configured:n.configured,authenticated:n.authenticated,user:typeof n.user=="string"?n.user:null,role:typeof n.role=="string"?n.role:null,mustChangePassword:n.mustChangePassword===!0}}async changeAdminPassword(t,n){const r=await this.sendAdminRequest("/api/admin/change-password","POST",{currentPassword:t,newPassword:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Could not change the password."}}async fetchAdminUsers(){const t=await this.sendAdminRequest("/api/admin/users","GET");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok&&Array.isArray(n.users)?n:{ok:!1,error:n.error||"Failed to load users.",forbidden:t.status===403,unauthorized:t.status===401}}async addAdminUser(t,n,r){const a=await this.sendAdminRequest("/api/admin/users","POST",{user:t,password:n,role:r});if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?s:{ok:!1,error:s.error||"Failed to add user.",forbidden:a.status===403,unauthorized:a.status===401}}async removeAdminUser(t){const n=await this.sendAdminRequest(`/api/admin/users/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Failed to remove user.",forbidden:n.status===403,unauthorized:n.status===401}}async fetchAdminCatalog(){const t=await this.sendAdminRequest("/api/admin/catalog","GET"),n=t==null?void 0:t.data;return!n||!Array.isArray(n.providers)?null:n.providers}async adminSetup(t,n){const r=await this.sendAdminRequest("/api/admin/setup","POST",{user:t,password:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&typeof a.token=="string"?(og(a.token),{ok:!0,user:a.user,token:a.token}):{ok:!1,error:a.error||"Setup failed.",unauthorized:r.status===401}}async adminLogin(t,n){const r=await this.sendAdminRequest("/api/admin/login","POST",{user:t,password:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&typeof a.token=="string"?(og(a.token),{ok:!0,user:a.user,token:a.token}):{ok:!1,error:a.error||"Login failed.",unauthorized:r.status===401}}async adminLogout(){await this.sendAdminRequest("/api/admin/logout","POST"),og(null)}async shutdown(t){const n=await this.sendAdminRequest("/api/admin/shutdown","POST",{target:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Shutdown failed.",unauthorized:n.status===401,forbidden:n.status===403}}async saveProvider(t,n){const r=await this.sendAdminRequest(`/api/admin/providers/${encodeURIComponent(t)}`,"PUT",n);if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Save failed.",unauthorized:r.status===401}}async deleteProvider(t){const n=await this.sendAdminRequest(`/api/admin/providers/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Remove failed.",unauthorized:n.status===401}}async testProvider(t){const n=await this.sendAdminRequest(`/api/admin/providers/${encodeURIComponent(t)}/test`,"POST");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200?r:{ok:!1,error:r.error||"Test failed.",unauthorized:n.status===401}}async fetchOmniRouteStatus(){const t=await this.sendAdminRequest("/api/admin/omniroute","GET");if(!t)return null;const n=t.data??{};return t.status!==200||!n.status?null:n.status}async controlOmniRoute(t){const n=await this.sendAdminRequest("/api/admin/omniroute","POST",{action:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200?r:{ok:!1,error:r.error||"OmniRoute control failed.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminWorkspace(){const t=await this.sendAdminRequest("/api/admin/workspace","GET");if(!t)return null;const n=t.data??{};return t.status!==200||n.ok!==!0?null:{configured:typeof n.configured=="string"?n.configured:null,effective:typeof n.effective=="string"?n.effective:null,processCwd:typeof n.processCwd=="string"?n.processCwd:"",configuredValid:n.configuredValid===!0}}async saveAdminWorkspace(t){const n=await this.sendAdminRequest("/api/admin/workspace","PUT",{cwd:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok===!0?{ok:!0,workspace:{configured:typeof r.configured=="string"?r.configured:null,effective:typeof r.effective=="string"?r.effective:null,processCwd:typeof r.processCwd=="string"?r.processCwd:"",configuredValid:r.configuredValid===!0}}:{ok:!1,error:r.error||"Save failed.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminCache(){const t=await this.sendAdminRequest("/api/admin/cache","GET");if(!t)return null;const n=t.data;return!n||n.ok!==!0||!Array.isArray(n.workspaces)?null:n}async clearAdminCache(t){const n=await this.sendAdminRequest("/api/admin/cache/clear","POST",{scope:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,removed:r.removed??0}:{ok:!1,error:r.error||"Could not clear the cache.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminServices(){const t=await this.sendAdminRequest("/api/admin/services","GET");if(!t)return null;const n=t.data;return!n||n.ok!==!0||!Array.isArray(n.services)?null:n}async saveService(t,n){const r=await this.sendAdminRequest(`/api/admin/services/${encodeURIComponent(t)}`,"PUT",{values:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Save failed.",unauthorized:r.status===401,forbidden:r.status===403}}async testService(t){const n=await this.sendAdminRequest(`/api/admin/services/${encodeURIComponent(t)}/test`,"POST");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200?r:{ok:!1,error:r.error||"Test failed."}}async removeService(t){const n=await this.sendAdminRequest(`/api/admin/services/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Remove failed.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminQuota(){const t=await this.sendAdminRequest("/api/admin/quota","GET");if(!t)return null;const n=t.data;return!n||!n.ok||typeof n.quota!="object"?null:n}async setToolsetEnabled(t,n){const r=await this.sendAdminRequest(`/api/admin/hub/toolsets/${encodeURIComponent(t)}`,"PUT",{enabled:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Toggle failed.",unauthorized:r.status===401,forbidden:r.status===403}}async setSkillEnabled(t,n){const r=await this.sendAdminRequest(`/api/admin/hub/skills/${encodeURIComponent(t)}`,"PUT",{enabled:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Toggle failed.",unauthorized:r.status===401,forbidden:r.status===403}}async fetchKnowledge(){try{const n=await(await fetch(`${this.baseUrl}/api/knowledge`,{headers:gt(),signal:AbortSignal.timeout(8e3)})).json();return Array.isArray(n.tags)?n.tags:null}catch{return null}}async knowledgeIngest(t,n){try{const r=await fetch(`${this.baseUrl}/api/knowledge/ingest`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({tag:t,paths:n})}),a=await r.json();return r.status===200&&a.ok?{...a,ok:!0}:{ok:!1,error:a.error||"Ingest failed."}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async knowledgeQuery(t,n,r){try{const a=await fetch(`${this.baseUrl}/api/knowledge/query`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({tag:t,question:n,topK:r})}),s=await a.json();return a.status===200&&s.ok?{...s,ok:!0}:{ok:!1,error:s.error||"Query failed."}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async knowledgeForget(t){try{const n=await fetch(`${this.baseUrl}/api/knowledge/forget`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({tag:t})}),r=await n.json();return n.status===200&&r.ok?{...r,ok:!0}:{ok:!1,error:r.error||"Forget failed."}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async marketplaceSearch(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/marketplace?q=${encodeURIComponent(t)}`,{headers:gt()})).json();return Array.isArray(r.results)?r.results:[]}catch{return[]}}async marketplaceInstall(t){try{const n=await fetch(`${this.baseUrl}/api/skills/marketplace/install`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})}),r=await n.json();return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Install failed.",quarantined:r.quarantined===!0}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async marketplaceUninstall(t){try{const n=await fetch(`${this.baseUrl}/api/skills/marketplace/uninstall`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})}),r=await n.json();return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Uninstall failed."}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async sendChannelMessage(t,n){const r=await this.sendAdminRequest("/api/admin/hub/channels/send","POST",{target:t,text:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Send failed.",unauthorized:r.status===401,forbidden:r.status===403}}async gatewayPolicies(){const t=await this.sendAdminRequest("/api/admin/gateway/policies","GET");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?{ok:!0,policies:n.policies,statusRecipients:n.statusRecipients,contacts:n.contacts,askUserWait:n.askUserWait,askUserTimeoutMs:n.askUserTimeoutMs}:{ok:!1,error:n.error||"Failed to read policies.",unauthorized:t.status===401,forbidden:t.status===403}}async saveGatewayPolicies(t,n,r,a){const s={policies:t};Array.isArray(n)&&(s.statusRecipients=n),Array.isArray(r)&&(s.contacts=r),a&&(s.askUserWait=a.wait,typeof a.timeoutMs=="number"&&(s.askUserTimeoutMs=a.timeoutMs));const o=await this.sendAdminRequest("/api/admin/gateway/policies","PUT",s);if(!o)return{ok:!1,error:"Could not reach the dashboard server."};const l=o.data??{};return o.status===200&&l.ok?l:{ok:!1,error:l.error||"Failed to save policies.",unauthorized:o.status===401,forbidden:o.status===403}}async fetchGatewayConversations(t={}){const n=new URLSearchParams;t.offset&&n.set("offset",String(t.offset)),t.limit&&n.set("limit",String(t.limit)),t.q&&n.set("q",t.q);const r=n.toString(),a=await this.sendAdminRequest(`/api/admin/gateway/conversations${r?`?${r}`:""}`,"GET");if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?{ok:!0,conversations:s.conversations,total:s.total,hasMore:s.hasMore}:{ok:!1,error:s.error||"Failed to load conversations.",unauthorized:a.status===401,forbidden:a.status===403}}async clearGatewayConversation(t){const n=await this.sendAdminRequest("/api/admin/gateway/conversations","DELETE",{key:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Failed to clear conversation.",unauthorized:n.status===401,forbidden:n.status===403}}async addConversationTag(t,n){const r=await this.sendAdminRequest("/api/admin/gateway/conversations/tags","PUT",{action:"add",key:t,tag:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Failed to add tag.",unauthorized:r.status===401,forbidden:r.status===403}}async removeConversationTag(t,n){const r=await this.sendAdminRequest("/api/admin/gateway/conversations/tags","PUT",{action:"remove",key:t,tag:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Failed to remove tag.",unauthorized:r.status===401,forbidden:r.status===403}}async getAllConversationTags(){const t=await this.sendAdminRequest("/api/admin/gateway/conversations/tags","PUT",{action:"getAllTags"});if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?{ok:!0,tags:n.tags}:{ok:!1,error:n.error||"Failed to load tags.",unauthorized:t.status===401,forbidden:t.status===403}}async exportGatewayConversations(t){var n,r,a;try{const s=Zt(),o=await fetch(`${this.baseUrl}/api/admin/gateway/conversations/export`,{method:"POST",headers:{"Content-Type":"application/json",...s?{Authorization:`Bearer ${s}`}:{}},body:JSON.stringify({keys:t}),signal:AbortSignal.timeout(3e4)});if(o.status===200&&((n=o.headers.get("content-type"))!=null&&n.includes("application/zip"))){const c=await o.blob(),u=URL.createObjectURL(c),d=document.createElement("a");return d.href=u,d.download=((a=(r=o.headers.get("content-disposition"))==null?void 0:r.match(/filename="(.+)"/))==null?void 0:a[1])||"conversations.zip",document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u),{ok:!0}}return{ok:!1,error:(await o.json().catch(()=>({}))).error||"Export failed."}}catch(s){return{ok:!1,error:s instanceof Error?s.message:String(s)}}}async getContacts(){const t=await this.sendAdminRequest("/api/admin/contacts","GET");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?{ok:!0,contacts:n.contacts}:{ok:!1,error:n.error||"Failed to read contacts."}}async approveContact(t,n){return this.contactAction("approve",t,n)}async rejectContact(t,n){return this.contactAction("reject",t,n)}async deleteContact(t,n){return this.contactAction("delete",t,n)}async updateContact(t,n,r){const a=await this.sendAdminRequest("/api/admin/contacts","PUT",{action:"update",platform:t,id:n,...r});if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?s:{ok:!1,error:s.error||"Update failed."}}async contactAction(t,n,r){const a=await this.sendAdminRequest("/api/admin/contacts","PUT",{action:t,platform:n,nameOrId:r});if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?s:{ok:!1,error:s.error||`${t} failed.`}}async getPlatformConfigs(){const t=await this.sendAdminRequest("/api/config/platforms","GET");if(!t)return[];const n=t.data??{};return Array.isArray(n.platforms)?n.platforms:[]}async setPlatformConfig(t,n){const r=await this.sendAdminRequest(`/api/config/platforms/${encodeURIComponent(t)}`,"POST",{values:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Save failed.",unauthorized:r.status===401,forbidden:r.status===403}}async removePlatformConfig(t){const n=await this.sendAdminRequest(`/api/config/platforms/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Remove failed.",unauthorized:n.status===401,forbidden:n.status===403}}async verifyPlatformConfig(t,n){const r=await this.sendAdminRequest(`/api/config/platforms/${encodeURIComponent(t)}/verify`,"POST",{values:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return{ok:a.ok??!1,info:a.info,error:a.error}}async saveAdminQuota(t){const n=await this.sendAdminRequest("/api/admin/quota","PUT",t);if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Save failed.",unauthorized:n.status===401}}async getBedrockStatus(){const t=await this.sendAdminRequest("/api/bedrock/status","GET");return!t||t.status!==200?{configured:!1,region:"us-east-1",authMethod:"none",apiKeySet:!1,iamKeySet:!1}:t.data??{}}async setupBedrock(t){const n=await this.sendAdminRequest("/api/bedrock/setup","POST",{envVars:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,envVarsWritten:r.envVarsWritten}:{ok:!1,error:r.error||"Save failed."}}async probeBedrock(t){const n=await this.sendAdminRequest("/api/bedrock/probe","POST",{region:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,models:r.models}:{ok:!1,error:r.error||"Probe failed."}}async listTasks(){const t=await this.sendAdminRequest("/api/tasks","GET");if(!t)return null;const n=t.data??{};return{status:t.status,tasks:Array.isArray(n.tasks)?n.tasks:[]}}async startTask(t,n){const r=await this.sendAdminRequest("/api/tasks","POST",{args:t,timeoutMs:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok&&a.task?a:{ok:!1,error:a.error||"Start failed.",unauthorized:r.status===401,forbidden:r.status===403}}async getTask(t){const n=await this.sendAdminRequest(`/api/tasks/${encodeURIComponent(t)}`,"GET");if(!n)return null;const r=n.data??{};return{status:n.status,task:r.task??null}}async cancelTask(t){const n=await this.sendAdminRequest(`/api/tasks/${encodeURIComponent(t)}/cancel`,"POST");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Cancel failed.",unauthorized:n.status===401,forbidden:n.status===403}}subscribeTask(t,n){const r=Zt(),a=new EventSource(`${this.baseUrl}/api/tasks/${encodeURIComponent(t)}/events?token=${encodeURIComponent(r??"")}`);return a.addEventListener("log",s=>{var o;try{(o=n.onLog)==null||o.call(n,JSON.parse(s.data))}catch{}}),a.addEventListener("status",s=>{var o;try{const l=JSON.parse(s.data);l.status&&((o=n.onStatus)==null||o.call(n,l.status))}catch{}}),()=>a.close()}async getWhatsAppStatus(){const t=await this.sendAdminRequest("/api/whatsapp","GET");if(!t)return null;const n=t.data??{};return t.status===200&&n.ok&&n.status?{status:n.status,contacts:n.contacts??{}}:null}async startWhatsAppPair(t){const n=await this.sendAdminRequest("/api/whatsapp/pair","POST",{phone:t||void 0});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Pairing failed to start.",unauthorized:n.status===401,forbidden:n.status===403}}async cancelWhatsAppPair(){const t=await this.sendAdminRequest("/api/whatsapp/cancel","POST");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?n:{ok:!1,error:n.error||"Cancel failed.",unauthorized:t.status===401,forbidden:t.status===403}}async unpairWhatsApp(){const t=await this.sendAdminRequest("/api/whatsapp/unpair","POST");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?n:{ok:!1,error:n.error||"Unpair failed.",unauthorized:t.status===401,forbidden:t.status===403}}subscribeWhatsApp(t){const n=Zt(),r=new EventSource(`${this.baseUrl}/api/whatsapp/events?token=${encodeURIComponent(n??"")}`);return r.addEventListener("qr",a=>{var s;try{const o=JSON.parse(a.data);o.qr&&((s=t.onQr)==null||s.call(t,o.qr))}catch{}}),r.addEventListener("code",a=>{var s;try{const o=JSON.parse(a.data);o.code&&((s=t.onCode)==null||s.call(t,o.code))}catch{}}),r.addEventListener("status",a=>{var s;try{(s=t.onStatus)==null||s.call(t,JSON.parse(a.data))}catch{}}),()=>r.close()}async chatResolve(t){const n=Zt();try{const r=await fetch(`${this.baseUrl}/api/chat/resolve`,{method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:`Bearer ${n}`}:{}},body:JSON.stringify({message:t}),signal:AbortSignal.timeout(1e4)}),a=await r.json();return r.status===200&&a.ok&&Array.isArray(a.matches)?{ok:!0,matches:a.matches}:{ok:!1,matches:[],error:typeof a.error=="string"?a.error:"Resolve failed."}}catch{return{ok:!1,matches:[],error:"Could not reach the dashboard server."}}}async listRoutableModels(){const t=Zt();try{const n=await fetch(`${this.baseUrl}/api/chat/routable-models`,{headers:t?{Authorization:`Bearer ${t}`}:{},signal:AbortSignal.timeout(1e4)}),r=await n.json();return n.status===200&&r.ok&&Array.isArray(r.models)?r.models:[]}catch{return[]}}async listProjects(){const t=Zt();try{const n=await fetch(`${this.baseUrl}/api/projects`,{headers:t?{Authorization:`Bearer ${t}`}:{},signal:AbortSignal.timeout(1e4)}),r=await n.json();return n.status===200&&r.ok&&Array.isArray(r.projects)?r.projects:[]}catch{return[]}}async attachProject(t){const n=Zt();try{const r=await fetch(`${this.baseUrl}/api/projects/attach`,{method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:`Bearer ${n}`}:{}},body:JSON.stringify({path:t}),signal:AbortSignal.timeout(3e4)}),a=await r.json();return r.status===200&&a.ok&&a.project?{ok:!0,project:a.project}:{ok:!1,error:typeof a.error=="string"?a.error:"Attach failed."}}catch{return{ok:!1,error:"Could not reach the dashboard server."}}}async browseDirectories(t,n){const r=Zt();try{const a=new URLSearchParams;t&&a.set("path",t),n!=null&&n.showDrives&&a.set("showDrives","1");const s=a.toString()?`?${a.toString()}`:"",o=await fetch(`${this.baseUrl}/api/browse${s}`,{headers:r?{Authorization:`Bearer ${r}`}:{},signal:AbortSignal.timeout(1e4)}),l=await o.json();return o.status===200&&l.ok&&Array.isArray(l.entries)?{ok:!0,path:l.path??"",entries:l.entries,parent:l.parent??null,isProject:l.isProject??!1,drives:l.drives,breadcrumbs:l.breadcrumbs}:{ok:!1,path:"",entries:[],parent:null,isProject:!1,error:typeof l.error=="string"?l.error:"Browse failed."}}catch{return{ok:!1,path:"",entries:[],parent:null,isProject:!1,error:"Could not reach the dashboard server."}}}async resolveFolder(t,n){const r=Zt();try{const a=await fetch(this.baseUrl+"/api/browse/resolve-folder",{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:"Bearer "+r}:{}},body:JSON.stringify({name:t,subPath:n||""}),signal:AbortSignal.timeout(1e4)}),s=await a.json();return a.status===200&&s.ok&&s.path?{ok:!0,path:s.path}:{ok:!1,path:"",error:typeof s.error=="string"?s.error:"Could not resolve folder."}}catch{return{ok:!1,path:"",error:"Could not reach the dashboard server."}}}async listChatSessions(){const t=Zt();try{const n=await fetch(`${this.baseUrl}/api/sessions`,{headers:t?{Authorization:`Bearer ${t}`}:{},signal:AbortSignal.timeout(1e4)}),r=await n.json();return n.status===200&&r.ok&&Array.isArray(r.sessions)?r.sessions:[]}catch{return[]}}async deleteChatSession(t){const n=Zt();try{const r=await fetch(`${this.baseUrl}/api/sessions/${encodeURIComponent(t)}`,{method:"DELETE",headers:n?{Authorization:`Bearer ${n}`}:{},signal:AbortSignal.timeout(1e4)}),a=await r.json();return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Could not delete the session."}}catch{return{ok:!1,error:"Network error — could not delete the session."}}}async renameChatSession(t,n){const r=Zt();try{const a=await fetch(`${this.baseUrl}/api/sessions/${encodeURIComponent(t)}/rename`,{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:`Bearer ${r}`}:{}},body:JSON.stringify({title:n}),signal:AbortSignal.timeout(1e4)}),s=await a.json();return a.status===200&&s.ok?{ok:!0}:{ok:!1,error:s.error||"Could not rename the session."}}catch{return{ok:!1,error:"Network error — could not rename the session."}}}async getChatSession(t){const n=Zt();try{const r=await fetch(`${this.baseUrl}/api/sessions/${encodeURIComponent(t)}`,{headers:n?{Authorization:`Bearer ${n}`}:{},signal:AbortSignal.timeout(1e4)}),a=await r.json();return r.status===200&&a.ok&&a.session?a.session:null}catch{return null}}async chatSend(t,n,r,a){const s=Zt();try{const o=await fetch(`${this.baseUrl}/api/chat`,{method:"POST",headers:{"Content-Type":"application/json",...s?{Authorization:`Bearer ${s}`}:{}},body:JSON.stringify({sessionId:t,message:n,provider:r==null?void 0:r.provider,model:r==null?void 0:r.model,...(r==null?void 0:r.strict)===!0?{strict:!0}:{},projectPath:r==null?void 0:r.projectPath,attachments:r==null?void 0:r.attachments,...(r==null?void 0:r.worktree)===void 0?{}:{worktree:r.worktree},...(r==null?void 0:r.keepWorktree)===void 0?{}:{keepWorktree:r.keepWorktree},...(r==null?void 0:r.resume)===void 0?{}:{resume:r.resume}}),signal:a?AbortSignal.any([AbortSignal.timeout(3e5),a]):AbortSignal.timeout(3e5)}),l=await o.json();return o.status===200&&l.ok?{ok:!0,content:typeof l.content=="string"?l.content:"",followups:Array.isArray(l.followups)?l.followups:[],provider:typeof l.provider=="string"?l.provider:null,model:typeof l.model=="string"?l.model:null,...typeof l.routingNotice=="string"&&l.routingNotice?{routingNotice:l.routingNotice}:{},...typeof l.workspaceNotice=="string"&&l.workspaceNotice?{workspaceNotice:l.workspaceNotice}:{},...typeof l.workspacePath=="string"&&l.workspacePath?{workspacePath:l.workspacePath}:{},...typeof l.workspaceSource=="string"&&l.workspaceSource?{workspaceSource:l.workspaceSource}:{},generationFailed:l.generationFailed===!0,retryQueued:l.retryQueued===!0,...l.needsProject===!0?{needsProject:!0}:{},...l.refused===!0?{refused:!0}:{},...Z2(l.worktree)?{worktree:l.worktree}:{},...J2(l.resume)?{resume:l.resume}:{},...Array.isArray(l.findings)?{findings:l.findings}:{},...eB(l.turnReport)?{turnReport:l.turnReport}:{}}:{ok:!1,error:typeof l.error=="string"?l.error:"The agent could not answer.",unauthorized:o.status===401,forbidden:o.status===403}}catch(o){const l=o==null?void 0:o.name;return l==="TimeoutError"?{ok:!1,turnStillRunning:!0,error:"The dashboard stopped waiting after 5 minutes — the turn is STILL RUNNING on the server. Its answer will appear here when it lands (nothing was lost — the turn keeps running)."}:l==="AbortError"?{ok:!1,error:"Cancelled."}:{ok:!1,error:"Could not reach the dashboard server."}}}async chatCancel(t){const n=await this.sendAdminRequest("/api/chat/cancel","POST",{sessionId:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,cancelled:r.cancelled===!0}:{ok:!1,error:r.error||"Cancel failed."}}async chatReset(t){const n=await this.sendAdminRequest("/api/chat/reset","POST",{sessionId:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Reset failed."}}async chatSupportBundle(t){var r,a,s;const n=Zt();try{const o=await fetch(`${this.baseUrl}/api/chat/${encodeURIComponent(t)}/support-bundle`,{method:"GET",headers:{...n?{Authorization:`Bearer ${n}`}:{}},signal:AbortSignal.timeout(3e4)});if(o.status===200&&((r=o.headers.get("content-type"))!=null&&r.includes("application/zip"))){const c=await o.blob(),u=URL.createObjectURL(c),d=document.createElement("a");return d.href=u,d.download=((s=(a=o.headers.get("content-disposition"))==null?void 0:a.match(/filename="(.+)"/))==null?void 0:s[1])||"nuvira-support.zip",document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u),{ok:!0}}return{ok:!1,error:(await o.json().catch(()=>({}))).error||"Could not build the support bundle."}}catch(o){return{ok:!1,error:o instanceof Error?o.message:"Could not reach the dashboard server."}}}subscribeChat(t,n){const r=Zt(),a=new EventSource(`${this.baseUrl}/api/chat/${encodeURIComponent(t)}/events?token=${encodeURIComponent(r??"")}`);return a.addEventListener("progress",s=>{var o;try{const l=JSON.parse(s.data);l.line&&((o=n.onProgress)==null||o.call(n,l.line))}catch{}}),a.addEventListener("status",s=>{var o,l;try{const c=JSON.parse(s.data);c.status&&((o=n.onStatus)==null||o.call(n,c.status)),c.status==="done"&&c.answer&&typeof c.answer.content=="string"&&((l=n.onTurnDone)==null||l.call(n,{content:c.answer.content,followups:Array.isArray(c.answer.followups)?c.answer.followups:[],generationFailed:c.answer.generationFailed===!0,...c.answer.bounded===void 0?{}:{bounded:c.answer.bounded},...c.answer.provider===void 0?{}:{provider:c.answer.provider},...c.answer.model===void 0?{}:{model:c.answer.model}}))}catch{}}),a.addEventListener("token",s=>{var o;try{const l=JSON.parse(s.data);typeof l.text=="string"&&l.text.length>0&&((o=n.onToken)==null||o.call(n,l.text))}catch{}}),a.addEventListener("tool",s=>{var o;try{const l=JSON.parse(s.data);l.tool&&(l.phase==="started"||l.phase==="called")&&((o=n.onTool)==null||o.call(n,{id:l.id||`call_${Math.random().toString(36).slice(2,8)}`,tool:l.tool,phase:l.phase,args:l.args,ok:l.ok,result:l.result,error:l.error,durationMs:l.durationMs}))}catch{}}),a.addEventListener("plan",s=>{var o;try{const l=JSON.parse(s.data);l.goal&&Array.isArray(l.steps)&&((o=n.onPlan)==null||o.call(n,{goal:l.goal,steps:l.steps,revision:l.revision??0}))}catch{}}),a.addEventListener("diff",s=>{var o;try{const l=JSON.parse(s.data);Array.isArray(l.files)&&((o=n.onDiff)==null||o.call(n,{files:l.files,summary:l.summary??""}))}catch{}}),a.addEventListener("finding",s=>{var o;try{const c=JSON.parse(s.data).finding;c&&typeof c.claim=="string"&&(c.verdict==="CONFIRMED"||c.verdict==="PLAUSIBLE")&&((o=n.onFinding)==null||o.call(n,{claim:c.claim,verdict:c.verdict,outcome:typeof c.outcome=="string"?c.outcome:"",evidence:Array.isArray(c.evidence)?c.evidence:[],source:typeof c.source=="string"?c.source:""}))}catch{}}),a.addEventListener("skill_draft",s=>{var o;try{const l=JSON.parse(s.data);l.name&&l.markdown&&((o=n.onSkillDraft)==null||o.call(n,{name:l.name,description:l.description??"",markdown:l.markdown,updatedAt:l.updatedAt??0}))}catch{}}),a.addEventListener("secret_request",s=>{var o;try{const l=JSON.parse(s.data);l.skillName&&Array.isArray(l.missing)&&((o=n.onSecretRequest)==null||o.call(n,{skillName:l.skillName,missing:l.missing,persisted:l.persisted??{}}))}catch{}}),a.addEventListener("execution_result",s=>{var o;try{const l=JSON.parse(s.data);l.skillName&&l.runtime!==void 0&&((o=n.onExecutionResult)==null||o.call(n,{skillName:l.skillName,runtime:l.runtime,success:l.success??!1,durationMs:l.durationMs??0,exitCode:l.exitCode??0,stdout:l.stdout??"",stderr:l.stderr??"",timestamp:l.timestamp??Date.now()}))}catch{}}),a.addEventListener("question",s=>{var o;try{const l=JSON.parse(s.data);l.questionId&&l.question&&((o=n.onQuestion)==null||o.call(n,{questionId:l.questionId,question:l.question,choices:l.choices??[],multiSelect:l.multiSelect===!0}))}catch{}}),()=>a.close()}async chatRespond(t,n,r={}){try{const s=await(await fetch(`${this.baseUrl}/api/chat/${encodeURIComponent(t)}/respond`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({questionId:n,...r})})).json();return{ok:s.ok===!0,error:s.error}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async skillDraftAccept(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/drafts/${encodeURIComponent(t)}/accept`,{method:"POST",headers:{...gt()}})).json();return{ok:r.ok===!0,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async skillDraftReject(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/drafts/${encodeURIComponent(t)}`,{method:"DELETE",headers:{...gt()}})).json();return{ok:r.ok===!0,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async saveSecrets(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/secrets`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({vars:t})})).json();return{ok:r.ok===!0,error:r.error,saved:r.saved,refused:r.refused}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async fetchSkillEnv(){try{const t=await fetch(`${this.baseUrl}/api/skills/env`,{headers:{...gt()}}),n=await it(t);return(n==null?void 0:n.vars)??[]}catch{return[]}}async deleteSkillEnvVar(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/env/delete`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})})).json();return{ok:r.ok===!0,removed:r.removed,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async testSkillEnvVar(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/env/test`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})})).json();return{ok:r.ok===!0,usable:r.usable,detail:r.detail,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async fetchProcessEnv(){try{const t=await fetch(`${this.baseUrl}/api/process-env`,{headers:{...gt()}}),n=await it(t);return(n==null?void 0:n.vars)??[]}catch{return[]}}async fetchLimits(){try{const t=await fetch(`${this.baseUrl}/api/limits`),n=await it(t);return!n||typeof n.attachmentMaxBytes!="number"||n.attachmentMaxBytes<=0?null:{attachmentMaxBytes:n.attachmentMaxBytes,extractMaxChars:typeof n.extractMaxChars=="number"?n.extractMaxChars:0}}catch{return null}}async fetchContinuity(){try{const t=await fetch(`${this.baseUrl}/api/continuity`,{headers:{...gt()}}),n=await it(t);return!n||n.ok!==!0?null:{sessions:n.sessions??[],recall:n.recall??[],toggles:n.toggles??{sessionStore:!1,sessionRecall:!1}}}catch{return null}}async clearContinuity(t,n,r){try{const s=await(await fetch(`${this.baseUrl}/api/continuity/clear`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({target:t,...n?{id:n}:{},...r?{olderThanMs:r}:{}})})).json();return{ok:s.ok===!0,removed:s.removed,error:s.error}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async fetchHistory(){try{const t=await fetch(`${this.baseUrl}/api/history`,{headers:{...gt()}});return await it(t)}catch{return null}}async clearHistory(t,n={}){try{const a=await(await fetch(`${this.baseUrl}/api/history/clear`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({target:t,...n.id?{id:n.id}:{},...n.olderThanMs?{olderThanMs:n.olderThanMs}:{}})})).json();return{ok:a.ok===!0,removed:a.removed,error:a.error}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async fetchVerifyBacklog(){try{const t=await fetch(`${this.baseUrl}/api/models/verify-next`,{headers:{...gt()}});return await it(t)}catch{return null}}async startVerifyBacklog(t){try{const n=await fetch(`${this.baseUrl}/api/models/verify-next`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({count:t})}),r=await it(n);return r?{ok:r.ok===!0,error:r.error,refusal:r.refusal,state:r.state}:{ok:!1,error:"The dashboard server did not respond."}}catch(n){return{ok:!1,error:n instanceof Error?n.message:"Could not start the run."}}}async saveProcessEnvVar(t,n){try{const a=await(await fetch(`${this.baseUrl}/api/process-env`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t,value:n})})).json();return{ok:a.ok===!0,row:a.row,error:a.error,reason:a.reason}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async deleteProcessEnvVar(t){try{const r=await(await fetch(`${this.baseUrl}/api/process-env/delete`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})})).json();return{ok:r.ok===!0,removed:r.removed,row:r.row,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async fetchHooks(){try{const t=await fetch(`${this.baseUrl}/api/hooks`,{headers:{...gt()}}),n=await it(t);return!n||!Array.isArray(n.hooks)?null:n}catch{return null}}async saveHooks(t){try{const n=await fetch(`${this.baseUrl}/api/hooks`,{method:"PUT",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({hooks:t})}),r=await n.json();return{ok:r.ok===!0,hooks:r.hooks,error:r.error,forbidden:n.status===403}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}}const K=new sB;async function oB(e=!1){const t=await K.sendAdminRequest(`/api/mcp${e?"?deep=1":""}`,"GET");return!t||t.status!==200?null:t.data}async function lB(e){const t=await K.sendAdminRequest("/api/mcp/settings","POST",{patch:e}),n=(t==null?void 0:t.data)??null;return t?n??{ok:t.status===200,error:`Server returned HTTP ${t.status}`}:{ok:!1,error:"Could not reach the dashboard server."}}async function cB(e){const t=await K.sendAdminRequest("/api/mcp/install","POST",e);return t?t.data??{ok:!1,error:`Server returned HTTP ${t.status}`}:{ok:!1,error:"Could not reach the dashboard server."}}async function uB(e){const t=await K.sendAdminRequest("/api/mcp/servers","POST",e);return t?t.data??{ok:!1,error:`Server returned HTTP ${t.status}`}:{ok:!1,error:"Could not reach the dashboard server."}}async function dB(e){const t=await K.sendAdminRequest("/api/mcp/uninstall","POST",{name:e});return t?t.data??{ok:!1,reason:`Server returned HTTP ${t.status}`}:{ok:!1,reason:"Could not reach the dashboard server."}}const ou=["enterprise","neutral","pastel","executive","contrast","premium","premium-amoled"],Pp=["light","dark"],ew=[100,112,125,150],nh={enterprise:"Enterprise",neutral:"Neutral",pastel:"Pastel",executive:"Executive",contrast:"High contrast",premium:"Premium","premium-amoled":"Premium AMOLED"},CT="nuvira.dashboard.theme",aS={palette:"enterprise",mode:"dark",a11y:!1,fontScale:100};function $o(e,t){return e.includes(t)}function fB(){return typeof window>"u"||typeof window.matchMedia!="function"?null:window.matchMedia("(prefers-color-scheme: dark)").matches}function AT(){const e=fB();return e===null?{...aS}:{...aS,mode:e?"dark":"light"}}function TT(){const e=AT();if(typeof localStorage>"u")return e;let t;try{const a=localStorage.getItem(CT);if(!a)return e;t=JSON.parse(a)}catch{return e}if(typeof t!="object"||t===null)return e;const n=t,r=$o(ew,n.fontScale)?n.fontScale:e.fontScale;return{palette:$o(ou,n.palette)?n.palette:e.palette,mode:$o(Pp,n.mode)?n.mode:e.mode,a11y:typeof n.a11y=="boolean"?n.a11y:e.a11y,fontScale:r}}function OT(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(CT,JSON.stringify(e))}catch{}}function tw(e,t){const n=typeof document<"u"?document.documentElement:void 0;n&&(n.setAttribute("data-palette",e.palette),n.setAttribute("data-mode",e.mode),n.setAttribute("data-a11y",e.a11y?"on":"off"),n.setAttribute("data-font-scale",String(e.fontScale)),n.style.colorScheme=e.mode)}function hB(e,t){const n={palette:$o(ou,t.palette)?t.palette:e.palette,mode:$o(Pp,t.mode)?t.mode:e.mode,a11y:t.a11y??e.a11y,fontScale:$o(ew,t.fontScale)?t.fontScale:e.fontScale};return n.a11y||(n.fontScale=100),n}let pr=TT();const gy=new Set;function PT(){for(const e of gy)e()}function pB(e){return gy.add(e),()=>{gy.delete(e)}}function iS(){return pr}function Dd(e){const t=hB(pr,e);t.palette===pr.palette&&t.mode===pr.mode&&t.a11y===pr.a11y&&t.fontScale===pr.fontScale||(pr=t,tw(pr),OT(pr),PT())}function mB(){pr=AT(),tw(pr),OT(pr),PT()}function gB(){return b.useSyncExternalStore(pB,iS,iS)}const sS={light:"Light",dark:"Dark"},oS={100:"100%",112:"112%",125:"125%",150:"150%"};function vB(){const e=gB(),[t,n]=b.useState(!1),r=b.useRef(null),a=b.useRef(null),s=b.useRef(null),o=b.useId(),l=`${o}-panel`;b.useEffect(()=>{if(!t)return;function u(f){var h;f.key==="Escape"&&(n(!1),(h=r.current)==null||h.focus())}function d(f){var p;const h=f.target;h&&((p=s.current)!=null&&p.contains(h))||n(!1)}return document.addEventListener("keydown",u),document.addEventListener("pointerdown",d),()=>{document.removeEventListener("keydown",u),document.removeEventListener("pointerdown",d)}},[t]),b.useEffect(()=>{var d,f,h;if(!t)return;(h=((d=a.current)==null?void 0:d.querySelector("input:checked"))??((f=a.current)==null?void 0:f.querySelector("input")))==null||h.focus()},[t]);const c=`${nh[e.palette]} palette, ${sS[e.mode].toLowerCase()} mode, text size ${oS[e.fontScale]}`+(e.a11y?", accessibility mode on":"");return i.jsxs("div",{className:"theme-switcher",ref:s,onBlur:u=>{const d=u.relatedTarget;d&&!u.currentTarget.contains(d)&&n(!1)},children:[i.jsxs("button",{type:"button",ref:r,className:"theme-trigger","aria-expanded":t,"aria-controls":t?l:void 0,onClick:()=>n(u=>!u),children:[i.jsx("span",{"aria-hidden":"true",children:"🎨"}),i.jsx("span",{children:"Appearance"})]}),t&&i.jsxs("div",{className:"theme-panel",id:l,ref:a,children:[i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Palette"}),ou.map(u=>i.jsxs("label",{className:"theme-option",children:[i.jsx("input",{type:"radio",name:`${o}-palette`,value:u,checked:e.palette===u,onChange:()=>Dd({palette:u})}),i.jsx("span",{className:"theme-swatch","data-swatch":u,"aria-hidden":"true"}),i.jsx("span",{className:"theme-option-label",children:nh[u]})]},u))]}),i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Mode"}),Pp.map(u=>i.jsxs("label",{className:"theme-option",children:[i.jsx("input",{type:"radio",name:`${o}-mode`,value:u,checked:e.mode===u,onChange:()=>Dd({mode:u})}),i.jsx("span",{className:"theme-option-label",children:sS[u]})]},u))]}),i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Text size"}),ew.map(u=>i.jsxs("label",{className:"theme-option",children:[i.jsx("input",{type:"radio",name:`${o}-scale`,value:u,checked:e.fontScale===u,onChange:()=>Dd({fontScale:u,a11y:e.a11y||u!==100})}),i.jsx("span",{className:"theme-option-label",children:oS[u]})]},u)),!e.a11y&&i.jsx("p",{className:"theme-hint",children:"A larger size turns on accessibility mode, which is what defines it."})]}),i.jsxs("div",{className:"theme-group",children:[i.jsxs("label",{className:"theme-switch",children:[i.jsx("input",{type:"checkbox",checked:e.a11y,onChange:u=>Dd({a11y:u.target.checked})}),i.jsx("span",{className:"theme-switch-track","aria-hidden":"true"}),i.jsx("span",{className:"theme-option-label",children:"Accessibility mode"})]}),i.jsx("p",{className:"theme-hint",children:"Larger targets, stronger borders and no motion. Off by default so it never changes the look for anyone who does not need it."})]}),i.jsx("button",{type:"button",className:"theme-reset",onClick:mB,children:"Reset to system default"}),i.jsx("p",{className:"sr-only",role:"status",children:c})]})]})}function yB(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState(""),[o,l]=b.useState(""),[c,u]=b.useState(!1),[d,f]=b.useState(null),h=b.useRef(null),p=b.useCallback(()=>{K.fetchAdminAuthStatus().then(w=>t(w))},[]);b.useEffect(()=>{p()},[p]),b.useEffect(()=>{if(!n)return;function w(k){h.current&&!h.current.contains(k.target)&&r(!1)}function N(k){k.key==="Escape"&&r(!1)}return document.addEventListener("mousedown",w),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",N)}},[n]);const m=(e==null?void 0:e.authenticated)===!0,g=(e==null?void 0:e.configured)===!0,y=async w=>{w.preventDefault(),u(!0),f(null);const N=g?await K.adminLogin(a,o):await K.adminSetup(a,o);N.ok?(s(""),l(""),r(!1),p()):f(N.error||(g?"Login failed.":"Setup failed.")),u(!1)},v=async()=>{r(!1),await K.adminLogout(),p()},S=e?m?`👤 ${e.user||"account"}${e.role?` · ${e.role}`:""}`:"👤 Sign in":"👤 Account";return i.jsxs("div",{className:"topbar-account",ref:h,children:[i.jsx("button",{type:"button",className:"topbar-action","aria-haspopup":"menu","aria-expanded":n,onClick:()=>r(w=>!w),children:S}),n?i.jsx("div",{className:"topbar-account-menu",role:"menu",children:m?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"topbar-account-user",children:[i.jsx("span",{children:(e==null?void 0:e.user)||"account"}),e!=null&&e.role?i.jsx("span",{className:`admin-role-badge admin-role-${e.role}`,children:e.role}):null]}),e!=null&&e.mustChangePassword?i.jsx("p",{className:"topbar-account-hint",children:"Still on the first-run password — change it on the Admin page before writes will work."}):null,i.jsx("button",{type:"button",className:"topbar-account-item",onClick:()=>void v(),children:"🚪 Log out"})]}):i.jsxs("form",{className:"topbar-account-form",onSubmit:y,children:[i.jsx("p",{className:"topbar-account-title",children:g?"Sign in":"Create the first admin"}),i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:a,onChange:w=>s(w.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:o,onChange:w=>l(w.target.value),autoComplete:g?"current-password":"new-password",placeholder:"••••••••"})]}),d?i.jsx("div",{className:"admin-error",children:d}):null,i.jsx("button",{type:"submit",className:"admin-refresh-btn",disabled:c||!a||!o,children:c?"⏳ …":g?"🔐 Sign in":"🔐 Create admin"}),g?null:i.jsx("p",{className:"topbar-account-hint",children:"The first user is always an admin."})]})}):null]})}const RT=[{group:"General",items:[{keys:["?"],description:"Show the shortcut cheatsheet"},{keys:["F1"],description:"Open the Help page"},{keys:["Esc"],description:"Close a dialog or panel"},{keys:["g","c"],description:"Go to Chat"},{keys:["g","o"],description:"Go to Overview"},{keys:["g","t"],description:"Go to Tasks"},{keys:["g","m"],description:"Go to Models"},{keys:["g","s"],description:"Go to System"},{keys:["g","h"],description:"Go to Agent Hub"}]},{group:"Navigation",items:[{keys:["/"],description:"Focus the navigation filter"},{keys:["["],description:"Collapse / expand the navigation drawer"}]}],bB={c:"/chat",o:"/overview",t:"/tasks",m:"/models",s:"/system",h:"/hub"};function xB(e){var a;const t=e;if(!t||typeof t.tagName!="string")return!1;if(t.isContentEditable)return!0;const n=(a=t.getAttribute)==null?void 0:a.call(t,"contenteditable");if(n!=null&&n!=="false")return!0;const r=t.tagName.toLowerCase();return r==="input"||r==="textarea"||r==="select"}function wB({open:e,onClose:t}){const n=b.useId(),r=b.useRef(null),a=b.useRef(null);return b.useEffect(()=>{var l;if(!e)return;a.current=document.activeElement;const s=()=>{var c;return Array.from(((c=r.current)==null?void 0:c.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'))??[])};(l=s()[0])==null||l.focus();function o(c){if(c.key==="Escape"){c.stopPropagation(),t();return}if(c.key!=="Tab")return;const u=s();if(u.length===0)return;const d=u[0],f=u[u.length-1];c.shiftKey&&document.activeElement===d?(c.preventDefault(),f.focus()):!c.shiftKey&&document.activeElement===f&&(c.preventDefault(),d.focus())}return document.addEventListener("keydown",o),()=>{var c;document.removeEventListener("keydown",o),(c=a.current)==null||c.focus()}},[e,t]),e?i.jsx("div",{className:"modal-scrim",onClick:t,children:i.jsxs("div",{className:"shortcuts-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,ref:r,onClick:s=>s.stopPropagation(),children:[i.jsxs("div",{className:"shortcuts-head",children:[i.jsx("h2",{className:"shortcuts-title",id:n,children:"⌨️ Keyboard shortcuts"}),i.jsx("button",{type:"button",className:"btn-secondary",onClick:t,"aria-label":"Close keyboard shortcuts",children:"✕ Close"})]}),RT.map(s=>i.jsxs("section",{className:"shortcuts-group",children:[i.jsx("h3",{className:"shortcuts-group-title",children:s.group}),i.jsx("dl",{className:"shortcuts-list",children:s.items.map(o=>i.jsxs("div",{className:"shortcuts-row",children:[i.jsx("dt",{className:"shortcuts-keys",children:o.keys.map(l=>i.jsx("kbd",{className:"shortcuts-key",children:l},l))}),i.jsx("dd",{className:"shortcuts-description",children:o.description})]},o.description))})]},s.group)),i.jsxs("p",{className:"shortcuts-note",children:["Shortcuts are ignored while you are typing, so ",i.jsx("kbd",{className:"shortcuts-key",children:"?"})," in a question stays a question mark."]})]})}):null}const MT=[{path:"/overview",label:"Overview",icon:"📊"},{path:"/tasks",label:"Tasks",icon:"🚀"},{path:"/models",label:"Models",icon:"🧠"},{path:"/system",label:"System",icon:"⚙️"},{path:"/help",label:"Help",icon:"❓"}],vy=[{label:"Agent Management",items:[{path:"/chat",label:"Chat",icon:"💬"},{path:"/hub",label:"Agent Hub",icon:"🧰"},{path:"/capabilities",label:"Capabilities",icon:"📋"},{path:"/dag",label:"Execution",icon:"🔀"},{path:"/routing",label:"Routing",icon:"🤖"},{path:"/requests",label:"Requests",icon:"📨"},{path:"/hooks",label:"Hooks",icon:"🪝"}]},{label:"Analysis & Monitoring",items:[{path:"/traces",label:"Traces",icon:"🔍"},{path:"/evals",label:"Evals",icon:"🏆"},{path:"/benchmarks",label:"Benchmarks",icon:"📈"},{path:"/costs",label:"Costs",icon:"💰"}]},{label:"Resources",items:[{path:"/memory",label:"Memory",icon:"💾"},{path:"/knowledge",label:"Knowledge",icon:"📚"},{path:"/history",label:"History",icon:"📝"},{path:"/decisions",label:"Decisions",icon:"🧭"},{path:"/env",label:"Env Config",icon:"🔐"},{path:"/process-env",label:"Process Env",icon:"🌱"}]},{label:"Integrations",items:[{path:"/platforms",label:"Platforms",icon:"🌐"},{path:"/mcp",label:"MCP",icon:"🔌"},{path:"/gateway",label:"Gateway",icon:"📡"},{path:"/contacts",label:"Contacts",icon:"📇"},{path:"/bedrock",label:"Bedrock",icon:"🪨"}]},{label:"Runtime",items:[{path:"/models/timeline",label:"Timeline",icon:"📅"},{path:"/executions",label:"Executions",icon:"📜"},{path:"/admin",label:"Admin",icon:"🛠️"}]}];function kB(e){const t=e.trim().toLowerCase();return t?vy.map(n=>n.label.toLowerCase().includes(t)?n:{...n,items:n.items.filter(r=>r.label.toLowerCase().includes(t))}).filter(n=>n.items.length>0):vy}function SB({children:e,connected:t,lastUpdated:n,onRefresh:r,refreshing:a=!1}){const[s,o]=b.useState(!1),[l,c]=b.useState(""),[u,d]=b.useState(!1),f=b.useRef(null),h=b.useRef(null),p=b.useRef(0),m=b.useId(),g=Li(),y=Jx(),v=t?"connected":"reconnecting",S=t?"Connected":"Reconnecting...",w=kB(l),N=()=>o(!1);return b.useEffect(()=>{function k(x){var j,_;if(!(x.metaKey||x.ctrlKey||x.altKey)&&!xB(x.target)){if(x.key==="Escape"){if(u)return;s&&(o(!1),(j=f.current)==null||j.focus());return}if(x.key==="?"){x.preventDefault(),d(!0);return}if(x.key==="F1"){x.preventDefault(),y("/help");return}if(x.key==="/"){x.preventDefault(),(_=h.current)==null||_.focus();return}if(x.key==="["){x.preventDefault(),o(O=>!O);return}if(x.key==="g"){p.current=Date.now();return}if(Date.now()-p.current<1500){const O=bB[x.key.toLowerCase()];p.current=0,O&&(x.preventDefault(),y(O))}}}return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[s,u,y]),b.useEffect(()=>{var k;s&&((k=h.current)==null||k.focus())},[s]),b.useEffect(()=>{N()},[g.pathname]),i.jsxs("div",{className:"layout",children:[i.jsxs("header",{className:"topbar",children:[i.jsx("button",{type:"button",ref:f,className:"topbar-menu","aria-label":"Toggle navigation","aria-controls":"app-nav","aria-expanded":s,onClick:()=>o(k=>!k),children:i.jsx("span",{"aria-hidden":"true",children:"☰"})}),i.jsxs("div",{className:"topbar-brand",children:[i.jsx("span",{className:"topbar-logo","aria-hidden":"true",children:"🤖"}),i.jsx("span",{className:"topbar-title",children:"Agent-Nuvira"})]}),i.jsx("nav",{className:"primary-nav","aria-label":"Primary",children:MT.map(k=>i.jsxs(nS,{to:k.path,end:!0,className:({isActive:x})=>`primary-link${x?" active":""}`,children:[i.jsx("span",{"aria-hidden":"true",children:k.icon})," ",k.label]},k.path))}),i.jsxs("div",{className:"topbar-actions",children:[i.jsxs("button",{type:"button",className:"topbar-action",onClick:r,disabled:a,"aria-busy":a,children:[i.jsx("span",{"aria-hidden":"true",children:"⟳"})," ",a?"Refreshing…":"Refresh"]}),i.jsxs("button",{type:"button",className:"topbar-action","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>d(!0),children:[i.jsx("span",{"aria-hidden":"true",children:"⌨️"})," Shortcuts"]}),i.jsx(vB,{}),i.jsxs("a",{className:"topbar-action",href:"https://www.agent-nuvira.com",target:"_blank",rel:"noopener noreferrer",title:"Agent-Nuvira website — capabilities, commands, docs, setup",children:[i.jsx("span",{"aria-hidden":"true",children:"🌐"})," Website"]}),i.jsx(yB,{})]})]}),i.jsxs("div",{className:"layout-body",children:[s&&i.jsx("div",{className:"nav-scrim",onClick:N,"aria-hidden":"true"}),i.jsxs("nav",{className:`nav${s?" open":""}`,id:"app-nav","aria-label":"Sections",children:[i.jsxs("div",{className:"nav-search",children:[i.jsx("label",{className:"sr-only",htmlFor:m,children:"Filter navigation"}),i.jsx("input",{id:m,ref:h,type:"search",className:"nav-search-input",placeholder:"Search",value:l,onChange:k=>c(k.target.value)})]}),i.jsxs("div",{className:"nav-links",children:[w.map(k=>i.jsxs("section",{className:"nav-group",children:[i.jsx("h2",{className:"nav-group-title",children:k.label}),k.items.map(x=>i.jsxs(nS,{to:x.path,end:x.path==="/",className:({isActive:j})=>`nav-link${j?" active":""}`,children:[i.jsx("span",{className:"nav-icon","aria-hidden":"true",children:x.icon}),x.label]},x.path))]},k.label)),w.length===0&&i.jsxs("p",{className:"nav-empty",children:["No sections match “",l,"”."]})]}),i.jsxs("div",{className:"nav-footer",children:[i.jsx("span",{className:`status-dot ${v}`}),i.jsx("span",{className:"status-text",children:S}),i.jsx("span",{className:"last-updated",children:n})]})]}),i.jsx("main",{className:"main",children:e})]}),i.jsx(wB,{open:u,onClose:()=>d(!1)})]})}function IT(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=IT(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Ve(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=IT(e))&&(r&&(r+=" "),r+=t);return r}var jB=Array.isArray,Wn=jB,NB=typeof fi=="object"&&fi&&fi.Object===Object&&fi,$T=NB,EB=$T,_B=typeof self=="object"&&self&&self.Object===Object&&self,CB=EB||_B||Function("return this")(),ua=CB,AB=ua,TB=AB.Symbol,Ju=TB,lS=Ju,LT=Object.prototype,OB=LT.hasOwnProperty,PB=LT.toString,ac=lS?lS.toStringTag:void 0;function RB(e){var t=OB.call(e,ac),n=e[ac];try{e[ac]=void 0;var r=!0}catch{}var a=PB.call(e);return r&&(t?e[ac]=n:delete e[ac]),a}var MB=RB,IB=Object.prototype,$B=IB.toString;function LB(e){return $B.call(e)}var DB=LB,cS=Ju,BB=MB,zB=DB,FB="[object Null]",UB="[object Undefined]",uS=cS?cS.toStringTag:void 0;function WB(e){return e==null?e===void 0?UB:FB:uS&&uS in Object(e)?BB(e):zB(e)}var Ua=WB;function HB(e){return e!=null&&typeof e=="object"}var Wa=HB,GB=Ua,qB=Wa,KB="[object Symbol]";function VB(e){return typeof e=="symbol"||qB(e)&&GB(e)==KB}var Sl=VB,YB=Wn,XB=Sl,QB=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ZB=/^\w*$/;function JB(e,t){if(YB(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||XB(e)?!0:ZB.test(e)||!QB.test(e)||t!=null&&e in Object(t)}var nw=JB;function ez(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Di=ez;const jl=Ze(Di);var tz=Ua,nz=Di,rz="[object AsyncFunction]",az="[object Function]",iz="[object GeneratorFunction]",sz="[object Proxy]";function oz(e){if(!nz(e))return!1;var t=tz(e);return t==az||t==iz||t==rz||t==sz}var rw=oz;const Le=Ze(rw);var lz=ua,cz=lz["__core-js_shared__"],uz=cz,lg=uz,dS=function(){var e=/[^.]+$/.exec(lg&&lg.keys&&lg.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function dz(e){return!!dS&&dS in e}var fz=dz,hz=Function.prototype,pz=hz.toString;function mz(e){if(e!=null){try{return pz.call(e)}catch{}try{return e+""}catch{}}return""}var DT=mz,gz=rw,vz=fz,yz=Di,bz=DT,xz=/[\\^$.*+?()[\]{}|]/g,wz=/^\[object .+?Constructor\]$/,kz=Function.prototype,Sz=Object.prototype,jz=kz.toString,Nz=Sz.hasOwnProperty,Ez=RegExp("^"+jz.call(Nz).replace(xz,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _z(e){if(!yz(e)||vz(e))return!1;var t=gz(e)?Ez:wz;return t.test(bz(e))}var Cz=_z;function Az(e,t){return e==null?void 0:e[t]}var Tz=Az,Oz=Cz,Pz=Tz;function Rz(e,t){var n=Pz(e,t);return Oz(n)?n:void 0}var zs=Rz,Mz=zs,Iz=Mz(Object,"create"),Rp=Iz,fS=Rp;function $z(){this.__data__=fS?fS(null):{},this.size=0}var Lz=$z;function Dz(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Bz=Dz,zz=Rp,Fz="__lodash_hash_undefined__",Uz=Object.prototype,Wz=Uz.hasOwnProperty;function Hz(e){var t=this.__data__;if(zz){var n=t[e];return n===Fz?void 0:n}return Wz.call(t,e)?t[e]:void 0}var Gz=Hz,qz=Rp,Kz=Object.prototype,Vz=Kz.hasOwnProperty;function Yz(e){var t=this.__data__;return qz?t[e]!==void 0:Vz.call(t,e)}var Xz=Yz,Qz=Rp,Zz="__lodash_hash_undefined__";function Jz(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Qz&&t===void 0?Zz:t,this}var eF=Jz,tF=Lz,nF=Bz,rF=Gz,aF=Xz,iF=eF;function Nl(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Nl.prototype.clear=tF;Nl.prototype.delete=nF;Nl.prototype.get=rF;Nl.prototype.has=aF;Nl.prototype.set=iF;var sF=Nl;function oF(){this.__data__=[],this.size=0}var lF=oF;function cF(e,t){return e===t||e!==e&&t!==t}var aw=cF,uF=aw;function dF(e,t){for(var n=e.length;n--;)if(uF(e[n][0],t))return n;return-1}var Mp=dF,fF=Mp,hF=Array.prototype,pF=hF.splice;function mF(e){var t=this.__data__,n=fF(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():pF.call(t,n,1),--this.size,!0}var gF=mF,vF=Mp;function yF(e){var t=this.__data__,n=vF(t,e);return n<0?void 0:t[n][1]}var bF=yF,xF=Mp;function wF(e){return xF(this.__data__,e)>-1}var kF=wF,SF=Mp;function jF(e,t){var n=this.__data__,r=SF(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var NF=jF,EF=lF,_F=gF,CF=bF,AF=kF,TF=NF;function El(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}El.prototype.clear=EF;El.prototype.delete=_F;El.prototype.get=CF;El.prototype.has=AF;El.prototype.set=TF;var Ip=El,OF=zs,PF=ua,RF=OF(PF,"Map"),iw=RF,hS=sF,MF=Ip,IF=iw;function $F(){this.size=0,this.__data__={hash:new hS,map:new(IF||MF),string:new hS}}var LF=$F;function DF(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var BF=DF,zF=BF;function FF(e,t){var n=e.__data__;return zF(t)?n[typeof t=="string"?"string":"hash"]:n.map}var $p=FF,UF=$p;function WF(e){var t=UF(this,e).delete(e);return this.size-=t?1:0,t}var HF=WF,GF=$p;function qF(e){return GF(this,e).get(e)}var KF=qF,VF=$p;function YF(e){return VF(this,e).has(e)}var XF=YF,QF=$p;function ZF(e,t){var n=QF(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var JF=ZF,eU=LF,tU=HF,nU=KF,rU=XF,aU=JF;function _l(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}_l.prototype.clear=eU;_l.prototype.delete=tU;_l.prototype.get=nU;_l.prototype.has=rU;_l.prototype.set=aU;var sw=_l,BT=sw,iU="Expected a function";function ow(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(iU);var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],s=n.cache;if(s.has(a))return s.get(a);var o=e.apply(this,r);return n.cache=s.set(a,o)||s,o};return n.cache=new(ow.Cache||BT),n}ow.Cache=BT;var zT=ow;const sU=Ze(zT);var oU=zT,lU=500;function cU(e){var t=oU(e,function(r){return n.size===lU&&n.clear(),r}),n=t.cache;return t}var uU=cU,dU=uU,fU=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,hU=/\\(\\)?/g,pU=dU(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(fU,function(n,r,a,s){t.push(a?s.replace(hU,"$1"):r||n)}),t}),mU=pU;function gU(e,t){for(var n=-1,r=e==null?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}var lw=gU,pS=Ju,vU=lw,yU=Wn,bU=Sl,mS=pS?pS.prototype:void 0,gS=mS?mS.toString:void 0;function FT(e){if(typeof e=="string")return e;if(yU(e))return vU(e,FT)+"";if(bU(e))return gS?gS.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var xU=FT,wU=xU;function kU(e){return e==null?"":wU(e)}var UT=kU,SU=Wn,jU=nw,NU=mU,EU=UT;function _U(e,t){return SU(e)?e:jU(e,t)?[e]:NU(EU(e))}var WT=_U,CU=Sl;function AU(e){if(typeof e=="string"||CU(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var Lp=AU,TU=WT,OU=Lp;function PU(e,t){t=TU(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[OU(t[n++])];return n&&n==r?e:void 0}var cw=PU,RU=cw;function MU(e,t,n){var r=e==null?void 0:RU(e,t);return r===void 0?n:r}var HT=MU;const wr=Ze(HT);function IU(e){return e==null}var $U=IU;const Ye=Ze($U);var LU=Ua,DU=Wn,BU=Wa,zU="[object String]";function FU(e){return typeof e=="string"||!DU(e)&&BU(e)&&LU(e)==zU}var UU=FU;const Ps=Ze(UU);var GT={exports:{}},nt={};/**
|
|
68
|
-
* @license React
|
|
69
|
-
* react-is.production.min.js
|
|
70
|
-
*
|
|
71
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
72
|
-
*
|
|
73
|
-
* This source code is licensed under the MIT license found in the
|
|
74
|
-
* LICENSE file in the root directory of this source tree.
|
|
75
|
-
*/var uw=Symbol.for("react.element"),dw=Symbol.for("react.portal"),Dp=Symbol.for("react.fragment"),Bp=Symbol.for("react.strict_mode"),zp=Symbol.for("react.profiler"),Fp=Symbol.for("react.provider"),Up=Symbol.for("react.context"),WU=Symbol.for("react.server_context"),Wp=Symbol.for("react.forward_ref"),Hp=Symbol.for("react.suspense"),Gp=Symbol.for("react.suspense_list"),qp=Symbol.for("react.memo"),Kp=Symbol.for("react.lazy"),HU=Symbol.for("react.offscreen"),qT;qT=Symbol.for("react.module.reference");function Nr(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case uw:switch(e=e.type,e){case Dp:case zp:case Bp:case Hp:case Gp:return e;default:switch(e=e&&e.$$typeof,e){case WU:case Up:case Wp:case Kp:case qp:case Fp:return e;default:return t}}case dw:return t}}}nt.ContextConsumer=Up;nt.ContextProvider=Fp;nt.Element=uw;nt.ForwardRef=Wp;nt.Fragment=Dp;nt.Lazy=Kp;nt.Memo=qp;nt.Portal=dw;nt.Profiler=zp;nt.StrictMode=Bp;nt.Suspense=Hp;nt.SuspenseList=Gp;nt.isAsyncMode=function(){return!1};nt.isConcurrentMode=function(){return!1};nt.isContextConsumer=function(e){return Nr(e)===Up};nt.isContextProvider=function(e){return Nr(e)===Fp};nt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===uw};nt.isForwardRef=function(e){return Nr(e)===Wp};nt.isFragment=function(e){return Nr(e)===Dp};nt.isLazy=function(e){return Nr(e)===Kp};nt.isMemo=function(e){return Nr(e)===qp};nt.isPortal=function(e){return Nr(e)===dw};nt.isProfiler=function(e){return Nr(e)===zp};nt.isStrictMode=function(e){return Nr(e)===Bp};nt.isSuspense=function(e){return Nr(e)===Hp};nt.isSuspenseList=function(e){return Nr(e)===Gp};nt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Dp||e===zp||e===Bp||e===Hp||e===Gp||e===HU||typeof e=="object"&&e!==null&&(e.$$typeof===Kp||e.$$typeof===qp||e.$$typeof===Fp||e.$$typeof===Up||e.$$typeof===Wp||e.$$typeof===qT||e.getModuleId!==void 0)};nt.typeOf=Nr;GT.exports=nt;var GU=GT.exports,qU=Ua,KU=Wa,VU="[object Number]";function YU(e){return typeof e=="number"||KU(e)&&qU(e)==VU}var KT=YU;const XU=Ze(KT);var QU=KT;function ZU(e){return QU(e)&&e!=+e}var JU=ZU;const ed=Ze(JU);var Dr=function(t){return t===0?0:t>0?1:-1},ps=function(t){return Ps(t)&&t.indexOf("%")===t.length-1},ue=function(t){return XU(t)&&!ed(t)},e3=function(t){return Ye(t)},qt=function(t){return ue(t)||Ps(t)},t3=0,Vp=function(t){var n=++t3;return"".concat(t||"").concat(n)},Rs=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ue(t)&&!Ps(t))return r;var s;if(ps(t)){var o=t.indexOf("%");s=n*parseFloat(t.slice(0,o))/100}else s=+t;return ed(s)&&(s=r),a&&s>n&&(s=n),s},ui=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},n3=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},a=0;a<n;a++)if(!r[t[a]])r[t[a]]=!0;else return!0;return!1},to=function(t,n){return ue(t)&&ue(n)?function(r){return t+r*(n-t)}:function(){return n}};function yy(e,t,n){return!e||!e.length?null:e.find(function(r){return r&&(typeof t=="function"?t(r):wr(r,t))===n})}var r3=function(t,n){return ue(t)&&ue(n)?t-n:Ps(t)&&Ps(n)?t.localeCompare(n):t instanceof Date&&n instanceof Date?t.getTime()-n.getTime():String(t).localeCompare(String(n))};function Lo(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function by(e){"@babel/helpers - typeof";return by=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},by(e)}var a3=["viewBox","children"],i3=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],vS=["points","pathLength"],cg={svg:a3,polygon:vS,polyline:vS},fw=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],rh=function(t,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var r=t;if(b.isValidElement(t)&&(r=t.props),!jl(r))return null;var a={};return Object.keys(r).forEach(function(s){fw.includes(s)&&(a[s]=n||function(o){return r[s](r,o)})}),a},s3=function(t,n,r){return function(a){return t(n,r,a),null}},ah=function(t,n,r){if(!jl(t)||by(t)!=="object")return null;var a=null;return Object.keys(t).forEach(function(s){var o=t[s];fw.includes(s)&&typeof o=="function"&&(a||(a={}),a[s]=s3(o,n,r))}),a},o3=["children"],l3=["children"];function yS(e,t){if(e==null)return{};var n=c3(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function c3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var bS={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},Ta=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},xS=null,ug=null,hw=function e(t){if(t===xS&&Array.isArray(ug))return ug;var n=[];return b.Children.forEach(t,function(r){Ye(r)||(GU.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),ug=n,xS=t,n};function Fr(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(a){return Ta(a)}):r=[Ta(t)],hw(e).forEach(function(a){var s=wr(a,"type.displayName")||wr(a,"type.name");r.indexOf(s)!==-1&&n.push(a)}),n}function Xn(e,t){var n=Fr(e,t);return n&&n[0]}var wS=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,a=n.height;return!(!ue(r)||r<=0||!ue(a)||a<=0)},u3=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],d3=function(t){return t&&t.type&&Ps(t.type)&&u3.indexOf(t.type)>=0},f3=function(t,n,r,a){var s,o=(s=cg==null?void 0:cg[a])!==null&&s!==void 0?s:[];return n.startsWith("data-")||!Le(t)&&(a&&o.includes(n)||i3.includes(n))||r&&fw.includes(n)},Ke=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(b.isValidElement(t)&&(a=t.props),!jl(a))return null;var s={};return Object.keys(a).forEach(function(o){var l;f3((l=a)===null||l===void 0?void 0:l[o],o,n,r)&&(s[o]=a[o])}),s},xy=function e(t,n){if(t===n)return!0;var r=b.Children.count(t);if(r!==b.Children.count(n))return!1;if(r===0)return!0;if(r===1)return kS(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var a=0;a<r;a++){var s=t[a],o=n[a];if(Array.isArray(s)||Array.isArray(o)){if(!e(s,o))return!1}else if(!kS(s,o))return!1}return!0},kS=function(t,n){if(Ye(t)&&Ye(n))return!0;if(!Ye(t)&&!Ye(n)){var r=t.props||{},a=r.children,s=yS(r,o3),o=n.props||{},l=o.children,c=yS(o,l3);return a&&l?Lo(s,c)&&xy(a,l):!a&&!l?Lo(s,c):!1}return!1},SS=function(t,n){var r=[],a={};return hw(t).forEach(function(s,o){if(d3(s))r.push(s);else if(s){var l=Ta(s.type),c=n[l]||{},u=c.handler,d=c.once;if(u&&(!d||!a[l])){var f=u(s,l,o);r.push(f),a[l]=!0}}}),r},h3=function(t){var n=t&&t.type;return n&&bS[n]?bS[n]:null},p3=function(t,n){return hw(n).indexOf(t)},m3=["children","width","height","viewBox","className","style","title","desc"];function wy(){return wy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wy.apply(this,arguments)}function g3(e,t){if(e==null)return{};var n=v3(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function v3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ky(e){var t=e.children,n=e.width,r=e.height,a=e.viewBox,s=e.className,o=e.style,l=e.title,c=e.desc,u=g3(e,m3),d=a||{width:n,height:r,x:0,y:0},f=Ve("recharts-surface",s);return V.createElement("svg",wy({},Ke(u,!0,"svg"),{className:f,width:n,height:r,style:o,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height)}),V.createElement("title",null,l),V.createElement("desc",null,c),t)}var y3=["children","className"];function Sy(){return Sy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sy.apply(this,arguments)}function b3(e,t){if(e==null)return{};var n=x3(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function x3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var nn=V.forwardRef(function(e,t){var n=e.children,r=e.className,a=b3(e,y3),s=Ve("recharts-layer",r);return V.createElement("g",Sy({className:s},Ke(a,!0),{ref:t}),n)}),Oa=function(t,n){for(var r=arguments.length,a=new Array(r>2?r-2:0),s=2;s<r;s++)a[s-2]=arguments[s]};function w3(e,t,n){var r=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(a);++r<a;)s[r]=e[r+t];return s}var k3=w3,S3=k3;function j3(e,t,n){var r=e.length;return n=n===void 0?r:n,!t&&n>=r?e:S3(e,t,n)}var N3=j3,E3="\\ud800-\\udfff",_3="\\u0300-\\u036f",C3="\\ufe20-\\ufe2f",A3="\\u20d0-\\u20ff",T3=_3+C3+A3,O3="\\ufe0e\\ufe0f",P3="\\u200d",R3=RegExp("["+P3+E3+T3+O3+"]");function M3(e){return R3.test(e)}var VT=M3;function I3(e){return e.split("")}var $3=I3,YT="\\ud800-\\udfff",L3="\\u0300-\\u036f",D3="\\ufe20-\\ufe2f",B3="\\u20d0-\\u20ff",z3=L3+D3+B3,F3="\\ufe0e\\ufe0f",U3="["+YT+"]",jy="["+z3+"]",Ny="\\ud83c[\\udffb-\\udfff]",W3="(?:"+jy+"|"+Ny+")",XT="[^"+YT+"]",QT="(?:\\ud83c[\\udde6-\\uddff]){2}",ZT="[\\ud800-\\udbff][\\udc00-\\udfff]",H3="\\u200d",JT=W3+"?",eO="["+F3+"]?",G3="(?:"+H3+"(?:"+[XT,QT,ZT].join("|")+")"+eO+JT+")*",q3=eO+JT+G3,K3="(?:"+[XT+jy+"?",jy,QT,ZT,U3].join("|")+")",V3=RegExp(Ny+"(?="+Ny+")|"+K3+q3,"g");function Y3(e){return e.match(V3)||[]}var X3=Y3,Q3=$3,Z3=VT,J3=X3;function e4(e){return Z3(e)?J3(e):Q3(e)}var t4=e4,n4=N3,r4=VT,a4=t4,i4=UT;function s4(e){return function(t){t=i4(t);var n=r4(t)?a4(t):void 0,r=n?n[0]:t.charAt(0),a=n?n4(n,1).join(""):t.slice(1);return r[e]()+a}}var o4=s4,l4=o4,c4=l4("toUpperCase"),u4=c4;const Yp=Ze(u4);function ft(e){return function(){return e}}const tO=Math.cos,ih=Math.sin,Gr=Math.sqrt,sh=Math.PI,Xp=2*sh,Ey=Math.PI,_y=2*Ey,as=1e-6,d4=_y-as;function nO(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function f4(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return nO;const n=10**t;return function(r){this._+=r[0];for(let a=1,s=r.length;a<s;++a)this._+=Math.round(arguments[a]*n)/n+r[a]}}class h4{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?nO:f4(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,a){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+a}`}bezierCurveTo(t,n,r,a,s,o){this._append`C${+t},${+n},${+r},${+a},${this._x1=+s},${this._y1=+o}`}arcTo(t,n,r,a,s){if(t=+t,n=+n,r=+r,a=+a,s=+s,s<0)throw new Error(`negative radius: ${s}`);let o=this._x1,l=this._y1,c=r-t,u=a-n,d=o-t,f=l-n,h=d*d+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(h>as)if(!(Math.abs(f*c-u*d)>as)||!s)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-o,m=a-l,g=c*c+u*u,y=p*p+m*m,v=Math.sqrt(g),S=Math.sqrt(h),w=s*Math.tan((Ey-Math.acos((g+h-y)/(2*v*S)))/2),N=w/S,k=w/v;Math.abs(N-1)>as&&this._append`L${t+N*d},${n+N*f}`,this._append`A${s},${s},0,0,${+(f*p>d*m)},${this._x1=t+k*c},${this._y1=n+k*u}`}}arc(t,n,r,a,s,o){if(t=+t,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let l=r*Math.cos(a),c=r*Math.sin(a),u=t+l,d=n+c,f=1^o,h=o?a-s:s-a;this._x1===null?this._append`M${u},${d}`:(Math.abs(this._x1-u)>as||Math.abs(this._y1-d)>as)&&this._append`L${u},${d}`,r&&(h<0&&(h=h%_y+_y),h>d4?this._append`A${r},${r},0,1,${f},${t-l},${n-c}A${r},${r},0,1,${f},${this._x1=u},${this._y1=d}`:h>as&&this._append`A${r},${r},0,${+(h>=Ey)},${f},${this._x1=t+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(t,n,r,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+a}h${-r}Z`}toString(){return this._}}function pw(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new h4(t)}function mw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function rO(e){this._context=e}rO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Qp(e){return new rO(e)}function aO(e){return e[0]}function iO(e){return e[1]}function sO(e,t){var n=ft(!0),r=null,a=Qp,s=null,o=pw(l);e=typeof e=="function"?e:e===void 0?aO:ft(e),t=typeof t=="function"?t:t===void 0?iO:ft(t);function l(c){var u,d=(c=mw(c)).length,f,h=!1,p;for(r==null&&(s=a(p=o())),u=0;u<=d;++u)!(u<d&&n(f=c[u],u,c))===h&&((h=!h)?s.lineStart():s.lineEnd()),h&&s.point(+e(f,u,c),+t(f,u,c));if(p)return s=null,p+""||null}return l.x=function(c){return arguments.length?(e=typeof c=="function"?c:ft(+c),l):e},l.y=function(c){return arguments.length?(t=typeof c=="function"?c:ft(+c),l):t},l.defined=function(c){return arguments.length?(n=typeof c=="function"?c:ft(!!c),l):n},l.curve=function(c){return arguments.length?(a=c,r!=null&&(s=a(r)),l):a},l.context=function(c){return arguments.length?(c==null?r=s=null:s=a(r=c),l):r},l}function Bd(e,t,n){var r=null,a=ft(!0),s=null,o=Qp,l=null,c=pw(u);e=typeof e=="function"?e:e===void 0?aO:ft(+e),t=typeof t=="function"?t:ft(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?iO:ft(+n);function u(f){var h,p,m,g=(f=mw(f)).length,y,v=!1,S,w=new Array(g),N=new Array(g);for(s==null&&(l=o(S=c())),h=0;h<=g;++h){if(!(h<g&&a(y=f[h],h,f))===v)if(v=!v)p=h,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),m=h-1;m>=p;--m)l.point(w[m],N[m]);l.lineEnd(),l.areaEnd()}v&&(w[h]=+e(y,h,f),N[h]=+t(y,h,f),l.point(r?+r(y,h,f):w[h],n?+n(y,h,f):N[h]))}if(S)return l=null,S+""||null}function d(){return sO().defined(a).curve(o).context(s)}return u.x=function(f){return arguments.length?(e=typeof f=="function"?f:ft(+f),r=null,u):e},u.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ft(+f),u):e},u.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ft(+f),u):r},u.y=function(f){return arguments.length?(t=typeof f=="function"?f:ft(+f),n=null,u):t},u.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ft(+f),u):t},u.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ft(+f),u):n},u.lineX0=u.lineY0=function(){return d().x(e).y(t)},u.lineY1=function(){return d().x(e).y(n)},u.lineX1=function(){return d().x(r).y(t)},u.defined=function(f){return arguments.length?(a=typeof f=="function"?f:ft(!!f),u):a},u.curve=function(f){return arguments.length?(o=f,s!=null&&(l=o(s)),u):o},u.context=function(f){return arguments.length?(f==null?s=l=null:l=o(s=f),u):s},u}class oO{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function p4(e){return new oO(e,!0)}function m4(e){return new oO(e,!1)}const gw={draw(e,t){const n=Gr(t/sh);e.moveTo(n,0),e.arc(0,0,n,0,Xp)}},g4={draw(e,t){const n=Gr(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},lO=Gr(1/3),v4=lO*2,y4={draw(e,t){const n=Gr(t/v4),r=n*lO;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},b4={draw(e,t){const n=Gr(t),r=-n/2;e.rect(r,r,n,n)}},x4=.8908130915292852,cO=ih(sh/10)/ih(7*sh/10),w4=ih(Xp/10)*cO,k4=-tO(Xp/10)*cO,S4={draw(e,t){const n=Gr(t*x4),r=w4*n,a=k4*n;e.moveTo(0,-n),e.lineTo(r,a);for(let s=1;s<5;++s){const o=Xp*s/5,l=tO(o),c=ih(o);e.lineTo(c*n,-l*n),e.lineTo(l*r-c*a,c*r+l*a)}e.closePath()}},dg=Gr(3),j4={draw(e,t){const n=-Gr(t/(dg*3));e.moveTo(0,n*2),e.lineTo(-dg*n,-n),e.lineTo(dg*n,-n),e.closePath()}},dr=-.5,fr=Gr(3)/2,Cy=1/Gr(12),N4=(Cy/2+1)*3,E4={draw(e,t){const n=Gr(t/N4),r=n/2,a=n*Cy,s=r,o=n*Cy+n,l=-s,c=o;e.moveTo(r,a),e.lineTo(s,o),e.lineTo(l,c),e.lineTo(dr*r-fr*a,fr*r+dr*a),e.lineTo(dr*s-fr*o,fr*s+dr*o),e.lineTo(dr*l-fr*c,fr*l+dr*c),e.lineTo(dr*r+fr*a,dr*a-fr*r),e.lineTo(dr*s+fr*o,dr*o-fr*s),e.lineTo(dr*l+fr*c,dr*c-fr*l),e.closePath()}};function _4(e,t){let n=null,r=pw(a);e=typeof e=="function"?e:ft(e||gw),t=typeof t=="function"?t:ft(t===void 0?64:+t);function a(){let s;if(n||(n=s=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),s)return n=null,s+""||null}return a.type=function(s){return arguments.length?(e=typeof s=="function"?s:ft(s),a):e},a.size=function(s){return arguments.length?(t=typeof s=="function"?s:ft(+s),a):t},a.context=function(s){return arguments.length?(n=s??null,a):n},a}function oh(){}function lh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function uO(e){this._context=e}uO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function C4(e){return new uO(e)}function dO(e){this._context=e}dO.prototype={areaStart:oh,areaEnd:oh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:lh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function A4(e){return new dO(e)}function fO(e){this._context=e}fO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:lh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function T4(e){return new fO(e)}function hO(e){this._context=e}hO.prototype={areaStart:oh,areaEnd:oh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function O4(e){return new hO(e)}function jS(e){return e<0?-1:1}function NS(e,t,n){var r=e._x1-e._x0,a=t-e._x1,s=(e._y1-e._y0)/(r||a<0&&-0),o=(n-e._y1)/(a||r<0&&-0),l=(s*a+o*r)/(r+a);return(jS(s)+jS(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(l))||0}function ES(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function fg(e,t,n){var r=e._x0,a=e._y0,s=e._x1,o=e._y1,l=(s-r)/3;e._context.bezierCurveTo(r+l,a+l*t,s-l,o-l*n,s,o)}function ch(e){this._context=e}ch.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:fg(this,this._t0,ES(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,fg(this,ES(this,n=NS(this,e,t)),n);break;default:fg(this,this._t0,n=NS(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function pO(e){this._context=new mO(e)}(pO.prototype=Object.create(ch.prototype)).point=function(e,t){ch.prototype.point.call(this,t,e)};function mO(e){this._context=e}mO.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,a,s){this._context.bezierCurveTo(t,e,r,n,s,a)}};function P4(e){return new ch(e)}function R4(e){return new pO(e)}function gO(e){this._context=e}gO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=_S(e),a=_S(t),s=0,o=1;o<n;++s,++o)this._context.bezierCurveTo(r[0][s],a[0][s],r[1][s],a[1][s],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function _S(e){var t,n=e.length-1,r,a=new Array(n),s=new Array(n),o=new Array(n);for(a[0]=0,s[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)a[t]=1,s[t]=4,o[t]=4*e[t]+2*e[t+1];for(a[n-1]=2,s[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=a[t]/s[t-1],s[t]-=r,o[t]-=r*o[t-1];for(a[n-1]=o[n-1]/s[n-1],t=n-2;t>=0;--t)a[t]=(o[t]-a[t+1])/s[t];for(s[n-1]=(e[n]+a[n-1])/2,t=0;t<n-1;++t)s[t]=2*e[t+1]-a[t+1];return[a,s]}function M4(e){return new gO(e)}function Zp(e,t){this._context=e,this._t=t}Zp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function I4(e){return new Zp(e,.5)}function $4(e){return new Zp(e,0)}function L4(e){return new Zp(e,1)}function Yo(e,t){if((o=e.length)>1)for(var n=1,r,a,s=e[t[0]],o,l=s.length;n<o;++n)for(a=s,s=e[t[n]],r=0;r<l;++r)s[r][1]+=s[r][0]=isNaN(a[r][1])?a[r][0]:a[r][1]}function Ay(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function D4(e,t){return e[t]}function B4(e){const t=[];return t.key=e,t}function z4(){var e=ft([]),t=Ay,n=Yo,r=D4;function a(s){var o=Array.from(e.apply(this,arguments),B4),l,c=o.length,u=-1,d;for(const f of s)for(l=0,++u;l<c;++l)(o[l][u]=[0,+r(f,o[l].key,u,s)]).data=f;for(l=0,d=mw(t(o));l<c;++l)o[d[l]].index=l;return n(o,d),o}return a.keys=function(s){return arguments.length?(e=typeof s=="function"?s:ft(Array.from(s)),a):e},a.value=function(s){return arguments.length?(r=typeof s=="function"?s:ft(+s),a):r},a.order=function(s){return arguments.length?(t=s==null?Ay:typeof s=="function"?s:ft(Array.from(s)),a):t},a.offset=function(s){return arguments.length?(n=s??Yo,a):n},a}function F4(e,t){if((r=e.length)>0){for(var n,r,a=0,s=e[0].length,o;a<s;++a){for(o=n=0;n<r;++n)o+=e[n][a][1]||0;if(o)for(n=0;n<r;++n)e[n][a][1]/=o}Yo(e,t)}}function U4(e,t){if((a=e.length)>0){for(var n=0,r=e[t[0]],a,s=r.length;n<s;++n){for(var o=0,l=0;o<a;++o)l+=e[o][n][1]||0;r[n][1]+=r[n][0]=-l/2}Yo(e,t)}}function W4(e,t){if(!(!((o=e.length)>0)||!((s=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,s,o;r<s;++r){for(var l=0,c=0,u=0;l<o;++l){for(var d=e[t[l]],f=d[r][1]||0,h=d[r-1][1]||0,p=(f-h)/2,m=0;m<l;++m){var g=e[t[m]],y=g[r][1]||0,v=g[r-1][1]||0;p+=y-v}c+=f,u+=p*f}a[r-1][1]+=a[r-1][0]=n,c&&(n-=u/c)}a[r-1][1]+=a[r-1][0]=n,Yo(e,t)}}function lu(e){"@babel/helpers - typeof";return lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lu(e)}var H4=["type","size","sizeType"];function Ty(){return Ty=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ty.apply(this,arguments)}function CS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function AS(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?CS(Object(n),!0).forEach(function(r){G4(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):CS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function G4(e,t,n){return t=q4(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q4(e){var t=K4(e,"string");return lu(t)=="symbol"?t:t+""}function K4(e,t){if(lu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(lu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function V4(e,t){if(e==null)return{};var n=Y4(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Y4(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var vO={symbolCircle:gw,symbolCross:g4,symbolDiamond:y4,symbolSquare:b4,symbolStar:S4,symbolTriangle:j4,symbolWye:E4},X4=Math.PI/180,Q4=function(t){var n="symbol".concat(Yp(t));return vO[n]||gw},Z4=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*X4;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},J4=function(t,n){vO["symbol".concat(Yp(t))]=n},vw=function(t){var n=t.type,r=n===void 0?"circle":n,a=t.size,s=a===void 0?64:a,o=t.sizeType,l=o===void 0?"area":o,c=V4(t,H4),u=AS(AS({},c),{},{type:r,size:s,sizeType:l}),d=function(){var y=Q4(r),v=_4().type(y).size(Z4(s,l,r));return v()},f=u.className,h=u.cx,p=u.cy,m=Ke(u,!0);return h===+h&&p===+p&&s===+s?V.createElement("path",Ty({},m,{className:Ve("recharts-symbols",f),transform:"translate(".concat(h,", ").concat(p,")"),d:d()})):null};vw.registerSymbol=J4;function Xo(e){"@babel/helpers - typeof";return Xo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xo(e)}function Oy(){return Oy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oy.apply(this,arguments)}function TS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function e6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?TS(Object(n),!0).forEach(function(r){cu(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function t6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n6(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,bO(r.key),r)}}function r6(e,t,n){return t&&n6(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function a6(e,t,n){return t=uh(t),i6(e,yO()?Reflect.construct(t,n||[],uh(e).constructor):t.apply(e,n))}function i6(e,t){if(t&&(Xo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return s6(e)}function s6(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(yO=function(){return!!e})()}function uh(e){return uh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},uh(e)}function o6(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Py(e,t)}function Py(e,t){return Py=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Py(e,t)}function cu(e,t,n){return t=bO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bO(e){var t=l6(e,"string");return Xo(t)=="symbol"?t:t+""}function l6(e,t){if(Xo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Xo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var hr=32,yw=function(e){function t(){return t6(this,t),a6(this,t,arguments)}return o6(t,e),r6(t,[{key:"renderIcon",value:function(r){var a=this.props.inactiveColor,s=hr/2,o=hr/6,l=hr/3,c=r.inactive?a:r.color;if(r.type==="plainline")return V.createElement("line",{strokeWidth:4,fill:"none",stroke:c,strokeDasharray:r.payload.strokeDasharray,x1:0,y1:s,x2:hr,y2:s,className:"recharts-legend-icon"});if(r.type==="line")return V.createElement("path",{strokeWidth:4,fill:"none",stroke:c,d:"M0,".concat(s,"h").concat(l,`
|
|
76
|
-
A`).concat(o,",").concat(o,",0,1,1,").concat(2*l,",").concat(s,`
|
|
77
|
-
H`).concat(hr,"M").concat(2*l,",").concat(s,`
|
|
78
|
-
A`).concat(o,",").concat(o,",0,1,1,").concat(l,",").concat(s),className:"recharts-legend-icon"});if(r.type==="rect")return V.createElement("path",{stroke:"none",fill:c,d:"M0,".concat(hr/8,"h").concat(hr,"v").concat(hr*3/4,"h").concat(-hr,"z"),className:"recharts-legend-icon"});if(V.isValidElement(r.legendIcon)){var u=e6({},r);return delete u.legendIcon,V.cloneElement(r.legendIcon,u)}return V.createElement(vw,{fill:c,cx:s,cy:s,size:hr,sizeType:"diameter",type:r.type})}},{key:"renderItems",value:function(){var r=this,a=this.props,s=a.payload,o=a.iconSize,l=a.layout,c=a.formatter,u=a.inactiveColor,d={x:0,y:0,width:hr,height:hr},f={display:l==="horizontal"?"inline-block":"block",marginRight:10},h={display:"inline-block",verticalAlign:"middle",marginRight:4};return s.map(function(p,m){var g=p.formatter||c,y=Ve(cu(cu({"recharts-legend-item":!0},"legend-item-".concat(m),!0),"inactive",p.inactive));if(p.type==="none")return null;var v=Le(p.value)?null:p.value;Oa(!Le(p.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var S=p.inactive?u:p.color;return V.createElement("li",Oy({className:y,style:f,key:"legend-item-".concat(m)},ah(r.props,p,m)),V.createElement(ky,{width:o,height:o,viewBox:d,style:h},r.renderIcon(p)),V.createElement("span",{className:"recharts-legend-item-text",style:{color:S}},g?g(v,p,m):v))})}},{key:"render",value:function(){var r=this.props,a=r.payload,s=r.layout,o=r.align;if(!a||!a.length)return null;var l={padding:0,margin:0,textAlign:s==="horizontal"?o:"left"};return V.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}])}(b.PureComponent);cu(yw,"displayName","Legend");cu(yw,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var c6=Ip;function u6(){this.__data__=new c6,this.size=0}var d6=u6;function f6(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var h6=f6;function p6(e){return this.__data__.get(e)}var m6=p6;function g6(e){return this.__data__.has(e)}var v6=g6,y6=Ip,b6=iw,x6=sw,w6=200;function k6(e,t){var n=this.__data__;if(n instanceof y6){var r=n.__data__;if(!b6||r.length<w6-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new x6(r)}return n.set(e,t),this.size=n.size,this}var S6=k6,j6=Ip,N6=d6,E6=h6,_6=m6,C6=v6,A6=S6;function Cl(e){var t=this.__data__=new j6(e);this.size=t.size}Cl.prototype.clear=N6;Cl.prototype.delete=E6;Cl.prototype.get=_6;Cl.prototype.has=C6;Cl.prototype.set=A6;var xO=Cl,T6="__lodash_hash_undefined__";function O6(e){return this.__data__.set(e,T6),this}var P6=O6;function R6(e){return this.__data__.has(e)}var M6=R6,I6=sw,$6=P6,L6=M6;function dh(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new I6;++t<n;)this.add(e[t])}dh.prototype.add=dh.prototype.push=$6;dh.prototype.has=L6;var wO=dh;function D6(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var kO=D6;function B6(e,t){return e.has(t)}var SO=B6,z6=wO,F6=kO,U6=SO,W6=1,H6=2;function G6(e,t,n,r,a,s){var o=n&W6,l=e.length,c=t.length;if(l!=c&&!(o&&c>l))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,p=n&H6?new z6:void 0;for(s.set(e,t),s.set(t,e);++f<l;){var m=e[f],g=t[f];if(r)var y=o?r(g,m,f,t,e,s):r(m,g,f,e,t,s);if(y!==void 0){if(y)continue;h=!1;break}if(p){if(!F6(t,function(v,S){if(!U6(p,S)&&(m===v||a(m,v,n,r,s)))return p.push(S)})){h=!1;break}}else if(!(m===g||a(m,g,n,r,s))){h=!1;break}}return s.delete(e),s.delete(t),h}var jO=G6,q6=ua,K6=q6.Uint8Array,V6=K6;function Y6(e){var t=-1,n=Array(e.size);return e.forEach(function(r,a){n[++t]=[a,r]}),n}var X6=Y6;function Q6(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var bw=Q6,OS=Ju,PS=V6,Z6=aw,J6=jO,eW=X6,tW=bw,nW=1,rW=2,aW="[object Boolean]",iW="[object Date]",sW="[object Error]",oW="[object Map]",lW="[object Number]",cW="[object RegExp]",uW="[object Set]",dW="[object String]",fW="[object Symbol]",hW="[object ArrayBuffer]",pW="[object DataView]",RS=OS?OS.prototype:void 0,hg=RS?RS.valueOf:void 0;function mW(e,t,n,r,a,s,o){switch(n){case pW:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case hW:return!(e.byteLength!=t.byteLength||!s(new PS(e),new PS(t)));case aW:case iW:case lW:return Z6(+e,+t);case sW:return e.name==t.name&&e.message==t.message;case cW:case dW:return e==t+"";case oW:var l=eW;case uW:var c=r&nW;if(l||(l=tW),e.size!=t.size&&!c)return!1;var u=o.get(e);if(u)return u==t;r|=rW,o.set(e,t);var d=J6(l(e),l(t),r,a,s,o);return o.delete(e),d;case fW:if(hg)return hg.call(e)==hg.call(t)}return!1}var gW=mW;function vW(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}var NO=vW,yW=NO,bW=Wn;function xW(e,t,n){var r=t(e);return bW(e)?r:yW(r,n(e))}var wW=xW;function kW(e,t){for(var n=-1,r=e==null?0:e.length,a=0,s=[];++n<r;){var o=e[n];t(o,n,e)&&(s[a++]=o)}return s}var SW=kW;function jW(){return[]}var NW=jW,EW=SW,_W=NW,CW=Object.prototype,AW=CW.propertyIsEnumerable,MS=Object.getOwnPropertySymbols,TW=MS?function(e){return e==null?[]:(e=Object(e),EW(MS(e),function(t){return AW.call(e,t)}))}:_W,OW=TW;function PW(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var RW=PW,MW=Ua,IW=Wa,$W="[object Arguments]";function LW(e){return IW(e)&&MW(e)==$W}var DW=LW,IS=DW,BW=Wa,EO=Object.prototype,zW=EO.hasOwnProperty,FW=EO.propertyIsEnumerable,UW=IS(function(){return arguments}())?IS:function(e){return BW(e)&&zW.call(e,"callee")&&!FW.call(e,"callee")},xw=UW,fh={exports:{}};function WW(){return!1}var HW=WW;fh.exports;(function(e,t){var n=ua,r=HW,a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,o=s&&s.exports===a,l=o?n.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||r;e.exports=u})(fh,fh.exports);var _O=fh.exports,GW=9007199254740991,qW=/^(?:0|[1-9]\d*)$/;function KW(e,t){var n=typeof e;return t=t??GW,!!t&&(n=="number"||n!="symbol"&&qW.test(e))&&e>-1&&e%1==0&&e<t}var ww=KW,VW=9007199254740991;function YW(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=VW}var kw=YW,XW=Ua,QW=kw,ZW=Wa,JW="[object Arguments]",e8="[object Array]",t8="[object Boolean]",n8="[object Date]",r8="[object Error]",a8="[object Function]",i8="[object Map]",s8="[object Number]",o8="[object Object]",l8="[object RegExp]",c8="[object Set]",u8="[object String]",d8="[object WeakMap]",f8="[object ArrayBuffer]",h8="[object DataView]",p8="[object Float32Array]",m8="[object Float64Array]",g8="[object Int8Array]",v8="[object Int16Array]",y8="[object Int32Array]",b8="[object Uint8Array]",x8="[object Uint8ClampedArray]",w8="[object Uint16Array]",k8="[object Uint32Array]",yt={};yt[p8]=yt[m8]=yt[g8]=yt[v8]=yt[y8]=yt[b8]=yt[x8]=yt[w8]=yt[k8]=!0;yt[JW]=yt[e8]=yt[f8]=yt[t8]=yt[h8]=yt[n8]=yt[r8]=yt[a8]=yt[i8]=yt[s8]=yt[o8]=yt[l8]=yt[c8]=yt[u8]=yt[d8]=!1;function S8(e){return ZW(e)&&QW(e.length)&&!!yt[XW(e)]}var j8=S8;function N8(e){return function(t){return e(t)}}var CO=N8,hh={exports:{}};hh.exports;(function(e,t){var n=$T,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===r,o=s&&n.process,l=function(){try{var c=a&&a.require&&a.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();e.exports=l})(hh,hh.exports);var E8=hh.exports,_8=j8,C8=CO,$S=E8,LS=$S&&$S.isTypedArray,A8=LS?C8(LS):_8,AO=A8,T8=RW,O8=xw,P8=Wn,R8=_O,M8=ww,I8=AO,$8=Object.prototype,L8=$8.hasOwnProperty;function D8(e,t){var n=P8(e),r=!n&&O8(e),a=!n&&!r&&R8(e),s=!n&&!r&&!a&&I8(e),o=n||r||a||s,l=o?T8(e.length,String):[],c=l.length;for(var u in e)(t||L8.call(e,u))&&!(o&&(u=="length"||a&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||M8(u,c)))&&l.push(u);return l}var B8=D8,z8=Object.prototype;function F8(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||z8;return e===n}var U8=F8;function W8(e,t){return function(n){return e(t(n))}}var TO=W8,H8=TO,G8=H8(Object.keys,Object),q8=G8,K8=U8,V8=q8,Y8=Object.prototype,X8=Y8.hasOwnProperty;function Q8(e){if(!K8(e))return V8(e);var t=[];for(var n in Object(e))X8.call(e,n)&&n!="constructor"&&t.push(n);return t}var Z8=Q8,J8=rw,eH=kw;function tH(e){return e!=null&&eH(e.length)&&!J8(e)}var td=tH,nH=B8,rH=Z8,aH=td;function iH(e){return aH(e)?nH(e):rH(e)}var Jp=iH,sH=wW,oH=OW,lH=Jp;function cH(e){return sH(e,lH,oH)}var uH=cH,DS=uH,dH=1,fH=Object.prototype,hH=fH.hasOwnProperty;function pH(e,t,n,r,a,s){var o=n&dH,l=DS(e),c=l.length,u=DS(t),d=u.length;if(c!=d&&!o)return!1;for(var f=c;f--;){var h=l[f];if(!(o?h in t:hH.call(t,h)))return!1}var p=s.get(e),m=s.get(t);if(p&&m)return p==t&&m==e;var g=!0;s.set(e,t),s.set(t,e);for(var y=o;++f<c;){h=l[f];var v=e[h],S=t[h];if(r)var w=o?r(S,v,h,t,e,s):r(v,S,h,e,t,s);if(!(w===void 0?v===S||a(v,S,n,r,s):w)){g=!1;break}y||(y=h=="constructor")}if(g&&!y){var N=e.constructor,k=t.constructor;N!=k&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof k=="function"&&k instanceof k)&&(g=!1)}return s.delete(e),s.delete(t),g}var mH=pH,gH=zs,vH=ua,yH=gH(vH,"DataView"),bH=yH,xH=zs,wH=ua,kH=xH(wH,"Promise"),SH=kH,jH=zs,NH=ua,EH=jH(NH,"Set"),OO=EH,_H=zs,CH=ua,AH=_H(CH,"WeakMap"),TH=AH,Ry=bH,My=iw,Iy=SH,$y=OO,Ly=TH,PO=Ua,Al=DT,BS="[object Map]",OH="[object Object]",zS="[object Promise]",FS="[object Set]",US="[object WeakMap]",WS="[object DataView]",PH=Al(Ry),RH=Al(My),MH=Al(Iy),IH=Al($y),$H=Al(Ly),is=PO;(Ry&&is(new Ry(new ArrayBuffer(1)))!=WS||My&&is(new My)!=BS||Iy&&is(Iy.resolve())!=zS||$y&&is(new $y)!=FS||Ly&&is(new Ly)!=US)&&(is=function(e){var t=PO(e),n=t==OH?e.constructor:void 0,r=n?Al(n):"";if(r)switch(r){case PH:return WS;case RH:return BS;case MH:return zS;case IH:return FS;case $H:return US}return t});var LH=is,pg=xO,DH=jO,BH=gW,zH=mH,HS=LH,GS=Wn,qS=_O,FH=AO,UH=1,KS="[object Arguments]",VS="[object Array]",zd="[object Object]",WH=Object.prototype,YS=WH.hasOwnProperty;function HH(e,t,n,r,a,s){var o=GS(e),l=GS(t),c=o?VS:HS(e),u=l?VS:HS(t);c=c==KS?zd:c,u=u==KS?zd:u;var d=c==zd,f=u==zd,h=c==u;if(h&&qS(e)){if(!qS(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new pg),o||FH(e)?DH(e,t,n,r,a,s):BH(e,t,c,n,r,a,s);if(!(n&UH)){var p=d&&YS.call(e,"__wrapped__"),m=f&&YS.call(t,"__wrapped__");if(p||m){var g=p?e.value():e,y=m?t.value():t;return s||(s=new pg),a(g,y,n,r,s)}}return h?(s||(s=new pg),zH(e,t,n,r,a,s)):!1}var GH=HH,qH=GH,XS=Wa;function RO(e,t,n,r,a){return e===t?!0:e==null||t==null||!XS(e)&&!XS(t)?e!==e&&t!==t:qH(e,t,n,r,RO,a)}var Sw=RO,KH=xO,VH=Sw,YH=1,XH=2;function QH(e,t,n,r){var a=n.length,s=a,o=!r;if(e==null)return!s;for(e=Object(e);a--;){var l=n[a];if(o&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a<s;){l=n[a];var c=l[0],u=e[c],d=l[1];if(o&&l[2]){if(u===void 0&&!(c in e))return!1}else{var f=new KH;if(r)var h=r(u,d,c,e,t,f);if(!(h===void 0?VH(d,u,YH|XH,r,f):h))return!1}}return!0}var ZH=QH,JH=Di;function e5(e){return e===e&&!JH(e)}var MO=e5,t5=MO,n5=Jp;function r5(e){for(var t=n5(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,t5(a)]}return t}var a5=r5;function i5(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}var IO=i5,s5=ZH,o5=a5,l5=IO;function c5(e){var t=o5(e);return t.length==1&&t[0][2]?l5(t[0][0],t[0][1]):function(n){return n===e||s5(n,e,t)}}var u5=c5;function d5(e,t){return e!=null&&t in Object(e)}var f5=d5,h5=WT,p5=xw,m5=Wn,g5=ww,v5=kw,y5=Lp;function b5(e,t,n){t=h5(t,e);for(var r=-1,a=t.length,s=!1;++r<a;){var o=y5(t[r]);if(!(s=e!=null&&n(e,o)))break;e=e[o]}return s||++r!=a?s:(a=e==null?0:e.length,!!a&&v5(a)&&g5(o,a)&&(m5(e)||p5(e)))}var x5=b5,w5=f5,k5=x5;function S5(e,t){return e!=null&&k5(e,t,w5)}var j5=S5,N5=Sw,E5=HT,_5=j5,C5=nw,A5=MO,T5=IO,O5=Lp,P5=1,R5=2;function M5(e,t){return C5(e)&&A5(t)?T5(O5(e),t):function(n){var r=E5(n,e);return r===void 0&&r===t?_5(n,e):N5(t,r,P5|R5)}}var I5=M5;function $5(e){return e}var Tl=$5;function L5(e){return function(t){return t==null?void 0:t[e]}}var D5=L5,B5=cw;function z5(e){return function(t){return B5(t,e)}}var F5=z5,U5=D5,W5=F5,H5=nw,G5=Lp;function q5(e){return H5(e)?U5(G5(e)):W5(e)}var K5=q5,V5=u5,Y5=I5,X5=Tl,Q5=Wn,Z5=K5;function J5(e){return typeof e=="function"?e:e==null?X5:typeof e=="object"?Q5(e)?Y5(e[0],e[1]):V5(e):Z5(e)}var Bi=J5;function e9(e,t,n,r){for(var a=e.length,s=n+(r?1:-1);r?s--:++s<a;)if(t(e[s],s,e))return s;return-1}var $O=e9;function t9(e){return e!==e}var n9=t9;function r9(e,t,n){for(var r=n-1,a=e.length;++r<a;)if(e[r]===t)return r;return-1}var a9=r9,i9=$O,s9=n9,o9=a9;function l9(e,t,n){return t===t?o9(e,t,n):i9(e,s9,n)}var c9=l9,u9=c9;function d9(e,t){var n=e==null?0:e.length;return!!n&&u9(e,t,0)>-1}var f9=d9;function h9(e,t,n){for(var r=-1,a=e==null?0:e.length;++r<a;)if(n(t,e[r]))return!0;return!1}var p9=h9;function m9(){}var g9=m9,mg=OO,v9=g9,y9=bw,b9=1/0,x9=mg&&1/y9(new mg([,-0]))[1]==b9?function(e){return new mg(e)}:v9,w9=x9,k9=wO,S9=f9,j9=p9,N9=SO,E9=w9,_9=bw,C9=200;function A9(e,t,n){var r=-1,a=S9,s=e.length,o=!0,l=[],c=l;if(n)o=!1,a=j9;else if(s>=C9){var u=t?null:E9(e);if(u)return _9(u);o=!1,a=N9,c=new k9}else c=t?[]:l;e:for(;++r<s;){var d=e[r],f=t?t(d):d;if(d=n||d!==0?d:0,o&&f===f){for(var h=c.length;h--;)if(c[h]===f)continue e;t&&c.push(f),l.push(d)}else a(c,f,n)||(c!==l&&c.push(f),l.push(d))}return l}var T9=A9,O9=Bi,P9=T9;function R9(e,t){return e&&e.length?P9(e,O9(t)):[]}var M9=R9;const QS=Ze(M9);function LO(e,t,n){return t===!0?QS(e,n):Le(t)?QS(e,t):e}function Qo(e){"@babel/helpers - typeof";return Qo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qo(e)}var I9=["ref"];function ZS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function wa(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZS(Object(n),!0).forEach(function(r){em(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function $9(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function JS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,BO(r.key),r)}}function L9(e,t,n){return t&&JS(e.prototype,t),n&&JS(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function D9(e,t,n){return t=ph(t),B9(e,DO()?Reflect.construct(t,n||[],ph(e).constructor):t.apply(e,n))}function B9(e,t){if(t&&(Qo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return z9(e)}function z9(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function DO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(DO=function(){return!!e})()}function ph(e){return ph=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ph(e)}function F9(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Dy(e,t)}function Dy(e,t){return Dy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Dy(e,t)}function em(e,t,n){return t=BO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function BO(e){var t=U9(e,"string");return Qo(t)=="symbol"?t:t+""}function U9(e,t){if(Qo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Qo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function W9(e,t){if(e==null)return{};var n=H9(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function H9(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function G9(e){return e.value}function q9(e,t){if(V.isValidElement(e))return V.cloneElement(e,t);if(typeof e=="function")return V.createElement(e,t);t.ref;var n=W9(t,I9);return V.createElement(yw,n)}var ej=1,ws=function(e){function t(){var n;$9(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=D9(this,t,[].concat(a)),em(n,"lastBoundingBox",{width:-1,height:-1}),n}return F9(t,e),L9(t,[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"getBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();return r.height=this.wrapperNode.offsetHeight,r.width=this.wrapperNode.offsetWidth,r}return null}},{key:"updateBBox",value:function(){var r=this.props.onBBoxUpdate,a=this.getBBox();a?(Math.abs(a.width-this.lastBoundingBox.width)>ej||Math.abs(a.height-this.lastBoundingBox.height)>ej)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,r&&r(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?wa({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var a=this.props,s=a.layout,o=a.align,l=a.verticalAlign,c=a.margin,u=a.chartWidth,d=a.chartHeight,f,h;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(o==="center"&&s==="vertical"){var p=this.getBBoxSnapshot();f={left:((u||0)-p.width)/2}}else f=o==="right"?{right:c&&c.right||0}:{left:c&&c.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(l==="middle"){var m=this.getBBoxSnapshot();h={top:((d||0)-m.height)/2}}else h=l==="bottom"?{bottom:c&&c.bottom||0}:{top:c&&c.top||0};return wa(wa({},f),h)}},{key:"render",value:function(){var r=this,a=this.props,s=a.content,o=a.width,l=a.height,c=a.wrapperStyle,u=a.payloadUniqBy,d=a.payload,f=wa(wa({position:"absolute",width:o||"auto",height:l||"auto"},this.getDefaultPosition(c)),c);return V.createElement("div",{className:"recharts-legend-wrapper",style:f,ref:function(p){r.wrapperNode=p}},q9(s,wa(wa({},this.props),{},{payload:LO(d,u,G9)})))}}],[{key:"getWithHeight",value:function(r,a){var s=wa(wa({},this.defaultProps),r.props),o=s.layout;return o==="vertical"&&ue(r.props.height)?{height:r.props.height}:o==="horizontal"?{width:r.props.width||a}:null}}])}(b.PureComponent);em(ws,"displayName","Legend");em(ws,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var tj=Ju,K9=xw,V9=Wn,nj=tj?tj.isConcatSpreadable:void 0;function Y9(e){return V9(e)||K9(e)||!!(nj&&e&&e[nj])}var X9=Y9,Q9=NO,Z9=X9;function zO(e,t,n,r,a){var s=-1,o=e.length;for(n||(n=Z9),a||(a=[]);++s<o;){var l=e[s];t>0&&n(l)?t>1?zO(l,t-1,n,r,a):Q9(a,l):r||(a[a.length]=l)}return a}var FO=zO;function J9(e){return function(t,n,r){for(var a=-1,s=Object(t),o=r(t),l=o.length;l--;){var c=o[e?l:++a];if(n(s[c],c,s)===!1)break}return t}}var eG=J9,tG=eG,nG=tG(),rG=nG,aG=rG,iG=Jp;function sG(e,t){return e&&aG(e,t,iG)}var UO=sG,oG=td;function lG(e,t){return function(n,r){if(n==null)return n;if(!oG(n))return e(n,r);for(var a=n.length,s=t?a:-1,o=Object(n);(t?s--:++s<a)&&r(o[s],s,o)!==!1;);return n}}var cG=lG,uG=UO,dG=cG,fG=dG(uG),jw=fG,hG=jw,pG=td;function mG(e,t){var n=-1,r=pG(e)?Array(e.length):[];return hG(e,function(a,s,o){r[++n]=t(a,s,o)}),r}var WO=mG;function gG(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}var vG=gG,rj=Sl;function yG(e,t){if(e!==t){var n=e!==void 0,r=e===null,a=e===e,s=rj(e),o=t!==void 0,l=t===null,c=t===t,u=rj(t);if(!l&&!u&&!s&&e>t||s&&o&&c&&!l&&!u||r&&o&&c||!n&&c||!a)return 1;if(!r&&!s&&!u&&e<t||u&&n&&a&&!r&&!s||l&&n&&a||!o&&a||!c)return-1}return 0}var bG=yG,xG=bG;function wG(e,t,n){for(var r=-1,a=e.criteria,s=t.criteria,o=a.length,l=n.length;++r<o;){var c=xG(a[r],s[r]);if(c){if(r>=l)return c;var u=n[r];return c*(u=="desc"?-1:1)}}return e.index-t.index}var kG=wG,gg=lw,SG=cw,jG=Bi,NG=WO,EG=vG,_G=CO,CG=kG,AG=Tl,TG=Wn;function OG(e,t,n){t.length?t=gg(t,function(s){return TG(s)?function(o){return SG(o,s.length===1?s[0]:s)}:s}):t=[AG];var r=-1;t=gg(t,_G(jG));var a=NG(e,function(s,o,l){var c=gg(t,function(u){return u(s)});return{criteria:c,index:++r,value:s}});return EG(a,function(s,o){return CG(s,o,n)})}var PG=OG;function RG(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var MG=RG,IG=MG,aj=Math.max;function $G(e,t,n){return t=aj(t===void 0?e.length-1:t,0),function(){for(var r=arguments,a=-1,s=aj(r.length-t,0),o=Array(s);++a<s;)o[a]=r[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=r[a];return l[t]=n(o),IG(e,this,l)}}var LG=$G;function DG(e){return function(){return e}}var BG=DG,zG=zs,FG=function(){try{var e=zG(Object,"defineProperty");return e({},"",{}),e}catch{}}(),HO=FG,UG=BG,ij=HO,WG=Tl,HG=ij?function(e,t){return ij(e,"toString",{configurable:!0,enumerable:!1,value:UG(t),writable:!0})}:WG,GG=HG,qG=800,KG=16,VG=Date.now;function YG(e){var t=0,n=0;return function(){var r=VG(),a=KG-(r-n);if(n=r,a>0){if(++t>=qG)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var XG=YG,QG=GG,ZG=XG,JG=ZG(QG),eq=JG,tq=Tl,nq=LG,rq=eq;function aq(e,t){return rq(nq(e,t,tq),e+"")}var iq=aq,sq=aw,oq=td,lq=ww,cq=Di;function uq(e,t,n){if(!cq(n))return!1;var r=typeof t;return(r=="number"?oq(n)&&lq(t,n.length):r=="string"&&t in n)?sq(n[t],e):!1}var tm=uq,dq=FO,fq=PG,hq=iq,sj=tm,pq=hq(function(e,t){if(e==null)return[];var n=t.length;return n>1&&sj(e,t[0],t[1])?t=[]:n>2&&sj(t[0],t[1],t[2])&&(t=[t[0]]),fq(e,dq(t,1),[])}),mq=pq;const Nw=Ze(mq);function uu(e){"@babel/helpers - typeof";return uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uu(e)}function By(){return By=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},By.apply(this,arguments)}function gq(e,t){return xq(e)||bq(e,t)||yq(e,t)||vq()}function vq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
79
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yq(e,t){if(e){if(typeof e=="string")return oj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oj(e,t)}}function oj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function bq(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function xq(e){if(Array.isArray(e))return e}function lj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function vg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?lj(Object(n),!0).forEach(function(r){wq(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function wq(e,t,n){return t=kq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kq(e){var t=Sq(e,"string");return uu(t)=="symbol"?t:t+""}function Sq(e,t){if(uu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(uu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jq(e){return Array.isArray(e)&&qt(e[0])&&qt(e[1])?e.join(" ~ "):e}var Nq=function(t){var n=t.separator,r=n===void 0?" : ":n,a=t.contentStyle,s=a===void 0?{}:a,o=t.itemStyle,l=o===void 0?{}:o,c=t.labelStyle,u=c===void 0?{}:c,d=t.payload,f=t.formatter,h=t.itemSorter,p=t.wrapperClassName,m=t.labelClassName,g=t.label,y=t.labelFormatter,v=t.accessibilityLayer,S=v===void 0?!1:v,w=function(){if(d&&d.length){var A={padding:0,margin:0},B=(h?Nw(d,h):d).map(function(I,M){if(I.type==="none")return null;var D=vg({display:"block",paddingTop:4,paddingBottom:4,color:I.color||"#000"},l),W=I.formatter||f||jq,R=I.value,z=I.name,T=R,Z=z;if(W&&T!=null&&Z!=null){var U=W(R,z,I,M,d);if(Array.isArray(U)){var $=gq(U,2);T=$[0],Z=$[1]}else T=U}return V.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(M),style:D},qt(Z)?V.createElement("span",{className:"recharts-tooltip-item-name"},Z):null,qt(Z)?V.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,V.createElement("span",{className:"recharts-tooltip-item-value"},T),V.createElement("span",{className:"recharts-tooltip-item-unit"},I.unit||""))});return V.createElement("ul",{className:"recharts-tooltip-item-list",style:A},B)}return null},N=vg({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},s),k=vg({margin:0},u),x=!Ye(g),j=x?g:"",_=Ve("recharts-default-tooltip",p),O=Ve("recharts-tooltip-label",m);x&&y&&d!==void 0&&d!==null&&(j=y(g,d));var C=S?{role:"status","aria-live":"assertive"}:{};return V.createElement("div",By({className:_,style:N},C),V.createElement("p",{className:O,style:k},V.isValidElement(j)?j:"".concat(j)),w())};function du(e){"@babel/helpers - typeof";return du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},du(e)}function Fd(e,t,n){return t=Eq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Eq(e){var t=_q(e,"string");return du(t)=="symbol"?t:t+""}function _q(e,t){if(du(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(du(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ic="recharts-tooltip-wrapper",Cq={visibility:"hidden"};function Aq(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return Ve(ic,Fd(Fd(Fd(Fd({},"".concat(ic,"-right"),ue(n)&&t&&ue(t.x)&&n>=t.x),"".concat(ic,"-left"),ue(n)&&t&&ue(t.x)&&n<t.x),"".concat(ic,"-bottom"),ue(r)&&t&&ue(t.y)&&r>=t.y),"".concat(ic,"-top"),ue(r)&&t&&ue(t.y)&&r<t.y))}function cj(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.key,a=e.offsetTopLeft,s=e.position,o=e.reverseDirection,l=e.tooltipDimension,c=e.viewBox,u=e.viewBoxDimension;if(s&&ue(s[r]))return s[r];var d=n[r]-l-a,f=n[r]+a;if(t[r])return o[r]?d:f;if(o[r]){var h=d,p=c[r];return h<p?Math.max(f,c[r]):Math.max(d,c[r])}var m=f+l,g=c[r]+u;return m>g?Math.max(d,c[r]):Math.max(f,c[r])}function Tq(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function Oq(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,a=e.position,s=e.reverseDirection,o=e.tooltipBox,l=e.useTranslate3d,c=e.viewBox,u,d,f;return o.height>0&&o.width>0&&n?(d=cj({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),f=cj({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),u=Tq({translateX:d,translateY:f,useTranslate3d:l})):u=Cq,{cssProperties:u,cssClasses:Aq({translateX:d,translateY:f,coordinate:n})}}function Zo(e){"@babel/helpers - typeof";return Zo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zo(e)}function uj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function dj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?uj(Object(n),!0).forEach(function(r){Fy(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Pq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Rq(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,qO(r.key),r)}}function Mq(e,t,n){return t&&Rq(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Iq(e,t,n){return t=mh(t),$q(e,GO()?Reflect.construct(t,n||[],mh(e).constructor):t.apply(e,n))}function $q(e,t){if(t&&(Zo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Lq(e)}function Lq(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function GO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(GO=function(){return!!e})()}function mh(e){return mh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},mh(e)}function Dq(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&zy(e,t)}function zy(e,t){return zy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},zy(e,t)}function Fy(e,t,n){return t=qO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qO(e){var t=Bq(e,"string");return Zo(t)=="symbol"?t:t+""}function Bq(e,t){if(Zo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Zo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var fj=1,zq=function(e){function t(){var n;Pq(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=Iq(this,t,[].concat(a)),Fy(n,"state",{dismissed:!1,dismissedAtCoordinate:{x:0,y:0},lastBoundingBox:{width:-1,height:-1}}),Fy(n,"handleKeyDown",function(o){if(o.key==="Escape"){var l,c,u,d;n.setState({dismissed:!0,dismissedAtCoordinate:{x:(l=(c=n.props.coordinate)===null||c===void 0?void 0:c.x)!==null&&l!==void 0?l:0,y:(u=(d=n.props.coordinate)===null||d===void 0?void 0:d.y)!==null&&u!==void 0?u:0}})}}),n}return Dq(t,e),Mq(t,[{key:"updateBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-this.state.lastBoundingBox.width)>fj||Math.abs(r.height-this.state.lastBoundingBox.height)>fj)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,a=this.props,s=a.active,o=a.allowEscapeViewBox,l=a.animationDuration,c=a.animationEasing,u=a.children,d=a.coordinate,f=a.hasPayload,h=a.isAnimationActive,p=a.offset,m=a.position,g=a.reverseDirection,y=a.useTranslate3d,v=a.viewBox,S=a.wrapperStyle,w=Oq({allowEscapeViewBox:o,coordinate:d,offsetTopLeft:p,position:m,reverseDirection:g,tooltipBox:this.state.lastBoundingBox,useTranslate3d:y,viewBox:v}),N=w.cssClasses,k=w.cssProperties,x=dj(dj({transition:h&&s?"transform ".concat(l,"ms ").concat(c):void 0},k),{},{pointerEvents:"none",visibility:!this.state.dismissed&&s&&f?"visible":"hidden",position:"absolute",top:0,left:0},S);return V.createElement("div",{tabIndex:-1,className:N,style:x,ref:function(_){r.wrapperNode=_}},u)}}])}(b.PureComponent),Fq=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},nd={isSsr:Fq()};function Jo(e){"@babel/helpers - typeof";return Jo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jo(e)}function hj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function pj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?hj(Object(n),!0).forEach(function(r){Ew(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Uq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wq(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,VO(r.key),r)}}function Hq(e,t,n){return t&&Wq(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gq(e,t,n){return t=gh(t),qq(e,KO()?Reflect.construct(t,n||[],gh(e).constructor):t.apply(e,n))}function qq(e,t){if(t&&(Jo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Kq(e)}function Kq(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function KO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(KO=function(){return!!e})()}function gh(e){return gh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},gh(e)}function Vq(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Uy(e,t)}function Uy(e,t){return Uy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Uy(e,t)}function Ew(e,t,n){return t=VO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VO(e){var t=Yq(e,"string");return Jo(t)=="symbol"?t:t+""}function Yq(e,t){if(Jo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Jo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Xq(e){return e.dataKey}function Qq(e,t){return V.isValidElement(e)?V.cloneElement(e,t):typeof e=="function"?V.createElement(e,t):V.createElement(Nq,t)}var vn=function(e){function t(){return Uq(this,t),Gq(this,t,arguments)}return Vq(t,e),Hq(t,[{key:"render",value:function(){var r=this,a=this.props,s=a.active,o=a.allowEscapeViewBox,l=a.animationDuration,c=a.animationEasing,u=a.content,d=a.coordinate,f=a.filterNull,h=a.isAnimationActive,p=a.offset,m=a.payload,g=a.payloadUniqBy,y=a.position,v=a.reverseDirection,S=a.useTranslate3d,w=a.viewBox,N=a.wrapperStyle,k=m??[];f&&k.length&&(k=LO(m.filter(function(j){return j.value!=null&&(j.hide!==!0||r.props.includeHidden)}),g,Xq));var x=k.length>0;return V.createElement(zq,{allowEscapeViewBox:o,animationDuration:l,animationEasing:c,isAnimationActive:h,active:s,coordinate:d,hasPayload:x,offset:p,position:y,reverseDirection:v,useTranslate3d:S,viewBox:w,wrapperStyle:N},Qq(u,pj(pj({},this.props),{},{payload:k})))}}])}(b.PureComponent);Ew(vn,"displayName","Tooltip");Ew(vn,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!nd.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var Zq=ua,Jq=function(){return Zq.Date.now()},eK=Jq,tK=/\s/;function nK(e){for(var t=e.length;t--&&tK.test(e.charAt(t)););return t}var rK=nK,aK=rK,iK=/^\s+/;function sK(e){return e&&e.slice(0,aK(e)+1).replace(iK,"")}var oK=sK,lK=oK,mj=Di,cK=Sl,gj=NaN,uK=/^[-+]0x[0-9a-f]+$/i,dK=/^0b[01]+$/i,fK=/^0o[0-7]+$/i,hK=parseInt;function pK(e){if(typeof e=="number")return e;if(cK(e))return gj;if(mj(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=mj(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=lK(e);var n=dK.test(e);return n||fK.test(e)?hK(e.slice(2),n?2:8):uK.test(e)?gj:+e}var YO=pK,mK=Di,yg=eK,vj=YO,gK="Expected a function",vK=Math.max,yK=Math.min;function bK(e,t,n){var r,a,s,o,l,c,u=0,d=!1,f=!1,h=!0;if(typeof e!="function")throw new TypeError(gK);t=vj(t)||0,mK(n)&&(d=!!n.leading,f="maxWait"in n,s=f?vK(vj(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h);function p(x){var j=r,_=a;return r=a=void 0,u=x,o=e.apply(_,j),o}function m(x){return u=x,l=setTimeout(v,t),d?p(x):o}function g(x){var j=x-c,_=x-u,O=t-j;return f?yK(O,s-_):O}function y(x){var j=x-c,_=x-u;return c===void 0||j>=t||j<0||f&&_>=s}function v(){var x=yg();if(y(x))return S(x);l=setTimeout(v,g(x))}function S(x){return l=void 0,h&&r?p(x):(r=a=void 0,o)}function w(){l!==void 0&&clearTimeout(l),u=0,r=c=a=l=void 0}function N(){return l===void 0?o:S(yg())}function k(){var x=yg(),j=y(x);if(r=arguments,a=this,c=x,j){if(l===void 0)return m(c);if(f)return clearTimeout(l),l=setTimeout(v,t),p(c)}return l===void 0&&(l=setTimeout(v,t)),o}return k.cancel=w,k.flush=N,k}var xK=bK,wK=xK,kK=Di,SK="Expected a function";function jK(e,t,n){var r=!0,a=!0;if(typeof e!="function")throw new TypeError(SK);return kK(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),wK(e,t,{leading:r,maxWait:t,trailing:a})}var NK=jK;const XO=Ze(NK);function fu(e){"@babel/helpers - typeof";return fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fu(e)}function yj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Ud(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?yj(Object(n),!0).forEach(function(r){EK(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function EK(e,t,n){return t=_K(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _K(e){var t=CK(e,"string");return fu(t)=="symbol"?t:t+""}function CK(e,t){if(fu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(fu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function AK(e,t){return RK(e)||PK(e,t)||OK(e,t)||TK()}function TK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
80
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function OK(e,t){if(e){if(typeof e=="string")return bj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bj(e,t)}}function bj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function PK(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function RK(e){if(Array.isArray(e))return e}var ls=b.forwardRef(function(e,t){var n=e.aspect,r=e.initialDimension,a=r===void 0?{width:-1,height:-1}:r,s=e.width,o=s===void 0?"100%":s,l=e.height,c=l===void 0?"100%":l,u=e.minWidth,d=u===void 0?0:u,f=e.minHeight,h=e.maxHeight,p=e.children,m=e.debounce,g=m===void 0?0:m,y=e.id,v=e.className,S=e.onResize,w=e.style,N=w===void 0?{}:w,k=b.useRef(null),x=b.useRef();x.current=S,b.useImperativeHandle(t,function(){return Object.defineProperty(k.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),k.current},configurable:!0})});var j=b.useState({containerWidth:a.width,containerHeight:a.height}),_=AK(j,2),O=_[0],C=_[1],P=b.useCallback(function(B,I){C(function(M){var D=Math.round(B),W=Math.round(I);return M.containerWidth===D&&M.containerHeight===W?M:{containerWidth:D,containerHeight:W}})},[]);b.useEffect(function(){var B=function(z){var T,Z=z[0].contentRect,U=Z.width,$=Z.height;P(U,$),(T=x.current)===null||T===void 0||T.call(x,U,$)};g>0&&(B=XO(B,g,{trailing:!0,leading:!1}));var I=new ResizeObserver(B),M=k.current.getBoundingClientRect(),D=M.width,W=M.height;return P(D,W),I.observe(k.current),function(){I.disconnect()}},[P,g]);var A=b.useMemo(function(){var B=O.containerWidth,I=O.containerHeight;if(B<0||I<0)return null;Oa(ps(o)||ps(c),`The width(%s) and height(%s) are both fixed numbers,
|
|
81
|
-
maybe you don't need to use a ResponsiveContainer.`,o,c),Oa(!n||n>0,"The aspect(%s) must be greater than zero.",n);var M=ps(o)?B:o,D=ps(c)?I:c;n&&n>0&&(M?D=M/n:D&&(M=D*n),h&&D>h&&(D=h)),Oa(M>0||D>0,`The width(%s) and height(%s) of chart should be greater than 0,
|
|
82
|
-
please check the style of container, or the props width(%s) and height(%s),
|
|
83
|
-
or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
|
|
84
|
-
height and width.`,M,D,o,c,d,f,n);var W=!Array.isArray(p)&&Ta(p.type).endsWith("Chart");return V.Children.map(p,function(R){return V.isValidElement(R)?b.cloneElement(R,Ud({width:M,height:D},W?{style:Ud({height:"100%",width:"100%",maxHeight:D,maxWidth:M},R.props.style)}:{})):R})},[n,p,c,h,f,d,O,o]);return V.createElement("div",{id:y?"".concat(y):void 0,className:Ve("recharts-responsive-container",v),style:Ud(Ud({},N),{},{width:o,height:c,minWidth:d,minHeight:f,maxHeight:h}),ref:k},A)}),hu=function(t){return null};hu.displayName="Cell";function pu(e){"@babel/helpers - typeof";return pu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pu(e)}function xj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Wy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?xj(Object(n),!0).forEach(function(r){MK(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function MK(e,t,n){return t=IK(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function IK(e){var t=$K(e,"string");return pu(t)=="symbol"?t:t+""}function $K(e,t){if(pu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(pu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var no={widthCache:{},cacheCount:0},LK=2e3,DK={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},wj="recharts_measurement_span";function BK(e){var t=Wy({},e);return Object.keys(t).forEach(function(n){t[n]||delete t[n]}),t}var Mc=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||nd.isSsr)return{width:0,height:0};var r=BK(n),a=JSON.stringify({text:t,copyStyle:r});if(no.widthCache[a])return no.widthCache[a];try{var s=document.getElementById(wj);s||(s=document.createElement("span"),s.setAttribute("id",wj),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));var o=Wy(Wy({},DK),r);Object.assign(s.style,o),s.textContent="".concat(t);var l=s.getBoundingClientRect(),c={width:l.width,height:l.height};return no.widthCache[a]=c,++no.cacheCount>LK&&(no.cacheCount=0,no.widthCache={}),c}catch{return{width:0,height:0}}},zK=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function mu(e){"@babel/helpers - typeof";return mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mu(e)}function vh(e,t){return HK(e)||WK(e,t)||UK(e,t)||FK()}function FK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
85
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UK(e,t){if(e){if(typeof e=="string")return kj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return kj(e,t)}}function kj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function WK(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function HK(e){if(Array.isArray(e))return e}function GK(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Sj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,KK(r.key),r)}}function qK(e,t,n){return t&&Sj(e.prototype,t),n&&Sj(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function KK(e){var t=VK(e,"string");return mu(t)=="symbol"?t:t+""}function VK(e,t){if(mu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(mu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var jj=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Nj=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,YK=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,XK=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,QO={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},QK=Object.keys(QO),_o="NaN";function ZK(e,t){return e*QO[t]}var Wd=function(){function e(t,n){GK(this,e),this.num=t,this.unit=n,this.num=t,this.unit=n,Number.isNaN(t)&&(this.unit=""),n!==""&&!YK.test(n)&&(this.num=NaN,this.unit=""),QK.includes(n)&&(this.num=ZK(t,n),this.unit="px")}return qK(e,[{key:"add",value:function(n){return this.unit!==n.unit?new e(NaN,""):new e(this.num+n.num,this.unit)}},{key:"subtract",value:function(n){return this.unit!==n.unit?new e(NaN,""):new e(this.num-n.num,this.unit)}},{key:"multiply",value:function(n){return this.unit!==""&&n.unit!==""&&this.unit!==n.unit?new e(NaN,""):new e(this.num*n.num,this.unit||n.unit)}},{key:"divide",value:function(n){return this.unit!==""&&n.unit!==""&&this.unit!==n.unit?new e(NaN,""):new e(this.num/n.num,this.unit||n.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(n){var r,a=(r=XK.exec(n))!==null&&r!==void 0?r:[],s=vh(a,3),o=s[1],l=s[2];return new e(parseFloat(o),l??"")}}])}();function ZO(e){if(e.includes(_o))return _o;for(var t=e;t.includes("*")||t.includes("/");){var n,r=(n=jj.exec(t))!==null&&n!==void 0?n:[],a=vh(r,4),s=a[1],o=a[2],l=a[3],c=Wd.parse(s??""),u=Wd.parse(l??""),d=o==="*"?c.multiply(u):c.divide(u);if(d.isNaN())return _o;t=t.replace(jj,d.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var f,h=(f=Nj.exec(t))!==null&&f!==void 0?f:[],p=vh(h,4),m=p[1],g=p[2],y=p[3],v=Wd.parse(m??""),S=Wd.parse(y??""),w=g==="+"?v.add(S):v.subtract(S);if(w.isNaN())return _o;t=t.replace(Nj,w.toString())}return t}var Ej=/\(([^()]*)\)/;function JK(e){for(var t=e;t.includes("(");){var n=Ej.exec(t),r=vh(n,2),a=r[1];t=t.replace(Ej,ZO(a))}return t}function eV(e){var t=e.replace(/\s+/g,"");return t=JK(t),t=ZO(t),t}function tV(e){try{return eV(e)}catch{return _o}}function bg(e){var t=tV(e.slice(5,-1));return t===_o?"":t}var nV=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],rV=["dx","dy","angle","className","breakAll"];function Hy(){return Hy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hy.apply(this,arguments)}function _j(e,t){if(e==null)return{};var n=aV(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function aV(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Cj(e,t){return lV(e)||oV(e,t)||sV(e,t)||iV()}function iV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
86
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sV(e,t){if(e){if(typeof e=="string")return Aj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Aj(e,t)}}function Aj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function oV(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function lV(e){if(Array.isArray(e))return e}var JO=/[ \f\n\r\t\v\u2028\u2029]+/,eP=function(t){var n=t.children,r=t.breakAll,a=t.style;try{var s=[];Ye(n)||(r?s=n.toString().split(""):s=n.toString().split(JO));var o=s.map(function(c){return{word:c,width:Mc(c,a).width}}),l=r?0:Mc(" ",a).width;return{wordsWithComputedWidth:o,spaceWidth:l}}catch{return null}},cV=function(t,n,r,a,s){var o=t.maxLines,l=t.children,c=t.style,u=t.breakAll,d=ue(o),f=l,h=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return M.reduce(function(D,W){var R=W.word,z=W.width,T=D[D.length-1];if(T&&(a==null||s||T.width+z+r<Number(a)))T.words.push(R),T.width+=z+r;else{var Z={words:[R],width:z};D.push(Z)}return D},[])},p=h(n),m=function(M){return M.reduce(function(D,W){return D.width>W.width?D:W})};if(!d)return p;for(var g="…",y=function(M){var D=f.slice(0,M),W=eP({breakAll:u,style:c,children:D+g}).wordsWithComputedWidth,R=h(W),z=R.length>o||m(R).width>Number(a);return[z,R]},v=0,S=f.length-1,w=0,N;v<=S&&w<=f.length-1;){var k=Math.floor((v+S)/2),x=k-1,j=y(x),_=Cj(j,2),O=_[0],C=_[1],P=y(k),A=Cj(P,1),B=A[0];if(!O&&!B&&(v=k+1),O&&B&&(S=k-1),!O&&B){N=C;break}w++}return N||p},Tj=function(t){var n=Ye(t)?[]:t.toString().split(JO);return[{words:n}]},uV=function(t){var n=t.width,r=t.scaleToFit,a=t.children,s=t.style,o=t.breakAll,l=t.maxLines;if((n||r)&&!nd.isSsr){var c,u,d=eP({breakAll:o,children:a,style:s});if(d){var f=d.wordsWithComputedWidth,h=d.spaceWidth;c=f,u=h}else return Tj(a);return cV({breakAll:o,children:a,maxLines:l,style:s},c,u,n,r)}return Tj(a)},Oj="#808080",yh=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,o=t.lineHeight,l=o===void 0?"1em":o,c=t.capHeight,u=c===void 0?"0.71em":c,d=t.scaleToFit,f=d===void 0?!1:d,h=t.textAnchor,p=h===void 0?"start":h,m=t.verticalAnchor,g=m===void 0?"end":m,y=t.fill,v=y===void 0?Oj:y,S=_j(t,nV),w=b.useMemo(function(){return uV({breakAll:S.breakAll,children:S.children,maxLines:S.maxLines,scaleToFit:f,style:S.style,width:S.width})},[S.breakAll,S.children,S.maxLines,f,S.style,S.width]),N=S.dx,k=S.dy,x=S.angle,j=S.className,_=S.breakAll,O=_j(S,rV);if(!qt(r)||!qt(s))return null;var C=r+(ue(N)?N:0),P=s+(ue(k)?k:0),A;switch(g){case"start":A=bg("calc(".concat(u,")"));break;case"middle":A=bg("calc(".concat((w.length-1)/2," * -").concat(l," + (").concat(u," / 2))"));break;default:A=bg("calc(".concat(w.length-1," * -").concat(l,")"));break}var B=[];if(f){var I=w[0].width,M=S.width;B.push("scale(".concat((ue(M)?M/I:1)/I,")"))}return x&&B.push("rotate(".concat(x,", ").concat(C,", ").concat(P,")")),B.length&&(O.transform=B.join(" ")),V.createElement("text",Hy({},Ke(O,!0),{x:C,y:P,className:Ve("recharts-text",j),textAnchor:p,fill:v.includes("url")?Oj:v}),w.map(function(D,W){var R=D.words.join(_?"":" ");return V.createElement("tspan",{x:C,dy:W===0?A:l,key:"".concat(R,"-").concat(W)},R)}))};function Ci(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function dV(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function _w(e){let t,n,r;e.length!==2?(t=Ci,n=(l,c)=>Ci(e(l),c),r=(l,c)=>e(l)-c):(t=e===Ci||e===dV?e:fV,n=e,r=e);function a(l,c,u=0,d=l.length){if(u<d){if(t(c,c)!==0)return d;do{const f=u+d>>>1;n(l[f],c)<0?u=f+1:d=f}while(u<d)}return u}function s(l,c,u=0,d=l.length){if(u<d){if(t(c,c)!==0)return d;do{const f=u+d>>>1;n(l[f],c)<=0?u=f+1:d=f}while(u<d)}return u}function o(l,c,u=0,d=l.length){const f=a(l,c,u,d-1);return f>u&&r(l[f-1],c)>-r(l[f],c)?f-1:f}return{left:a,center:o,right:s}}function fV(){return 0}function tP(e){return e===null?NaN:+e}function*hV(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const pV=_w(Ci),rd=pV.right;_w(tP).center;class Pj extends Map{constructor(t,n=vV){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,a]of t)this.set(r,a)}get(t){return super.get(Rj(this,t))}has(t){return super.has(Rj(this,t))}set(t,n){return super.set(mV(this,t),n)}delete(t){return super.delete(gV(this,t))}}function Rj({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function mV({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function gV({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function vV(e){return e!==null&&typeof e=="object"?e.valueOf():e}function yV(e=Ci){if(e===Ci)return nP;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function nP(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}const bV=Math.sqrt(50),xV=Math.sqrt(10),wV=Math.sqrt(2);function bh(e,t,n){const r=(t-e)/Math.max(0,n),a=Math.floor(Math.log10(r)),s=r/Math.pow(10,a),o=s>=bV?10:s>=xV?5:s>=wV?2:1;let l,c,u;return a<0?(u=Math.pow(10,-a)/o,l=Math.round(e*u),c=Math.round(t*u),l/u<e&&++l,c/u>t&&--c,u=-u):(u=Math.pow(10,a)*o,l=Math.round(e/u),c=Math.round(t/u),l*u<e&&++l,c*u>t&&--c),c<l&&.5<=n&&n<2?bh(e,t,n*2):[l,c,u]}function Gy(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];const r=t<e,[a,s,o]=r?bh(t,e,n):bh(e,t,n);if(!(s>=a))return[];const l=s-a+1,c=new Array(l);if(r)if(o<0)for(let u=0;u<l;++u)c[u]=(s-u)/-o;else for(let u=0;u<l;++u)c[u]=(s-u)*o;else if(o<0)for(let u=0;u<l;++u)c[u]=(a+u)/-o;else for(let u=0;u<l;++u)c[u]=(a+u)*o;return c}function qy(e,t,n){return t=+t,e=+e,n=+n,bh(e,t,n)[2]}function Ky(e,t,n){t=+t,e=+e,n=+n;const r=t<e,a=r?qy(t,e,n):qy(e,t,n);return(r?-1:1)*(a<0?1/-a:a)}function Mj(e,t){let n;for(const r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);return n}function Ij(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function rP(e,t,n=0,r=1/0,a){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(a=a===void 0?nP:yV(a);r>n;){if(r-n>600){const c=r-n+1,u=t-n+1,d=Math.log(c),f=.5*Math.exp(2*d/3),h=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),p=Math.max(n,Math.floor(t-u*f/c+h)),m=Math.min(r,Math.floor(t+(c-u)*f/c+h));rP(e,t,p,m,a)}const s=e[t];let o=n,l=r;for(sc(e,n,t),a(e[r],s)>0&&sc(e,n,r);o<l;){for(sc(e,o,l),++o,--l;a(e[o],s)<0;)++o;for(;a(e[l],s)>0;)--l}a(e[n],s)===0?sc(e,n,l):(++l,sc(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function sc(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function kV(e,t,n){if(e=Float64Array.from(hV(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Ij(e);if(t>=1)return Mj(e);var r,a=(r-1)*t,s=Math.floor(a),o=Mj(rP(e,s).subarray(0,s+1)),l=Ij(e.subarray(s+1));return o+(l-o)*(a-s)}}function SV(e,t,n=tP){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,a=(r-1)*t,s=Math.floor(a),o=+n(e[s],s,e),l=+n(e[s+1],s+1,e);return o+(l-o)*(a-s)}}function jV(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(a);++r<a;)s[r]=e+r*n;return s}function Er(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Ha(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}const Vy=Symbol("implicit");function Cw(){var e=new Pj,t=[],n=[],r=Vy;function a(s){let o=e.get(s);if(o===void 0){if(r!==Vy)return r;e.set(s,o=t.push(s)-1)}return n[o%n.length]}return a.domain=function(s){if(!arguments.length)return t.slice();t=[],e=new Pj;for(const o of s)e.has(o)||e.set(o,t.push(o)-1);return a},a.range=function(s){return arguments.length?(n=Array.from(s),a):n.slice()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return Cw(t,n).unknown(r)},Er.apply(a,arguments),a}function gu(){var e=Cw().unknown(void 0),t=e.domain,n=e.range,r=0,a=1,s,o,l=!1,c=0,u=0,d=.5;delete e.unknown;function f(){var h=t().length,p=a<r,m=p?a:r,g=p?r:a;s=(g-m)/Math.max(1,h-c+u*2),l&&(s=Math.floor(s)),m+=(g-m-s*(h-c))*d,o=s*(1-c),l&&(m=Math.round(m),o=Math.round(o));var y=jV(h).map(function(v){return m+s*v});return n(p?y.reverse():y)}return e.domain=function(h){return arguments.length?(t(h),f()):t()},e.range=function(h){return arguments.length?([r,a]=h,r=+r,a=+a,f()):[r,a]},e.rangeRound=function(h){return[r,a]=h,r=+r,a=+a,l=!0,f()},e.bandwidth=function(){return o},e.step=function(){return s},e.round=function(h){return arguments.length?(l=!!h,f()):l},e.padding=function(h){return arguments.length?(c=Math.min(1,u=+h),f()):c},e.paddingInner=function(h){return arguments.length?(c=Math.min(1,h),f()):c},e.paddingOuter=function(h){return arguments.length?(u=+h,f()):u},e.align=function(h){return arguments.length?(d=Math.max(0,Math.min(1,h)),f()):d},e.copy=function(){return gu(t(),[r,a]).round(l).paddingInner(c).paddingOuter(u).align(d)},Er.apply(f(),arguments)}function aP(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return aP(t())},e}function Ic(){return aP(gu.apply(null,arguments).paddingInner(1))}function Aw(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function iP(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function ad(){}var vu=.7,xh=1/vu,Do="\\s*([+-]?\\d+)\\s*",yu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",sa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",NV=/^#([0-9a-f]{3,8})$/,EV=new RegExp(`^rgb\\(${Do},${Do},${Do}\\)$`),_V=new RegExp(`^rgb\\(${sa},${sa},${sa}\\)$`),CV=new RegExp(`^rgba\\(${Do},${Do},${Do},${yu}\\)$`),AV=new RegExp(`^rgba\\(${sa},${sa},${sa},${yu}\\)$`),TV=new RegExp(`^hsl\\(${yu},${sa},${sa}\\)$`),OV=new RegExp(`^hsla\\(${yu},${sa},${sa},${yu}\\)$`),$j={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Aw(ad,bu,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Lj,formatHex:Lj,formatHex8:PV,formatHsl:RV,formatRgb:Dj,toString:Dj});function Lj(){return this.rgb().formatHex()}function PV(){return this.rgb().formatHex8()}function RV(){return sP(this).formatHsl()}function Dj(){return this.rgb().formatRgb()}function bu(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=NV.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Bj(t):n===3?new Bn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Hd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Hd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=EV.exec(e))?new Bn(t[1],t[2],t[3],1):(t=_V.exec(e))?new Bn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=CV.exec(e))?Hd(t[1],t[2],t[3],t[4]):(t=AV.exec(e))?Hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=TV.exec(e))?Uj(t[1],t[2]/100,t[3]/100,1):(t=OV.exec(e))?Uj(t[1],t[2]/100,t[3]/100,t[4]):$j.hasOwnProperty(e)?Bj($j[e]):e==="transparent"?new Bn(NaN,NaN,NaN,0):null}function Bj(e){return new Bn(e>>16&255,e>>8&255,e&255,1)}function Hd(e,t,n,r){return r<=0&&(e=t=n=NaN),new Bn(e,t,n,r)}function MV(e){return e instanceof ad||(e=bu(e)),e?(e=e.rgb(),new Bn(e.r,e.g,e.b,e.opacity)):new Bn}function Yy(e,t,n,r){return arguments.length===1?MV(e):new Bn(e,t,n,r??1)}function Bn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Aw(Bn,Yy,iP(ad,{brighter(e){return e=e==null?xh:Math.pow(xh,e),new Bn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?vu:Math.pow(vu,e),new Bn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Bn(ks(this.r),ks(this.g),ks(this.b),wh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:zj,formatHex:zj,formatHex8:IV,formatRgb:Fj,toString:Fj}));function zj(){return`#${ms(this.r)}${ms(this.g)}${ms(this.b)}`}function IV(){return`#${ms(this.r)}${ms(this.g)}${ms(this.b)}${ms((isNaN(this.opacity)?1:this.opacity)*255)}`}function Fj(){const e=wh(this.opacity);return`${e===1?"rgb(":"rgba("}${ks(this.r)}, ${ks(this.g)}, ${ks(this.b)}${e===1?")":`, ${e})`}`}function wh(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ks(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ms(e){return e=ks(e),(e<16?"0":"")+e.toString(16)}function Uj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Lr(e,t,n,r)}function sP(e){if(e instanceof Lr)return new Lr(e.h,e.s,e.l,e.opacity);if(e instanceof ad||(e=bu(e)),!e)return new Lr;if(e instanceof Lr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),s=Math.max(t,n,r),o=NaN,l=s-a,c=(s+a)/2;return l?(t===s?o=(n-r)/l+(n<r)*6:n===s?o=(r-t)/l+2:o=(t-n)/l+4,l/=c<.5?s+a:2-s-a,o*=60):l=c>0&&c<1?0:o,new Lr(o,l,c,e.opacity)}function $V(e,t,n,r){return arguments.length===1?sP(e):new Lr(e,t,n,r??1)}function Lr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Aw(Lr,$V,iP(ad,{brighter(e){return e=e==null?xh:Math.pow(xh,e),new Lr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?vu:Math.pow(vu,e),new Lr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Bn(xg(e>=240?e-240:e+120,a,r),xg(e,a,r),xg(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new Lr(Wj(this.h),Gd(this.s),Gd(this.l),wh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=wh(this.opacity);return`${e===1?"hsl(":"hsla("}${Wj(this.h)}, ${Gd(this.s)*100}%, ${Gd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Wj(e){return e=(e||0)%360,e<0?e+360:e}function Gd(e){return Math.max(0,Math.min(1,e||0))}function xg(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Tw=e=>()=>e;function LV(e,t){return function(n){return e+n*t}}function DV(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function BV(e){return(e=+e)==1?oP:function(t,n){return n-t?DV(t,n,e):Tw(isNaN(t)?n:t)}}function oP(e,t){var n=t-e;return n?LV(e,n):Tw(isNaN(e)?t:e)}const Hj=function e(t){var n=BV(t);function r(a,s){var o=n((a=Yy(a)).r,(s=Yy(s)).r),l=n(a.g,s.g),c=n(a.b,s.b),u=oP(a.opacity,s.opacity);return function(d){return a.r=o(d),a.g=l(d),a.b=c(d),a.opacity=u(d),a+""}}return r.gamma=e,r}(1);function zV(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(s){for(a=0;a<n;++a)r[a]=e[a]*(1-s)+t[a]*s;return r}}function FV(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function UV(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,a=new Array(r),s=new Array(n),o;for(o=0;o<r;++o)a[o]=Ol(e[o],t[o]);for(;o<n;++o)s[o]=t[o];return function(l){for(o=0;o<r;++o)s[o]=a[o](l);return s}}function WV(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function kh(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function HV(e,t){var n={},r={},a;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(a in t)a in e?n[a]=Ol(e[a],t[a]):r[a]=t[a];return function(s){for(a in n)r[a]=n[a](s);return r}}var Xy=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wg=new RegExp(Xy.source,"g");function GV(e){return function(){return e}}function qV(e){return function(t){return e(t)+""}}function KV(e,t){var n=Xy.lastIndex=wg.lastIndex=0,r,a,s,o=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Xy.exec(e))&&(a=wg.exec(t));)(s=a.index)>n&&(s=t.slice(n,s),l[o]?l[o]+=s:l[++o]=s),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,c.push({i:o,x:kh(r,a)})),n=wg.lastIndex;return n<t.length&&(s=t.slice(n),l[o]?l[o]+=s:l[++o]=s),l.length<2?c[0]?qV(c[0].x):GV(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function Ol(e,t){var n=typeof t,r;return t==null||n==="boolean"?Tw(t):(n==="number"?kh:n==="string"?(r=bu(t))?(t=r,Hj):KV:t instanceof bu?Hj:t instanceof Date?WV:FV(t)?zV:Array.isArray(t)?UV:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?HV:kh)(e,t)}function Ow(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function VV(e,t){t===void 0&&(t=e,e=Ol);for(var n=0,r=t.length-1,a=t[0],s=new Array(r<0?0:r);n<r;)s[n]=e(a,a=t[++n]);return function(o){var l=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return s[l](o-l)}}function YV(e){return function(){return e}}function Sh(e){return+e}var Gj=[0,1];function Cn(e){return e}function Qy(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:YV(isNaN(t)?NaN:.5)}function XV(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function QV(e,t,n){var r=e[0],a=e[1],s=t[0],o=t[1];return a<r?(r=Qy(a,r),s=n(o,s)):(r=Qy(r,a),s=n(s,o)),function(l){return s(r(l))}}function ZV(e,t,n){var r=Math.min(e.length,t.length)-1,a=new Array(r),s=new Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)a[o]=Qy(e[o],e[o+1]),s[o]=n(t[o],t[o+1]);return function(l){var c=rd(e,l,1,r)-1;return s[c](a[c](l))}}function id(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function nm(){var e=Gj,t=Gj,n=Ol,r,a,s,o=Cn,l,c,u;function d(){var h=Math.min(e.length,t.length);return o!==Cn&&(o=XV(e[0],e[h-1])),l=h>2?ZV:QV,c=u=null,f}function f(h){return h==null||isNaN(h=+h)?s:(c||(c=l(e.map(r),t,n)))(r(o(h)))}return f.invert=function(h){return o(a((u||(u=l(t,e.map(r),kh)))(h)))},f.domain=function(h){return arguments.length?(e=Array.from(h,Sh),d()):e.slice()},f.range=function(h){return arguments.length?(t=Array.from(h),d()):t.slice()},f.rangeRound=function(h){return t=Array.from(h),n=Ow,d()},f.clamp=function(h){return arguments.length?(o=h?!0:Cn,d()):o!==Cn},f.interpolate=function(h){return arguments.length?(n=h,d()):n},f.unknown=function(h){return arguments.length?(s=h,f):s},function(h,p){return r=h,a=p,d()}}function Pw(){return nm()(Cn,Cn)}function JV(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function jh(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function el(e){return e=jh(Math.abs(e)),e?e[1]:NaN}function e7(e,t){return function(n,r){for(var a=n.length,s=[],o=0,l=e[0],c=0;a>0&&l>0&&(c+l+1>r&&(l=Math.max(1,r-c)),s.push(n.substring(a-=l,a+l)),!((c+=l+1)>r));)l=e[o=(o+1)%e.length];return s.reverse().join(t)}}function t7(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var n7=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function xu(e){if(!(t=n7.exec(e)))throw new Error("invalid format: "+e);var t;return new Rw({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}xu.prototype=Rw.prototype;function Rw(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Rw.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function r7(e){e:for(var t=e.length,n=1,r=-1,a;n<t;++n)switch(e[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}var Nh;function a7(e,t){var n=jh(e,t);if(!n)return Nh=void 0,e.toPrecision(t);var r=n[0],a=n[1],s=a-(Nh=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return s===o?r:s>o?r+new Array(s-o+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+jh(e,Math.max(0,t+s-1))[0]}function qj(e,t){var n=jh(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const Kj={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:JV,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>qj(e*100,t),r:qj,s:a7,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Vj(e){return e}var Yj=Array.prototype.map,Xj=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function i7(e){var t=e.grouping===void 0||e.thousands===void 0?Vj:e7(Yj.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?Vj:t7(Yj.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function u(f,h){f=xu(f);var p=f.fill,m=f.align,g=f.sign,y=f.symbol,v=f.zero,S=f.width,w=f.comma,N=f.precision,k=f.trim,x=f.type;x==="n"?(w=!0,x="g"):Kj[x]||(N===void 0&&(N=12),k=!0,x="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var j=(h&&h.prefix!==void 0?h.prefix:"")+(y==="$"?n:y==="#"&&/[boxX]/.test(x)?"0"+x.toLowerCase():""),_=(y==="$"?r:/[%p]/.test(x)?o:"")+(h&&h.suffix!==void 0?h.suffix:""),O=Kj[x],C=/[defgprs%]/.test(x);N=N===void 0?6:/[gprs]/.test(x)?Math.max(1,Math.min(21,N)):Math.max(0,Math.min(20,N));function P(A){var B=j,I=_,M,D,W;if(x==="c")I=O(A)+I,A="";else{A=+A;var R=A<0||1/A<0;if(A=isNaN(A)?c:O(Math.abs(A),N),k&&(A=r7(A)),R&&+A==0&&g!=="+"&&(R=!1),B=(R?g==="("?g:l:g==="-"||g==="("?"":g)+B,I=(x==="s"&&!isNaN(A)&&Nh!==void 0?Xj[8+Nh/3]:"")+I+(R&&g==="("?")":""),C){for(M=-1,D=A.length;++M<D;)if(W=A.charCodeAt(M),48>W||W>57){I=(W===46?a+A.slice(M+1):A.slice(M))+I,A=A.slice(0,M);break}}}w&&!v&&(A=t(A,1/0));var z=B.length+A.length+I.length,T=z<S?new Array(S-z+1).join(p):"";switch(w&&v&&(A=t(T+A,T.length?S-I.length:1/0),T=""),m){case"<":A=B+A+I+T;break;case"=":A=B+T+A+I;break;case"^":A=T.slice(0,z=T.length>>1)+B+A+I+T.slice(z);break;default:A=T+B+A+I;break}return s(A)}return P.toString=function(){return f+""},P}function d(f,h){var p=Math.max(-8,Math.min(8,Math.floor(el(h)/3)))*3,m=Math.pow(10,-p),g=u((f=xu(f),f.type="f",f),{suffix:Xj[8+p/3]});return function(y){return g(m*y)}}return{format:u,formatPrefix:d}}var qd,Mw,lP;s7({thousands:",",grouping:[3],currency:["$",""]});function s7(e){return qd=i7(e),Mw=qd.format,lP=qd.formatPrefix,qd}function o7(e){return Math.max(0,-el(Math.abs(e)))}function l7(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(el(t)/3)))*3-el(Math.abs(e)))}function c7(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,el(t)-el(e))+1}function cP(e,t,n,r){var a=Ky(e,t,n),s;switch(r=xu(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=l7(a,o))&&(r.precision=s),lP(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=c7(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=o7(a))&&(r.precision=s-(r.type==="%")*2);break}}return Mw(r)}function zi(e){var t=e.domain;return e.ticks=function(n){var r=t();return Gy(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return cP(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,s=r.length-1,o=r[a],l=r[s],c,u,d=10;for(l<o&&(u=o,o=l,l=u,u=a,a=s,s=u);d-- >0;){if(u=qy(o,l,n),u===c)return r[a]=o,r[s]=l,t(r);if(u>0)o=Math.floor(o/u)*u,l=Math.ceil(l/u)*u;else if(u<0)o=Math.ceil(o*u)/u,l=Math.floor(l*u)/u;else break;c=u}return e},e}function Eh(){var e=Pw();return e.copy=function(){return id(e,Eh())},Er.apply(e,arguments),zi(e)}function uP(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Sh),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return uP(e).unknown(t)},e=arguments.length?Array.from(e,Sh):[0,1],zi(n)}function dP(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],s=e[r],o;return s<a&&(o=n,n=r,r=o,o=a,a=s,s=o),e[n]=t.floor(a),e[r]=t.ceil(s),e}function Qj(e){return Math.log(e)}function Zj(e){return Math.exp(e)}function u7(e){return-Math.log(-e)}function d7(e){return-Math.exp(-e)}function f7(e){return isFinite(e)?+("1e"+e):e<0?0:e}function h7(e){return e===10?f7:e===Math.E?Math.exp:t=>Math.pow(e,t)}function p7(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Jj(e){return(t,n)=>-e(-t,n)}function Iw(e){const t=e(Qj,Zj),n=t.domain;let r=10,a,s;function o(){return a=p7(r),s=h7(r),n()[0]<0?(a=Jj(a),s=Jj(s),e(u7,d7)):e(Qj,Zj),t}return t.base=function(l){return arguments.length?(r=+l,o()):r},t.domain=function(l){return arguments.length?(n(l),o()):n()},t.ticks=l=>{const c=n();let u=c[0],d=c[c.length-1];const f=d<u;f&&([u,d]=[d,u]);let h=a(u),p=a(d),m,g;const y=l==null?10:+l;let v=[];if(!(r%1)&&p-h<y){if(h=Math.floor(h),p=Math.ceil(p),u>0){for(;h<=p;++h)for(m=1;m<r;++m)if(g=h<0?m/s(-h):m*s(h),!(g<u)){if(g>d)break;v.push(g)}}else for(;h<=p;++h)for(m=r-1;m>=1;--m)if(g=h>0?m/s(-h):m*s(h),!(g<u)){if(g>d)break;v.push(g)}v.length*2<y&&(v=Gy(u,d,y))}else v=Gy(h,p,Math.min(p-h,y)).map(s);return f?v.reverse():v},t.tickFormat=(l,c)=>{if(l==null&&(l=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=xu(c)).precision==null&&(c.trim=!0),c=Mw(c)),l===1/0)return c;const u=Math.max(1,r*l/t.ticks().length);return d=>{let f=d/s(Math.round(a(d)));return f*r<r-.5&&(f*=r),f<=u?c(d):""}},t.nice=()=>n(dP(n(),{floor:l=>s(Math.floor(a(l))),ceil:l=>s(Math.ceil(a(l)))})),t}function fP(){const e=Iw(nm()).domain([1,10]);return e.copy=()=>id(e,fP()).base(e.base()),Er.apply(e,arguments),e}function e1(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function t1(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function $w(e){var t=1,n=e(e1(t),t1(t));return n.constant=function(r){return arguments.length?e(e1(t=+r),t1(t)):t},zi(n)}function hP(){var e=$w(nm());return e.copy=function(){return id(e,hP()).constant(e.constant())},Er.apply(e,arguments)}function n1(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function m7(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function g7(e){return e<0?-e*e:e*e}function Lw(e){var t=e(Cn,Cn),n=1;function r(){return n===1?e(Cn,Cn):n===.5?e(m7,g7):e(n1(n),n1(1/n))}return t.exponent=function(a){return arguments.length?(n=+a,r()):n},zi(t)}function Dw(){var e=Lw(nm());return e.copy=function(){return id(e,Dw()).exponent(e.exponent())},Er.apply(e,arguments),e}function v7(){return Dw.apply(null,arguments).exponent(.5)}function r1(e){return Math.sign(e)*e*e}function y7(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function pP(){var e=Pw(),t=[0,1],n=!1,r;function a(s){var o=y7(e(s));return isNaN(o)?r:n?Math.round(o):o}return a.invert=function(s){return e.invert(r1(s))},a.domain=function(s){return arguments.length?(e.domain(s),a):e.domain()},a.range=function(s){return arguments.length?(e.range((t=Array.from(s,Sh)).map(r1)),a):t.slice()},a.rangeRound=function(s){return a.range(s).round(!0)},a.round=function(s){return arguments.length?(n=!!s,a):n},a.clamp=function(s){return arguments.length?(e.clamp(s),a):e.clamp()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return pP(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Er.apply(a,arguments),zi(a)}function mP(){var e=[],t=[],n=[],r;function a(){var o=0,l=Math.max(1,t.length);for(n=new Array(l-1);++o<l;)n[o-1]=SV(e,o/l);return s}function s(o){return o==null||isNaN(o=+o)?r:t[rd(n,o)]}return s.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:e[0],l<n.length?n[l]:e[e.length-1]]},s.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(Ci),a()},s.range=function(o){return arguments.length?(t=Array.from(o),a()):t.slice()},s.unknown=function(o){return arguments.length?(r=o,s):r},s.quantiles=function(){return n.slice()},s.copy=function(){return mP().domain(e).range(t).unknown(r)},Er.apply(s,arguments)}function gP(){var e=0,t=1,n=1,r=[.5],a=[0,1],s;function o(c){return c!=null&&c<=c?a[rd(r,c,0,n)]:s}function l(){var c=-1;for(r=new Array(n);++c<n;)r[c]=((c+1)*t-(c-n)*e)/(n+1);return o}return o.domain=function(c){return arguments.length?([e,t]=c,e=+e,t=+t,l()):[e,t]},o.range=function(c){return arguments.length?(n=(a=Array.from(c)).length-1,l()):a.slice()},o.invertExtent=function(c){var u=a.indexOf(c);return u<0?[NaN,NaN]:u<1?[e,r[0]]:u>=n?[r[n-1],t]:[r[u-1],r[u]]},o.unknown=function(c){return arguments.length&&(s=c),o},o.thresholds=function(){return r.slice()},o.copy=function(){return gP().domain([e,t]).range(a).unknown(s)},Er.apply(zi(o),arguments)}function vP(){var e=[.5],t=[0,1],n,r=1;function a(s){return s!=null&&s<=s?t[rd(e,s,0,r)]:n}return a.domain=function(s){return arguments.length?(e=Array.from(s),r=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(s){return arguments.length?(t=Array.from(s),r=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(s){var o=t.indexOf(s);return[e[o-1],e[o]]},a.unknown=function(s){return arguments.length?(n=s,a):n},a.copy=function(){return vP().domain(e).range(t).unknown(n)},Er.apply(a,arguments)}const kg=new Date,Sg=new Date;function Kt(e,t,n,r){function a(s){return e(s=arguments.length===0?new Date:new Date(+s)),s}return a.floor=s=>(e(s=new Date(+s)),s),a.ceil=s=>(e(s=new Date(s-1)),t(s,1),e(s),s),a.round=s=>{const o=a(s),l=a.ceil(s);return s-o<l-s?o:l},a.offset=(s,o)=>(t(s=new Date(+s),o==null?1:Math.floor(o)),s),a.range=(s,o,l)=>{const c=[];if(s=a.ceil(s),l=l==null?1:Math.floor(l),!(s<o)||!(l>0))return c;let u;do c.push(u=new Date(+s)),t(s,l),e(s);while(u<s&&s<o);return c},a.filter=s=>Kt(o=>{if(o>=o)for(;e(o),!s(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;t(o,-1),!s(o););else for(;--l>=0;)for(;t(o,1),!s(o););}),n&&(a.count=(s,o)=>(kg.setTime(+s),Sg.setTime(+o),e(kg),e(Sg),Math.floor(n(kg,Sg))),a.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?a.filter(r?o=>r(o)%s===0:o=>a.count(0,o)%s===0):a)),a}const _h=Kt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);_h.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Kt(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):_h);_h.range;const Ea=1e3,br=Ea*60,_a=br*60,La=_a*24,Bw=La*7,a1=La*30,jg=La*365,gs=Kt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ea)},(e,t)=>(t-e)/Ea,e=>e.getUTCSeconds());gs.range;const zw=Kt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ea)},(e,t)=>{e.setTime(+e+t*br)},(e,t)=>(t-e)/br,e=>e.getMinutes());zw.range;const Fw=Kt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*br)},(e,t)=>(t-e)/br,e=>e.getUTCMinutes());Fw.range;const Uw=Kt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ea-e.getMinutes()*br)},(e,t)=>{e.setTime(+e+t*_a)},(e,t)=>(t-e)/_a,e=>e.getHours());Uw.range;const Ww=Kt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*_a)},(e,t)=>(t-e)/_a,e=>e.getUTCHours());Ww.range;const sd=Kt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*br)/La,e=>e.getDate()-1);sd.range;const rm=Kt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/La,e=>e.getUTCDate()-1);rm.range;const yP=Kt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/La,e=>Math.floor(e/La));yP.range;function Fs(e){return Kt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*br)/Bw)}const am=Fs(0),Ch=Fs(1),b7=Fs(2),x7=Fs(3),tl=Fs(4),w7=Fs(5),k7=Fs(6);am.range;Ch.range;b7.range;x7.range;tl.range;w7.range;k7.range;function Us(e){return Kt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/Bw)}const im=Us(0),Ah=Us(1),S7=Us(2),j7=Us(3),nl=Us(4),N7=Us(5),E7=Us(6);im.range;Ah.range;S7.range;j7.range;nl.range;N7.range;E7.range;const Hw=Kt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Hw.range;const Gw=Kt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Gw.range;const Da=Kt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Da.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Kt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});Da.range;const Ba=Kt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Ba.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Kt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});Ba.range;function bP(e,t,n,r,a,s){const o=[[gs,1,Ea],[gs,5,5*Ea],[gs,15,15*Ea],[gs,30,30*Ea],[s,1,br],[s,5,5*br],[s,15,15*br],[s,30,30*br],[a,1,_a],[a,3,3*_a],[a,6,6*_a],[a,12,12*_a],[r,1,La],[r,2,2*La],[n,1,Bw],[t,1,a1],[t,3,3*a1],[e,1,jg]];function l(u,d,f){const h=d<u;h&&([u,d]=[d,u]);const p=f&&typeof f.range=="function"?f:c(u,d,f),m=p?p.range(u,+d+1):[];return h?m.reverse():m}function c(u,d,f){const h=Math.abs(d-u)/f,p=_w(([,,y])=>y).right(o,h);if(p===o.length)return e.every(Ky(u/jg,d/jg,f));if(p===0)return _h.every(Math.max(Ky(u,d,f),1));const[m,g]=o[h/o[p-1][2]<o[p][2]/h?p-1:p];return m.every(g)}return[l,c]}const[_7,C7]=bP(Ba,Gw,im,yP,Ww,Fw),[A7,T7]=bP(Da,Hw,am,sd,Uw,zw);function Ng(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Eg(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function oc(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function O7(e){var t=e.dateTime,n=e.date,r=e.time,a=e.periods,s=e.days,o=e.shortDays,l=e.months,c=e.shortMonths,u=lc(a),d=cc(a),f=lc(s),h=cc(s),p=lc(o),m=cc(o),g=lc(l),y=cc(l),v=lc(c),S=cc(c),w={a:W,A:R,b:z,B:T,c:null,d:u1,e:u1,f:eY,g:uY,G:fY,H:Q7,I:Z7,j:J7,L:xP,m:tY,M:nY,p:Z,q:U,Q:h1,s:p1,S:rY,u:aY,U:iY,V:sY,w:oY,W:lY,x:null,X:null,y:cY,Y:dY,Z:hY,"%":f1},N={a:$,A:ie,b:de,B:ve,c:null,d:d1,e:d1,f:vY,g:_Y,G:AY,H:pY,I:mY,j:gY,L:kP,m:yY,M:bY,p:Ee,q:J,Q:h1,s:p1,S:xY,u:wY,U:kY,V:SY,w:jY,W:NY,x:null,X:null,y:EY,Y:CY,Z:TY,"%":f1},k={a:C,A:P,b:A,B,c:I,d:l1,e:l1,f:K7,g:o1,G:s1,H:c1,I:c1,j:W7,L:q7,m:U7,M:H7,p:O,q:F7,Q:Y7,s:X7,S:G7,u:$7,U:L7,V:D7,w:I7,W:B7,x:M,X:D,y:o1,Y:s1,Z:z7,"%":V7};w.x=x(n,w),w.X=x(r,w),w.c=x(t,w),N.x=x(n,N),N.X=x(r,N),N.c=x(t,N);function x(Y,ae){return function(ce){var H=[],xe=-1,ke=0,Oe=Y.length,ge,Re,pe;for(ce instanceof Date||(ce=new Date(+ce));++xe<Oe;)Y.charCodeAt(xe)===37&&(H.push(Y.slice(ke,xe)),(Re=i1[ge=Y.charAt(++xe)])!=null?ge=Y.charAt(++xe):Re=ge==="e"?" ":"0",(pe=ae[ge])&&(ge=pe(ce,Re)),H.push(ge),ke=xe+1);return H.push(Y.slice(ke,xe)),H.join("")}}function j(Y,ae){return function(ce){var H=oc(1900,void 0,1),xe=_(H,Y,ce+="",0),ke,Oe;if(xe!=ce.length)return null;if("Q"in H)return new Date(H.Q);if("s"in H)return new Date(H.s*1e3+("L"in H?H.L:0));if(ae&&!("Z"in H)&&(H.Z=0),"p"in H&&(H.H=H.H%12+H.p*12),H.m===void 0&&(H.m="q"in H?H.q:0),"V"in H){if(H.V<1||H.V>53)return null;"w"in H||(H.w=1),"Z"in H?(ke=Eg(oc(H.y,0,1)),Oe=ke.getUTCDay(),ke=Oe>4||Oe===0?Ah.ceil(ke):Ah(ke),ke=rm.offset(ke,(H.V-1)*7),H.y=ke.getUTCFullYear(),H.m=ke.getUTCMonth(),H.d=ke.getUTCDate()+(H.w+6)%7):(ke=Ng(oc(H.y,0,1)),Oe=ke.getDay(),ke=Oe>4||Oe===0?Ch.ceil(ke):Ch(ke),ke=sd.offset(ke,(H.V-1)*7),H.y=ke.getFullYear(),H.m=ke.getMonth(),H.d=ke.getDate()+(H.w+6)%7)}else("W"in H||"U"in H)&&("w"in H||(H.w="u"in H?H.u%7:"W"in H?1:0),Oe="Z"in H?Eg(oc(H.y,0,1)).getUTCDay():Ng(oc(H.y,0,1)).getDay(),H.m=0,H.d="W"in H?(H.w+6)%7+H.W*7-(Oe+5)%7:H.w+H.U*7-(Oe+6)%7);return"Z"in H?(H.H+=H.Z/100|0,H.M+=H.Z%100,Eg(H)):Ng(H)}}function _(Y,ae,ce,H){for(var xe=0,ke=ae.length,Oe=ce.length,ge,Re;xe<ke;){if(H>=Oe)return-1;if(ge=ae.charCodeAt(xe++),ge===37){if(ge=ae.charAt(xe++),Re=k[ge in i1?ae.charAt(xe++):ge],!Re||(H=Re(Y,ce,H))<0)return-1}else if(ge!=ce.charCodeAt(H++))return-1}return H}function O(Y,ae,ce){var H=u.exec(ae.slice(ce));return H?(Y.p=d.get(H[0].toLowerCase()),ce+H[0].length):-1}function C(Y,ae,ce){var H=p.exec(ae.slice(ce));return H?(Y.w=m.get(H[0].toLowerCase()),ce+H[0].length):-1}function P(Y,ae,ce){var H=f.exec(ae.slice(ce));return H?(Y.w=h.get(H[0].toLowerCase()),ce+H[0].length):-1}function A(Y,ae,ce){var H=v.exec(ae.slice(ce));return H?(Y.m=S.get(H[0].toLowerCase()),ce+H[0].length):-1}function B(Y,ae,ce){var H=g.exec(ae.slice(ce));return H?(Y.m=y.get(H[0].toLowerCase()),ce+H[0].length):-1}function I(Y,ae,ce){return _(Y,t,ae,ce)}function M(Y,ae,ce){return _(Y,n,ae,ce)}function D(Y,ae,ce){return _(Y,r,ae,ce)}function W(Y){return o[Y.getDay()]}function R(Y){return s[Y.getDay()]}function z(Y){return c[Y.getMonth()]}function T(Y){return l[Y.getMonth()]}function Z(Y){return a[+(Y.getHours()>=12)]}function U(Y){return 1+~~(Y.getMonth()/3)}function $(Y){return o[Y.getUTCDay()]}function ie(Y){return s[Y.getUTCDay()]}function de(Y){return c[Y.getUTCMonth()]}function ve(Y){return l[Y.getUTCMonth()]}function Ee(Y){return a[+(Y.getUTCHours()>=12)]}function J(Y){return 1+~~(Y.getUTCMonth()/3)}return{format:function(Y){var ae=x(Y+="",w);return ae.toString=function(){return Y},ae},parse:function(Y){var ae=j(Y+="",!1);return ae.toString=function(){return Y},ae},utcFormat:function(Y){var ae=x(Y+="",N);return ae.toString=function(){return Y},ae},utcParse:function(Y){var ae=j(Y+="",!0);return ae.toString=function(){return Y},ae}}}var i1={"-":"",_:" ",0:"0"},an=/^\s*\d+/,P7=/^%/,R7=/[\\^$*+?|[\]().{}]/g;function Ge(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",s=a.length;return r+(s<n?new Array(n-s+1).join(t)+a:a)}function M7(e){return e.replace(R7,"\\$&")}function lc(e){return new RegExp("^(?:"+e.map(M7).join("|")+")","i")}function cc(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function I7(e,t,n){var r=an.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function $7(e,t,n){var r=an.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function L7(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function D7(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function B7(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function s1(e,t,n){var r=an.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function o1(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function z7(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function F7(e,t,n){var r=an.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function U7(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function l1(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function W7(e,t,n){var r=an.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function c1(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function H7(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function G7(e,t,n){var r=an.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function q7(e,t,n){var r=an.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function K7(e,t,n){var r=an.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function V7(e,t,n){var r=P7.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Y7(e,t,n){var r=an.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function X7(e,t,n){var r=an.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function u1(e,t){return Ge(e.getDate(),t,2)}function Q7(e,t){return Ge(e.getHours(),t,2)}function Z7(e,t){return Ge(e.getHours()%12||12,t,2)}function J7(e,t){return Ge(1+sd.count(Da(e),e),t,3)}function xP(e,t){return Ge(e.getMilliseconds(),t,3)}function eY(e,t){return xP(e,t)+"000"}function tY(e,t){return Ge(e.getMonth()+1,t,2)}function nY(e,t){return Ge(e.getMinutes(),t,2)}function rY(e,t){return Ge(e.getSeconds(),t,2)}function aY(e){var t=e.getDay();return t===0?7:t}function iY(e,t){return Ge(am.count(Da(e)-1,e),t,2)}function wP(e){var t=e.getDay();return t>=4||t===0?tl(e):tl.ceil(e)}function sY(e,t){return e=wP(e),Ge(tl.count(Da(e),e)+(Da(e).getDay()===4),t,2)}function oY(e){return e.getDay()}function lY(e,t){return Ge(Ch.count(Da(e)-1,e),t,2)}function cY(e,t){return Ge(e.getFullYear()%100,t,2)}function uY(e,t){return e=wP(e),Ge(e.getFullYear()%100,t,2)}function dY(e,t){return Ge(e.getFullYear()%1e4,t,4)}function fY(e,t){var n=e.getDay();return e=n>=4||n===0?tl(e):tl.ceil(e),Ge(e.getFullYear()%1e4,t,4)}function hY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ge(t/60|0,"0",2)+Ge(t%60,"0",2)}function d1(e,t){return Ge(e.getUTCDate(),t,2)}function pY(e,t){return Ge(e.getUTCHours(),t,2)}function mY(e,t){return Ge(e.getUTCHours()%12||12,t,2)}function gY(e,t){return Ge(1+rm.count(Ba(e),e),t,3)}function kP(e,t){return Ge(e.getUTCMilliseconds(),t,3)}function vY(e,t){return kP(e,t)+"000"}function yY(e,t){return Ge(e.getUTCMonth()+1,t,2)}function bY(e,t){return Ge(e.getUTCMinutes(),t,2)}function xY(e,t){return Ge(e.getUTCSeconds(),t,2)}function wY(e){var t=e.getUTCDay();return t===0?7:t}function kY(e,t){return Ge(im.count(Ba(e)-1,e),t,2)}function SP(e){var t=e.getUTCDay();return t>=4||t===0?nl(e):nl.ceil(e)}function SY(e,t){return e=SP(e),Ge(nl.count(Ba(e),e)+(Ba(e).getUTCDay()===4),t,2)}function jY(e){return e.getUTCDay()}function NY(e,t){return Ge(Ah.count(Ba(e)-1,e),t,2)}function EY(e,t){return Ge(e.getUTCFullYear()%100,t,2)}function _Y(e,t){return e=SP(e),Ge(e.getUTCFullYear()%100,t,2)}function CY(e,t){return Ge(e.getUTCFullYear()%1e4,t,4)}function AY(e,t){var n=e.getUTCDay();return e=n>=4||n===0?nl(e):nl.ceil(e),Ge(e.getUTCFullYear()%1e4,t,4)}function TY(){return"+0000"}function f1(){return"%"}function h1(e){return+e}function p1(e){return Math.floor(+e/1e3)}var ro,jP,NP;OY({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function OY(e){return ro=O7(e),jP=ro.format,ro.parse,NP=ro.utcFormat,ro.utcParse,ro}function PY(e){return new Date(e)}function RY(e){return e instanceof Date?+e:+new Date(+e)}function qw(e,t,n,r,a,s,o,l,c,u){var d=Pw(),f=d.invert,h=d.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),y=u("%I %p"),v=u("%a %d"),S=u("%b %d"),w=u("%B"),N=u("%Y");function k(x){return(c(x)<x?p:l(x)<x?m:o(x)<x?g:s(x)<x?y:r(x)<x?a(x)<x?v:S:n(x)<x?w:N)(x)}return d.invert=function(x){return new Date(f(x))},d.domain=function(x){return arguments.length?h(Array.from(x,RY)):h().map(PY)},d.ticks=function(x){var j=h();return e(j[0],j[j.length-1],x??10)},d.tickFormat=function(x,j){return j==null?k:u(j)},d.nice=function(x){var j=h();return(!x||typeof x.range!="function")&&(x=t(j[0],j[j.length-1],x??10)),x?h(dP(j,x)):d},d.copy=function(){return id(d,qw(e,t,n,r,a,s,o,l,c,u))},d}function MY(){return Er.apply(qw(A7,T7,Da,Hw,am,sd,Uw,zw,gs,jP).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function IY(){return Er.apply(qw(_7,C7,Ba,Gw,im,rm,Ww,Fw,gs,NP).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function sm(){var e=0,t=1,n,r,a,s,o=Cn,l=!1,c;function u(f){return f==null||isNaN(f=+f)?c:o(a===0?.5:(f=(s(f)-n)*a,l?Math.max(0,Math.min(1,f)):f))}u.domain=function(f){return arguments.length?([e,t]=f,n=s(e=+e),r=s(t=+t),a=n===r?0:1/(r-n),u):[e,t]},u.clamp=function(f){return arguments.length?(l=!!f,u):l},u.interpolator=function(f){return arguments.length?(o=f,u):o};function d(f){return function(h){var p,m;return arguments.length?([p,m]=h,o=f(p,m),u):[o(0),o(1)]}}return u.range=d(Ol),u.rangeRound=d(Ow),u.unknown=function(f){return arguments.length?(c=f,u):c},function(f){return s=f,n=f(e),r=f(t),a=n===r?0:1/(r-n),u}}function Fi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function EP(){var e=zi(sm()(Cn));return e.copy=function(){return Fi(e,EP())},Ha.apply(e,arguments)}function _P(){var e=Iw(sm()).domain([1,10]);return e.copy=function(){return Fi(e,_P()).base(e.base())},Ha.apply(e,arguments)}function CP(){var e=$w(sm());return e.copy=function(){return Fi(e,CP()).constant(e.constant())},Ha.apply(e,arguments)}function Kw(){var e=Lw(sm());return e.copy=function(){return Fi(e,Kw()).exponent(e.exponent())},Ha.apply(e,arguments)}function $Y(){return Kw.apply(null,arguments).exponent(.5)}function AP(){var e=[],t=Cn;function n(r){if(r!=null&&!isNaN(r=+r))return t((rd(e,r,1)-1)/(e.length-1))}return n.domain=function(r){if(!arguments.length)return e.slice();e=[];for(let a of r)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Ci),n},n.interpolator=function(r){return arguments.length?(t=r,n):t},n.range=function(){return e.map((r,a)=>t(a/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,s)=>kV(e,s/r))},n.copy=function(){return AP(t).domain(e)},Ha.apply(n,arguments)}function om(){var e=0,t=.5,n=1,r=1,a,s,o,l,c,u=Cn,d,f=!1,h;function p(g){return isNaN(g=+g)?h:(g=.5+((g=+d(g))-s)*(r*g<r*s?l:c),u(f?Math.max(0,Math.min(1,g)):g))}p.domain=function(g){return arguments.length?([e,t,n]=g,a=d(e=+e),s=d(t=+t),o=d(n=+n),l=a===s?0:.5/(s-a),c=s===o?0:.5/(o-s),r=s<a?-1:1,p):[e,t,n]},p.clamp=function(g){return arguments.length?(f=!!g,p):f},p.interpolator=function(g){return arguments.length?(u=g,p):u};function m(g){return function(y){var v,S,w;return arguments.length?([v,S,w]=y,u=VV(g,[v,S,w]),p):[u(0),u(.5),u(1)]}}return p.range=m(Ol),p.rangeRound=m(Ow),p.unknown=function(g){return arguments.length?(h=g,p):h},function(g){return d=g,a=g(e),s=g(t),o=g(n),l=a===s?0:.5/(s-a),c=s===o?0:.5/(o-s),r=s<a?-1:1,p}}function TP(){var e=zi(om()(Cn));return e.copy=function(){return Fi(e,TP())},Ha.apply(e,arguments)}function OP(){var e=Iw(om()).domain([.1,1,10]);return e.copy=function(){return Fi(e,OP()).base(e.base())},Ha.apply(e,arguments)}function PP(){var e=$w(om());return e.copy=function(){return Fi(e,PP()).constant(e.constant())},Ha.apply(e,arguments)}function Vw(){var e=Lw(om());return e.copy=function(){return Fi(e,Vw()).exponent(e.exponent())},Ha.apply(e,arguments)}function LY(){return Vw.apply(null,arguments).exponent(.5)}const m1=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:gu,scaleDiverging:TP,scaleDivergingLog:OP,scaleDivergingPow:Vw,scaleDivergingSqrt:LY,scaleDivergingSymlog:PP,scaleIdentity:uP,scaleImplicit:Vy,scaleLinear:Eh,scaleLog:fP,scaleOrdinal:Cw,scalePoint:Ic,scalePow:Dw,scaleQuantile:mP,scaleQuantize:gP,scaleRadial:pP,scaleSequential:EP,scaleSequentialLog:_P,scaleSequentialPow:Kw,scaleSequentialQuantile:AP,scaleSequentialSqrt:$Y,scaleSequentialSymlog:CP,scaleSqrt:v7,scaleSymlog:hP,scaleThreshold:vP,scaleTime:MY,scaleUtc:IY,tickFormat:cP},Symbol.toStringTag,{value:"Module"}));var DY=Sl;function BY(e,t,n){for(var r=-1,a=e.length;++r<a;){var s=e[r],o=t(s);if(o!=null&&(l===void 0?o===o&&!DY(o):n(o,l)))var l=o,c=s}return c}var RP=BY;function zY(e,t){return e>t}var FY=zY,UY=RP,WY=FY,HY=Tl;function GY(e){return e&&e.length?UY(e,HY,WY):void 0}var qY=GY;const lm=Ze(qY);function KY(e,t){return e<t}var VY=KY,YY=RP,XY=VY,QY=Tl;function ZY(e){return e&&e.length?YY(e,QY,XY):void 0}var JY=ZY;const cm=Ze(JY);var eX=lw,tX=Bi,nX=WO,rX=Wn;function aX(e,t){var n=rX(e)?eX:nX;return n(e,tX(t))}var iX=aX,sX=FO,oX=iX;function lX(e,t){return sX(oX(e,t),1)}var cX=lX;const uX=Ze(cX);var dX=Sw;function fX(e,t){return dX(e,t)}var hX=fX;const Yw=Ze(hX);var Pl=1e9,pX={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},Qw,jt=!0,jr="[DecimalError] ",Ss=jr+"Invalid argument: ",Xw=jr+"Exponent out of range: ",Rl=Math.floor,ss=Math.pow,mX=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Qn,Jt=1e7,bt=7,MP=9007199254740991,Th=Rl(MP/bt),be={};be.absoluteValue=be.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};be.comparedTo=be.cmp=function(e){var t,n,r,a,s=this;if(e=new s.constructor(e),s.s!==e.s)return s.s||-e.s;if(s.e!==e.e)return s.e>e.e^s.s<0?1:-1;for(r=s.d.length,a=e.d.length,t=0,n=r<a?r:a;t<n;++t)if(s.d[t]!==e.d[t])return s.d[t]>e.d[t]^s.s<0?1:-1;return r===a?0:r>a^s.s<0?1:-1};be.decimalPlaces=be.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*bt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};be.dividedBy=be.div=function(e){return Pa(this,new this.constructor(e))};be.dividedToIntegerBy=be.idiv=function(e){var t=this,n=t.constructor;return ut(Pa(t,new n(e),0,1),n.precision)};be.equals=be.eq=function(e){return!this.cmp(e)};be.exponent=function(){return zt(this)};be.greaterThan=be.gt=function(e){return this.cmp(e)>0};be.greaterThanOrEqualTo=be.gte=function(e){return this.cmp(e)>=0};be.isInteger=be.isint=function(){return this.e>this.d.length-2};be.isNegative=be.isneg=function(){return this.s<0};be.isPositive=be.ispos=function(){return this.s>0};be.isZero=function(){return this.s===0};be.lessThan=be.lt=function(e){return this.cmp(e)<0};be.lessThanOrEqualTo=be.lte=function(e){return this.cmp(e)<1};be.logarithm=be.log=function(e){var t,n=this,r=n.constructor,a=r.precision,s=a+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Qn))throw Error(jr+"NaN");if(n.s<1)throw Error(jr+(n.s?"NaN":"-Infinity"));return n.eq(Qn)?new r(0):(jt=!1,t=Pa(wu(n,s),wu(e,s),s),jt=!0,ut(t,a))};be.minus=be.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?LP(t,e):IP(t,(e.s=-e.s,e))};be.modulo=be.mod=function(e){var t,n=this,r=n.constructor,a=r.precision;if(e=new r(e),!e.s)throw Error(jr+"NaN");return n.s?(jt=!1,t=Pa(n,e,0,1).times(e),jt=!0,n.minus(t)):ut(new r(n),a)};be.naturalExponential=be.exp=function(){return $P(this)};be.naturalLogarithm=be.ln=function(){return wu(this)};be.negated=be.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};be.plus=be.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?IP(t,e):LP(t,(e.s=-e.s,e))};be.precision=be.sd=function(e){var t,n,r,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ss+e);if(t=zt(a)+1,r=a.d.length-1,n=r*bt+1,r=a.d[r],r){for(;r%10==0;r/=10)n--;for(r=a.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};be.squareRoot=be.sqrt=function(){var e,t,n,r,a,s,o,l=this,c=l.constructor;if(l.s<1){if(!l.s)return new c(0);throw Error(jr+"NaN")}for(e=zt(l),jt=!1,a=Math.sqrt(+l),a==0||a==1/0?(t=ra(l.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Rl((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new c(t)):r=new c(a.toString()),n=c.precision,a=o=n+3;;)if(s=r,r=s.plus(Pa(l,s,o+2)).times(.5),ra(s.d).slice(0,o)===(t=ra(r.d)).slice(0,o)){if(t=t.slice(o-3,o+1),a==o&&t=="4999"){if(ut(s,n+1,0),s.times(s).eq(l)){r=s;break}}else if(t!="9999")break;o+=4}return jt=!0,ut(r,n)};be.times=be.mul=function(e){var t,n,r,a,s,o,l,c,u,d=this,f=d.constructor,h=d.d,p=(e=new f(e)).d;if(!d.s||!e.s)return new f(0);for(e.s*=d.s,n=d.e+e.e,c=h.length,u=p.length,c<u&&(s=h,h=p,p=s,o=c,c=u,u=o),s=[],o=c+u,r=o;r--;)s.push(0);for(r=u;--r>=0;){for(t=0,a=c+r;a>r;)l=s[a]+p[r]*h[a-r-1]+t,s[a--]=l%Jt|0,t=l/Jt|0;s[a]=(s[a]+t)%Jt|0}for(;!s[--o];)s.pop();return t?++n:s.shift(),e.d=s,e.e=n,jt?ut(e,f.precision):e};be.toDecimalPlaces=be.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(la(e,0,Pl),t===void 0?t=r.rounding:la(t,0,8),ut(n,e+zt(n)+1,t))};be.toExponential=function(e,t){var n,r=this,a=r.constructor;return e===void 0?n=Ms(r,!0):(la(e,0,Pl),t===void 0?t=a.rounding:la(t,0,8),r=ut(new a(r),e+1,t),n=Ms(r,!0,e+1)),n};be.toFixed=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?Ms(a):(la(e,0,Pl),t===void 0?t=s.rounding:la(t,0,8),r=ut(new s(a),e+zt(a)+1,t),n=Ms(r.abs(),!1,e+zt(r)+1),a.isneg()&&!a.isZero()?"-"+n:n)};be.toInteger=be.toint=function(){var e=this,t=e.constructor;return ut(new t(e),zt(e)+1,t.rounding)};be.toNumber=function(){return+this};be.toPower=be.pow=function(e){var t,n,r,a,s,o,l=this,c=l.constructor,u=12,d=+(e=new c(e));if(!e.s)return new c(Qn);if(l=new c(l),!l.s){if(e.s<1)throw Error(jr+"Infinity");return l}if(l.eq(Qn))return l;if(r=c.precision,e.eq(Qn))return ut(l,r);if(t=e.e,n=e.d.length-1,o=t>=n,s=l.s,o){if((n=d<0?-d:d)<=MP){for(a=new c(Qn),t=Math.ceil(r/bt+4),jt=!1;n%2&&(a=a.times(l),v1(a.d,t)),n=Rl(n/2),n!==0;)l=l.times(l),v1(l.d,t);return jt=!0,e.s<0?new c(Qn).div(a):ut(a,r)}}else if(s<0)throw Error(jr+"NaN");return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,l.s=1,jt=!1,a=e.times(wu(l,r+u)),jt=!0,a=$P(a),a.s=s,a};be.toPrecision=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?(n=zt(a),r=Ms(a,n<=s.toExpNeg||n>=s.toExpPos)):(la(e,1,Pl),t===void 0?t=s.rounding:la(t,0,8),a=ut(new s(a),e,t),n=zt(a),r=Ms(a,e<=n||n<=s.toExpNeg,e)),r};be.toSignificantDigits=be.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(la(e,1,Pl),t===void 0?t=r.rounding:la(t,0,8)),ut(new r(n),e,t)};be.toString=be.valueOf=be.val=be.toJSON=be[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=zt(e),n=e.constructor;return Ms(e,t<=n.toExpNeg||t>=n.toExpPos)};function IP(e,t){var n,r,a,s,o,l,c,u,d=e.constructor,f=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),jt?ut(t,f):t;if(c=e.d,u=t.d,o=e.e,a=t.e,c=c.slice(),s=o-a,s){for(s<0?(r=c,s=-s,l=u.length):(r=u,a=o,l=c.length),o=Math.ceil(f/bt),l=o>l?o+1:l+1,s>l&&(s=l,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(l=c.length,s=u.length,l-s<0&&(s=l,r=u,u=c,c=r),n=0;s;)n=(c[--s]=c[s]+u[s]+n)/Jt|0,c[s]%=Jt;for(n&&(c.unshift(n),++a),l=c.length;c[--l]==0;)c.pop();return t.d=c,t.e=a,jt?ut(t,f):t}function la(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Ss+e)}function ra(e){var t,n,r,a=e.length-1,s="",o=e[0];if(a>0){for(s+=o,t=1;t<a;t++)r=e[t]+"",n=bt-r.length,n&&(s+=oi(n)),s+=r;o=e[t],r=o+"",n=bt-r.length,n&&(s+=oi(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return s+o}var Pa=function(){function e(r,a){var s,o=0,l=r.length;for(r=r.slice();l--;)s=r[l]*a+o,r[l]=s%Jt|0,o=s/Jt|0;return o&&r.unshift(o),r}function t(r,a,s,o){var l,c;if(s!=o)c=s>o?1:-1;else for(l=c=0;l<s;l++)if(r[l]!=a[l]){c=r[l]>a[l]?1:-1;break}return c}function n(r,a,s){for(var o=0;s--;)r[s]-=o,o=r[s]<a[s]?1:0,r[s]=o*Jt+r[s]-a[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,a,s,o){var l,c,u,d,f,h,p,m,g,y,v,S,w,N,k,x,j,_,O=r.constructor,C=r.s==a.s?1:-1,P=r.d,A=a.d;if(!r.s)return new O(r);if(!a.s)throw Error(jr+"Division by zero");for(c=r.e-a.e,j=A.length,k=P.length,p=new O(C),m=p.d=[],u=0;A[u]==(P[u]||0);)++u;if(A[u]>(P[u]||0)&&--c,s==null?S=s=O.precision:o?S=s+(zt(r)-zt(a))+1:S=s,S<0)return new O(0);if(S=S/bt+2|0,u=0,j==1)for(d=0,A=A[0],S++;(u<k||d)&&S--;u++)w=d*Jt+(P[u]||0),m[u]=w/A|0,d=w%A|0;else{for(d=Jt/(A[0]+1)|0,d>1&&(A=e(A,d),P=e(P,d),j=A.length,k=P.length),N=j,g=P.slice(0,j),y=g.length;y<j;)g[y++]=0;_=A.slice(),_.unshift(0),x=A[0],A[1]>=Jt/2&&++x;do d=0,l=t(A,g,j,y),l<0?(v=g[0],j!=y&&(v=v*Jt+(g[1]||0)),d=v/x|0,d>1?(d>=Jt&&(d=Jt-1),f=e(A,d),h=f.length,y=g.length,l=t(f,g,h,y),l==1&&(d--,n(f,j<h?_:A,h))):(d==0&&(l=d=1),f=A.slice()),h=f.length,h<y&&f.unshift(0),n(g,f,y),l==-1&&(y=g.length,l=t(A,g,j,y),l<1&&(d++,n(g,j<y?_:A,y))),y=g.length):l===0&&(d++,g=[0]),m[u++]=d,l&&g[0]?g[y++]=P[N]||0:(g=[P[N]],y=1);while((N++<k||g[0]!==void 0)&&S--)}return m[0]||m.shift(),p.e=c,ut(p,o?s+zt(p)+1:s)}}();function $P(e,t){var n,r,a,s,o,l,c=0,u=0,d=e.constructor,f=d.precision;if(zt(e)>16)throw Error(Xw+zt(e));if(!e.s)return new d(Qn);for(jt=!1,l=f,o=new d(.03125);e.abs().gte(.1);)e=e.times(o),u+=5;for(r=Math.log(ss(2,u))/Math.LN10*2+5|0,l+=r,n=a=s=new d(Qn),d.precision=l;;){if(a=ut(a.times(e),l),n=n.times(++c),o=s.plus(Pa(a,n,l)),ra(o.d).slice(0,l)===ra(s.d).slice(0,l)){for(;u--;)s=ut(s.times(s),l);return d.precision=f,t==null?(jt=!0,ut(s,f)):s}s=o}}function zt(e){for(var t=e.e*bt,n=e.d[0];n>=10;n/=10)t++;return t}function _g(e,t,n){if(t>e.LN10.sd())throw jt=!0,n&&(e.precision=n),Error(jr+"LN10 precision limit exceeded");return ut(new e(e.LN10),t)}function oi(e){for(var t="";e--;)t+="0";return t}function wu(e,t){var n,r,a,s,o,l,c,u,d,f=1,h=10,p=e,m=p.d,g=p.constructor,y=g.precision;if(p.s<1)throw Error(jr+(p.s?"NaN":"-Infinity"));if(p.eq(Qn))return new g(0);if(t==null?(jt=!1,u=y):u=t,p.eq(10))return t==null&&(jt=!0),_g(g,u);if(u+=h,g.precision=u,n=ra(m),r=n.charAt(0),s=zt(p),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)p=p.times(e),n=ra(p.d),r=n.charAt(0),f++;s=zt(p),r>1?(p=new g("0."+n),s++):p=new g(r+"."+n.slice(1))}else return c=_g(g,u+2,y).times(s+""),p=wu(new g(r+"."+n.slice(1)),u-h).plus(c),g.precision=y,t==null?(jt=!0,ut(p,y)):p;for(l=o=p=Pa(p.minus(Qn),p.plus(Qn),u),d=ut(p.times(p),u),a=3;;){if(o=ut(o.times(d),u),c=l.plus(Pa(o,new g(a),u)),ra(c.d).slice(0,u)===ra(l.d).slice(0,u))return l=l.times(2),s!==0&&(l=l.plus(_g(g,u+2,y).times(s+""))),l=Pa(l,new g(f),u),g.precision=y,t==null?(jt=!0,ut(l,y)):l;l=c,a+=2}}function g1(e,t){var n,r,a;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=Rl(n/bt),e.d=[],r=(n+1)%bt,n<0&&(r+=bt),r<a){for(r&&e.d.push(+t.slice(0,r)),a-=bt;r<a;)e.d.push(+t.slice(r,r+=bt));t=t.slice(r),r=bt-t.length}else r-=a;for(;r--;)t+="0";if(e.d.push(+t),jt&&(e.e>Th||e.e<-Th))throw Error(Xw+n)}else e.s=0,e.e=0,e.d=[0];return e}function ut(e,t,n){var r,a,s,o,l,c,u,d,f=e.d;for(o=1,s=f[0];s>=10;s/=10)o++;if(r=t-o,r<0)r+=bt,a=t,u=f[d=0];else{if(d=Math.ceil((r+1)/bt),s=f.length,d>=s)return e;for(u=s=f[d],o=1;s>=10;s/=10)o++;r%=bt,a=r-bt+o}if(n!==void 0&&(s=ss(10,o-a-1),l=u/s%10|0,c=t<0||f[d+1]!==void 0||u%s,c=n<4?(l||c)&&(n==0||n==(e.s<0?3:2)):l>5||l==5&&(n==4||c||n==6&&(r>0?a>0?u/ss(10,o-a):0:f[d-1])%10&1||n==(e.s<0?8:7))),t<1||!f[0])return c?(s=zt(e),f.length=1,t=t-s-1,f[0]=ss(10,(bt-t%bt)%bt),e.e=Rl(-t/bt)||0):(f.length=1,f[0]=e.e=e.s=0),e;if(r==0?(f.length=d,s=1,d--):(f.length=d+1,s=ss(10,bt-r),f[d]=a>0?(u/ss(10,o-a)%ss(10,a)|0)*s:0),c)for(;;)if(d==0){(f[0]+=s)==Jt&&(f[0]=1,++e.e);break}else{if(f[d]+=s,f[d]!=Jt)break;f[d--]=0,s=1}for(r=f.length;f[--r]===0;)f.pop();if(jt&&(e.e>Th||e.e<-Th))throw Error(Xw+zt(e));return e}function LP(e,t){var n,r,a,s,o,l,c,u,d,f,h=e.constructor,p=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),jt?ut(t,p):t;if(c=e.d,f=t.d,r=t.e,u=e.e,c=c.slice(),o=u-r,o){for(d=o<0,d?(n=c,o=-o,l=f.length):(n=f,r=u,l=c.length),a=Math.max(Math.ceil(p/bt),l)+2,o>a&&(o=a,n.length=1),n.reverse(),a=o;a--;)n.push(0);n.reverse()}else{for(a=c.length,l=f.length,d=a<l,d&&(l=a),a=0;a<l;a++)if(c[a]!=f[a]){d=c[a]<f[a];break}o=0}for(d&&(n=c,c=f,f=n,t.s=-t.s),l=c.length,a=f.length-l;a>0;--a)c[l++]=0;for(a=f.length;a>o;){if(c[--a]<f[a]){for(s=a;s&&c[--s]===0;)c[s]=Jt-1;--c[s],c[a]+=Jt}c[a]-=f[a]}for(;c[--l]===0;)c.pop();for(;c[0]===0;c.shift())--r;return c[0]?(t.d=c,t.e=r,jt?ut(t,p):t):new h(0)}function Ms(e,t,n){var r,a=zt(e),s=ra(e.d),o=s.length;return t?(n&&(r=n-o)>0?s=s.charAt(0)+"."+s.slice(1)+oi(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(a<0?"e":"e+")+a):a<0?(s="0."+oi(-a-1)+s,n&&(r=n-o)>0&&(s+=oi(r))):a>=o?(s+=oi(a+1-o),n&&(r=n-a-1)>0&&(s=s+"."+oi(r))):((r=a+1)<o&&(s=s.slice(0,r)+"."+s.slice(r)),n&&(r=n-o)>0&&(a+1===o&&(s+="."),s+=oi(r))),e.s<0?"-"+s:s}function v1(e,t){if(e.length>t)return e.length=t,!0}function DP(e){var t,n,r;function a(s){var o=this;if(!(o instanceof a))return new a(s);if(o.constructor=a,s instanceof a){o.s=s.s,o.e=s.e,o.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(Ss+s);if(s>0)o.s=1;else if(s<0)s=-s,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(s===~~s&&s<1e7){o.e=0,o.d=[s];return}return g1(o,s.toString())}else if(typeof s!="string")throw Error(Ss+s);if(s.charCodeAt(0)===45?(s=s.slice(1),o.s=-1):o.s=1,mX.test(s))g1(o,s);else throw Error(Ss+s)}if(a.prototype=be,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=DP,a.config=a.set=gX,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return a.config(e),a}function gX(e){if(!e||typeof e!="object")throw Error(jr+"Object expected");var t,n,r,a=["precision",1,Pl,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t<a.length;t+=3)if((r=e[n=a[t]])!==void 0)if(Rl(r)===r&&r>=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(Ss+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Ss+n+": "+r);return this}var Qw=DP(pX);Qn=new Qw(1);const ot=Qw;function vX(e){return wX(e)||xX(e)||bX(e)||yX()}function yX(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
87
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bX(e,t){if(e){if(typeof e=="string")return Zy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zy(e,t)}}function xX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function wX(e){if(Array.isArray(e))return Zy(e)}function Zy(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var kX=function(t){return t},BP={},zP=function(t){return t===BP},y1=function(t){return function n(){return arguments.length===0||arguments.length===1&&zP(arguments.length<=0?void 0:arguments[0])?n:t.apply(void 0,arguments)}},SX=function e(t,n){return t===1?n:y1(function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];var o=a.filter(function(l){return l!==BP}).length;return o>=t?n.apply(void 0,a):e(t-o,y1(function(){for(var l=arguments.length,c=new Array(l),u=0;u<l;u++)c[u]=arguments[u];var d=a.map(function(f){return zP(f)?c.shift():f});return n.apply(void 0,vX(d).concat(c))}))})},um=function(t){return SX(t.length,t)},Jy=function(t,n){for(var r=[],a=t;a<n;++a)r[a-t]=a;return r},jX=um(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(n){return t[n]}).map(e)}),NX=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return kX;var a=n.reverse(),s=a[0],o=a.slice(1);return function(){return o.reduce(function(l,c){return c(l)},s.apply(void 0,arguments))}},eb=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},FP=function(t){var n=null,r=null;return function(){for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return n&&s.every(function(l,c){return l===n[c]})||(n=s,r=t.apply(void 0,s)),r}};function EX(e){var t;return e===0?t=1:t=Math.floor(new ot(e).abs().log(10).toNumber())+1,t}function _X(e,t,n){for(var r=new ot(e),a=0,s=[];r.lt(t)&&a<1e5;)s.push(r.toNumber()),r=r.add(n),a++;return s}var CX=um(function(e,t,n){var r=+e,a=+t;return r+n*(a-r)}),AX=um(function(e,t,n){var r=t-+e;return r=r||1/0,(n-e)/r}),TX=um(function(e,t,n){var r=t-+e;return r=r||1/0,Math.max(0,Math.min(1,(n-e)/r))});const dm={rangeStep:_X,getDigitCount:EX,interpolateNumber:CX,uninterpolateNumber:AX,uninterpolateTruncation:TX};function tb(e){return RX(e)||PX(e)||UP(e)||OX()}function OX(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
88
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function RX(e){if(Array.isArray(e))return nb(e)}function ku(e,t){return $X(e)||IX(e,t)||UP(e,t)||MX()}function MX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
89
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UP(e,t){if(e){if(typeof e=="string")return nb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nb(e,t)}}function nb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function IX(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,a=!1,s=void 0;try{for(var o=e[Symbol.iterator](),l;!(r=(l=o.next()).done)&&(n.push(l.value),!(t&&n.length===t));r=!0);}catch(c){a=!0,s=c}finally{try{!r&&o.return!=null&&o.return()}finally{if(a)throw s}}return n}}function $X(e){if(Array.isArray(e))return e}function WP(e){var t=ku(e,2),n=t[0],r=t[1],a=n,s=r;return n>r&&(a=r,s=n),[a,s]}function HP(e,t,n){if(e.lte(0))return new ot(0);var r=dm.getDigitCount(e.toNumber()),a=new ot(10).pow(r),s=e.div(a),o=r!==1?.05:.1,l=new ot(Math.ceil(s.div(o).toNumber())).add(n).mul(o),c=l.mul(a);return t?c:new ot(Math.ceil(c))}function LX(e,t,n){var r=1,a=new ot(e);if(!a.isint()&&n){var s=Math.abs(e);s<1?(r=new ot(10).pow(dm.getDigitCount(e)-1),a=new ot(Math.floor(a.div(r).toNumber())).mul(r)):s>1&&(a=new ot(Math.floor(e)))}else e===0?a=new ot(Math.floor((t-1)/2)):n||(a=new ot(Math.floor(e)));var o=Math.floor((t-1)/2),l=NX(jX(function(c){return a.add(new ot(c-o).mul(r)).toNumber()}),Jy);return l(0,t)}function GP(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new ot(0),tickMin:new ot(0),tickMax:new ot(0)};var s=HP(new ot(t).sub(e).div(n-1),r,a),o;e<=0&&t>=0?o=new ot(0):(o=new ot(e).add(t).div(2),o=o.sub(new ot(o).mod(s)));var l=Math.ceil(o.sub(e).div(s).toNumber()),c=Math.ceil(new ot(t).sub(o).div(s).toNumber()),u=l+c+1;return u>n?GP(e,t,n,r,a+1):(u<n&&(c=t>0?c+(n-u):c,l=t>0?l:l+(n-u)),{step:s,tickMin:o.sub(new ot(l).mul(s)),tickMax:o.add(new ot(c).mul(s))})}function DX(e){var t=ku(e,2),n=t[0],r=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(a,2),l=WP([n,r]),c=ku(l,2),u=c[0],d=c[1];if(u===-1/0||d===1/0){var f=d===1/0?[u].concat(tb(Jy(0,a-1).map(function(){return 1/0}))):[].concat(tb(Jy(0,a-1).map(function(){return-1/0})),[d]);return n>r?eb(f):f}if(u===d)return LX(u,a,s);var h=GP(u,d,o,s),p=h.step,m=h.tickMin,g=h.tickMax,y=dm.rangeStep(m,g.add(new ot(.1).mul(p)),p);return n>r?eb(y):y}function BX(e,t){var n=ku(e,2),r=n[0],a=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=WP([r,a]),l=ku(o,2),c=l[0],u=l[1];if(c===-1/0||u===1/0)return[r,a];if(c===u)return[c];var d=Math.max(t,2),f=HP(new ot(u).sub(c).div(d-1),s,0),h=[].concat(tb(dm.rangeStep(new ot(c),new ot(u).sub(new ot(.99).mul(f)),f)),[u]);return r>a?eb(h):h}var zX=FP(DX),FX=FP(BX),UX="Invariant failed";function Is(e,t){throw new Error(UX)}var WX=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function rl(e){"@babel/helpers - typeof";return rl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rl(e)}function Oh(){return Oh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oh.apply(this,arguments)}function HX(e,t){return VX(e)||KX(e,t)||qX(e,t)||GX()}function GX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
90
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qX(e,t){if(e){if(typeof e=="string")return b1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b1(e,t)}}function b1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function KX(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function VX(e){if(Array.isArray(e))return e}function YX(e,t){if(e==null)return{};var n=XX(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function XX(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function QX(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ZX(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,VP(r.key),r)}}function JX(e,t,n){return t&&ZX(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function eQ(e,t,n){return t=Ph(t),tQ(e,qP()?Reflect.construct(t,n||[],Ph(e).constructor):t.apply(e,n))}function tQ(e,t){if(t&&(rl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nQ(e)}function nQ(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qP(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(qP=function(){return!!e})()}function Ph(e){return Ph=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Ph(e)}function rQ(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&rb(e,t)}function rb(e,t){return rb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},rb(e,t)}function KP(e,t,n){return t=VP(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VP(e){var t=aQ(e,"string");return rl(t)=="symbol"?t:t+""}function aQ(e,t){if(rl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(rl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var fm=function(e){function t(){return QX(this,t),eQ(this,t,arguments)}return rQ(t,e),JX(t,[{key:"render",value:function(){var r=this.props,a=r.offset,s=r.layout,o=r.width,l=r.dataKey,c=r.data,u=r.dataPointFormatter,d=r.xAxis,f=r.yAxis,h=YX(r,WX),p=Ke(h,!1);this.props.direction==="x"&&d.type!=="number"&&Is();var m=c.map(function(g){var y=u(g,l),v=y.x,S=y.y,w=y.value,N=y.errorVal;if(!N)return null;var k=[],x,j;if(Array.isArray(N)){var _=HX(N,2);x=_[0],j=_[1]}else x=j=N;if(s==="vertical"){var O=d.scale,C=S+a,P=C+o,A=C-o,B=O(w-x),I=O(w+j);k.push({x1:I,y1:P,x2:I,y2:A}),k.push({x1:B,y1:C,x2:I,y2:C}),k.push({x1:B,y1:P,x2:B,y2:A})}else if(s==="horizontal"){var M=f.scale,D=v+a,W=D-o,R=D+o,z=M(w-x),T=M(w+j);k.push({x1:W,y1:T,x2:R,y2:T}),k.push({x1:D,y1:z,x2:D,y2:T}),k.push({x1:W,y1:z,x2:R,y2:z})}return V.createElement(nn,Oh({className:"recharts-errorBar",key:"bar-".concat(k.map(function(Z){return"".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))},p),k.map(function(Z){return V.createElement("line",Oh({},Z,{key:"line-".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))}))});return V.createElement(nn,{className:"recharts-errorBars"},m)}}])}(V.Component);KP(fm,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});KP(fm,"displayName","ErrorBar");function Su(e){"@babel/helpers - typeof";return Su=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Su(e)}function x1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Zi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?x1(Object(n),!0).forEach(function(r){iQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function iQ(e,t,n){return t=sQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sQ(e){var t=oQ(e,"string");return Su(t)=="symbol"?t:t+""}function oQ(e,t){if(Su(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Su(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var YP=function(t){var n=t.children,r=t.formattedGraphicalItems,a=t.legendWidth,s=t.legendContent,o=Xn(n,ws);if(!o)return null;var l=ws.defaultProps,c=l!==void 0?Zi(Zi({},l),o.props):{},u;return o.props&&o.props.payload?u=o.props&&o.props.payload:s==="children"?u=(r||[]).reduce(function(d,f){var h=f.item,p=f.props,m=p.sectors||p.data||[];return d.concat(m.map(function(g){return{type:o.props.iconType||h.props.legendType,value:g.name,color:g.fill,payload:g}}))},[]):u=(r||[]).map(function(d){var f=d.item,h=f.type.defaultProps,p=h!==void 0?Zi(Zi({},h),f.props):{},m=p.dataKey,g=p.name,y=p.legendType,v=p.hide;return{inactive:v,dataKey:m,type:c.iconType||y||"square",color:Zw(f),value:g||m,payload:p}}),Zi(Zi(Zi({},c),ws.getWithHeight(o,a)),{},{payload:u,item:o})};function ju(e){"@babel/helpers - typeof";return ju=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ju(e)}function w1(e){return dQ(e)||uQ(e)||cQ(e)||lQ()}function lQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
91
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cQ(e,t){if(e){if(typeof e=="string")return ab(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ab(e,t)}}function uQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function dQ(e){if(Array.isArray(e))return ab(e)}function ab(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function k1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?k1(Object(n),!0).forEach(function(r){Bo(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Bo(e,t,n){return t=fQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fQ(e){var t=hQ(e,"string");return ju(t)=="symbol"?t:t+""}function hQ(e,t){if(ju(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ju(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ca(e,t,n){return Ye(e)||Ye(t)?n:qt(t)?wr(e,t,n):Le(t)?t(e):n}function $c(e,t,n,r){var a=uX(e,function(l){return ca(l,t)});if(n==="number"){var s=a.filter(function(l){return ue(l)||parseFloat(l)});return s.length?[cm(s),lm(s)]:[1/0,-1/0]}var o=r?a.filter(function(l){return!Ye(l)}):a;return o.map(function(l){return qt(l)||l instanceof Date?l:""})}var pQ=function(t){var n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,o=-1,l=(n=r==null?void 0:r.length)!==null&&n!==void 0?n:0;if(l<=1)return 0;if(s&&s.axisType==="angleAxis"&&Math.abs(Math.abs(s.range[1]-s.range[0])-360)<=1e-6)for(var c=s.range,u=0;u<l;u++){var d=u>0?a[u-1].coordinate:a[l-1].coordinate,f=a[u].coordinate,h=u>=l-1?a[0].coordinate:a[u+1].coordinate,p=void 0;if(Dr(f-d)!==Dr(h-f)){var m=[];if(Dr(h-f)===Dr(c[1]-c[0])){p=h;var g=f+c[1]-c[0];m[0]=Math.min(g,(g+d)/2),m[1]=Math.max(g,(g+d)/2)}else{p=d;var y=h+c[1]-c[0];m[0]=Math.min(f,(y+f)/2),m[1]=Math.max(f,(y+f)/2)}var v=[Math.min(f,(p+f)/2),Math.max(f,(p+f)/2)];if(t>v[0]&&t<=v[1]||t>=m[0]&&t<=m[1]){o=a[u].index;break}}else{var S=Math.min(d,h),w=Math.max(d,h);if(t>(S+f)/2&&t<=(w+f)/2){o=a[u].index;break}}}else for(var N=0;N<l;N++)if(N===0&&t<=(r[N].coordinate+r[N+1].coordinate)/2||N>0&&N<l-1&&t>(r[N].coordinate+r[N-1].coordinate)/2&&t<=(r[N].coordinate+r[N+1].coordinate)/2||N===l-1&&t>(r[N].coordinate+r[N-1].coordinate)/2){o=r[N].index;break}return o},Zw=function(t){var n,r=t,a=r.type.displayName,s=(n=t.type)!==null&&n!==void 0&&n.defaultProps?Ot(Ot({},t.type.defaultProps),t.props):t.props,o=s.stroke,l=s.fill,c;switch(a){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:l;break;default:c=l;break}return c},mQ=function(t){var n=t.barSize,r=t.totalSize,a=t.stackGroups,s=a===void 0?{}:a;if(!s)return{};for(var o={},l=Object.keys(s),c=0,u=l.length;c<u;c++)for(var d=s[l[c]].stackGroups,f=Object.keys(d),h=0,p=f.length;h<p;h++){var m=d[f[h]],g=m.items,y=m.cateAxisId,v=g.filter(function(j){return Ta(j.type).indexOf("Bar")>=0});if(v&&v.length){var S=v[0].type.defaultProps,w=S!==void 0?Ot(Ot({},S),v[0].props):v[0].props,N=w.barSize,k=w[y];o[k]||(o[k]=[]);var x=Ye(N)?n:N;o[k].push({item:v[0],stackList:v.slice(1),barSize:Ye(x)?void 0:Rs(x,r,0)})}}return o},gQ=function(t){var n=t.barGap,r=t.barCategoryGap,a=t.bandSize,s=t.sizeList,o=s===void 0?[]:s,l=t.maxBarSize,c=o.length;if(c<1)return null;var u=Rs(n,a,0,!0),d,f=[];if(o[0].barSize===+o[0].barSize){var h=!1,p=a/c,m=o.reduce(function(N,k){return N+k.barSize||0},0);m+=(c-1)*u,m>=a&&(m-=(c-1)*u,u=0),m>=a&&p>0&&(h=!0,p*=.9,m=c*p);var g=(a-m)/2>>0,y={offset:g-u,size:0};d=o.reduce(function(N,k){var x={item:k.item,position:{offset:y.offset+y.size+u,size:h?p:k.barSize}},j=[].concat(w1(N),[x]);return y=j[j.length-1].position,k.stackList&&k.stackList.length&&k.stackList.forEach(function(_){j.push({item:_,position:y})}),j},f)}else{var v=Rs(r,a,0,!0);a-2*v-(c-1)*u<=0&&(u=0);var S=(a-2*v-(c-1)*u)/c;S>1&&(S>>=0);var w=l===+l?Math.min(S,l):S;d=o.reduce(function(N,k,x){var j=[].concat(w1(N),[{item:k.item,position:{offset:v+(S+u)*x+(S-w)/2,size:w}}]);return k.stackList&&k.stackList.length&&k.stackList.forEach(function(_){j.push({item:_,position:j[j.length-1].position})}),j},f)}return d},vQ=function(t,n,r,a){var s=r.children,o=r.width,l=r.margin,c=o-(l.left||0)-(l.right||0),u=YP({children:s,legendWidth:c});if(u){var d=a||{},f=d.width,h=d.height,p=u.align,m=u.verticalAlign,g=u.layout;if((g==="vertical"||g==="horizontal"&&m==="middle")&&p!=="center"&&ue(t[p]))return Ot(Ot({},t),{},Bo({},p,t[p]+(f||0)));if((g==="horizontal"||g==="vertical"&&p==="center")&&m!=="middle"&&ue(t[m]))return Ot(Ot({},t),{},Bo({},m,t[m]+(h||0)))}return t},yQ=function(t,n,r){return Ye(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},XP=function(t,n,r,a,s){var o=n.props.children,l=Fr(o,fm).filter(function(u){return yQ(a,s,u.props.direction)});if(l&&l.length){var c=l.map(function(u){return u.props.dataKey});return t.reduce(function(u,d){var f=ca(d,r);if(Ye(f))return u;var h=Array.isArray(f)?[cm(f),lm(f)]:[f,f],p=c.reduce(function(m,g){var y=ca(d,g,0),v=h[0]-Math.abs(Array.isArray(y)?y[0]:y),S=h[1]+Math.abs(Array.isArray(y)?y[1]:y);return[Math.min(v,m[0]),Math.max(S,m[1])]},[1/0,-1/0]);return[Math.min(p[0],u[0]),Math.max(p[1],u[1])]},[1/0,-1/0])}return null},bQ=function(t,n,r,a,s){var o=n.map(function(l){return XP(t,l,r,s,a)}).filter(function(l){return!Ye(l)});return o&&o.length?o.reduce(function(l,c){return[Math.min(l[0],c[0]),Math.max(l[1],c[1])]},[1/0,-1/0]):null},QP=function(t,n,r,a,s){var o=n.map(function(c){var u=c.props.dataKey;return r==="number"&&u&&XP(t,c,u,a)||$c(t,u,r,s)});if(r==="number")return o.reduce(function(c,u){return[Math.min(c[0],u[0]),Math.max(c[1],u[1])]},[1/0,-1/0]);var l={};return o.reduce(function(c,u){for(var d=0,f=u.length;d<f;d++)l[u[d]]||(l[u[d]]=!0,c.push(u[d]));return c},[])},ZP=function(t,n){return t==="horizontal"&&n==="xAxis"||t==="vertical"&&n==="yAxis"||t==="centric"&&n==="angleAxis"||t==="radial"&&n==="radiusAxis"},JP=function(t,n,r,a){if(a)return t.map(function(c){return c.coordinate});var s,o,l=t.map(function(c){return c.coordinate===n&&(s=!0),c.coordinate===r&&(o=!0),c.coordinate});return s||l.push(n),o||l.push(r),l},Ca=function(t,n,r){if(!t)return null;var a=t.scale,s=t.duplicateDomain,o=t.type,l=t.range,c=t.realScaleType==="scaleBand"?a.bandwidth()/2:2,u=(n||r)&&o==="category"&&a.bandwidth?a.bandwidth()/c:0;if(u=t.axisType==="angleAxis"&&(l==null?void 0:l.length)>=2?Dr(l[0]-l[1])*2*u:u,n&&(t.ticks||t.niceTicks)){var d=(t.ticks||t.niceTicks).map(function(f){var h=s?s.indexOf(f):f;return{coordinate:a(h)+u,value:f,offset:u}});return d.filter(function(f){return!ed(f.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(f,h){return{coordinate:a(f)+u,value:f,index:h,offset:u}}):a.ticks&&!r?a.ticks(t.tickCount).map(function(f){return{coordinate:a(f)+u,value:f,offset:u}}):a.domain().map(function(f,h){return{coordinate:a(f)+u,value:s?s[f]:f,index:h,offset:u}})},Cg=new WeakMap,Kd=function(t,n){if(typeof n!="function")return t;Cg.has(t)||Cg.set(t,new WeakMap);var r=Cg.get(t);if(r.has(n))return r.get(n);var a=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,a),a},xQ=function(t,n,r){var a=t.scale,s=t.type,o=t.layout,l=t.axisType;if(a==="auto")return o==="radial"&&l==="radiusAxis"?{scale:gu(),realScaleType:"band"}:o==="radial"&&l==="angleAxis"?{scale:Eh(),realScaleType:"linear"}:s==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Ic(),realScaleType:"point"}:s==="category"?{scale:gu(),realScaleType:"band"}:{scale:Eh(),realScaleType:"linear"};if(Ps(a)){var c="scale".concat(Yp(a));return{scale:(m1[c]||Ic)(),realScaleType:m1[c]?c:"point"}}return Le(a)?{scale:a}:{scale:Ic(),realScaleType:"point"}},S1=1e-4,wQ=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,a=t.range(),s=Math.min(a[0],a[1])-S1,o=Math.max(a[0],a[1])+S1,l=t(n[0]),c=t(n[r-1]);(l<s||l>o||c<s||c>o)&&t.domain([n[0],n[r-1]])}},kQ=function(t,n){if(!t)return null;for(var r=0,a=t.length;r<a;r++)if(t[r].item===n)return t[r].position;return null},SQ=function(t,n){if(!n||n.length!==2||!ue(n[0])||!ue(n[1]))return t;var r=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),s=[t[0],t[1]];return(!ue(t[0])||t[0]<r)&&(s[0]=r),(!ue(t[1])||t[1]>a)&&(s[1]=a),s[0]>a&&(s[0]=a),s[1]<r&&(s[1]=r),s},jQ=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r<a;++r)for(var s=0,o=0,l=0;l<n;++l){var c=ed(t[l][r][1])?t[l][r][0]:t[l][r][1];c>=0?(t[l][r][0]=s,t[l][r][1]=s+c,s=t[l][r][1]):(t[l][r][0]=o,t[l][r][1]=o+c,o=t[l][r][1])}},NQ=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r<a;++r)for(var s=0,o=0;o<n;++o){var l=ed(t[o][r][1])?t[o][r][0]:t[o][r][1];l>=0?(t[o][r][0]=s,t[o][r][1]=s+l,s=t[o][r][1]):(t[o][r][0]=0,t[o][r][1]=0)}},EQ={sign:jQ,expand:F4,none:Yo,silhouette:U4,wiggle:W4,positive:NQ},_Q=function(t,n,r){var a=n.map(function(l){return l.props.dataKey}),s=EQ[r],o=z4().keys(a).value(function(l,c){return+ca(l,c,0)}).order(Ay).offset(s);return o(t)},CQ=function(t,n,r,a,s,o){if(!t)return null;var l=o?n.reverse():n,c={},u=l.reduce(function(f,h){var p,m=(p=h.type)!==null&&p!==void 0&&p.defaultProps?Ot(Ot({},h.type.defaultProps),h.props):h.props,g=m.stackId,y=m.hide;if(y)return f;var v=m[r],S=f[v]||{hasStack:!1,stackGroups:{}};if(qt(g)){var w=S.stackGroups[g]||{numericAxisId:r,cateAxisId:a,items:[]};w.items.push(h),S.hasStack=!0,S.stackGroups[g]=w}else S.stackGroups[Vp("_stackId_")]={numericAxisId:r,cateAxisId:a,items:[h]};return Ot(Ot({},f),{},Bo({},v,S))},c),d={};return Object.keys(u).reduce(function(f,h){var p=u[h];if(p.hasStack){var m={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(g,y){var v=p.stackGroups[y];return Ot(Ot({},g),{},Bo({},y,{numericAxisId:r,cateAxisId:a,items:v.items,stackedData:_Q(t,v.items,s)}))},m)}return Ot(Ot({},f),{},Bo({},h,p))},d)},AQ=function(t,n){var r=n.realScaleType,a=n.type,s=n.tickCount,o=n.originalDomain,l=n.allowDecimals,c=r||n.scale;if(c!=="auto"&&c!=="linear")return null;if(s&&a==="number"&&o&&(o[0]==="auto"||o[1]==="auto")){var u=t.domain();if(!u.length)return null;var d=zX(u,s,l);return t.domain([cm(d),lm(d)]),{niceTicks:d}}if(s&&a==="number"){var f=t.domain(),h=FX(f,s,l);return{niceTicks:h}}return null},j1=function(t){var n=t.axis,r=t.ticks,a=t.offset,s=t.bandSize,o=t.entry,l=t.index;if(n.type==="category")return r[l]?r[l].coordinate+a:null;var c=ca(o,n.dataKey,n.domain[l]);return Ye(c)?null:n.scale(c)-s/2+a},TQ=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var a=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]);return a<=0&&s>=0?0:s<0?s:a}return r[0]},OQ=function(t,n){var r,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?Ot(Ot({},t.type.defaultProps),t.props):t.props,s=a.stackId;if(qt(s)){var o=n[s];if(o){var l=o.items.indexOf(t);return l>=0?o.stackedData[l]:null}}return null},PQ=function(t){return t.reduce(function(n,r){return[cm(r.concat([n[0]]).filter(ue)),lm(r.concat([n[1]]).filter(ue))]},[1/0,-1/0])},eR=function(t,n,r){return Object.keys(t).reduce(function(a,s){var o=t[s],l=o.stackedData,c=l.reduce(function(u,d){var f=PQ(d.slice(n,r+1));return[Math.min(u[0],f[0]),Math.max(u[1],f[1])]},[1/0,-1/0]);return[Math.min(c[0],a[0]),Math.max(c[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},N1=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,E1=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ib=function(t,n,r){if(Le(t))return t(n,r);if(!Array.isArray(t))return n;var a=[];if(ue(t[0]))a[0]=r?t[0]:Math.min(t[0],n[0]);else if(N1.test(t[0])){var s=+N1.exec(t[0])[1];a[0]=n[0]-s}else Le(t[0])?a[0]=t[0](n[0]):a[0]=n[0];if(ue(t[1]))a[1]=r?t[1]:Math.max(t[1],n[1]);else if(E1.test(t[1])){var o=+E1.exec(t[1])[1];a[1]=n[1]+o}else Le(t[1])?a[1]=t[1](n[1]):a[1]=n[1];return a},Rh=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!r||a>0)return a}if(t&&n&&n.length>=2){for(var s=Nw(n,function(f){return f.coordinate}),o=1/0,l=1,c=s.length;l<c;l++){var u=s[l],d=s[l-1];o=Math.min((u.coordinate||0)-(d.coordinate||0),o)}return o===1/0?0:o}return r?void 0:0},_1=function(t,n,r){return!t||!t.length||Yw(t,wr(r,"type.defaultProps.domain"))?n:t},tR=function(t,n){var r=t.type.defaultProps?Ot(Ot({},t.type.defaultProps),t.props):t.props,a=r.dataKey,s=r.name,o=r.unit,l=r.formatter,c=r.tooltipType,u=r.chartType,d=r.hide;return Ot(Ot({},Ke(t,!1)),{},{dataKey:a,unit:o,formatter:l,name:s||a,color:Zw(t),value:ca(n,a),type:c,payload:n,chartType:u,hide:d})};function Nu(e){"@babel/helpers - typeof";return Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nu(e)}function C1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function A1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?C1(Object(n),!0).forEach(function(r){RQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function RQ(e,t,n){return t=MQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function MQ(e){var t=IQ(e,"string");return Nu(t)=="symbol"?t:t+""}function IQ(e,t){if(Nu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Nu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Mh=Math.PI/180,$Q=function(t){return t*180/Math.PI},cn=function(t,n,r,a){return{x:t+Math.cos(-Mh*a)*r,y:n+Math.sin(-Mh*a)*r}},LQ=function(t,n){var r=t.x,a=t.y,s=n.x,o=n.y;return Math.sqrt(Math.pow(r-s,2)+Math.pow(a-o,2))},DQ=function(t,n){var r=t.x,a=t.y,s=n.cx,o=n.cy,l=LQ({x:r,y:a},{x:s,y:o});if(l<=0)return{radius:l};var c=(r-s)/l,u=Math.acos(c);return a>o&&(u=2*Math.PI-u),{radius:l,angle:$Q(u),angleInRadian:u}},BQ=function(t){var n=t.startAngle,r=t.endAngle,a=Math.floor(n/360),s=Math.floor(r/360),o=Math.min(a,s);return{startAngle:n-o*360,endAngle:r-o*360}},zQ=function(t,n){var r=n.startAngle,a=n.endAngle,s=Math.floor(r/360),o=Math.floor(a/360),l=Math.min(s,o);return t+l*360},T1=function(t,n){var r=t.x,a=t.y,s=DQ({x:r,y:a},n),o=s.radius,l=s.angle,c=n.innerRadius,u=n.outerRadius;if(o<c||o>u)return!1;if(o===0)return!0;var d=BQ(n),f=d.startAngle,h=d.endAngle,p=l,m;if(f<=h){for(;p>h;)p-=360;for(;p<f;)p+=360;m=p>=f&&p<=h}else{for(;p>f;)p-=360;for(;p<h;)p+=360;m=p>=h&&p<=f}return m?A1(A1({},n),{},{radius:o,angle:zQ(p,n)}):null};function Eu(e){"@babel/helpers - typeof";return Eu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eu(e)}var FQ=["offset"];function UQ(e){return qQ(e)||GQ(e)||HQ(e)||WQ()}function WQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
92
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HQ(e,t){if(e){if(typeof e=="string")return sb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return sb(e,t)}}function GQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qQ(e){if(Array.isArray(e))return sb(e)}function sb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function KQ(e,t){if(e==null)return{};var n=VQ(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function VQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function O1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?O1(Object(n),!0).forEach(function(r){YQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function YQ(e,t,n){return t=XQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XQ(e){var t=QQ(e,"string");return Eu(t)=="symbol"?t:t+""}function QQ(e,t){if(Eu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Eu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _u(){return _u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_u.apply(this,arguments)}var ZQ=function(t){var n=t.value,r=t.formatter,a=Ye(t.children)?n:t.children;return Le(r)?r(a):a},JQ=function(t,n){var r=Dr(n-t),a=Math.min(Math.abs(n-t),360);return r*a},eZ=function(t,n,r){var a=t.position,s=t.viewBox,o=t.offset,l=t.className,c=s,u=c.cx,d=c.cy,f=c.innerRadius,h=c.outerRadius,p=c.startAngle,m=c.endAngle,g=c.clockWise,y=(f+h)/2,v=JQ(p,m),S=v>=0?1:-1,w,N;a==="insideStart"?(w=p+S*o,N=g):a==="insideEnd"?(w=m-S*o,N=!g):a==="end"&&(w=m+S*o,N=g),N=v<=0?N:!N;var k=cn(u,d,y,w),x=cn(u,d,y,w+(N?1:-1)*359),j="M".concat(k.x,",").concat(k.y,`
|
|
93
|
-
A`).concat(y,",").concat(y,",0,1,").concat(N?0:1,`,
|
|
94
|
-
`).concat(x.x,",").concat(x.y),_=Ye(t.id)?Vp("recharts-radial-line-"):t.id;return V.createElement("text",_u({},r,{dominantBaseline:"central",className:Ve("recharts-radial-bar-label",l)}),V.createElement("defs",null,V.createElement("path",{id:_,d:j})),V.createElement("textPath",{xlinkHref:"#".concat(_)},n))},tZ=function(t){var n=t.viewBox,r=t.offset,a=t.position,s=n,o=s.cx,l=s.cy,c=s.innerRadius,u=s.outerRadius,d=s.startAngle,f=s.endAngle,h=(d+f)/2;if(a==="outside"){var p=cn(o,l,u+r,h),m=p.x,g=p.y;return{x:m,y:g,textAnchor:m>=o?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"end"};var y=(c+u)/2,v=cn(o,l,y,h),S=v.x,w=v.y;return{x:S,y:w,textAnchor:"middle",verticalAnchor:"middle"}},nZ=function(t){var n=t.viewBox,r=t.parentViewBox,a=t.offset,s=t.position,o=n,l=o.x,c=o.y,u=o.width,d=o.height,f=d>=0?1:-1,h=f*a,p=f>0?"end":"start",m=f>0?"start":"end",g=u>=0?1:-1,y=g*a,v=g>0?"end":"start",S=g>0?"start":"end";if(s==="top"){var w={x:l+u/2,y:c-f*a,textAnchor:"middle",verticalAnchor:p};return Wt(Wt({},w),r?{height:Math.max(c-r.y,0),width:u}:{})}if(s==="bottom"){var N={x:l+u/2,y:c+d+h,textAnchor:"middle",verticalAnchor:m};return Wt(Wt({},N),r?{height:Math.max(r.y+r.height-(c+d),0),width:u}:{})}if(s==="left"){var k={x:l-y,y:c+d/2,textAnchor:v,verticalAnchor:"middle"};return Wt(Wt({},k),r?{width:Math.max(k.x-r.x,0),height:d}:{})}if(s==="right"){var x={x:l+u+y,y:c+d/2,textAnchor:S,verticalAnchor:"middle"};return Wt(Wt({},x),r?{width:Math.max(r.x+r.width-x.x,0),height:d}:{})}var j=r?{width:u,height:d}:{};return s==="insideLeft"?Wt({x:l+y,y:c+d/2,textAnchor:S,verticalAnchor:"middle"},j):s==="insideRight"?Wt({x:l+u-y,y:c+d/2,textAnchor:v,verticalAnchor:"middle"},j):s==="insideTop"?Wt({x:l+u/2,y:c+h,textAnchor:"middle",verticalAnchor:m},j):s==="insideBottom"?Wt({x:l+u/2,y:c+d-h,textAnchor:"middle",verticalAnchor:p},j):s==="insideTopLeft"?Wt({x:l+y,y:c+h,textAnchor:S,verticalAnchor:m},j):s==="insideTopRight"?Wt({x:l+u-y,y:c+h,textAnchor:v,verticalAnchor:m},j):s==="insideBottomLeft"?Wt({x:l+y,y:c+d-h,textAnchor:S,verticalAnchor:p},j):s==="insideBottomRight"?Wt({x:l+u-y,y:c+d-h,textAnchor:v,verticalAnchor:p},j):jl(s)&&(ue(s.x)||ps(s.x))&&(ue(s.y)||ps(s.y))?Wt({x:l+Rs(s.x,u),y:c+Rs(s.y,d),textAnchor:"end",verticalAnchor:"end"},j):Wt({x:l+u/2,y:c+d/2,textAnchor:"middle",verticalAnchor:"middle"},j)},rZ=function(t){return"cx"in t&&ue(t.cx)};function bn(e){var t=e.offset,n=t===void 0?5:t,r=KQ(e,FQ),a=Wt({offset:n},r),s=a.viewBox,o=a.position,l=a.value,c=a.children,u=a.content,d=a.className,f=d===void 0?"":d,h=a.textBreakAll;if(!s||Ye(l)&&Ye(c)&&!b.isValidElement(u)&&!Le(u))return null;if(b.isValidElement(u))return b.cloneElement(u,a);var p;if(Le(u)){if(p=b.createElement(u,a),b.isValidElement(p))return p}else p=ZQ(a);var m=rZ(s),g=Ke(a,!0);if(m&&(o==="insideStart"||o==="insideEnd"||o==="end"))return eZ(a,p,g);var y=m?tZ(a):nZ(a);return V.createElement(yh,_u({className:Ve("recharts-label",f)},g,y,{breakAll:h}),p)}bn.displayName="Label";var nR=function(t){var n=t.cx,r=t.cy,a=t.angle,s=t.startAngle,o=t.endAngle,l=t.r,c=t.radius,u=t.innerRadius,d=t.outerRadius,f=t.x,h=t.y,p=t.top,m=t.left,g=t.width,y=t.height,v=t.clockWise,S=t.labelViewBox;if(S)return S;if(ue(g)&&ue(y)){if(ue(f)&&ue(h))return{x:f,y:h,width:g,height:y};if(ue(p)&&ue(m))return{x:p,y:m,width:g,height:y}}return ue(f)&&ue(h)?{x:f,y:h,width:0,height:0}:ue(n)&&ue(r)?{cx:n,cy:r,startAngle:s||a||0,endAngle:o||a||0,innerRadius:u||0,outerRadius:d||c||l||0,clockWise:v}:t.viewBox?t.viewBox:{}},aZ=function(t,n){return t?t===!0?V.createElement(bn,{key:"label-implicit",viewBox:n}):qt(t)?V.createElement(bn,{key:"label-implicit",viewBox:n,value:t}):b.isValidElement(t)?t.type===bn?b.cloneElement(t,{key:"label-implicit",viewBox:n}):V.createElement(bn,{key:"label-implicit",content:t,viewBox:n}):Le(t)?V.createElement(bn,{key:"label-implicit",content:t,viewBox:n}):jl(t)?V.createElement(bn,_u({viewBox:n},t,{key:"label-implicit"})):null:null},iZ=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var a=t.children,s=nR(t),o=Fr(a,bn).map(function(c,u){return b.cloneElement(c,{viewBox:n||s,key:"label-".concat(u)})});if(!r)return o;var l=aZ(t.label,n||s);return[l].concat(UQ(o))};bn.parseViewBox=nR;bn.renderCallByParent=iZ;function sZ(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var oZ=sZ;const lZ=Ze(oZ);function Cu(e){"@babel/helpers - typeof";return Cu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cu(e)}var cZ=["valueAccessor"],uZ=["data","dataKey","clockWise","id","textBreakAll"];function dZ(e){return mZ(e)||pZ(e)||hZ(e)||fZ()}function fZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
95
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hZ(e,t){if(e){if(typeof e=="string")return ob(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ob(e,t)}}function pZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function mZ(e){if(Array.isArray(e))return ob(e)}function ob(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ih(){return Ih=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ih.apply(this,arguments)}function P1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function R1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?P1(Object(n),!0).forEach(function(r){gZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function gZ(e,t,n){return t=vZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vZ(e){var t=yZ(e,"string");return Cu(t)=="symbol"?t:t+""}function yZ(e,t){if(Cu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Cu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function M1(e,t){if(e==null)return{};var n=bZ(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function bZ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var xZ=function(t){return Array.isArray(t.value)?lZ(t.value):t.value};function js(e){var t=e.valueAccessor,n=t===void 0?xZ:t,r=M1(e,cZ),a=r.data,s=r.dataKey,o=r.clockWise,l=r.id,c=r.textBreakAll,u=M1(r,uZ);return!a||!a.length?null:V.createElement(nn,{className:"recharts-label-list"},a.map(function(d,f){var h=Ye(s)?n(d,f):ca(d&&d.payload,s),p=Ye(l)?{}:{id:"".concat(l,"-").concat(f)};return V.createElement(bn,Ih({},Ke(d,!0),u,p,{parentViewBox:d.parentViewBox,value:h,textBreakAll:c,viewBox:bn.parseViewBox(Ye(o)?d:R1(R1({},d),{},{clockWise:o})),key:"label-".concat(f),index:f}))}))}js.displayName="LabelList";function wZ(e,t){return e?e===!0?V.createElement(js,{key:"labelList-implicit",data:t}):V.isValidElement(e)||Le(e)?V.createElement(js,{key:"labelList-implicit",data:t,content:e}):jl(e)?V.createElement(js,Ih({data:t},e,{key:"labelList-implicit"})):null:null}function kZ(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=Fr(r,js).map(function(o,l){return b.cloneElement(o,{data:t,key:"labelList-".concat(l)})});if(!n)return a;var s=wZ(e.label,t);return[s].concat(dZ(a))}js.renderCallByParent=kZ;function Au(e){"@babel/helpers - typeof";return Au=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Au(e)}function lb(){return lb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},lb.apply(this,arguments)}function I1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function $1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?I1(Object(n),!0).forEach(function(r){SZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function SZ(e,t,n){return t=jZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jZ(e){var t=NZ(e,"string");return Au(t)=="symbol"?t:t+""}function NZ(e,t){if(Au(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Au(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var EZ=function(t,n){var r=Dr(n-t),a=Math.min(Math.abs(n-t),359.999);return r*a},Vd=function(t){var n=t.cx,r=t.cy,a=t.radius,s=t.angle,o=t.sign,l=t.isExternal,c=t.cornerRadius,u=t.cornerIsExternal,d=c*(l?1:-1)+a,f=Math.asin(c/d)/Mh,h=u?s:s+o*f,p=cn(n,r,d,h),m=cn(n,r,a,h),g=u?s-o*f:s,y=cn(n,r,d*Math.cos(f*Mh),g);return{center:p,circleTangency:m,lineTangency:y,theta:f}},rR=function(t){var n=t.cx,r=t.cy,a=t.innerRadius,s=t.outerRadius,o=t.startAngle,l=t.endAngle,c=EZ(o,l),u=o+c,d=cn(n,r,s,o),f=cn(n,r,s,u),h="M ".concat(d.x,",").concat(d.y,`
|
|
96
|
-
A `).concat(s,",").concat(s,`,0,
|
|
97
|
-
`).concat(+(Math.abs(c)>180),",").concat(+(o>u),`,
|
|
98
|
-
`).concat(f.x,",").concat(f.y,`
|
|
99
|
-
`);if(a>0){var p=cn(n,r,a,o),m=cn(n,r,a,u);h+="L ".concat(m.x,",").concat(m.y,`
|
|
100
|
-
A `).concat(a,",").concat(a,`,0,
|
|
101
|
-
`).concat(+(Math.abs(c)>180),",").concat(+(o<=u),`,
|
|
102
|
-
`).concat(p.x,",").concat(p.y," Z")}else h+="L ".concat(n,",").concat(r," Z");return h},_Z=function(t){var n=t.cx,r=t.cy,a=t.innerRadius,s=t.outerRadius,o=t.cornerRadius,l=t.forceCornerRadius,c=t.cornerIsExternal,u=t.startAngle,d=t.endAngle,f=Dr(d-u),h=Vd({cx:n,cy:r,radius:s,angle:u,sign:f,cornerRadius:o,cornerIsExternal:c}),p=h.circleTangency,m=h.lineTangency,g=h.theta,y=Vd({cx:n,cy:r,radius:s,angle:d,sign:-f,cornerRadius:o,cornerIsExternal:c}),v=y.circleTangency,S=y.lineTangency,w=y.theta,N=c?Math.abs(u-d):Math.abs(u-d)-g-w;if(N<0)return l?"M ".concat(m.x,",").concat(m.y,`
|
|
103
|
-
a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0
|
|
104
|
-
a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0
|
|
105
|
-
`):rR({cx:n,cy:r,innerRadius:a,outerRadius:s,startAngle:u,endAngle:d});var k="M ".concat(m.x,",").concat(m.y,`
|
|
106
|
-
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(p.x,",").concat(p.y,`
|
|
107
|
-
A`).concat(s,",").concat(s,",0,").concat(+(N>180),",").concat(+(f<0),",").concat(v.x,",").concat(v.y,`
|
|
108
|
-
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(S.x,",").concat(S.y,`
|
|
109
|
-
`);if(a>0){var x=Vd({cx:n,cy:r,radius:a,angle:u,sign:f,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),j=x.circleTangency,_=x.lineTangency,O=x.theta,C=Vd({cx:n,cy:r,radius:a,angle:d,sign:-f,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),P=C.circleTangency,A=C.lineTangency,B=C.theta,I=c?Math.abs(u-d):Math.abs(u-d)-O-B;if(I<0&&o===0)return"".concat(k,"L").concat(n,",").concat(r,"Z");k+="L".concat(A.x,",").concat(A.y,`
|
|
110
|
-
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(P.x,",").concat(P.y,`
|
|
111
|
-
A`).concat(a,",").concat(a,",0,").concat(+(I>180),",").concat(+(f>0),",").concat(j.x,",").concat(j.y,`
|
|
112
|
-
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(_.x,",").concat(_.y,"Z")}else k+="L".concat(n,",").concat(r,"Z");return k},CZ={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},aR=function(t){var n=$1($1({},CZ),t),r=n.cx,a=n.cy,s=n.innerRadius,o=n.outerRadius,l=n.cornerRadius,c=n.forceCornerRadius,u=n.cornerIsExternal,d=n.startAngle,f=n.endAngle,h=n.className;if(o<s||d===f)return null;var p=Ve("recharts-sector",h),m=o-s,g=Rs(l,m,0,!0),y;return g>0&&Math.abs(d-f)<360?y=_Z({cx:r,cy:a,innerRadius:s,outerRadius:o,cornerRadius:Math.min(g,m/2),forceCornerRadius:c,cornerIsExternal:u,startAngle:d,endAngle:f}):y=rR({cx:r,cy:a,innerRadius:s,outerRadius:o,startAngle:d,endAngle:f}),V.createElement("path",lb({},Ke(n,!0),{className:p,d:y,role:"img"}))};function Tu(e){"@babel/helpers - typeof";return Tu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tu(e)}function cb(){return cb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},cb.apply(this,arguments)}function L1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function D1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?L1(Object(n),!0).forEach(function(r){AZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function AZ(e,t,n){return t=TZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function TZ(e){var t=OZ(e,"string");return Tu(t)=="symbol"?t:t+""}function OZ(e,t){if(Tu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Tu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var B1={curveBasisClosed:A4,curveBasisOpen:T4,curveBasis:C4,curveBumpX:p4,curveBumpY:m4,curveLinearClosed:O4,curveLinear:Qp,curveMonotoneX:P4,curveMonotoneY:R4,curveNatural:M4,curveStep:I4,curveStepAfter:L4,curveStepBefore:$4},Yd=function(t){return t.x===+t.x&&t.y===+t.y},uc=function(t){return t.x},dc=function(t){return t.y},PZ=function(t,n){if(Le(t))return t;var r="curve".concat(Yp(t));return(r==="curveMonotone"||r==="curveBump")&&n?B1["".concat(r).concat(n==="vertical"?"Y":"X")]:B1[r]||Qp},RZ=function(t){var n=t.type,r=n===void 0?"linear":n,a=t.points,s=a===void 0?[]:a,o=t.baseLine,l=t.layout,c=t.connectNulls,u=c===void 0?!1:c,d=PZ(r,l),f=u?s.filter(function(g){return Yd(g)}):s,h;if(Array.isArray(o)){var p=u?o.filter(function(g){return Yd(g)}):o,m=f.map(function(g,y){return D1(D1({},g),{},{base:p[y]})});return l==="vertical"?h=Bd().y(dc).x1(uc).x0(function(g){return g.base.x}):h=Bd().x(uc).y1(dc).y0(function(g){return g.base.y}),h.defined(Yd).curve(d),h(m)}return l==="vertical"&&ue(o)?h=Bd().y(dc).x1(uc).x0(o):ue(o)?h=Bd().x(uc).y1(dc).y0(o):h=sO().x(uc).y(dc),h.defined(Yd).curve(d),h(f)},z1=function(t){var n=t.className,r=t.points,a=t.path,s=t.pathRef;if((!r||!r.length)&&!a)return null;var o=r&&r.length?RZ(t):a;return b.createElement("path",cb({},Ke(t,!1),rh(t),{className:Ve("recharts-curve",n),d:o,ref:s}))},iR={exports:{}},MZ="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",IZ=MZ,$Z=IZ;function sR(){}function oR(){}oR.resetWarningCache=sR;var LZ=function(){function e(r,a,s,o,l,c){if(c!==$Z){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:oR,resetWarningCache:sR};return n.PropTypes=n,n};iR.exports=LZ();var DZ=iR.exports;const Qe=Ze(DZ),{getOwnPropertyNames:BZ,getOwnPropertySymbols:zZ}=Object,{hasOwnProperty:FZ}=Object.prototype;function Ag(e,t){return function(r,a,s){return e(r,a,s)&&t(r,a,s)}}function Xd(e){return function(n,r,a){if(!n||!r||typeof n!="object"||typeof r!="object")return e(n,r,a);const{cache:s}=a,o=s.get(n),l=s.get(r);if(o&&l)return o===r&&l===n;s.set(n,r),s.set(r,n);const c=e(n,r,a);return s.delete(n),s.delete(r),c}}function UZ(e){return e!=null?e[Symbol.toStringTag]:void 0}function F1(e){return BZ(e).concat(zZ(e))}const WZ=Object.hasOwn||((e,t)=>FZ.call(e,t));function Ws(e,t){return e===t||!e&&!t&&e!==e&&t!==t}const HZ="__v",GZ="__o",qZ="_owner",{getOwnPropertyDescriptor:U1,keys:W1}=Object;function KZ(e,t){return e.byteLength===t.byteLength&&$h(new Uint8Array(e),new Uint8Array(t))}function VZ(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function YZ(e,t){return e.byteLength===t.byteLength&&$h(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function XZ(e,t){return Ws(e.getTime(),t.getTime())}function QZ(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function ZZ(e,t){return e===t}function H1(e,t,n){const r=e.size;if(r!==t.size)return!1;if(!r)return!0;const a=new Array(r),s=e.entries();let o,l,c=0;for(;(o=s.next())&&!o.done;){const u=t.entries();let d=!1,f=0;for(;(l=u.next())&&!l.done;){if(a[f]){f++;continue}const h=o.value,p=l.value;if(n.equals(h[0],p[0],c,f,e,t,n)&&n.equals(h[1],p[1],h[0],p[0],e,t,n)){d=a[f]=!0;break}f++}if(!d)return!1;c++}return!0}const JZ=Ws;function eJ(e,t,n){const r=W1(e);let a=r.length;if(W1(t).length!==a)return!1;for(;a-- >0;)if(!lR(e,t,n,r[a]))return!1;return!0}function fc(e,t,n){const r=F1(e);let a=r.length;if(F1(t).length!==a)return!1;let s,o,l;for(;a-- >0;)if(s=r[a],!lR(e,t,n,s)||(o=U1(e,s),l=U1(t,s),(o||l)&&(!o||!l||o.configurable!==l.configurable||o.enumerable!==l.enumerable||o.writable!==l.writable)))return!1;return!0}function tJ(e,t){return Ws(e.valueOf(),t.valueOf())}function nJ(e,t){return e.source===t.source&&e.flags===t.flags}function G1(e,t,n){const r=e.size;if(r!==t.size)return!1;if(!r)return!0;const a=new Array(r),s=e.values();let o,l;for(;(o=s.next())&&!o.done;){const c=t.values();let u=!1,d=0;for(;(l=c.next())&&!l.done;){if(!a[d]&&n.equals(o.value,l.value,o.value,l.value,e,t,n)){u=a[d]=!0;break}d++}if(!u)return!1}return!0}function $h(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function rJ(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function lR(e,t,n,r){return(r===qZ||r===GZ||r===HZ)&&(e.$$typeof||t.$$typeof)?!0:WZ(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}const aJ="[object ArrayBuffer]",iJ="[object Arguments]",sJ="[object Boolean]",oJ="[object DataView]",lJ="[object Date]",cJ="[object Error]",uJ="[object Map]",dJ="[object Number]",fJ="[object Object]",hJ="[object RegExp]",pJ="[object Set]",mJ="[object String]",gJ={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},vJ="[object URL]",yJ=Object.prototype.toString;function bJ({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:a,areFunctionsEqual:s,areMapsEqual:o,areNumbersEqual:l,areObjectsEqual:c,arePrimitiveWrappersEqual:u,areRegExpsEqual:d,areSetsEqual:f,areTypedArraysEqual:h,areUrlsEqual:p,unknownTagComparators:m}){return function(y,v,S){if(y===v)return!0;if(y==null||v==null)return!1;const w=typeof y;if(w!==typeof v)return!1;if(w!=="object")return w==="number"?l(y,v,S):w==="function"?s(y,v,S):!1;const N=y.constructor;if(N!==v.constructor)return!1;if(N===Object)return c(y,v,S);if(Array.isArray(y))return t(y,v,S);if(N===Date)return r(y,v,S);if(N===RegExp)return d(y,v,S);if(N===Map)return o(y,v,S);if(N===Set)return f(y,v,S);const k=yJ.call(y);if(k===lJ)return r(y,v,S);if(k===hJ)return d(y,v,S);if(k===uJ)return o(y,v,S);if(k===pJ)return f(y,v,S);if(k===fJ)return typeof y.then!="function"&&typeof v.then!="function"&&c(y,v,S);if(k===vJ)return p(y,v,S);if(k===cJ)return a(y,v,S);if(k===iJ)return c(y,v,S);if(gJ[k])return h(y,v,S);if(k===aJ)return e(y,v,S);if(k===oJ)return n(y,v,S);if(k===sJ||k===dJ||k===mJ)return u(y,v,S);if(m){let x=m[k];if(!x){const j=UZ(y);j&&(x=m[j])}if(x)return x(y,v,S)}return!1}}function xJ({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:KZ,areArraysEqual:n?fc:VZ,areDataViewsEqual:YZ,areDatesEqual:XZ,areErrorsEqual:QZ,areFunctionsEqual:ZZ,areMapsEqual:n?Ag(H1,fc):H1,areNumbersEqual:JZ,areObjectsEqual:n?fc:eJ,arePrimitiveWrappersEqual:tJ,areRegExpsEqual:nJ,areSetsEqual:n?Ag(G1,fc):G1,areTypedArraysEqual:n?Ag($h,fc):$h,areUrlsEqual:rJ,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){const a=Xd(r.areArraysEqual),s=Xd(r.areMapsEqual),o=Xd(r.areObjectsEqual),l=Xd(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:a,areMapsEqual:s,areObjectsEqual:o,areSetsEqual:l})}return r}function wJ(e){return function(t,n,r,a,s,o,l){return e(t,n,l)}}function kJ({circular:e,comparator:t,createState:n,equals:r,strict:a}){if(n)return function(l,c){const{cache:u=e?new WeakMap:void 0,meta:d}=n();return t(l,c,{cache:u,equals:r,meta:d,strict:a})};if(e)return function(l,c){return t(l,c,{cache:new WeakMap,equals:r,meta:void 0,strict:a})};const s={cache:void 0,equals:r,meta:void 0,strict:a};return function(l,c){return t(l,c,s)}}const SJ=Ui();Ui({strict:!0});Ui({circular:!0});Ui({circular:!0,strict:!0});Ui({createInternalComparator:()=>Ws});Ui({strict:!0,createInternalComparator:()=>Ws});Ui({circular:!0,createInternalComparator:()=>Ws});Ui({circular:!0,createInternalComparator:()=>Ws,strict:!0});function Ui(e={}){const{circular:t=!1,createInternalComparator:n,createState:r,strict:a=!1}=e,s=xJ(e),o=bJ(s),l=n?n(o):wJ(o);return kJ({circular:t,comparator:o,createState:r,equals:l,strict:a})}function jJ(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function q1(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function a(s){n<0&&(n=s),s-n>t?(e(s),n=-1):jJ(a)};requestAnimationFrame(r)}function ub(e){"@babel/helpers - typeof";return ub=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ub(e)}function NJ(e){return AJ(e)||CJ(e)||_J(e)||EJ()}function EJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
113
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _J(e,t){if(e){if(typeof e=="string")return K1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K1(e,t)}}function K1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function CJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function AJ(e){if(Array.isArray(e))return e}function TJ(){var e={},t=function(){return null},n=!1,r=function a(s){if(!n){if(Array.isArray(s)){if(!s.length)return;var o=s,l=NJ(o),c=l[0],u=l.slice(1);if(typeof c=="number"){q1(a.bind(null,u),c);return}a(c),q1(a.bind(null,u));return}ub(s)==="object"&&(e=s,t(e)),typeof s=="function"&&s()}};return{stop:function(){n=!0},start:function(s){n=!1,r(s)},subscribe:function(s){return t=s,function(){t=function(){return null}}}}}function Ou(e){"@babel/helpers - typeof";return Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ou(e)}function V1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Y1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?V1(Object(n),!0).forEach(function(r){cR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):V1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function cR(e,t,n){return t=OJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OJ(e){var t=PJ(e,"string");return Ou(t)==="symbol"?t:String(t)}function PJ(e,t){if(Ou(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ou(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var RJ=function(t,n){return[Object.keys(t),Object.keys(n)].reduce(function(r,a){return r.filter(function(s){return a.includes(s)})})},MJ=function(t){return t},IJ=function(t){return t.replace(/([A-Z])/g,function(n){return"-".concat(n.toLowerCase())})},Lc=function(t,n){return Object.keys(n).reduce(function(r,a){return Y1(Y1({},r),{},cR({},a,t(a,n[a])))},{})},X1=function(t,n,r){return t.map(function(a){return"".concat(IJ(a)," ").concat(n,"ms ").concat(r)}).join(",")};function $J(e,t){return BJ(e)||DJ(e,t)||uR(e,t)||LJ()}function LJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
114
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DJ(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function BJ(e){if(Array.isArray(e))return e}function zJ(e){return WJ(e)||UJ(e)||uR(e)||FJ()}function FJ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
115
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uR(e,t){if(e){if(typeof e=="string")return db(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return db(e,t)}}function UJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function WJ(e){if(Array.isArray(e))return db(e)}function db(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Lh=1e-4,dR=function(t,n){return[0,3*t,3*n-6*t,3*t-3*n+1]},fR=function(t,n){return t.map(function(r,a){return r*Math.pow(n,a)}).reduce(function(r,a){return r+a})},Q1=function(t,n){return function(r){var a=dR(t,n);return fR(a,r)}},HJ=function(t,n){return function(r){var a=dR(t,n),s=[].concat(zJ(a.map(function(o,l){return o*l}).slice(1)),[0]);return fR(s,r)}},Z1=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=n[0],s=n[1],o=n[2],l=n[3];if(n.length===1)switch(n[0]){case"linear":a=0,s=0,o=1,l=1;break;case"ease":a=.25,s=.1,o=.25,l=1;break;case"ease-in":a=.42,s=0,o=1,l=1;break;case"ease-out":a=.42,s=0,o=.58,l=1;break;case"ease-in-out":a=0,s=0,o=.58,l=1;break;default:{var c=n[0].split("(");if(c[0]==="cubic-bezier"&&c[1].split(")")[0].split(",").length===4){var u=c[1].split(")")[0].split(",").map(function(y){return parseFloat(y)}),d=$J(u,4);a=d[0],s=d[1],o=d[2],l=d[3]}}}var f=Q1(a,o),h=Q1(s,l),p=HJ(a,o),m=function(v){return v>1?1:v<0?0:v},g=function(v){for(var S=v>1?1:v,w=S,N=0;N<8;++N){var k=f(w)-S,x=p(w);if(Math.abs(k-S)<Lh||x<Lh)return h(w);w=m(w-k/x)}return h(w)};return g.isStepper=!1,g},GJ=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,a=t.damping,s=a===void 0?8:a,o=t.dt,l=o===void 0?17:o,c=function(d,f,h){var p=-(d-f)*r,m=h*s,g=h+(p-m)*l/1e3,y=h*l/1e3+d;return Math.abs(y-f)<Lh&&Math.abs(g)<Lh?[f,0]:[y,g]};return c.isStepper=!0,c.dt=l,c},qJ=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=n[0];if(typeof a=="string")switch(a){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Z1(a);case"spring":return GJ();default:if(a.split("(")[0]==="cubic-bezier")return Z1(a)}return typeof a=="function"?a:null};function Pu(e){"@babel/helpers - typeof";return Pu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pu(e)}function J1(e){return YJ(e)||VJ(e)||hR(e)||KJ()}function KJ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
116
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function YJ(e){if(Array.isArray(e))return hb(e)}function eN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function on(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?eN(Object(n),!0).forEach(function(r){fb(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function fb(e,t,n){return t=XJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XJ(e){var t=QJ(e,"string");return Pu(t)==="symbol"?t:String(t)}function QJ(e,t){if(Pu(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Pu(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ZJ(e,t){return tee(e)||eee(e,t)||hR(e,t)||JJ()}function JJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
117
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hR(e,t){if(e){if(typeof e=="string")return hb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hb(e,t)}}function hb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function eee(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function tee(e){if(Array.isArray(e))return e}var Dh=function(t,n,r){return t+(n-t)*r},pb=function(t){var n=t.from,r=t.to;return n!==r},nee=function e(t,n,r){var a=Lc(function(s,o){if(pb(o)){var l=t(o.from,o.to,o.velocity),c=ZJ(l,2),u=c[0],d=c[1];return on(on({},o),{},{from:u,velocity:d})}return o},n);return r<1?Lc(function(s,o){return pb(o)?on(on({},o),{},{velocity:Dh(o.velocity,a[s].velocity,r),from:Dh(o.from,a[s].from,r)}):o},n):e(t,a,r-1)};const ree=function(e,t,n,r,a){var s=RJ(e,t),o=s.reduce(function(y,v){return on(on({},y),{},fb({},v,[e[v],t[v]]))},{}),l=s.reduce(function(y,v){return on(on({},y),{},fb({},v,{from:e[v],velocity:0,to:t[v]}))},{}),c=-1,u,d,f=function(){return null},h=function(){return Lc(function(v,S){return S.from},l)},p=function(){return!Object.values(l).filter(pb).length},m=function(v){u||(u=v);var S=v-u,w=S/n.dt;l=nee(n,l,w),a(on(on(on({},e),t),h())),u=v,p()||(c=requestAnimationFrame(f))},g=function(v){d||(d=v);var S=(v-d)/r,w=Lc(function(k,x){return Dh.apply(void 0,J1(x).concat([n(S)]))},o);if(a(on(on(on({},e),t),w)),S<1)c=requestAnimationFrame(f);else{var N=Lc(function(k,x){return Dh.apply(void 0,J1(x).concat([n(1)]))},o);a(on(on(on({},e),t),N))}};return f=n.isStepper?m:g,function(){return requestAnimationFrame(f),function(){cancelAnimationFrame(c)}}};function al(e){"@babel/helpers - typeof";return al=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},al(e)}var aee=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function iee(e,t){if(e==null)return{};var n=see(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function see(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,s;for(s=0;s<r.length;s++)a=r[s],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}function Tg(e){return uee(e)||cee(e)||lee(e)||oee()}function oee(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
118
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lee(e,t){if(e){if(typeof e=="string")return mb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return mb(e,t)}}function cee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function uee(e){if(Array.isArray(e))return mb(e)}function mb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function tN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Pr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?tN(Object(n),!0).forEach(function(r){kc(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function kc(e,t,n){return t=pR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fee(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,pR(r.key),r)}}function hee(e,t,n){return t&&fee(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function pR(e){var t=pee(e,"string");return al(t)==="symbol"?t:String(t)}function pee(e,t){if(al(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(al(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mee(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gb(e,t)}function gb(e,t){return gb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},gb(e,t)}function gee(e){var t=vee();return function(){var r=Bh(e),a;if(t){var s=Bh(this).constructor;a=Reflect.construct(r,arguments,s)}else a=r.apply(this,arguments);return vb(this,a)}}function vb(e,t){if(t&&(al(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yb(e)}function yb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vee(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Bh(e){return Bh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Bh(e)}var Pi=function(e){mee(n,e);var t=gee(n);function n(r,a){var s;dee(this,n),s=t.call(this,r,a);var o=s.props,l=o.isActive,c=o.attributeName,u=o.from,d=o.to,f=o.steps,h=o.children,p=o.duration;if(s.handleStyleChange=s.handleStyleChange.bind(yb(s)),s.changeStyle=s.changeStyle.bind(yb(s)),!l||p<=0)return s.state={style:{}},typeof h=="function"&&(s.state={style:d}),vb(s);if(f&&f.length)s.state={style:f[0].style};else if(u){if(typeof h=="function")return s.state={style:u},vb(s);s.state={style:c?kc({},c,u):u}}else s.state={style:{}};return s}return hee(n,[{key:"componentDidMount",value:function(){var a=this.props,s=a.isActive,o=a.canBegin;this.mounted=!0,!(!s||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var s=this.props,o=s.isActive,l=s.canBegin,c=s.attributeName,u=s.shouldReAnimate,d=s.to,f=s.from,h=this.state.style;if(l){if(!o){var p={style:c?kc({},c,d):d};this.state&&h&&(c&&h[c]!==d||!c&&h!==d)&&this.setState(p);return}if(!(SJ(a.to,d)&&a.canBegin&&a.isActive)){var m=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var g=m||u?f:a.to;if(this.state&&h){var y={style:c?kc({},c,g):g};(c&&h[c]!==g||!c&&h!==g)&&this.setState(y)}this.runAnimation(Pr(Pr({},this.props),{},{from:g,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var s=this,o=a.from,l=a.to,c=a.duration,u=a.easing,d=a.begin,f=a.onAnimationEnd,h=a.onAnimationStart,p=ree(o,l,qJ(u),c,this.changeStyle),m=function(){s.stopJSAnimation=p()};this.manager.start([h,d,m,c,f])}},{key:"runStepAnimation",value:function(a){var s=this,o=a.steps,l=a.begin,c=a.onAnimationStart,u=o[0],d=u.style,f=u.duration,h=f===void 0?0:f,p=function(g,y,v){if(v===0)return g;var S=y.duration,w=y.easing,N=w===void 0?"ease":w,k=y.style,x=y.properties,j=y.onAnimationEnd,_=v>0?o[v-1]:y,O=x||Object.keys(k);if(typeof N=="function"||N==="spring")return[].concat(Tg(g),[s.runJSAnimation.bind(s,{from:_.style,to:k,duration:S,easing:N}),S]);var C=X1(O,S,N),P=Pr(Pr(Pr({},_.style),k),{},{transition:C});return[].concat(Tg(g),[P,S,j]).filter(MJ)};return this.manager.start([c].concat(Tg(o.reduce(p,[d,Math.max(h,l)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=TJ());var s=a.begin,o=a.duration,l=a.attributeName,c=a.to,u=a.easing,d=a.onAnimationStart,f=a.onAnimationEnd,h=a.steps,p=a.children,m=this.manager;if(this.unSubscribe=m.subscribe(this.handleStyleChange),typeof u=="function"||typeof p=="function"||u==="spring"){this.runJSAnimation(a);return}if(h.length>1){this.runStepAnimation(a);return}var g=l?kc({},l,c):c,y=X1(Object.keys(g),o,u);m.start([d,s,Pr(Pr({},g),{},{transition:y}),o,f])}},{key:"render",value:function(){var a=this.props,s=a.children;a.begin;var o=a.duration;a.attributeName,a.easing;var l=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var c=iee(a,aee),u=b.Children.count(s),d=this.state.style;if(typeof s=="function")return s(d);if(!l||u===0||o<=0)return s;var f=function(p){var m=p.props,g=m.style,y=g===void 0?{}:g,v=m.className,S=b.cloneElement(p,Pr(Pr({},c),{},{style:Pr(Pr({},y),d),className:v}));return S};return u===1?f(b.Children.only(s)):V.createElement("div",null,b.Children.map(s,function(h){return f(h)}))}}]),n}(b.PureComponent);Pi.displayName="Animate";Pi.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Pi.propTypes={from:Qe.oneOfType([Qe.object,Qe.string]),to:Qe.oneOfType([Qe.object,Qe.string]),attributeName:Qe.string,duration:Qe.number,begin:Qe.number,easing:Qe.oneOfType([Qe.string,Qe.func]),steps:Qe.arrayOf(Qe.shape({duration:Qe.number.isRequired,style:Qe.object.isRequired,easing:Qe.oneOfType([Qe.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Qe.func]),properties:Qe.arrayOf("string"),onAnimationEnd:Qe.func})),children:Qe.oneOfType([Qe.node,Qe.func]),isActive:Qe.bool,canBegin:Qe.bool,onAnimationEnd:Qe.func,shouldReAnimate:Qe.bool,onAnimationStart:Qe.func,onAnimationReStart:Qe.func};function Ru(e){"@babel/helpers - typeof";return Ru=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ru(e)}function zh(){return zh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zh.apply(this,arguments)}function yee(e,t){return kee(e)||wee(e,t)||xee(e,t)||bee()}function bee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
119
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xee(e,t){if(e){if(typeof e=="string")return nN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nN(e,t)}}function nN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function wee(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function kee(e){if(Array.isArray(e))return e}function rN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function aN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rN(Object(n),!0).forEach(function(r){See(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function See(e,t,n){return t=jee(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jee(e){var t=Nee(e,"string");return Ru(t)=="symbol"?t:t+""}function Nee(e,t){if(Ru(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ru(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var iN=function(t,n,r,a,s){var o=Math.min(Math.abs(r)/2,Math.abs(a)/2),l=a>=0?1:-1,c=r>=0?1:-1,u=a>=0&&r>=0||a<0&&r<0?1:0,d;if(o>0&&s instanceof Array){for(var f=[0,0,0,0],h=0,p=4;h<p;h++)f[h]=s[h]>o?o:s[h];d="M".concat(t,",").concat(n+l*f[0]),f[0]>0&&(d+="A ".concat(f[0],",").concat(f[0],",0,0,").concat(u,",").concat(t+c*f[0],",").concat(n)),d+="L ".concat(t+r-c*f[1],",").concat(n),f[1]>0&&(d+="A ".concat(f[1],",").concat(f[1],",0,0,").concat(u,`,
|
|
120
|
-
`).concat(t+r,",").concat(n+l*f[1])),d+="L ".concat(t+r,",").concat(n+a-l*f[2]),f[2]>0&&(d+="A ".concat(f[2],",").concat(f[2],",0,0,").concat(u,`,
|
|
121
|
-
`).concat(t+r-c*f[2],",").concat(n+a)),d+="L ".concat(t+c*f[3],",").concat(n+a),f[3]>0&&(d+="A ".concat(f[3],",").concat(f[3],",0,0,").concat(u,`,
|
|
122
|
-
`).concat(t,",").concat(n+a-l*f[3])),d+="Z"}else if(o>0&&s===+s&&s>0){var m=Math.min(o,s);d="M ".concat(t,",").concat(n+l*m,`
|
|
123
|
-
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t+c*m,",").concat(n,`
|
|
124
|
-
L `).concat(t+r-c*m,",").concat(n,`
|
|
125
|
-
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t+r,",").concat(n+l*m,`
|
|
126
|
-
L `).concat(t+r,",").concat(n+a-l*m,`
|
|
127
|
-
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t+r-c*m,",").concat(n+a,`
|
|
128
|
-
L `).concat(t+c*m,",").concat(n+a,`
|
|
129
|
-
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t,",").concat(n+a-l*m," Z")}else d="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(a," h ").concat(-r," Z");return d},Eee=function(t,n){if(!t||!n)return!1;var r=t.x,a=t.y,s=n.x,o=n.y,l=n.width,c=n.height;if(Math.abs(l)>0&&Math.abs(c)>0){var u=Math.min(s,s+l),d=Math.max(s,s+l),f=Math.min(o,o+c),h=Math.max(o,o+c);return r>=u&&r<=d&&a>=f&&a<=h}return!1},_ee={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Jw=function(t){var n=aN(aN({},_ee),t),r=b.useRef(),a=b.useState(-1),s=yee(a,2),o=s[0],l=s[1];b.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var N=r.current.getTotalLength();N&&l(N)}catch{}},[]);var c=n.x,u=n.y,d=n.width,f=n.height,h=n.radius,p=n.className,m=n.animationEasing,g=n.animationDuration,y=n.animationBegin,v=n.isAnimationActive,S=n.isUpdateAnimationActive;if(c!==+c||u!==+u||d!==+d||f!==+f||d===0||f===0)return null;var w=Ve("recharts-rectangle",p);return S?V.createElement(Pi,{canBegin:o>0,from:{width:d,height:f,x:c,y:u},to:{width:d,height:f,x:c,y:u},duration:g,animationEasing:m,isActive:S},function(N){var k=N.width,x=N.height,j=N.x,_=N.y;return V.createElement(Pi,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:y,duration:g,isActive:v,easing:m},V.createElement("path",zh({},Ke(n,!0),{className:w,d:iN(j,_,k,x,h),ref:r})))}):V.createElement("path",zh({},Ke(n,!0),{className:w,d:iN(c,u,d,f,h)}))};function bb(){return bb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bb.apply(this,arguments)}var mR=function(t){var n=t.cx,r=t.cy,a=t.r,s=t.className,o=Ve("recharts-dot",s);return n===+n&&r===+r&&a===+a?b.createElement("circle",bb({},Ke(t,!1),rh(t),{className:o,cx:n,cy:r,r:a})):null};function Mu(e){"@babel/helpers - typeof";return Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mu(e)}var Cee=["x","y","top","left","width","height","className"];function xb(){return xb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xb.apply(this,arguments)}function sN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Aee(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?sN(Object(n),!0).forEach(function(r){Tee(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Tee(e,t,n){return t=Oee(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oee(e){var t=Pee(e,"string");return Mu(t)=="symbol"?t:t+""}function Pee(e,t){if(Mu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Mu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ree(e,t){if(e==null)return{};var n=Mee(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Mee(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Iee=function(t,n,r,a,s,o){return"M".concat(t,",").concat(s,"v").concat(a,"M").concat(o,",").concat(n,"h").concat(r)},$ee=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,o=t.top,l=o===void 0?0:o,c=t.left,u=c===void 0?0:c,d=t.width,f=d===void 0?0:d,h=t.height,p=h===void 0?0:h,m=t.className,g=Ree(t,Cee),y=Aee({x:r,y:s,top:l,left:u,width:f,height:p},g);return!ue(r)||!ue(s)||!ue(f)||!ue(p)||!ue(l)||!ue(u)?null:V.createElement("path",xb({},Ke(y,!0),{className:Ve("recharts-cross",m),d:Iee(r,s,f,p,l,u)}))},Lee=TO,Dee=Lee(Object.getPrototypeOf,Object),Bee=Dee,zee=Ua,Fee=Bee,Uee=Wa,Wee="[object Object]",Hee=Function.prototype,Gee=Object.prototype,gR=Hee.toString,qee=Gee.hasOwnProperty,Kee=gR.call(Object);function Vee(e){if(!Uee(e)||zee(e)!=Wee)return!1;var t=Fee(e);if(t===null)return!0;var n=qee.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&gR.call(n)==Kee}var Yee=Vee;const Xee=Ze(Yee);var Qee=Ua,Zee=Wa,Jee="[object Boolean]";function ete(e){return e===!0||e===!1||Zee(e)&&Qee(e)==Jee}var tte=ete;const nte=Ze(tte);function Iu(e){"@babel/helpers - typeof";return Iu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Iu(e)}function Fh(){return Fh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fh.apply(this,arguments)}function rte(e,t){return ote(e)||ste(e,t)||ite(e,t)||ate()}function ate(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
130
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ite(e,t){if(e){if(typeof e=="string")return oN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oN(e,t)}}function oN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ste(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function ote(e){if(Array.isArray(e))return e}function lN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function cN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?lN(Object(n),!0).forEach(function(r){lte(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function lte(e,t,n){return t=cte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cte(e){var t=ute(e,"string");return Iu(t)=="symbol"?t:t+""}function ute(e,t){if(Iu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Iu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var uN=function(t,n,r,a,s){var o=r-a,l;return l="M ".concat(t,",").concat(n),l+="L ".concat(t+r,",").concat(n),l+="L ".concat(t+r-o/2,",").concat(n+s),l+="L ".concat(t+r-o/2-a,",").concat(n+s),l+="L ".concat(t,",").concat(n," Z"),l},dte={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},fte=function(t){var n=cN(cN({},dte),t),r=b.useRef(),a=b.useState(-1),s=rte(a,2),o=s[0],l=s[1];b.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var w=r.current.getTotalLength();w&&l(w)}catch{}},[]);var c=n.x,u=n.y,d=n.upperWidth,f=n.lowerWidth,h=n.height,p=n.className,m=n.animationEasing,g=n.animationDuration,y=n.animationBegin,v=n.isUpdateAnimationActive;if(c!==+c||u!==+u||d!==+d||f!==+f||h!==+h||d===0&&f===0||h===0)return null;var S=Ve("recharts-trapezoid",p);return v?V.createElement(Pi,{canBegin:o>0,from:{upperWidth:0,lowerWidth:0,height:h,x:c,y:u},to:{upperWidth:d,lowerWidth:f,height:h,x:c,y:u},duration:g,animationEasing:m,isActive:v},function(w){var N=w.upperWidth,k=w.lowerWidth,x=w.height,j=w.x,_=w.y;return V.createElement(Pi,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:y,duration:g,easing:m},V.createElement("path",Fh({},Ke(n,!0),{className:S,d:uN(j,_,N,k,x),ref:r})))}):V.createElement("g",null,V.createElement("path",Fh({},Ke(n,!0),{className:S,d:uN(c,u,d,f,h)})))},hte=["option","shapeType","propTransformer","activeClassName","isActive"];function $u(e){"@babel/helpers - typeof";return $u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$u(e)}function pte(e,t){if(e==null)return{};var n=mte(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function mte(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function dN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Uh(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dN(Object(n),!0).forEach(function(r){gte(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function gte(e,t,n){return t=vte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vte(e){var t=yte(e,"string");return $u(t)=="symbol"?t:t+""}function yte(e,t){if($u(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if($u(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bte(e,t){return Uh(Uh({},t),e)}function xte(e,t){return e==="symbols"}function fN(e){var t=e.shapeType,n=e.elementProps;switch(t){case"rectangle":return V.createElement(Jw,n);case"trapezoid":return V.createElement(fte,n);case"sector":return V.createElement(aR,n);case"symbols":if(xte(t))return V.createElement(vw,n);break;default:return null}}function wte(e){return b.isValidElement(e)?e.props:e}function kte(e){var t=e.option,n=e.shapeType,r=e.propTransformer,a=r===void 0?bte:r,s=e.activeClassName,o=s===void 0?"recharts-active-shape":s,l=e.isActive,c=pte(e,hte),u;if(b.isValidElement(t))u=b.cloneElement(t,Uh(Uh({},c),wte(t)));else if(Le(t))u=t(c);else if(Xee(t)&&!nte(t)){var d=a(t,c);u=V.createElement(fN,{shapeType:n,elementProps:d})}else{var f=c;u=V.createElement(fN,{shapeType:n,elementProps:f})}return l?V.createElement(nn,{className:o},u):u}function hm(e,t){return t!=null&&"trapezoids"in e.props}function pm(e,t){return t!=null&&"sectors"in e.props}function Lu(e,t){return t!=null&&"points"in e.props}function Ste(e,t){var n,r,a=e.x===(t==null||(n=t.labelViewBox)===null||n===void 0?void 0:n.x)||e.x===t.x,s=e.y===(t==null||(r=t.labelViewBox)===null||r===void 0?void 0:r.y)||e.y===t.y;return a&&s}function jte(e,t){var n=e.endAngle===t.endAngle,r=e.startAngle===t.startAngle;return n&&r}function Nte(e,t){var n=e.x===t.x,r=e.y===t.y,a=e.z===t.z;return n&&r&&a}function Ete(e,t){var n;return hm(e,t)?n=Ste:pm(e,t)?n=jte:Lu(e,t)&&(n=Nte),n}function _te(e,t){var n;return hm(e,t)?n="trapezoids":pm(e,t)?n="sectors":Lu(e,t)&&(n="points"),n}function Cte(e,t){if(hm(e,t)){var n;return(n=t.tooltipPayload)===null||n===void 0||(n=n[0])===null||n===void 0||(n=n.payload)===null||n===void 0?void 0:n.payload}if(pm(e,t)){var r;return(r=t.tooltipPayload)===null||r===void 0||(r=r[0])===null||r===void 0||(r=r.payload)===null||r===void 0?void 0:r.payload}return Lu(e,t)?t.payload:{}}function Ate(e){var t=e.activeTooltipItem,n=e.graphicalItem,r=e.itemData,a=_te(n,t),s=Cte(n,t),o=r.filter(function(c,u){var d=Yw(s,c),f=n.props[a].filter(function(m){var g=Ete(n,t);return g(m,t)}),h=n.props[a].indexOf(f[f.length-1]),p=u===h;return d&&p}),l=r.indexOf(o[o.length-1]);return l}var Tte=Math.ceil,Ote=Math.max;function Pte(e,t,n,r){for(var a=-1,s=Ote(Tte((t-e)/(n||1)),0),o=Array(s);s--;)o[r?s:++a]=e,e+=n;return o}var Rte=Pte,Mte=YO,hN=1/0,Ite=17976931348623157e292;function $te(e){if(!e)return e===0?e:0;if(e=Mte(e),e===hN||e===-hN){var t=e<0?-1:1;return t*Ite}return e===e?e:0}var vR=$te,Lte=Rte,Dte=tm,Og=vR;function Bte(e){return function(t,n,r){return r&&typeof r!="number"&&Dte(t,n,r)&&(n=r=void 0),t=Og(t),n===void 0?(n=t,t=0):n=Og(n),r=r===void 0?t<n?1:-1:Og(r),Lte(t,n,r,e)}}var zte=Bte,Fte=zte,Ute=Fte(),Wte=Ute;const Wh=Ze(Wte);function Du(e){"@babel/helpers - typeof";return Du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Du(e)}function pN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function mN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?pN(Object(n),!0).forEach(function(r){yR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yR(e,t,n){return t=Hte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hte(e){var t=Gte(e,"string");return Du(t)=="symbol"?t:t+""}function Gte(e,t){if(Du(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Du(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var qte=["Webkit","Moz","O","ms"],Kte=function(t,n){var r=t.replace(/(\w)/,function(s){return s.toUpperCase()}),a=qte.reduce(function(s,o){return mN(mN({},s),{},yR({},o+r,n))},{});return a[t]=n,a};function il(e){"@babel/helpers - typeof";return il=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},il(e)}function Hh(){return Hh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hh.apply(this,arguments)}function gN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Pg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?gN(Object(n),!0).forEach(function(r){Vn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Vte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xR(r.key),r)}}function Yte(e,t,n){return t&&vN(e.prototype,t),n&&vN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Xte(e,t,n){return t=Gh(t),Qte(e,bR()?Reflect.construct(t,n||[],Gh(e).constructor):t.apply(e,n))}function Qte(e,t){if(t&&(il(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zte(e)}function Zte(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bR=function(){return!!e})()}function Gh(e){return Gh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Gh(e)}function Jte(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&wb(e,t)}function wb(e,t){return wb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},wb(e,t)}function Vn(e,t,n){return t=xR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xR(e){var t=ene(e,"string");return il(t)=="symbol"?t:t+""}function ene(e,t){if(il(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(il(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var tne=function(t){var n=t.data,r=t.startIndex,a=t.endIndex,s=t.x,o=t.width,l=t.travellerWidth;if(!n||!n.length)return{};var c=n.length,u=Ic().domain(Wh(0,c)).range([s,s+o-l]),d=u.domain().map(function(f){return u(f)});return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,isTravellerFocused:!1,startX:u(r),endX:u(a),scale:u,scaleValues:d}},yN=function(t){return t.changedTouches&&!!t.changedTouches.length},sl=function(e){function t(n){var r;return Vte(this,t),r=Xte(this,t,[n]),Vn(r,"handleDrag",function(a){r.leaveTimer&&(clearTimeout(r.leaveTimer),r.leaveTimer=null),r.state.isTravellerMoving?r.handleTravellerMove(a):r.state.isSlideMoving&&r.handleSlideDrag(a)}),Vn(r,"handleTouchMove",function(a){a.changedTouches!=null&&a.changedTouches.length>0&&r.handleDrag(a.changedTouches[0])}),Vn(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=r.props,s=a.endIndex,o=a.onDragEnd,l=a.startIndex;o==null||o({endIndex:s,startIndex:l})}),r.detachDragEndListener()}),Vn(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Vn(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Vn(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Vn(r,"handleSlideDragStart",function(a){var s=yN(a)?a.changedTouches[0]:a;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:s.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return Jte(t,e),Yte(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var a=r.startX,s=r.endX,o=this.state.scaleValues,l=this.props,c=l.gap,u=l.data,d=u.length-1,f=Math.min(a,s),h=Math.max(a,s),p=t.getIndexInRange(o,f),m=t.getIndexInRange(o,h);return{startIndex:p-p%c,endIndex:m===d?d:m-m%c}}},{key:"getTextOfTick",value:function(r){var a=this.props,s=a.data,o=a.tickFormatter,l=a.dataKey,c=ca(s[r],l,r);return Le(o)?o(c,r):c}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var a=this.state,s=a.slideMoveStartX,o=a.startX,l=a.endX,c=this.props,u=c.x,d=c.width,f=c.travellerWidth,h=c.startIndex,p=c.endIndex,m=c.onChange,g=r.pageX-s;g>0?g=Math.min(g,u+d-f-l,u+d-f-o):g<0&&(g=Math.max(g,u-o,u-l));var y=this.getIndex({startX:o+g,endX:l+g});(y.startIndex!==h||y.endIndex!==p)&&m&&m(y),this.setState({startX:o+g,endX:l+g,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,a){var s=yN(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:s.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var a=this.state,s=a.brushMoveStartX,o=a.movingTravellerId,l=a.endX,c=a.startX,u=this.state[o],d=this.props,f=d.x,h=d.width,p=d.travellerWidth,m=d.onChange,g=d.gap,y=d.data,v={startX:this.state.startX,endX:this.state.endX},S=r.pageX-s;S>0?S=Math.min(S,f+h-p-u):S<0&&(S=Math.max(S,f-u)),v[o]=u+S;var w=this.getIndex(v),N=w.startIndex,k=w.endIndex,x=function(){var _=y.length-1;return o==="startX"&&(l>c?N%g===0:k%g===0)||l<c&&k===_||o==="endX"&&(l>c?k%g===0:N%g===0)||l>c&&k===_};this.setState(Vn(Vn({},o,u+S),"brushMoveStartX",r.pageX),function(){m&&x()&&m(w)})}},{key:"handleTravellerMoveKeyboard",value:function(r,a){var s=this,o=this.state,l=o.scaleValues,c=o.startX,u=o.endX,d=this.state[a],f=l.indexOf(d);if(f!==-1){var h=f+r;if(!(h===-1||h>=l.length)){var p=l[h];a==="startX"&&p>=u||a==="endX"&&p<=c||this.setState(Vn({},a,p),function(){s.props.onChange(s.getIndex({startX:s.state.startX,endX:s.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,a=r.x,s=r.y,o=r.width,l=r.height,c=r.fill,u=r.stroke;return V.createElement("rect",{stroke:u,fill:c,x:a,y:s,width:o,height:l})}},{key:"renderPanorama",value:function(){var r=this.props,a=r.x,s=r.y,o=r.width,l=r.height,c=r.data,u=r.children,d=r.padding,f=b.Children.only(u);return f?V.cloneElement(f,{x:a,y:s,width:o,height:l,margin:d,compact:!0,data:c}):null}},{key:"renderTravellerLayer",value:function(r,a){var s,o,l=this,c=this.props,u=c.y,d=c.travellerWidth,f=c.height,h=c.traveller,p=c.ariaLabel,m=c.data,g=c.startIndex,y=c.endIndex,v=Math.max(r,this.props.x),S=Pg(Pg({},Ke(this.props,!1)),{},{x:v,y:u,width:d,height:f}),w=p||"Min value: ".concat((s=m[g])===null||s===void 0?void 0:s.name,", Max value: ").concat((o=m[y])===null||o===void 0?void 0:o.name);return V.createElement(nn,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(k){["ArrowLeft","ArrowRight"].includes(k.key)&&(k.preventDefault(),k.stopPropagation(),l.handleTravellerMoveKeyboard(k.key==="ArrowRight"?1:-1,a))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(h,S))}},{key:"renderSlide",value:function(r,a){var s=this.props,o=s.y,l=s.height,c=s.stroke,u=s.travellerWidth,d=Math.min(r,a)+u,f=Math.max(Math.abs(a-r)-u,0);return V.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:c,fillOpacity:.2,x:d,y:o,width:f,height:l})}},{key:"renderText",value:function(){var r=this.props,a=r.startIndex,s=r.endIndex,o=r.y,l=r.height,c=r.travellerWidth,u=r.stroke,d=this.state,f=d.startX,h=d.endX,p=5,m={pointerEvents:"none",fill:u};return V.createElement(nn,{className:"recharts-brush-texts"},V.createElement(yh,Hh({textAnchor:"end",verticalAnchor:"middle",x:Math.min(f,h)-p,y:o+l/2},m),this.getTextOfTick(a)),V.createElement(yh,Hh({textAnchor:"start",verticalAnchor:"middle",x:Math.max(f,h)+c+p,y:o+l/2},m),this.getTextOfTick(s)))}},{key:"render",value:function(){var r=this.props,a=r.data,s=r.className,o=r.children,l=r.x,c=r.y,u=r.width,d=r.height,f=r.alwaysShowText,h=this.state,p=h.startX,m=h.endX,g=h.isTextActive,y=h.isSlideMoving,v=h.isTravellerMoving,S=h.isTravellerFocused;if(!a||!a.length||!ue(l)||!ue(c)||!ue(u)||!ue(d)||u<=0||d<=0)return null;var w=Ve("recharts-brush",s),N=V.Children.count(o)===1,k=Kte("userSelect","none");return V.createElement(nn,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:k},this.renderBackground(),N&&this.renderPanorama(),this.renderSlide(p,m),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(m,"endX"),(g||y||v||S||f)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var a=r.x,s=r.y,o=r.width,l=r.height,c=r.stroke,u=Math.floor(s+l/2)-1;return V.createElement(V.Fragment,null,V.createElement("rect",{x:a,y:s,width:o,height:l,fill:c,stroke:"none"}),V.createElement("line",{x1:a+1,y1:u,x2:a+o-1,y2:u,fill:"none",stroke:"#fff"}),V.createElement("line",{x1:a+1,y1:u+2,x2:a+o-1,y2:u+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,a){var s;return V.isValidElement(r)?s=V.cloneElement(r,a):Le(r)?s=r(a):s=t.renderDefaultTraveller(a),s}},{key:"getDerivedStateFromProps",value:function(r,a){var s=r.data,o=r.width,l=r.x,c=r.travellerWidth,u=r.updateId,d=r.startIndex,f=r.endIndex;if(s!==a.prevData||u!==a.prevUpdateId)return Pg({prevData:s,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o},s&&s.length?tne({data:s,width:o,x:l,travellerWidth:c,startIndex:d,endIndex:f}):{scale:null,scaleValues:null});if(a.scale&&(o!==a.prevWidth||l!==a.prevX||c!==a.prevTravellerWidth)){a.scale.range([l,l+o-c]);var h=a.scale.domain().map(function(p){return a.scale(p)});return{prevData:s,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o,startX:a.scale(r.startIndex),endX:a.scale(r.endIndex),scaleValues:h}}return null}},{key:"getIndexInRange",value:function(r,a){for(var s=r.length,o=0,l=s-1;l-o>1;){var c=Math.floor((o+l)/2);r[c]>a?l=c:o=c}return a>=r[l]?l:o}}])}(b.PureComponent);Vn(sl,"displayName","Brush");Vn(sl,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var nne=jw;function rne(e,t){var n;return nne(e,function(r,a,s){return n=t(r,a,s),!n}),!!n}var ane=rne,ine=kO,sne=Bi,one=ane,lne=Wn,cne=tm;function une(e,t,n){var r=lne(e)?ine:one;return n&&cne(e,t,n)&&(t=void 0),r(e,sne(t))}var dne=une;const fne=Ze(dne);var oa=function(t,n){var r=t.alwaysShow,a=t.ifOverflow;return r&&(a="extendDomain"),a===n},bN=HO;function hne(e,t,n){t=="__proto__"&&bN?bN(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var pne=hne,mne=pne,gne=UO,vne=Bi;function yne(e,t){var n={};return t=vne(t),gne(e,function(r,a,s){mne(n,a,t(r,a,s))}),n}var bne=yne;const xne=Ze(bne);function wne(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}var kne=wne,Sne=jw;function jne(e,t){var n=!0;return Sne(e,function(r,a,s){return n=!!t(r,a,s),n}),n}var Nne=jne,Ene=kne,_ne=Nne,Cne=Bi,Ane=Wn,Tne=tm;function One(e,t,n){var r=Ane(e)?Ene:_ne;return n&&Tne(e,t,n)&&(t=void 0),r(e,Cne(t))}var Pne=One;const wR=Ze(Pne);var Rne=["x","y"];function Bu(e){"@babel/helpers - typeof";return Bu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bu(e)}function kb(){return kb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},kb.apply(this,arguments)}function xN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function hc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?xN(Object(n),!0).forEach(function(r){Mne(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Mne(e,t,n){return t=Ine(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ine(e){var t=$ne(e,"string");return Bu(t)=="symbol"?t:t+""}function $ne(e,t){if(Bu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Bu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Lne(e,t){if(e==null)return{};var n=Dne(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Bne(e,t){var n=e.x,r=e.y,a=Lne(e,Rne),s="".concat(n),o=parseInt(s,10),l="".concat(r),c=parseInt(l,10),u="".concat(t.height||a.height),d=parseInt(u,10),f="".concat(t.width||a.width),h=parseInt(f,10);return hc(hc(hc(hc(hc({},t),a),o?{x:o}:{}),c?{y:c}:{}),{},{height:d,width:h,name:t.name,radius:t.radius})}function wN(e){return V.createElement(kte,kb({shapeType:"rectangle",propTransformer:Bne,activeClassName:"recharts-active-bar"},e))}var zne=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,a){if(typeof t=="number")return t;var s=ue(r)||e3(r);return s?t(r,a):(s||Is(),n)}},Fne=["value","background"],kR;function ol(e){"@babel/helpers - typeof";return ol=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ol(e)}function Une(e,t){if(e==null)return{};var n=Wne(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Wne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function qh(){return qh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qh.apply(this,arguments)}function kN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Lt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kN(Object(n),!0).forEach(function(r){gi(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Hne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function SN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,jR(r.key),r)}}function Gne(e,t,n){return t&&SN(e.prototype,t),n&&SN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function qne(e,t,n){return t=Kh(t),Kne(e,SR()?Reflect.construct(t,n||[],Kh(e).constructor):t.apply(e,n))}function Kne(e,t){if(t&&(ol(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Vne(e)}function Vne(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function SR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(SR=function(){return!!e})()}function Kh(e){return Kh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Kh(e)}function Yne(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Sb(e,t)}function Sb(e,t){return Sb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Sb(e,t)}function gi(e,t,n){return t=jR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jR(e){var t=Xne(e,"string");return ol(t)=="symbol"?t:t+""}function Xne(e,t){if(ol(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ol(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var gn=function(e){function t(){var n;Hne(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=qne(this,t,[].concat(a)),gi(n,"state",{isAnimationFinished:!1}),gi(n,"id",Vp("recharts-bar-")),gi(n,"handleAnimationEnd",function(){var o=n.props.onAnimationEnd;n.setState({isAnimationFinished:!0}),o&&o()}),gi(n,"handleAnimationStart",function(){var o=n.props.onAnimationStart;n.setState({isAnimationFinished:!1}),o&&o()}),n}return Yne(t,e),Gne(t,[{key:"renderRectanglesStatically",value:function(r){var a=this,s=this.props,o=s.shape,l=s.dataKey,c=s.activeIndex,u=s.activeBar,d=Ke(this.props,!1);return r&&r.map(function(f,h){var p=h===c,m=p?u:o,g=Lt(Lt(Lt({},d),f),{},{isActive:p,option:m,index:h,dataKey:l,onAnimationStart:a.handleAnimationStart,onAnimationEnd:a.handleAnimationEnd});return V.createElement(nn,qh({className:"recharts-bar-rectangle"},ah(a.props,f,h),{key:"rectangle-".concat(f==null?void 0:f.x,"-").concat(f==null?void 0:f.y,"-").concat(f==null?void 0:f.value,"-").concat(h)}),V.createElement(wN,g))})}},{key:"renderRectanglesWithAnimation",value:function(){var r=this,a=this.props,s=a.data,o=a.layout,l=a.isAnimationActive,c=a.animationBegin,u=a.animationDuration,d=a.animationEasing,f=a.animationId,h=this.state.prevData;return V.createElement(Pi,{begin:c,duration:u,isActive:l,easing:d,from:{t:0},to:{t:1},key:"bar-".concat(f),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(p){var m=p.t,g=s.map(function(y,v){var S=h&&h[v];if(S){var w=to(S.x,y.x),N=to(S.y,y.y),k=to(S.width,y.width),x=to(S.height,y.height);return Lt(Lt({},y),{},{x:w(m),y:N(m),width:k(m),height:x(m)})}if(o==="horizontal"){var j=to(0,y.height),_=j(m);return Lt(Lt({},y),{},{y:y.y+y.height-_,height:_})}var O=to(0,y.width),C=O(m);return Lt(Lt({},y),{},{width:C})});return V.createElement(nn,null,r.renderRectanglesStatically(g))})}},{key:"renderRectangles",value:function(){var r=this.props,a=r.data,s=r.isAnimationActive,o=this.state.prevData;return s&&a&&a.length&&(!o||!Yw(o,a))?this.renderRectanglesWithAnimation():this.renderRectanglesStatically(a)}},{key:"renderBackground",value:function(){var r=this,a=this.props,s=a.data,o=a.dataKey,l=a.activeIndex,c=Ke(this.props.background,!1);return s.map(function(u,d){u.value;var f=u.background,h=Une(u,Fne);if(!f)return null;var p=Lt(Lt(Lt(Lt(Lt({},h),{},{fill:"#eee"},f),c),ah(r.props,u,d)),{},{onAnimationStart:r.handleAnimationStart,onAnimationEnd:r.handleAnimationEnd,dataKey:o,index:d,className:"recharts-bar-background-rectangle"});return V.createElement(wN,qh({key:"background-bar-".concat(d),option:r.props.background,isActive:d===l},p))})}},{key:"renderErrorBar",value:function(r,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var s=this.props,o=s.data,l=s.xAxis,c=s.yAxis,u=s.layout,d=s.children,f=Fr(d,fm);if(!f)return null;var h=u==="vertical"?o[0].height/2:o[0].width/2,p=function(y,v){var S=Array.isArray(y.value)?y.value[1]:y.value;return{x:y.x,y:y.y,value:S,errorVal:ca(y,v)}},m={clipPath:r?"url(#clipPath-".concat(a,")"):null};return V.createElement(nn,m,f.map(function(g){return V.cloneElement(g,{key:"error-bar-".concat(a,"-").concat(g.props.dataKey),data:o,xAxis:l,yAxis:c,layout:u,offset:h,dataPointFormatter:p})}))}},{key:"render",value:function(){var r=this.props,a=r.hide,s=r.data,o=r.className,l=r.xAxis,c=r.yAxis,u=r.left,d=r.top,f=r.width,h=r.height,p=r.isAnimationActive,m=r.background,g=r.id;if(a||!s||!s.length)return null;var y=this.state.isAnimationFinished,v=Ve("recharts-bar",o),S=l&&l.allowDataOverflow,w=c&&c.allowDataOverflow,N=S||w,k=Ye(g)?this.id:g;return V.createElement(nn,{className:v},S||w?V.createElement("defs",null,V.createElement("clipPath",{id:"clipPath-".concat(k)},V.createElement("rect",{x:S?u:u-f/2,y:w?d:d-h/2,width:S?f:f*2,height:w?h:h*2}))):null,V.createElement(nn,{className:"recharts-bar-rectangles",clipPath:N?"url(#clipPath-".concat(k,")"):null},m?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(N,k),(!p||y)&&js.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curData:r.data,prevData:a.curData}:r.data!==a.curData?{curData:r.data}:null}}])}(b.PureComponent);kR=gn;gi(gn,"displayName","Bar");gi(gn,"defaultProps",{xAxisId:0,yAxisId:0,legendType:"rect",minPointSize:0,hide:!1,data:[],layout:"vertical",activeBar:!1,isAnimationActive:!nd.isSsr,animationBegin:0,animationDuration:400,animationEasing:"ease"});gi(gn,"getComposedData",function(e){var t=e.props,n=e.item,r=e.barPosition,a=e.bandSize,s=e.xAxis,o=e.yAxis,l=e.xAxisTicks,c=e.yAxisTicks,u=e.stackedData,d=e.dataStartIndex,f=e.displayedData,h=e.offset,p=kQ(r,n);if(!p)return null;var m=t.layout,g=n.type.defaultProps,y=g!==void 0?Lt(Lt({},g),n.props):n.props,v=y.dataKey,S=y.children,w=y.minPointSize,N=m==="horizontal"?o:s,k=u?N.scale.domain():null,x=TQ({numericAxis:N}),j=Fr(S,hu),_=f.map(function(O,C){var P,A,B,I,M,D;u?P=SQ(u[d+C],k):(P=ca(O,v),Array.isArray(P)||(P=[x,P]));var W=zne(w,kR.defaultProps.minPointSize)(P[1],C);if(m==="horizontal"){var R,z=[o.scale(P[0]),o.scale(P[1])],T=z[0],Z=z[1];A=j1({axis:s,ticks:l,bandSize:a,offset:p.offset,entry:O,index:C}),B=(R=Z??T)!==null&&R!==void 0?R:void 0,I=p.size;var U=T-Z;if(M=Number.isNaN(U)?0:U,D={x:A,y:o.y,width:I,height:o.height},Math.abs(W)>0&&Math.abs(M)<Math.abs(W)){var $=Dr(M||W)*(Math.abs(W)-Math.abs(M));B-=$,M+=$}}else{var ie=[s.scale(P[0]),s.scale(P[1])],de=ie[0],ve=ie[1];if(A=de,B=j1({axis:o,ticks:c,bandSize:a,offset:p.offset,entry:O,index:C}),I=ve-de,M=p.size,D={x:s.x,y:B,width:s.width,height:M},Math.abs(W)>0&&Math.abs(I)<Math.abs(W)){var Ee=Dr(I||W)*(Math.abs(W)-Math.abs(I));I+=Ee}}return Lt(Lt(Lt({},O),{},{x:A,y:B,width:I,height:M,value:u?P:P[1],payload:O,background:D},j&&j[C]&&j[C].props),{},{tooltipPayload:[tR(n,O)],tooltipPosition:{x:A+I/2,y:B+M/2}})});return Lt({data:_,layout:m},h)});function zu(e){"@babel/helpers - typeof";return zu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zu(e)}function Qne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,NR(r.key),r)}}function Zne(e,t,n){return t&&jN(e.prototype,t),n&&jN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function NN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Ir(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?NN(Object(n),!0).forEach(function(r){mm(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):NN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function mm(e,t,n){return t=NR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function NR(e){var t=Jne(e,"string");return zu(t)=="symbol"?t:t+""}function Jne(e,t){if(zu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(zu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ere=function(t,n,r,a,s){var o=t.width,l=t.height,c=t.layout,u=t.children,d=Object.keys(n),f={left:r.left,leftMirror:r.left,right:o-r.right,rightMirror:o-r.right,top:r.top,topMirror:r.top,bottom:l-r.bottom,bottomMirror:l-r.bottom},h=!!Xn(u,gn);return d.reduce(function(p,m){var g=n[m],y=g.orientation,v=g.domain,S=g.padding,w=S===void 0?{}:S,N=g.mirror,k=g.reversed,x="".concat(y).concat(N?"Mirror":""),j,_,O,C,P;if(g.type==="number"&&(g.padding==="gap"||g.padding==="no-gap")){var A=v[1]-v[0],B=1/0,I=g.categoricalDomain.sort(r3);if(I.forEach(function(ie,de){de>0&&(B=Math.min((ie||0)-(I[de-1]||0),B))}),Number.isFinite(B)){var M=B/A,D=g.layout==="vertical"?r.height:r.width;if(g.padding==="gap"&&(j=M*D/2),g.padding==="no-gap"){var W=Rs(t.barCategoryGap,M*D),R=M*D/2;j=R-W-(R-W)/D*W}}}a==="xAxis"?_=[r.left+(w.left||0)+(j||0),r.left+r.width-(w.right||0)-(j||0)]:a==="yAxis"?_=c==="horizontal"?[r.top+r.height-(w.bottom||0),r.top+(w.top||0)]:[r.top+(w.top||0)+(j||0),r.top+r.height-(w.bottom||0)-(j||0)]:_=g.range,k&&(_=[_[1],_[0]]);var z=xQ(g,s,h),T=z.scale,Z=z.realScaleType;T.domain(v).range(_),wQ(T);var U=AQ(T,Ir(Ir({},g),{},{realScaleType:Z}));a==="xAxis"?(P=y==="top"&&!N||y==="bottom"&&N,O=r.left,C=f[x]-P*g.height):a==="yAxis"&&(P=y==="left"&&!N||y==="right"&&N,O=f[x]-P*g.width,C=r.top);var $=Ir(Ir(Ir({},g),U),{},{realScaleType:Z,x:O,y:C,scale:T,width:a==="xAxis"?r.width:g.width,height:a==="yAxis"?r.height:g.height});return $.bandSize=Rh($,U),!g.hide&&a==="xAxis"?f[x]+=(P?-1:1)*$.height:g.hide||(f[x]+=(P?-1:1)*$.width),Ir(Ir({},p),{},mm({},m,$))},{})},ER=function(t,n){var r=t.x,a=t.y,s=n.x,o=n.y;return{x:Math.min(r,s),y:Math.min(a,o),width:Math.abs(s-r),height:Math.abs(o-a)}},tre=function(t){var n=t.x1,r=t.y1,a=t.x2,s=t.y2;return ER({x:n,y:r},{x:a,y:s})},_R=function(){function e(t){Qne(this,e),this.scale=t}return Zne(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,s=r.position;if(n!==void 0){if(s)switch(s){case"start":return this.scale(n);case"middle":{var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+o}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(n)+l}default:return this.scale(n)}if(a){var c=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+c}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),a=r[0],s=r[r.length-1];return a<=s?n>=a&&n<=s:n>=s&&n<=a}}],[{key:"create",value:function(n){return new e(n)}}])}();mm(_R,"EPS",1e-4);var e0=function(t){var n=Object.keys(t).reduce(function(r,a){return Ir(Ir({},r),{},mm({},a,_R.create(t[a])))},{});return Ir(Ir({},n),{},{apply:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.bandAware,l=s.position;return xne(a,function(c,u){return n[u].apply(c,{bandAware:o,position:l})})},isInRange:function(a){return wR(a,function(s,o){return n[o].isInRange(s)})}})};function nre(e){return(e%180+180)%180}var rre=function(t){var n=t.width,r=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=nre(a),o=s*Math.PI/180,l=Math.atan(r/n),c=o>l&&o<Math.PI-l?r/Math.sin(o):n/Math.cos(o);return Math.abs(c)},are=Bi,ire=td,sre=Jp;function ore(e){return function(t,n,r){var a=Object(t);if(!ire(t)){var s=are(n);t=sre(t),n=function(l){return s(a[l],l,a)}}var o=e(t,n,r);return o>-1?a[s?t[o]:o]:void 0}}var lre=ore,cre=vR;function ure(e){var t=cre(e),n=t%1;return t===t?n?t-n:t:0}var dre=ure,fre=$O,hre=Bi,pre=dre,mre=Math.max;function gre(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var a=n==null?0:pre(n);return a<0&&(a=mre(r+a,0)),fre(e,hre(t),a)}var vre=gre,yre=lre,bre=vre,xre=yre(bre),wre=xre;const kre=Ze(wre);var Sre=sU(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),t0=b.createContext(void 0),n0=b.createContext(void 0),CR=b.createContext(void 0),AR=b.createContext({}),TR=b.createContext(void 0),OR=b.createContext(0),PR=b.createContext(0),EN=function(t){var n=t.state,r=n.xAxisMap,a=n.yAxisMap,s=n.offset,o=t.clipPathId,l=t.children,c=t.width,u=t.height,d=Sre(s);return V.createElement(t0.Provider,{value:r},V.createElement(n0.Provider,{value:a},V.createElement(AR.Provider,{value:s},V.createElement(CR.Provider,{value:d},V.createElement(TR.Provider,{value:o},V.createElement(OR.Provider,{value:u},V.createElement(PR.Provider,{value:c},l)))))))},jre=function(){return b.useContext(TR)},RR=function(t){var n=b.useContext(t0);n==null&&Is();var r=n[t];return r==null&&Is(),r},Nre=function(){var t=b.useContext(t0);return ui(t)},Ere=function(){var t=b.useContext(n0),n=kre(t,function(r){return wR(r.domain,Number.isFinite)});return n||ui(t)},MR=function(t){var n=b.useContext(n0);n==null&&Is();var r=n[t];return r==null&&Is(),r},_re=function(){var t=b.useContext(CR);return t},Cre=function(){return b.useContext(AR)},r0=function(){return b.useContext(PR)},a0=function(){return b.useContext(OR)};function ll(e){"@babel/helpers - typeof";return ll=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ll(e)}function Are(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Tre(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,$R(r.key),r)}}function Ore(e,t,n){return t&&Tre(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pre(e,t,n){return t=Vh(t),Rre(e,IR()?Reflect.construct(t,n||[],Vh(e).constructor):t.apply(e,n))}function Rre(e,t){if(t&&(ll(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Mre(e)}function Mre(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function IR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(IR=function(){return!!e})()}function Vh(e){return Vh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Vh(e)}function Ire(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&jb(e,t)}function jb(e,t){return jb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},jb(e,t)}function _N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function CN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?_N(Object(n),!0).forEach(function(r){i0(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_N(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function i0(e,t,n){return t=$R(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $R(e){var t=$re(e,"string");return ll(t)=="symbol"?t:t+""}function $re(e,t){if(ll(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ll(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Lre(e,t){return Fre(e)||zre(e,t)||Bre(e,t)||Dre()}function Dre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
131
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bre(e,t){if(e){if(typeof e=="string")return AN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return AN(e,t)}}function AN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function zre(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function Fre(e){if(Array.isArray(e))return e}function Nb(){return Nb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nb.apply(this,arguments)}var Ure=function(t,n){var r;return V.isValidElement(t)?r=V.cloneElement(t,n):Le(t)?r=t(n):r=V.createElement("line",Nb({},n,{className:"recharts-reference-line-line"})),r},Wre=function(t,n,r,a,s,o,l,c,u){var d=s.x,f=s.y,h=s.width,p=s.height;if(r){var m=u.y,g=t.y.apply(m,{position:o});if(oa(u,"discard")&&!t.y.isInRange(g))return null;var y=[{x:d+h,y:g},{x:d,y:g}];return c==="left"?y.reverse():y}if(n){var v=u.x,S=t.x.apply(v,{position:o});if(oa(u,"discard")&&!t.x.isInRange(S))return null;var w=[{x:S,y:f+p},{x:S,y:f}];return l==="top"?w.reverse():w}if(a){var N=u.segment,k=N.map(function(x){return t.apply(x,{position:o})});return oa(u,"discard")&&fne(k,function(x){return!t.isInRange(x)})?null:k}return null};function Hre(e){var t=e.x,n=e.y,r=e.segment,a=e.xAxisId,s=e.yAxisId,o=e.shape,l=e.className,c=e.alwaysShow,u=jre(),d=RR(a),f=MR(s),h=_re();if(!u||!h)return null;Oa(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var p=e0({x:d.scale,y:f.scale}),m=qt(t),g=qt(n),y=r&&r.length===2,v=Wre(p,m,g,y,h,e.position,d.orientation,f.orientation,e);if(!v)return null;var S=Lre(v,2),w=S[0],N=w.x,k=w.y,x=S[1],j=x.x,_=x.y,O=oa(e,"hidden")?"url(#".concat(u,")"):void 0,C=CN(CN({clipPath:O},Ke(e,!0)),{},{x1:N,y1:k,x2:j,y2:_});return V.createElement(nn,{className:Ve("recharts-reference-line",l)},Ure(o,C),bn.renderCallByParent(e,tre({x1:N,y1:k,x2:j,y2:_})))}var s0=function(e){function t(){return Are(this,t),Pre(this,t,arguments)}return Ire(t,e),Ore(t,[{key:"render",value:function(){return V.createElement(Hre,this.props)}}])}(V.Component);i0(s0,"displayName","ReferenceLine");i0(s0,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function Eb(){return Eb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Eb.apply(this,arguments)}function cl(e){"@babel/helpers - typeof";return cl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cl(e)}function TN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ON(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?TN(Object(n),!0).forEach(function(r){gm(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Gre(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qre(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,DR(r.key),r)}}function Kre(e,t,n){return t&&qre(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Vre(e,t,n){return t=Yh(t),Yre(e,LR()?Reflect.construct(t,n||[],Yh(e).constructor):t.apply(e,n))}function Yre(e,t){if(t&&(cl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Xre(e)}function Xre(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function LR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(LR=function(){return!!e})()}function Yh(e){return Yh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Yh(e)}function Qre(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_b(e,t)}function _b(e,t){return _b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},_b(e,t)}function gm(e,t,n){return t=DR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DR(e){var t=Zre(e,"string");return cl(t)=="symbol"?t:t+""}function Zre(e,t){if(cl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(cl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Jre=function(t){var n=t.x,r=t.y,a=t.xAxis,s=t.yAxis,o=e0({x:a.scale,y:s.scale}),l=o.apply({x:n,y:r},{bandAware:!0});return oa(t,"discard")&&!o.isInRange(l)?null:l},vm=function(e){function t(){return Gre(this,t),Vre(this,t,arguments)}return Qre(t,e),Kre(t,[{key:"render",value:function(){var r=this.props,a=r.x,s=r.y,o=r.r,l=r.alwaysShow,c=r.clipPathId,u=qt(a),d=qt(s);if(Oa(l===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.'),!u||!d)return null;var f=Jre(this.props);if(!f)return null;var h=f.x,p=f.y,m=this.props,g=m.shape,y=m.className,v=oa(this.props,"hidden")?"url(#".concat(c,")"):void 0,S=ON(ON({clipPath:v},Ke(this.props,!0)),{},{cx:h,cy:p});return V.createElement(nn,{className:Ve("recharts-reference-dot",y)},t.renderDot(g,S),bn.renderCallByParent(this.props,{x:h-o,y:p-o,width:2*o,height:2*o}))}}])}(V.Component);gm(vm,"displayName","ReferenceDot");gm(vm,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#fff",stroke:"#ccc",fillOpacity:1,strokeWidth:1});gm(vm,"renderDot",function(e,t){var n;return V.isValidElement(e)?n=V.cloneElement(e,t):Le(e)?n=e(t):n=V.createElement(mR,Eb({},t,{cx:t.cx,cy:t.cy,className:"recharts-reference-dot-dot"})),n});function Cb(){return Cb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cb.apply(this,arguments)}function ul(e){"@babel/helpers - typeof";return ul=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ul(e)}function PN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function RN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?PN(Object(n),!0).forEach(function(r){ym(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):PN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function eae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,zR(r.key),r)}}function nae(e,t,n){return t&&tae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function rae(e,t,n){return t=Xh(t),aae(e,BR()?Reflect.construct(t,n||[],Xh(e).constructor):t.apply(e,n))}function aae(e,t){if(t&&(ul(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return iae(e)}function iae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function BR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(BR=function(){return!!e})()}function Xh(e){return Xh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Xh(e)}function sae(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ab(e,t)}function Ab(e,t){return Ab=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Ab(e,t)}function ym(e,t,n){return t=zR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zR(e){var t=oae(e,"string");return ul(t)=="symbol"?t:t+""}function oae(e,t){if(ul(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ul(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var lae=function(t,n,r,a,s){var o=s.x1,l=s.x2,c=s.y1,u=s.y2,d=s.xAxis,f=s.yAxis;if(!d||!f)return null;var h=e0({x:d.scale,y:f.scale}),p={x:t?h.x.apply(o,{position:"start"}):h.x.rangeMin,y:r?h.y.apply(c,{position:"start"}):h.y.rangeMin},m={x:n?h.x.apply(l,{position:"end"}):h.x.rangeMax,y:a?h.y.apply(u,{position:"end"}):h.y.rangeMax};return oa(s,"discard")&&(!h.isInRange(p)||!h.isInRange(m))?null:ER(p,m)},bm=function(e){function t(){return eae(this,t),rae(this,t,arguments)}return sae(t,e),nae(t,[{key:"render",value:function(){var r=this.props,a=r.x1,s=r.x2,o=r.y1,l=r.y2,c=r.className,u=r.alwaysShow,d=r.clipPathId;Oa(u===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var f=qt(a),h=qt(s),p=qt(o),m=qt(l),g=this.props.shape;if(!f&&!h&&!p&&!m&&!g)return null;var y=lae(f,h,p,m,this.props);if(!y&&!g)return null;var v=oa(this.props,"hidden")?"url(#".concat(d,")"):void 0;return V.createElement(nn,{className:Ve("recharts-reference-area",c)},t.renderRect(g,RN(RN({clipPath:v},Ke(this.props,!0)),y)),bn.renderCallByParent(this.props,y))}}])}(V.Component);ym(bm,"displayName","ReferenceArea");ym(bm,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#ccc",fillOpacity:.5,stroke:"none",strokeWidth:1});ym(bm,"renderRect",function(e,t){var n;return V.isValidElement(e)?n=V.cloneElement(e,t):Le(e)?n=e(t):n=V.createElement(Jw,Cb({},t,{className:"recharts-reference-area-rect"})),n});function FR(e,t,n){if(t<1)return[];if(t===1&&n===void 0)return e;for(var r=[],a=0;a<e.length;a+=t)r.push(e[a]);return r}function cae(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return rre(r,n)}function uae(e,t,n){var r=n==="width",a=e.x,s=e.y,o=e.width,l=e.height;return t===1?{start:r?a:s,end:r?a+o:s+l}:{start:r?a+o:s+l,end:r?a:s}}function Qh(e,t,n,r,a){if(e*t<e*r||e*t>e*a)return!1;var s=n();return e*(t-e*s/2-r)>=0&&e*(t+e*s/2-a)<=0}function dae(e,t){return FR(e,t+1)}function fae(e,t,n,r,a){for(var s=(r||[]).slice(),o=t.start,l=t.end,c=0,u=1,d=o,f=function(){var m=r==null?void 0:r[c];if(m===void 0)return{v:FR(r,u)};var g=c,y,v=function(){return y===void 0&&(y=n(m,g)),y},S=m.coordinate,w=c===0||Qh(e,S,v,d,l);w||(c=0,d=o,u+=1),w&&(d=S+e*(v()/2+a),c+=u)},h;u<=s.length;)if(h=f(),h)return h.v;return[]}function Fu(e){"@babel/helpers - typeof";return Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fu(e)}function MN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function mn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?MN(Object(n),!0).forEach(function(r){hae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):MN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function hae(e,t,n){return t=pae(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pae(e){var t=mae(e,"string");return Fu(t)=="symbol"?t:t+""}function mae(e,t){if(Fu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Fu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gae(e,t,n,r,a){for(var s=(r||[]).slice(),o=s.length,l=t.start,c=t.end,u=function(h){var p=s[h],m,g=function(){return m===void 0&&(m=n(p,h)),m};if(h===o-1){var y=e*(p.coordinate+e*g()/2-c);s[h]=p=mn(mn({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate})}else s[h]=p=mn(mn({},p),{},{tickCoord:p.coordinate});var v=Qh(e,p.tickCoord,g,l,c);v&&(c=p.tickCoord-e*(g()/2+a),s[h]=mn(mn({},p),{},{isShow:!0}))},d=o-1;d>=0;d--)u(d);return s}function vae(e,t,n,r,a,s){var o=(r||[]).slice(),l=o.length,c=t.start,u=t.end;if(s){var d=r[l-1],f=n(d,l-1),h=e*(d.coordinate+e*f/2-u);o[l-1]=d=mn(mn({},d),{},{tickCoord:h>0?d.coordinate-h*e:d.coordinate});var p=Qh(e,d.tickCoord,function(){return f},c,u);p&&(u=d.tickCoord-e*(f/2+a),o[l-1]=mn(mn({},d),{},{isShow:!0}))}for(var m=s?l-1:l,g=function(S){var w=o[S],N,k=function(){return N===void 0&&(N=n(w,S)),N};if(S===0){var x=e*(w.coordinate-e*k()/2-c);o[S]=w=mn(mn({},w),{},{tickCoord:x<0?w.coordinate-x*e:w.coordinate})}else o[S]=w=mn(mn({},w),{},{tickCoord:w.coordinate});var j=Qh(e,w.tickCoord,k,c,u);j&&(c=w.tickCoord+e*(k()/2+a),o[S]=mn(mn({},w),{},{isShow:!0}))},y=0;y<m;y++)g(y);return o}function o0(e,t,n){var r=e.tick,a=e.ticks,s=e.viewBox,o=e.minTickGap,l=e.orientation,c=e.interval,u=e.tickFormatter,d=e.unit,f=e.angle;if(!a||!a.length||!r)return[];if(ue(c)||nd.isSsr)return dae(a,typeof c=="number"&&ue(c)?c:0);var h=[],p=l==="top"||l==="bottom"?"width":"height",m=d&&p==="width"?Mc(d,{fontSize:t,letterSpacing:n}):{width:0,height:0},g=function(w,N){var k=Le(u)?u(w.value,N):w.value;return p==="width"?cae(Mc(k,{fontSize:t,letterSpacing:n}),m,f):Mc(k,{fontSize:t,letterSpacing:n})[p]},y=a.length>=2?Dr(a[1].coordinate-a[0].coordinate):1,v=uae(s,y,p);return c==="equidistantPreserveStart"?fae(y,v,g,a,o):(c==="preserveStart"||c==="preserveStartEnd"?h=vae(y,v,g,a,o,c==="preserveStartEnd"):h=gae(y,v,g,a,o),h.filter(function(S){return S.isShow}))}var yae=["viewBox"],bae=["viewBox"],xae=["ticks"];function dl(e){"@babel/helpers - typeof";return dl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dl(e)}function Co(){return Co=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Co.apply(this,arguments)}function IN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Ut(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?IN(Object(n),!0).forEach(function(r){l0(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Rg(e,t){if(e==null)return{};var n=wae(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wae(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function kae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $N(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,WR(r.key),r)}}function Sae(e,t,n){return t&&$N(e.prototype,t),n&&$N(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function jae(e,t,n){return t=Zh(t),Nae(e,UR()?Reflect.construct(t,n||[],Zh(e).constructor):t.apply(e,n))}function Nae(e,t){if(t&&(dl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Eae(e)}function Eae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function UR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(UR=function(){return!!e})()}function Zh(e){return Zh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Zh(e)}function _ae(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Tb(e,t)}function Tb(e,t){return Tb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Tb(e,t)}function l0(e,t,n){return t=WR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function WR(e){var t=Cae(e,"string");return dl(t)=="symbol"?t:t+""}function Cae(e,t){if(dl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(dl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Ml=function(e){function t(n){var r;return kae(this,t),r=jae(this,t,[n]),r.state={fontSize:"",letterSpacing:""},r}return _ae(t,e),Sae(t,[{key:"shouldComponentUpdate",value:function(r,a){var s=r.viewBox,o=Rg(r,yae),l=this.props,c=l.viewBox,u=Rg(l,bae);return!Lo(s,c)||!Lo(o,u)||!Lo(a,this.state)}},{key:"componentDidMount",value:function(){var r=this.layerReference;if(r){var a=r.getElementsByClassName("recharts-cartesian-axis-tick-value")[0];a&&this.setState({fontSize:window.getComputedStyle(a).fontSize,letterSpacing:window.getComputedStyle(a).letterSpacing})}}},{key:"getTickLineCoord",value:function(r){var a=this.props,s=a.x,o=a.y,l=a.width,c=a.height,u=a.orientation,d=a.tickSize,f=a.mirror,h=a.tickMargin,p,m,g,y,v,S,w=f?-1:1,N=r.tickSize||d,k=ue(r.tickCoord)?r.tickCoord:r.coordinate;switch(u){case"top":p=m=r.coordinate,y=o+ +!f*c,g=y-w*N,S=g-w*h,v=k;break;case"left":g=y=r.coordinate,m=s+ +!f*l,p=m-w*N,v=p-w*h,S=k;break;case"right":g=y=r.coordinate,m=s+ +f*l,p=m+w*N,v=p+w*h,S=k;break;default:p=m=r.coordinate,y=o+ +f*c,g=y+w*N,S=g+w*h,v=k;break}return{line:{x1:p,y1:g,x2:m,y2:y},tick:{x:v,y:S}}}},{key:"getTickTextAnchor",value:function(){var r=this.props,a=r.orientation,s=r.mirror,o;switch(a){case"left":o=s?"start":"end";break;case"right":o=s?"end":"start";break;default:o="middle";break}return o}},{key:"getTickVerticalAnchor",value:function(){var r=this.props,a=r.orientation,s=r.mirror,o="end";switch(a){case"left":case"right":o="middle";break;case"top":o=s?"start":"end";break;default:o=s?"end":"start";break}return o}},{key:"renderAxisLine",value:function(){var r=this.props,a=r.x,s=r.y,o=r.width,l=r.height,c=r.orientation,u=r.mirror,d=r.axisLine,f=Ut(Ut(Ut({},Ke(this.props,!1)),Ke(d,!1)),{},{fill:"none"});if(c==="top"||c==="bottom"){var h=+(c==="top"&&!u||c==="bottom"&&u);f=Ut(Ut({},f),{},{x1:a,y1:s+h*l,x2:a+o,y2:s+h*l})}else{var p=+(c==="left"&&!u||c==="right"&&u);f=Ut(Ut({},f),{},{x1:a+p*o,y1:s,x2:a+p*o,y2:s+l})}return V.createElement("line",Co({},f,{className:Ve("recharts-cartesian-axis-line",wr(d,"className"))}))}},{key:"renderTicks",value:function(r,a,s){var o=this,l=this.props,c=l.tickLine,u=l.stroke,d=l.tick,f=l.tickFormatter,h=l.unit,p=o0(Ut(Ut({},this.props),{},{ticks:r}),a,s),m=this.getTickTextAnchor(),g=this.getTickVerticalAnchor(),y=Ke(this.props,!1),v=Ke(d,!1),S=Ut(Ut({},y),{},{fill:"none"},Ke(c,!1)),w=p.map(function(N,k){var x=o.getTickLineCoord(N),j=x.line,_=x.tick,O=Ut(Ut(Ut(Ut({textAnchor:m,verticalAnchor:g},y),{},{stroke:"none",fill:u},v),_),{},{index:k,payload:N,visibleTicksCount:p.length,tickFormatter:f});return V.createElement(nn,Co({className:"recharts-cartesian-axis-tick",key:"tick-".concat(N.value,"-").concat(N.coordinate,"-").concat(N.tickCoord)},ah(o.props,N,k)),c&&V.createElement("line",Co({},S,j,{className:Ve("recharts-cartesian-axis-tick-line",wr(c,"className"))})),d&&t.renderTickItem(d,O,"".concat(Le(f)?f(N.value,k):N.value).concat(h||"")))});return V.createElement("g",{className:"recharts-cartesian-axis-ticks"},w)}},{key:"render",value:function(){var r=this,a=this.props,s=a.axisLine,o=a.width,l=a.height,c=a.ticksGenerator,u=a.className,d=a.hide;if(d)return null;var f=this.props,h=f.ticks,p=Rg(f,xae),m=h;return Le(c)&&(m=h&&h.length>0?c(this.props):c(p)),o<=0||l<=0||!m||!m.length?null:V.createElement(nn,{className:Ve("recharts-cartesian-axis",u),ref:function(y){r.layerReference=y}},s&&this.renderAxisLine(),this.renderTicks(m,this.state.fontSize,this.state.letterSpacing),bn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,a,s){var o,l=Ve(a.className,"recharts-cartesian-axis-tick-value");return V.isValidElement(r)?o=V.cloneElement(r,Ut(Ut({},a),{},{className:l})):Le(r)?o=r(Ut(Ut({},a),{},{className:l})):o=V.createElement(yh,Co({},a,{className:"recharts-cartesian-axis-tick-value"}),s),o}}])}(b.Component);l0(Ml,"displayName","CartesianAxis");l0(Ml,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var Aae=["x1","y1","x2","y2","key"],Tae=["offset"];function $s(e){"@babel/helpers - typeof";return $s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$s(e)}function LN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function xn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?LN(Object(n),!0).forEach(function(r){Oae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Oae(e,t,n){return t=Pae(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pae(e){var t=Rae(e,"string");return $s(t)=="symbol"?t:t+""}function Rae(e,t){if($s(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if($s(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vs(){return vs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vs.apply(this,arguments)}function DN(e,t){if(e==null)return{};var n=Mae(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Mae(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Iae=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,a=t.x,s=t.y,o=t.width,l=t.height,c=t.ry;return V.createElement("rect",{x:a,y:s,ry:c,width:o,height:l,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function HR(e,t){var n;if(V.isValidElement(e))n=V.cloneElement(e,t);else if(Le(e))n=e(t);else{var r=t.x1,a=t.y1,s=t.x2,o=t.y2,l=t.key,c=DN(t,Aae),u=Ke(c,!1);u.offset;var d=DN(u,Tae);n=V.createElement("line",vs({},d,{x1:r,y1:a,x2:s,y2:o,fill:"none",key:l}))}return n}function $ae(e){var t=e.x,n=e.width,r=e.horizontal,a=r===void 0?!0:r,s=e.horizontalPoints;if(!a||!s||!s.length)return null;var o=s.map(function(l,c){var u=xn(xn({},e),{},{x1:t,y1:l,x2:t+n,y2:l,key:"line-".concat(c),index:c});return HR(a,u)});return V.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function Lae(e){var t=e.y,n=e.height,r=e.vertical,a=r===void 0?!0:r,s=e.verticalPoints;if(!a||!s||!s.length)return null;var o=s.map(function(l,c){var u=xn(xn({},e),{},{x1:l,y1:t,x2:l,y2:t+n,key:"line-".concat(c),index:c});return HR(a,u)});return V.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function Dae(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,a=e.y,s=e.width,o=e.height,l=e.horizontalPoints,c=e.horizontal,u=c===void 0?!0:c;if(!u||!t||!t.length)return null;var d=l.map(function(h){return Math.round(h+a-a)}).sort(function(h,p){return h-p});a!==d[0]&&d.unshift(0);var f=d.map(function(h,p){var m=!d[p+1],g=m?a+o-h:d[p+1]-h;if(g<=0)return null;var y=p%t.length;return V.createElement("rect",{key:"react-".concat(p),y:h,x:r,height:g,width:s,stroke:"none",fill:t[y],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function Bae(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,a=e.fillOpacity,s=e.x,o=e.y,l=e.width,c=e.height,u=e.verticalPoints;if(!n||!r||!r.length)return null;var d=u.map(function(h){return Math.round(h+s-s)}).sort(function(h,p){return h-p});s!==d[0]&&d.unshift(0);var f=d.map(function(h,p){var m=!d[p+1],g=m?s+l-h:d[p+1]-h;if(g<=0)return null;var y=p%r.length;return V.createElement("rect",{key:"react-".concat(p),x:h,y:o,width:g,height:c,stroke:"none",fill:r[y],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var zae=function(t,n){var r=t.xAxis,a=t.width,s=t.height,o=t.offset;return JP(o0(xn(xn(xn({},Ml.defaultProps),r),{},{ticks:Ca(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),o.left,o.left+o.width,n)},Fae=function(t,n){var r=t.yAxis,a=t.width,s=t.height,o=t.offset;return JP(o0(xn(xn(xn({},Ml.defaultProps),r),{},{ticks:Ca(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),o.top,o.top+o.height,n)},ao={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function di(e){var t,n,r,a,s,o,l=r0(),c=a0(),u=Cre(),d=xn(xn({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:ao.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:ao.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:ao.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:ao.horizontalFill,vertical:(s=e.vertical)!==null&&s!==void 0?s:ao.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:ao.verticalFill,x:ue(e.x)?e.x:u.left,y:ue(e.y)?e.y:u.top,width:ue(e.width)?e.width:u.width,height:ue(e.height)?e.height:u.height}),f=d.x,h=d.y,p=d.width,m=d.height,g=d.syncWithTicks,y=d.horizontalValues,v=d.verticalValues,S=Nre(),w=Ere();if(!ue(p)||p<=0||!ue(m)||m<=0||!ue(f)||f!==+f||!ue(h)||h!==+h)return null;var N=d.verticalCoordinatesGenerator||zae,k=d.horizontalCoordinatesGenerator||Fae,x=d.horizontalPoints,j=d.verticalPoints;if((!x||!x.length)&&Le(k)){var _=y&&y.length,O=k({yAxis:w?xn(xn({},w),{},{ticks:_?y:w.ticks}):void 0,width:l,height:c,offset:u},_?!0:g);Oa(Array.isArray(O),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat($s(O),"]")),Array.isArray(O)&&(x=O)}if((!j||!j.length)&&Le(N)){var C=v&&v.length,P=N({xAxis:S?xn(xn({},S),{},{ticks:C?v:S.ticks}):void 0,width:l,height:c,offset:u},C?!0:g);Oa(Array.isArray(P),"verticalCoordinatesGenerator should return Array but instead it returned [".concat($s(P),"]")),Array.isArray(P)&&(j=P)}return V.createElement("g",{className:"recharts-cartesian-grid"},V.createElement(Iae,{fill:d.fill,fillOpacity:d.fillOpacity,x:d.x,y:d.y,width:d.width,height:d.height,ry:d.ry}),V.createElement($ae,vs({},d,{offset:u,horizontalPoints:x,xAxis:S,yAxis:w})),V.createElement(Lae,vs({},d,{offset:u,verticalPoints:j,xAxis:S,yAxis:w})),V.createElement(Dae,vs({},d,{horizontalPoints:x})),V.createElement(Bae,vs({},d,{verticalPoints:j})))}di.displayName="CartesianGrid";function fl(e){"@babel/helpers - typeof";return fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fl(e)}function Uae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,KR(r.key),r)}}function Hae(e,t,n){return t&&Wae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gae(e,t,n){return t=Jh(t),qae(e,GR()?Reflect.construct(t,n||[],Jh(e).constructor):t.apply(e,n))}function qae(e,t){if(t&&(fl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Kae(e)}function Kae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function GR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(GR=function(){return!!e})()}function Jh(e){return Jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Jh(e)}function Vae(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ob(e,t)}function Ob(e,t){return Ob=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Ob(e,t)}function qR(e,t,n){return t=KR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function KR(e){var t=Yae(e,"string");return fl(t)=="symbol"?t:t+""}function Yae(e,t){if(fl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(fl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Pb(){return Pb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Pb.apply(this,arguments)}function Xae(e){var t=e.xAxisId,n=r0(),r=a0(),a=RR(t);return a==null?null:b.createElement(Ml,Pb({},a,{className:Ve("recharts-".concat(a.axisType," ").concat(a.axisType),a.className),viewBox:{x:0,y:0,width:n,height:r},ticksGenerator:function(o){return Ca(o,!0)}}))}var ta=function(e){function t(){return Uae(this,t),Gae(this,t,arguments)}return Vae(t,e),Hae(t,[{key:"render",value:function(){return b.createElement(Xae,this.props)}}])}(b.Component);qR(ta,"displayName","XAxis");qR(ta,"defaultProps",{allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0});function hl(e){"@babel/helpers - typeof";return hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hl(e)}function Qae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,XR(r.key),r)}}function Jae(e,t,n){return t&&Zae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function eie(e,t,n){return t=ep(t),tie(e,VR()?Reflect.construct(t,n||[],ep(e).constructor):t.apply(e,n))}function tie(e,t){if(t&&(hl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nie(e)}function nie(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(VR=function(){return!!e})()}function ep(e){return ep=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ep(e)}function rie(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rb(e,t)}function Rb(e,t){return Rb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Rb(e,t)}function YR(e,t,n){return t=XR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XR(e){var t=aie(e,"string");return hl(t)=="symbol"?t:t+""}function aie(e,t){if(hl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(hl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Mb(){return Mb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mb.apply(this,arguments)}var iie=function(t){var n=t.yAxisId,r=r0(),a=a0(),s=MR(n);return s==null?null:b.createElement(Ml,Mb({},s,{className:Ve("recharts-".concat(s.axisType," ").concat(s.axisType),s.className),viewBox:{x:0,y:0,width:r,height:a},ticksGenerator:function(l){return Ca(l,!0)}}))},na=function(e){function t(){return Qae(this,t),eie(this,t,arguments)}return rie(t,e),Jae(t,[{key:"render",value:function(){return b.createElement(iie,this.props)}}])}(b.Component);YR(na,"displayName","YAxis");YR(na,"defaultProps",{allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1});function BN(e){return cie(e)||lie(e)||oie(e)||sie()}function sie(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
132
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oie(e,t){if(e){if(typeof e=="string")return Ib(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ib(e,t)}}function lie(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function cie(e){if(Array.isArray(e))return Ib(e)}function Ib(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var $b=function(t,n,r,a,s){var o=Fr(t,s0),l=Fr(t,vm),c=[].concat(BN(o),BN(l)),u=Fr(t,bm),d="".concat(a,"Id"),f=a[0],h=n;if(c.length&&(h=c.reduce(function(g,y){if(y.props[d]===r&&oa(y.props,"extendDomain")&&ue(y.props[f])){var v=y.props[f];return[Math.min(g[0],v),Math.max(g[1],v)]}return g},h)),u.length){var p="".concat(f,"1"),m="".concat(f,"2");h=u.reduce(function(g,y){if(y.props[d]===r&&oa(y.props,"extendDomain")&&ue(y.props[p])&&ue(y.props[m])){var v=y.props[p],S=y.props[m];return[Math.min(g[0],v,S),Math.max(g[1],v,S)]}return g},h)}return s&&s.length&&(h=s.reduce(function(g,y){return ue(y)?[Math.min(g[0],y),Math.max(g[1],y)]:g},h)),h},QR={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function a(c,u,d){this.fn=c,this.context=u,this.once=d||!1}function s(c,u,d,f,h){if(typeof d!="function")throw new TypeError("The listener must be a function");var p=new a(d,f||c,h),m=n?n+u:u;return c._events[m]?c._events[m].fn?c._events[m]=[c._events[m],p]:c._events[m].push(p):(c._events[m]=p,c._eventsCount++),c}function o(c,u){--c._eventsCount===0?c._events=new r:delete c._events[u]}function l(){this._events=new r,this._eventsCount=0}l.prototype.eventNames=function(){var u=[],d,f;if(this._eventsCount===0)return u;for(f in d=this._events)t.call(d,f)&&u.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},l.prototype.listeners=function(u){var d=n?n+u:u,f=this._events[d];if(!f)return[];if(f.fn)return[f.fn];for(var h=0,p=f.length,m=new Array(p);h<p;h++)m[h]=f[h].fn;return m},l.prototype.listenerCount=function(u){var d=n?n+u:u,f=this._events[d];return f?f.fn?1:f.length:0},l.prototype.emit=function(u,d,f,h,p,m){var g=n?n+u:u;if(!this._events[g])return!1;var y=this._events[g],v=arguments.length,S,w;if(y.fn){switch(y.once&&this.removeListener(u,y.fn,void 0,!0),v){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,d),!0;case 3:return y.fn.call(y.context,d,f),!0;case 4:return y.fn.call(y.context,d,f,h),!0;case 5:return y.fn.call(y.context,d,f,h,p),!0;case 6:return y.fn.call(y.context,d,f,h,p,m),!0}for(w=1,S=new Array(v-1);w<v;w++)S[w-1]=arguments[w];y.fn.apply(y.context,S)}else{var N=y.length,k;for(w=0;w<N;w++)switch(y[w].once&&this.removeListener(u,y[w].fn,void 0,!0),v){case 1:y[w].fn.call(y[w].context);break;case 2:y[w].fn.call(y[w].context,d);break;case 3:y[w].fn.call(y[w].context,d,f);break;case 4:y[w].fn.call(y[w].context,d,f,h);break;default:if(!S)for(k=1,S=new Array(v-1);k<v;k++)S[k-1]=arguments[k];y[w].fn.apply(y[w].context,S)}}return!0},l.prototype.on=function(u,d,f){return s(this,u,d,f,!1)},l.prototype.once=function(u,d,f){return s(this,u,d,f,!0)},l.prototype.removeListener=function(u,d,f,h){var p=n?n+u:u;if(!this._events[p])return this;if(!d)return o(this,p),this;var m=this._events[p];if(m.fn)m.fn===d&&(!h||m.once)&&(!f||m.context===f)&&o(this,p);else{for(var g=0,y=[],v=m.length;g<v;g++)(m[g].fn!==d||h&&!m[g].once||f&&m[g].context!==f)&&y.push(m[g]);y.length?this._events[p]=y.length===1?y[0]:y:o(this,p)}return this},l.prototype.removeAllListeners=function(u){var d;return u?(d=n?n+u:u,this._events[d]&&o(this,d)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,e.exports=l})(QR);var uie=QR.exports;const die=Ze(uie);var Mg=new die,Ig="recharts.syncMouseEvents";function Uu(e){"@babel/helpers - typeof";return Uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uu(e)}function fie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hie(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ZR(r.key),r)}}function pie(e,t,n){return t&&hie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function $g(e,t,n){return t=ZR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZR(e){var t=mie(e,"string");return Uu(t)=="symbol"?t:t+""}function mie(e,t){if(Uu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Uu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var gie=function(){function e(){fie(this,e),$g(this,"activeIndex",0),$g(this,"coordinateList",[]),$g(this,"layout","horizontal")}return pie(e,[{key:"setDetails",value:function(n){var r,a=n.coordinateList,s=a===void 0?null:a,o=n.container,l=o===void 0?null:o,c=n.layout,u=c===void 0?null:c,d=n.offset,f=d===void 0?null:d,h=n.mouseHandlerCallback,p=h===void 0?null:h;this.coordinateList=(r=s??this.coordinateList)!==null&&r!==void 0?r:[],this.container=l??this.container,this.layout=u??this.layout,this.offset=f??this.offset,this.mouseHandlerCallback=p??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:"focus",value:function(){this.spoofMouse()}},{key:"keyboardEvent",value:function(n){if(this.coordinateList.length!==0)switch(n.key){case"ArrowRight":{if(this.layout!=="horizontal")return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break}case"ArrowLeft":{if(this.layout!=="horizontal")return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break}}}},{key:"setIndex",value:function(n){this.activeIndex=n}},{key:"spoofMouse",value:function(){var n,r;if(this.layout==="horizontal"&&this.coordinateList.length!==0){var a=this.container.getBoundingClientRect(),s=a.x,o=a.y,l=a.height,c=this.coordinateList[this.activeIndex].coordinate,u=((n=window)===null||n===void 0?void 0:n.scrollX)||0,d=((r=window)===null||r===void 0?void 0:r.scrollY)||0,f=s+c+u,h=o+this.offset.top+l/2+d;this.mouseHandlerCallback({pageX:f,pageY:h})}}}])}();function vie(e,t,n){if(n==="number"&&t===!0&&Array.isArray(e)){var r=e==null?void 0:e[0],a=e==null?void 0:e[1];if(r&&a&&ue(r)&&ue(a))return!0}return!1}function yie(e,t,n,r){var a=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-a,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}function JR(e){var t=e.cx,n=e.cy,r=e.radius,a=e.startAngle,s=e.endAngle,o=cn(t,n,r,a),l=cn(t,n,r,s);return{points:[o,l],cx:t,cy:n,radius:r,startAngle:a,endAngle:s}}function bie(e,t,n){var r,a,s,o;if(e==="horizontal")r=t.x,s=r,a=n.top,o=n.top+n.height;else if(e==="vertical")a=t.y,o=a,r=n.left,s=n.left+n.width;else if(t.cx!=null&&t.cy!=null)if(e==="centric"){var l=t.cx,c=t.cy,u=t.innerRadius,d=t.outerRadius,f=t.angle,h=cn(l,c,u,f),p=cn(l,c,d,f);r=h.x,a=h.y,s=p.x,o=p.y}else return JR(t);return[{x:r,y:a},{x:s,y:o}]}function Wu(e){"@babel/helpers - typeof";return Wu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wu(e)}function zN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Qd(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zN(Object(n),!0).forEach(function(r){xie(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function xie(e,t,n){return t=wie(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wie(e){var t=kie(e,"string");return Wu(t)=="symbol"?t:t+""}function kie(e,t){if(Wu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Wu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sie(e){var t,n,r=e.element,a=e.tooltipEventType,s=e.isActive,o=e.activeCoordinate,l=e.activePayload,c=e.offset,u=e.activeTooltipIndex,d=e.tooltipAxisBandSize,f=e.layout,h=e.chartName,p=(t=r.props.cursor)!==null&&t!==void 0?t:(n=r.type.defaultProps)===null||n===void 0?void 0:n.cursor;if(!r||!p||!s||!o||h!=="ScatterChart"&&a!=="axis")return null;var m,g=z1;if(h==="ScatterChart")m=o,g=$ee;else if(h==="BarChart")m=yie(f,o,c,d),g=Jw;else if(f==="radial"){var y=JR(o),v=y.cx,S=y.cy,w=y.radius,N=y.startAngle,k=y.endAngle;m={cx:v,cy:S,startAngle:N,endAngle:k,innerRadius:w,outerRadius:w},g=aR}else m={points:bie(f,o,c)},g=z1;var x=Qd(Qd(Qd(Qd({stroke:"#ccc",pointerEvents:"none"},c),m),Ke(p,!1)),{},{payload:l,payloadIndex:u,className:Ve("recharts-tooltip-cursor",p.className)});return b.isValidElement(p)?b.cloneElement(p,x):b.createElement(g,x)}var jie=["item"],Nie=["children","className","width","height","style","compact","title","desc"];function pl(e){"@babel/helpers - typeof";return pl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pl(e)}function Ao(){return Ao=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ao.apply(this,arguments)}function FN(e,t){return Cie(e)||_ie(e,t)||tM(e,t)||Eie()}function Eie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
133
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _ie(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function Cie(e){if(Array.isArray(e))return e}function UN(e,t){if(e==null)return{};var n=Aie(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Aie(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Tie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oie(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,nM(r.key),r)}}function Pie(e,t,n){return t&&Oie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Rie(e,t,n){return t=tp(t),Mie(e,eM()?Reflect.construct(t,n||[],tp(e).constructor):t.apply(e,n))}function Mie(e,t){if(t&&(pl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Iie(e)}function Iie(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function eM(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(eM=function(){return!!e})()}function tp(e){return tp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},tp(e)}function $ie(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lb(e,t)}function Lb(e,t){return Lb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Lb(e,t)}function ml(e){return Bie(e)||Die(e)||tM(e)||Lie()}function Lie(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
134
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tM(e,t){if(e){if(typeof e=="string")return Db(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Db(e,t)}}function Die(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Bie(e){if(Array.isArray(e))return Db(e)}function Db(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function WN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ee(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?WN(Object(n),!0).forEach(function(r){Ae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ae(e,t,n){return t=nM(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nM(e){var t=zie(e,"string");return pl(t)=="symbol"?t:t+""}function zie(e,t){if(pl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(pl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Fie={xAxis:["bottom","top"],yAxis:["left","right"]},Uie={width:"100%",height:"100%"},rM={x:0,y:0};function Zd(e){return e}var Wie=function(t,n){return n==="horizontal"?t.x:n==="vertical"?t.y:n==="centric"?t.angle:t.radius},Hie=function(t,n,r,a){var s=n.find(function(d){return d&&d.index===r});if(s){if(t==="horizontal")return{x:s.coordinate,y:a.y};if(t==="vertical")return{x:a.x,y:s.coordinate};if(t==="centric"){var o=s.coordinate,l=a.radius;return ee(ee(ee({},a),cn(a.cx,a.cy,l,o)),{},{angle:o,radius:l})}var c=s.coordinate,u=a.angle;return ee(ee(ee({},a),cn(a.cx,a.cy,c,u)),{},{angle:u,radius:c})}return rM},xm=function(t,n){var r=n.graphicalItems,a=n.dataStartIndex,s=n.dataEndIndex,o=(r??[]).reduce(function(l,c){var u=c.props.data;return u&&u.length?[].concat(ml(l),ml(u)):l},[]);return o.length>0?o:t&&t.length&&ue(a)&&ue(s)?t.slice(a,s+1):[]};function aM(e){return e==="number"?[0,"auto"]:void 0}var Bb=function(t,n,r,a){var s=t.graphicalItems,o=t.tooltipAxis,l=xm(n,t);return r<0||!s||!s.length||r>=l.length?null:s.reduce(function(c,u){var d,f=(d=u.props.data)!==null&&d!==void 0?d:n;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var p=f===void 0?l:f;h=yy(p,o.dataKey,a)}else h=f&&f[r]||l[r];return h?[].concat(ml(c),[tR(u,h)]):c},[])},HN=function(t,n,r,a){var s=a||{x:t.chartX,y:t.chartY},o=Wie(s,r),l=t.orderedTooltipTicks,c=t.tooltipAxis,u=t.tooltipTicks,d=pQ(o,l,u,c);if(d>=0&&u){var f=u[d]&&u[d].value,h=Bb(t,n,d,f),p=Hie(r,l,d,s);return{activeTooltipIndex:d,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Gie=function(t,n){var r=n.axes,a=n.graphicalItems,s=n.axisType,o=n.axisIdKey,l=n.stackGroups,c=n.dataStartIndex,u=n.dataEndIndex,d=t.layout,f=t.children,h=t.stackOffset,p=ZP(d,s);return r.reduce(function(m,g){var y,v=g.type.defaultProps!==void 0?ee(ee({},g.type.defaultProps),g.props):g.props,S=v.type,w=v.dataKey,N=v.allowDataOverflow,k=v.allowDuplicatedCategory,x=v.scale,j=v.ticks,_=v.includeHidden,O=v[o];if(m[O])return m;var C=xm(t.data,{graphicalItems:a.filter(function(U){var $,ie=o in U.props?U.props[o]:($=U.type.defaultProps)===null||$===void 0?void 0:$[o];return ie===O}),dataStartIndex:c,dataEndIndex:u}),P=C.length,A,B,I;vie(v.domain,N,S)&&(A=ib(v.domain,null,N),p&&(S==="number"||x!=="auto")&&(I=$c(C,w,"category")));var M=aM(S);if(!A||A.length===0){var D,W=(D=v.domain)!==null&&D!==void 0?D:M;if(w){if(A=$c(C,w,S),S==="category"&&p){var R=n3(A);k&&R?(B=A,A=Wh(0,P)):k||(A=_1(W,A,g).reduce(function(U,$){return U.indexOf($)>=0?U:[].concat(ml(U),[$])},[]))}else if(S==="category")k?A=A.filter(function(U){return U!==""&&!Ye(U)}):A=_1(W,A,g).reduce(function(U,$){return U.indexOf($)>=0||$===""||Ye($)?U:[].concat(ml(U),[$])},[]);else if(S==="number"){var z=bQ(C,a.filter(function(U){var $,ie,de=o in U.props?U.props[o]:($=U.type.defaultProps)===null||$===void 0?void 0:$[o],ve="hide"in U.props?U.props.hide:(ie=U.type.defaultProps)===null||ie===void 0?void 0:ie.hide;return de===O&&(_||!ve)}),w,s,d);z&&(A=z)}p&&(S==="number"||x!=="auto")&&(I=$c(C,w,"category"))}else p?A=Wh(0,P):l&&l[O]&&l[O].hasStack&&S==="number"?A=h==="expand"?[0,1]:eR(l[O].stackGroups,c,u):A=QP(C,a.filter(function(U){var $=o in U.props?U.props[o]:U.type.defaultProps[o],ie="hide"in U.props?U.props.hide:U.type.defaultProps.hide;return $===O&&(_||!ie)}),S,d,!0);if(S==="number")A=$b(f,A,O,s,j),W&&(A=ib(W,A,N));else if(S==="category"&&W){var T=W,Z=A.every(function(U){return T.indexOf(U)>=0});Z&&(A=T)}}return ee(ee({},m),{},Ae({},O,ee(ee({},v),{},{axisType:s,domain:A,categoricalDomain:I,duplicateDomain:B,originalDomain:(y=v.domain)!==null&&y!==void 0?y:M,isCategorical:p,layout:d})))},{})},qie=function(t,n){var r=n.graphicalItems,a=n.Axis,s=n.axisType,o=n.axisIdKey,l=n.stackGroups,c=n.dataStartIndex,u=n.dataEndIndex,d=t.layout,f=t.children,h=xm(t.data,{graphicalItems:r,dataStartIndex:c,dataEndIndex:u}),p=h.length,m=ZP(d,s),g=-1;return r.reduce(function(y,v){var S=v.type.defaultProps!==void 0?ee(ee({},v.type.defaultProps),v.props):v.props,w=S[o],N=aM("number");if(!y[w]){g++;var k;return m?k=Wh(0,p):l&&l[w]&&l[w].hasStack?(k=eR(l[w].stackGroups,c,u),k=$b(f,k,w,s)):(k=ib(N,QP(h,r.filter(function(x){var j,_,O=o in x.props?x.props[o]:(j=x.type.defaultProps)===null||j===void 0?void 0:j[o],C="hide"in x.props?x.props.hide:(_=x.type.defaultProps)===null||_===void 0?void 0:_.hide;return O===w&&!C}),"number",d),a.defaultProps.allowDataOverflow),k=$b(f,k,w,s)),ee(ee({},y),{},Ae({},w,ee(ee({axisType:s},a.defaultProps),{},{hide:!0,orientation:wr(Fie,"".concat(s,".").concat(g%2),null),domain:k,originalDomain:N,isCategorical:m,layout:d})))}return y},{})},Kie=function(t,n){var r=n.axisType,a=r===void 0?"xAxis":r,s=n.AxisComp,o=n.graphicalItems,l=n.stackGroups,c=n.dataStartIndex,u=n.dataEndIndex,d=t.children,f="".concat(a,"Id"),h=Fr(d,s),p={};return h&&h.length?p=Gie(t,{axes:h,graphicalItems:o,axisType:a,axisIdKey:f,stackGroups:l,dataStartIndex:c,dataEndIndex:u}):o&&o.length&&(p=qie(t,{Axis:s,graphicalItems:o,axisType:a,axisIdKey:f,stackGroups:l,dataStartIndex:c,dataEndIndex:u})),p},Vie=function(t){var n=ui(t),r=Ca(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:Nw(r,function(a){return a.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Rh(n,r)}},GN=function(t){var n=t.children,r=t.defaultShowTooltip,a=Xn(n,sl),s=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(s=a.props.startIndex),a.props.endIndex>=0&&(o=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:s,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!r}},Yie=function(t){return!t||!t.length?!1:t.some(function(n){var r=Ta(n&&n.type);return r&&r.indexOf("Bar")>=0})},qN=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Xie=function(t,n){var r=t.props,a=t.graphicalItems,s=t.xAxisMap,o=s===void 0?{}:s,l=t.yAxisMap,c=l===void 0?{}:l,u=r.width,d=r.height,f=r.children,h=r.margin||{},p=Xn(f,sl),m=Xn(f,ws),g=Object.keys(c).reduce(function(k,x){var j=c[x],_=j.orientation;return!j.mirror&&!j.hide?ee(ee({},k),{},Ae({},_,k[_]+j.width)):k},{left:h.left||0,right:h.right||0}),y=Object.keys(o).reduce(function(k,x){var j=o[x],_=j.orientation;return!j.mirror&&!j.hide?ee(ee({},k),{},Ae({},_,wr(k,"".concat(_))+j.height)):k},{top:h.top||0,bottom:h.bottom||0}),v=ee(ee({},y),g),S=v.bottom;p&&(v.bottom+=p.props.height||sl.defaultProps.height),m&&n&&(v=vQ(v,a,r,n));var w=u-v.left-v.right,N=d-v.top-v.bottom;return ee(ee({brushBottom:S},v),{},{width:Math.max(w,0),height:Math.max(N,0)})},Qie=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},Zie=function(t){var n=t.chartName,r=t.GraphicalChild,a=t.defaultTooltipEventType,s=a===void 0?"axis":a,o=t.validateTooltipEventTypes,l=o===void 0?["axis"]:o,c=t.axisComponents,u=t.legendContent,d=t.formatAxisMap,f=t.defaultProps,h=function(v,S){var w=S.graphicalItems,N=S.stackGroups,k=S.offset,x=S.updateId,j=S.dataStartIndex,_=S.dataEndIndex,O=v.barSize,C=v.layout,P=v.barGap,A=v.barCategoryGap,B=v.maxBarSize,I=qN(C),M=I.numericAxisName,D=I.cateAxisName,W=Yie(w),R=[];return w.forEach(function(z,T){var Z=xm(v.data,{graphicalItems:[z],dataStartIndex:j,dataEndIndex:_}),U=z.type.defaultProps!==void 0?ee(ee({},z.type.defaultProps),z.props):z.props,$=U.dataKey,ie=U.maxBarSize,de=U["".concat(M,"Id")],ve=U["".concat(D,"Id")],Ee={},J=c.reduce(function(_e,pt){var Fe=S["".concat(pt.axisType,"Map")],lt=U["".concat(pt.axisType,"Id")];Fe&&Fe[lt]||pt.axisType==="zAxis"||Is();var Vt=Fe[lt];return ee(ee({},_e),{},Ae(Ae({},pt.axisType,Vt),"".concat(pt.axisType,"Ticks"),Ca(Vt)))},Ee),Y=J[D],ae=J["".concat(D,"Ticks")],ce=N&&N[de]&&N[de].hasStack&&OQ(z,N[de].stackGroups),H=Ta(z.type).indexOf("Bar")>=0,xe=Rh(Y,ae),ke=[],Oe=W&&mQ({barSize:O,stackGroups:N,totalSize:Qie(J,D)});if(H){var ge,Re,pe=Ye(ie)?B:ie,Xe=(ge=(Re=Rh(Y,ae,!0))!==null&&Re!==void 0?Re:pe)!==null&&ge!==void 0?ge:0;ke=gQ({barGap:P,barCategoryGap:A,bandSize:Xe!==xe?Xe:xe,sizeList:Oe[ve],maxBarSize:pe}),Xe!==xe&&(ke=ke.map(function(_e){return ee(ee({},_e),{},{position:ee(ee({},_e.position),{},{offset:_e.position.offset-Xe/2})})}))}var $e=z&&z.type&&z.type.getComposedData;$e&&R.push({props:ee(ee({},$e(ee(ee({},J),{},{displayedData:Z,props:v,dataKey:$,item:z,bandSize:xe,barPosition:ke,offset:k,stackedData:ce,layout:C,dataStartIndex:j,dataEndIndex:_}))),{},Ae(Ae(Ae({key:z.key||"item-".concat(T)},M,J[M]),D,J[D]),"animationId",x)),childIndex:p3(z,v.children),item:z})}),R},p=function(v,S){var w=v.props,N=v.dataStartIndex,k=v.dataEndIndex,x=v.updateId;if(!wS({props:w}))return null;var j=w.children,_=w.layout,O=w.stackOffset,C=w.data,P=w.reverseStackOrder,A=qN(_),B=A.numericAxisName,I=A.cateAxisName,M=Fr(j,r),D=CQ(C,M,"".concat(B,"Id"),"".concat(I,"Id"),O,P),W=c.reduce(function(U,$){var ie="".concat($.axisType,"Map");return ee(ee({},U),{},Ae({},ie,Kie(w,ee(ee({},$),{},{graphicalItems:M,stackGroups:$.axisType===B&&D,dataStartIndex:N,dataEndIndex:k}))))},{}),R=Xie(ee(ee({},W),{},{props:w,graphicalItems:M}),S==null?void 0:S.legendBBox);Object.keys(W).forEach(function(U){W[U]=d(w,W[U],R,U.replace("Map",""),n)});var z=W["".concat(I,"Map")],T=Vie(z),Z=h(w,ee(ee({},W),{},{dataStartIndex:N,dataEndIndex:k,updateId:x,graphicalItems:M,stackGroups:D,offset:R}));return ee(ee({formattedGraphicalItems:Z,graphicalItems:M,offset:R,stackGroups:D},T),W)},m=function(y){function v(S){var w,N,k;return Tie(this,v),k=Rie(this,v,[S]),Ae(k,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ae(k,"accessibilityManager",new gie),Ae(k,"handleLegendBBoxUpdate",function(x){if(x){var j=k.state,_=j.dataStartIndex,O=j.dataEndIndex,C=j.updateId;k.setState(ee({legendBBox:x},p({props:k.props,dataStartIndex:_,dataEndIndex:O,updateId:C},ee(ee({},k.state),{},{legendBBox:x}))))}}),Ae(k,"handleReceiveSyncEvent",function(x,j,_){if(k.props.syncId===x){if(_===k.eventEmitterSymbol&&typeof k.props.syncMethod!="function")return;k.applySyncEvent(j)}}),Ae(k,"handleBrushChange",function(x){var j=x.startIndex,_=x.endIndex;if(j!==k.state.dataStartIndex||_!==k.state.dataEndIndex){var O=k.state.updateId;k.setState(function(){return ee({dataStartIndex:j,dataEndIndex:_},p({props:k.props,dataStartIndex:j,dataEndIndex:_,updateId:O},k.state))}),k.triggerSyncEvent({dataStartIndex:j,dataEndIndex:_})}}),Ae(k,"handleMouseEnter",function(x){var j=k.getMouseInfo(x);if(j){var _=ee(ee({},j),{},{isTooltipActive:!0});k.setState(_),k.triggerSyncEvent(_);var O=k.props.onMouseEnter;Le(O)&&O(_,x)}}),Ae(k,"triggeredAfterMouseMove",function(x){var j=k.getMouseInfo(x),_=j?ee(ee({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};k.setState(_),k.triggerSyncEvent(_);var O=k.props.onMouseMove;Le(O)&&O(_,x)}),Ae(k,"handleItemMouseEnter",function(x){k.setState(function(){return{isTooltipActive:!0,activeItem:x,activePayload:x.tooltipPayload,activeCoordinate:x.tooltipPosition||{x:x.cx,y:x.cy}}})}),Ae(k,"handleItemMouseLeave",function(){k.setState(function(){return{isTooltipActive:!1}})}),Ae(k,"handleMouseMove",function(x){x.persist(),k.throttleTriggeredAfterMouseMove(x)}),Ae(k,"handleMouseLeave",function(x){k.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};k.setState(j),k.triggerSyncEvent(j);var _=k.props.onMouseLeave;Le(_)&&_(j,x)}),Ae(k,"handleOuterEvent",function(x){var j=h3(x),_=wr(k.props,"".concat(j));if(j&&Le(_)){var O,C;/.*touch.*/i.test(j)?C=k.getMouseInfo(x.changedTouches[0]):C=k.getMouseInfo(x),_((O=C)!==null&&O!==void 0?O:{},x)}}),Ae(k,"handleClick",function(x){var j=k.getMouseInfo(x);if(j){var _=ee(ee({},j),{},{isTooltipActive:!0});k.setState(_),k.triggerSyncEvent(_);var O=k.props.onClick;Le(O)&&O(_,x)}}),Ae(k,"handleMouseDown",function(x){var j=k.props.onMouseDown;if(Le(j)){var _=k.getMouseInfo(x);j(_,x)}}),Ae(k,"handleMouseUp",function(x){var j=k.props.onMouseUp;if(Le(j)){var _=k.getMouseInfo(x);j(_,x)}}),Ae(k,"handleTouchMove",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&k.throttleTriggeredAfterMouseMove(x.changedTouches[0])}),Ae(k,"handleTouchStart",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&k.handleMouseDown(x.changedTouches[0])}),Ae(k,"handleTouchEnd",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&k.handleMouseUp(x.changedTouches[0])}),Ae(k,"handleDoubleClick",function(x){var j=k.props.onDoubleClick;if(Le(j)){var _=k.getMouseInfo(x);j(_,x)}}),Ae(k,"handleContextMenu",function(x){var j=k.props.onContextMenu;if(Le(j)){var _=k.getMouseInfo(x);j(_,x)}}),Ae(k,"triggerSyncEvent",function(x){k.props.syncId!==void 0&&Mg.emit(Ig,k.props.syncId,x,k.eventEmitterSymbol)}),Ae(k,"applySyncEvent",function(x){var j=k.props,_=j.layout,O=j.syncMethod,C=k.state.updateId,P=x.dataStartIndex,A=x.dataEndIndex;if(x.dataStartIndex!==void 0||x.dataEndIndex!==void 0)k.setState(ee({dataStartIndex:P,dataEndIndex:A},p({props:k.props,dataStartIndex:P,dataEndIndex:A,updateId:C},k.state)));else if(x.activeTooltipIndex!==void 0){var B=x.chartX,I=x.chartY,M=x.activeTooltipIndex,D=k.state,W=D.offset,R=D.tooltipTicks;if(!W)return;if(typeof O=="function")M=O(R,x);else if(O==="value"){M=-1;for(var z=0;z<R.length;z++)if(R[z].value===x.activeLabel){M=z;break}}var T=ee(ee({},W),{},{x:W.left,y:W.top}),Z=Math.min(B,T.x+T.width),U=Math.min(I,T.y+T.height),$=R[M]&&R[M].value,ie=Bb(k.state,k.props.data,M),de=R[M]?{x:_==="horizontal"?R[M].coordinate:Z,y:_==="horizontal"?U:R[M].coordinate}:rM;k.setState(ee(ee({},x),{},{activeLabel:$,activeCoordinate:de,activePayload:ie,activeTooltipIndex:M}))}else k.setState(x)}),Ae(k,"renderCursor",function(x){var j,_=k.state,O=_.isTooltipActive,C=_.activeCoordinate,P=_.activePayload,A=_.offset,B=_.activeTooltipIndex,I=_.tooltipAxisBandSize,M=k.getTooltipEventType(),D=(j=x.props.active)!==null&&j!==void 0?j:O,W=k.props.layout,R=x.key||"_recharts-cursor";return V.createElement(Sie,{key:R,activeCoordinate:C,activePayload:P,activeTooltipIndex:B,chartName:n,element:x,isActive:D,layout:W,offset:A,tooltipAxisBandSize:I,tooltipEventType:M})}),Ae(k,"renderPolarAxis",function(x,j,_){var O=wr(x,"type.axisType"),C=wr(k.state,"".concat(O,"Map")),P=x.type.defaultProps,A=P!==void 0?ee(ee({},P),x.props):x.props,B=C&&C[A["".concat(O,"Id")]];return b.cloneElement(x,ee(ee({},B),{},{className:Ve(O,B.className),key:x.key||"".concat(j,"-").concat(_),ticks:Ca(B,!0)}))}),Ae(k,"renderPolarGrid",function(x){var j=x.props,_=j.radialLines,O=j.polarAngles,C=j.polarRadius,P=k.state,A=P.radiusAxisMap,B=P.angleAxisMap,I=ui(A),M=ui(B),D=M.cx,W=M.cy,R=M.innerRadius,z=M.outerRadius;return b.cloneElement(x,{polarAngles:Array.isArray(O)?O:Ca(M,!0).map(function(T){return T.coordinate}),polarRadius:Array.isArray(C)?C:Ca(I,!0).map(function(T){return T.coordinate}),cx:D,cy:W,innerRadius:R,outerRadius:z,key:x.key||"polar-grid",radialLines:_})}),Ae(k,"renderLegend",function(){var x=k.state.formattedGraphicalItems,j=k.props,_=j.children,O=j.width,C=j.height,P=k.props.margin||{},A=O-(P.left||0)-(P.right||0),B=YP({children:_,formattedGraphicalItems:x,legendWidth:A,legendContent:u});if(!B)return null;var I=B.item,M=UN(B,jie);return b.cloneElement(I,ee(ee({},M),{},{chartWidth:O,chartHeight:C,margin:P,onBBoxUpdate:k.handleLegendBBoxUpdate}))}),Ae(k,"renderTooltip",function(){var x,j=k.props,_=j.children,O=j.accessibilityLayer,C=Xn(_,vn);if(!C)return null;var P=k.state,A=P.isTooltipActive,B=P.activeCoordinate,I=P.activePayload,M=P.activeLabel,D=P.offset,W=(x=C.props.active)!==null&&x!==void 0?x:A;return b.cloneElement(C,{viewBox:ee(ee({},D),{},{x:D.left,y:D.top}),active:W,label:M,payload:W?I:[],coordinate:B,accessibilityLayer:O})}),Ae(k,"renderBrush",function(x){var j=k.props,_=j.margin,O=j.data,C=k.state,P=C.offset,A=C.dataStartIndex,B=C.dataEndIndex,I=C.updateId;return b.cloneElement(x,{key:x.key||"_recharts-brush",onChange:Kd(k.handleBrushChange,x.props.onChange),data:O,x:ue(x.props.x)?x.props.x:P.left,y:ue(x.props.y)?x.props.y:P.top+P.height+P.brushBottom-(_.bottom||0),width:ue(x.props.width)?x.props.width:P.width,startIndex:A,endIndex:B,updateId:"brush-".concat(I)})}),Ae(k,"renderReferenceElement",function(x,j,_){if(!x)return null;var O=k,C=O.clipPathId,P=k.state,A=P.xAxisMap,B=P.yAxisMap,I=P.offset,M=x.type.defaultProps||{},D=x.props,W=D.xAxisId,R=W===void 0?M.xAxisId:W,z=D.yAxisId,T=z===void 0?M.yAxisId:z;return b.cloneElement(x,{key:x.key||"".concat(j,"-").concat(_),xAxis:A[R],yAxis:B[T],viewBox:{x:I.left,y:I.top,width:I.width,height:I.height},clipPathId:C})}),Ae(k,"renderActivePoints",function(x){var j=x.item,_=x.activePoint,O=x.basePoint,C=x.childIndex,P=x.isRange,A=[],B=j.props.key,I=j.item.type.defaultProps!==void 0?ee(ee({},j.item.type.defaultProps),j.item.props):j.item.props,M=I.activeDot,D=I.dataKey,W=ee(ee({index:C,dataKey:D,cx:_.x,cy:_.y,r:4,fill:Zw(j.item),strokeWidth:2,stroke:"#fff",payload:_.payload,value:_.value},Ke(M,!1)),rh(M));return A.push(v.renderActiveDot(M,W,"".concat(B,"-activePoint-").concat(C))),O?A.push(v.renderActiveDot(M,ee(ee({},W),{},{cx:O.x,cy:O.y}),"".concat(B,"-basePoint-").concat(C))):P&&A.push(null),A}),Ae(k,"renderGraphicChild",function(x,j,_){var O=k.filterFormatItem(x,j,_);if(!O)return null;var C=k.getTooltipEventType(),P=k.state,A=P.isTooltipActive,B=P.tooltipAxis,I=P.activeTooltipIndex,M=P.activeLabel,D=k.props.children,W=Xn(D,vn),R=O.props,z=R.points,T=R.isRange,Z=R.baseLine,U=O.item.type.defaultProps!==void 0?ee(ee({},O.item.type.defaultProps),O.item.props):O.item.props,$=U.activeDot,ie=U.hide,de=U.activeBar,ve=U.activeShape,Ee=!!(!ie&&A&&W&&($||de||ve)),J={};C!=="axis"&&W&&W.props.trigger==="click"?J={onClick:Kd(k.handleItemMouseEnter,x.props.onClick)}:C!=="axis"&&(J={onMouseLeave:Kd(k.handleItemMouseLeave,x.props.onMouseLeave),onMouseEnter:Kd(k.handleItemMouseEnter,x.props.onMouseEnter)});var Y=b.cloneElement(x,ee(ee({},O.props),J));function ae(pt){return typeof B.dataKey=="function"?B.dataKey(pt.payload):null}if(Ee)if(I>=0){var ce,H;if(B.dataKey&&!B.allowDuplicatedCategory){var xe=typeof B.dataKey=="function"?ae:"payload.".concat(B.dataKey.toString());ce=yy(z,xe,M),H=T&&Z&&yy(Z,xe,M)}else ce=z==null?void 0:z[I],H=T&&Z&&Z[I];if(ve||de){var ke=x.props.activeIndex!==void 0?x.props.activeIndex:I;return[b.cloneElement(x,ee(ee(ee({},O.props),J),{},{activeIndex:ke})),null,null]}if(!Ye(ce))return[Y].concat(ml(k.renderActivePoints({item:O,activePoint:ce,basePoint:H,childIndex:I,isRange:T})))}else{var Oe,ge=(Oe=k.getItemByXY(k.state.activeCoordinate))!==null&&Oe!==void 0?Oe:{graphicalItem:Y},Re=ge.graphicalItem,pe=Re.item,Xe=pe===void 0?x:pe,$e=Re.childIndex,_e=ee(ee(ee({},O.props),J),{},{activeIndex:$e});return[b.cloneElement(Xe,_e),null,null]}return T?[Y,null,null]:[Y,null]}),Ae(k,"renderCustomized",function(x,j,_){return b.cloneElement(x,ee(ee({key:"recharts-customized-".concat(_)},k.props),k.state))}),Ae(k,"renderMap",{CartesianGrid:{handler:Zd,once:!0},ReferenceArea:{handler:k.renderReferenceElement},ReferenceLine:{handler:Zd},ReferenceDot:{handler:k.renderReferenceElement},XAxis:{handler:Zd},YAxis:{handler:Zd},Brush:{handler:k.renderBrush,once:!0},Bar:{handler:k.renderGraphicChild},Line:{handler:k.renderGraphicChild},Area:{handler:k.renderGraphicChild},Radar:{handler:k.renderGraphicChild},RadialBar:{handler:k.renderGraphicChild},Scatter:{handler:k.renderGraphicChild},Pie:{handler:k.renderGraphicChild},Funnel:{handler:k.renderGraphicChild},Tooltip:{handler:k.renderCursor,once:!0},PolarGrid:{handler:k.renderPolarGrid,once:!0},PolarAngleAxis:{handler:k.renderPolarAxis},PolarRadiusAxis:{handler:k.renderPolarAxis},Customized:{handler:k.renderCustomized}}),k.clipPathId="".concat((w=S.id)!==null&&w!==void 0?w:Vp("recharts"),"-clip"),k.throttleTriggeredAfterMouseMove=XO(k.triggeredAfterMouseMove,(N=S.throttleDelay)!==null&&N!==void 0?N:1e3/60),k.state={},k}return $ie(v,y),Pie(v,[{key:"componentDidMount",value:function(){var w,N;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(N=this.props.margin.top)!==null&&N!==void 0?N:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,N=w.children,k=w.data,x=w.height,j=w.layout,_=Xn(N,vn);if(_){var O=_.props.defaultIndex;if(!(typeof O!="number"||O<0||O>this.state.tooltipTicks.length-1)){var C=this.state.tooltipTicks[O]&&this.state.tooltipTicks[O].value,P=Bb(this.state,k,O,C),A=this.state.tooltipTicks[O].coordinate,B=(this.state.offset.top+x)/2,I=j==="horizontal",M=I?{x:A,y:B}:{y:A,x:B},D=this.state.formattedGraphicalItems.find(function(R){var z=R.item;return z.type.name==="Scatter"});D&&(M=ee(ee({},M),D.props.points[O].tooltipPosition),P=D.props.points[O].tooltipPayload);var W={activeTooltipIndex:O,isTooltipActive:!0,activeLabel:C,activePayload:P,activeCoordinate:M};this.setState(W),this.renderCursor(_),this.accessibilityManager.setIndex(O)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,N){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==N.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var k,x;this.accessibilityManager.setDetails({offset:{left:(k=this.props.margin.left)!==null&&k!==void 0?k:0,top:(x=this.props.margin.top)!==null&&x!==void 0?x:0}})}return null}},{key:"componentDidUpdate",value:function(w){xy([Xn(w.children,vn)],[Xn(this.props.children,vn)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=Xn(this.props.children,vn);if(w&&typeof w.props.shared=="boolean"){var N=w.props.shared?"axis":"item";return l.indexOf(N)>=0?N:s}return s}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var N=this.container,k=N.getBoundingClientRect(),x=zK(k),j={chartX:Math.round(w.pageX-x.left),chartY:Math.round(w.pageY-x.top)},_=k.width/N.offsetWidth||1,O=this.inRange(j.chartX,j.chartY,_);if(!O)return null;var C=this.state,P=C.xAxisMap,A=C.yAxisMap,B=this.getTooltipEventType(),I=HN(this.state,this.props.data,this.props.layout,O);if(B!=="axis"&&P&&A){var M=ui(P).scale,D=ui(A).scale,W=M&&M.invert?M.invert(j.chartX):null,R=D&&D.invert?D.invert(j.chartY):null;return ee(ee({},j),{},{xValue:W,yValue:R},I)}return I?ee(ee({},j),I):null}},{key:"inRange",value:function(w,N){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,x=this.props.layout,j=w/k,_=N/k;if(x==="horizontal"||x==="vertical"){var O=this.state.offset,C=j>=O.left&&j<=O.left+O.width&&_>=O.top&&_<=O.top+O.height;return C?{x:j,y:_}:null}var P=this.state,A=P.angleAxisMap,B=P.radiusAxisMap;if(A&&B){var I=ui(A);return T1({x:j,y:_},I)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,N=this.getTooltipEventType(),k=Xn(w,vn),x={};k&&N==="axis"&&(k.props.trigger==="click"?x={onClick:this.handleClick}:x={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var j=rh(this.props,this.handleOuterEvent);return ee(ee({},j),x)}},{key:"addListener",value:function(){Mg.on(Ig,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Mg.removeListener(Ig,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,N,k){for(var x=this.state.formattedGraphicalItems,j=0,_=x.length;j<_;j++){var O=x[j];if(O.item===w||O.props.key===w.key||N===Ta(O.item.type)&&k===O.childIndex)return O}return null}},{key:"renderClipPath",value:function(){var w=this.clipPathId,N=this.state.offset,k=N.left,x=N.top,j=N.height,_=N.width;return V.createElement("defs",null,V.createElement("clipPath",{id:w},V.createElement("rect",{x:k,y:x,height:j,width:_})))}},{key:"getXScales",value:function(){var w=this.state.xAxisMap;return w?Object.entries(w).reduce(function(N,k){var x=FN(k,2),j=x[0],_=x[1];return ee(ee({},N),{},Ae({},j,_.scale))},{}):null}},{key:"getYScales",value:function(){var w=this.state.yAxisMap;return w?Object.entries(w).reduce(function(N,k){var x=FN(k,2),j=x[0],_=x[1];return ee(ee({},N),{},Ae({},j,_.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(w){var N;return(N=this.state.xAxisMap)===null||N===void 0||(N=N[w])===null||N===void 0?void 0:N.scale}},{key:"getYScaleByAxisId",value:function(w){var N;return(N=this.state.yAxisMap)===null||N===void 0||(N=N[w])===null||N===void 0?void 0:N.scale}},{key:"getItemByXY",value:function(w){var N=this.state,k=N.formattedGraphicalItems,x=N.activeItem;if(k&&k.length)for(var j=0,_=k.length;j<_;j++){var O=k[j],C=O.props,P=O.item,A=P.type.defaultProps!==void 0?ee(ee({},P.type.defaultProps),P.props):P.props,B=Ta(P.type);if(B==="Bar"){var I=(C.data||[]).find(function(R){return Eee(w,R)});if(I)return{graphicalItem:O,payload:I}}else if(B==="RadialBar"){var M=(C.data||[]).find(function(R){return T1(w,R)});if(M)return{graphicalItem:O,payload:M}}else if(hm(O,x)||pm(O,x)||Lu(O,x)){var D=Ate({graphicalItem:O,activeTooltipItem:x,itemData:A.data}),W=A.activeIndex===void 0?D:A.activeIndex;return{graphicalItem:ee(ee({},O),{},{childIndex:W}),payload:Lu(O,x)?A.data[D]:O.props.data[D]}}}return null}},{key:"render",value:function(){var w=this;if(!wS(this))return null;var N=this.props,k=N.children,x=N.className,j=N.width,_=N.height,O=N.style,C=N.compact,P=N.title,A=N.desc,B=UN(N,Nie),I=Ke(B,!1);if(C)return V.createElement(EN,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},V.createElement(ky,Ao({},I,{width:j,height:_,title:P,desc:A}),this.renderClipPath(),SS(k,this.renderMap)));if(this.props.accessibilityLayer){var M,D;I.tabIndex=(M=this.props.tabIndex)!==null&&M!==void 0?M:0,I.role=(D=this.props.role)!==null&&D!==void 0?D:"application",I.onKeyDown=function(R){w.accessibilityManager.keyboardEvent(R)},I.onFocus=function(){w.accessibilityManager.focus()}}var W=this.parseEventsOfWrapper();return V.createElement(EN,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},V.createElement("div",Ao({className:Ve("recharts-wrapper",x),style:ee({position:"relative",cursor:"default",width:j,height:_},O)},W,{ref:function(z){w.container=z}}),V.createElement(ky,Ao({},I,{width:j,height:_,title:P,desc:A,style:Uie}),this.renderClipPath(),SS(k,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(b.Component);Ae(m,"displayName",n),Ae(m,"defaultProps",ee({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},f)),Ae(m,"getDerivedStateFromProps",function(y,v){var S=y.dataKey,w=y.data,N=y.children,k=y.width,x=y.height,j=y.layout,_=y.stackOffset,O=y.margin,C=v.dataStartIndex,P=v.dataEndIndex;if(v.updateId===void 0){var A=GN(y);return ee(ee(ee({},A),{},{updateId:0},p(ee(ee({props:y},A),{},{updateId:0}),v)),{},{prevDataKey:S,prevData:w,prevWidth:k,prevHeight:x,prevLayout:j,prevStackOffset:_,prevMargin:O,prevChildren:N})}if(S!==v.prevDataKey||w!==v.prevData||k!==v.prevWidth||x!==v.prevHeight||j!==v.prevLayout||_!==v.prevStackOffset||!Lo(O,v.prevMargin)){var B=GN(y),I={chartX:v.chartX,chartY:v.chartY,isTooltipActive:v.isTooltipActive},M=ee(ee({},HN(v,w,j)),{},{updateId:v.updateId+1}),D=ee(ee(ee({},B),I),M);return ee(ee(ee({},D),p(ee({props:y},D),v)),{},{prevDataKey:S,prevData:w,prevWidth:k,prevHeight:x,prevLayout:j,prevStackOffset:_,prevMargin:O,prevChildren:N})}if(!xy(N,v.prevChildren)){var W,R,z,T,Z=Xn(N,sl),U=Z&&(W=(R=Z.props)===null||R===void 0?void 0:R.startIndex)!==null&&W!==void 0?W:C,$=Z&&(z=(T=Z.props)===null||T===void 0?void 0:T.endIndex)!==null&&z!==void 0?z:P,ie=U!==C||$!==P,de=!Ye(w),ve=de&&!ie?v.updateId:v.updateId+1;return ee(ee({updateId:ve},p(ee(ee({props:y},v),{},{updateId:ve,dataStartIndex:U,dataEndIndex:$}),v)),{},{prevChildren:N,dataStartIndex:U,dataEndIndex:$})}return null}),Ae(m,"renderActiveDot",function(y,v,S){var w;return b.isValidElement(y)?w=b.cloneElement(y,v):Le(y)?w=y(v):w=V.createElement(mR,v),V.createElement(nn,{className:"recharts-active-dot",key:S},w)});var g=b.forwardRef(function(v,S){return V.createElement(m,Ao({},v,{ref:S}))});return g.displayName=m.displayName,g},cs=Zie({chartName:"BarChart",GraphicalChild:gn,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:ta},{axisType:"yAxis",AxisComp:na}],formatAxisMap:ere});const Jie=new Intl.NumberFormat("en-US");function xt(e){return Jie.format(e)}function zb(e){return e==null||e<1e-5?"$0.00":e<.01?"$"+e.toFixed(6):"$"+e.toFixed(4)}function Fb(e){if(!Number.isFinite(e)||e<0)return"0s";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60);return n<60?`${n}m ${String(t%60).padStart(2,"0")}s`:`${Math.floor(n/60)}h ${String(n%60).padStart(2,"0")}m`}function et(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function ese(e,t){var a,s;const n=[];if(t){const o=t.toolsets.toolsets.filter(l=>l.enabled).reduce((l,c)=>l+c.toolCount,0);n.push({key:"tools",icon:"🔧",value:et(o),label:"Active Tools",tone:"accent"})}const r=((a=t==null?void 0:t.conversations)==null?void 0:a.total)??((s=e==null?void 0:e.conversations)==null?void 0:s.total);return r!==void 0&&n.push({key:"conversations",icon:"💬",value:et(r),label:"Active Conversations",tone:"ok"}),t&&n.push({key:"skills",icon:"🧩",value:et(t.skills.total),label:"Skills Loaded",tone:"warn"}),e&&n.push({key:"cost",icon:"💰",value:zb(e.cost.totalCost),label:"Total Cost",tone:"danger"}),n}function Wi({tiles:e}){return e.length===0?null:i.jsx("ul",{className:"metric-tiles",children:e.map(t=>i.jsxs("li",{className:`metric-tile metric-tile--${t.tone}`,children:[i.jsx("span",{className:"metric-tile-icon","aria-hidden":"true",children:t.icon}),i.jsxs("span",{children:[i.jsx("span",{className:"metric-tile-value",children:t.value}),i.jsx("span",{className:"metric-tile-label",children:t.label})]})]},t.key))})}function Te({icon:e,title:t,description:n,actions:r}){return i.jsxs("header",{className:"page-header",children:[i.jsxs("div",{className:"page-header-text",children:[i.jsxs("h1",{className:"page-header-title",children:[i.jsx("span",{"aria-hidden":"true",children:e})," ",t]}),n?i.jsx("p",{className:"page-header-description",children:n}):null]}),r?i.jsx("div",{className:"page-header-actions",children:r}):null]})}const tse=6e4;function c0(e=tse){const[t,n]=b.useState(null);return b.useEffect(()=>{let r=!1;const a=()=>{fetch("/api/model-counts").then(o=>o.ok?o.json():null).then(o=>{!r&&o&&typeof o.trackedModels=="number"&&n(o)}).catch(()=>{})};a();const s=setInterval(a,e);return()=>{r=!0,clearInterval(s)}},[e]),t}function qr(){const[e,t]=b.useState(rB);return b.useEffect(()=>aB(t),[]),e}const nse={local:"var(--accent-green)",groq:"var(--accent-blue)",gemini:"var(--accent-purple)",nim:"var(--accent-cyan)",openrouter:"var(--accent-yellow)"};function KN(e){if(!e)return!1;const t=new Date;return t.setHours(0,0,0,0),e>=t.getTime()}function Lg({title:e,children:t,action:n}){return i.jsxs("section",{className:"summary-card",children:[i.jsx("h2",{className:"summary-card-title",children:e}),i.jsx("div",{className:"summary-rows",children:t}),n?i.jsx("div",{className:"summary-card-action",children:n}):null]})}function qn({value:e,label:t}){return i.jsxs("p",{className:"summary-row",children:[i.jsx("span",{className:"summary-row-value",children:e}),i.jsx("span",{className:"summary-row-label",children:t})]})}function rse({data:e,onRefresh:t,refreshing:n=!1}){var C,P,A,B,I;const[r,a]=b.useState(null),[s,o]=b.useState(null),l=c0(),c=qr();if(b.useEffect(()=>{let M=!1;return K.fetchHub().then(D=>{!M&&D&&a(D)}),K.listTasks().then(D=>{!M&&D&&o(D)}),()=>{M=!0}},[c]),!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📊",title:"System Overview",description:"Cost, memory, benchmarks and routing — read live from the dashboard server."}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Connecting to dashboard..."})]})]});const{cost:u,history:d,benchmarks:f,memory:h,health:p}=e,m=[{icon:"💰",value:zb(u.totalCost),label:"Total Cost"},{icon:"📞",value:et(u.totalRequests),label:"API Requests"},{icon:"🧠",value:et(h.total),label:"Trajectories"},{icon:"📝",value:et(d.total),label:"Chat Sessions"},{icon:"🏆",value:et(f.totalRuns),label:"Benchmark Runs"},{icon:"📦",value:et(p.vectors),label:"Vector Entries"}],g=Object.entries(u.byProvider||{}).map(([M,D])=>({name:M,value:D})).sort((M,D)=>D.value-M.value),y=Object.entries(h.byFingerprint||{}).map(([M,D])=>({name:M.length>15?M.slice(0,13)+"..":M,value:D})).sort((M,D)=>D.value-M.value).slice(0,8),v=ese(e,r),S=(s==null?void 0:s.tasks)??[],w=s!==null&&s.status===401,N=S.filter(M=>M.status==="running").length,k=S.filter(M=>KN(M.finishedAt)&&(M.status==="failed"||M.status==="error")).length,x=S.filter(M=>KN(M.finishedAt)&&M.status==="done").length,j=e.modelRegistry,_=((C=r==null?void 0:r.channels)==null?void 0:C.platforms)??[],O=_.filter(M=>M.configured).length;return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📊",title:"System Overview",description:"Cost, memory, benchmarks and routing — read live from the dashboard server.",actions:t?i.jsx("button",{type:"button",className:"btn-secondary",onClick:t,disabled:n,"aria-busy":n,children:n?"Refreshing…":"⟳ Refresh data"}):null}),i.jsx(Wi,{tiles:v}),i.jsxs("div",{className:"overview-summary",children:[i.jsxs("div",{className:"summary-cards",children:[i.jsx(Lg,{title:"Task Summary",action:i.jsx(tn,{className:"summary-card-link",to:"/tasks",children:"Open console →"}),children:w?i.jsx("p",{className:"summary-note",children:"Sign in to Admin to see task history."}):s===null?i.jsx("p",{className:"summary-note",children:"Loading task history…"}):i.jsxs(i.Fragment,{children:[i.jsx(qn,{value:et(N),label:"Running now"}),i.jsx(qn,{value:et(x),label:"Completed today"}),k>0&&i.jsx(qn,{value:et(k),label:"Failed today"})]})}),j&&i.jsxs(Lg,{title:"Models",action:i.jsx(tn,{className:"summary-card-link",to:"/models",children:"Manage →"}),children:[i.jsx(qn,{value:et(j.routableNow??j.verified),label:"Routable now"}),i.jsx(qn,{value:et(j.verified),label:"Verified (proven)"}),i.jsx(qn,{value:et((l==null?void 0:l.trackedModels)??j.total),label:"Tracked models (registry)"}),i.jsx(qn,{value:et((l==null?void 0:l.trackedProviders)??((P=j.providers)==null?void 0:P.length)??0),label:"Tracked providers (registry)"}),l&&i.jsxs(i.Fragment,{children:[i.jsx(qn,{value:et(l.listedModels),label:"Listed models (live probe)"}),i.jsx(qn,{value:et(l.listedProviders),label:"Listed providers (live probe)"})]}),j.parked>0&&i.jsx(qn,{value:et(j.parked),label:"Quota-parked"})]}),r&&i.jsxs(Lg,{title:"Gateway Status",action:i.jsx(tn,{className:"summary-card-link",to:"/gateway",children:"Gateway ops →"}),children:[i.jsx(qn,{value:`${O}/${_.length}`,label:"Platforms configured"}),i.jsx(qn,{value:et(r.skills.total),label:"Skills loaded"}),i.jsx(qn,{value:et(r.toolsets.enabled),label:"Toolsets enabled"})]})]}),i.jsxs("aside",{className:"quick-actions","aria-labelledby":"quick-actions-title",children:[i.jsx("h2",{className:"summary-card-title",id:"quick-actions-title",children:"Quick Actions"}),i.jsxs(tn,{className:"quick-action",to:"/tasks",children:[i.jsx("span",{"aria-hidden":"true",children:"🚀"})," Run a CLI command"]}),i.jsxs(tn,{className:"quick-action",to:"/hub",children:[i.jsx("span",{"aria-hidden":"true",children:"🧰"})," Skills & channels"]}),i.jsxs(tn,{className:"quick-action",to:"/models",children:[i.jsx("span",{"aria-hidden":"true",children:"🧠"})," Model registry"]}),i.jsxs(tn,{className:"quick-action",to:"/traces",children:[i.jsx("span",{"aria-hidden":"true",children:"🔍"})," Reasoning traces"]}),i.jsxs(tn,{className:"quick-action",to:"/system",children:[i.jsx("span",{"aria-hidden":"true",children:"⚙️"})," Doctor checks"]})]})]}),i.jsx("h2",{className:"section-subtitle",children:"Key metrics"}),i.jsx("div",{className:"stats-grid",children:m.map(M=>i.jsxs("div",{className:"stat-card",children:[i.jsx("div",{className:"stat-icon",children:M.icon}),i.jsxs("div",{className:"stat-body",children:[i.jsx("div",{className:"stat-value",children:M.value}),i.jsx("div",{className:"stat-label",children:M.label})]})]},M.label))}),i.jsxs("div",{className:"memory-health-card",children:[i.jsx("h2",{className:"section-subtitle",children:"🧠 Memory Health"}),i.jsxs("div",{className:"memory-health-stats",children:[i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:et(h.total)}),i.jsx("span",{className:"memory-health-label",children:"Trajectories"})]}),i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:et(((A=h.facts)==null?void 0:A.total)||0)}),i.jsx("span",{className:"memory-health-label",children:"Facts Learned"})]}),i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:et(((B=h.recall)==null?void 0:B.last7d)||0)}),i.jsx("span",{className:"memory-health-label",children:"Recalls This Week"})]}),i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:p.patterns||0}),i.jsx("span",{className:"memory-health-label",children:"Coding Patterns"})]})]}),i.jsxs("p",{className:"memory-health-status",children:["Memory tier: ",i.jsx("code",{children:h.backend||"local"})," · ","Vector index: ",i.jsx("code",{children:h.vectorBackend||"unknown"}),(I=h.recall)!=null&&I.last7d?` · ${h.recall.last7d} recall(s) this week`:" · no recalls yet"]})]}),i.jsx("h2",{className:"section-subtitle",children:"💰 Cost by Provider"}),i.jsx("div",{className:"chart-container",children:g.length>0?i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:g,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{tick:{fontSize:11},tickFormatter:M=>"$"+M.toFixed(4)}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:M=>[zb(M),"Cost"]}),i.jsx(gn,{dataKey:"value",radius:[4,4,0,0],children:g.map(M=>i.jsx(hu,{fillOpacity:.8,style:{fill:nse[M.name]||"var(--accent-blue)"}},M.name))})]})}):i.jsx("div",{className:"empty-state",children:"No cost data yet."})}),i.jsx("h2",{className:"section-subtitle",children:"📊 Trajectories by Project Type"}),i.jsx("div",{className:"chart-container",children:y.length>0?i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:y,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{tick:{fontSize:11}}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"}}),i.jsx(gn,{dataKey:"value",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-purple)",style:{fill:"var(--accent-purple)"}})]})}):i.jsx("div",{className:"empty-state",children:"No trajectory data yet."})})]})}function ase(){return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"❓",title:"Help",description:"What this dashboard is, how to get work done in it, and every keyboard shortcut."}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Start here"}),i.jsxs("ol",{className:"help-steps",children:[i.jsxs("li",{children:[i.jsx("strong",{children:"Talk to the agent in Chat."})," It is the front door — the other pages are views of what has already happened. ",i.jsx(tn,{to:"/chat",children:"Open Chat"}),"."]}),i.jsxs("li",{children:[i.jsx("strong",{children:"Run a command from Tasks."})," The Command Console executes the same CLI you would type in a terminal, and it can group-browse every command for you."," ",i.jsx(tn,{to:"/tasks",children:"Open Command Console"}),"."]}),i.jsxs("li",{children:[i.jsx("strong",{children:"Sign in for anything that changes something."})," Running a task, editing environment secrets and the Agent Hub toggles all need an admin session. Controls that need one are disabled and say so."," ",i.jsx(tn,{to:"/admin",children:"Go to Admin"}),"."]})]})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"How the dashboard is laid out"}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"Top bar"}),i.jsxs("dd",{children:["The cross-cutting views on the left; on the right, ",i.jsx("strong",{children:"Refresh"})," (re-fetches everything the page shows), ",i.jsx("strong",{children:"Shortcuts"})," (the cheatsheet), and ",i.jsx("strong",{children:"Appearance"})," (theme and accessibility)."]}),i.jsx("dt",{children:"Navigation rail"}),i.jsx("dd",{children:"Every remaining destination, grouped by what it is for. The filter box narrows it as you type. Below the width where it becomes a drawer, it opens from the ☰ button."}),i.jsx("dt",{children:"Page body"}),i.jsx("dd",{children:"One page per destination. Each starts with its own title and, where it has one, a short description of what you are looking at."}),i.jsx("dt",{children:"Status footer"}),i.jsx("dd",{children:"Whether the dashboard is connected to the local server, and when it last received data. “Reconnecting” means the live stream dropped and is being retried — the pages keep the last data they had."})]})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Keyboard shortcuts"}),i.jsx("div",{className:"help-shortcuts",children:RT.map(e=>i.jsxs("div",{className:"shortcuts-group",children:[i.jsx("h3",{className:"shortcuts-group-title",children:e.group}),i.jsx("dl",{className:"shortcuts-list",children:e.items.map(t=>i.jsxs("div",{className:"shortcuts-row",children:[i.jsx("dt",{className:"shortcuts-keys",children:t.keys.map(n=>i.jsx("kbd",{className:"shortcuts-key",children:n},n))}),i.jsx("dd",{className:"shortcuts-description",children:t.description})]},t.description))})]},e.group))}),i.jsxs("p",{className:"help-note",children:["Shortcuts are ignored while you are typing, so ",i.jsx("kbd",{className:"shortcuts-key",children:"?"})," in a question stays a question mark. The ",i.jsx("kbd",{className:"shortcuts-key",children:"g"})," chords expire about a second and a half after the prefix, so a stray ",i.jsx("kbd",{className:"shortcuts-key",children:"g"})," cannot navigate somewhere later."]})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Appearance & accessibility"}),i.jsxs("p",{className:"help-body",children:[i.jsx("strong",{children:"Appearance"})," in the top bar offers ",ou.length," palettes in light and dark, plus a text size and an accessibility mode. Your choice is remembered in this browser only — nothing is sent anywhere."]}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"Palette"}),i.jsxs("dd",{children:[ou.map(e=>nh[e]).join(" · "),". The"," ",nh.contrast," palette is the one to pick when you need maximum legibility."]}),i.jsx("dt",{children:"Mode"}),i.jsxs("dd",{children:[Pp.map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" or "),". “Reset to system default” goes back to what your operating system asks for."]}),i.jsx("dt",{children:"Text size"}),i.jsx("dd",{children:"Scales the whole interface, not just the body text. Choosing a larger size turns accessibility mode on, because that is what defines it."}),i.jsx("dt",{children:"Accessibility mode"}),i.jsx("dd",{children:"Larger click targets, a thicker focus ring and no motion. Off by default so it never changes the look for anyone who does not need it."})]}),i.jsx("p",{className:"help-note",children:"Focus is always visible: every control draws a ring when reached by keyboard. Opportunistic hover-only effects are never the only cue for a state, and a selected state is carried by a filled shape plus weight rather than a faint tint."})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Where everything lives"}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"Top bar"}),i.jsx("dd",{className:"help-links",children:MT.map(e=>i.jsxs(tn,{to:e.path,children:[i.jsx("span",{"aria-hidden":"true",children:e.icon})," ",e.label]},e.path))})]}),vy.map(e=>i.jsxs("dl",{className:"help-anatomy help-group",children:[i.jsx("dt",{children:e.label}),i.jsx("dd",{className:"help-links",children:e.items.map(t=>i.jsxs(tn,{to:t.path,children:[i.jsx("span",{"aria-hidden":"true",children:t.icon})," ",t.label]},t.path))})]},e.label))]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"If something looks wrong"}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"A control is disabled"}),i.jsxs("dd",{children:["It needs an admin session. Sign in from ",i.jsx(tn,{to:"/admin",children:"Admin"}),"; the page will say which session it wants."]}),i.jsx("dt",{children:"A task failed"}),i.jsx("dd",{children:"Open it from the Command Console's History — the full output and the exit code are kept per run."}),i.jsx("dt",{children:"The footer says “Reconnecting”"}),i.jsx("dd",{children:"The live stream dropped. The dashboard retries on its own and keeps showing the last data it received; Refresh forces a fresh fetch."}),i.jsx("dt",{children:"A page is empty"}),i.jsxs("dd",{children:["Most pages report “no data yet” rather than a zero, because a zero and an absent source look identical. Check ",i.jsx(tn,{to:"/system",children:"System"})," for the health checks behind it."]})]})]})]})}const VN={planner:"📋","context-gatherer":"📂",writer:"✏️",reviewer:"👁️",tester:"🧪",debugger:"🐛",runner:"▶️",git:"🔀",package:"📦","github-release":"🏷️",security:"🔒",orchestrator:"🎯"},YN={planner:"var(--accent-blue)","context-gatherer":"var(--accent-cyan)",writer:"var(--accent-yellow)",reviewer:"var(--accent-purple)",tester:"var(--accent-green)",debugger:"var(--accent-red)",runner:"var(--accent-blue)",git:"var(--accent-yellow)",package:"var(--accent-yellow)","github-release":"var(--accent-green)",security:"var(--accent-red)",orchestrator:"var(--accent-yellow)"},Dg={planner:"Planner","context-gatherer":"Context",writer:"Writer",reviewer:"Reviewer",tester:"Tester",debugger:"Debugger",runner:"Runner",git:"Git",package:"Package","github-release":"Release",security:"Security",orchestrator:"Orchestrator"},XN={pending:{icon:"⏳",label:"Pending"},running:{icon:"▶️",label:"Running"},completed:{icon:"✅",label:"Done"},failed:{icon:"❌",label:"Failed"}},ise={pending:"var(--text-muted)",running:"var(--accent-blue)",completed:"var(--accent-green)",failed:"var(--accent-red)"};function sse(e){if(!e||e.nodes.length===0)return null;const t=e.nodes.map(s=>s.startedAt||0).filter(Boolean),n=e.nodes.map(s=>s.completedAt||0).filter(Boolean),r=t.length>0?Math.min(...t):Date.now(),a=n.length>0?Math.max(...n):Date.now();return{id:`live-${r}`,goal:e.pipeline||"Active execution",startedAt:r,endedAt:n.length>0?a:void 0,success:e.nodes.length>0&&e.nodes.every(s=>s.status==="completed"),totalDurationMs:Math.max(0,a-r),phases:e.nodes.map(s=>({id:s.id,agentType:s.agentType,status:s.status,description:s.description,complexity:s.complexity,summary:s.summary,startedAt:s.startedAt,completedAt:s.completedAt,durationMs:s.startedAt&&s.completedAt?s.completedAt-s.startedAt:void 0}))}}function ose(e,t){const n=[],r=new Set,a=sse(e);a&&(n.push(a),r.add(a.id));for(const s of(t==null?void 0:t.runs)||[])r.has(s.id)||(n.push(s),r.add(s.id));return n}function ni(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`}function QN(e){return e?new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit"}):""}function lse(e,t){if(e.length===0)return{laid:[],total:0};const n=e.length,r=e.map(d=>d.durationMs&&d.durationMs>0?d.durationMs:0),a=r.reduce((d,f)=>d+f,0),s=a>0?e.map((d,f)=>r[f]>0?r[f]:a/n):e.map(()=>1),o=s.reduce((d,f)=>d+f,0)||1;let l=0;const c=e.map((d,f)=>{const h=s[f]/o,p=l;return l+=h,{...d,start:p,width:h,dur:s[f]}}),u=t>0?t:o;return{laid:c,total:u}}function cse({runs:e,selectedRunId:t,onSelectRun:n,onScrub:r}){const[a,s]=b.useState(null),o=e.find(j=>j.id===(t??a))??e[0]??null,[l,c]=b.useState(0),[u,d]=b.useState(!1),f=b.useRef(null),h=b.useRef(!1),p=b.useRef(r);b.useEffect(()=>{p.current=r},[r]),b.useEffect(()=>{var j;!o&&e.length>0?s(e[0].id):o&&!e.some(_=>_.id===o.id)&&s(((j=e[0])==null?void 0:j.id)??null)},[e,o]);const{laid:m,total:g}=b.useMemo(()=>lse((o==null?void 0:o.phases)||[],(o==null?void 0:o.totalDurationMs)||0),[o]),y=g>0?Math.min(1,Math.max(0,l/g)):0,v=b.useMemo(()=>{if(g<=0)return null;const j=y*g;return m.find(_=>j>=_.start*g&&j<(_.start+_.width)*g)||null},[m,y,g]);b.useEffect(()=>{var j;(j=p.current)==null||j.call(p,(v==null?void 0:v.id)??null)},[v==null?void 0:v.id]),b.useEffect(()=>{if(!u)return;const j=setInterval(()=>{c(_=>_+g/2e3*50)},50);return()=>clearInterval(j)},[u,g]),b.useEffect(()=>{u&&g>0&&l>=g&&(d(!1),c(0))},[u,g,l]);const S=b.useCallback(j=>{const _=f.current;if(!_||g<=0)return;const O=_.getBoundingClientRect(),C=O.width||1,P=Math.min(1,Math.max(0,(j-O.left)/C));c(P*g)},[g]),w=j=>{h.current=!0,d(!1),S(j.clientX)};if(b.useEffect(()=>{const j=O=>{h.current&&S(O.clientX)},_=()=>{h.current=!1};return window.addEventListener("pointermove",j),window.addEventListener("pointerup",_),()=>{window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",_)}},[S]),!o)return i.jsx("div",{className:"phase-timeline phase-timeline-empty",children:i.jsx("p",{children:"No pipeline runs yet. Run an agent task to see its phase timeline here."})});const N=o.id.startsWith("live-"),k=o.phases.filter(j=>j.status==="completed").length,x=o.phases.filter(j=>j.status==="failed").length;return i.jsxs("div",{className:"phase-timeline",children:[i.jsxs("div",{className:"phase-timeline-header",children:[i.jsx("div",{className:"phase-timeline-runs",children:e.map(j=>i.jsxs("button",{className:`phase-run-chip ${j.id===o.id?"active":""} ${j.id.startsWith("live-")?"live":""}`,onClick:()=>{s(j.id),c(0),d(!1),n==null||n(j.id)},title:j.goal,children:[j.id.startsWith("live-")&&i.jsx("span",{className:"dag-live-dot"}),j.engine&&i.jsx("span",{className:`phase-run-chip-engine phase-run-chip-engine-${j.engine}`,children:j.engine==="loop"?"🔁":"⬡"}),j.goal.length>32?j.goal.slice(0,30)+"…":j.goal,i.jsx("span",{className:"phase-run-chip-time",children:QN(j.startedAt)})]},j.id))}),i.jsxs("div",{className:"phase-timeline-meta",children:[N&&i.jsx("span",{className:"dag-live-badge",children:"LIVE"}),o.engine&&i.jsx("span",{className:`dag-engine-badge dag-engine-${o.engine}`,title:o.engine==="loop"?"Loop turn (per-tool telemetry below)":"Orchestrator pipeline",children:o.engine==="loop"?"🔁 loop":"⬡ pipeline"}),i.jsxs("span",{className:"phase-meta-item",children:[o.phases.length," steps"]}),i.jsxs("span",{className:"phase-meta-item phase-meta-ok",children:["✅ ",k]}),x>0&&i.jsxs("span",{className:"phase-meta-item phase-meta-bad",children:["❌ ",x]}),o.turnTelemetry&&i.jsxs("span",{className:"phase-meta-item",title:`tool calls: ${o.turnTelemetry.toolCallCount}, errored: ${o.turnTelemetry.erroredToolCount}${o.turnTelemetry.bounded?", bounded":""}${o.turnTelemetry.provider?`, ${o.turnTelemetry.provider}${o.turnTelemetry.model?`/${o.turnTelemetry.model}`:""}`:""}`,children:["🔧 ",o.turnTelemetry.toolCallCount,o.turnTelemetry.erroredToolCount>0&&i.jsxs("span",{className:"phase-meta-bad",children:[" (",o.turnTelemetry.erroredToolCount," err)"]})]}),i.jsxs("span",{className:"phase-meta-item",children:["⏱ ",ni(g)]})]})]}),i.jsxs("div",{className:"phase-timeline-controls",children:[i.jsx("button",{className:`phase-play-btn ${u?"paused":""}`,onClick:()=>{u?d(!1):(l>=g&&c(0),d(!0))},"aria-label":u?"Pause scrub":"Play scrub",children:u?"⏸ Pause":"▶ Play"}),i.jsxs("span",{className:"phase-time-label",children:[ni(l)," / ",ni(g)]}),i.jsx("input",{className:"phase-range",type:"range",min:0,max:g||1,step:1,value:Math.min(l,g||1),onChange:j=>{d(!1),c(Number(j.target.value))},"aria-label":"Scrub pipeline timeline"})]}),i.jsxs("div",{className:"phase-track-wrap",children:[i.jsxs("div",{ref:f,className:"phase-track",onPointerDown:w,style:{cursor:"grab"},children:[m.map(j=>{const _=YN[j.agentType]||"var(--accent-blue)",O=ise[j.status],C=(v==null?void 0:v.id)===j.id;return i.jsxs("button",{className:`phase-block phase-block-${j.status} ${C?"active":""}`,style:{left:`${j.start*100}%`,width:`${Math.max(j.width*100,2)}%`,background:`linear-gradient(180deg, ${_}cc, ${_}66)`,boxShadow:C?`0 0 0 2px ${O}`:void 0},onClick:P=>{P.stopPropagation(),d(!1),c((j.start+j.width/2)*g)},title:`${Dg[j.agentType]||j.agentType}: ${j.description}`,children:[i.jsx("span",{className:"phase-block-icon",children:VN[j.agentType]||"⚙️"}),i.jsx("span",{className:"phase-block-label",children:Dg[j.agentType]||j.agentType})]},j.id)}),i.jsx("div",{className:"phase-caret",style:{left:`${y*100}%`},onPointerDown:j=>{j.stopPropagation(),w(j)},title:`${ni(l)} elapsed`})]}),i.jsxs("div",{className:"phase-ticks",children:[i.jsx("span",{children:"0"}),i.jsx("span",{children:ni(Math.round(g/2))}),i.jsx("span",{children:ni(g)})]})]}),i.jsx("div",{className:"phase-detail",children:v?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"phase-detail-title",children:[i.jsx("span",{className:"phase-detail-icon",children:VN[v.agentType]||"⚙️"}),i.jsx("span",{className:"phase-detail-agent",style:{color:YN[v.agentType]||"var(--accent-blue)"},children:Dg[v.agentType]||v.agentType}),i.jsxs("span",{className:`phase-status-badge phase-status-${v.status}`,children:[XN[v.status].icon," ",XN[v.status].label]})]}),i.jsx("p",{className:"phase-detail-desc",children:v.description}),i.jsxs("div",{className:"phase-detail-meta",children:[i.jsxs("span",{children:["⏱ ",v.durationMs?ni(v.dur):`~${ni(v.dur)}`]}),v.startedAt?i.jsxs("span",{children:["🕐 ",QN(v.startedAt)]}):null,v.complexity?i.jsxs("span",{children:["🎯 ",v.complexity]}):null]}),v.summary&&i.jsx("p",{className:"phase-detail-summary",children:v.summary})]}):i.jsxs("div",{className:"phase-detail-gap",children:[i.jsx("span",{className:"phase-detail-icon",children:"⏳"}),i.jsx("span",{children:"Between steps — waiting for the next agent."})]})})]})}function Bg(e){return e===void 0?"—":`$${e.toFixed(5)}`}function ZN(e){if(e===void 0||!Number.isFinite(e)||e<0)return"—";if(e<1e3)return`${Math.round(e)}ms`;const t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;const n=Math.floor(t/60);return n<60?`${n}m ${String(Math.round(t%60)).padStart(2,"0")}s`:`${Math.floor(n/60)}h ${String(n%60).padStart(2,"0")}m`}function zg(e){return e===void 0?"—":e.toLocaleString("en-US")}function use({jobs:e}){const t=b.useMemo(()=>e.filter(u=>u.batchStats.length>0),[e]),[n,r]=b.useState(null);if(t.length===0)return null;const a=t.find(u=>u.id===n)??t[0],s=a.batchStats,o=s.filter(u=>u.durationMs!==void 0),l=o.reduce((u,d)=>u+(d.durationMs??0),0),c=o.length>0?l/o.length:void 0;return i.jsxs("div",{className:"dag-timeline-section","data-testid":"batch-economy",children:[i.jsxs("h2",{className:"section-subtitle",children:["📊 Per-batch cost & latency"," ",i.jsx("span",{className:"timeline-subtitle",children:"— measured, not estimated"})]}),t.length>1&&i.jsx("div",{className:"dag-loop-turn-meta",style:{marginBottom:8},children:t.slice(0,5).map(u=>i.jsx("button",{type:"button",className:"dag-loop-turn-chip",onClick:()=>r(u.id),style:{cursor:"pointer",opacity:u.id===a.id?1:.55,fontWeight:u.id===a.id?600:400},children:u.progressLine??u.goal.slice(0,40)},u.id))}),i.jsxs("div",{className:"dag-loop-turn-meta",style:{marginBottom:8},children:[i.jsxs("span",{className:"dag-loop-turn-chip",children:[a.kind==="long-form"?"📖":"🛠️"," ",a.status]}),i.jsxs("span",{className:"dag-loop-turn-chip",children:[a.progress,"% done"]}),i.jsxs("span",{className:"dag-loop-turn-chip",children:[a.batches," batch",a.batches===1?"":"es"]}),i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:[zg(a.tokens)," tokens · ",Bg(a.costUsd)]}),a.stopReason&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:["stopped: ",a.stopReason]})]}),i.jsx("div",{className:"dag-table-wrapper",children:i.jsxs("table",{className:"dag-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Batch"}),i.jsx("th",{children:"Done"}),i.jsx("th",{children:"Tokens"}),i.jsx("th",{children:"Cost"}),i.jsx("th",{children:"Time"})]})}),i.jsxs("tbody",{children:[s.map(u=>i.jsxs("tr",{children:[i.jsx("td",{children:u.index}),i.jsx("td",{children:`${Math.round(u.progress)}%`}),i.jsx("td",{children:zg(u.tokens)}),i.jsx("td",{children:Bg(u.costUsd)}),i.jsx("td",{children:ZN(u.durationMs)})]},u.index)),s.some(u=>u.error)&&i.jsx("tr",{children:i.jsxs("td",{colSpan:5,style:{opacity:.75},children:["✗ failures:"," ",s.filter(u=>u.error).map(u=>`#${u.index} ${u.error}`).join(" · ")]})}),i.jsxs("tr",{children:[i.jsx("td",{children:i.jsx("strong",{children:"total"})}),i.jsx("td",{children:i.jsx("strong",{children:`${a.progress}%`})}),i.jsx("td",{children:i.jsx("strong",{children:zg(a.tokens)})}),i.jsx("td",{children:i.jsx("strong",{children:Bg(a.costUsd)})}),i.jsx("td",{children:i.jsx("strong",{children:c===void 0?"—":`~${ZN(c)} avg`})})]})]})]})})]})}const JN={planner:"📋","context-gatherer":"📂",writer:"✏️",reviewer:"👁️",tester:"🧪",debugger:"🐛",runner:"▶️",git:"🔀",package:"📦","github-release":"🏷️",security:"🔒",orchestrator:"🎯"},Fg={planner:"var(--accent-blue)","context-gatherer":"var(--accent-cyan)",writer:"var(--accent-yellow)",reviewer:"var(--accent-purple)",tester:"var(--accent-green)",debugger:"var(--accent-red)",runner:"var(--accent-blue)",git:"var(--accent-yellow)",package:"var(--accent-yellow)","github-release":"var(--accent-green)",security:"var(--accent-red)",orchestrator:"var(--accent-yellow)"},dse={pending:{bg:"var(--bg-card)",stroke:"var(--border)",text:"var(--text-muted)"},running:{bg:"color-mix(in srgb, var(--accent-blue) 12%, transparent)",stroke:"var(--accent-blue)",text:"var(--accent-blue)"},completed:{bg:"color-mix(in srgb, var(--accent-green) 12%, transparent)",stroke:"var(--accent-green)",text:"var(--accent-green)"},failed:{bg:"color-mix(in srgb, var(--accent-red) 12%, transparent)",stroke:"var(--accent-red)",text:"var(--accent-red)"}},eE={pending:"⏳ Pending",running:"▶️ Running",completed:"✅ Done",failed:"❌ Failed"},io={trivial:{icon:"🟢",color:"var(--accent-green)"},simple:{icon:"🔵",color:"var(--accent-blue)"},moderate:{icon:"🟡",color:"var(--accent-yellow)"},complex:{icon:"🟠",color:"var(--accent-yellow)"},critical:{icon:"🔴",color:"var(--accent-red)"}},Ug={planner:"Planner","context-gatherer":"Context",writer:"Writer",reviewer:"Reviewer",tester:"Tester",debugger:"Debugger",runner:"Runner",git:"Git",package:"Package","github-release":"Release",security:"Security",orchestrator:"Orchestrator"};function fse(e,t,n=160,r=68,a=40,s=24,o=40){if(e.length===0)return{layoutNodes:[],svgW:400,svgH:200};const l=new Map,c=new Set;function u(y){if(l.has(y))return l.get(y);if(c.has(y))return 0;c.add(y);const v=t.filter(N=>N.to===y);if(v.length===0)return l.set(y,0),0;const w=Math.max(...v.map(N=>u(N.from)))+1;return l.set(y,w),w}for(const y of e)u(y.id);const d=new Map;for(const y of e){const v=l.get(y.id)??0;d.has(v)||d.set(v,[]),d.get(v).push(y)}const f=Math.max(...d.keys()),h=Math.max(...Array.from(d.values()).map(y=>y.length)),p=(f+1)*(n+a)+o*2-a,m=Math.max(h,1)*(r+s)+o*2-s,g=[];for(const y of e){const v=l.get(y.id)??0,S=d.get(v),w=S.indexOf(y),N=S.length,k=N*(r+s)-s,x=m/2-k/2;g.push({...y,x:o+v*(n+a),y:x+w*(r+s),w:n,h:r,step:v,totalInStep:N,indexInStep:w})}return{layoutNodes:g,svgW:p,svgH:m}}function Wg(e,t){if(!e)return"--";const n=(t||Date.now())-e;return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`}function tE(e){return e?new Date(e).toLocaleTimeString("en-US",{minute:"2-digit",second:"2-digit"}):""}function hse({memoryTotal:e}){return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🔀",title:"Agent Execution DAG"}),i.jsx("p",{className:"section-description",children:"Live visualization of the agent execution pipeline. When an agent task runs, you'll see each step appear here in real time as it moves through planning → context gathering → writing → review → testing."}),i.jsxs("div",{className:"dag-empty",children:[i.jsx("div",{className:"dag-empty-icon",children:"🔀"}),i.jsx("h2",{children:"No Active Pipeline"}),i.jsx("p",{children:"Run an agent task to see the execution pipeline appear here in real time."}),e!==void 0&&e>0&&i.jsxs("p",{className:"dag-empty-hint",children:[i.jsx("code",{children:e})," past executions are stored in memory."]})]})]})}function pse({data:e}){var T,Z;const t=e==null?void 0:e.dag,n=(T=e==null?void 0:e.memory)==null?void 0:T.total,[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(void 0),[u,d]=b.useState(void 0),[f,h]=b.useState(void 0);b.useEffect(()=>K.onDAGEvent($=>{a($),c($.engine),d($.engineExplanation),h($.loopTurn)}),[]);const p=t||r,m=r?l:(t==null?void 0:t.engine)??l,g=r?u:(t==null?void 0:t.engineExplanation)??u,y=r?f:(t==null?void 0:t.loopTurn)??f,v=b.useMemo(()=>ose(p,e==null?void 0:e.pipelineRuns),[p,e==null?void 0:e.pipelineRuns]),S=U=>{o(U)},w=!!(p&&(p.nodes.length>0||p.active)),N=v.length>0,k=!!y,x=((Z=e==null?void 0:e.unattendedJobs)==null?void 0:Z.jobs)??[],j=x.some(U=>U.batchStats.length>0);if(!w&&!N&&!k&&!j)return i.jsx(hse,{memoryTotal:n});const{nodes:_,edges:O,pipeline:C,active:P}=p??{nodes:[],edges:[],pipeline:null,active:!1},{layoutNodes:A,svgW:B,svgH:I}=fse(_,O),M=_.filter(U=>U.status==="running").length,D=_.filter(U=>U.status==="completed").length,W=_.filter(U=>U.status==="failed").length,R=_.filter(U=>U.status==="pending").length,z=_.length;return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🔀",title:"Agent Execution DAG"}),N&&i.jsxs("div",{className:"dag-timeline-section",children:[i.jsxs("h2",{className:"section-subtitle",children:["⏱ Run Timeline ",i.jsx("span",{className:"timeline-subtitle",children:"— scrub to replay · click a run to switch"})]}),i.jsx(cse,{runs:v,onScrub:S})]}),i.jsx(use,{jobs:x}),y&&i.jsxs("div",{className:"dag-loop-turn-card","data-testid":"dag-loop-turn-card",children:[i.jsxs("div",{className:"dag-loop-turn-header",children:[i.jsx("span",{className:"dag-loop-turn-icon",children:"🔁"}),i.jsxs("span",{className:"dag-loop-turn-title",children:["Loop turn — ",y.title||"chat turn"]}),y.active&&i.jsx("span",{className:"dag-loop-turn-live",children:"● recording"})]}),i.jsxs("div",{className:"dag-loop-turn-meta",children:[i.jsxs("span",{className:"dag-loop-turn-chip",children:["🔧 ",y.toolCallCount," tool call",y.toolCallCount===1?"":"s"]}),y.erroredToolCount>0&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-error",children:["❌ ",y.erroredToolCount," errored"]}),y.provider&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:[y.provider,y.model?` · ${y.model}`:""]}),typeof y.startedAt=="number"&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:["⏱ ",Wg(y.startedAt,y.endedAt)]}),y.bounded&&i.jsx("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-error",children:"⛔ bounded"}),y.generationFailed&&i.jsx("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-error",children:"💀 generation failed"}),y.cancelled&&i.jsx("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:"✖ cancelled"})]}),y.toolCalls.length>0&&i.jsx("div",{className:"dag-loop-turn-tools",children:y.toolCalls.slice(-12).map((U,$)=>i.jsxs("span",{className:`dag-loop-tool ${U.ok===!1?"dag-loop-tool-error":""}`,title:U.error||`${U.tool}${U.durationMs!==void 0?` · ${U.durationMs}ms`:""}`,children:[U.ok===!1?"❌":"✓"," ",U.tool]},`${U.tool}-${$}`))})]}),w&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:`dag-status-bar ${P?"active":""}`,children:[i.jsxs("div",{className:"dag-pipeline-name",children:[P&&i.jsx("span",{className:"dag-live-dot"}),C||"Execution Pipeline"]}),i.jsxs("div",{className:"dag-pipeline-meta",children:[P&&i.jsx("span",{className:"dag-live-badge",children:"LIVE"}),m&&i.jsx("span",{className:`dag-engine-badge dag-engine-${m}`,title:g||(m==="loop"?"Single agentic loop":"Orchestrator pipeline"),"data-testid":"dag-engine-badge",children:m==="loop"?"🔁 loop engine":"⬡ pipeline engine"}),i.jsxs("span",{className:"dag-step-count",children:[z," steps"]}),M>0&&i.jsxs("span",{className:"dag-running-badge",children:["▶ ",M," running"]}),R>0&&i.jsxs("span",{className:"dag-pending-badge",children:["⏳ ",R," pending"]}),i.jsxs("span",{className:"dag-completed-badge",children:["✅ ",D," done"]}),W>0&&i.jsxs("span",{className:"dag-failed-badge",children:["❌ ",W," failed"]})]})]}),i.jsx("div",{className:"dag-container",children:i.jsxs("svg",{width:B,height:I,viewBox:`0 0 ${B} ${I}`,children:[i.jsxs("defs",{children:[O.map(U=>i.jsx("marker",{id:`arrow-${U.from}-${U.to}`,markerWidth:"8",markerHeight:"6",refX:"8",refY:"3",orient:"auto",children:i.jsx("polygon",{points:"0 0, 8 3, 0 6",style:{fill:"var(--accent-blue)"}})},`arrow-${U.from}-${U.to}`)),i.jsxs("filter",{id:"glow",children:[i.jsx("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"}),i.jsxs("feMerge",{children:[i.jsx("feMergeNode",{in:"coloredBlur"}),i.jsx("feMergeNode",{in:"SourceGraphic"})]})]})]}),O.map(U=>{const $=A.find(H=>H.id===U.from),ie=A.find(H=>H.id===U.to);if(!$||!ie)return null;const de=$.x+$.w,ve=$.y+$.h/2,Ee=ie.x,J=ie.y+ie.h/2,Y=(de+Ee)/2,ae=ie.status,ce=ae==="failed"?"var(--accent-red)":ae==="running"?"var(--accent-blue)":ae==="completed"?"var(--accent-green)":"var(--border)";return i.jsx("g",{children:i.jsx("path",{d:`M ${de} ${ve} C ${Y} ${ve}, ${Y} ${J}, ${Ee} ${J}`,fill:"none",style:{stroke:ce},strokeWidth:ae==="pending"?1.5:2.5,strokeOpacity:ae==="pending"?.3:.8,markerEnd:`url(#arrow-${U.from}-${U.to})`,className:"dag-edge"})},`edge-${U.from}-${U.to}`)}),A.map(U=>{const $=dse[U.status];Fg[U.agentType];const ie=JN[U.agentType]||"⚙️",de=Ug[U.agentType]||U.agentType,ve=s===U.id,Ee=U.status==="running";return i.jsxs("g",{onClick:()=>o(ve?null:U.id),style:{cursor:"pointer"},className:"dag-node-group",children:[ve&&i.jsx("rect",{x:U.x-4,y:U.y-4,width:U.w+8,height:U.h+8,rx:10,ry:10,fill:"none",style:{stroke:"var(--accent-blue)"},strokeWidth:2,strokeOpacity:.5}),i.jsx("rect",{x:U.x,y:U.y,width:U.w,height:U.h,rx:8,ry:8,style:{fill:$.bg,stroke:$.stroke},strokeWidth:Ee?2.5:1.5,strokeOpacity:.9,className:Ee?"dag-node-running":"",filter:Ee?"url(#glow)":void 0}),i.jsxs("text",{x:U.x+10,y:U.y+22,style:{fill:"var(--text-primary)"},fontSize:10,fontWeight:600,children:[ie," ",de]}),i.jsx("text",{x:U.x+U.w-10,y:U.y+22,textAnchor:"end",style:{fill:$.text},fontSize:9,fontWeight:500,children:eE[U.status]}),i.jsx("text",{x:U.x+10,y:U.y+40,style:{fill:"var(--text-secondary)"},fontSize:9,children:U.description.length>28?U.description.slice(0,26)+"..":U.description}),U.complexity&&io[U.complexity]&&i.jsxs("text",{x:U.x+10,y:U.y+54,style:{fill:io[U.complexity].color},fontSize:8,fontWeight:600,children:[io[U.complexity].icon," ",U.complexity]}),i.jsx("text",{x:U.x+10,y:U.y+56,style:{fill:"var(--text-muted)"},fontSize:8,children:Wg(U.startedAt,U.completedAt)}),i.jsx("text",{x:U.x+U.w-10,y:U.y+56,textAnchor:"end",style:{fill:"var(--text-muted)"},fontSize:8,children:tE(U.startedAt||U.completedAt)}),(U.status==="failed"||ve)&&U.summary&&i.jsx("foreignObject",{x:Math.max(10,U.x-80),y:U.y+U.h+6,width:U.w+160,height:36,children:i.jsx("div",{className:"dag-node-summary",style:{color:U.status==="failed"?"var(--accent-red)":"var(--text-secondary)",fontSize:"10px",lineHeight:1.4,background:"var(--scrim)",padding:"4px 8px",borderRadius:"4px",border:`1px solid ${U.status==="failed"?"color-mix(in srgb, var(--accent-red) 30%, transparent)":"color-mix(in srgb, var(--border) 50%, transparent)"}`,maxHeight:"32px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:U.summary})})]},`node-${U.id}`)})]})}),i.jsx("h2",{className:"section-subtitle",children:"Step Details"}),i.jsx("div",{className:"dag-table-wrapper",children:i.jsxs("table",{className:"dag-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Step"}),i.jsx("th",{children:"Agent"}),i.jsx("th",{children:"Complexity"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Duration"}),i.jsx("th",{children:"Time"}),i.jsx("th",{children:"Summary"})]})}),i.jsx("tbody",{children:A.map(U=>i.jsxs("tr",{className:`dag-row dag-row-${U.status}`,children:[i.jsx("td",{className:"dag-cell-step",children:U.step}),i.jsxs("td",{className:"dag-cell-agent",children:[i.jsx("span",{className:"dag-agent-dot",style:{background:Fg[U.agentType]||"var(--accent-blue)"}}),Ug[U.agentType]||U.agentType]}),i.jsx("td",{className:"dag-cell-complexity",children:U.complexity&&io[U.complexity]?i.jsxs("span",{style:{color:io[U.complexity].color,fontSize:12},children:[io[U.complexity].icon," ",U.complexity]}):i.jsx("span",{style:{color:"var(--text-muted)",fontSize:12},children:"—"})}),i.jsx("td",{className:`dag-cell-status dag-status-${U.status}`,children:eE[U.status]}),i.jsx("td",{className:"dag-cell-duration",children:Wg(U.startedAt,U.completedAt)}),i.jsx("td",{className:"dag-cell-time",children:tE(U.startedAt||U.completedAt)}),i.jsx("td",{className:"dag-cell-summary",children:U.summary||U.description||"--"})]},U.id))})]})}),i.jsx("h2",{className:"section-subtitle",children:"Agent Types"}),i.jsxs("div",{className:"dag-legend",children:[Object.entries(JN).map(([U,$])=>i.jsxs("div",{className:"legend-item",children:[i.jsx("span",{className:"legend-dot",style:{background:Fg[U]||"var(--accent-blue)"}}),i.jsx("span",{className:"legend-icon",children:$}),i.jsx("span",{className:"legend-label",children:Ug[U]||U})]},U)),i.jsxs("div",{className:"legend-item",children:[i.jsx("span",{className:"legend-dot",style:{background:"transparent",border:"2px dashed var(--accent-blue)"}}),i.jsx("span",{className:"legend-icon",children:"⚡"}),i.jsx("span",{className:"legend-label",children:"Live node"})]})]})]})]})}function ri(e){return e==null||e<1e-5?"$0.00":e<.01?"$"+e.toFixed(6):"$"+e.toFixed(4)}function so(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function mse(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function gse({data:e}){if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💰",title:"Cost Tracking"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading cost data..."})})]});const{cost:t}=e,n=Object.entries(t.byProvider||{}).sort(([,s],[,o])=>o-s),r=Object.entries(t.byModel||{}).sort(([,s],[,o])=>o-s).slice(0,10),a=n.reduce((s,[,o])=>s+o,0);return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💰",title:"Cost Tracking"}),i.jsxs("div",{className:"cost-summary",children:[i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"Total Spent"}),i.jsx("span",{className:"cost-amount",children:ri(t.totalCost)})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"Total Tokens"}),i.jsx("span",{className:"cost-amount",children:so(t.totalTokens)})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"Total Requests"}),i.jsx("span",{className:"cost-amount",children:so(t.totalRequests)})]})]}),i.jsxs("div",{className:"cost-summary cost-summary-sub",children:[i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"📏 Measured (exact wire tokens)"}),i.jsx("span",{className:"cost-amount",children:ri(t.measuredCost)}),i.jsxs("span",{className:"cost-label",children:[so(t.measuredCalls)," calls"]})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"📐 Estimated (length-based)"}),i.jsx("span",{className:"cost-amount",children:ri(t.estimatedCost)}),i.jsxs("span",{className:"cost-label",children:[so(t.estimatedCalls)," calls"]})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"🧾 of which provider-reported (exact billed)"}),i.jsx("span",{className:"cost-amount",children:ri(t.reportedCost)}),i.jsxs("span",{className:"cost-label",children:[so(t.reportedCalls)," calls"]})]})]}),i.jsx("h2",{className:"section-subtitle",children:"By Provider"}),i.jsx("div",{className:"cost-list",children:n.length===0?i.jsx("div",{className:"empty-state",children:"No costs recorded yet."}):n.map(([s,o])=>{var u;const l=a>0?(o/a*100).toFixed(1):"0",c=(u=t.byProviderReported)==null?void 0:u[s];return i.jsxs("div",{className:"cost-row",children:[i.jsx("span",{className:"cost-row-name",children:s}),i.jsx("div",{className:"cost-row-bar",children:i.jsx("div",{className:"cost-row-fill",style:{width:`${l}%`}})}),i.jsx("span",{className:"cost-row-value",children:ri(o)}),typeof c=="number"&&i.jsxs("span",{className:"cost-row-reported",title:"Provider-reported (exact billed) cost",children:["🧾 ",ri(c)]})]},s)})}),i.jsx("h2",{className:"section-subtitle",children:"By Model"}),i.jsx("div",{className:"cost-list",children:r.length===0?i.jsx("div",{className:"empty-state",children:"No model costs recorded yet."}):r.map(([s,o])=>{const l=a>0?(o/a*100).toFixed(1):"0",c=s.length>30?s.slice(0,28)+"..":s;return i.jsxs("div",{className:"cost-row",children:[i.jsx("span",{className:"cost-row-name",children:c}),i.jsx("div",{className:"cost-row-bar",children:i.jsx("div",{className:"cost-row-fill",style:{width:`${l}%`}})}),i.jsx("span",{className:"cost-row-value",children:ri(o)})]},s)})}),i.jsx("h2",{className:"section-subtitle",children:"Recent Requests"}),i.jsx("div",{className:"request-list",children:!t.recent||t.recent.length===0?i.jsx("div",{className:"empty-state",children:"No requests recorded yet."}):t.recent.slice(0,30).map((s,o)=>i.jsxs("div",{className:"request-row",children:[i.jsx("span",{className:"request-time",children:mse(s.timestamp)}),i.jsx("span",{className:"request-provider",children:s.provider||"--"}),i.jsx("span",{className:"request-model",children:s.model||"--"}),i.jsxs("span",{className:"request-cost",children:[s.reported?"🧾 ":"",ri(s.costUsd)]}),i.jsxs("span",{className:"request-tokens",children:[so(s.totalTokens)," tok"]})]},o))})]})}function vse(e){return e==null?"$0.00":"$"+e.toFixed(6)}function Jd(e){return e==null?"0%":(e*100).toFixed(1)+"%"}function yse({data:e}){if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📈",title:"Benchmark Results"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading benchmark data..."})})]});const{benchmarks:t,evals:n}=e,r=t.latest,a=t.runs||[],s=(n==null?void 0:n.runs)||[],o=(n==null?void 0:n.latest)||null,l=s.map(u=>({name:u.model.length>12?u.model.slice(0,10)+"..":u.model,score:Math.round(u.summary.avgCompositeScore*100),completion:Math.round(u.summary.completionRate*100),tests:Math.round(u.summary.testPassRate*100),recovery:Math.round(u.summary.recoveryRate*100),efficiency:Math.round(u.summary.avgTokenEfficiency*100),fullModel:u.model,provider:u.provider})).reverse(),c=a.map(u=>({name:u.model.length>12?u.model.slice(0,10)+"..":u.model,passRate:u.summary.totalTasks>0?Math.round(u.summary.tasksPassed/u.summary.totalTasks*100):0,quality:Math.round(u.summary.avgQualityScore*100),latency:u.summary.medianLatencyMs,cost:u.summary.totalCostUsd,fullModel:u.model,provider:u.provider})).reverse();return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📈",title:"Benchmark Results"}),i.jsx("div",{className:"benchmark-latest",children:r?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"benchmark-header",children:[i.jsx("strong",{children:"Latest Run:"})," ",r.provider,"/",r.model]}),i.jsxs("div",{className:"benchmark-stats",children:[i.jsxs("div",{className:"benchmark-stat pass",children:[i.jsxs("div",{className:"benchmark-stat-value",children:[r.summary.tasksPassed,"/",r.summary.totalTasks]}),i.jsx("div",{className:"benchmark-stat-label",children:"Passed"})]}),i.jsxs("div",{className:"benchmark-stat quality",children:[i.jsx("div",{className:"benchmark-stat-value",children:Jd(r.summary.avgQualityScore)}),i.jsx("div",{className:"benchmark-stat-label",children:"Quality"})]}),i.jsxs("div",{className:"benchmark-stat latency",children:[i.jsxs("div",{className:"benchmark-stat-value",children:[r.summary.medianLatencyMs,"ms"]}),i.jsx("div",{className:"benchmark-stat-label",children:"Latency"})]}),i.jsxs("div",{className:"benchmark-stat fail",children:[i.jsx("div",{className:"benchmark-stat-value",children:vse(r.summary.totalCostUsd)}),i.jsx("div",{className:"benchmark-stat-label",children:"Cost"})]})]})]}):i.jsxs("div",{className:"empty-state",children:["No benchmark runs yet. Run ",i.jsx("code",{children:"buff benchmark"})," to start."]})}),c.length>1&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Pass Rate by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"%","Pass Rate"]}),i.jsx(gn,{dataKey:"passRate",radius:[4,4,0,0],children:c.map((u,d)=>i.jsx(hu,{fillOpacity:.8,style:{fill:u.passRate>=80?"var(--accent-green)":u.passRate>=50?"var(--accent-yellow)":"var(--accent-red)"}},d))})]})})}),i.jsx("h2",{className:"section-subtitle",children:"Latency by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{tick:{fontSize:11},tickFormatter:u=>u+"ms"}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"ms","Latency"]}),i.jsx(gn,{dataKey:"latency",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-yellow)",style:{fill:"var(--accent-yellow)"}})]})})}),i.jsx("h2",{className:"section-subtitle",children:"Cost by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{tick:{fontSize:11},tickFormatter:u=>"$"+u.toFixed(6)}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>["$"+u.toFixed(6),"Cost"]}),i.jsx(gn,{dataKey:"cost",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-purple)",style:{fill:"var(--accent-purple)"}})]})})})]}),i.jsx("h2",{className:"section-subtitle",children:"🎯 Agent Evaluation"}),i.jsx("p",{className:"section-hint",style:{color:"var(--text-secondary)",fontSize:12,marginBottom:16},children:"End-to-end coding tasks run through the full agent pipeline — measures if the agent is actually improving."}),i.jsx("div",{className:"benchmark-latest",children:o?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"benchmark-header",children:[i.jsx("strong",{children:"Latest Eval Run:"})," ",o.provider,"/",o.model]}),i.jsxs("div",{className:"benchmark-stats",children:[i.jsxs("div",{className:"benchmark-stat pass",children:[i.jsxs("div",{className:"benchmark-stat-value",children:[o.summary.tasksPassed,"/",o.summary.totalTasks]}),i.jsx("div",{className:"benchmark-stat-label",children:"Tests Passed"})]}),i.jsxs("div",{className:"benchmark-stat quality",children:[i.jsx("div",{className:"benchmark-stat-value",children:Jd(o.summary.avgCompositeScore)}),i.jsx("div",{className:"benchmark-stat-label",children:"Composite Score"})]}),i.jsxs("div",{className:"benchmark-stat latency",children:[i.jsx("div",{className:"benchmark-stat-value",children:Jd(o.summary.recoveryRate)}),i.jsx("div",{className:"benchmark-stat-label",children:"Recovery Rate"})]}),i.jsxs("div",{className:"benchmark-stat fail",children:[i.jsx("div",{className:"benchmark-stat-value",children:o.summary.totalRollbacks}),i.jsx("div",{className:"benchmark-stat-label",children:"Rollbacks"})]}),i.jsxs("div",{className:"benchmark-stat deps",children:[i.jsx("div",{className:"benchmark-stat-value",children:Jd(o.summary.dependencyInstallRate)}),i.jsx("div",{className:"benchmark-stat-label",children:"Deps Installed"})]})]})]}):i.jsxs("div",{className:"empty-state",children:["No eval runs yet. Run ",i.jsx("code",{children:"buff eval run"})," to measure the agent end-to-end."]})}),l.length>1&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Composite Score by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:l,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"%","Composite Score"]}),i.jsx(gn,{dataKey:"score",radius:[4,4,0,0],children:l.map((u,d)=>i.jsx(hu,{fillOpacity:.8,style:{fill:u.score>=80?"var(--accent-green)":u.score>=50?"var(--accent-yellow)":"var(--accent-red)"}},d))})]})})}),i.jsx("h2",{className:"section-subtitle",children:"Metric Breakdown (completion / tests / recovery / token efficiency)"}),i.jsx("div",{className:"chart-container",children:i.jsx(ls,{width:"100%",height:260,children:i.jsxs(cs,{data:l,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(di,{strokeDasharray:"3 3"}),i.jsx(ta,{dataKey:"name",tick:{fontSize:11}}),i.jsx(na,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(vn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"}}),i.jsx(ws,{}),i.jsx(gn,{dataKey:"completion",name:"Completion",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-green)",style:{fill:"var(--accent-green)"}}),i.jsx(gn,{dataKey:"tests",name:"Tests",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-blue)",style:{fill:"var(--accent-blue)"}}),i.jsx(gn,{dataKey:"recovery",name:"Recovery",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-yellow)",style:{fill:"var(--accent-yellow)"}}),i.jsx(gn,{dataKey:"efficiency",name:"Token Eff.",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-purple)",style:{fill:"var(--accent-purple)"}})]})})})]}),i.jsx("h2",{className:"section-subtitle",children:"Eval Run History"}),i.jsx("div",{className:"benchmark-list",children:s.length===0?i.jsxs("div",{className:"empty-state",children:["No eval runs yet. Run ",i.jsx("code",{children:"buff eval run"})," to start."]}):s.map(u=>{const d=Math.round(u.summary.avgCompositeScore*100),f=d>=80?"high":d>=50?"medium":"low";return i.jsxs("div",{className:"benchmark-item",children:[i.jsx("span",{className:"benchmark-date",children:new Date(u.startedAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}),i.jsxs("span",{className:"benchmark-model",children:[u.provider,"/",u.model]}),i.jsxs("span",{className:`benchmark-score ${f}`,children:[d,"%"]})]},u.id)})}),i.jsx("h2",{className:"section-subtitle",children:"Run History"}),i.jsx("div",{className:"benchmark-list",children:a.length===0?i.jsxs("div",{className:"empty-state",children:["No benchmark runs yet. Run ",i.jsx("code",{children:"buff benchmark"})," to start."]}):a.map(u=>{const d=u.summary.totalTasks>0?Math.round(u.summary.tasksPassed/u.summary.totalTasks*100):0,f=d>=80?"high":d>=50?"medium":"low";return i.jsxs("div",{className:"benchmark-item",children:[i.jsx("span",{className:"benchmark-date",children:new Date(u.startedAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}),i.jsxs("span",{className:"benchmark-model",children:[u.provider,"/",u.model]}),i.jsxs("span",{className:`benchmark-score ${f}`,children:[d,"%"]})]},u.id)})})]})}const bse={pass:"✅",warn:"⚠️",fail:"❌"},xse={pass:"PASS",warn:"WARN",fail:"FAIL"};function iM(e){const t={pass:0,warn:0,fail:0};for(const n of e)t[n.status]!==void 0&&(t[n.status]+=1);return t}function sM(e){const t=[];return e.fail>0&&t.push(`${e.fail} failing`),e.warn>0&&t.push(`${e.warn} warning${e.warn===1?"":"s"}`),e.pass>0&&t.push(`${e.pass} passing`),t.length>0?t.join(" · "):"no checks"}function Ub({check:e}){return i.jsxs("div",{className:"admin-check-row","data-status":e.status,"data-testid":`check-${e.name}`,children:[i.jsxs("span",{className:`admin-check-badge admin-check-${e.status}`,children:[bse[e.status]," ",xse[e.status]]}),i.jsxs("div",{className:"admin-check-body",children:[i.jsx("div",{className:"admin-check-name",children:e.name}),i.jsx("div",{className:"admin-check-message",children:e.message}),e.detail?i.jsx("div",{className:"admin-check-detail",children:e.detail}):null,e.fix?i.jsxs("div",{className:"admin-check-fix",children:["💡 ",e.fix]}):null]})]})}function nE(e){return`${(e*100).toFixed(1)}%`}function wse(e){return e>=.9?"ok":e>=.7?"warn":"danger"}function pc(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function kse(e){if(!e)return"never";const t=Math.floor((Date.now()-e)/1e3);if(t<60)return`${t}s ago`;const n=Math.floor(t/60);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ${n%60}m ago`:`${Math.floor(r/24)}d ago`}function rE({title:e,blurb:t,checks:n,testId:r}){const a=iM(n);return i.jsxs("section",{style:{marginBottom:18},"data-testid":r,children:[i.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[i.jsx("h2",{className:"section-subtitle",style:{margin:0},children:e}),i.jsx("span",{style:{fontSize:12,color:a.fail>0?"var(--accent-red)":a.warn>0?"var(--accent-yellow)":"var(--accent-green)"},"data-testid":`${r}-summary`,children:sM(a)})]}),i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",margin:"4px 0 10px"},children:t}),i.jsx("div",{className:"admin-check-list",children:n.length>0?n.map(s=>i.jsx(Ub,{check:s},s.name)):i.jsxs("div",{className:"empty-state",children:["No ",e.toLowerCase()," checks returned."]})})]})}function Sse({data:e,connected:t,lastUpdated:n}){const[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(!1),u=b.useCallback(async()=>{c(!0),o(null);const v=await K.fetchAdminChecks();v?a(v):o("Could not reach the dashboard server, or it is older than this page. Run `nuvira dashboard` to start it."),c(!1)},[]);b.useEffect(()=>{u()},[u]);const d=e==null?void 0:e.health,f=(d==null?void 0:d.agentStats)??null,h=[...(r==null?void 0:r.system)??[],...(r==null?void 0:r.enterprise)??[]],p=iM(h),m=((r==null?void 0:r.providers)??[]).filter(v=>v.configured).length,g=((r==null?void 0:r.providers)??[]).length,y=f?Object.entries(f.agents).map(([v,S])=>({agent:v,...S})).sort((v,S)=>S.totalRuns-v.totalRuns||v.agent.localeCompare(S.agent)):[];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"⚙️",title:"System Health"}),i.jsxs("p",{className:"section-description",style:{fontSize:12,color:"var(--text-secondary)",marginBottom:14},children:["The same checks ",i.jsx("code",{children:"nuvira doctor"})," runs, executed on demand — pass / warn / fail, with the fix for anything that is not passing. The store counters at the bottom are how big the agent's memory files are; they are not a health verdict."]}),i.jsxs("div",{className:"health-grid",style:{marginBottom:18},children:[i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:t?"🟢":"🟠"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Live Stream"}),i.jsx("div",{className:"health-value","data-testid":"connection-state",children:t?"● Connected":"● Reconnecting…"})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"⏱️"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Last Update"}),i.jsx("div",{className:"health-value",children:n})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"🩺"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Doctor"}),i.jsx("div",{className:"health-value","data-testid":"doctor-verdict",style:{color:p.fail>0?"var(--accent-red)":p.warn>0?"var(--accent-yellow)":"var(--accent-green)"},children:r?sM(p):l?"running…":"--"})]})]})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:6},children:[i.jsx("h2",{className:"section-subtitle",style:{margin:0},children:"Doctor Checks"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:l,onClick:()=>void u(),"data-testid":"run-checks",children:l?"⏳ Running…":"↻ Run checks again"}),g>0?i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:[m," of ",g," providers configured — per-provider detail is on the Admin tab"]}):null]}),s?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",style:{marginBottom:12},children:s}):null,!r&&!s?i.jsx("div",{className:"loading-state",children:"Running checks…"}):null,r?i.jsxs(i.Fragment,{children:[i.jsx(rE,{title:"System",blurb:"Runtime, filesystem, configuration and the local model surface.",checks:r.system,testId:"checks-system"}),i.jsx(rE,{title:"Enterprise",blurb:"Governance, audit, RBAC and the controls an operator is accountable for.",checks:r.enterprise,testId:"checks-enterprise"})]}):null,i.jsx("h2",{className:"section-subtitle",children:"Agent Performance"}),f?i.jsxs(i.Fragment,{children:[i.jsx(Wi,{tiles:[{key:"runs",icon:"🩺",value:pc(f.totalRuns),label:"Recorded runs",tone:"accent"},{key:"success-rate",icon:"✅",value:nE(f.overallSuccessRate),label:"Overall success rate",tone:wse(f.overallSuccessRate)}]}),y.length>0?i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:4,marginBottom:18},children:y.map(v=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,padding:"4px 0",borderBottom:"1px solid var(--border-light)"},"data-testid":`agent-stats-${v.agent}`,children:[i.jsx("span",{style:{flex:1,color:"var(--text-primary)"},children:v.agent}),i.jsxs("span",{style:{color:"var(--text-secondary)"},children:[pc(v.totalRuns)," runs"]}),i.jsx("span",{style:{color:v.successRate>=.9?"var(--accent-green)":v.successRate>=.7?"var(--accent-yellow)":"var(--accent-red)"},children:nE(v.successRate)}),i.jsx("span",{style:{color:"var(--text-secondary)",minWidth:78,textAlign:"right"},children:kse(v.lastRun)})]},v.agent))}):i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:18},children:"No agent runs recorded yet — this fills in as agents execute."})]}):i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:18},children:"No agent-stats file yet. Run a task and the per-agent success rates appear here."}),i.jsx("h2",{className:"section-subtitle",children:"Learning Stores"}),i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",margin:"4px 0 10px"},children:"What the agent has learned into disk. Sizes, not verdicts."}),i.jsxs("div",{className:"health-grid",children:[i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"💾"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Memory Directory"}),i.jsx("div",{className:"health-path",children:(d==null?void 0:d.memoryDir)||"~/.buff/memory/"})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"📝"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Coding Patterns"}),i.jsx("div",{className:"health-value",children:pc(d==null?void 0:d.patterns)})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"👍"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"User Feedback"}),i.jsxs("div",{className:"health-value",children:[pc(d==null?void 0:d.feedback)," ratings"]})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"🧠"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Vector Index"}),i.jsxs("div",{className:"health-value",children:[pc(d==null?void 0:d.vectors)," entries"]})]})]})]}),e?null:i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:10},children:"Waiting for the first data frame from the dashboard server — the checks above do not depend on it."}),i.jsx("h2",{className:"section-subtitle",children:"Server Info"}),i.jsxs("div",{className:"server-info",children:[i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Stream"}),i.jsx("span",{className:"info-value",children:t?"● Connected":"● Reconnecting…"})]}),i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Last Updated"}),i.jsx("span",{className:"info-value",children:n})]}),i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Checks run at"}),i.jsx("span",{className:"info-value",children:r!=null&&r.serverTime?new Date(r.serverTime).toLocaleString():"--"})]}),i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Data Directory"}),i.jsx("span",{className:"info-value",children:(d==null?void 0:d.memoryDir)||"~/.buff/memory/"})]})]})]})}const jse=new Set(["local","lmstudio","vllm"]),Nse=new Set([]),np={available:{bg:"var(--ok-soft)",text:"var(--accent-green)",dot:"var(--accent-green)",cardBorder:"var(--accent-green)",cardBg:"var(--ok-soft)"},limited:{bg:"var(--warn-soft)",text:"var(--accent-yellow)",dot:"var(--accent-yellow)",cardBorder:"var(--accent-yellow)",cardBg:"var(--warn-soft)"},unavailable:{bg:"var(--danger-soft)",text:"var(--accent-red)",dot:"var(--accent-red)",cardBorder:"var(--accent-red)",cardBg:"var(--danger-soft)"}},Ese=[3,4,5],oM=12e3,aE=[300,700],_se=6e4,Cse=5e3;function Ase(e){return new Promise(t=>setTimeout(t,e))}async function lM(e,t){const n=new AbortController,r=setTimeout(()=>n.abort(),t);try{return await fetch(e,{signal:n.signal})}finally{clearTimeout(r)}}function cM(e){return e instanceof TypeError||e instanceof Error&&e.name==="AbortError"}async function Tse(e){let t=null,n=!1;for(let r=0;;r++){try{const a=await lM("/api/models",oM);if(!a.ok)t=a.status;else{const s=await it(a);if(s&&Array.isArray(s.providers))return s;throw new Error("Model health endpoint returned an unexpected response — is the dashboard server up to date?")}}catch(a){if(!cM(a))throw a;n=!0,e==null||e()}if(r>=aE.length)throw new Error(n?"Dashboard server unreachable — is it still running? Retrying automatically…":`Model health endpoint failed (HTTP ${t})`);await Ase(aE[r])}}async function Ose(e){for(let t=0;;t++)try{const n=await lM("/api/model-registry",oM);return n.ok?await it(n):null}catch(n){if(!cM(n)||t>=1)return null;e==null||e()}}function Pse(e){return e==="available"?"Available":e==="limited"?"Limited":"Unavailable"}function Rse(e){return e==="available"?"Ready":e==="limited"?"Limited":"Down"}function uM(e){return{local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣",openai:"🤖",anthropic:"🔮",mistral:"🌀",cohere:"🧠",together:"🟢",deepinfra:"🌐",fireworks:"🎆",perplexity:"❓",azure:"🔵",anyscale:"🔷",lmstudio:"🎨",vllm:"⚡"}[e]||"🔌"}function u0(e){return{local:"Ollama",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter",openai:"OpenAI",anthropic:"Anthropic",mistral:"Mistral",cohere:"Cohere",together:"Together AI",deepinfra:"DeepInfra",fireworks:"Fireworks AI",perplexity:"Perplexity",azure:"Azure OpenAI",anyscale:"Anyscale",lmstudio:"LM Studio",vllm:"vLLM / TGI"}[e]||e}function iE({status:e,label:t}){const n=np[e];return i.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,background:n.bg,color:n.text,padding:"3px 10px",borderRadius:12,fontSize:12,fontWeight:500,border:`1px solid ${n.text}22`},children:[i.jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:n.dot}}),t]})}function Mse({onRefresh:e,loading:t}){return i.jsxs("div",{className:"stats-grid mini",style:{marginBottom:16},children:[i.jsx("button",{onClick:e,disabled:t,className:"stat-card",style:{cursor:t?"not-allowed":"pointer",opacity:t?.6:1,border:"1px solid var(--border)",justifyContent:"center",fontSize:13},children:t?"⏳ Testing...":"🔄 Refresh Status"}),i.jsx("div",{className:"stat-card",style:{border:"1px solid var(--border)"},children:i.jsx("div",{style:{fontSize:13,color:"var(--text-secondary)",textAlign:"center",width:"100%"},children:"Tests all configured providers and their API keys in real time"})})]})}function Ise({data:e}){const t=e.totalModels;if(t===0)return null;const n=e.available||0,r=e.limited||0,a=e.unavailable||0;return i.jsxs("div",{style:{marginBottom:16},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",borderRadius:8,overflow:"hidden",height:10,display:"flex",border:"1px solid var(--border-light)"},children:[n>0&&i.jsx("div",{style:{width:`${n/t*100}%`,background:"var(--accent-green)",transition:"width 0.5s"},title:`${n} available`}),r>0&&i.jsx("div",{style:{width:`${r/t*100}%`,background:"var(--accent-yellow)",transition:"width 0.5s"},title:`${r} limited`}),a>0&&i.jsx("div",{style:{width:`${a/t*100}%`,background:"var(--accent-red)",transition:"width 0.5s"},title:`${a} unavailable`})]}),i.jsxs("div",{style:{display:"flex",gap:16,marginTop:6,fontSize:12,color:"var(--text-secondary)"},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"●"})," Ready"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"●"})," Limited"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-red)"},children:"●"})," Unavailable"]})]}),typeof e.routable=="number"&&i.jsxs("div",{style:{marginTop:6,fontSize:12,color:"var(--text-secondary)",lineHeight:1.5},children:[i.jsx("strong",{style:{color:"var(--text-primary)"},children:t})," listed by providers ·"," ",i.jsx("strong",{style:{color:e.routable>0?"var(--accent-green)":"var(--accent-yellow)"},children:e.routable})," ","routable right now (verified, un-parked, not stale)",typeof e.registryTotal=="number"&&e.registryTotal>0&&i.jsxs(i.Fragment,{children:[" ","· registry tracks"," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:e.registryVerified??0})," of"," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:e.registryTotal})," verified"]})]})]})}function ef({provider:e}){const[t,n]=b.useState(!1),r=np[e.overallStatus].text,a={available:e.models.filter(s=>s.status==="available").length,limited:e.models.filter(s=>s.status==="limited").length,unavailable:e.models.filter(s=>s.status==="unavailable").length};return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:`1px solid ${r}44`,borderLeft:`4px solid ${r}`,marginBottom:12,overflow:"hidden"},children:[i.jsxs("div",{onClick:()=>n(!t),style:{padding:"14px 18px",cursor:"pointer",display:"flex",alignItems:"center",gap:14,userSelect:"none"},children:[i.jsx("span",{style:{fontSize:24},children:e.icon}),i.jsxs("div",{style:{flex:1},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:2},children:[i.jsx("span",{style:{fontSize:16,fontWeight:600,color:"var(--text-primary)"},children:e.providerLabel}),i.jsx(iE,{status:e.overallStatus,label:Pse(e.overallStatus)})]}),i.jsxs("div",{style:{fontSize:13,color:"var(--text-secondary)"},children:[e.models.length," model",e.models.length!==1?"s":"",a.available>0&&i.jsxs("span",{style:{color:"var(--accent-green)"},children:[" · ",a.available," ready"]}),a.limited>0&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:[" · ",a.limited," limited"]}),a.unavailable>0&&i.jsxs("span",{style:{color:"var(--accent-red)"},children:[" · ",a.unavailable," unavailable"]})]})]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",textAlign:"right"},children:[i.jsx("div",{style:{marginBottom:2,color:e.apiConfigured?"var(--accent-green)":"var(--accent-red)"},children:e.apiConfigured?"✅ Key set":"❌ No key"}),i.jsx("div",{style:{color:e.apiAccessible?"var(--accent-green)":"var(--accent-red)"},children:e.apiAccessible?"✅ Connected":"❌ Offline"})]}),i.jsx("span",{style:{color:"var(--text-secondary)",fontSize:18,transition:"transform 0.2s",transform:t?"rotate(90deg)":"rotate(0deg)"},children:"▶"})]}),t&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{style:{padding:"10px 18px",background:"var(--bg-primary)",fontSize:13,color:"var(--text-secondary)",display:"flex",justifyContent:"space-between",flexWrap:"wrap",gap:8,borderTop:"1px solid var(--border-light)"},children:[i.jsx("span",{children:e.notes}),e.freeTierInfo&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["🎁 ",e.freeTierInfo]})]}),i.jsx("div",{style:{overflowX:"auto",borderTop:"1px solid var(--border-light)"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 18px",textAlign:"left",fontWeight:500},children:"Model"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Status"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Quota"}),i.jsx("th",{style:{padding:"8px 18px",textAlign:"left",fontWeight:500},children:"Details"})]})}),i.jsx("tbody",{children:e.models.map((s,o)=>i.jsxs("tr",{style:{borderBottom:o<e.models.length-1?"1px solid var(--border-light)":"none",background:s.status==="unavailable"?"var(--bg-primary)":"transparent"},children:[i.jsxs("td",{style:{padding:"8px 18px",color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:[i.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:np[s.status].dot,marginRight:8}}),s.name]}),i.jsx("td",{style:{padding:"8px 12px"},children:i.jsx(iE,{status:s.status,label:Rse(s.status)})}),i.jsx("td",{style:{padding:"8px 12px",color:"var(--text-secondary)",fontSize:12,fontFamily:"'SFMono-Regular', Consolas, monospace"},children:s.rateLimitRemaining!==void 0?s.rateLimitTotal?`${s.rateLimitRemaining}/${s.rateLimitTotal}`:`${s.rateLimitRemaining} left`:"—"}),i.jsx("td",{style:{padding:"8px 18px",color:"var(--text-secondary)",fontSize:12},children:s.statusReason})]},s.id))})]})})]})]})}function dM(e){if(e<=0)return"now";const t=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4);return t>0?`${t}h ${n}m`:n>0?`${n}m`:`${Math.ceil(e/1e3)}s`}function $se(e){return e==="verified"?{text:"var(--accent-green)",bg:"var(--ok-soft)",dot:"var(--accent-green)"}:e==="unavailable"?{text:"var(--accent-red)",bg:"var(--danger-soft)",dot:"var(--accent-red)"}:{text:"var(--text-secondary)",bg:"var(--bg-hover)",dot:"var(--bg-hover)"}}function Lse({rate:e}){const t=Math.round(e*100);return i.jsxs("span",{title:`⏸ flaky mid-stream ${t}% — started streaming, died before finish; the router deprioritizes flaky models (P4 M4.4)`,style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--purple-soft)",border:"1px solid var(--accent-purple)",color:"var(--accent-purple)"},children:["⏸ flaky ",t,"%"]})}function Dse({tokens:e}){const t=e>=1048576?`${(e/1048576).toFixed(1).replace(/\.0$/,"")}M`:e>=1024?`${(e/1024).toFixed(0)}K`:`${e}`;return i.jsxs("span",{title:`⏳ context window ${xt(e)} tokens — live from the provider's model list (v1.60.x); feeds the router's context preflight`,style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--info-soft)",border:"1px solid var(--accent-blue)",color:"var(--accent-blue)"},children:["⏳ ",t]})}function Bse({history:e}){if(!e||e.length<2)return null;const t=46,n=14,r=1.5,a=Math.max(.01,...e.map(d=>d.rate)),s=e.map((d,f)=>{const h=r+f/(e.length-1)*(t-r*2),p=n-r-d.rate/a*(n-r*2);return`${h.toFixed(1)},${p.toFixed(1)}`}).join(" "),o=e[0].rate,l=e[e.length-1].rate,c=l<o,u=Math.round(l*100);return i.jsxs("svg",{width:t,height:n,viewBox:`0 0 ${t} ${n}`,style:{marginLeft:8,verticalAlign:"middle",cursor:"default"},"aria-label":"Flakiness trend",children:[i.jsx("title",{children:c?`Flakiness healing — ${u}% now, trending down (clean successes decay the signal)`:`Flakiness climbing — ${u}% now (recent mid-stream interruptions)`}),i.jsx("polyline",{points:s,fill:"none",style:{stroke:"var(--accent-purple)"},strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",opacity:.9}),i.jsx("circle",{cx:t-r,cy:n-r-l/a*(n-r*2),r:2,style:{fill:c?"var(--accent-green)":"var(--accent-purple)"}})]})}function zse({entry:e}){const t=$se(e.status),n=e.remainingTokens>=0?`${xt(e.remainingTokens)} left`:"unlimited";return i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"8px 12px",color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:[i.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:t.dot,marginRight:8}}),e.model.length>32?e.model.slice(0,29)+"…":e.model,(e.partialRate??0)>0&&i.jsx(Lse,{rate:e.partialRate??0}),e.partialHistory&&e.partialHistory.length>=2&&i.jsx(Bse,{history:e.partialHistory}),e.parked&&i.jsx("span",{style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,background:"var(--danger-soft)",border:"1px solid var(--accent-red)",color:"var(--accent-red)"},children:"⏸ parked"}),e.measuredSamples?i.jsxs("span",{style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--ok-soft)",border:"1px solid var(--accent-green)",color:"var(--accent-green)"},children:["📏 ",e.measuredInputTokens,"→",e.measuredOutputTokens," tok"]}):i.jsx("span",{style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--bg-hover)",border:"1px solid var(--border-hover)",color:"var(--text-secondary)"},children:"📐 est"}),e.contextWindowTokens&&i.jsx(Dse,{tokens:e.contextWindowTokens})]}),i.jsx("td",{style:{padding:"8px 12px"},children:i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,fontWeight:600,background:t.bg,color:t.text,padding:"2px 8px",borderRadius:6},children:e.status==="verified"?"✓ Verified":e.status==="unavailable"?"✗ Unavailable":"◌ Unverified"})}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:e.remainingTokens>=0&&e.remainingTokens<=100?"var(--accent-yellow)":"var(--text-secondary)"},children:n}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",color:"var(--text-secondary)",fontSize:12,whiteSpace:"nowrap"},children:e.resetsInMs>0?dM(e.resetsInMs):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",color:"var(--text-secondary)",fontSize:12,fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.latencyMs!==void 0?`${e.latencyMs}ms`:"—"}),i.jsx("td",{style:{padding:"8px 12px",color:"var(--text-muted)",fontSize:11,maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.lastError||(e.source?`learned via ${e.source}`:"")})]})}function Fse({provider:e}){const[t,n]=b.useState(!1),r=e.verified>0?"var(--accent-green)":e.unavailable>0?"var(--accent-red)":"var(--border-hover)";return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:`1px solid ${r}44`,borderLeft:`4px solid ${r}`,marginBottom:12,overflow:"hidden"},children:[i.jsxs("div",{onClick:()=>n(!t),style:{padding:"14px 18px",cursor:"pointer",display:"flex",alignItems:"center",gap:14,userSelect:"none"},children:[i.jsx("span",{style:{fontSize:24},children:uM(e.provider)}),i.jsxs("div",{style:{flex:1},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:2},children:[i.jsx("span",{style:{fontSize:16,fontWeight:600,color:"var(--text-primary)"},children:u0(e.provider)}),i.jsx("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:e.parked>0?"var(--danger-soft)":"var(--ok-soft)",border:`1px solid ${e.parked>0?"var(--accent-red)":"var(--accent-green)"}`,color:e.parked>0?"var(--accent-red)":"var(--accent-green)"},children:e.parked>0?`${e.parked} parked`:"routable"}),(e.flaky??0)>0&&i.jsxs("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:"var(--purple-soft)",border:"1px solid var(--accent-purple)",color:"var(--accent-purple)"},children:["⏸ ",e.flaky," flaky"]})]}),i.jsxs("div",{style:{fontSize:13,color:"var(--text-secondary)"},children:[e.verified," verified · ",e.unverified," unverified · ",e.unavailable," unavailable"]})]}),i.jsx("span",{style:{color:"var(--text-secondary)",fontSize:18,transition:"transform 0.2s",transform:t?"rotate(90deg)":"rotate(0deg)"},children:"▶"})]}),t&&i.jsx("div",{style:{overflowX:"auto",borderTop:"1px solid var(--border-light)"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Model"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Availability"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"right",fontWeight:500},children:"Tokens left"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"right",fontWeight:500},children:"Resets in"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"right",fontWeight:500},children:"Latency"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Reason / Source"})]})}),i.jsx("tbody",{children:e.models.map(a=>i.jsx(zse,{entry:a},a.model))})]})})]})}function Use(e){if(!e)return null;const t=Object.entries(e.consecutive).filter(([,n])=>n>0);return t.length===0?null:i.jsxs("div",{style:{background:"color-mix(in srgb, var(--accent-yellow) 8%, transparent)",border:"1px solid var(--accent-yellow)",borderRadius:10,padding:"10px 14px",marginBottom:14,fontSize:12,color:"var(--accent-yellow)",display:"flex",gap:10,alignItems:"flex-start"},children:[i.jsx("span",{style:{fontSize:15,lineHeight:"18px"},children:"🧹"}),i.jsxs("div",{children:[i.jsx("div",{style:{fontWeight:600,color:"var(--accent-yellow)",marginBottom:2},children:"Key hygiene in progress"}),i.jsx("div",{children:t.map(([n,r])=>i.jsxs("span",{style:{display:"inline-block",marginRight:12},children:[i.jsx("code",{style:{color:"var(--text-primary)"},children:n})," ",r,"/",e.threshold," consecutive auth failures",r>=e.threshold?" — key auto-cleared 🚫":" — key will be auto-cleared at the threshold"]},n))}),i.jsxs("div",{style:{marginTop:4,color:"var(--accent-yellow)"},children:["After ",e.threshold," consecutive 401/403s the invalid key is removed from config; run"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff config set providers.<provider>.apiKey <real-key>"})," to re-enable."]})]})]})}function Wse({data:e}){return e.enabled?i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📦",title:"Model Availability Registry"}),i.jsxs("p",{className:"section-description",children:["The unified sub-ms FAISS/JSON snapshot the Auto router consults on every pick: verified vs unavailable models plus quota telemetry (tokens remaining, reset windows) mirrored from the ledger. Each row's ",i.jsx("strong",{children:"⏳ chip"})," is the LIVE provider-advertised context window (v1.60.x) — the real spec the router's context preflight uses, recorded by the probe from each provider's model list (Ollama /api/tags + /api/show, OpenRouter, Gemini, NIM). State changes during a session are reported to the watch daemon and recorded here immediately."]}),i.jsx(Wi,{tiles:[{key:"tracked-models",icon:"📦",value:String(e.total),label:"Tracked models (registry)",tone:"accent"},{key:"verified",icon:"✅",value:String(e.verified),label:"Verified",tone:"ok"},{key:"unverified",icon:"◌",value:String(e.unverified),label:"Unverified",tone:"accent"},{key:"unavailable",icon:"⛔",value:String(e.unavailable),label:"Unavailable",tone:"danger"},{key:"parked",icon:"⏸",value:String(e.parked),label:"Quota-parked",tone:"warn"},{key:"flaky",icon:"⏸",value:String(e.flaky??0),label:"Flaky mid-stream",tone:"warn"},{key:"deleted-local",icon:"🗑️",value:String(e.deletedLocal??0),label:"Deleted locally",tone:"accent"}]}),Use(e.keyHygiene),e.providers.map(t=>i.jsx(Fse,{provider:t},t.provider)),i.jsx("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:12},children:"Backend snapshot · auto-refreshes every 60s"})]}):i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"20px 24px",marginTop:24,textAlign:"center"},children:[i.jsx("div",{style:{fontSize:24,marginBottom:8},children:"📦"}),i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Model Availability Registry"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:["No registry data yet — run ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff models refresh"})," or use Auto routing; the registry learns from real usage and probes."]})]})}const Hse={chat:"💬",execute:"⚙️",plan:"🗺️",edit:"✏️",skill:"🧩",learn:"📚",ci:"🔁",doctor:"🩺",probe:"🔭","spot-check":"🧪",telemetry:"📡",usage:"🧮"};function Gse(e){return{chat:"Chat",execute:"Execute",plan:"Plan",edit:"Edit",skill:"Skill",learn:"Learn",ci:"CI Review",doctor:"Doctor Probe",probe:"Probe","spot-check":"Spot-check",telemetry:"Usage mirror"}[e]||e.charAt(0).toUpperCase()+e.slice(1)}function qse(e){return Hse[e]||"🎯"}function Kse(e){return e?new Date(e).toLocaleDateString()+" "+new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"—"}function ys({provider:e,model:t,reason:n,killed:r,transient:a,partial:s,streamedChunks:o}){const l=r===!0,c=a===!0,u=s===!0,d=u?"var(--accent-purple)":c?"var(--accent-yellow)":l?"var(--accent-red)":"var(--accent-green)",f=u?"var(--purple-soft)":c?"var(--warn-soft)":l?"var(--danger-soft)":"var(--ok-soft)";return i.jsxs("span",{title:u?`Mid-stream interruption — started streaming${typeof o=="number"?` ~${o} chunks in`:""}, died before finish (P4 M4.4); router deprioritizes flaky mid-stream providers${n?` · ${n}`:""}`:c?`Transient failure — health decayed, no flip${n?` · ${n}`:""}`:l?`Killed by this action — predictively skipped by routing${n?` · ${n}`:""}`:"Verified by this action — trusted by routing",style:{display:"inline-flex",alignItems:"center",gap:6,background:f,border:`1px solid ${d}`,color:d,padding:"3px 9px",borderRadius:8,fontSize:11,fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",transition:"transform 0.15s",cursor:"default"},onMouseEnter:h=>{h.currentTarget.style.transform="scale(1.05)"},onMouseLeave:h=>{h.currentTarget.style.transform="scale(1)"},children:[i.jsx("span",{style:{opacity:.85},children:u?"⏸":c?"~":l?"✗":"✓"}),e,"/",t.length>30?t.slice(0,27)+"…":t,(l||u)&&n&&i.jsxs("span",{style:{color:`${d}99`,fontSize:10,fontWeight:400},children:["· ",n]})]})}function Vse(e){const t=new Map;for(const r of e)t.set(`${r.provider}|${r.model}|${r.outcome}`,r);const n={unavailable:0,partial:1,verified:2,error:3};return[...t.values()].sort((r,a)=>n[r.outcome]-n[a.outcome]||a.at-r.at)}function Yse(e){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n.verified+n.killed+n.transient+(n.partial||0)>0)return t}return Math.max(0,e.length-1)}function Xse({timeline:e}){const[t,n]=b.useState(()=>Yse(e||[])),[r,a]=b.useState(!1),s=b.useRef(null),o=b.useRef(!1),l=(e==null?void 0:e.length)??0,c=Math.max(0,Math.min(t,l-1));b.useEffect(()=>{n(g=>Math.min(g,Math.max(0,l-1)))},[l]);const u=b.useCallback(g=>{const y=s.current;if(!y||l<=0)return;const v=y.getBoundingClientRect(),S=v.width||1,w=Math.min(1,Math.max(0,(g-v.left)/S));n(Math.min(l-1,Math.floor(w*l)))},[l]),d=g=>{o.current=!0,a(!1),u(g.clientX)};if(b.useEffect(()=>{const g=v=>{o.current&&u(v.clientX)},y=()=>{o.current=!1};return window.addEventListener("pointermove",g),window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",y)}},[u]),b.useEffect(()=>{if(!r||l<=1)return;const g=setInterval(()=>{n(y=>Math.min(l-1,y+1))},300);return()=>clearInterval(g)},[r,l]),b.useEffect(()=>{r&&l>1&&t>=l-1&&(a(!1),n(0))},[r,l,t]),!e||l===0)return null;const f=Math.max(1,...e.map(g=>g.verified+g.killed+g.transient+(g.partial||0))),h=g=>new Date(g).toLocaleDateString([],{month:"short",day:"numeric"}),p=e[c],m=p?Vse(p.events||[]):[];return i.jsxs("div",{style:{marginTop:12,paddingTop:10,borderTop:"1px solid var(--border-light)"},children:[i.jsxs("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-secondary)",marginBottom:8,textTransform:"uppercase",letterSpacing:.4,display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[i.jsxs("span",{children:["📈 Learned from real usage — last ",l," days"]}),i.jsx("span",{style:{fontWeight:400,color:"var(--text-muted)",letterSpacing:0},children:"— drag across days · click a day · play to sweep"})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[i.jsx("button",{onClick:()=>{r?a(!1):(t>=l-1&&n(0),a(!0))},disabled:l<=1,"aria-label":r?"Pause scrub":"Play scrub",style:{background:"var(--bg-hover)",border:`1px solid ${r?"var(--accent-red)":"var(--border)"}`,color:"var(--text-primary)",padding:"3px 10px",borderRadius:6,cursor:l<=1?"not-allowed":"pointer",fontSize:11,fontWeight:600,transition:"all 0.15s",whiteSpace:"nowrap",opacity:l<=1?.5:1},children:r?"⏸ Pause":"▶ Play"}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)",whiteSpace:"nowrap"},children:[h(p.day)," · ✓ ",p.verified," · ✗ ",p.killed,p.transient>0?` · ~ ${p.transient}`:"",p.partial>0?` · ⏸ ${p.partial}`:""]}),i.jsx("input",{type:"range",min:0,max:Math.max(0,l-1),step:1,value:c,onChange:g=>{a(!1),n(Number(g.target.value))},"aria-label":"Scrub action timeline",style:{flex:1,accentColor:"var(--accent-blue)",cursor:"pointer",minWidth:80}})]}),i.jsx("div",{ref:s,onPointerDown:d,style:{position:"relative",display:"flex",alignItems:"flex-end",gap:3,height:64,padding:"0 2px",cursor:"grab",userSelect:"none",touchAction:"none"},children:e.map((g,y)=>{const v=g.verified+g.killed+g.transient+(g.partial||0),S=g.verified/f*56,w=g.killed/f*56,N=g.transient/f*56,k=(g.partial||0)/f*56,x=y===c;return i.jsxs("div",{onClick:()=>{a(!1),n(y)},title:`${h(g.day)} — ✓ ${g.verified} verified · ✗ ${g.killed} killed · ~ ${g.transient} transient${(g.partial||0)>0?` · ⏸ ${g.partial} partial`:""}`,style:{flex:1,display:"flex",flexDirection:"column-reverse",alignItems:"center",gap:0,cursor:"pointer"},children:[i.jsxs("div",{style:{position:"relative",width:"100%",borderRadius:3,overflow:x?"visible":"hidden",background:v===0?"var(--bg-hover)":"transparent",height:v===0?4:56,display:"flex",flexDirection:"column-reverse",boxShadow:x?"0 0 0 1.5px var(--accent-blue)":void 0,opacity:v===0?.5:1,transition:"box-shadow 0.15s"},children:[x&&i.jsx("div",{style:{position:"absolute",top:-3,bottom:-3,width:2,left:"50%",transform:"translateX(-50%)",background:"var(--accent-blue)",borderRadius:2,pointerEvents:"none",boxShadow:"0 0 8px color-mix(in srgb, var(--accent-blue) 53%, transparent)",zIndex:1}}),g.verified>0&&i.jsx("div",{style:{height:S,background:"var(--accent-green)",minHeight:3}}),g.killed>0&&i.jsx("div",{style:{height:w,background:"var(--accent-red)",minHeight:3}}),g.transient>0&&i.jsx("div",{style:{height:N,background:"var(--accent-yellow)",minHeight:3}}),g.partial>0&&i.jsx("div",{style:{height:k,background:"var(--accent-purple)",minHeight:3}})]}),i.jsx("div",{style:{fontSize:9,color:x?"var(--accent-blue)":"var(--text-muted)",marginTop:4,whiteSpace:"nowrap",fontWeight:x?700:400},children:h(g.day)})]},g.day)})}),i.jsxs("div",{style:{display:"flex",gap:14,marginTop:6,fontSize:11,color:"var(--text-secondary)"},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"■"})," verified"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-red)"},children:"■"})," killed"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"■"})," transient"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-purple)"},children:"■"})," partial"]})]}),i.jsxs("div",{style:{marginTop:10,background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:8,padding:"10px 12px"},children:[i.jsxs("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-primary)",marginBottom:6},children:[h(p.day)," ",i.jsx("span",{style:{color:"var(--text-secondary)",fontWeight:400},children:"— what this action learned that day"})]}),m.length===0?i.jsx("div",{style:{fontSize:12,color:"var(--text-muted)"},children:"No learning recorded that day — nothing verified, killed, or partial."}):i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:m.map(g=>g.outcome==="unavailable"?i.jsx(ys,{provider:g.provider,model:g.model,reason:g.errorType,killed:!0},`${g.provider}|${g.model}|${g.outcome}`):g.outcome==="verified"?i.jsx(ys,{provider:g.provider,model:g.model},`${g.provider}|${g.model}|${g.outcome}`):g.outcome==="partial"?i.jsx(ys,{provider:g.provider,model:g.model,reason:g.errorType,partial:!0,streamedChunks:g.streamedChunks},`${g.provider}|${g.model}|${g.outcome}`):i.jsx(ys,{provider:g.provider,model:g.model,reason:g.errorType,transient:!0},`${g.provider}|${g.model}|${g.outcome}`))})]})]})}function Qse({entry:e}){var a,s;const[t,n]=b.useState(!0),r=(e.partial||0)>0?"var(--accent-purple)":e.killed>0?"var(--accent-red)":e.verified>0?"var(--accent-green)":"var(--accent-yellow)";return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:`1px solid ${r}33`,borderLeft:`4px solid ${r}`,marginBottom:12,overflow:"hidden"},children:[i.jsxs("div",{onClick:()=>n(!t),style:{padding:"12px 16px",cursor:"pointer",display:"flex",alignItems:"center",gap:12,userSelect:"none"},children:[i.jsx("span",{style:{fontSize:20},children:qse(e.action)}),i.jsxs("div",{style:{flex:1},children:[i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:2},children:Gse(e.action)}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",display:"flex",gap:14,flexWrap:"wrap"},children:[i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-green)"},children:["✓ ",e.verified]})," verified"]}),i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-red)"},children:["✗ ",e.killed]})," killed"]}),e.transient>0&&i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["~ ",e.transient]})," transient"]}),(e.partial||0)>0&&i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-purple)"},children:["⏸ ",e.partial]})," partial"]})]})]}),i.jsx("span",{style:{color:"var(--text-secondary)",fontSize:16,transition:"transform 0.2s",transform:t?"rotate(90deg)":"rotate(0deg)"},children:"▶"})]}),t&&i.jsxs("div",{style:{padding:"12px 16px",borderTop:"1px solid var(--border-light)",background:"var(--bg-primary)"},children:[e.killedModels.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("div",{style:{fontSize:11,fontWeight:600,color:"var(--accent-red)",marginBottom:6,textTransform:"uppercase",letterSpacing:.4},children:"⛔ Killed — skipped predictively by routing"}),i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:14},children:e.killedModels.map(o=>i.jsx(ys,{provider:o.provider,model:o.model,reason:o.reason,killed:!0},`${o.provider}|${o.model}`))})]}),e.verifiedModels.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("div",{style:{fontSize:11,fontWeight:600,color:"var(--accent-green)",marginBottom:6,textTransform:"uppercase",letterSpacing:.4},children:"✅ Verified — trusted by routing"}),i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:e.verifiedModels.map(o=>i.jsx(ys,{provider:o.provider,model:o.model},`${o.provider}|${o.model}`))})]}),(((a=e.partialModels)==null?void 0:a.length)||0)>0&&i.jsxs(i.Fragment,{children:[i.jsx("div",{style:{fontSize:11,fontWeight:600,color:"var(--accent-purple)",marginBottom:6,textTransform:"uppercase",letterSpacing:.4},children:"⏸ Partial — mid-stream interruption (flaky provider, deprioritized)"}),i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:14},children:e.partialModels.map(o=>i.jsx(ys,{provider:o.provider,model:o.model,reason:o.reason,partial:!0,streamedChunks:o.streamedChunks},`${o.provider}|${o.model}`))})]}),e.killedModels.length===0&&e.verifiedModels.length===0&&(((s=e.partialModels)==null?void 0:s.length)||0)===0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-muted)"},children:"Only transient failures — health decayed, no model flipped."}),i.jsx(Xse,{timeline:e.timeline})]})]})}function Zse({registry:e}){const t=e.actionTelemetry;if(!t)return null;if(!t.enabled)return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"18px 24px",marginTop:24,textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,marginBottom:6},children:"🎓"}),i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Learned from real usage — per action"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:["No per-action telemetry yet. As you use ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"chat"}),","," ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"execute"}),", ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"plan"}),", and ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"edit"}),", each action's verified / killed provider × model combos appear here — showing exactly what routing learned from real usage."]})]});const n=[{key:"telemetry-events",icon:"📊",value:String(t.total),label:"Telemetry events",tone:"accent"},{key:"actions-learning",icon:"🎯",value:String(t.actions.length),label:"Actions learning",tone:"accent"},{key:"last-update",icon:"⏱️",value:Kse(t.updatedAt),label:"Last update",tone:"accent"}];return t.synthetic>0&&n.push({key:"synthetic",icon:"🧪",value:String(t.synthetic),label:"Test-origin, excluded",tone:"warn"}),i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"🎓 Learned from real usage — per action"}),i.jsxs("p",{className:"section-description",children:["Every LLM call writes through to the health store with its action tag. This panel shows which provider × model each action ",i.jsx("span",{style:{color:"var(--accent-green)"},children:"verified"})," (routable) or"," ",i.jsx("span",{style:{color:"var(--accent-red)"},children:"killed"})," (predictively skipped) — the exact feed that turns “fail gemini → fail nim → local” into “straight to local”."]}),i.jsx(Wi,{tiles:n}),t.actions.map(r=>i.jsx(Qse,{entry:r},r.action)),i.jsx("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:12},children:"All actions share one health store — a provider killed by any action is skipped by all others"})]})}function tf({icon:e,title:t,count:n}){return n===0?null:i.jsxs("h3",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:"24px 0 12px 0",display:"flex",alignItems:"center",gap:8},children:[i.jsx("span",{children:e})," ",t,i.jsx("span",{style:{fontSize:12,color:"var(--text-secondary)",fontWeight:400,background:"var(--bg-card)",padding:"1px 8px",borderRadius:8},children:n})]})}function Jse({value:e,onChange:t,totalCount:n}){return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:14},children:[i.jsxs("div",{style:{flex:1,position:"relative",display:"flex",alignItems:"center",background:"var(--bg-card)",borderRadius:8,border:"1px solid var(--border)",transition:"border-color 0.2s"},children:[i.jsx("span",{style:{position:"absolute",left:12,fontSize:14,color:"var(--text-muted)",pointerEvents:"none"},children:"🔍"}),i.jsx("input",{type:"text",value:e,onChange:r=>t(r.target.value),placeholder:"Search models by name or provider...",style:{width:"100%",padding:"10px 12px 10px 36px",background:"transparent",border:"none",color:"var(--text-primary)",fontSize:13,outline:"none",fontFamily:"inherit"},onFocus:r=>{r.currentTarget.parentElement.style.borderColor="var(--accent-blue)"},onBlur:r=>{r.currentTarget.parentElement.style.borderColor="var(--border)"}}),e&&i.jsx("button",{onClick:()=>t(""),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:"8px 12px",fontSize:14,lineHeight:1},children:"✕"})]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",whiteSpace:"nowrap"},children:[n," model",n!==1?"s":""]})]})}function eoe({value:e,onChange:t}){return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--text-secondary)",marginBottom:14},children:[i.jsx("span",{children:"Columns:"}),Ese.map(n=>i.jsx("button",{onClick:()=>t(n),style:{padding:"4px 12px",borderRadius:6,background:e===n?"var(--accent-blue)":"var(--bg-hover)",color:e===n?"var(--text-on-accent)":"var(--text-secondary)",border:`1px solid ${e===n?"var(--accent-blue)":"var(--border)"}`,cursor:"pointer",fontSize:12,fontWeight:e===n?600:400,transition:"all 0.15s"},children:n},n))]})}function toe({model:e,provider:t}){const n=np[e.status];return i.jsx("td",{style:{padding:10,verticalAlign:"top"},children:i.jsxs("div",{style:{background:n.cardBg,border:`1px solid ${n.cardBorder}44`,borderRadius:10,padding:14,display:"flex",flexDirection:"column",gap:8,height:"100%",transition:"all 0.2s ease",position:"relative",overflow:"hidden",cursor:"default"},onMouseEnter:r=>{r.currentTarget.style.borderColor=n.cardBorder,r.currentTarget.style.boxShadow=`0 2px 10px ${n.cardBorder}22`},onMouseLeave:r=>{r.currentTarget.style.borderColor=`${n.cardBorder}44`,r.currentTarget.style.boxShadow="none"},children:[i.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:n.cardBorder,opacity:.6}}),i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",paddingTop:2},children:e.name.length>28?e.name.slice(0,25)+"…":e.name}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)"},children:[uM(t)," ",u0(t)]}),i.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:5,background:n.bg,color:n.text,padding:"3px 8px",borderRadius:6,fontSize:11,fontWeight:600,alignSelf:"flex-start"},children:[i.jsx("span",{style:{width:7,height:7,borderRadius:"50%",background:n.dot}}),e.status==="available"?"Available":e.status==="limited"?"Limited":"Unavailable"]}),e.routable===!1&&i.jsx("div",{style:{fontSize:10,color:"var(--accent-yellow)",lineHeight:1.3,marginTop:2},children:e.registryStatus==="unavailable"?e.registryDead?"✗ Not served here — this id does not exist on the endpoint":"✗ Your key cannot use this model (auth / entitlement / access)":e.registryStatus==="verified"?"◌ Parked or gone stale — not routable now":e.registryStatus==="unverified"?"◌ Listed but never verified — the router cannot pick it":"◌ Not in the registry — never probed"}),e.routable===!1&&e.registryError&&i.jsx("div",{style:{fontSize:10,color:"var(--text-muted)",lineHeight:1.3,marginTop:1},children:e.registryError.length>60?e.registryError.slice(0,57)+"…":e.registryError}),e.entitlement&&e.entitlement.tier!=="unknown"&&i.jsx("div",{title:e.entitlement.basis,style:{fontSize:10,lineHeight:1.3,marginTop:2,color:e.entitlement.tier==="free"?"var(--accent-green)":"var(--text-secondary)"},children:e.entitlement.tier==="free"?"🎁 free":"💸 metered"}),e.status!=="available"&&e.statusReason&&i.jsx("div",{style:{fontSize:10,color:"var(--text-muted)",lineHeight:1.3,marginTop:2},children:e.statusReason.length>45?e.statusReason.slice(0,42)+"…":e.statusReason}),e.parked&&e.resetsInMs!==void 0&&e.resetsInMs>0&&i.jsxs("div",{style:{fontSize:10,color:"var(--accent-yellow)",lineHeight:1.3,marginTop:4,padding:"3px 6px",borderRadius:4,background:"var(--warn-soft)",border:"1px solid color-mix(in srgb, var(--accent-yellow) 27%, transparent)"},children:["⏳ Resets in ",dM(e.resetsInMs)]})]})})}function noe({providers:e,colsPerRow:t,searchQuery:n}){const r=[];for(const l of e)for(const c of l.models)r.push({model:c,provider:l.provider});if(r.length===0)return null;let a=r;if(n.trim()){const l=n.toLowerCase().trim();a=r.filter(({model:c,provider:u})=>c.name.toLowerCase().includes(l)||u0(u).toLowerCase().includes(l)||u.toLowerCase().includes(l))}const s={available:0,limited:1,unavailable:2};a.sort((l,c)=>s[l.model.status]-s[c.model.status]);const o=[];for(let l=0;l<a.length;l+=t)o.push(a.slice(l,l+t));return i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"📋 Model Health Overview"}),i.jsx("p",{className:"section-description",children:"All models across all providers, color-coded by health status. Each cell shows: Model · Provider · Health."}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsx("table",{style:{width:"100%",borderCollapse:"separate",borderSpacing:10,tableLayout:"fixed"},children:i.jsx("tbody",{children:o.length>0?o.map((l,c)=>i.jsxs("tr",{children:[l.map(({model:u,provider:d})=>i.jsx(toe,{model:u,provider:d},`${d}-${u.id}`)),l.length<t&&Array.from({length:t-l.length}).map((u,d)=>i.jsx("td",{style:{padding:10}},`empty-${d}`))]},c)):i.jsx("tr",{children:i.jsxs("td",{colSpan:t,style:{textAlign:"center",padding:40,color:"var(--text-muted)",fontSize:13},children:['No models match your search "',n,'"']})})})})}),n.trim()&&a.length>0&&i.jsxs("div",{style:{textAlign:"right",fontSize:11,color:"var(--text-muted)",marginTop:4},children:["Showing ",a.length," of ",r.length," models"]})]})}function roe(){return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"20px 24px",marginTop:24,textAlign:"center"},children:[i.jsx("div",{style:{fontSize:24,marginBottom:8},children:"🎙️"}),i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Speech / TTS Provider"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:["Speech/TTS provider support coming soon."," ",i.jsx("a",{href:"https://github.com/imdheerajKube/agent-nuvira-documentation/issues/new",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent-blue)",textDecoration:"none",cursor:"pointer"},onMouseEnter:e=>{e.currentTarget.style.textDecoration="underline"},onMouseLeave:e=>{e.currentTarget.style.textDecoration="none"},children:"Request a provider"})]})]})}function aoe(){return i.jsxs("div",{style:{background:"var(--bg-primary)",borderRadius:10,padding:14,marginBottom:20,border:"1px solid var(--border-light)",fontSize:13,color:"var(--text-secondary)",display:"flex",flexWrap:"wrap",gap:20},children:[i.jsxs("div",{children:[i.jsx("div",{style:{fontWeight:600,color:"var(--text-primary)",marginBottom:6},children:"Color Coding"}),i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"●"})," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Green"})," — Working with rate limit available"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"●"})," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Amber"})," — Slow / low rate limit / needs action"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-red)"},children:"●"})," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Red"})," — API key missing / payment needed / unreachable"]})]})]}),i.jsxs("div",{children:[i.jsx("div",{style:{fontWeight:600,color:"var(--text-primary)",marginBottom:6},children:"Provider Sections"}),i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:3,fontSize:12},children:[i.jsxs("span",{children:["✅ ",i.jsx("strong",{children:"Cloud"})," — Online providers with active API keys"]}),i.jsxs("span",{children:["🏠 ",i.jsx("strong",{children:"Local"})," — Locally running inference servers"]}),i.jsxs("span",{children:["⛔ ",i.jsx("strong",{children:"Unavailable"})," — Missing keys or unreachable endpoints"]}),i.jsxs("span",{children:["🎙️ ",i.jsx("strong",{children:"Speech"})," — Text-to-speech / speech-to-text providers (coming)"]})]})]})]})}function ioe(){const[e,t]=b.useState(null);if(b.useEffect(()=>{let r=!0;return K.fetchAcceptance().then(a=>{r&&t(a)}),()=>{r=!1}},[]),!e)return null;const n=Object.entries(e.byPair);return i.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:12,padding:"14px 18px",marginBottom:16},children:[i.jsx("h2",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:"0 0 6px 0"},children:"⭐ Acceptance (read-only)"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:[e.labelled," labelled turn",e.labelled===1?"":"s"," — 👍 ",e.accepted," / 👎 ",e.rejected,Object.keys(e.bySource).length>0?` · by source: ${Object.entries(e.bySource).map(([r,a])=>`${r} ${a}`).join(", ")}`:""]}),n.length>0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:n.map(([r,a])=>{const s=a.accepted+a.rejected;return i.jsxs("div",{children:[r,": 👍 ",a.accepted," / 👎 ",a.rejected," (",Math.round(100*a.accepted/s),"%, n=",s,")"]},r)})}),i.jsx("div",{style:{fontSize:12,color:e.fit.ok?"var(--accent-green)":"var(--text-secondary)"},children:e.fit.ok?`fit TRAINED — P(accepted | features) n=${e.fit.n} (${e.fit.positives}👍/${e.fit.negatives}👎)`:`fit NOT trained — ${e.fit.reason??"insufficient labels"} · rate a turn with \`nuvira rate good|bad\``})]})}function soe(){const[e,t]=b.useState(null),[n,r]=b.useState(null),[a,s]=b.useState(null);b.useEffect(()=>{let u=!0;return Promise.all([K.fetchGates(),K.fetchConsent(),K.fetchSessionGrants()]).then(([d,f,h])=>{u&&(t(d),r(f),s(h))}),()=>{u=!1}},[]);async function o(u){await K.revokeSessionGrant(u)&&s(f=>(f??[]).filter(h=>h.sessionId!==u))}if(!e&&!n&&!a)return null;const l={fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:"0 0 6px 0"},c={fontSize:12,color:"var(--text-secondary)"};return i.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:12,padding:"14px 18px",marginBottom:16},children:[i.jsx("h2",{style:l,children:"🛡️ Gates & Consent"}),e&&i.jsxs("div",{style:{...c,marginBottom:8},children:["harness friction — ",e.traces," trace",e.traces===1?"":"s"," · ",e.events," gate/refusal events · per turn mean ",e.perTurn.mean," (median ",e.perTurn.median,", p90 ",e.perTurn.p90,", max ",e.perTurn.max,") · narration ",e.narration.turns,e.byGate.length>0?i.jsxs("div",{style:{marginTop:4},children:["top gates: ",e.byGate.slice(0,5).map(u=>`${u.key} ${u.count}`).join(" · ")]}):null]}),a&&i.jsx("div",{style:{...c,marginBottom:8},children:a.length===0?i.jsx("span",{children:"No session grants are live — every state change still asks."}):a.map(u=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:2},children:[i.jsxs("span",{children:[i.jsx("strong",{children:u.sessionId})," — allowed ",u.categories.join(", ")]}),i.jsx("button",{type:"button",onClick:()=>o(u.sessionId),style:{fontSize:11,padding:"1px 8px",borderRadius:6,border:"1px solid var(--border-light)",background:"transparent",color:"var(--text-secondary)",cursor:"pointer"},children:"End"})]},u.sessionId))}),n&&i.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:12},children:[n.denied,n.grantable,n.decided].map(u=>i.jsxs("div",{children:[i.jsx("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-primary)"},children:u.title}),i.jsx("div",{style:{...c,marginBottom:4},children:u.note}),u.examples.map(d=>i.jsxs("div",{style:c,children:["• ",d.action," ",i.jsxs("span",{style:{opacity:.7},children:["(",d.evidence,")"]})]},d.action))]},u.title))})]})}function ooe(){var w;const[e,t]=b.useState(null),[n,r]=b.useState(null),[a,s]=b.useState(!0),[o,l]=b.useState(null),[c,u]=b.useState(4),[d,f]=b.useState(""),h=c0(),p=b.useRef(!0),m=b.useRef(null),g=b.useRef(!1);function y(){m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{p.current&&v()},Cse)}async function v(){s(!0),l(null),g.current=!1;try{const[N,k]=await Promise.all([Tse(()=>{g.current=!0}),Ose(()=>{g.current=!0})]);if(!p.current)return;t(N),r(k),g.current&&y()}catch(N){if(!p.current)return;l(N instanceof Error&&N.message?N.message:"Failed to fetch model status"),g.current&&y()}finally{p.current&&s(!1)}}b.useEffect(()=>{p.current=!0,v();const N=setInterval(v,_se);return()=>{p.current=!1,clearInterval(N),m.current&&clearTimeout(m.current)}},[]);function S(N){const k=[],x=[],j=[],_=[],O={available:0,limited:1,unavailable:2};for(const C of N.providers)Nse.has(C.provider)?j.push(C):jse.has(C.provider)?x.push(C):C.overallStatus==="available"?k.push(C):_.push(C);return k.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),x.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),j.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),_.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),{available:k,local:x,speech:j,unavailable:_}}return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🧠",title:"Model Provider Status",description:"Real-time health check of all AI providers and their available models. Providers are grouped into sections: Available cloud → Local → Unavailable."}),i.jsx(Mse,{onRefresh:v,loading:a}),i.jsx(aoe,{}),i.jsx(ioe,{}),i.jsx(soe,{}),a&&!e&&i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Testing provider connections…"})]}),o&&i.jsxs("div",{className:"empty-state",style:{color:"var(--accent-red)",border:"1px solid color-mix(in srgb, var(--accent-red) 27%, transparent)",borderRadius:10,padding:16,marginBottom:16},children:["⚠️ ",o]}),e&&i.jsxs(i.Fragment,{children:[i.jsx(Wi,{tiles:[{key:"listed-models",icon:"🧠",value:String(e.totalModels),label:"Listed models (live probe)",tone:"accent"},{key:"tracked-models",icon:"📦",value:String((h==null?void 0:h.trackedModels)??(n==null?void 0:n.total)??0),label:"Tracked models (registry)",tone:"accent"},{key:"available",icon:"✅",value:String(e.available),label:"Available",tone:"ok"},{key:"limited",icon:"🟡",value:String(e.limited),label:"Limited",tone:"warn"},{key:"unavailable",icon:"🔴",value:String(e.unavailable),label:"Unavailable",tone:"danger"},{key:"listed-providers",icon:"🔌",value:String(e.providers.length),label:"Listed providers (live probe)",tone:"accent"},{key:"tracked-providers",icon:"🗂️",value:String((h==null?void 0:h.trackedProviders)??((w=n==null?void 0:n.providers)==null?void 0:w.length)??0),label:"Tracked providers (registry)",tone:"accent"}]}),i.jsx(Ise,{data:e}),(()=>{const{available:N,local:k,speech:x,unavailable:j}=S(e);return i.jsxs(i.Fragment,{children:[i.jsx(tf,{icon:"✅",title:"Available Cloud Providers",count:N.length}),N.map(_=>i.jsx(ef,{provider:_},_.provider)),i.jsx(tf,{icon:"🏠",title:"Local Providers",count:k.length}),k.map(_=>i.jsx(ef,{provider:_},_.provider)),i.jsx(tf,{icon:"⛔",title:"Unavailable Providers",count:j.length}),j.map(_=>i.jsx(ef,{provider:_},_.provider)),i.jsx(tf,{icon:"🎙️",title:"Speech / TTS Providers",count:x.length}),x.map(_=>i.jsx(ef,{provider:_},_.provider))]})})(),i.jsx(Jse,{value:d,onChange:f,totalCount:e.providers.reduce((N,k)=>N+k.models.length,0)}),i.jsx(eoe,{value:c,onChange:u}),i.jsx(noe,{providers:e.providers,colsPerRow:c,searchQuery:d}),n&&i.jsx(Wse,{data:n}),n&&i.jsx(Zse,{registry:n}),e&&!n&&i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"14px 20px",marginTop:24,fontSize:12,color:"var(--text-secondary)",lineHeight:1.6},children:["📦 Registry & telemetry sections are hidden — this dashboard server did not return model-registry data (it may be an"," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"older version"}),"). Restart the dashboard from the latest install to see them."]}),i.jsx(roe,{}),i.jsxs("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:16},children:["Last checked: ",new Date(e.lastChecked).toLocaleTimeString()," · ","Auto-refreshes every 60s"]})]})]})}const loe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},coe={local:"Ollama (Local)",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter"},uoe={trivial:"🟢",simple:"🔵",moderate:"🟡",complex:"🟠",critical:"🔴"},fM={trivial:"🟢 trivial",simple:"🔵 simple",moderate:"🟡 moderate",complex:"🟠 complex",critical:"🔴 critical"},doe={chat:"💬 chat",orchestrator:"🔀 orchestrator",explain:"🔍 explain",benchmark:"📈 benchmark",eval:"🎯 eval"},Ji=[{key:"request",icon:"🎯",title:"Request"},{key:"candidates",icon:"⚖️",title:"Candidates"},{key:"exclusions",icon:"🚫",title:"Exclusions"},{key:"pick",icon:"✅",title:"Pick"}],foe=2400;function Hg(e){return loe[e]||"🔌"}function sE(e){return coe[e]||e}function d0(e){return e&&doe[e]||e||"unknown"}function hoe(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function oE(e){const t=Math.ceil(e/6e4);return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`}const poe=8;function lE(e,t){const n=t.quota,r=n==null?void 0:n.entries.find(s=>s.provider===e);return r!=null&&r.parked?r.resetsInMs>0?`quota exhausted — auto re-enables in ${oE(r.resetsInMs)}`:"quota exhausted — parked":r&&r.cooldownRemaining>0?`circuit-breaker cooldown — ${oE(r.cooldownRemaining)} remaining`:t.providers.some(s=>s.provider===e)?"ranked below the candidate cutoff for this complexity":"not scored for this complexity (no benchmark quality data)"}function moe(e){var s,o,l;const t=new Set;for(const c of e.providers)t.add(c.provider);if(e.usage)for(const c of Object.keys(e.usage.byProvider))t.add(c);if(e.bestModels)for(const c of e.bestModels)t.add(c.model.split("/")[0]);if(e.quota)for(const c of e.quota.entries)t.add(c.provider);const n=new Map(e.preference.map(c=>[c.complexity,c])),r=[],a=[...e.history??[]].sort((c,u)=>(u.timestamp??0)-(c.timestamp??0));for(const c of a.slice(0,poe)){const u=n.get(c.complexity),d=(s=u==null?void 0:u.providers)!=null&&s.length?u.providers.map(m=>({provider:m.provider,score:m.score,reason:m.reason})):[{provider:c.provider,score:c.score,reason:"actual pick recorded"}];d.some(m=>m.provider===c.provider)||d.push({provider:c.provider,score:c.score,reason:"actual pick recorded"});const f=new Set(d.map(m=>m.provider)),h=[...t].filter(m=>!f.has(m)).map(m=>({provider:m,reason:lE(m,e)})),p=(o=d.find(m=>m.provider===c.provider))==null?void 0:o.reason;r.push({id:c.id,label:`${d0(c.source)} · ${c.complexity} · ${(c.task||c.agentType).slice(0,26)}`,real:!0,complexity:c.complexity,task:c.task||c.agentType,agentType:c.agentType,source:c.source,timestamp:c.timestamp,winner:`${c.provider}/${c.model}`,winnerScore:c.score,winnerReason:p,candidates:d,exclusions:h})}if(r.length===0)for(const c of e.preference){const u=c.winner.split("/"),d=c.providers.map(m=>({provider:m.provider,score:m.score,reason:m.reason})),f=new Set(d.map(m=>m.provider)),h=[...t].filter(m=>!f.has(m)).map(m=>({provider:m,reason:lE(m,e)})),p=u[0];r.push({id:`profile-${c.complexity}`,label:`${fM[c.complexity]||c.complexity} — what the router would pick`,real:!1,complexity:c.complexity,task:p?`A ${c.complexity} task (auto-routed)`:`A ${c.complexity} task`,agentType:"chat",winner:c.winner,winnerScore:c.score,winnerReason:(l=d.find(m=>m.provider===p))==null?void 0:l.reason,candidates:d,exclusions:h})}return r}function goe(e,t){switch(e){case"request":return`A ${t.complexity} task arrives${t.source?` from ${d0(t.source)}`:""} and must be routed.`;case"candidates":return`${t.candidates.length} provider${t.candidates.length!==1?"s":""} are scored against the ${t.complexity} weight profile.`;case"exclusions":return t.exclusions.length>0?`${t.exclusions.length} provider${t.exclusions.length!==1?"s":""} known to the system are skipped before scoring.`:"Every known provider was scored — nothing was skipped.";case"pick":return t.winnerReason?`The top score wins: ${t.winner.split("/")[0]} ranked first — ${t.winnerReason}.`:`The top score wins: ${t.winner}.`}}function voe({value:e,color:t}){const n=Math.min(100,Math.max(0,e*100));return i.jsx("div",{style:{flex:1,background:"var(--bg-primary)",borderRadius:4,height:6,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${n}%`,background:t,height:"100%",transition:"width 0.4s ease"}})})}function yoe({icon:e,title:t,narration:n}){return i.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10,marginBottom:14},children:[i.jsx("span",{style:{fontSize:20,lineHeight:"24px"},children:e}),i.jsxs("div",{children:[i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)"},children:t}),i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginTop:2},children:n})]})]})}function boe({routing:e}){const t=b.useMemo(()=>moe(e),[e]),[n,r]=b.useState(""),[a,s]=b.useState(0),[o,l]=b.useState(!1);if(b.useEffect(()=>{t.length!==0&&(t.some(p=>p.id===n)||(r(t[0].id),s(0)))},[t,n]),b.useEffect(()=>{if(!o||t.length===0)return;const p=setInterval(()=>{s(m=>(m+1)%Ji.length)},foe);return()=>clearInterval(p)},[o,t.length]),t.length===0)return null;const c=t.find(p=>p.id===n)??t[0],u=Ji[a],d=()=>{s(p=>(p+Ji.length-1)%Ji.length),l(!1)},f=()=>{s(p=>(p+1)%Ji.length),l(!1)},h=()=>l(p=>!p);return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px solid var(--border-light)",padding:"18px 20px",marginBottom:16},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[i.jsx("span",{style:{fontSize:20},children:"🎬"}),i.jsx("h3",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},children:"Why did the router pick this?"}),c.real&&i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--ok-soft)",border:"1px solid var(--accent-green)",color:"var(--accent-green)"},children:"✓ real decision"})]}),i.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:"2px 0 12px 0"},children:"Narrated step-by-step replay of a routing decision — request, candidates, exclusions, and the pick. Scrubbable, or hit play."}),i.jsx("select",{"aria-label":"Routing decision to replay",value:n,onChange:p=>{r(p.target.value),s(0),l(!1)},style:{width:"100%",marginBottom:16,padding:"8px 10px",background:"var(--bg-primary)",color:"var(--text-primary)",fontSize:12,border:"1px solid var(--border)",borderRadius:8,outline:"none"},children:t.map(p=>i.jsxs("option",{value:p.id,style:{background:"var(--bg-primary)",color:"var(--text-primary)"},children:[p.real?"● ":"○ ",p.label]},p.id))}),i.jsx(yoe,{icon:u.icon,title:`${a+1}. ${u.title}${a>0?` — ${c.complexity}`:""}`,narration:goe(u.key,c)}),u.key==="request"&&i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"14px 16px"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",marginBottom:8},children:[i.jsxs("span",{style:{fontSize:12,padding:"2px 10px",borderRadius:12,background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-primary)"},children:[uoe[c.complexity]||"•"," ",fM[c.complexity]||c.complexity]}),i.jsxs("span",{style:{fontSize:12,padding:"2px 10px",borderRadius:12,background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🤖 ",c.agentType]}),c.source&&i.jsx("span",{style:{fontSize:12,padding:"2px 10px",borderRadius:12,background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:d0(c.source)}),c.timestamp&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:hoe(c.timestamp)})]}),i.jsx("div",{style:{fontSize:13,color:"var(--text-primary)"},children:c.task})]}),u.key==="candidates"&&i.jsxs("div",{children:[c.candidates.map((p,m)=>{const g=p.provider===c.winner.split("/")[0];return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:g?"var(--ok-soft)":"var(--bg-primary)",border:`1px solid ${g?"var(--accent-green)":"var(--border-light)"}`,borderRadius:8,marginBottom:6},children:[i.jsxs("span",{style:{width:18,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:[m+1,"."]}),i.jsxs("span",{style:{width:104,color:g?"var(--accent-green)":"var(--text-primary)",fontWeight:g?600:400,whiteSpace:"nowrap",fontSize:12},children:[Hg(p.provider)," ",sE(p.provider).split(" ")[0],g&&" 👑"]}),i.jsx(voe,{value:p.score,color:g?"var(--accent-green)":"var(--accent-blue)"}),i.jsx("span",{style:{width:44,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:p.score.toFixed(3)})]},p.provider)}),c.candidates.length>0&&i.jsxs("div",{style:{marginTop:10},children:[i.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",marginBottom:4},children:"Why each ranked where it did"}),c.candidates.map(p=>i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:3},children:[i.jsx("span",{style:{color:"var(--text-primary)"},children:p.provider}),": ",p.reason||"scored"]},p.provider))]})]}),u.key==="exclusions"&&(c.exclusions.length>0?i.jsx("div",{children:c.exclusions.map(p=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:8,marginBottom:6},children:[i.jsx("span",{style:{fontSize:13},children:"🚫"}),i.jsxs("span",{style:{width:110,color:"var(--text-primary)",whiteSpace:"nowrap",fontSize:12},children:[Hg(p.provider)," ",sE(p.provider).split(" ")[0]]}),i.jsx("span",{style:{flex:1,fontSize:12,color:"var(--text-secondary)"},children:p.reason})]},p.provider))}):i.jsx("div",{style:{background:"var(--bg-primary)",border:"1px dashed var(--border)",borderRadius:10,padding:"14px 16px",color:"var(--text-secondary)",fontSize:13},children:"✅ No exclusions — every provider known to the system was scored for this decision."})),u.key==="pick"&&i.jsxs("div",{style:{background:"var(--ok-soft)",border:"1px solid var(--accent-green)",borderRadius:10,padding:"16px 18px"},children:[i.jsx("div",{style:{fontSize:12,color:"var(--accent-green)",fontWeight:600,marginBottom:6},children:"🏆 ROUTER PICK"}),i.jsxs("div",{style:{fontSize:16,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",marginBottom:4},children:[Hg(c.winner.split("/")[0])," ",c.winner]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:10},children:["composite score ",i.jsx("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--accent-green)"},children:c.winnerScore.toFixed(3)}),!c.real&&" · profile preview"]}),c.winnerReason&&i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",borderTop:"1px solid color-mix(in srgb, var(--accent-green) 33%, transparent)",paddingTop:8},children:[i.jsx("span",{style:{color:"var(--text-primary)"},children:"Why:"})," ",c.winnerReason]})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:16},children:[i.jsx("button",{onClick:d,"aria-label":"Previous step",style:Gg,children:"◀"}),i.jsx("button",{onClick:h,"aria-label":o?"Pause playback":"Play playback",style:{...Gg,minWidth:84,color:o?"var(--accent-yellow)":"var(--accent-green)"},children:o?"⏸ Pause":"▶ Play"}),i.jsx("button",{onClick:f,"aria-label":"Next step",style:Gg,children:"▶"}),i.jsx("div",{style:{display:"flex",gap:6,marginLeft:8},children:Ji.map((p,m)=>i.jsx("button",{"aria-label":`Go to step ${m+1}: ${p.title}`,onClick:()=>{s(m),l(!1)},style:{width:22,height:22,borderRadius:11,border:"none",cursor:"pointer",fontSize:10,lineHeight:"22px",padding:0,background:m===a?"var(--accent-blue)":"var(--bg-hover)",color:m===a?"var(--bg-primary)":"var(--text-secondary)"},title:p.title,children:p.icon},p.key))}),i.jsxs("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--text-muted)"},children:["step ",a+1,"/",Ji.length]})]})]})}const Gg={background:"var(--bg-hover)",color:"var(--text-primary)",border:"1px solid var(--border)",borderRadius:8,padding:"6px 12px",fontSize:13,cursor:"pointer",transition:"background 0.15s"},xoe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},woe={local:"Ollama (Local)",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter"},hM={trivial:"🟢",simple:"🔵",moderate:"🟡",complex:"🟠",critical:"🔴"};function Ur(e){return xoe[e]||"🔌"}function Ai(e){return woe[e]||e}function rp(e,t=1){return`${(e*100).toFixed(t)}%`}function koe(e){return`$${e.toFixed(6)}`}function nr({icon:e,title:t,subtitle:n,children:r}){return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px solid var(--border-light)",padding:"18px 20px",marginBottom:16},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[i.jsx("span",{style:{fontSize:20},children:e}),i.jsx("h3",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},children:t})]}),n&&i.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:"2px 0 12px 0"},children:n}),!n&&i.jsx("div",{style:{height:6}}),r]})}function f0({value:e,color:t}){const n=Math.min(100,Math.max(0,e*100));return i.jsx("div",{style:{flex:1,background:"var(--bg-primary)",borderRadius:4,height:6,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${n}%`,background:t,height:"100%",transition:"width 0.4s ease"}})})}function vi(e,t,n="var(--text-secondary)"){return{fontSize:10,padding:"1px 7px",borderRadius:9,background:e,border:`1px solid ${t}`,color:n,fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap"}}function Soe(){return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px dashed var(--border)",borderRadius:10,padding:"18px 20px",color:"var(--text-secondary)",fontSize:13,textAlign:"center"},children:["📊 No routing data yet — run ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff benchmark"})," to populate provider quality scores, or use Auto routing (",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff model switch auto"}),") to build per-agent best-model stats over time."]})}const joe={chat:"💬 chat",orchestrator:"🔀 orchestrator",explain:"🔍 explain",benchmark:"📈 benchmark",eval:"🎯 eval"},Noe={trivial:"🟢 trivial",simple:"🔵 simple",moderate:"🟡 moderate",complex:"🟠 complex",critical:"🔴 critical"};function pM(e){return joe[e]||e}function mM(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function cE(e){if(e<=0)return"now";const t=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4);return t>0?`${t}h ${n}m`:n>0?`${n}m`:`${Math.ceil(e/1e3)}s`}function Eoe({label:e,value:t,total:n,color:r}){const a=n>0?t/n*100:0;return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:5},children:[i.jsx("span",{style:{width:110,color:"var(--text-primary)",whiteSpace:"nowrap",fontSize:12},children:e}),i.jsx("div",{style:{flex:1,background:"var(--bg-primary)",borderRadius:4,height:6,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${Math.min(100,a)}%`,background:r,height:"100%",transition:"width 0.4s ease"}})}),i.jsx("span",{style:{width:34,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:t})]})}function _oe({usage:e}){if(!e.total)return null;const t=e.total,n=Object.entries(e.byProvider).sort((a,s)=>s[1]-a[1]).slice(0,6),r=Object.entries(e.byModel).sort((a,s)=>s[1]-a[1]).slice(0,5);return i.jsxs(nr,{icon:"🧮",title:"Routing Usage — actual picks over time",subtitle:"Recorded from live chat, orchestrator runs, explain snapshots, benchmark --routing, and eval --routing",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.total}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"total decisions"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:e.last24h>0?"var(--accent-green)":"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.last24h}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"last 24h"})]})]}),i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:"By provider"}),n.map(([a,s])=>i.jsx(Eoe,{label:`${Ur(a)} ${Ai(a).split(" ")[0]}`,value:s,total:t,color:"var(--accent-blue)"},a)),Object.keys(e.bySource).length>0&&i.jsx("div",{style:{marginTop:12,display:"flex",gap:6,flexWrap:"wrap"},children:Object.entries(e.bySource).sort((a,s)=>s[1]-a[1]).map(([a,s])=>i.jsxs("span",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:20,padding:"3px 10px",fontSize:11,color:"var(--text-primary)"},children:[pM(a)," · ",s]},a))}),r.length>0&&i.jsxs("div",{style:{marginTop:14},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:"Most-picked models"}),r.map(([a,s])=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:5},children:[i.jsx("span",{style:{flex:1,color:"var(--text-primary)",fontSize:12,fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:a,children:a.length>42?a.slice(0,39)+"…":a}),i.jsx("span",{style:{width:34,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:s})]},a))]})]})}function Coe({history:e}){return e.length?i.jsx(nr,{icon:"🕓",title:"Audit Trail — routing decision timeline",subtitle:"Every explain snapshot (and routing-mode pick) persisted for transparency",children:i.jsx("div",{style:{maxHeight:320,overflowY:"auto",paddingRight:4},children:e.map(t=>i.jsxs("div",{style:{display:"flex",gap:10,padding:"8px 4px",borderBottom:"1px solid var(--border-light)"},children:[i.jsx("div",{style:{width:52,flexShrink:0,fontSize:11,color:"var(--text-muted)",paddingTop:2},children:mM(t.timestamp)}),i.jsxs("div",{style:{flex:1,minWidth:0},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:pM(t.source)}),i.jsxs("span",{style:{fontSize:12,fontWeight:600,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:`${t.provider}/${t.model}`,children:[Ur(t.provider)," ",t.provider,"/",t.model.length>26?t.model.slice(0,23)+"…":t.model]}),t.complexity&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)"},children:Noe[t.complexity]||t.complexity}),t.agenticCapable===!1&&i.jsx("span",{style:vi("var(--danger-soft)","var(--accent-red)"),title:t.overrideReason?`override: ${t.overrideReason}`:void 0,children:"⚠️ weak model"}),t.fallbackFrom&&i.jsxs("span",{style:vi("var(--bg-tertiary)","var(--border-hover)"),children:["↩ from ",t.fallbackFrom]})]}),i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginTop:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:t.task,children:t.task||t.agentType})]})]},t.id))})}):null}function Aoe({routing:e}){return e.preference.length?i.jsx(nr,{icon:"🤖",title:"Auto Router — What the agent would pick",subtitle:"Complexity-weighted scoring across reasoning, speed, cost, privacy, and reliability (real provider pricing)",children:i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Complexity"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Winner"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Score"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"All providers"})]})}),i.jsx("tbody",{children:e.preference.map(t=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"10px 12px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:[hM[t.complexity]||"•"," ",t.complexity]}),i.jsx("td",{style:{padding:"10px 12px",whiteSpace:"nowrap"},children:i.jsxs("span",{style:{color:"var(--accent-green)",fontWeight:600},children:[Ur(t.winner.split("/")[0])," ",t.winner]})}),i.jsx("td",{style:{padding:"10px 12px",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:t.score.toFixed(3)}),i.jsx("td",{style:{padding:"10px 12px",minWidth:300},children:t.providers.map((n,r)=>i.jsxs("div",{style:{marginBottom:5},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[i.jsxs("span",{style:{width:16,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:[r+1,"."]}),i.jsxs("span",{style:{width:90,color:"var(--text-primary)",whiteSpace:"nowrap",fontSize:12},children:[Ur(n.provider)," ",Ai(n.provider).split(" ")[0]]}),i.jsx(f0,{value:n.score,color:r===0?"var(--accent-green)":"var(--accent-blue)"}),i.jsx("span",{style:{width:40,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:n.score.toFixed(2)})]}),(n.capabilityFit!==void 0||n.costSource||n.contextUtilization!==void 0)&&i.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap",paddingLeft:16,marginTop:2},children:[n.capabilityFit!==void 0&&i.jsxs("span",{style:vi("var(--bg-tertiary)","var(--border-hover)"),children:["🎯 fit ",n.capabilityFit,"%"]}),n.costSource==="measured"&&n.costBasis?i.jsxs("span",{style:vi("var(--ok-soft)","var(--accent-green)","var(--accent-green)"),children:["📏 measured ",xt(n.costBasis.inputTokens),"→",xt(n.costBasis.outputTokens)," tok"]}):i.jsx("span",{style:vi("var(--bg-tertiary)","var(--border-hover)"),children:"📐 estimated"}),n.contextUtilization!==void 0&&n.contextWindowTokens!==void 0&&i.jsxs("span",{style:vi("var(--bg-tertiary)","var(--accent-blue)","var(--accent-blue)"),children:["⏳ ctx ",n.contextUtilization,"% (",xt(n.contextWindowTokens)," tok)"]})]})]},n.provider))})]},t.complexity))})]})})}):null}function Toe({routing:e}){return e.providers.length?i.jsx(nr,{icon:"📈",title:"Provider Benchmark Quality",subtitle:"Measured from your own `buff benchmark` runs — blended into Auto routing decisions",children:i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Provider"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Runs"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Avg Quality"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Pass Rate"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Total Cost"})]})}),i.jsx("tbody",{children:e.providers.map(t=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"10px 12px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:[Ur(t.provider)," ",Ai(t.provider)]}),i.jsx("td",{style:{padding:"10px 12px",color:"var(--text-secondary)"},children:t.runs}),i.jsx("td",{style:{padding:"10px 12px"},children:i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[i.jsx(f0,{value:t.avgQuality,color:"var(--accent-blue)"}),i.jsx("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:"var(--text-secondary)",width:44,textAlign:"right"},children:rp(t.avgQuality)})]})}),i.jsx("td",{style:{padding:"10px 12px",color:t.passRate>=.8?"var(--accent-green)":"var(--accent-yellow)"},children:rp(t.passRate)}),i.jsx("td",{style:{padding:"10px 12px",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:koe(t.totalCostUsd)})]},t.provider))})]})})}):null}const uE=["trivial","simple","moderate","complex","critical"];function Ooe(e){return e>=.7?"var(--accent-green)":e>=.45?"var(--accent-yellow)":"var(--accent-red)"}function Poe({bandit:e}){const t=Object.keys(e.priors).sort();if(!e.enabled||t.length===0)return null;const n=e.learningHistory.slice(-15).reverse();return i.jsxs(nr,{icon:"🎰",title:"Bandit Learning — Thompson-sampling priors",subtitle:"Beta(α, β) per provider × complexity bucket, learned from real task outcomes (routing.bandit = true). Higher expected win rate = more successful history.",children:[i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 10px",textAlign:"left",fontWeight:500},children:"Provider"}),uE.map(r=>i.jsxs("th",{style:{padding:"8px 10px",textAlign:"center",fontWeight:500},children:[hM[r]||"•"," ",r]},r))]})}),i.jsx("tbody",{children:t.map(r=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"8px 10px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:[Ur(r)," ",Ai(r).split(" ")[0]]}),uE.map(a=>{var o;const s=(o=e.priors[r])==null?void 0:o[a];return!s||s.alpha===0&&s.beta===0?i.jsx("td",{style:{padding:"8px 10px",textAlign:"center",color:"var(--text-muted)"},children:"·"},a):i.jsxs("td",{style:{padding:"8px 10px",textAlign:"center"},children:[i.jsxs("div",{style:{fontSize:13,fontWeight:600,color:Ooe(s.expectedWinRate),fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[(s.expectedWinRate*100).toFixed(0),"%"]}),i.jsxs("div",{style:{fontSize:10,color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["α",s.alpha," β",s.beta]})]},a)})]},r))})]})}),n.length>0&&i.jsxs("div",{style:{marginTop:16},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:8},children:"Recent learning history"}),i.jsx("div",{style:{maxHeight:180,overflowY:"auto",paddingRight:4},children:n.map((r,a)=>{const s=r.outcome==="success"?"✅":r.outcome==="escalated"?"🔄":"❌",o=new Date(r.timestamp).toLocaleTimeString();return i.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",padding:"5px 4px",borderBottom:"1px solid var(--border-light)"},children:[i.jsx("span",{children:s}),i.jsx("span",{style:{color:"var(--text-primary)",fontSize:12,width:110,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r.provider,children:r.provider}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",width:80},children:r.complexity}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["reward ",r.reward.toFixed(2)]}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:o})]},a)})})]}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Cold-start Beta(1,1) behaves like the heuristic router until outcomes accumulate. Enable learning with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff config set routing.bandit true"}),"."]})]})}function Roe(e,t=1){return`${e>0?"+":""}${(e*100).toFixed(t)}%`}function Moe({state:e}){const t={pass:{bg:"var(--ok-soft)",border:"var(--accent-green)",color:"var(--accent-green)",label:"✓ pass"},fail:{bg:"var(--danger-soft)",border:"var(--accent-red)",color:"var(--accent-red)",label:"✗ fail"},neutral:{bg:"var(--bg-tertiary)",border:"var(--border-hover)",color:"var(--text-secondary)",label:"○ neutral"}}[e];return i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:t.bg,border:`1px solid ${t.border}`,color:t.color},children:t.label})}function Ioe({promotion:e}){if(!e.decisionCount)return null;const t=e.promoted?{icon:"🎖️",label:"Promoted — the bandit beats the heuristic",color:"var(--accent-green)"}:e.sufficient?{icon:"⚠️",label:"Not promoted — the bandit is not (yet) better",color:"var(--accent-yellow)"}:{icon:"⏳",label:"Collecting data — need more diverged decisions",color:"var(--accent-blue)"},n=e.minDecisions>0?Math.min(100,Math.round(e.divergedCount/e.minDecisions*100)):0,r=[{key:"quality",label:"Quality ↑",delta:e.qualityDelta,state:e.criteria.quality?"pass":"fail",note:"needs > +2%"},{key:"cost",label:"Cost ↓",delta:e.costDelta,state:e.criteria.cost?"pass":"fail",note:"regression < +1%"},{key:"latency",label:"Latency ↓",delta:e.latencyDelta,state:e.latencyMeasured?e.criteria.latency?"pass":"fail":"neutral",note:e.latencyMeasured?"regression < +5%":"no latency measurements yet"}];return i.jsxs(nr,{icon:"🎖️",title:"Promotion Gate — is the bandit better than the heuristic?",subtitle:"A/B verdict from real trajectories (router-promotion.jsonl): quality must improve >2% while cost and latency don't regress (ruflo ADR-150)",children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:14},children:[i.jsx("span",{style:{fontSize:22},children:t.icon}),i.jsx("span",{style:{fontSize:14,fontWeight:600,color:t.color},children:t.label})]}),i.jsxs("div",{style:{marginBottom:14},children:[i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"var(--text-secondary)",marginBottom:5},children:[i.jsxs("span",{children:[e.divergedCount," diverged decisions"]}),i.jsxs("span",{children:["need ",e.minDecisions," for a verdict"]})]}),i.jsx("div",{style:{background:"var(--bg-primary)",borderRadius:4,height:8,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${n}%`,background:e.sufficient?"var(--accent-green)":"var(--accent-blue)",height:"100%",transition:"width 0.4s ease"}})}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:4},children:[e.decisionCount," total decisions logged"]})]}),r.map(a=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 0",borderBottom:"1px solid var(--border-light)"},children:[i.jsx("span",{style:{width:70,fontSize:12,color:"var(--text-primary)"},children:a.label}),i.jsx("span",{style:{width:92,fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:"var(--text-secondary)"},children:Roe(a.delta)}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",flex:1},children:a.note}),i.jsx(Moe,{state:a.state})]},a.key)),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Run auto-routed tasks with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"routing.bandit true"})," to accumulate A/B decisions. The gate does not disable the bandit — it tells you whether it's actually winning."]})]})}function $oe({ml:e}){if(!e.enabled||e.recordCount===0)return null;const t=e.providers.filter(r=>r.trusted),n=e.providers.filter(r=>!r.trusted);return i.jsxs(nr,{icon:"🧠",title:"ML Router — learned from similar tasks",subtitle:"Task-feature kNN (ruflo neural-router analog): outcomes of the most similar PAST tasks nudge each provider's score. Win rate is similarity-weighted; factor = 1 + 0.5 × (winRate − 0.5), trusted only after 5 similar-task samples.",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(e.recordCount)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"learned tasks"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-green)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:t.length}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"trusted providers"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-yellow)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-yellow)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:n.length}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"still learning"})]})]}),i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:8},children:e.providers.map(r=>i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"10px 14px"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[i.jsx("span",{children:Ur(r.provider)}),i.jsx("span",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)"},children:Ai(r.provider)}),r.trusted?i.jsxs("span",{style:vi("color-mix(in srgb, var(--accent-green) 15%, transparent)","var(--accent-green)","var(--accent-green)"),children:["trusted · ",r.samples," samples"]}):i.jsxs("span",{style:vi("color-mix(in srgb, var(--accent-yellow) 15%, transparent)","var(--accent-yellow)","var(--accent-yellow)"),children:[r.samples,"/5 samples"]}),r.model&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace",marginLeft:"auto"},children:r.model.length>30?r.model.slice(0,27)+"…":r.model})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[i.jsxs("div",{style:{width:70,fontSize:11,color:"var(--text-secondary)"},children:["win ",rp(r.winRate,0)]}),i.jsx(f0,{value:r.winRate,color:r.winRate>=.5?"var(--accent-green)":"var(--accent-red)"}),i.jsxs("div",{style:{width:74,fontSize:11,color:"var(--text-secondary)",textAlign:"right"},children:["factor ",i.jsxs("span",{style:{color:r.trusted&&r.factor!==1?"var(--accent-blue)":"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[r.factor.toFixed(2),"×"]})]})]})]},r.provider))}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Enabled with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff config set routing.mlRouter true"})," — the factor only adjusts scores when the provider has ≥ 5 similar-task wins (cold start is neutral)."]})]})}function Loe({routing:e}){return e.bestModels.length?i.jsx(nr,{icon:"🏆",title:"Best Model per Agent (from your runs)",subtitle:"Success-rate-ranked models from agent-stats — the Auto router boosts the proven winner",children:i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:10},children:e.bestModels.map(t=>i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 14px",minWidth:200,flex:"1 1 200px",transition:"border-color 0.2s, box-shadow 0.2s"},onMouseEnter:n=>{n.currentTarget.style.borderColor="var(--accent-green)",n.currentTarget.style.boxShadow="0 2px 10px color-mix(in srgb, var(--accent-green) 13%, transparent)"},onMouseLeave:n=>{n.currentTarget.style.borderColor="var(--border-light)",n.currentTarget.style.boxShadow="none"},children:[i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:4},children:[Ur(t.model.split("/")[0])," ",t.agentType]}),i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t.model,children:t.model.length>34?t.model.slice(0,31)+"…":t.model}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:6},children:[i.jsxs("span",{style:{color:t.successRate>=.8?"var(--accent-green)":"var(--accent-yellow)"},children:[rp(t.successRate,0)," success"]})," · ",t.runs," run",t.runs!==1?"s":""]})]},`${t.agentType}-${t.model}`))})}):null}function Doe({retrieval:e}){var l,c;if(!e.enabled&&e.repoChunks===0)return null;const t=e.totalSavedTokens??0,n=e.avgPctReduced??0,r=e.lastCall,a=e.totalCalls??0,s=e.totalRetrievals??0,o=e.totalFailovers??0;return i.jsxs(nr,{icon:"🧠",title:"Vector Retrieval — token savings",subtitle:"Large contexts are chunked, embedded locally (bge-small-en-v1.5), and reduced to the top-k relevant chunks before the LLM — saving tokens so free quotas stretch further. Complements the quota ledger: retrieval saves, the ledger manages.",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-green)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(t)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"tokens saved"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsxs("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[n.toFixed(1),"%"]}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"avg context reduction"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-yellow)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-yellow)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(e.repoChunks)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"repo chunks indexed"})]})]}),i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",fontSize:12,color:"var(--text-secondary)",marginBottom:14},children:[i.jsxs("span",{children:["📞 ",a," context calls · 🧠 ",s," retrievals used · ⚠️ ",o," failovers (full-context fallback)"]}),e.dimensions>0&&i.jsxs("span",{children:["· ",e.dimensions,"-dim embeddings"]})]}),r&&r.used!==!1&&((l=r.hits)==null?void 0:l.length)>0&&i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 16px",marginBottom:12},children:[i.jsxs("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-primary)",marginBottom:8},children:["Latest retrieval — ",xt(r.originalTokens)," → ",xt(r.reducedTokens)," tokens",i.jsxs("span",{style:{color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[" (−",(c=r.pctReduced)==null?void 0:c.toFixed(0),"%)"]})]}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)"},children:r.hits.slice(0,5).map(u=>i.jsxs("div",{style:{marginTop:3},children:[i.jsx("span",{style:{color:"var(--accent-blue)"},children:"▸"})," ",u.filePath," ",i.jsxs("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["(sim ",u.similarity.toFixed(3),")"]})]},u.filePath))})]}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)"},children:["Pre-index your repo with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff retrieval index <dir>"}),", query it with"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:'buff retrieval query "<question>"'}),", and see the same stats with"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff retrieval stats"}),"."]})]})}function Boe({quota:e}){var c;if((!e.enabled||e.entries.length===0)&&(((c=e.events)==null?void 0:c.length)??0)===0)return null;const t=e.entries.reduce((u,d)=>u+d.tokensConsumed,0),n=e.entries.reduce((u,d)=>u+d.requests,0),r=e.entries.filter(u=>u.parked).length,a=e.freeTokens??t-(e.paidTokens??0),s=e.paidTokens??0,o=e.estimatedSavedUsd??0,l=t>0?a/t*100:0;return i.jsxs(nr,{icon:"📒",title:"Quota Ledger — free-tier usage & auto re-enable",subtitle:"Tokens/requests per provider × model with reset windows. Exhausted providers are parked (excluded from Auto routing) and re-enable when the window rolls.",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(t)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"tokens tracked"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:n}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"requests"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:r>0?"var(--accent-yellow)":"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:r}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"parked"})]})]}),i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:16},children:[i.jsxs("div",{style:{flex:"1 1 200px",background:"var(--bg-primary)",borderRadius:10,padding:"12px 16px",border:"1px solid var(--accent-green)"},children:[i.jsx("div",{style:{fontSize:20,fontWeight:700,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(a)}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:["tokens on free/local · ",l.toFixed(0),"% of usage"]}),i.jsxs("div",{style:{fontSize:12,color:"var(--accent-green)",marginTop:4,fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["💰 est. $",o.toFixed(4)," saved"]})]}),i.jsxs("div",{style:{flex:"1 1 200px",background:"var(--bg-primary)",borderRadius:10,padding:"12px 16px",border:"1px solid var(--accent-yellow)"},children:[i.jsx("div",{style:{fontSize:20,fontWeight:700,color:s>0?"var(--accent-yellow)":"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(s)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"tokens on paid providers (spend triggered)"}),i.jsxs("div",{style:{fontSize:12,color:s>0?"var(--accent-yellow)":"var(--text-secondary)",marginTop:4},children:[e.paidRequests??0," paid request",e.paidRequests===1?"":"s"]})]})]}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 10px",textAlign:"left",fontWeight:500},children:"Provider / Model"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"right",fontWeight:500},children:"Tokens"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"right",fontWeight:500},children:"Requests"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"right",fontWeight:500},children:"Resets in"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"center",fontWeight:500},children:"State"})]})}),i.jsx("tbody",{children:e.entries.map(u=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"8px 10px",whiteSpace:"nowrap"},children:[i.jsxs("span",{style:{color:"var(--text-primary)"},children:[Ur(u.provider)," ",Ai(u.provider).split(" ")[0]]}),i.jsxs("span",{style:{color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[" / ",u.model.length>24?u.model.slice(0,21)+"…":u.model]})]}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:xt(u.tokensConsumed)}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:u.requests}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"right",color:"var(--text-secondary)",whiteSpace:"nowrap"},children:cE(u.resetsInMs)}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"center"},children:u.parked?i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--danger-soft)",border:"1px solid var(--accent-red)",color:"var(--accent-red)"},children:"⏸ parked"}):i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--ok-soft)",border:"1px solid var(--accent-green)",color:"var(--accent-green)"},children:"✓ available"})})]},`${u.provider}|${u.model}`))})]})}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Configure limits with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff config set routing.quota.gemini.requestsPerWindow 1500"}),"; the ledger always tracks usage but only parks when limits are set."]}),e.parkedAccounts&&e.parkedAccounts.length>0&&i.jsxs("div",{style:{marginTop:18},children:[i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",marginBottom:10},children:"🔑 Parked Accounts — multi-account key rotation"}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:8},children:"Accounts skipped predictively by the failover walk (rate-limit / auth). Fingerprints only — raw keys are never stored."}),i.jsx("div",{style:{maxHeight:180,overflowY:"auto",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"8px 0"},children:e.parkedAccounts.map((u,d)=>{const f=u.reason==="auth"?"auth":u.reason==="rate-limit"?"rate-limit":u.reason||"cooldown",h=u.reason==="rate-limit"?"var(--accent-yellow)":"var(--accent-red)";return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 14px",borderBottom:d<e.parkedAccounts.length-1?"1px solid var(--bg-card)":"none"},children:[i.jsx("span",{style:{fontSize:13},children:"🔒"}),i.jsxs("span",{style:{width:90,flexShrink:0,fontSize:12,color:"var(--text-primary)"},children:[Ur(u.provider)," ",Ai(u.provider).split(" ")[0]]}),i.jsxs("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},title:u.accountId,children:["#",u.accountId.slice(0,8)]}),i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--bg-card)",border:`1px solid ${h}`,color:h,textAlign:"center"},children:f}),i.jsx("span",{style:{flex:1}}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-muted)",whiteSpace:"nowrap"},children:["re-admits in ",cE(u.remainingMs)]})]},`${u.provider}-${u.accountId}-${d}`)})})]}),e.events&&e.events.length>0&&i.jsxs("div",{style:{marginTop:18},children:[i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",marginBottom:10},children:"🛟 Failover Timeline — quota management & mid-session swaps"}),i.jsx("div",{style:{maxHeight:220,overflowY:"auto",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"8px 0"},children:e.events.map((u,d)=>{const f=u.type==="parked"?"⏸":u.type==="re-enabled"?"🔁":u.type==="released"?"✅":"⚡",h=u.type==="parked"?"var(--accent-red)":u.type==="re-enabled"||u.type==="released"?"var(--accent-green)":"var(--accent-yellow)",p=u.type==="parked"?"parked":u.type==="re-enabled"?"re-enabled":u.type==="released"?"released":"failover";return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 14px",borderBottom:d<e.events.length-1?"1px solid var(--bg-card)":"none"},children:[i.jsx("span",{style:{fontSize:13},children:f}),i.jsx("span",{style:{width:80,flexShrink:0,fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--bg-card)",border:`1px solid ${h}`,color:h,textAlign:"center"},children:p}),i.jsxs("span",{style:{flex:1,fontSize:12,color:"var(--text-primary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[Ur(u.provider)," ",Ai(u.provider)]}),u.reason&&i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:u.reason}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",whiteSpace:"nowrap"},children:mM(u.timestamp)})]},`${u.timestamp}-${d}`)})})]})]})}function _f({ok:e,children:t}){return i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,padding:"3px 9px",borderRadius:8,background:e===!1?"var(--danger-soft)":"var(--ok-soft)",border:`1px solid ${e===!1?"var(--accent-red)":"var(--accent-green)"}`,color:e===!1?"var(--accent-red)":"var(--accent-green)",whiteSpace:"nowrap"},children:t})}function zoe({governance:e}){var r,a,s,o,l;if(!e.enabled)return i.jsx(nr,{icon:"⚖️",title:"Admin Governance Policy",subtitle:"Hard-constraint rules the Auto router enforces on every pick",children:i.jsxs("div",{style:{fontSize:13,color:"var(--text-secondary)"},children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"Fully permissive"})," — no governance rules active; any provider × model is eligible.",i.jsxs("div",{style:{marginTop:6,fontSize:12,color:"var(--text-muted)"},children:["Add rules with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff admin allow <provider>"})," ·"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff admin deny <provider>"})," ·"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff admin max-cost <usd>"})]})]})});const t=[];(r=e.allowProviders)!=null&&r.length&&t.push({label:"allow providers",items:e.allowProviders}),(a=e.denyProviders)!=null&&a.length&&t.push({label:"deny providers",items:e.denyProviders,deny:!0}),(s=e.allowModels)!=null&&s.length&&t.push({label:"allow models",items:e.allowModels}),(o=e.denyModels)!=null&&o.length&&t.push({label:"deny models",items:e.denyModels,deny:!0});const n=[];return e.maxCostUsd!==void 0&&n.push(`max cost $${e.maxCostUsd}`),e.minPrivacyForPii!==void 0&&e.minPrivacyForPii<1&&n.push(`PII min privacy ${e.minPrivacyForPii}`),(l=e.piiPatterns)!=null&&l.length&&n.push(`PII guard (${e.piiPatterns.length} patterns)`),e.allowUnblock===!1&&n.push("unblock admin-hard"),i.jsxs(nr,{icon:"⚖️",title:"Admin Governance Policy",subtitle:"Hard-constraint rules — violating providers are eliminated, never just scored lower",children:[i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:10},children:[t.map(c=>i.jsxs(_f,{ok:!c.deny,children:[c.deny?"⛔":"✅"," ",c.label,": ",c.items.join(", ")]},c.label)),n.map(c=>i.jsx(_f,{children:c},c)),t.length===0&&n.length===0&&i.jsx(_f,{ok:!1,children:"policy configured but no rules active"})]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:["Managed via ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff admin"})," — the same policy the CLI’s"," ",i.jsx("code",{children:"model explain"})," surfaces as governance-blocked."]})]})}function Foe({rbac:e}){const t=n=>n==="admin"?"var(--accent-yellow)":n==="operator"?"var(--accent-green)":"var(--text-secondary)";return i.jsxs(nr,{icon:"🔐",title:"RBAC Identity",subtitle:"Who may write policy — role file ~/.buff/rbac.json",children:[i.jsxs("div",{style:{fontSize:13,marginBottom:10},children:[i.jsx("span",{style:{color:"var(--text-secondary)"},children:"You are "}),i.jsx("code",{style:{color:"var(--accent-blue)"},children:e.identity}),i.jsx("span",{style:{color:"var(--text-secondary)"},children:" as "}),e.role?i.jsx("span",{style:{color:t(e.role),fontWeight:600},children:e.role}):i.jsx("span",{style:{color:"var(--text-secondary)"},children:"unassigned"})]}),e.legacy?i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"Legacy single-user mode"})," — no roles assigned; policy writes are open to every user. Assign roles with"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff admin role add <you> admin"}),"."]}):i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[e.users.map(n=>i.jsxs(_f,{ok:n.role!=="viewer",children:[n.user," · ",n.role,n.via==="oidc"?" (oidc)":""]},n.user)),i.jsxs("div",{style:{width:"100%",fontSize:12,color:"var(--text-muted)",marginTop:4},children:["Policy ",i.jsx("em",{children:"writes"})," require ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"admin"}),"; reads are open to every role."]})]})]})}function Uoe({data:e}){var p,m,g,y,v,S,w,N,k,x;const t=e==null?void 0:e.routing,n=t&&(t.preference.length>0||t.providers.length>0||t.bestModels.length>0),r=!!((p=t==null?void 0:t.usage)!=null&&p.total),a=!!((m=t==null?void 0:t.history)!=null&&m.length),s=!!t&&(((g=t.history)==null?void 0:g.length)??0)>0||!!((y=t==null?void 0:t.preference)!=null&&y.length),o=!!((v=t==null?void 0:t.bandit)!=null&&v.enabled),l=!!((S=t==null?void 0:t.promotion)!=null&&S.decisionCount),c=!!((w=t==null?void 0:t.ml)!=null&&w.enabled)&&(t.ml.recordCount??0)>0,u=!!((N=t==null?void 0:t.quota)!=null&&N.enabled),d=!!((k=t==null?void 0:t.retrieval)!=null&&k.enabled)||!!((x=t==null?void 0:t.retrieval)!=null&&x.repoChunks),f=!!(t!=null&&t.governance),h=!!(t!=null&&t.rbac);return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🤖",title:"Auto Routing Insights"}),i.jsxs("p",{className:"section-description",children:["Which providers and models the Auto router prefers — from real pricing, benchmark quality, per-agent success stats, and the Thompson-sampling bandit. Run"," ",i.jsx("code",{children:"buff benchmark"})," and use Auto routing to build this up over time."]}),!n&&!r&&!a&&!o&&!l&&!c&&!u&&!d&&!f&&!h?i.jsx(Soe,{}):i.jsxs(i.Fragment,{children:[s&&t&&i.jsx(boe,{routing:t}),f&&t.governance&&i.jsx(zoe,{governance:t.governance}),(t==null?void 0:t.rbac)&&i.jsx(Foe,{rbac:t.rbac}),r&&i.jsx(_oe,{usage:t.usage}),a&&i.jsx(Coe,{history:t.history}),o&&i.jsx(Poe,{bandit:t.bandit}),l&&i.jsx(Ioe,{promotion:t.promotion}),c&&t.ml&&i.jsx($oe,{ml:t.ml}),u&&i.jsx(Boe,{quota:t.quota}),d&&i.jsx(Doe,{retrieval:t.retrieval}),i.jsx(Aoe,{routing:t}),i.jsx(Toe,{routing:t}),i.jsx(Loe,{routing:t})]}),t&&t.providers.length===0&&t.bestModels.length===0&&t.preference.length>0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-muted)",marginTop:4},children:"Auto-router preference is always available (static profiles + real pricing); quality metrics appear once you run benchmarks and agent tasks."})]})}const dE={chat:"💬",execute:"⚙️",plan:"🗺️",edit:"✏️",skill:"🧩",learn:"📚",ci:"🔁",doctor:"🩺",probe:"🔭","spot-check":"🧪",telemetry:"📡",usage:"🧮","ide-chat":"💬","ide-inline":"✍️","ide-execute":"⚙️"};function Woe(e){return new Date(e).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function nf(e){return e!==void 0?`${e}ms`:"—"}function Hoe(e){return e===0?"var(--accent-green)":e<.2?"var(--accent-yellow)":"var(--accent-red)"}function Goe(e){return e===0?"ok":e<.2?"warn":"danger"}function qoe({pair:e}){const t=e.traces.length<=3?e.traces.join(", "):`${e.traces.slice(0,3).join(", ")} +${e.traces.length-3} more`;return i.jsx("span",{title:`⚠️ ${e.steps} step(s) across ${e.traces.length} trace(s) served by a pair that cannot hold an agentic task — this row's error rate is not a quality measurement (traces: ${t})`,style:{marginLeft:6,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--purple-soft)",border:"1px solid var(--accent-red)",color:"var(--accent-red)"},children:"⚠️ degraded"})}function Koe({data:e}){const t=e.rows,n=t.reduce((f,h)=>f+h.requests,0),r=t.reduce((f,h)=>f+Math.round(h.errorRate*h.requests),0),a=t.reduce((f,h)=>f+(h.costUsd??0),0),s=t.flatMap(f=>f.latency?[f.latency.avg]:[]),o=s.length>0?Math.round(s.reduce((f,h)=>f+h,0)/s.length):void 0,l=new Set(t.map(f=>f.action)).size,c=n>0?r/n:0,u=[{key:"requests",icon:"📨",value:xt(n),label:"Requests",tone:"accent"},{key:"groups",icon:"🎯",value:String(t.length),label:"provider × model × action groups",tone:"accent"},{key:"latency",icon:"⚡",value:o!==void 0?`${o}ms`:"—",label:`Avg latency${o!==void 0?` (${s.length} groups)`:" (no samples)"}`,tone:o!==void 0?"ok":"accent"},{key:"error-rate",icon:"📛",value:n>0?`${(c*100).toFixed(1)}%`:"—",label:`Overall error rate (${xt(r)} failures)`,tone:Goe(c)},{key:"cost",icon:"💰",value:a>0?`$${a.toFixed(4)}`:"—",label:`Measured cost${l>0?` · ${l} actions`:""}`,tone:"warn"}],d=e.degraded??[];return d.length>0&&u.push({key:"degraded",icon:"⚠️",value:String(d.length),label:"Degraded pair(s) — served steps without agentic capability (derived from traces)",tone:"danger"}),i.jsx(Wi,{tiles:u})}function Voe({data:e}){const[t,n]=b.useState(""),[r,a]=b.useState("all"),s=e==null?void 0:e.requests,o=b.useMemo(()=>{if(!s)return[];const d=t.trim().toLowerCase();return s.rows.filter(f=>r!=="all"&&f.action!==r?!1:d?`${f.provider} ${f.model} ${f.action}`.toLowerCase().includes(d):!0)},[s,t,r]),l=i.jsx(Te,{icon:"📨",title:"Requests — per provider × model × action",description:"Aggregated from the same action-telemetry log as the Models panel — every Auto-routed call, grouped by action × provider × model. Latency percentiles appear once ≥3 samples exist; cost when the caller reported usage."});if(!e)return i.jsxs(i.Fragment,{children:[l,i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading requests..."})})]});if(!s||!s.enabled||s.rows.length===0)return i.jsxs(i.Fragment,{children:[l,i.jsxs("div",{className:"empty-state",style:{padding:"40px 24px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:28,marginBottom:10},children:"📨"}),i.jsxs("p",{className:"section-description",style:{maxWidth:560,margin:"0 auto"},children:["No request telemetry yet. As you use ",i.jsx("strong",{children:"chat"}),", ",i.jsx("strong",{children:"execute"}),","," ",i.jsx("strong",{children:"plan"})," and ",i.jsx("strong",{children:"edit"})," under Auto routing, every call writes to the action-telemetry log and this panel aggregates it: request counts, p50/p95/p99 latency, error rate and measured cost — the same feed that drives the Models panel."]})]})]});const c=[...new Set(s.rows.map(d=>d.action))].sort(),u=new Map((s.degraded??[]).map(d=>[`${d.provider}|${d.model}`,d]));return i.jsxs(i.Fragment,{children:[l,i.jsx(Koe,{data:s}),u.size>0&&i.jsxs("div",{style:{margin:"0 0 14px",padding:"10px 14px",borderRadius:10,background:"var(--purple-soft)",border:"1px solid var(--accent-red)",color:"var(--text-secondary)",fontSize:12,lineHeight:1.5},children:[i.jsxs("strong",{style:{color:"var(--accent-red)"},children:["⚠️ ",u.size," pair(s) below cannot hold an agentic task."]})," ","Their error rates come from the action log, which records that a provider"," ",i.jsx("em",{children:"answered"})," — not that the answer was usable — and cannot be rewritten (it is hash-chained). The truth is derived read-only from the reasoning traces:"," ",[...u.values()].map(d=>`${d.provider}/${d.model} (${d.steps} step(s))`).join(", "),"."]}),i.jsxs("div",{style:{display:"flex",gap:12,marginBottom:14,flexWrap:"wrap",alignItems:"center"},children:[i.jsxs("select",{value:r,onChange:d=>a(d.target.value),"aria-label":"Filter by action",style:{background:"var(--bg-card)",color:"var(--text-primary)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",fontSize:13,cursor:"pointer"},children:[i.jsx("option",{value:"all",children:"All actions"}),c.map(d=>i.jsxs("option",{value:d,children:[dE[d]||"🎯"," ",d]},d))]}),i.jsxs("div",{style:{flex:1,minWidth:220,position:"relative"},children:[i.jsx("span",{style:{position:"absolute",left:10,top:8,color:"var(--text-muted)",fontSize:13},children:"🔍"}),i.jsx("input",{type:"text",value:t,onChange:d=>n(d.target.value),placeholder:"Search provider, model or action...",style:{width:"100%",padding:"8px 12px 8px 32px",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8,color:"var(--text-primary)",fontSize:13,outline:"none"}})]}),i.jsxs("span",{style:{fontSize:12,color:"var(--text-secondary)",whiteSpace:"nowrap"},children:[o.length," of ",s.rows.length," groups"]})]}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)",textAlign:"left"},children:[i.jsx("th",{style:{padding:"8px 12px",fontWeight:500},children:"Action"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500},children:"Provider"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500},children:"Model"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Requests"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Error rate"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Latency avg"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"p50"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"p95"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"p99"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Measured cost"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Last seen"})]})}),i.jsx("tbody",{children:o.length===0?i.jsx("tr",{children:i.jsx("td",{colSpan:11,style:{padding:28,textAlign:"center",color:"var(--text-muted)"},children:"No request groups match your filter."})}):o.map(d=>{var f;return i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsx("td",{style:{padding:"8px 12px",whiteSpace:"nowrap"},children:i.jsxs("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:8,background:"var(--bg-hover)",color:"var(--text-secondary)",border:"1px solid var(--border)"},children:[dE[d.action]||"🎯"," ",d.action]})}),i.jsx("td",{style:{padding:"8px 12px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:d.provider}),i.jsxs("td",{style:{padding:"8px 12px",color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,maxWidth:260,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:d.callIds.length>0?`Correlation ids: ${d.callIds.join(", ")}`:void 0,children:[d.model.length>42?d.model.slice(0,39)+"…":d.model,d.callIds.length>0&&i.jsxs("span",{style:{color:"var(--text-muted)",marginLeft:6},title:d.callIds.join(", "),children:["🔗",d.callIds.length]}),u.has(`${d.provider}|${d.model}`)&&i.jsx(qoe,{pair:u.get(`${d.provider}|${d.model}`)})]}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.requests}),i.jsxs("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:Hoe(d.errorRate)},children:[(d.errorRate*100).toFixed(1),"%",(d.partials??0)>0&&i.jsxs("span",{title:`⏸ ${d.partials} mid-stream interruption(s) — started streaming, died before finish; the router deprioritizes flaky providers (P4 M4.4)`,style:{display:"inline-flex",alignItems:"center",gap:3,marginLeft:6,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--purple-soft)",border:"1px solid var(--accent-purple)",color:"var(--accent-purple)"},children:["⏸ ",d.partials]})]}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:nf((f=d.latency)==null?void 0:f.avg)}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.latency&&d.latency.samples>=3?nf(d.latency.p50):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.latency&&d.latency.samples>=3?nf(d.latency.p95):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.latency&&d.latency.samples>=3?nf(d.latency.p99):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:d.costUsd?"var(--accent-yellow)":"var(--text-muted)"},children:d.costUsd!==void 0?`$${d.costUsd.toFixed(4)}`:"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",color:"var(--text-muted)",fontSize:11,whiteSpace:"nowrap"},children:Woe(d.lastAt)})]},`${d.action}|${d.provider}|${d.model}`)})})]})}),i.jsx("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:12},children:"Auto-refreshes with the dashboard feed · percentile columns need ≥3 latency samples per group"})]})}const Yoe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},Xoe={planner:"🗺️",writer:"✍️",reviewer:"🔎",tester:"🧪",debugger:"🐛",runner:"🏃","context-gatherer":"📂",memory:"🧠","self-improver":"📈"};function Qoe(e){return Yoe[e]||"🔌"}function Zoe(e){return Xoe[e]||"🤖"}function gM(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${new Date(e).toLocaleDateString()}`}function h0(e){return e===void 0?"—":e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`}function Dc(e){return e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function Joe(e){var n,r;if(!e)return null;const t={bg:"var(--bg-primary)",border:"var(--border)"};return e.degradedBy&&e.degradedBy.length>0?{text:`⬇️ degraded — ${e.degradedBy.map(s=>`${s.provider}/${s.model}`).join(", ")} is not agentic-capable, so part of this answer is a weak model's`,color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.undeliveredChange?{text:"⚠️ unchanged workspace — a change was requested and a plan delivered instead",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unbackedHealthClaim?{text:"⚠️ unbacked verdict — vouched for the product with nothing exercising it",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedClaim?{text:"⚠️ unverified claim — said it acted, but no tool ran",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unfulfilledPromise?{text:"⚠️ unfulfilled promise — announced an action it never performed",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedBuildClaim?{text:"⚠️ unverified build claim — a build failed but the reply reported success",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedEditClaim?{text:"⚠️ unverified edit claim — asserted a fix, but nothing verified it",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedEdit?{text:`⚠️ unverified edit — ${((n=e.tools)==null?void 0:n.length)??0} tool(s), no test/typecheck/browser run`,color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.kind==="acted"?{text:e.delivered?"✅ action performed — message sent":`🔧 acted — ${((r=e.tools)==null?void 0:r.length)??0} tool(s)`,color:"var(--accent-green)",bg:"var(--ok-soft)",border:"var(--accent-green)"}:e.kind==="answered"?{text:"💬 answered — no action taken",color:"var(--text-secondary)",...t}:e.kind==="incomplete"?{text:"⏳ incomplete — ended with work still outstanding",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.kind==="cancelled"?{text:"⏹ cancelled",color:"var(--text-secondary)",...t}:{text:"❌ generation failed",color:"var(--accent-red)",bg:"var(--danger-soft)",border:"var(--accent-red)"}}function fE(e){const t=e.filter(n=>n.verdict==="CONFIRMED"&&p0(n).length>0).length;return`${e.length} finding${e.length===1?"":"s"}: ${t} confirmed, ${e.length-t} plausible`}function p0(e){return(e.evidence??[]).filter(t=>typeof(t==null?void 0:t.ref)=="string"&&t.ref.trim().length>0)}function ele({finding:e}){const t=p0(e),n=e.verdict==="CONFIRMED"&&t.length>0;return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderLeft:`3px solid ${n?"var(--accent-green)":"var(--accent-yellow)"}`,borderRadius:8,padding:"8px 12px",marginBottom:8},children:[i.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[i.jsx("span",{style:{fontSize:13},children:n?"✅":"🔎"}),i.jsx("span",{style:{flex:1,fontSize:12.5,fontWeight:600,color:"var(--text-primary)"},children:e.claim}),i.jsx("span",{style:{fontSize:9.5,fontWeight:700,letterSpacing:"0.04em",padding:"1px 7px",borderRadius:10,border:"1px solid",color:n?"var(--accent-green)":"var(--accent-yellow)",background:n?"var(--ok-soft)":"var(--warn-soft)",borderColor:n?"var(--accent-green)":"var(--accent-yellow)"},children:n?"CONFIRMED":"PLAUSIBLE"})]}),e.outcome?i.jsx("div",{style:{marginTop:3,fontSize:11.5,color:"var(--text-secondary)"},children:e.outcome}):null,t.length>0?i.jsx("ul",{style:{listStyle:"none",margin:"5px 0 0",padding:0},children:t.map((r,a)=>i.jsxs("li",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:3},children:[i.jsx("span",{style:{fontSize:9.5,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--accent-blue)",marginRight:5},children:r.kind}),i.jsx("span",{style:{color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:r.ref}),r.detail?i.jsxs("span",{style:{marginLeft:5},children:["(",r.detail,")"]}):null]},a))}):i.jsx("div",{style:{marginTop:5,fontSize:11,color:"var(--accent-yellow)"},children:"no evidence — reported as PLAUSIBLE, not verified"}),e.source?i.jsxs("div",{style:{marginTop:4,fontSize:10,color:"var(--text-muted)"},children:["source: ",e.source]}):null]})}function ap({icon:e,title:t,subtitle:n,children:r}){return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px solid var(--border-light)",padding:"18px 20px",marginBottom:16},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[i.jsx("span",{style:{fontSize:20},children:e}),i.jsx("h2",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},children:t})]}),n&&i.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:"2px 0 12px 0"},children:n}),!n&&i.jsx("div",{style:{height:6}}),r]})}function tle(){return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px dashed var(--border)",borderRadius:10,padding:"18px 20px",color:"var(--text-secondary)",fontSize:13,textAlign:"center"},children:["🔍 No reasoning traces yet — every LLM call in a ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff execute"})," pipeline is recorded to ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"reasoning-traces.json"}),". Run a pipeline, then replay it here or with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff trace replay <id>"}),"."]})}function nle(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState(null),o=b.useCallback(()=>{K.fetchAcceptance().then(u=>{u?(t(u),r(!1)):r(!0)})},[]);b.useEffect(()=>{o()},[o]);const l=b.useCallback(async u=>{if(u){s("Importing…");try{const d=await u.text(),f=await K.importAcceptance(d);if(!f||!f.ok){s(f!=null&&f.error?`Import failed: ${f.error}`:"Import failed.");return}s(`Imported ${f.imported??0}: ${f.added??0} new, ${f.updated??0} present (store ${f.total??0}).`),o()}catch{s("Import failed.")}}},[o]);if(n&&!e)return null;const c=e?Object.entries(e.byPair):[];return i.jsx(ap,{icon:"⭐",title:"Acceptance (read-only)",subtitle:"The one label the harness cannot derive: whether YOU wanted the turn. Rate it with the 👍/👎 control on a trace below, run `nuvira rate good|bad`, or let the behavioural tier infer it. Nothing routes on this.",children:e===null?i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:13},children:"Loading…"}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{style:{fontSize:13,color:"var(--text-primary)",marginBottom:6},children:[e.labelled," labelled turn",e.labelled===1?"":"s"," — 👍 ",e.accepted," / 👎 ",e.rejected]}),Object.keys(e.bySource).length>0&&i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:["by source: ",Object.entries(e.bySource).map(([u,d])=>`${u} ${d}`).join(", ")]}),c.length>0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:c.map(([u,d])=>{const f=d.accepted+d.rejected;return i.jsxs("div",{children:[u,": 👍 ",d.accepted," / 👎 ",d.rejected," (",Math.round(100*d.accepted/f),"%, n=",f,")"]},u)})}),i.jsx("div",{style:{fontSize:12,color:e.fit.ok?"var(--accent-green)":"var(--text-secondary)"},children:e.fit.ok?`fit TRAINED — P(accepted | features) n=${e.fit.n} (${e.fit.positives}👍/${e.fit.negatives}👎)`:`fit NOT trained — ${e.fit.reason??"insufficient labels"}`}),i.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap",marginTop:10},children:[i.jsx("span",{style:{fontSize:12,color:"var(--text-secondary)"},children:"Ship / join:"}),i.jsx("a",{href:K.acceptanceExportUrl("json"),download:!0,style:{fontSize:12,color:"var(--accent-blue)"},children:"Export JSON"}),i.jsx("a",{href:K.acceptanceExportUrl("csv"),download:!0,style:{fontSize:12,color:"var(--accent-blue)"},children:"Export CSV"}),i.jsxs("label",{style:{fontSize:12,color:"var(--accent-blue)",cursor:"pointer"},children:["Import…",i.jsx("input",{type:"file",accept:".json,.csv,application/json,text/csv",style:{display:"none"},onChange:u=>{var d;l((d=u.target.files)==null?void 0:d[0]),u.currentTarget.value=""}})]}),a&&i.jsx("span",{style:{fontSize:12,color:"var(--text-secondary)"},children:a})]})]})})}function rle({step:e}){const[t,n]=b.useState(!1),r=e.success?"var(--accent-green)":"var(--accent-red)",a=e.success?"ok":"failed";return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:8,marginBottom:8,overflow:"hidden"},children:[i.jsxs("button",{onClick:()=>n(!t),style:{width:"100%",background:"none",border:"none",cursor:"pointer",padding:"10px 14px",textAlign:"left",display:"flex",alignItems:"center",gap:10,color:"inherit"},children:[i.jsx("span",{style:{width:26,fontSize:16},children:Zoe(e.agentType)}),i.jsx("span",{style:{width:130,fontSize:12,fontWeight:600,color:"var(--text-primary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e.agentType,children:e.agentType}),i.jsxs("span",{style:{flex:1,fontSize:12,color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:`${e.provider}/${e.model}`,children:[Qoe(e.provider)," ",e.provider,"/",e.model]}),i.jsx("span",{style:{width:70,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:h0(e.latencyMs)}),i.jsxs("span",{style:{width:86,fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace",textAlign:"right"},children:[Dc(e.inputTokens),"→",Dc(e.outputTokens)," tok"]}),i.jsx("span",{style:{width:46,fontSize:11,color:r,textAlign:"right"},children:a}),i.jsx("span",{style:{width:22,fontSize:11,textAlign:"right"},children:e.escalated?i.jsx("span",{title:"Repair escalated to a stronger routed model (v1.60.4)",children:"🚀"}):""}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)"},children:t?"▾":"▸"})]}),t&&i.jsxs("div",{style:{padding:"0 14px 12px 50px",fontSize:12},children:[e.taskId&&i.jsxs("div",{style:{color:"var(--text-muted)",marginBottom:4},children:["Task: ",i.jsx("span",{style:{color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.taskId})]}),e.description&&i.jsx("div",{style:{color:"var(--text-secondary)",marginBottom:6},children:e.description}),e.routing&&i.jsxs("div",{style:{marginBottom:6},children:[i.jsxs("span",{style:{fontSize:10,padding:"1px 8px",borderRadius:10,background:e.escalated?"var(--warn-soft)":"var(--bg-tertiary)",border:e.escalated?"1px solid var(--accent-yellow)":"1px solid var(--accent-blue)",color:e.escalated?"var(--accent-yellow)":"var(--accent-blue)"},children:[e.escalated?"🚀 escalated auto → ":"🤖 auto → ",e.routing.provider,"/",e.routing.model," · score ",e.routing.score.toFixed(3)," · ",e.routing.complexity]}),e.escalated&&i.jsx("div",{style:{color:"var(--accent-yellow)",marginTop:4,fontSize:11},children:"Repair escalated to a stronger routed model (next complexity level)."}),e.routing.explanation&&i.jsx("div",{style:{color:"var(--text-muted)",marginTop:4,fontSize:11},children:e.routing.explanation}),e.routing.agenticCapable===!1&&i.jsxs("div",{style:{color:"var(--accent-red)",marginTop:4,fontSize:11,fontWeight:600},children:["⚠️ not agentic-capable",e.routing.overrideReason?` (${e.routing.overrideReason})`:""," — a software ask on this model may fabricate results"]})]}),e.layers&&i.jsxs("div",{style:{marginBottom:6,fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[i.jsx("span",{style:{color:"var(--accent-blue)"},children:"sys"})," ",e.layers.systemChars,"c/#",e.layers.systemDigest," ·"," ",i.jsx("span",{style:{color:"var(--accent-green)"},children:"ctx"})," ",e.layers.contextChars,"c/#",e.layers.contextDigest," ·"," ",i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"vol"})," ",e.layers.volatileChars,"c/#",e.layers.volatileDigest,i.jsxs("div",{style:{color:"var(--text-muted)",marginTop:2},children:["a constant ",i.jsx("span",{style:{color:"var(--accent-blue)"},children:"sys"})," digest across steps ⇒ the stable layer is prompt-cacheable"]})]}),e.error&&i.jsxs("div",{style:{color:"var(--accent-red)",marginBottom:6},children:["⚠️ ",e.error.slice(0,300)]}),i.jsxs("div",{style:{color:"var(--text-muted)",margin:"6px 0 3px 0"},children:["Prompt ",i.jsxs("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["#",e.promptDigest]})," · ",e.promptPreview.length,"+ chars:"]}),i.jsx("pre",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:6,padding:8,margin:0,color:"var(--text-secondary)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:180,overflowY:"auto",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11},children:e.promptPreview.slice(0,900)}),i.jsxs("div",{style:{color:"var(--text-muted)",margin:"8px 0 3px 0"},children:["Response (",Dc(e.responseLength)," chars):"]}),i.jsx("pre",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:6,padding:8,margin:0,color:"var(--text-secondary)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:240,overflowY:"auto",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11},children:e.responsePreview.slice(0,1200)})]})]})}function ale({trace:e}){var h,p;const[t,n]=b.useState(e.steps??null),[r,a]=b.useState(!1),[s,o]=b.useState(((h=e.userVerdict)==null?void 0:h.verdict)??null),[l,c]=b.useState(!1),u=b.useCallback(async m=>{c(!0),await K.rateTrace(e.id,m)&&o(m),c(!1)},[e.id]);b.useEffect(()=>{if(e.steps){n(e.steps);return}let m=!1;return K.fetchTraceDetail(e.id).then(g=>{m||(g!=null&&g.steps?n(g.steps):a(!0))}),()=>{m=!0}},[e.id,e.steps]);const d=e.success===!0?"✅":e.success===!1?"❌":"⏳",f=e.success===!0?"success":e.success===!1?"failed":"in progress";return i.jsxs(ap,{icon:d,title:`${e.id} — ${f}`,subtitle:e.goal,children:[i.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginBottom:12},children:[i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🕓 ",gM(e.startedAt)]}),(()=>{const m=Joe(e.outcome);return m?i.jsx("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:m.bg,border:`1px solid ${m.border}`,color:m.color},children:m.text}):null})(),i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["⏱ ",h0(e.durationMs)]}),i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🔢 ",(t==null?void 0:t.length)??"?"," call(s)"]}),i.jsxs("span",{style:{display:"inline-flex",gap:6,alignItems:"center",marginLeft:4},children:[i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:"Was this what you wanted?"}),["accepted","rejected"].map(m=>i.jsx("button",{type:"button",disabled:l,"aria-pressed":s===m,onClick:()=>void u(m),style:{fontSize:11,padding:"2px 10px",borderRadius:12,cursor:l?"default":"pointer",background:s===m?"var(--accent, var(--bg-hover))":"var(--bg-primary)",border:`1px solid ${s===m?"var(--accent, var(--border))":"var(--border)"}`,color:s===m?"var(--text-inverse, var(--text-primary))":"var(--text-secondary)",fontWeight:s===m?600:400},children:m==="accepted"?"👍 Yes":"👎 No"},m)),s?i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:"recorded"}):i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:"not rated"})]}),t&&t.some(m=>m.escalated)&&i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--warn-soft)",border:"1px solid var(--accent-yellow)",color:"var(--accent-yellow)"},children:["🚀 ",t.filter(m=>m.escalated).length," escalated repair(s)"]}),e.totalTokens!==void 0&&i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🧮 ",Dc(e.totalTokens)," tok"]}),e.findings&&e.findings.length>0&&i.jsx("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:`🔎 ${fE(e.findings)}`}),((p=e.outcome)==null?void 0:p.unverifiedPaths)&&e.outcome.unverifiedPaths.length>0&&i.jsx("span",{title:e.outcome.unverifiedPaths.join(", "),style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--warn-soft)",border:"1px solid var(--accent-yellow)",color:"var(--accent-yellow)"},children:`⚠️ ${e.outcome.unverifiedPaths.length} path(s) unverified`})]}),e.findings&&e.findings.length>0?i.jsxs("div",{style:{marginBottom:12},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:`🔎 Findings — ${fE(e.findings)}`}),e.findings.map((m,g)=>i.jsx(ele,{finding:m},`finding-${g}`))]}):null,e.turnReport?i.jsxs("div",{style:{marginBottom:12},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:`📋 Turn report — ${e.turnReport.summary??e.turnReport.verification}`}),i.jsxs("div",{style:{fontSize:11,marginBottom:6},children:[i.jsx("span",{style:{textTransform:"uppercase",letterSpacing:"0.04em",fontSize:10,border:"1px solid currentColor",borderRadius:12,padding:"1px 8px",color:e.turnReport.verification==="verified"?"var(--accent-green)":e.turnReport.verification==="unverified"?"var(--accent-yellow)":e.turnReport.verification==="blocked"?"var(--accent-red)":"var(--text-secondary)"},children:e.turnReport.verification}),e.turnReport.changedPaths.length>0?i.jsx("span",{style:{marginLeft:8,color:"var(--text-secondary)"},children:`${e.turnReport.changedPaths.length} file(s) changed`}):null,e.turnReport.planCarried?i.jsx("span",{style:{marginLeft:8,color:"var(--text-secondary)"},children:"plan carried from an earlier turn — not advanced this turn"}):null]}),e.turnReport.unverifiedPaths&&e.turnReport.unverifiedPaths.length>0?i.jsxs("div",{style:{marginBottom:6,fontSize:11,color:"var(--accent-yellow)"},children:[`⚠️ ${e.turnReport.unverifiedPaths.length} changed path(s) no check exercised: `,i.jsxs("code",{children:[e.turnReport.unverifiedPaths.slice(0,6).join(", "),e.turnReport.unverifiedPaths.length>6?` +${e.turnReport.unverifiedPaths.length-6} more`:""]})]}):null,e.turnReport.steps.length>0?i.jsx("ul",{style:{margin:0,padding:0,listStyle:"none",display:"flex",flexDirection:"column",gap:3},children:e.turnReport.steps.map(m=>i.jsxs("li",{style:{fontSize:12},children:[i.jsx("span",{"aria-hidden":"true",children:m.status==="done"?"✅":m.status==="running"?"🔄":m.status==="blocked"?"⛔":"⬜"})," ",m.description,m.evidence?i.jsxs("span",{style:{color:"var(--accent-yellow)",fontSize:11},children:[" (",m.evidence,")"]}):null]},m.id))}):null]}):null,e.systemPrompt&&i.jsxs("details",{style:{marginBottom:12},children:[i.jsxs("summary",{style:{cursor:"pointer",fontSize:12,color:"var(--accent-blue)"},children:["🧬 System prompt — stable layer (",e.systemPromptChars??e.systemPrompt.length," chars)"]}),i.jsx("pre",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:6,padding:10,margin:"8px 0 0 0",color:"var(--text-secondary)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:320,overflowY:"auto",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11},children:e.systemPrompt})]}),r&&i.jsx("div",{style:{color:"var(--accent-red)",fontSize:12,marginBottom:10},children:"Could not load trace steps (trace may have been deleted)."}),t===null&&!r&&i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:12},children:"Loading steps…"}),t&&t.length===0&&i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:12},children:"No LLM calls recorded in this trace."}),t&&t.map(m=>i.jsx(rle,{step:m},m.seq))]})}function ile({traces:e}){const[t,n]=b.useState(null);return t?i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:()=>n(null),style:{background:"var(--bg-hover)",border:"1px solid var(--border)",color:"var(--text-primary)",borderRadius:8,padding:"6px 14px",fontSize:12,cursor:"pointer",marginBottom:12},children:"← Back to traces"}),i.jsx(ale,{trace:t})]}):i.jsx("div",{children:e.map(r=>{const a=r.success===!0?"✅":r.success===!1?"❌":"⏳",s=r.steps?[...new Set(r.steps.map(o=>o.agentType))].join(", "):"";return i.jsxs("button",{onClick:()=>n(r),style:{width:"100%",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 16px",marginBottom:8,cursor:"pointer",textAlign:"left",color:"inherit",transition:"border-color 0.2s, box-shadow 0.2s"},onMouseEnter:o=>{o.currentTarget.style.borderColor="var(--accent-blue)",o.currentTarget.style.boxShadow="0 2px 10px color-mix(in srgb, var(--accent-blue) 13%, transparent)"},onMouseLeave:o=>{o.currentTarget.style.borderColor="var(--border-light)",o.currentTarget.style.boxShadow="none"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[i.jsx("span",{children:a}),i.jsx("span",{style:{fontSize:11,color:"var(--accent-blue)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:r.id}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:gM(r.startedAt)})]}),i.jsx("div",{style:{fontSize:13,color:"var(--text-primary)",marginBottom:6},children:r.goal}),i.jsxs("div",{style:{display:"flex",gap:10,flexWrap:"wrap",fontSize:11,color:"var(--text-secondary)"},children:[i.jsxs("span",{children:["🔢 ",r.stepCount??0," call(s)"]}),i.jsxs("span",{children:["⏱ ",h0(r.durationMs)]}),r.failedSteps?i.jsxs("span",{style:{color:"var(--accent-red)"},children:["❌ ",r.failedSteps," failed"]}):i.jsx("span",{style:{color:"var(--accent-green)"},children:"✓ all ok"}),r.totalTokens!==void 0&&i.jsxs("span",{children:["🧮 ",Dc(r.totalTokens)," tok"]}),r.findings&&r.findings.length>0&&i.jsx("span",{style:{color:"var(--accent-yellow)"},children:`🔎 ${r.findings.filter(o=>o.verdict==="CONFIRMED"&&p0(o).length>0).length}/${r.findings.length} confirmed`}),s&&i.jsxs("span",{children:["🤖 ",s.slice(0,60)]})]})]},r.id)})})}function sle(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),a=b.useCallback(()=>{K.fetchTraces().then(s=>{s?(t(s),r(!1)):r(!0)})},[]);return b.useEffect(()=>{a();const s=setInterval(a,15e3);return()=>clearInterval(s)},[a]),i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🔍",title:"Reasoning Traces",description:"Every LLM call in each pipeline — agent × model × prompt digest × response × tokens × latency × routing snapshot (assessment P0)."}),i.jsx(nle,{}),e===null&&!n&&i.jsx(ap,{icon:"⏳",title:"Loading…",children:i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:13},children:"Fetching reasoning traces…"})}),n&&e===null&&i.jsx(ap,{icon:"⚠️",title:"Could not reach the dashboard server",children:i.jsxs("div",{style:{color:"var(--text-secondary)",fontSize:13},children:["The traces endpoint is unavailable right now — retrying automatically. Run"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"buff trace list"})," in the terminal to inspect traces directly."]})}),e!==null&&e.length===0&&i.jsx(tle,{}),e!==null&&e.length>0&&i.jsx(ile,{traces:e})]})}function qg(e){if(e.trim()==="")return null;const t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function ole({authed:e,role:t}){const[n,r]=b.useState(null),[a,s]=b.useState({}),[o,l]=b.useState(""),[c,u]=b.useState(!1),[d,f]=b.useState(null),[h,p]=b.useState(null),m=e&&(t==="admin"||t==="operator"),g=e&&t==="admin",y=b.useCallback(async()=>{var j,_,O;const k=await K.fetchAdminQuota();if(!k){p("Could not load budget config.");return}p(null),r(k);const x={};for(const C of k.providers){const P=k.quota[C]||{};x[C]={provider:C,tokens:((j=P.tokensPerWindow)==null?void 0:j.toString())??"",requests:((_=P.requestsPerWindow)==null?void 0:_.toString())??"",windowMs:((O=P.windowMs)==null?void 0:O.toString())??""}}s(x),l(k.costUsd===null?"":String(k.costUsd))},[]);b.useEffect(()=>{y()},[y]);const v=(k,x,j)=>{s(_=>({..._,[k]:{..._[k]||{provider:k},[x]:j}}))},S=async()=>{u(!0),f(null);const k={};for(const _ of Object.values(a)){const O={},C=qg(_.tokens),P=qg(_.requests),A=qg(_.windowMs);C!==null&&(O.tokensPerWindow=C),P!==null&&(O.requestsPerWindow=P),A!==null&&(O.windowMs=A),k[_.provider]=Object.keys(O).length>0?O:null}const x={quota:k};if(g)if(o.trim()!==""){const _=Number(o);if(!Number.isFinite(_)||_<0){f({ok:!1,text:"Cost cap must be a non-negative number."}),u(!1);return}x.costUsd=_}else x.costUsd=null;const j=await K.saveAdminQuota(x);u(!1),j.ok?(f({ok:!0,text:"Budget saved — the quota ledger + auto-router will enforce it."}),y()):f({ok:!1,text:j.error||"Save failed."})},w=k=>{const x=n==null?void 0:n.quota[k];return!!x&&(x.tokensPerWindow!==void 0||x.requestsPerWindow!==void 0||x.windowMs!==void 0)},N=k=>"admin-input";return i.jsxs("div",{className:"admin-quota-panel",children:[i.jsx("h2",{className:"section-subtitle",children:"💰 Daily Budget (routing.quota — your plan, your say)"}),i.jsxs("p",{className:"admin-quota-note",children:["Free-tier providers enforce tokens-per-day caps the API doesn't advertise — only you know your plan's allowance. Declare it here and the agent paces around it (parks the provider at the cap, auto-resumes at window rollover) instead of exhausting your budget mid-task. Unset = current behavior. Same config as ",i.jsx("code",{children:"buff model quota set"}),"."]}),h?i.jsx("div",{className:"admin-error",children:h}):null,n?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-quota-table",children:[i.jsxs("div",{className:"admin-quota-row admin-quota-head",children:[i.jsx("span",{children:"Provider"}),i.jsx("span",{children:"Tokens / window"}),i.jsx("span",{children:"Requests / window"}),i.jsx("span",{children:"Window (ms)"}),i.jsx("span",{children:"Status"})]}),n.providers.map(k=>{var x,j,_;return i.jsxs("div",{className:"admin-quota-row",children:[i.jsx("span",{className:"admin-provider-type",children:k}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"unset",disabled:!m,value:((x=a[k])==null?void 0:x.tokens)??"",onChange:O=>v(k,"tokens",O.target.value)}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"unset",disabled:!m,value:((j=a[k])==null?void 0:j.requests)??"",onChange:O=>v(k,"requests",O.target.value)}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"86400000 (24h)",disabled:!m,value:((_=a[k])==null?void 0:_.windowMs)??"",onChange:O=>v(k,"windowMs",O.target.value)}),i.jsx("span",{className:`admin-role-badge ${w(k)?"admin-role-admin":"admin-role-viewer"}`,children:w(k)?"declared":"unset"})]},k)})]}),i.jsxs("div",{className:"admin-quota-row admin-quota-cost",children:[i.jsx("span",{className:"admin-provider-type",children:"Max cost / call (USD, admin)"}),i.jsx("input",{className:N(!g),type:"number",min:0,step:.01,placeholder:"unset",disabled:!g,value:o,onChange:k=>l(k.target.value)}),i.jsx("span",{className:"admin-quota-cost-hint",children:"governance.maxCostUsd — hard admin cap"})]}),m||g?i.jsxs("div",{className:"admin-quota-actions",children:[i.jsx("button",{className:"admin-mini-btn",onClick:()=>void S(),disabled:c,children:c?"⏳ Saving…":"💾 Save budget"}),d?i.jsx("span",{className:d.ok?"admin-quota-ok":"admin-quota-err",children:d.text}):null]}):i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Read-only for ",i.jsx("code",{children:t})," — budget limits need ",i.jsx("code",{children:"admin"})," or"," ",i.jsx("code",{children:"operator"}),"; the cost cap needs ",i.jsx("code",{children:"admin"}),"."]})]}):i.jsx("div",{className:"empty-state",children:"Loading budget…"})]})}const lle=["image","video","search","vision","speech"],cle={image:"🖼️ Image generation",video:"🎬 Video generation",search:"🔎 Web search & page reading",vision:"👁️ Vision / interpretation",speech:"🔊 Speech (TTS / STT)"};function ule({authed:e,role:t}){const[n,r]=b.useState([]),[a,s]=b.useState({}),[o,l]=b.useState(null),[c,u]=b.useState({}),[d,f]=b.useState(null),h=e&&t==="admin",p=b.useCallback(async()=>{const k=await K.fetchAdminServices();if(!k){f("Could not load service configuration — is the dashboard server up to date?");return}f(null),r(k.services)},[]);b.useEffect(()=>{p()},[p]);const m=(k,x)=>`${k}:${x}`,g=(k,x,j)=>{s(_=>({..._,[m(k,x)]:j}))},y=async k=>{const x={};for(const _ of k.envVars){const O=a[m(k.id,_.varName)];O!==void 0&&O.trim()!==""&&(x[_.varName]=O.trim())}if(Object.keys(x).length===0){u(_=>({..._,[k.id]:"ℹ️ Type a value to save."}));return}l(k.id),u(_=>({..._,[k.id]:""}));const j=await K.saveService(k.id,x);if(j.ok&&j.service){const _=j.service;r(O=>O.map(C=>C.id===k.id?_:C)),s(O=>{const C={...O};for(const P of k.envVars)delete C[m(k.id,P.varName)];return C}),u(O=>({...O,[k.id]:"✅ Saved — the agent will use it on the next call."}))}else u(_=>({..._,[k.id]:`❌ ${j.error||"Save failed."}`}));l(null)},v=async k=>{l(k.id),u(j=>({...j,[k.id]:"⏳ Testing…"}));const x=await K.testService(k.id);u(j=>({...j,[k.id]:x.ok?`✅ ${x.detail||"Reachable"}`:`❌ ${x.error||x.detail||"Unreachable"}`})),l(null)},S=async k=>{if(!window.confirm(`Remove ${k.label}'s stored key(s)? The agent will fall back to another configured backend.`))return;l(k.id);const x=await K.removeService(k.id);if(x.ok&&x.service){const j=x.service;r(_=>_.map(O=>O.id===k.id?j:O)),s(_=>{const O={..._};for(const C of k.envVars)delete O[m(k.id,C.varName)];return O}),u(_=>{var O;return{..._,[k.id]:`🗑️ Removed ${((O=x.removed)==null?void 0:O.join(", "))||"key(s)"}.`}})}else u(j=>({...j,[k.id]:`❌ ${x.error||"Remove failed."}`}));l(null)},w=lle.map(k=>({cap:k,services:n.filter(x=>x.capability===k)})).filter(k=>k.services.length>0),N=n.filter(k=>k.configured).length;return i.jsxs("div",{className:"service-providers-panel",children:[i.jsx("h2",{className:"section-subtitle",children:"🔌 Service Provider API Keys (image · video · search · vision · speech)"}),i.jsxs("p",{className:"admin-subtitle",children:["These are the third-party services the agent calls directly — separate from the LLM providers above. Each row maps to a real environment variable the tool path reads; keys are written to the credential env file and picked up by the agent on the next call.",n.length>0?` ${N} of ${n.length} services ready.`:""]}),h?null:i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Read-only — configuring service keys requires the ",i.jsx("code",{children:"admin"})," role (credential.write). Secret values are shown redacted."]}),d?i.jsx("div",{className:"admin-error",children:d}):null,n.length===0&&!d?i.jsx("div",{className:"empty-state",children:"Loading service configuration…"}):null,w.map(k=>i.jsxs("section",{className:"service-providers-group",children:[i.jsx("h3",{className:"process-env-group-title",children:cle[k.cap]??k.cap}),i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Service"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Configuration"}),i.jsx("th",{children:"Actions"})]})}),i.jsx("tbody",{children:k.services.map(x=>i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[x.icon," ",x.label,i.jsx("div",{className:"admin-provider-sub",children:x.id}),i.jsx("div",{className:"admin-hint",children:x.description}),x.sharedNote?i.jsxs("div",{className:"admin-hint",children:["🔗 ",x.sharedNote]}):null,x.docsUrl?i.jsx("div",{className:"admin-hint",children:i.jsx("a",{href:x.docsUrl,target:"_blank",rel:"noreferrer",children:"Get a key ↗"})}):null]}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge ${x.configured?"admin-check-pass":"admin-check-warn"}`,children:x.configured?"✅ Ready":"⚠️ Not set"}),x.keyless?i.jsx("div",{className:"admin-hint",children:"no key needed"}):null,x.free?i.jsx("div",{className:"admin-hint",children:"free"}):null]}),i.jsx("td",{children:x.envVars.length===0?i.jsx("div",{className:"admin-hint",children:"Nothing to configure — works out of the box."}):x.envVars.map(j=>{const _=m(x.id,j.varName),O=a[_]??"",C=!j.secret&&j.set?j.value:"";return i.jsxs("div",{className:"service-env-row",children:[i.jsxs("label",{className:"service-env-label",htmlFor:_,children:[i.jsx("code",{children:j.varName}),i.jsx("span",{className:"admin-hint",children:j.prompt})]}),h?i.jsx("input",{id:_,className:"admin-input",type:j.secret?"password":"text","aria-label":`${x.id} ${j.varName}`,placeholder:j.set?j.secret?"•••••• set — type to replace":C:"not set",value:O,onChange:P=>g(x.id,j.varName,P.target.value),autoComplete:"new-password"}):i.jsx("div",{className:"admin-hint",children:j.set?j.value:"—"})]},j.varName)})}),i.jsxs("td",{children:[x.envVars.length===0?i.jsx("div",{className:"admin-hint",children:"always available"}):h?i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn",disabled:o===x.id,onClick:()=>void y(x),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",disabled:o===x.id,title:"Probes the SAVED configuration — save first to test a new key",onClick:()=>void v(x),children:"🔌 Test"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:o===x.id,onClick:()=>void S(x),children:"🗑 Remove"})]}):i.jsx("div",{className:"admin-hint",children:"read-only"}),c[x.id]?i.jsx("div",{className:"admin-row-msg",children:c[x.id]}):null]})]},x.id))})]})})]},k.cap))]})}const dle={env:"Environment",config:"Config",vault:"Vault",local:"Local (no key)",none:"Not configured"};function fle(){const[e,t]=b.useState(null),[n,r]=b.useState(!0),[a,s]=b.useState(null),[o,l]=b.useState(null),[c,u]=b.useState(!1),[d,f]=b.useState(!1),[h,p]=b.useState(""),[m,g]=b.useState(""),[y,v]=b.useState(null),[S,w]=b.useState(null),[N,k]=b.useState(""),x=qr(),[j,_]=b.useState(""),[O,C]=b.useState(""),[P,A]=b.useState(null),[B,I]=b.useState(!1),[M,D]=b.useState([]),[W,R]=b.useState(null),[z,T]=b.useState(""),[Z,U]=b.useState(""),[$,ie]=b.useState("viewer"),[de,ve]=b.useState(null),[Ee,J]=b.useState(""),[Y,ae]=b.useState(null),[ce,H]=b.useState(!1),[xe,ke]=b.useState(null),[Oe,ge]=b.useState(null),[Re,pe]=b.useState(null),[Xe,$e]=b.useState([]),[_e,pt]=b.useState({}),[Fe,lt]=b.useState(null),[Vt,q]=b.useState({}),[Q,oe]=b.useState(""),[he,Se]=b.useState(null),[Me,Ft]=b.useState(null),[Ie,Pn]=b.useState(null),[Rn,kt]=b.useState(null),[It,rt]=b.useState(!1),ir=b.useCallback(async()=>{r(!0),s(null);const G=await K.fetchAdminChecks();t(G),G||s("Could not reach the dashboard server, or the server is older than this panel. Run `buff dashboard` to start it."),r(!1)},[]),sr=b.useCallback(async()=>{const G=await K.fetchAdminCatalog();G&&G.length>0&&$e(G)},[]),fn=b.useCallback(async()=>{const G=await K.fetchAdminUsers();G.ok&&G.users&&D(G.users)},[]),Kr=b.useCallback(async()=>{const G=await K.fetchAdminWorkspace();G&&(ve(G),J(G.configured??""))},[]),Nt=b.useCallback(async()=>{const G=await K.fetchAdminCache();G&&ke(G)},[]),or=b.useCallback(async()=>{Pn(await K.fetchOmniRouteStatus())},[]),qa=async G=>{pe(G??"__none__"),ge(null);const ne=await K.clearAdminCache(G);ne.ok?(ge(`✅ Cleared ${ne.removed??0} cached answer(s) for ${G??"the no-workspace bucket"}.`),Nt()):ne.unauthorized?(Xt(),ge(`❌ ${ne.error||"Session expired — log in again."}`)):ge(`❌ ${ne.error||"Could not clear the cache."}`),pe(null)},Ll=async G=>{G.preventDefault(),H(!0),ae(null);const ne=await K.saveAdminWorkspace(Ee.trim());ne.ok&&ne.workspace?(ve(ne.workspace),J(ne.workspace.configured??""),ae(ne.workspace.effective?`✅ Unattached chat turns now run in ${ne.workspace.effective}`:"✅ Cleared — unattached project asks will ask you to attach a folder.")):ne.unauthorized?(Xt(),ae(`❌ ${ne.error||"Session expired — log in again."}`)):ae(`❌ ${ne.error||"Could not save the workspace."}`),H(!1)};b.useEffect(()=>{let G=!0;return K.fetchAdminAuthStatus().then(ne=>{if(G){if(!ne){s("Could not reach the dashboard server, or the server is older than this panel. Run `buff dashboard` to start it."),r(!1);return}l({configured:ne.configured,authenticated:ne.authenticated}),u(ne.authenticated),v(ne.role??null),w(ne.user??null),f(ne.mustChangePassword===!0),ne.authenticated?(ir(),sr(),fn(),Kr(),Nt(),or()):r(!1)}}),()=>{G=!1}},[ir,sr,fn,Kr,Nt,or,x]);const Yt=y==="admin",_r=y==="admin"||y==="operator",Xt=()=>{u(!1),l(G=>G&&{...G,authenticated:!1}),A("Session expired — log in again.")},Cr=async G=>{G.preventDefault(),I(!0),A(null);const ne=await K.adminLogin(N,j);ne.ok?(u(!0),l({configured:!0,authenticated:!0}),v(ne.role??"admin"),w(ne.user??null),k(""),_(""),K.fetchAdminAuthStatus().then(Ne=>{Ne&&f(Ne.mustChangePassword===!0)}),ir(),sr(),fn(),Kr(),Nt()):A(ne.error||"Login failed."),I(!1)},Qt=async G=>{if(G.preventDefault(),I(!0),A(null),j.length<8){A("Password must be at least 8 characters."),I(!1);return}if(j!==O){A("Passwords do not match."),I(!1);return}const ne=await K.adminSetup(N,j);ne.ok?(u(!0),l({configured:!0,authenticated:!0}),v(ne.role??"admin"),w(ne.user??null),k(""),_(""),C(""),ir(),sr(),fn()):A(ne.error||"Setup failed."),I(!1)},fa=async()=>{await K.adminLogout(),u(!1),l(G=>G&&{...G,authenticated:!1}),v(null),w(null),t(null),pt({}),q({}),D([])},lr=async()=>{if(!window.confirm("Stop the running gateway? Channels will stop responding until you restart it with `buff gateway start`."))return;Ft("gateway"),Se(null);const G=await K.shutdown("gateway");Ft(null),G.ok?Se(G.stopped?"✅ Gateway stopped.":`ℹ️ ${G.reason||"No running gateway found — nothing to stop."}`):(Se(`❌ ${G.error||"Stop failed."}`),G.unauthorized&&Xt())},Ks=async G=>{if(G==="stop"&&!window.confirm("Stop the OmniRoute gateway? Anything routing through it will fail until it is started again."))return;rt(!0),kt(null);const ne=await K.controlOmniRoute(G);ne.status&&Pn(ne.status),ne.ok?kt(`✅ ${ne.detail??(G==="stop"?"OmniRoute stopped.":"OmniRoute started.")}`):ne.unauthorized?(Xt(),kt(`❌ ${ne.error||"Session expired — log in again."}`)):kt(`❌ ${ne.detail??ne.reason??ne.error??"OmniRoute control failed."}`),rt(!1)},Ka=async()=>{window.confirm("Shut down the dashboard? This page will disconnect and the server will exit. Restart with `buff dashboard`.")&&(Ft("dashboard"),Se("🛑 Shutting down the dashboard — this page will disconnect…"),await K.shutdown("dashboard"),Ft(null),Se("ℹ️ The dashboard server did not stop (see the server terminal). You can also stop it with `buff dashboard stop`."))},Gi=async G=>{if(G.preventDefault(),R(null),Z.length<8){R("Password must be at least 8 characters.");return}const ne=await K.addAdminUser(z,Z,$);ne.ok?(T(""),U(""),R("✅ User added"),fn()):(R(`❌ ${ne.error||"Failed to add user"}`),ne.unauthorized&&Xt())},cr=async G=>{if(!window.confirm(`Remove dashboard user '${G}'?`))return;R(null);const ne=await K.removeAdminUser(G);ne.ok?(R(`✅ Removed ${G}`),fn()):(R(`❌ ${ne.error||"Failed to remove user"}`),ne.unauthorized&&Xt())},qe=(G,ne,Ne)=>{pt(je=>({...je,[G]:{...je[G]||{},[ne]:Ne}}))},Vs=async G=>{lt(G),q({});const ne=_e[G]||{},Ne=await K.saveProvider(G,ne);Ne.ok?(t(je=>{if(!je)return je;const ur=je.providers.some(jn=>jn.type===G)?je.providers.map(jn=>jn.type===G&&Ne.provider?Ne.provider:jn):Ne.provider?[...je.providers,Ne.provider]:je.providers;return{...je,providers:ur}}),pt(je=>{const $t={...je};return delete $t[G],$t}),q(je=>({...je,[G]:"✅ Saved"}))):(q(je=>({...je,[G]:`❌ ${Ne.error||"Save failed"}`})),Ne.unauthorized&&Xt()),lt(null)},ha=async G=>{if(!window.confirm(`Remove ${G}'s API key and configuration? This cannot be undone.`))return;lt(G),q({});const ne=await K.deleteProvider(G);ne.ok?ne.envSourced?(t(Ne=>Ne&&{...Ne,providers:Ne.providers.map(je=>je.type===G&&ne.provider||je)}),q(Ne=>({...Ne,[G]:`⚠️ Key comes from ${ne.envVar?`$${ne.envVar}`:"an env var"} — unset it there to remove it (config can't override the env).`}))):(t(Ne=>Ne&&{...Ne,providers:Ne.providers.filter(je=>je.type!==G)}),pt(Ne=>{const je={...Ne};return delete je[G],je})):(q(Ne=>({...Ne,[G]:`❌ ${ne.error||"Remove failed"}`})),ne.unauthorized&&Xt()),lt(null)},qi=async(G,ne)=>{lt(G),q({});const Ne=await K.saveProvider(G,{enabled:ne});Ne.ok?(t(je=>{if(!je)return je;const ur=je.providers.some(jn=>jn.type===G)?je.providers.map(jn=>jn.type===G&&Ne.provider?Ne.provider:jn):Ne.provider?[...je.providers,Ne.provider]:je.providers;return{...je,providers:ur}}),q(je=>({...je,[G]:ne?"✅ Routing ON":"⏸ Routing OFF (pin only)"}))):(q(je=>({...je,[G]:`❌ ${Ne.error||"Toggle failed"}`})),Ne.unauthorized&&Xt()),lt(null)},Va=async G=>{lt(G);const ne=await K.testProvider(G);q(Ne=>{var je;return{...Ne,[G]:ne.ok?`✅ Connected — ${((je=ne.models)==null?void 0:je.length)??0} model(s) reachable`:`❌ ${ne.error||"Connection failed"}`}}),lt(null)},Ys=()=>{Q&&(pt(G=>({...G,[Q]:{}})),oe(""))};if(a&&!o)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:"Admin"}),i.jsx("div",{className:"admin-error",children:a})]});if(!o||!c&&n)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:"Admin"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading…"})]})]});if(!c){const G=!o.configured;return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:`Admin — ${G?"Set up access":"Log in"}`}),i.jsx("p",{className:"admin-subtitle",children:G?"Create the admin user-id and password that gate the dashboard write surface (API-key/provider configuration). The CLI keeps working exactly as before — this only guards the GUI.":"The write surface (API-key/provider configuration) is gated by the admin credentials. Read-only checks stay open."}),i.jsxs("form",{className:"admin-gate-form",onSubmit:G?Qt:Cr,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:N,onChange:ne=>k(ne.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:j,onChange:ne=>_(ne.target.value),autoComplete:G?"new-password":"current-password",placeholder:"••••••••"})]}),G?i.jsxs("label",{children:[i.jsx("span",{children:"Confirm password"}),i.jsx("input",{type:"password",value:O,onChange:ne=>C(ne.target.value),autoComplete:"new-password",placeholder:"••••••••"})]}):null,P?i.jsx("div",{className:"admin-error",children:P}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:B||!N||!j,children:B?"⏳ …":G?"🔐 Create admin":"🔐 Log in"}),G?i.jsxs("p",{className:"admin-hint",children:["Automation alternative: set ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_USER"})," and"," ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_PASSWORD"})," in the dashboard's environment."]}):null]})]})}if(d){const G=h.length>0&&h.length<8,ne=m.length>0&&m!==h,Ne=async je=>{if(je.preventDefault(),G||ne||!h)return;I(!0),A(null);const $t=await K.changeAdminPassword(j,h);$t.ok?(f(!1),_(""),p(""),g(""),ir(),sr(),fn()):A($t.error||"Could not change the password."),I(!1)};return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🔐",title:"Set your own password"}),i.jsxs("p",{className:"admin-subtitle",children:["This dashboard is running on its ",i.jsx("strong",{children:"published default password"}),", so anyone who can reach this port can sign in. Until you replace it, the agent will refuse to save anything — API keys, provider settings, users."]}),i.jsxs("form",{className:"admin-gate-form",onSubmit:Ne,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Current password"}),i.jsx("input",{type:"password",value:j,onChange:je=>_(je.target.value),autoComplete:"current-password",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"New password"}),i.jsx("input",{type:"password",value:h,onChange:je=>p(je.target.value),autoComplete:"new-password",placeholder:"at least 8 characters"})]}),G?i.jsx("div",{className:"admin-error",children:"Use at least 8 characters."}):null,i.jsxs("label",{children:[i.jsx("span",{children:"Confirm new password"}),i.jsx("input",{type:"password",value:m,onChange:je=>g(je.target.value),autoComplete:"new-password",placeholder:"repeat it"})]}),ne?i.jsx("div",{className:"admin-error",children:"The two passwords do not match."}):null,P?i.jsx("div",{className:"admin-error",children:P}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:B||!j||!h||G||ne,children:B?"⏳ …":"🔐 Save new password"})]})]})}const Ya=(e==null?void 0:e.system.filter(G=>G.status==="pass").length)??0,pa=(e==null?void 0:e.system.filter(G=>G.status==="warn").length)??0,Xs=(e==null?void 0:e.system.filter(G=>G.status==="fail").length)??0,ma=(e==null?void 0:e.enterprise.filter(G=>G.status==="pass").length)??0,Ki=(e==null?void 0:e.enterprise.filter(G=>G.status==="warn").length)??0,Vi=(e==null?void 0:e.enterprise.filter(G=>G.status==="fail").length)??0,Mn=(e==null?void 0:e.providers)??[],Xa=Object.keys(_e).filter(G=>!Mn.some(ne=>ne.type===G)),Ar=[...Mn,...Xa.map(G=>({type:G,configured:!1,keySource:"none",keyMasked:null}))],ga=G=>{const ne=Xe.find(Ne=>Ne.id===G);return ne||{label:G}};return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:i.jsxs(i.Fragment,{children:["Admin — Command Runner & Configuration",S?i.jsxs("span",{className:`admin-role-badge admin-role-${y||"viewer"}`,children:[" ",S," · ",y||"viewer"]}):null]})}),i.jsxs("div",{className:"admin-header-actions",children:[i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void ir(),disabled:n,children:n?"⏳ Running checks…":"🔄 Refresh (run all commands)"}),Yt||y==="operator"?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void lr(),disabled:Me!==null,title:"Stop the running gateway (buff gateway stop)",children:Me==="gateway"?"⏳ Stopping…":"⏻ Stop gateway"}):null,Yt?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void Ka(),disabled:Me!==null,title:"Shut down this dashboard server (buff dashboard stop)",children:Me==="dashboard"?"⏳ Stopping…":"🛑 Stop dashboard"}):null,i.jsx("button",{className:"admin-logout-btn",onClick:()=>void fa(),children:"🚪 Log out"})]})]}),he?i.jsx("div",{className:"admin-error",children:he}):null,Yt?null:i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Your role (",i.jsx("code",{children:y||"viewer"}),") is read-only here — provider configuration and user management require the ",i.jsx("code",{children:"admin"})," role. The CLI enforces the same governance policy (rbac.json)."]}),i.jsx("p",{className:"admin-subtitle",children:"The dashboard executes the same state commands as the CLI — no command needed. Provider keys are masked here and every write goes through the same config the CLI uses."}),a?i.jsx("div",{className:"admin-error",children:a}):null,e?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card admin-summary-pass",children:[i.jsx("div",{className:"admin-summary-value",children:Ya+ma}),i.jsx("div",{className:"admin-summary-label",children:"✅ Passing"})]}),i.jsxs("div",{className:"admin-summary-card admin-summary-warn",children:[i.jsx("div",{className:"admin-summary-value",children:pa+Ki}),i.jsx("div",{className:"admin-summary-label",children:"⚠️ Warnings"})]}),i.jsxs("div",{className:"admin-summary-card admin-summary-fail",children:[i.jsx("div",{className:"admin-summary-value",children:Xs+Vi}),i.jsx("div",{className:"admin-summary-label",children:"❌ Failing"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:Ar.length}),i.jsx("div",{className:"admin-summary-label",children:"Providers"})]})]}),Yt?i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"👥 Dashboard Users (role.manage)"}),i.jsxs("div",{className:"admin-users-list",children:[M.map(G=>i.jsxs("div",{className:"admin-user-row",children:[i.jsx("span",{className:"admin-user-name",children:G.user}),i.jsx("span",{className:`admin-role-badge admin-role-${G.role}`,children:G.role}),i.jsxs("span",{className:"admin-user-since",children:["since ",new Date(G.createdAt).toLocaleDateString()]}),G.user!==S?i.jsx("button",{className:"admin-mini-btn admin-mini-danger",onClick:()=>void cr(G.user),children:"🗑 Remove user"}):i.jsx("span",{className:"admin-hint",children:"you"})]},G.user)),M.length===0?i.jsx("div",{className:"empty-state",children:"No dashboard users yet."}):null]}),i.jsxs("form",{className:"admin-gate-form admin-user-form",onSubmit:Gi,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:z,onChange:G=>T(G.target.value),autoComplete:"off"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password (min 8 chars)"}),i.jsx("input",{type:"password",value:Z,onChange:G=>U(G.target.value),autoComplete:"new-password"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Role"}),i.jsxs("select",{value:$,onChange:G=>ie(G.target.value),children:[i.jsx("option",{value:"viewer",children:"viewer — read-only"}),i.jsx("option",{value:"operator",children:"operator — read-only in the dashboard today"}),i.jsx("option",{value:"admin",children:"admin — full control"})]})]}),W?i.jsx("div",{className:"admin-row-msg",children:W}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:!z||!Z,children:"➕ Add user"})]})]}):null,Yt||y==="operator"?i.jsxs("div",{className:"admin-omniroute",children:[i.jsxs("h2",{className:"section-subtitle",children:["🔀 External gateway: OmniRoute (port ",(Ie==null?void 0:Ie.port)??20128,")"]}),i.jsxs("p",{className:"admin-hint",children:["OmniRoute is a separate local process nuvira does not embed. The provider row below decides whether agent-nuvira ",i.jsx("em",{children:"routes"})," to it; this controls whether the gateway itself is up. A 401 from its API still counts as running."]}),i.jsxs("div",{className:"admin-omniroute-row",children:[i.jsx("span",{className:`admin-check-badge ${Ie!=null&&Ie.reachable?"admin-check-pass":"admin-check-warn"}`,children:Ie===null?"… checking":Ie.reachable?"✅ Reachable":Ie.running?"⚠️ Process up, not answering":"❌ Not running"}),i.jsxs("span",{className:"admin-hint",children:[(Ie==null?void 0:Ie.detail)??"Probing…"," · ",(Ie==null?void 0:Ie.baseUrl)??"http://127.0.0.1:20128/v1",(Ie==null?void 0:Ie.pid)!=null?` · PID ${Ie.pid}`:""]}),i.jsx("button",{className:"admin-mini-btn",disabled:It,onClick:()=>void Ks("start"),title:"Run `omniroute` in the background and wait until it answers",children:"▶ Start"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:It||!(Ie!=null&&Ie.running),onClick:()=>void Ks("stop"),title:"SIGTERM the running OmniRoute gateway",children:"⏹ Stop"}),i.jsx("button",{className:"admin-mini-btn",disabled:It,onClick:()=>void or(),children:"⟳ Recheck"})]}),Rn?i.jsx("div",{className:"admin-row-msg",children:Rn}):null]}):null,i.jsx("h2",{className:"section-subtitle",children:"🔑 Provider Configuration (keys masked)"}),i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Provider"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Key"}),i.jsx("th",{children:"Base URL"}),i.jsx("th",{children:"Model"}),i.jsx("th",{children:"Actions"})]})}),i.jsxs("tbody",{children:[Ar.map(G=>{const ne=ga(G.type),Ne=_e[G.type]||{},je=G.type==="bedrock";return i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[ne.icon?`${ne.icon} `:"",ne.label,i.jsxs("div",{className:"admin-provider-sub",children:[G.type," · ",dle[G.keySource]||G.keySource]}),G.keySource==="env"?i.jsxs("div",{className:"admin-hint",children:["comes from ",ne.envVar||"env var"," — change it there, config can't override it"]}):G.keySource==="vault"?i.jsx("div",{className:"admin-hint",children:"stored in the OS keyring (vault)"}):null,ne.description?i.jsx("div",{className:"admin-provider-desc",children:ne.description}):null,ne.setup?i.jsxs("div",{className:"admin-provider-setup",children:[i.jsx("strong",{children:"Setup:"})," ",ne.setup]}):null]}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge ${G.configured?"admin-check-pass":"admin-check-warn"}`,children:G.configured?"✅ Configured":"⚠️ Not configured"}),G.enabled===!1?i.jsx("span",{className:"admin-check-badge admin-check-warn",title:"Kept out of automatic routing; an explicit --provider pin still reaches it",children:"⏸ Off (pin only)"}):null]}),i.jsx("td",{children:je?i.jsxs("div",{className:"admin-hint",children:["Configured on the ",i.jsx("a",{href:"/bedrock",children:"AWS Bedrock page"})," — region, auth (bearer / IAM), and model-access approval live there, not here."]}):ne.keyless?i.jsx("div",{className:"admin-hint",children:"No key needed (probed)"}):Yt?i.jsx("input",{className:"admin-input admin-key-input",type:"password","aria-label":`${G.type} API key`,placeholder:G.keyMasked||"set a new key…",value:Ne.apiKey??"",onChange:$t=>qe(G.type,"apiKey",$t.target.value),autoComplete:"new-password"}):i.jsx("div",{className:"admin-hint",children:G.keyMasked||"—"})}),i.jsx("td",{children:Yt?i.jsx("input",{className:"admin-input",type:"text","aria-label":`${G.type} base URL`,placeholder:G.baseUrl||"default endpoint",value:Ne.baseUrl??"",onChange:$t=>qe(G.type,"baseUrl",$t.target.value)}):i.jsx("div",{className:"admin-hint",children:G.baseUrl?G.baseUrl.replace(/^https?:\/\/(?:[^@/]*@)?/,""):"default endpoint"})}),i.jsx("td",{children:Yt?i.jsx("input",{className:"admin-input",type:"text","aria-label":`${G.type} model`,placeholder:G.model||"default model",value:Ne.model??"",onChange:$t=>qe(G.type,"model",$t.target.value)}):i.jsx("div",{className:"admin-hint",children:G.model||"default model"})}),i.jsx("td",{children:Yt?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn",disabled:Fe===G.type,title:"Include this provider in automatic routing, or keep it off and pin it explicitly",onClick:()=>void qi(G.type,G.enabled===!1),children:G.enabled===!1?"▶ Turn on":"⏸ Turn off"}),i.jsx("button",{className:"admin-mini-btn",disabled:Fe===G.type,onClick:()=>void Vs(G.type),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",disabled:Fe===G.type,title:"Tests the SAVED configuration — save first to test a new key",onClick:()=>void Va(G.type),children:"🔌 Test"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:Fe===G.type,onClick:()=>void ha(G.type),children:"🗑 Remove"})]}),Vt[G.type]?i.jsx("div",{className:"admin-row-msg",children:Vt[G.type]}):null]}):i.jsx("div",{className:"admin-hint",children:"read-only"})})]},G.type)}),Ar.length===0?i.jsx("tr",{children:i.jsx("td",{colSpan:6,className:"admin-empty-cell",children:"No providers configured yet."})}):null]})]})}),Yt&&Xe.length>0?i.jsxs("div",{className:"admin-add-provider",children:[i.jsxs("select",{className:"admin-input",value:Q,onChange:G=>oe(G.target.value),children:[i.jsx("option",{value:"",children:"Add a provider…"}),Xe.filter(G=>!Ar.some(ne=>ne.type===G.id)).map(G=>i.jsxs("option",{value:G.id,children:[G.icon?`${G.icon} `:"",G.label," (",G.id,")"]},G.id))]}),i.jsx("button",{className:"admin-mini-btn",disabled:!Q,onClick:Ys,children:"➕ Add"})]}):null,i.jsx("h2",{className:"section-subtitle",children:"📁 Workspace (chat turns with no attached folder)"}),i.jsx("p",{className:"admin-hint",children:"A chat turn runs against a directory. An attached folder always wins; with none attached, this is where the turn lands. Leave it empty and an ask that needs a project — an assessment, a file, an image — asks you to attach a folder instead of scanning the server's own working directory."}),i.jsxs("form",{className:"admin-gate-form",onSubmit:Ll,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Working directory"}),i.jsx("input",{type:"text",value:Ee,onChange:G=>J(G.target.value),placeholder:"/Users/you/Documents/my-project",disabled:ce||!c||!_r})]}),de?i.jsxs("p",{className:"admin-hint",children:[de.effective?i.jsxs(i.Fragment,{children:["Effective: ",i.jsx("code",{children:de.effective})]}):i.jsxs(i.Fragment,{children:["Not set — unattached project asks will ask for a folder (server cwd: ",i.jsx("code",{children:de.processCwd}),")"]}),de.configured&&!de.configuredValid?" ⚠️ The saved path no longer exists and is being ignored.":""]}):null,Y?i.jsx("div",{className:"admin-row-msg",children:Y}):null,_r?i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:ce||!c,children:ce?"⏳ Saving…":"💾 Save workspace"}):i.jsx("span",{className:"admin-hint",children:"🔒 Changing the workspace requires admin or operator."})]}),i.jsx("h2",{className:"section-subtitle",children:"🧠 Response Cache (answers by workspace)"}),i.jsx("p",{className:"admin-hint",children:"The cache is keyed by the folder an answer was produced in. If a project has changed and an ask replays an old answer, clear that project — every other project keeps its cached answers."}),Oe?i.jsx("div",{className:"admin-row-msg",children:Oe}):null,xe&&xe.workspaces.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Workspace"}),i.jsx("th",{children:"Answers"}),i.jsx("th",{children:"Newest"}),i.jsx("th",{children:"Models"}),i.jsx("th",{children:"Sample"}),i.jsx("th",{})]})}),i.jsx("tbody",{children:xe.workspaces.map(G=>{var ne;return i.jsxs("tr",{children:[i.jsx("td",{className:"admin-provider-type",children:G.scope?i.jsx("code",{children:G.scope}):i.jsx("em",{children:"no workspace attached"})}),i.jsx("td",{children:G.count}),i.jsx("td",{className:"admin-hint",children:new Date(G.newestAt).toLocaleString()}),i.jsxs("td",{className:"admin-hint",children:[G.models.slice(0,2).join(", "),G.models.length>2?` +${G.models.length-2}`:""]}),i.jsx("td",{className:"admin-hint",children:((ne=G.samples[0])==null?void 0:ne.prompt)??""}),i.jsx("td",{children:i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Re!==null||!_r,onClick:()=>void qa(G.scope),children:Re===(G.scope??"__none__")?"⏳ …":"🗑 Clear"})})]},G.scope??"__none__")})})]})}):i.jsx("div",{className:"empty-state",children:"No cached answers — every turn reached a model."}),xe&&xe.total>0?i.jsxs("p",{className:"admin-hint",children:[xe.total," cached answer",xe.total===1?"":"s"," across"," ",xe.workspaces.length," workspace",xe.workspaces.length===1?"":"s","."]}):null,i.jsx(ule,{authed:c,role:y||"viewer"}),i.jsx(ole,{authed:c,role:y||"viewer"}),i.jsx("h2",{className:"section-subtitle",children:"⚙️ System Checks (buff doctor)"}),i.jsx("div",{className:"admin-check-list",children:e.system.map(G=>i.jsx(Ub,{check:G},G.name))}),i.jsx("h2",{className:"section-subtitle",children:"🏥 Enterprise Self-Check (doctor --enterprise)"}),i.jsx("div",{className:"admin-check-list",children:e.enterprise.length>0?e.enterprise.map(G=>i.jsx(Ub,{check:G},G.name)):i.jsx("div",{className:"empty-state",children:"No enterprise checks returned."})})]}):n?i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Running all state checks…"})]}):null]})}function vM(e){return String(e??"").replace(/\d{3,}/g,t=>t.slice(0,2)+"***")}const hle={idle:"Not paired",pairing:"⏳ Pairing…",paired:"✅ Paired",failed:"❌ Pairing failed",cancelled:"⏹ Cancelled",error:"💥 Pairing error"};function ple({authed:e,canWrite:t,sessionExpired:n,reveal:r=!1}){const[a,s]=b.useState(null),[o,l]=b.useState({}),[c,u]=b.useState(""),[d,f]=b.useState(!1),[h,p]=b.useState(null),m=b.useRef(null),g=b.useCallback(async()=>{const x=await K.getWhatsAppStatus();x&&(s(x.status),l(x.contacts??{}))},[]);b.useEffect(()=>{if(g(),!e||typeof EventSource>"u")return;const x=K.subscribeWhatsApp({onQr:j=>s(_=>_&&{..._,qr:j,state:"pairing"}),onCode:j=>s(_=>_&&{..._,pairingCode:j}),onStatus:j=>{s(j),(j.state==="paired"||j.state==="failed"||j.state==="error"||j.state==="cancelled")&&f(!1)}});return m.current=x,()=>{x(),m.current=null}},[e,g]);const y=async x=>{f(!0),p(null);const j=await x();if(!j.ok&&j.error&&/Not authenticated|Session expired/i.test(j.error)){n(),f(!1);return}j.ok?(p({kind:"ok",text:"Done."}),await g()):p({kind:"err",text:j.error||"Action failed."}),f(!1)},v=x=>{p(null),y(()=>K.startWhatsAppPair(x?c.trim():void 0)).then(()=>u(""))},S=()=>{p(null),y(()=>K.cancelWhatsAppPair())},w=()=>{window.confirm("Remove the paired WhatsApp session from this machine? You will need to scan a QR to pair again.")&&(p(null),y(()=>K.unpairWhatsApp()))},N=(a==null?void 0:a.state)??"idle",k=N==="pairing";return i.jsxs("div",{className:"wa-panel",children:[i.jsxs("div",{className:"wa-panel-head",children:[i.jsx("span",{className:"wa-panel-title",children:"🟢 WhatsApp bridge"}),a?i.jsx("span",{className:`wa-badge ${a.paired?"wa-badge-paired":k?"wa-badge-pairing":""}`,children:hle[N]}):i.jsx("span",{className:"admin-hint",children:"loading…"})]}),i.jsxs("p",{className:"admin-hint",children:["The personal Baileys bridge (no Meta Business account) — pair once, and the gateway can send & receive WhatsApp. Session: ",i.jsx("code",{children:(a==null?void 0:a.sessionDir)??"~/.buff/whatsapp/session"}),". Same engine as"," ",i.jsx("code",{children:"buff whatsapp pair"}),"."]}),k?i.jsxs("div",{className:"wa-pairing",children:[a!=null&&a.qr?i.jsxs("div",{className:"wa-qr-box",children:[i.jsx("img",{className:"wa-qr-img",src:a.qr,alt:"WhatsApp pairing QR code"}),i.jsxs("p",{className:"admin-hint",children:["Open WhatsApp on the phone → ",i.jsx("strong",{children:"Linked devices → Link a device → scan"}),". The QR refreshes automatically while this window is open."]})]}):a!=null&&a.phone?i.jsxs("div",{className:"wa-code-box",children:[i.jsxs("p",{className:"admin-hint",children:["On the phone with ",i.jsx("strong",{children:a.phone}),": WhatsApp → Linked devices → Link a device →"," ",i.jsx("strong",{children:"“Link with phone number instead”"})," → enter:"]}),i.jsx("div",{className:"wa-code",children:a.pairingCode??"… waiting for code"})]}):i.jsx("div",{className:"wa-code-box",children:i.jsx("p",{className:"admin-hint",children:"Waiting for WhatsApp to hand over a QR… (it usually appears within a few seconds)"})}),a!=null&&a.phone?null:i.jsxs("div",{className:"admin-hint",children:["Tip: on a phone, “Link with phone number instead” needs the number format"," ",i.jsx("code",{children:"918844433322"})," (country code included) — enter it below instead of scanning."]}),a!=null&&a.error?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:a.error}):null,t&&e?i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:S,disabled:d,children:d?"⏳…":"⏹ Cancel pairing"}):null]}):i.jsxs("div",{className:"wa-actions",children:[t&&e?a!=null&&a.paired?i.jsxs("div",{className:"wa-action-row",children:[i.jsx("button",{className:"admin-refresh-btn wa-unpair-btn",type:"button",onClick:w,disabled:d,children:d?"⏳…":"🗑 Unpair (remove session)"}),i.jsx("span",{className:"admin-hint",children:"Removes creds.json — you will need to scan a QR again."})]}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"wa-action-row",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>v(!1),disabled:d,children:d?"⏳…":"🔳 Pair with a QR"}),i.jsx("span",{className:"admin-hint",children:"Scans from the phone you want to link."})]}),i.jsxs("div",{className:"wa-action-row wa-phone-row",children:[i.jsx("input",{type:"text",className:"wa-phone-input",value:c,onChange:x=>u(x.target.value),placeholder:"or pair with a number — e.g. 918844433322",disabled:d,maxLength:16}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>v(!0),disabled:d||!c.trim(),children:"Pair by number"})]})]}):null,N==="failed"||N==="error"||N==="cancelled"?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:(a==null?void 0:a.error)||(N==="cancelled"?"Pairing cancelled.":"Pairing failed — try again.")}):null,e?t?null:i.jsx("div",{className:"admin-row-msg",children:"Your role can view pairing status but not change it (requires admin or operator)."}):i.jsx("div",{className:"admin-row-msg",children:"Log in (admin or operator) to pair, cancel, or unpair."}),h?i.jsx("div",{className:`admin-row-msg${h.kind==="ok"?"":" admin-row-msg-err"}`,children:h.text}):null]}),i.jsxs("div",{className:"wa-contacts",children:[i.jsxs("div",{className:"wa-contacts-head",children:[i.jsx("span",{className:"wa-panel-title",children:"📇 Send-by-name contacts"}),i.jsxs("span",{className:"admin-hint",children:[Object.keys(o).length," mapped"]})]}),i.jsxs("p",{className:"admin-hint",children:["These names are for ",i.jsx("strong",{children:"sending messages by name"})," (e.g."," ",i.jsx("code",{children:'buff gateway send whatsapp:Name "…"'}),") — they do"," ",i.jsx("strong",{children:"NOT"})," let these numbers trigger the agent."]}),i.jsx("div",{className:"hub-alias-list",children:Object.keys(o).length===0?i.jsxs("span",{className:"admin-hint",children:["(none — add one with ",i.jsx("code",{children:"buff whatsapp contact add <Name> <number>"}),")"]}):Object.entries(o).map(([x,j])=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:x}),i.jsxs("span",{className:"admin-hint",children:["→ ",r?j:vM(j)]})]},x))}),i.jsxs("p",{className:"admin-hint",style:{marginTop:8},children:["To let a number ",i.jsx("strong",{children:"trigger the agent"})," (respond to its messages), add it to the"," ",i.jsx("strong",{children:"verified list"})," in the ",i.jsx("strong",{children:"Permissions tab above"}),", or run"," ",i.jsx("code",{children:"buff config gateway allow whatsapp user <number>"}),"."]})]})]})}function mle({canWrite:e,sessionExpired:t,mode:n="grid"}){const[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(null),[u,d]=b.useState(null),[f,h]=b.useState(null),[p,m]=b.useState(0),[g,y]=b.useState({}),[v,S]=b.useState(!1),[w,N]=b.useState(null),k=b.useRef(!0),x=b.useCallback(async()=>{const B=await K.getPlatformConfigs();k.current&&a(B)},[t]);b.useEffect(()=>(x(),()=>{k.current=!1}),[x]);const j=async(B,I)=>{c(B),d(null);const M=await K.setPlatformConfig(B,I);if(k.current){if(c(null),M.unauthorized||M.forbidden){t(M.error);return}d({kind:M.ok?"ok":"err",text:M.ok?"Saved — transport active.":M.error||"Save failed."}),M.ok&&(o(null),x())}},_=async B=>{if(!window.confirm(`Remove ${B} transport config? Tokens will be deleted from ~/.buff/.env.`))return;c(B),d(null);const I=await K.removePlatformConfig(B);if(k.current){if(c(null),I.unauthorized||I.forbidden){t(I.error);return}d({kind:I.ok?"ok":"err",text:I.ok?"Removed.":I.error||"Remove failed."}),I.ok&&x()}},O={telegram:{steps:["Open Telegram and search for @BotFather","Send /newbot to BotFather and follow the prompts",'Give your bot a name (e.g. "My Agent Bot")','Give your bot a username (must end with "bot", e.g. "my_agent_bot")',"BotFather will give you a token — paste it in the field below","Open your bot in Telegram and send it a message (e.g. /start)"],postSetup:["Start the gateway: buff gateway start (or from the Gateway tab)","Open your bot in Telegram and send a message — the agent replies!"]},discord:{steps:["Go to https://discord.com/developers/applications",'Click "New Application" → give it a name → Create','Go to "Bot" in the left sidebar → click "Add Bot"','Under "Token", click "Copy" to copy the bot token','Enable "Message Content Intent" under Privileged Gateway Intents',"Invite the bot to your server with the OAuth2 URL generator"],postSetup:["Start the gateway: buff gateway start","Mention the bot in a Discord channel or send it a DM","The agent will reply automatically!"]},slack:{steps:["Go to https://api.slack.com/apps",'Click "Create New App" → "From scratch"',"Add Bot Token Scopes: chat:write, im:read, im:write","Install the app to your workspace","Copy the Bot User OAuth Token (starts with xoxb-)"],postSetup:["Start the gateway: buff gateway start","DM the bot or mention it in a channel","The agent will reply automatically!"]},email:{steps:["You need an SMTP relay (Gmail, SendGrid, Mailgun, etc.)","For Gmail: use smtp.gmail.com:587 with an App Password","For SendGrid/Mailgun: get SMTP credentials from their dashboard"],postSetup:["Start the gateway: buff gateway start","Send an email to the configured address","The agent will reply via email!"]}},C=B=>{e&&(h(B),m(0),y(Object.fromEntries(B.envVars.map(I=>[I.varName,I.value]))),N(null))},P=async()=>{if(!f||!e)return;S(!0),N(null);const B=await K.setPlatformConfig(f.platform,g);if(S(!1),B.unauthorized||B.forbidden){t(B.error);return}B.ok?(N({kind:"ok",text:"✅ Token saved! The transport is now active."}),x()):N({kind:"err",text:B.error||"Save failed."})};if(r===null)return i.jsx("div",{className:"empty-state",children:"Loading platform transports…"});const A=f?O[f.platform]:null;return n==="table"?i.jsxs(i.Fragment,{children:[f&&A?i.jsx("div",{className:"wizard-overlay",onClick:()=>h(null),children:i.jsxs("div",{className:"wizard-modal",onClick:B=>B.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:"🚀"}),i.jsxs("span",{className:"wizard-title",children:["Getting Started: ",f.label]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>h(null),children:"✕"})]}),i.jsx("div",{className:"wizard-body",children:p===0?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Steps to create your bot:"}),i.jsx("ol",{className:"wizard-steps",children:A.steps.map((B,I)=>i.jsx("li",{children:B},I))}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>m(1),children:"I have my token →"}),f.setupUrl?i.jsx("a",{href:f.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"📖 Docs"}):null]})]}):i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"🔑 Paste your token:"}),f.envVars.map(B=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:B.prompt}),i.jsx("input",{type:B.secret?"password":"text",value:g[B.varName]??"",onChange:I=>y(M=>({...M,[B.varName]:I.target.value})),placeholder:B.secret?"••••••••":"value",autoComplete:"off",spellCheck:!1,autoFocus:!0})]},B.varName)),w?i.jsx("div",{className:`admin-row-msg${w.kind==="ok"?"":" admin-row-msg-err"}`,children:w.text}):null,i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>m(0),children:"← Back"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void P(),disabled:v||!e,children:v?"⏳ Saving…":"💾 Save token"})]}),(w==null?void 0:w.kind)==="ok"?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Next steps:"}),i.jsx("ol",{className:"wizard-steps",children:A.postSetup.map((B,I)=>i.jsx("li",{children:B},I))})]}):null]})})]})}):null,u?i.jsx("div",{className:`admin-row-msg${u.kind==="ok"?"":" admin-row-msg-err"}`,children:u.text}):null,i.jsx("div",{className:"platform-config-table-wrapper",children:i.jsxs("table",{className:"platform-config-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Configuration"}),i.jsx("th",{children:"CLI Command"})]})}),i.jsx("tbody",{children:r.map(B=>i.jsxs(V.Fragment,{children:[i.jsxs("tr",{className:`platform-config-row ${B.configured?"configured":""}`,children:[i.jsxs("td",{className:"platform-config-name",children:[i.jsx("span",{className:"hub-platform-label",children:B.label}),i.jsx("span",{className:"hub-card-id",children:B.platform})]}),i.jsxs("td",{children:[i.jsx("span",{className:`status-dot ${B.configured?"connected":"reconnecting"}`}),i.jsx("span",{className:"platform-config-status-text",children:B.configured?"Active":"Not configured"})]}),i.jsxs("td",{className:"platform-config-actions",children:[B.configured?null:i.jsx("button",{type:"button",className:"wizard-start-btn",onClick:()=>C(B),disabled:!e,children:"🚀 Getting Started"}),B.setupUrl?i.jsx("a",{href:B.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"📖 Docs"}):null,i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>o(s===B.platform?null:B.platform),disabled:!e,children:s===B.platform?"▴ Close":B.configured?"✎ Edit":"⚙ Configure"}),B.configured?i.jsx("button",{type:"button",className:"admin-mini-btn contact-delete-btn",onClick:()=>void _(B.platform),disabled:!e,children:"🗑️"}):null]}),i.jsx("td",{className:"platform-config-cli",children:i.jsxs("code",{children:["buff gateway setup ",B.platform]})})]}),s===B.platform?i.jsx("tr",{className:"platform-config-expanded",children:i.jsx("td",{colSpan:4,children:i.jsxs("div",{className:"platform-config-form",children:[B.envVars.map(I=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:I.prompt}),i.jsx("input",{type:I.secret?"password":"text",value:I.value,readOnly:!0,className:"platform-config-readonly",placeholder:I.secret?"••••••••":"value"})]},I.varName)),i.jsxs("p",{className:"admin-hint",children:["Tokens are in ",i.jsx("code",{children:"~/.buff/.env"})," — edit there or use the wizard above."]})]})})}):null]},B.platform))})]})})]}):i.jsxs(i.Fragment,{children:[f&&A?i.jsx("div",{className:"wizard-overlay",onClick:()=>h(null),children:i.jsxs("div",{className:"wizard-modal",onClick:B=>B.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:"🚀"}),i.jsxs("span",{className:"wizard-title",children:["Getting Started: ",f.label]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>h(null),children:"✕"})]}),i.jsx("div",{className:"wizard-body",children:p===0?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Steps to create your bot:"}),i.jsx("ol",{className:"wizard-steps",children:A.steps.map((B,I)=>i.jsx("li",{children:B},I))}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>m(1),children:"I have my token →"}),f.setupUrl?i.jsx("a",{href:f.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"📖 Open docs in new tab"}):null]})]}):i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"🔑 Paste your token:"}),f.envVars.map(B=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:B.prompt}),i.jsx("input",{type:B.secret?"password":"text",value:g[B.varName]??"",onChange:I=>y(M=>({...M,[B.varName]:I.target.value})),placeholder:B.secret?"••••••••":"value",autoComplete:"off",spellCheck:!1,autoFocus:!0})]},B.varName)),w?i.jsx("div",{className:`admin-row-msg${w.kind==="ok"?"":" admin-row-msg-err"}`,children:w.text}):null,i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>m(0),children:"← Back"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void P(),disabled:v||!e,children:v?"⏳ Saving…":"💾 Save token"})]}),(w==null?void 0:w.kind)==="ok"?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Next steps:"}),i.jsx("ol",{className:"wizard-steps",children:A.postSetup.map((B,I)=>i.jsx("li",{children:B},I))})]}):null]})})]})}):null,i.jsxs("div",{className:"platform-config",children:[i.jsx("h2",{className:"section-subtitle",children:"⚙️ Platform transports (buff config gateway)"}),u?i.jsx("div",{className:`admin-row-msg${u.kind==="ok"?"":" admin-row-msg-err"}`,children:u.text}):null,i.jsx("div",{className:"hub-platform-grid",children:r.map(B=>i.jsx(gle,{entry:B,canWrite:e,busy:l===B.platform,expanded:s===B.platform,onToggle:()=>o(s===B.platform?null:B.platform),onSave:I=>void j(B.platform,I),onRemove:()=>void _(B.platform),onStartWizard:()=>C(B)},B.platform))}),i.jsxs("p",{className:"admin-hint",children:["Tokens are written to ",i.jsx("code",{children:"~/.buff/.env"})," (loaded by both the CLI and this dashboard at startup) — no env vars to hand-export. The WhatsApp personal bridge is configured separately above via QR/code pairing."]})]})]})}function gle(e){const{entry:t,canWrite:n,busy:r,expanded:a,onToggle:s,onSave:o,onRemove:l,onStartWizard:c}=e,[u,d]=b.useState(()=>Object.fromEntries(t.envVars.map(h=>[h.varName,h.value]))),f=(h,p)=>{d(m=>({...m,[h]:p}))};return i.jsxs("div",{className:`hub-platform${t.configured?" configured":""}`,children:[i.jsxs("div",{className:"hub-platform-head",children:[i.jsx("span",{className:`status-dot ${t.configured?"connected":"reconnecting"}`}),i.jsx("span",{className:"hub-platform-label",children:t.label}),i.jsx("span",{className:"hub-card-id",children:t.platform}),t.configured?null:i.jsx("button",{type:"button",className:"wizard-start-btn",onClick:c,disabled:!n,title:"Step-by-step setup wizard",children:"🚀 Getting Started"}),t.setupUrl?i.jsx("a",{href:t.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",title:"Setup documentation",children:"📖 Docs"}):null,i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:s,disabled:!n,children:a?"▴ Collapse":t.configured?"✎ Edit":"⚙ Configure"})]}),!a&&t.setupHint&&!t.configured?i.jsx("div",{className:"platform-setup-hint",children:t.setupHint}):null,a?i.jsxs("div",{className:"platform-config-form",children:[t.setupHint?i.jsx("div",{className:"platform-setup-hint",children:t.setupHint}):null,t.envVars.map(h=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:h.prompt}),i.jsx("input",{type:h.secret?"password":"text",value:u[h.varName]??"",onChange:p=>f(h.varName,p.target.value),placeholder:h.secret?"••••••••":"value",autoComplete:"off",spellCheck:!1,maxLength:512})]},h.varName)),i.jsxs("div",{className:"platform-config-actions",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>o(u),disabled:r||!n,children:r?"⏳ Saving…":"💾 Save"}),t.configured?i.jsx("button",{type:"button",className:"hub-remove-btn",onClick:l,disabled:r||!n,children:"🗑 Remove"}):null]})]}):i.jsx("div",{className:"hub-platform-env",children:t.envVars.map(h=>i.jsxs("div",{children:[i.jsx("code",{children:h.varName})," ",h.set?"✓ set":"— unset"]},h.varName))})]})}const vle=[{id:"tools",label:"Tools",icon:"🧰"},{id:"channels",label:"Channels",icon:"📡"},{id:"conversations",label:"Conversations",icon:"💬"},{id:"artifacts",label:"Artifacts",icon:"📦"},{id:"skills",label:"Skills",icon:"🧠"},{id:"subagents",label:"Subagents",icon:"🤖"}],yle={pending:"⏳ pending",sent:"✅ sent",failed:"❌ failed"},ble=5e3,xle={spawning:"⏳ spawning",running:"▶ running",completed:"✅ completed",failed:"❌ failed",timeout:"⏰ timed out",killed:"⛔ killed"};function wle(e){const t=typeof document<"u"?document.documentElement:null,n=(r,a)=>!t||typeof getComputedStyle!="function"?a:getComputedStyle(t).getPropertyValue(r).trim()||a;return{canvas:n("--bg-primary","Canvas"),text:n("--text-primary","CanvasText"),muted:n("--text-muted","GrayText"),userBubble:n("--accent-blue","Highlight"),onUserBubble:n("--text-on-accent","HighlightText"),agentBubble:n("--bg-card","ButtonFace")}}function oo(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function kle(e,t,n=new Date){const r=oo(e.displayName),a=oo(e.platform),s=e.messages.map(o=>{const l=o.role==="user",c=l?"user":"assistant",u=oo(l?e.displayName:"Agent");return`<div class="msg msg-${c}">
|
|
135
|
-
<div class="bubble bubble-${c}">${oo(o.content)}</div>
|
|
136
|
-
<div class="timestamp">${u} · ${oo(new Date(o.ts).toLocaleString())}</div>
|
|
137
|
-
</div>`}).join(`
|
|
138
|
-
`);return`<!DOCTYPE html>
|
|
139
|
-
<html lang="en">
|
|
140
|
-
<head>
|
|
141
|
-
<meta charset="utf-8">
|
|
142
|
-
<title>Conversation with ${r}</title>
|
|
143
|
-
<style>
|
|
144
|
-
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 700px; margin: 40px auto; padding: 0 20px; background: ${t.canvas}; color: ${t.text}; line-height: 1.6; }
|
|
145
|
-
h1 { font-size: 20px; margin-bottom: 4px; }
|
|
146
|
-
.meta { color: ${t.muted}; font-size: 13px; margin-bottom: 20px; }
|
|
147
|
-
.msg { margin-bottom: 16px; }
|
|
148
|
-
.msg-user { text-align: right; }
|
|
149
|
-
.msg-assistant { text-align: left; }
|
|
150
|
-
.bubble { display: inline-block; max-width: 80%; padding: 10px 14px; border-radius: 12px; font-size: 14px; white-space: pre-wrap; word-break: break-word; text-align: left; }
|
|
151
|
-
.bubble-user { background: ${t.userBubble}; color: ${t.onUserBubble}; border-bottom-right-radius: 4px; }
|
|
152
|
-
.bubble-assistant { background: ${t.agentBubble}; color: ${t.text}; border-bottom-left-radius: 4px; }
|
|
153
|
-
.timestamp { font-size: 11px; color: ${t.muted}; margin-top: 2px; }
|
|
154
|
-
@media print { body { margin: 0; } }
|
|
155
|
-
</style>
|
|
156
|
-
</head>
|
|
157
|
-
<body>
|
|
158
|
-
<h1>Conversation with ${r}</h1>
|
|
159
|
-
<div class="meta">Platform: ${a} · ${e.messageCount} messages · Exported: ${oo(n.toLocaleString())}</div>
|
|
160
|
-
${s}
|
|
161
|
-
</body>
|
|
162
|
-
</html>`}function Sle(){var md,gd,Wl,Hl,Gl,vd,ql,Vr,Kl,yd,bd,xd,Vl,Yl,L;const[e,t]=b.useState("tools"),[n,r]=b.useState(null),[a,s]=b.useState(!0),[o,l]=b.useState(null),[c,u]=b.useState(!1),[d,f]=b.useState(null),[h,p]=b.useState(!1),[m,g]=b.useState(null),[y,v]=b.useState(null),[S,w]=b.useState(""),N=qr(),[k,x]=b.useState(""),[j,_]=b.useState(null),[O,C]=b.useState(!1),[P,A]=b.useState(null),[B,I]=b.useState(null),[M,D]=b.useState({}),[W,R]=b.useState(""),[z,T]=b.useState(""),[Z,U]=b.useState(!1),[$,ie]=b.useState(null),[de,ve]=b.useState(!1),[Ee,J]=b.useState({}),[Y,ae]=b.useState(!1),[ce,H]=b.useState(null),[xe,ke]=b.useState({}),[Oe,ge]=b.useState({}),[Re,pe]=b.useState({}),[Xe,$e]=b.useState(!1),[_e,pt]=b.useState(null),[Fe,lt]=b.useState(""),[Vt,q]=b.useState(null),[Q,oe]=b.useState(!1),[he,Se]=b.useState(new Map),[Me,Ft]=b.useState(new Set),[Ie,Pn]=b.useState(!1),[Rn,kt]=b.useState([]),[It,rt]=b.useState(""),[ir,sr]=b.useState(null),[fn,Kr]=b.useState(""),[Nt,or]=b.useState([]),[qa,Ll]=b.useState(0),[Yt,_r]=b.useState(0),[Xt,Cr]=b.useState(!0),[Qt,fa]=b.useState(!1),[lr,Ks]=b.useState(!1),Ka=20,Gi=b.useRef(null),cr=b.useCallback(async(E=!1)=>{if(Qt)return;const F=E?0:Yt;fa(!0);try{const X=await K.fetchGatewayConversations({offset:F,limit:Ka,q:Fe||void 0});X.ok&&X.conversations&&(or(te=>E?X.conversations:[...te,...X.conversations]),Ll(X.total??0),_r(F+X.conversations.length),Cr(X.hasMore??!1))}catch{}fa(!1)},[Qt,Yt,Fe]);b.useEffect(()=>{e==="conversations"&&!lr&&!Qt&&(Ks(!0),cr(!0))},[e,lr,Qt,cr]),b.useEffect(()=>{const E=Gi.current;if(!E)return;const F=new IntersectionObserver(X=>{var te;(te=X[0])!=null&&te.isIntersecting&&Xt&&!Qt&&cr(!1)},{threshold:.1});return F.observe(E),()=>F.disconnect()},[Xt,Qt,cr]),b.useEffect(()=>{const E=setTimeout(()=>{e==="conversations"&&lr&&(or([]),_r(0),Cr(!0),cr(!0))},300);return()=>clearTimeout(E)},[Fe]),b.useEffect(()=>K.onTypingEvent(F=>{Se(X=>{const te=new Map(X),re=`${F.platform}:${F.channelId}`;return F.typing?te.set(re,{platform:F.platform,channelId:F.channelId,startedAt:Date.now()}):te.delete(re),te})}),[]);const qe=b.useCallback((E,F)=>{F.stopPropagation(),Ft(X=>{const te=new Set(X);return te.has(E)?te.delete(E):te.add(E),te})},[]),Vs=b.useCallback(()=>{Ft(E=>E.size===Nt.length?new Set:new Set(Nt.map(F=>F.key)))},[Nt]),ha=b.useCallback(async()=>{if(Me.size!==0){Pn(!0);try{await K.exportGatewayConversations([...Me])}catch{}Pn(!1)}},[Me]);b.useEffect(()=>{e==="conversations"&&K.getAllConversationTags().then(E=>{E.ok&&E.tags&&kt(E.tags)})},[e]);const qi=b.useCallback(async(E,F)=>{if(!F.trim())return;(await K.addConversationTag(E,F.trim())).ok&&(or(te=>te.map(re=>re.key===E?{...re,tags:[...re.tags??[],F.trim().toLowerCase()]}:re)),kt(te=>te.includes(F.trim().toLowerCase())?te:[...te,F.trim().toLowerCase()].sort())),sr(null),Kr("")},[]),Va=b.useCallback(async(E,F)=>{(await K.removeConversationTag(E,F)).ok&&or(te=>te.map(re=>re.key===E?{...re,tags:(re.tags??[]).filter(fe=>fe!==F)}:re))},[]),Ys=b.useCallback((E,F)=>{F.stopPropagation();const X=E.contactName||E.channelId,te=[`Conversation with ${X} (${E.platform})`,`Exported: ${new Date().toLocaleString()}`,`Messages: ${E.messageCount}`,"─".repeat(50),""];if(E.messages)for(const mt of E.messages){const we=mt.role==="user"?X:"Agent",me=new Date(mt.ts).toLocaleString();te.push(`[${me}] ${we}:`),te.push(mt.content),te.push("")}const re=new Blob([te.join(`
|
|
163
|
-
`)],{type:"text/plain;charset=utf-8"}),fe=URL.createObjectURL(re),Je=document.createElement("a");Je.href=fe,Je.download=`conversation-${E.platform}-${E.channelId.replace(/[^\w]/g,"_")}-${new Date().toISOString().slice(0,10)}.txt`,document.body.appendChild(Je),Je.click(),document.body.removeChild(Je),URL.revokeObjectURL(fe)},[]),Ya=b.useCallback((E,F)=>{F.stopPropagation();const X=E.contactName||E.channelId,te=E.messages??[],re=kle({displayName:X,platform:E.platform,messageCount:E.messageCount,messages:te},wle()),fe=window.open("","_blank");fe&&(fe.document.write(re),fe.document.close(),setTimeout(()=>fe.print(),300))},[]);b.useEffect(()=>{var F;const E=(F=n==null?void 0:n.conversations)==null?void 0:F.recent;!E||E.length===0||lr&&(Yt>Ka||Fe||or(X=>{const te=new Set(X.map(we=>we.key)),re=E.map(we=>({...we})),fe=new Map(X.map(we=>[we.key,we]));for(const we of re)fe.has(we.key)&&fe.set(we.key,we);const mt=[...re.filter(we=>!te.has(we.key)),...fe.values()];return mt.sort((we,me)=>me.lastActiveAt-we.lastActiveAt),mt}))},[(md=n==null?void 0:n.conversations)==null?void 0:md.recent]);const[pa,Xs]=b.useState(""),[ma,Ki]=b.useState([]),[Vi,Mn]=b.useState(!1),[Xa,Ar]=b.useState(!1),[ga,G]=b.useState(null),[ne,Ne]=b.useState(null),[je,$t]=b.useState({}),[ur,jn]=b.useState([]),[va,Yi]=b.useState([]),[Qa,Qs]=b.useState(""),He=E=>Xe?String(E??""):vM(E),Dl=E=>{const F=E.match(/^(\d+)@/);if(!F)return"";const X=F[1];return X.length===12&&X.startsWith("91")?`+${X.slice(0,2)} ${X.slice(2,7)} ${X.slice(7)}`:X.length===10?`+91 ${X.slice(0,5)} ${X.slice(5)}`:`+${X}`},ya=E=>{const F=Dl(E.channelId),X=He(E.channelId);return E.contactName?{name:E.contactName,phone:F||X}:{name:F||X,phone:""}},Pt=b.useCallback(E=>{var F,X;r(E),(F=E==null?void 0:E.channels)!=null&&F.statusRecipients&&Yi(E.channels.statusRecipients),(X=E==null?void 0:E.channels)!=null&&X.contacts&&jn(E.channels.contacts),E||l("Could not reach the dashboard server, or the server is older than this panel. Run `buff dashboard` to start it."),s(!1)},[]),In=b.useCallback(async()=>{u(!0),l(null),Pt(await K.fetchHub()),u(!1)},[Pt]);b.useEffect(()=>{In(),K.fetchAdminAuthStatus().then(E=>{E&&(f({configured:E.configured,authenticated:E.authenticated}),p(E.authenticated),g(E.role??null),v(E.user??null))})},[In,N]);const Za=((gd=n==null?void 0:n.subagents)==null?void 0:gd.running)??0;b.useEffect(()=>{if(Za===0)return;const E=setInterval(()=>{K.fetchHub().then(F=>{F&&Pt(F)})},ble);return()=>clearInterval(E)},[Za,Pt]);const Rt=h&&(m==="admin"||m==="operator"),Xi=b.useRef(!1);b.useEffect(()=>{Rt&&!Xi.current&&(Xi.current=!0,$e(!0))},[Rt]);const dd=async E=>{E==null||E.preventDefault();const F=pa.trim();if(!F)return;Ar(!0),G(null);const X=await K.marketplaceSearch(F);Ki(X),Mn(!0),Ar(!1)},Cm=async E=>{if(!h){G({kind:"err",text:"🔐 Log in (or set up admin access) to install skills."});return}if(!Rt){G({kind:"err",text:"Your role cannot install skills — admin or operator only."});return}Ne(E),G(null);const F=await K.marketplaceInstall(E);F.ok?(G({kind:"ok",text:`✅ Installed ${E} (quarantine checked) — it appears in the Skills list and loads via the skill tool next turn.`}),In()):G({kind:"err",text:F.quarantined?`⛔ ${F.error||"checksum mismatch — quarantined"}`:`❌ ${F.error||"Install failed."}`}),Ne(null)},Bl=async E=>{if(!h){G({kind:"err",text:"🔐 Log in (or set up admin access) to uninstall skills."});return}if(!Rt){G({kind:"err",text:"Your role cannot uninstall skills — admin or operator only."});return}Ne(E),G(null);const F=await K.marketplaceUninstall(E);F.ok?(G({kind:"ok",text:`🗑️ Uninstalled ${E} — removed from .agents/skills/ and provenance.`}),In()):G({kind:"err",text:`❌ ${F.error||"Uninstall failed."}`}),Ne(null)},Tr=()=>{p(!1),f(E=>E&&{...E,authenticated:!1}),_("Session expired — log in again to toggle capabilities.")},Am=async E=>{E.preventDefault(),C(!0),_(null);const F=await K.adminLogin(S,k);if(F.ok){p(!0),f({configured:!0,authenticated:!0}),g(F.role??"admin"),v(F.user??null),w(""),x("");const X=P;A(null),X&&await Zs(X.kind,X.name,X.enabled)}else _(F.error||"Login failed.");C(!1)},fd=async E=>{if(E.preventDefault(),C(!0),_(null),k.length<8){_("Password must be at least 8 characters."),C(!1);return}const F=await K.adminSetup(S,k);if(F.ok){p(!0),f({configured:!0,authenticated:!0}),g(F.role??"admin"),v(F.user??null),w(""),x("");const X=P;A(null),X&&await Zs(X.kind,X.name,X.enabled)}else _(F.error||"Setup failed.");C(!1)},Tm=async()=>{await K.adminLogout(),p(!1),f(E=>E&&{...E,authenticated:!1}),g(null),v(null)},Zs=async(E,F,X)=>{I(F);const te=E==="skill"?await K.setSkillEnabled(F,X):await K.setToolsetEnabled(F,X);te.ok?(D(re=>({...re,[F]:`✅ ${X?"Enabled":"Disabled"} — live for new agent runs`})),In()):te.unauthorized?Tr():(D(re=>({...re,[F]:`❌ ${te.error||"Toggle failed"}`})),te.forbidden&&_(te.error||"Your role cannot change capabilities.")),I(null)},Om=(E,F)=>{if(!h){A({kind:"toolset",name:E,enabled:F});return}Zs("toolset",E,F)},zl=(E,F)=>{if(!h){A({kind:"skill",name:E,enabled:F});return}Zs("skill",E,F)},Pm=async E=>{if(E.preventDefault(),!h){ie({kind:"err",text:"🔐 Log in (or set up admin access) to send test messages."});return}if(!Rt){ie({kind:"err",text:"🔒 Your role cannot send channel messages — requires the admin or operator role."});return}U(!0),ie(null);const F=await K.sendChannelMessage(W.trim(),z);F.ok?(ie({kind:"ok",text:`✅ Sent to ${W.trim()} (${F.platform}:${He(F.channelId??"")})`}),T("")):F.unauthorized?(Tr(),ie({kind:"err",text:F.error||"Session expired — log in again."})):ie({kind:"err",text:F.error||"Send failed."}),U(!1)},Ja=(E,F)=>{var te,re;return(((re=(te=n==null?void 0:n.channels)==null?void 0:te.policies)==null?void 0:re[E])??{})[F]??[]},Fl=E=>E==="user"?"allowedUsers":E==="group"?"allowedGroups":"outboundSenders",Gn=(E,F,X)=>{const te=X.trim();te&&J(re=>{var me;const fe={...re[E]??{}},Je=Fl(F),we=[...((me=re[E])==null?void 0:me[Je])??Ja(E,Je)];return we.includes(te)||we.push(te),fe[Je]=we,{...re,[E]:fe}})},ei=(E,F,X)=>{J(te=>{var me;const re=Fl(F),fe=Ja(E,re),mt=(((me=te[E])==null?void 0:me[re])??fe).filter(at=>at!==X);if(mt.length===0&&fe.length===0){const at={...te[E]??{}};delete at[re];const xa={...te};return Object.keys(at).length===0?delete xa[E]:xa[E]=at,xa}const we={...te[E]??{}};return we[re]=mt,{...te,[E]:we}})},Js=(E,F)=>{const X=E.trim().toLowerCase(),te=F.trim().toLowerCase();if(X==="*"||te==="*"||X===te)return!0;const re=X.replace(/\D+/g,""),fe=te.replace(/\D+/g,"");return re.length>0&&re===fe},Ul=E=>{const F=(je[E]??"").trim(),X=(xe[E]??"").trim();X&&(Gn(E,"user",X),F&&jn(te=>[...te.filter(fe=>!(fe.platform===E&&(Js(fe.id,X)||fe.name.toLowerCase()===F.toLowerCase()))),{name:F,platform:E,id:X,addedAt:Date.now()}]),ke(te=>({...te,[E]:""})),$t(te=>({...te,[E]:""})))},Rm=(E,F)=>{ei(E,"user",F),jn(X=>X.filter(te=>!(te.platform===E&&Js(te.id,F))))},ba=(E,F)=>{J(X=>{const te={...X[E]??{}};return F==="silentDrop"?te.silentDrop=te.silentDrop===!1:te[F]?delete te[F]:te[F]=!0,{...X,[E]:te}})},hd=Object.keys(Ee).length>0||ur.length!==(((Hl=(Wl=n==null?void 0:n.channels)==null?void 0:Wl.contacts)==null?void 0:Hl.length)??0)||ur.some((E,F)=>{var X,te;return!((te=(X=n==null?void 0:n.channels)==null?void 0:X.contacts)!=null&&te[F])||E.platform!==n.channels.contacts[F].platform||E.id!==n.channels.contacts[F].id||E.name!==n.channels.contacts[F].name})||va.length!==(((vd=(Gl=n==null?void 0:n.channels)==null?void 0:Gl.statusRecipients)==null?void 0:vd.length)??0)||va.some((E,F)=>{var X,te;return E!==((te=(X=n==null?void 0:n.channels)==null?void 0:X.statusRecipients)==null?void 0:te[F])}),sn=async()=>{var F;if(!h){H({kind:"err",text:"🔐 Log in (or set up admin access) to change permissions."});return}if(!Rt){H({kind:"err",text:"🔒 Your role cannot change permissions — requires the admin or operator role."});return}ae(!0),H(null);const E=await K.saveGatewayPolicies(Ee,va,ur);if(E.ok){const X=(F=E.contactErrors)!=null&&F.length?`
|
|
164
|
-
⚠️ Some contacts were rejected: ${E.contactErrors.join("; ")}`:"";H({kind:X?"warn":"ok",text:`✅ Permissions + saved contacts + status recipients saved — the running gateway applies them immediately.${X}`}),J({}),In()}else E.unauthorized?(Tr(),H({kind:"err",text:E.error||"Session expired — log in again."})):H({kind:"err",text:E.error||"Failed to save permissions."});ae(!1)};if(a)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🧰",title:"Agent Hub"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading hub…"})]})]});const pd=!h&&P!==null;return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🧰",title:i.jsxs(i.Fragment,{children:["Agent Hub",y?i.jsxs("span",{className:`admin-role-badge admin-role-${m||"viewer"}`,children:[" ",y," · ",m||"viewer"]}):null]})}),i.jsxs("div",{className:"admin-header-actions",children:[i.jsxs("label",{className:"hub-reveal-toggle",children:[i.jsx("input",{type:"checkbox",checked:Xe,onChange:E=>$e(E.target.checked),disabled:!Rt}),"Show full ids"]}),Rt?null:i.jsx("span",{className:"admin-hint",children:"🔒 admins/operators only"}),i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void In(),disabled:c,children:c?"⏳ Refreshing…":"🔄 Refresh"}),h?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void Tm(),children:"🚪 Log out"}):null]})]}),i.jsxs("p",{className:"admin-subtitle",children:["Capabilities, messaging, artifacts and skills in one place — a single 4-view management page. Toggles persist to ",i.jsx("code",{children:"buffconfig"})," and are honored by the runtime immediately (never cosmetic)."]}),o?i.jsx("div",{className:"admin-error",children:o}):null,pd?i.jsxs("div",{className:"admin-header",children:[i.jsx("h2",{className:"section-subtitle",children:d!=null&&d.configured?`🔐 Log in to ${P.enabled?"enable":"disable"} '${P.name}'`:`🔐 Set up admin access to ${P.enabled?"enable":"disable"} '${P.name}'`}),i.jsxs("form",{className:"admin-gate-form",onSubmit:d!=null&&d.configured?Am:fd,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:S,onChange:E=>w(E.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:k,onChange:E=>x(E.target.value),autoComplete:d!=null&&d.configured?"current-password":"new-password",placeholder:"••••••••"})]}),j?i.jsx("div",{className:"admin-error",children:j}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:O||!S||!k,children:O?"⏳ …":d!=null&&d.configured?"🔐 Log in & apply":"🔐 Create admin & apply"}),d!=null&&d.configured?null:i.jsxs("p",{className:"admin-hint",children:["The first user is always an admin. Automation alternative: set"," ",i.jsx("code",{children:"BUFF_DASHBOARD_ADMIN_USER"})," / ",i.jsx("code",{children:"BUFF_DASHBOARD_ADMIN_PASSWORD"}),"."]})]})]}):null,!pd&&!Rt&&h?i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Your role (",i.jsx("code",{children:m||"viewer"}),") can view but not change capabilities — toggles require the ",i.jsx("code",{children:"admin"})," or ",i.jsx("code",{children:"operator"})," role."]}):null,i.jsx("div",{className:"hub-tabs",role:"tablist",children:vle.map(E=>{var X,te,re;const F=E.id==="tools"?n?`${n.toolsets.enabled}/${n.toolsets.toolsets.length}`:"":E.id==="channels"?n?String(n.channels.delivery.total):"":E.id==="conversations"?n?String(((X=n.conversations)==null?void 0:X.total)??0):"":E.id==="artifacts"?n?String(n.artifacts.totalSessions):"":E.id==="subagents"?n?`${((te=n.subagents)==null?void 0:te.running)??0}/${((re=n.subagents)==null?void 0:re.total)??0}`:"":n?`${n.skills.enabled}/${n.skills.total}`:"";return i.jsxs("button",{role:"tab","aria-selected":e===E.id,className:`hub-tab${e===E.id?" active":""}`,onClick:()=>t(E.id),children:[E.icon," ",E.label,F?i.jsx("span",{className:"hub-tab-count",children:F}):null]},E.id)})}),e==="tools"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.toolsets.enabled}),i.jsx("div",{className:"admin-summary-label",children:"Enabled toolsets"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.toolsets.disabled}),i.jsx("div",{className:"admin-summary-label",children:"Disabled toolsets"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.toolsets.totalTools}),i.jsx("div",{className:"admin-summary-label",children:"Registered tools"})]})]}),i.jsx("div",{className:"hub-toolset-grid",children:n.toolsets.toolsets.map(E=>i.jsxs("div",{className:`hub-card${E.enabled?"":" hub-card-disabled"}`,children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:E.label}),i.jsx("span",{className:"hub-card-id",children:E.name})]}),i.jsx("button",{role:"switch","aria-checked":E.enabled,"aria-label":`${E.enabled?"Disable":"Enable"} ${E.label}`,className:`hub-switch${E.enabled?" on":""}`,disabled:B===E.name||P!==null||h&&!Rt,onClick:()=>Om(E.name,!E.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]}),i.jsx("p",{className:"hub-card-desc",children:E.description}),i.jsx("div",{className:"hub-card-tools",children:E.tools.length>0?E.tools.map(F=>i.jsx("span",{className:"hub-chip",children:F},F)):i.jsx("span",{className:"admin-hint",children:"gates dynamic MCP tools (no static names)"})}),M[E.name]?i.jsx("div",{className:"admin-row-msg",children:M[E.name]}):null,E.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Removed from the model schema — calls return an explicit error"})]},E.name))})]}):null,e==="channels"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.delivery.pending}),i.jsx("div",{className:"admin-summary-label",children:"⏳ Queued for retry"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.delivery.sent}),i.jsx("div",{className:"admin-summary-label",children:"✅ Delivered"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.delivery.failed}),i.jsx("div",{className:"admin-summary-label",children:"❌ Failed (max retries)"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.aliases.length}),i.jsx("div",{className:"admin-summary-label",children:"Channel aliases"})]})]}),i.jsx("h2",{className:"section-subtitle",children:"📮 Delivery ledger (guaranteed delivery)"}),n.channels.delivery.recent.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Target"}),i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Attempts"}),i.jsx("th",{children:"Next retry"}),i.jsx("th",{children:"Message"})]})}),i.jsx("tbody",{children:n.channels.delivery.recent.map(E=>i.jsxs("tr",{children:[i.jsx("td",{className:"admin-provider-type",children:He(E.target)}),i.jsx("td",{children:E.platform}),i.jsx("td",{children:i.jsx("span",{className:`admin-check-badge admin-check-${E.status==="sent"?"pass":E.status==="failed"?"fail":"warn"}`,children:yle[E.status]||E.status})}),i.jsxs("td",{children:[E.attempts,"/5"]}),i.jsx("td",{children:E.status==="pending"?`${Math.max(0,Math.round((E.nextAttemptAt-Date.now())/1e3))}s`:"—"}),i.jsx("td",{className:"admin-hint",children:E.lastError?`⚠️ ${E.lastError}`:(E.text||"").slice(0,60)})]},E.id))})]})}):i.jsx("div",{className:"empty-state",children:"Delivery ledger is empty — every gateway send has gone through."}),i.jsx("h2",{className:"section-subtitle",children:"📥 Inbox (received messages)"}),n.channels.inbox.recent.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"From"}),i.jsx("th",{children:"Message"}),i.jsx("th",{children:"Handled"}),i.jsx("th",{children:"When"})]})}),i.jsx("tbody",{children:n.channels.inbox.recent.map(E=>i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[E.platform,E.isGroup?i.jsx("span",{className:"hub-chip",children:"group"}):null]}),i.jsx("td",{children:He(E.from||E.senderId||E.channelId)}),i.jsx("td",{className:"admin-hint",children:(E.text||"").slice(0,60)}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge admin-check-${E.handled==="pipeline"?"pass":E.handled==="refused"?"fail":"warn"}`,children:E.handled}),E.reply?i.jsx("div",{className:"admin-hint",children:E.reply.slice(0,E.handled==="attachment_failed"?160:40)}):null]}),i.jsx("td",{className:"admin-hint",children:new Date(E.at).toLocaleString()})]},E.id))})]})}):i.jsx("div",{className:"empty-state",children:"Inbox is empty — messages the gateway receives will appear here."}),i.jsxs("p",{className:"admin-hint",children:[n.channels.inbox.total," received · ",n.channels.inbox.pipeline," triggered the pipeline ·"," ",n.channels.inbox.help," got the help line · ",n.channels.inbox.refused," refused by policy ·"," ",n.channels.inbox.duplicate??0," duplicate re-deliveries ignored ·"," ",n.channels.inbox.attachmentFailed??0," attachment(s) could not be read."]}),i.jsx("h2",{className:"section-subtitle",children:"🔌 Platform transports"}),i.jsx(mle,{canWrite:Rt,sessionExpired:Tr,mode:"table"}),i.jsx("h2",{className:"section-subtitle",children:"🔗 Channel aliases (buff gateway status)"}),n.channels.aliases.length>0?i.jsx("div",{className:"hub-alias-list",children:n.channels.aliases.map(E=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:E.alias}),i.jsxs("span",{className:"admin-hint",children:["→ ",E.platform,":",He(E.channelId)]})]},E.alias))}):i.jsxs("div",{className:"empty-state",children:["No aliases yet — register one with ",i.jsx("code",{children:"buff gateway alias <name> <platform> <channelId>"}),"."]}),hd?i.jsxs("div",{className:"hub-unsaved-banner",role:"status",children:[i.jsxs("span",{children:["⚠️ ",i.jsx("strong",{children:"Unsaved changes"})," — what you see below is a ",i.jsx("em",{children:"draft"}),". Press"," ",i.jsx("strong",{children:"💾 Save permissions"})," to apply it to the gateway; leaving the page discards it."]}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>void sn(),children:Y?"⏳ Saving…":"💾 Save permissions"})]}):null,i.jsx("div",{style:{cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:8,marginBottom:8},onClick:()=>ve(!de),children:i.jsxs("h2",{className:"section-subtitle",style:{margin:0},children:[de?"▼":"▶"," 🔐 Permissions — who can TRIGGER the agent"]})}),i.jsxs("p",{className:"admin-hint",style:{marginBottom:de?10:0},children:["This list controls ",i.jsx("strong",{children:"who may trigger the agent"})," when they message you on each platform (WhatsApp, Telegram, email, …). Click to ",de?"collapse":"expand"," and manage permissions."]}),de?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-hint",style:{marginBottom:10},children:["⚠ ",i.jsx("strong",{children:"Not the same as send-by-name contacts:"})," a WhatsApp contact name (from"," ",i.jsx("code",{children:"buff whatsapp contact add"}),", shown in the WhatsApp bridge panel below) only lets"," ",i.jsx("em",{children:"you"})," send ",i.jsx("em",{children:"to"})," it by name — it does ",i.jsx("strong",{children:"not"})," let that number trigger the agent. Add the number here (or ",i.jsx("code",{children:"buff config gateway allow <platform> user <id>"}),") to grant inbound access."]}),i.jsx("div",{className:"hub-permissions",children:n.channels.platforms.map(E=>{const F={...n.channels.policies[E.platform]??{},...Ee[E.platform]??{}},X=F.allowedUsers??[],te=F.allowedGroups??[];return i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsx("span",{className:"hub-chip",children:E.label}),i.jsx("span",{className:"hub-card-id",children:E.platform}),F.disabled?i.jsx("span",{className:"hub-chip",children:"disabled"}):null]}),i.jsx("div",{className:"admin-hint",style:{margin:"4px 0 8px"},children:"Allowed users — who may trigger the agent"}),i.jsxs("div",{className:"hub-alias-list",children:[X.length===0?i.jsxs("span",{className:"admin-hint",children:["(blank — no one may trigger; add ",i.jsx("code",{children:"Allow-All"})," to allow everyone)"]}):null,X.map(re=>{var Je,mt,we,me;const fe=(((Je=Ee[E.platform])==null?void 0:Je.allowedUsers)??[]).includes(re)&&!(((me=(we=(mt=n==null?void 0:n.channels)==null?void 0:mt.policies)==null?void 0:we[E.platform])==null?void 0:me.allowedUsers)??[]).includes(re);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${fe?" hub-chip-pending":""}`,title:fe?"Not saved yet — press 💾 Save permissions":void 0,children:[He(re),fe?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Rm(E.platform,re),children:"✕"})]},`u-${re}`)})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:je[E.platform]??"",onChange:re=>$t(fe=>({...fe,[E.platform]:re.target.value})),placeholder:"Name (optional)",disabled:Y}),i.jsx("input",{type:"text",value:xe[E.platform]??"",onChange:re=>ke(fe=>({...fe,[E.platform]:re.target.value})),placeholder:"Contact no / sender id, or Allow-All",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(xe[E.platform]??"").trim(),onClick:()=>Ul(E.platform),children:"+ User"})]}),i.jsx("div",{className:"admin-hint",style:{margin:"4px 0 8px"},children:"Allowed groups"}),i.jsxs("div",{className:"hub-alias-list",children:[te.length===0?i.jsx("span",{className:"admin-hint",children:"(none — any group may trigger)"}):null,te.map(re=>{var Je,mt,we,me;const fe=(((Je=Ee[E.platform])==null?void 0:Je.allowedGroups)??[]).includes(re)&&!(((me=(we=(mt=n==null?void 0:n.channels)==null?void 0:mt.policies)==null?void 0:we[E.platform])==null?void 0:me.allowedGroups)??[]).includes(re);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${fe?" hub-chip-pending":""}`,title:fe?"Not saved yet — press 💾 Save permissions":void 0,children:[re,fe?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>ei(E.platform,"group",re),children:"✕"})]},`g-${re}`)})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Oe[E.platform]??"",onChange:re=>ge(fe=>({...fe,[E.platform]:re.target.value})),placeholder:"group id, e.g. 1203630283471234@g.us",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(Oe[E.platform]??"").trim(),onClick:()=>{Gn(E.platform,"group",Oe[E.platform]??""),ge(re=>({...re,[E.platform]:""}))},children:"+ Group"})]}),i.jsx("div",{className:"admin-hint",style:{margin:"12px 0 4px"},children:"Send authority — who may tell the agent to send to OTHER people"}),i.jsx("div",{className:"admin-hint",style:{margin:"0 0 6px",opacity:.8},children:(F.outboundSenders??[]).length===0?"Open — anyone above who can trigger the agent can also direct outbound sends. Add senders to restrict it.":"Restricted to the senders below (Allow-All = everyone)."}),i.jsx("div",{className:"hub-alias-list",children:(F.outboundSenders??[]).map(re=>{var Je,mt,we,me;const fe=(((Je=Ee[E.platform])==null?void 0:Je.outboundSenders)??[]).includes(re)&&!(((me=(we=(mt=n==null?void 0:n.channels)==null?void 0:mt.policies)==null?void 0:we[E.platform])==null?void 0:me.outboundSenders)??[]).includes(re);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${fe?" hub-chip-pending":""}`,title:fe?"Not saved yet — press 💾 Save permissions":void 0,children:[He(re),fe?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>ei(E.platform,"send",re),children:"✕"})]},`s-${re}`)})}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Re[E.platform]??"",onChange:re=>pe(fe=>({...fe,[E.platform]:re.target.value})),placeholder:"sender id, or Allow-All",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(Re[E.platform]??"").trim(),onClick:()=>{Gn(E.platform,"send",Re[E.platform]??""),pe(re=>({...re,[E.platform]:""}))},children:"+ Sender"})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 0"},children:[i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginRight:12},children:[i.jsx("input",{type:"checkbox",checked:F.silentDrop!==!1,disabled:Y,onChange:()=>ba(E.platform,"silentDrop")}),i.jsx("span",{className:"admin-hint",children:"Silent (no reply to unapproved) — default"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginRight:12},children:[i.jsx("input",{type:"checkbox",checked:!!F.requireMention,disabled:Y,onChange:()=>ba(E.platform,"requireMention")}),i.jsx("span",{className:"admin-hint",children:"Groups: mention only"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginRight:12},children:[i.jsx("input",{type:"checkbox",checked:!!F.disabled,disabled:Y,onChange:()=>ba(E.platform,"disabled")}),i.jsx("span",{className:"admin-hint",children:"Disabled (off)"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[i.jsx("input",{type:"checkbox",checked:!!F.requireApprovedTarget,disabled:Y,onChange:()=>ba(E.platform,"requireApprovedTarget")}),i.jsx("span",{className:"admin-hint",children:"Require approved recipients for sends"})]})]})]},E.platform)})})]}):null,i.jsx("h2",{className:"section-subtitle",style:{marginTop:22},children:"📇 Telegram User Onboarding"}),i.jsxs("div",{className:"onboarding-summary",children:[i.jsx("p",{className:"admin-hint",style:{marginBottom:12},children:"Users who message your bot are auto-registered here. Approve them to enable outbound messaging."}),(()=>{const E=ur.filter(te=>te.status==="pending").length,F=ur.filter(te=>te.status==="approved").length,X=ur.filter(te=>te.status==="rejected").length;return i.jsxs("div",{className:"onboarding-stats",children:[i.jsxs("span",{className:"onboarding-stat pending",children:["⏳ ",E," pending"]}),i.jsxs("span",{className:"onboarding-stat approved",children:["✅ ",F," approved"]}),i.jsxs("span",{className:"onboarding-stat rejected",children:["🚫 ",X," rejected"]})]})})(),i.jsxs("div",{className:"onboarding-steps",children:[i.jsxs("div",{className:"onboarding-step",children:[i.jsx("span",{className:"onboarding-step-num",children:"1"}),i.jsxs("span",{children:["User sends any message to ",i.jsx("code",{children:"@agent_nuvira_bot"})]})]}),i.jsxs("div",{className:"onboarding-step",children:[i.jsx("span",{className:"onboarding-step-num",children:"2"}),i.jsxs("span",{children:["Bot auto-registers them as ",i.jsx("strong",{children:"⏳ pending"})]})]}),i.jsxs("div",{className:"onboarding-step",children:[i.jsx("span",{className:"onboarding-step-num",children:"3"}),i.jsx("span",{children:"Admin approves → they can receive outbound messages"})]})]}),i.jsx("a",{href:"/contacts",className:"admin-refresh-btn",style:{marginTop:12,display:"inline-block",textDecoration:"none"},children:"📋 Go to Contacts tab to manage →"})]}),i.jsx("h2",{className:"section-subtitle",style:{marginTop:22},children:"📊 Status recipients"}),i.jsxs("p",{className:"admin-hint",children:["Contacts/groups that ALWAYS receive the pipeline completion summary, whoever triggered it. Use a contact name, number, or ",i.jsx("code",{children:"platform:channelId"})," — e.g."," ",i.jsx("code",{children:"whatsapp:Name"}),", ",i.jsx("code",{children:"whatsapp:+91***"}),", ",i.jsx("code",{children:"telegram:123456"}),","," ",i.jsx("code",{children:"slack:ops"}),"."]}),va.length>0?i.jsx("div",{className:"hub-alias-list",children:va.map(E=>{var F,X;return i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:"📊"}),i.jsx("span",{className:"admin-hint",children:((X=(F=n==null?void 0:n.channels)==null?void 0:F.statusRecipientDisplay)==null?void 0:X[E])??E}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Yi(te=>te.filter(re=>re!==E)),children:"✕"})]},E)})}):i.jsx("div",{className:"empty-state",style:{padding:"14px"},children:"No status recipients — add one below."}),i.jsxs("div",{className:"hub-send-form",children:[i.jsx("input",{type:"text",value:Qa,onChange:E=>Qs(E.target.value),placeholder:"whatsapp:Name or whatsapp:+91***",disabled:Y,maxLength:128}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!Qa.trim()||va.includes(Qa.trim()),onClick:()=>{Yi(E=>[...E,Qa.trim()]),Qs("")},children:"+ Add"})]}),i.jsxs("div",{className:"hub-send-form",style:{marginTop:10},children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>void sn(),children:Y?"⏳ Saving…":"💾 Save permissions"}),Object.keys(Ee).length>0?i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>J({}),children:"Discard draft"}):null]}),ce?i.jsx("div",{className:`admin-row-msg${ce.kind==="err"?" admin-row-msg-err":""}`,children:ce.text}):null,i.jsx("h2",{className:"section-subtitle",children:"📤 Test a channel (buff gateway send)"}),i.jsxs("form",{className:"hub-send-form",onSubmit:E=>void Pm(E),children:[i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Target — an alias or platform:channelId"}),i.jsx("input",{type:"text",value:W,onChange:E=>R(E.target.value),placeholder:"ops or slack:C0123 or email:team@example.com",disabled:Z,maxLength:128})]}),i.jsxs("label",{className:"hub-send-message",children:[i.jsx("span",{className:"admin-hint",children:"Message"}),i.jsx("input",{type:"text",value:z,onChange:E=>T(E.target.value),placeholder:"nightly build done 🎉",disabled:Z,maxLength:4e3})]}),i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:Z||!W.trim()||!z,children:Z?"⏳ Sending…":"📤 Send test message"})]}),$?i.jsx("div",{className:`admin-row-msg${$.kind==="ok"?"":" admin-row-msg-err"}`,children:$.text}):null,i.jsxs("p",{className:"admin-hint",children:["Sends through the same gateway the CLI uses — the dashboard process must have the platform's env token set (e.g. ",i.jsx("code",{children:"BUFF_SMTP_HOST"}),"). Requires admin or operator."]}),i.jsx("h2",{className:"section-subtitle",children:"🟢 WhatsApp bridge (buff whatsapp pair)"}),i.jsx(ple,{authed:h,canWrite:Rt,sessionExpired:Tr,reveal:Xe})]}):null,e==="conversations"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((ql=n.conversations)==null?void 0:ql.total)??0}),i.jsx("div",{className:"admin-summary-label",children:"Stored conversations"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:Nt.filter(E=>Date.now()-E.lastActiveAt<864e5).length}),i.jsx("div",{className:"admin-summary-label",children:"Active today"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:Nt.filter(E=>E.platform==="whatsapp").length}),i.jsx("div",{className:"admin-summary-label",children:"WhatsApp"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:Nt.filter(E=>E.platform==="telegram").length}),i.jsx("div",{className:"admin-summary-label",children:"Telegram"})]})]}),((Vr=n.conversations)==null?void 0:Vr.analytics)&&n.conversations.analytics.totalConversations>0&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>oe(!Q),style:{marginBottom:12},children:Q?"📊 Hide Analytics":"📊 Show Analytics"}),Q?i.jsxs("div",{className:"hub-session-list",style:{marginBottom:16},children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.totalMessages}),i.jsx("div",{className:"admin-summary-label",children:"Total messages"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.avgMessagesPerConversation}),i.jsx("div",{className:"admin-summary-label",children:"Avg msgs/conversation"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.avgUserMessageLength}),i.jsx("div",{className:"admin-summary-label",children:"Avg user msg length"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.avgAssistantMessageLength}),i.jsx("div",{className:"admin-summary-label",children:"Avg assistant msg length"})]})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"🏆 Most Active Contacts"})})}),i.jsx("div",{style:{marginTop:8},children:n.conversations.analytics.topContacts.map((E,F)=>{var re;const X=((re=n.conversations.analytics.topContacts[0])==null?void 0:re.messageCount)||1,te=Math.round(E.messageCount/X*100);return i.jsxs("div",{style:{display:"flex",alignItems:"center",marginBottom:6,fontSize:13},children:[i.jsx("span",{style:{width:24,textAlign:"center",fontWeight:600,color:F<3?"var(--accent-yellow)":"var(--muted)"},children:F===0?"🥇":F===1?"🥈":F===2?"🥉":`${F+1}.`}),i.jsxs("span",{style:{flex:1,marginLeft:8},children:[E.platform==="whatsapp"?"📱":"✈️"," ",E.name]}),i.jsx("span",{style:{width:60,textAlign:"right",fontWeight:600},children:E.messageCount}),i.jsx("div",{style:{width:100,height:8,background:"var(--border)",borderRadius:4,marginLeft:8},children:i.jsx("div",{style:{width:`${te}%`,height:"100%",background:"var(--accent-blue)",borderRadius:4}})})]},F)})})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"🕐 Peak Hours"})})}),i.jsx("div",{style:{display:"flex",alignItems:"flex-end",height:80,marginTop:8,gap:2},children:n.conversations.analytics.hourlyDistribution.map(({hour:E,count:F})=>{const X=Math.max(...n.conversations.analytics.hourlyDistribution.map(re=>re.count),1),te=Math.round(F/X*70);return i.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center"},children:i.jsx("div",{style:{width:"100%",height:te,background:E>=9&&E<=21?"var(--accent-blue)":"var(--text-muted)",borderRadius:2},title:`${E}:00 — ${F} messages`})},E)})}),i.jsx("div",{style:{display:"flex",fontSize:10,color:"var(--muted)",marginTop:4},children:[0,6,12,18,23].map(E=>i.jsxs("span",{style:{flex:1,textAlign:E===0?"left":E===23?"right":"center"},children:[E,":00"]},E))})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"📱 Platform Breakdown"})})}),i.jsx("div",{style:{marginTop:8},children:n.conversations.analytics.platformBreakdown.map(E=>i.jsxs("div",{style:{display:"flex",alignItems:"center",marginBottom:6,fontSize:13},children:[i.jsx("span",{className:"hub-chip",style:{width:80,textAlign:"center"},children:E.platform}),i.jsxs("span",{style:{marginLeft:8,flex:1},children:[E.conversations," conversations"]}),i.jsxs("span",{style:{fontWeight:600},children:[E.messages," msgs"]})]},E.platform))})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"📈 Daily Volume (14 days)"})})}),i.jsx("div",{style:{display:"flex",alignItems:"flex-end",height:60,marginTop:8,gap:2},children:n.conversations.analytics.dailyVolume.map(({date:E,count:F})=>{const X=Math.max(...n.conversations.analytics.dailyVolume.map(re=>re.count),1),te=Math.round(F/X*50);return i.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center"},children:i.jsx("div",{style:{width:"100%",height:te,background:"var(--accent-green)",borderRadius:2},title:`${E}: ${F} messages`})},E)})}),i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"var(--muted)",marginTop:4},children:[i.jsx("span",{children:(Kl=n.conversations.analytics.dailyVolume[0])==null?void 0:Kl.date}),i.jsx("span",{children:(yd=n.conversations.analytics.dailyVolume[n.conversations.analytics.dailyVolume.length-1])==null?void 0:yd.date})]})]})]}):null]}),i.jsx("h2",{className:"section-subtitle",children:"💬 Per-contact chat history"}),i.jsx("p",{className:"admin-hint",children:"Conversation history is stored per-contact and survives gateway restarts. Messages older than 7 days are auto-pruned. Click a conversation to expand the full chat thread."}),Nt.length>0||Qt?i.jsxs(i.Fragment,{children:[Rn.length>0&&i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:[i.jsx("span",{className:"admin-hint",style:{marginRight:4},children:"Filter by tag:"}),Rn.map(E=>i.jsxs("button",{type:"button",onClick:()=>rt(It===E?"":E),style:{padding:"2px 10px",borderRadius:12,fontSize:11,cursor:"pointer",border:`1px solid ${It===E?"var(--accent-blue)":"var(--border)"}`,background:It===E?"color-mix(in srgb, var(--accent-blue) 13%, transparent)":"transparent",color:It===E?"var(--accent-blue)":"var(--muted)"},children:["🏷️ ",E]},E))]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12,flexWrap:"wrap"},children:[i.jsx("input",{type:"text",value:Fe,onChange:E=>lt(E.target.value),placeholder:"🔍 Search by contact name, phone number, or message content…",style:{flex:1,minWidth:200}}),i.jsxs("span",{className:"admin-hint",children:[qa," conversation",qa===1?"":"s",Fe?` matching "${Fe}"`:""]}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:Vs,style:{fontSize:12,padding:"4px 10px"},children:Me.size===Nt.length?"☑ Deselect All":"☐ Select All"}),Me.size>0&&i.jsx("button",{type:"button",className:"admin-refresh-btn",disabled:Ie,onClick:()=>void ha(),style:{fontSize:12,padding:"4px 10px",background:"var(--accent-blue)",color:"var(--text-on-accent)",border:"none"},children:Ie?"⏳ Exporting…":`📦 Export ${Me.size} as ZIP`})]}),i.jsxs("div",{className:"hub-session-list",children:[Nt.filter(E=>!It||(E.tags??[]).includes(It)).map(E=>{const F=Date.now()-E.lastActiveAt,X=F<6e4?"just now":F<36e5?`${Math.round(F/6e4)}m ago`:F<864e5?`${Math.round(F/36e5)}h ago`:`${Math.round(F/864e5)}d ago`,te=_e===E.key,{name:re,phone:fe}=ya(E),Je=async we=>{if(we.stopPropagation(),!h||!Rt){H({kind:"err",text:"🔐 Log in (admin/operator) to clear conversations."});return}q(E.key);try{await K.clearGatewayConversation(E.key),In()}catch{}q(null)},mt=Me.has(E.key);return i.jsxs("div",{className:"hub-card",style:{cursor:"pointer",borderLeft:`3px solid ${E.platform==="whatsapp"?"#25d366":E.platform==="telegram"?"#0088cc":"var(--text-muted)"}`,opacity:Me.size>0&&!mt?.5:1,transition:"opacity 0.2s"},onClick:()=>pt(te?null:E.key),children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[i.jsx("input",{type:"checkbox",checked:mt,onClick:we=>qe(E.key,we),onChange:()=>{},style:{cursor:"pointer",width:16,height:16}}),i.jsxs("div",{className:"hub-card-title",children:[i.jsxs("span",{className:"hub-card-name",children:[E.platform==="whatsapp"?"📱":E.platform==="telegram"?"✈️":"💬"," ",re]}),i.jsxs("span",{className:"hub-card-id",children:[fe&&i.jsx("span",{style:{color:"var(--text-secondary, var(--text-secondary))",marginRight:6},children:fe}),E.platform," · ",X]})]})]}),i.jsxs("div",{className:"hub-card-actions",style:{gap:6},children:[i.jsxs("span",{className:"hub-chip",children:[E.messageCount," msgs"]}),te&&E.messages&&E.messages.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"hub-mini-btn",onClick:we=>Ys(E,we),title:"Export as text file",children:"📄"}),i.jsx("button",{type:"button",className:"hub-mini-btn",onClick:we=>Ya(E,we),title:"Export as PDF (opens print dialog)",children:"📑"})]}),i.jsx("button",{type:"button",className:"hub-mini-btn",disabled:Vt===E.key,onClick:Je,title:"Clear conversation history",style:{color:"var(--accent-red)"},children:"🗑️"}),i.jsx("span",{style:{fontSize:18,transition:"transform 0.2s",transform:te?"rotate(180deg)":"none"},children:"▼"})]})]}),i.jsxs("p",{className:"hub-card-desc",style:{fontStyle:"italic",color:"var(--text-muted, var(--text-muted))"},children:[i.jsx("span",{style:{color:"var(--text-primary, var(--text-primary))",fontWeight:500},children:"Last message:"})," ",E.lastUserMessage.slice(0,120),E.lastUserMessage.length>120?"…":""]}),i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:4},children:[(E.tags??[]).map(we=>i.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 8px",borderRadius:12,fontSize:11,background:"color-mix(in srgb, var(--accent-blue) 13%, transparent)",color:"var(--accent-blue)",border:"1px solid color-mix(in srgb, var(--accent-blue) 25%, transparent)"},children:["🏷️ ",we,i.jsx("button",{type:"button",onClick:me=>{me.stopPropagation(),Va(E.key,we)},style:{background:"none",border:"none",color:"var(--accent-blue)",cursor:"pointer",padding:0,fontSize:12,lineHeight:1},children:"×"})]},we)),ir===E.key?i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:i.jsx("input",{type:"text",value:fn,onChange:we=>Kr(we.target.value),onKeyDown:we=>{we.key==="Enter"&&qi(E.key,fn),we.key==="Escape"&&(sr(null),Kr(""))},placeholder:"tag name",autoFocus:!0,onClick:we=>we.stopPropagation(),style:{width:80,padding:"1px 6px",fontSize:11,borderRadius:8,border:"1px solid var(--border)"}})}):i.jsx("button",{type:"button",onClick:we=>{we.stopPropagation(),sr(E.key),Kr("")},style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 8px",borderRadius:12,fontSize:11,background:"var(--border)",color:"var(--muted)",border:"none",cursor:"pointer"},children:"+ tag"})]}),te&&E.messages&&E.messages.length>0?i.jsxs("div",{className:"conversation-thread",style:{marginTop:10,borderTop:"1px solid var(--border)",paddingTop:10,maxHeight:400,overflowY:"auto"},children:[E.messages.map((we,me)=>i.jsxs("div",{style:{marginBottom:8,display:"flex",flexDirection:"column",alignItems:we.role==="user"?"flex-end":"flex-start"},children:[i.jsxs("div",{style:{maxWidth:"80%",padding:"8px 12px",borderRadius:12,backgroundColor:we.role==="user"?"var(--accent-blue)":"var(--bg-card, var(--bg-card))",color:we.role==="user"?"var(--text-on-accent)":"var(--text-primary, var(--text-primary))",fontSize:13,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:[we.content.slice(0,500),we.content.length>500?"…":""]}),i.jsxs("span",{style:{fontSize:10,color:"var(--muted)",marginTop:2,padding:"0 4px"},children:[we.role==="user"?"👤":"🤖"," ",new Date(we.ts).toLocaleString()]})]},me)),he.has(E.key)&&i.jsxs("div",{style:{marginBottom:8,display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[i.jsxs("div",{style:{padding:"8px 16px",borderRadius:12,backgroundColor:"var(--bg-card, var(--bg-card))",fontSize:13,display:"flex",alignItems:"center",gap:4},children:[i.jsx("span",{style:{animation:"typingBlink 1.4s infinite ease-in-out"},children:"●"}),i.jsx("span",{style:{animation:"typingBlink 1.4s infinite ease-in-out 0.2s"},children:"●"}),i.jsx("span",{style:{animation:"typingBlink 1.4s infinite ease-in-out 0.4s"},children:"●"})]}),i.jsx("span",{style:{fontSize:10,color:"var(--muted)",marginTop:2,padding:"0 4px"},children:"🤖 typing…"})]})]}):te?i.jsx("p",{className:"admin-hint",style:{marginTop:8},children:"No message details available."}):null]},E.key)}),Xt&&!Qt&&i.jsx("div",{ref:Gi,style:{height:1}}),Qt&&i.jsxs("div",{className:"loading-state",style:{padding:12},children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("span",{className:"admin-hint",style:{marginLeft:8},children:"Loading more conversations…"})]}),!Qt&&!Xt&&Nt.length>0&&i.jsxs("p",{className:"admin-hint",style:{textAlign:"center",padding:12},children:["All ",qa," conversation",qa===1?"":"s"," loaded."]})]})]}):Qt?i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{className:"admin-hint",children:"Loading conversations…"})]}):i.jsx("div",{className:"empty-state",children:"No conversations stored yet. Conversations are created when users message the agent via WhatsApp/Telegram/etc."})]}):null,e==="artifacts"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.artifacts.totalSessions}),i.jsx("div",{className:"admin-summary-label",children:"Sessions"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.artifacts.totalArtifacts}),i.jsx("div",{className:"admin-summary-label",children:"Artifacts"})]})]}),n.artifacts.sessions.length>0?i.jsx("div",{className:"hub-session-list",children:n.artifacts.sessions.map(E=>i.jsxs("div",{className:"hub-card",children:[i.jsx("div",{className:"hub-card-top",children:i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:E.sessionId}),i.jsxs("span",{className:"hub-card-id",children:[E.count," artifact",E.count===1?"":"s"," · ",new Date(E.latestAt).toLocaleString()]})]})}),E.recent.length>0?i.jsx("ul",{className:"hub-artifact-list",children:E.recent.map((F,X)=>i.jsxs("li",{children:[i.jsx("span",{className:"hub-chip",children:F.kind}),i.jsx("span",{className:"hub-artifact-title",children:F.title||"(untitled)"}),F.preview?i.jsx("div",{className:"hub-artifact-preview",children:F.preview}):null]},X))}):i.jsx("div",{className:"admin-hint",children:"No artifact details."})]},E.sessionId))}):i.jsx("div",{className:"empty-state",children:"No artifacts yet — tools that return a deliverable payload land here per session."})]}):null,e==="skills"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.skills.enabled}),i.jsx("div",{className:"admin-summary-label",children:"Enabled skills"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.skills.disabled}),i.jsx("div",{className:"admin-summary-label",children:"Disabled skills"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.skills.hub.length}),i.jsx("div",{className:"admin-summary-label",children:"Hub skills (SKILL.md)"})]})]}),i.jsx("h2",{className:"section-subtitle",children:"📚 Compiled skills (SkillStore — matched at plan time)"}),n.skills.compiled.length>0?i.jsx("div",{className:"hub-session-list",children:n.skills.compiled.map(E=>i.jsxs("div",{className:`hub-card${E.enabled?"":" hub-card-disabled"}`,children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:E.name}),i.jsxs("span",{className:"hub-card-id",children:[E.id,E.version?` · v${E.version}`:""]})]}),i.jsxs("div",{className:"hub-card-actions",children:[E.bundled===!0?i.jsx("span",{className:"hub-chip hub-chip-bundled",children:"🧠 bundled"}):i.jsx("span",{className:"hub-chip",children:"community"}),i.jsx("button",{role:"switch","aria-checked":E.enabled,"aria-label":`${E.enabled?"Disable":"Enable"} ${E.name}`,className:`hub-switch${E.enabled?" on":""}`,disabled:B===E.id||P!==null||h&&!Rt,onClick:()=>zl(E.id,!E.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]})]}),i.jsx("p",{className:"hub-card-desc",children:E.description}),i.jsxs("div",{className:"hub-card-tools",children:[typeof E.usageCount=="number"?i.jsxs("span",{className:"hub-chip",children:[E.usageCount," uses"]}):null,E.enabled?null:i.jsx("span",{className:"hub-chip",children:"disabled"})]}),M[E.id]?i.jsx("div",{className:"admin-row-msg",children:M[E.id]}):null,E.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Excluded from skill matching — not injected into the planner"})]},`c-${E.id}`))}):i.jsx("div",{className:"empty-state",children:"No compiled skills."}),i.jsx("h2",{className:"section-subtitle",children:"🌍 Hub skills (installed SKILL.md)"}),n.skills.hub.length>0?i.jsx("div",{className:"hub-session-list",children:n.skills.hub.map(E=>i.jsxs("div",{className:`hub-card${E.enabled?"":" hub-card-disabled"}`,children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:E.name}),i.jsx("span",{className:"hub-card-id",children:E.id})]}),i.jsxs("div",{className:"hub-card-actions",children:[i.jsx("button",{type:"button",className:"hub-mini-btn",disabled:ne===E.id||h&&!Rt,onClick:()=>void Bl(E.id),children:"🗑 Uninstall"}),i.jsx("button",{role:"switch","aria-checked":E.enabled,"aria-label":`${E.enabled?"Disable":"Enable"} ${E.name}`,className:`hub-switch${E.enabled?" on":""}`,disabled:B===E.id||P!==null||h&&!Rt,onClick:()=>zl(E.id,!E.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]})]}),i.jsx("p",{className:"hub-card-desc",children:E.description}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsx("span",{className:"hub-chip",children:"SKILL.md"}),E.enabled?null:i.jsx("span",{className:"hub-chip",children:"disabled"})]}),M[E.id]?i.jsx("div",{className:"admin-row-msg",children:M[E.id]}):null,E.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Excluded from skill matching — not injected into the planner"})]},`h-${E.id}`))}):i.jsxs("div",{className:"empty-state",children:["No hub skills installed — search the marketplace below or run ",i.jsx("code",{children:"buff skills install <name>"}),"."]}),i.jsx("h2",{className:"section-subtitle",children:"🛒 Marketplace (community skills)"}),i.jsxs("form",{className:"hub-market-search",onSubmit:dd,children:[i.jsx("input",{type:"text",value:pa,onChange:E=>Xs(E.target.value),placeholder:"Search community skills (e.g. code-assist, deploy, testing)…"}),i.jsx("button",{type:"submit",className:"admin-refresh-btn",disabled:Xa,children:Xa?"Searching…":"🔎 Search"})]}),ga?i.jsx("div",{className:`admin-row-msg${ga.kind==="err"?" admin-row-msg-err":""}`,children:ga.text}):null,Vi&&!Xa?ma.length>0?i.jsx("div",{className:"hub-session-list",children:ma.map(E=>i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:E.name}),i.jsxs("span",{className:"hub-card-id",children:["v",E.version," · ",E.sourceKind]})]}),i.jsx("button",{type:"button",className:"admin-refresh-btn",disabled:ne===E.name||h&&!Rt,onClick:()=>void Cm(E.name),children:ne===E.name?"Installing…":"⬇ Install"})]}),i.jsx("p",{className:"hub-card-desc",children:E.description}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsx("span",{className:"hub-chip",children:E.author}),E.tags.slice(0,3).map(F=>i.jsx("span",{className:"hub-chip",children:F},F))]})]},`m-${E.name}`))}):i.jsxs("div",{className:"empty-state",children:['No skills match "',pa,'" — try a broader term, or add a registry to ',i.jsx("code",{children:"skills.registries"})," in config."]}):null]}):null,e==="subagents"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((bd=n.subagents)==null?void 0:bd.total)??0}),i.jsx("div",{className:"admin-summary-label",children:"Runs recorded"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((xd=n.subagents)==null?void 0:xd.running)??0}),i.jsx("div",{className:"admin-summary-label",children:"Running now"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((Vl=n.subagents)==null?void 0:Vl.failed)??0}),i.jsx("div",{className:"admin-summary-label",children:"Failed"})]})]}),i.jsxs("p",{className:"admin-hint",children:["Each run is a separate child process. A transport of ",i.jsx("code",{children:"json"})," means the provider has no native tool protocol and the shared JSON fallback carried the tool calls; a refusal code means the run stopped deliberately instead of returning an answer."]}),(((Yl=n.subagents)==null?void 0:Yl.recent)??[]).length>0?i.jsx("div",{className:"hub-session-list",children:(((L=n.subagents)==null?void 0:L.recent)??[]).map(E=>i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:E.goal||"(no goal recorded)"}),i.jsxs("span",{className:"hub-card-id",children:[E.id.slice(0,8),E.startedAt?` · ${new Date(E.startedAt).toLocaleString()}`:""]})]}),i.jsx("div",{className:"hub-card-actions",children:i.jsx("span",{className:"hub-chip",children:xle[E.status]??E.status})})]}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsxs("span",{className:"hub-chip",children:["🔌 ",E.provider??"provider unknown",E.model?` · ${E.model}`:""]}),i.jsxs("span",{className:"hub-chip",children:["🛠 ",E.transport??"transport unknown"," transport"]}),i.jsxs("span",{className:"hub-chip",children:[E.llmCalls," model call",E.llmCalls===1?"":"s"]}),i.jsxs("span",{className:"hub-chip",children:[E.toolCalls," tool call",E.toolCalls===1?"":"s"]}),typeof E.durationMs=="number"?i.jsxs("span",{className:"hub-chip",children:[(E.durationMs/1e3).toFixed(1),"s"]}):null]}),E.refusalCode?i.jsxs("div",{className:"hub-card-note",children:["⛔ Refused before answering — code ",i.jsx("code",{children:E.refusalCode})]}):null,E.error?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:E.error}):null,E.resultPreview?i.jsx("div",{className:"hub-artifact-preview",children:E.resultPreview}):null]},E.id))}):i.jsxs("div",{className:"empty-state",children:["No subagent runs recorded yet — a run shows up here once the agent spawns one (the ",i.jsx("code",{children:"subagent"})," tool), and only if it actually started."]})]}):null]})}const jle=296,Nle=58,Ele=[{name:"admin",description:"Admin governance policy for Auto routing (P6 M6.5) — allow/deny providers & models, hard cost cap, PII privacy, unblock control",commands:[{name:"admin policy",description:"Show the current governance policy + enforcement status",flags:["--json"]},{name:"admin allow",description:"Add providers to the allow-list (empty = all providers allowed)",flags:[]},{name:"admin deny",description:"Add providers to the deny-list (wins over the allow-list)",flags:[]},{name:"admin allow-model",description:"Add models to the allow-list — a provider survives only if one of its candidate models is listed",flags:[]},{name:"admin deny-model",description:"Add models to the deny-list (wins over the allow-list)",flags:[]},{name:"admin max-cost",description:"Set the admin hard max cost per call (USD); joins routing.maxCostUsd (stricter wins)",flags:[]},{name:"admin pii-min",description:"Set the minimum privacy score (0-1) required when a task matches a PII pattern (default 1.0 = local-only)",flags:[]},{name:"admin unblock",description:"Control whether `nuvira models unblock` may override REGISTRY-learned blocks (false = admin-hard)",flags:[]},{name:"admin clear",description:"Remove one governance rule (the policy becomes permissive on that field)",flags:[]},{name:"admin role",description:"Manage RBAC roles over the admin surface (P6 M6.1 — requires admin role)",flags:[]},{name:"admin role add",description:"Assign a role to a user (first assignment exits legacy single-user mode)",flags:[]},{name:"admin role remove",description:"Remove a user's role assignment (if none remain, legacy permissive mode resumes)",flags:[]},{name:"admin role list",description:"List all role assignments",flags:[]},{name:"admin whoami",description:"Show the current identity and its effective RBAC permissions",flags:[]},{name:"admin cron",description:"Scheduled tool invocations (J2 — cron/jobs.py)",flags:[]},{name:"admin cron add",description:'Add a cron job: nuvira admin cron add nightly-build "0 3 * * *" build',flags:["--args <args>","--channel <channel>","--dry-run"]},{name:"admin cron list",description:"List cron jobs with schedule + next run",flags:[]},{name:"admin cron remove",description:"Remove a cron job",flags:[]},{name:"admin cron run",description:"Run a cron job NOW (invoke its tool immediately)",flags:[]}]},{name:"chat",description:"Start an interactive chat session with AI",commands:[]},{name:"edit",description:"Edit a file using AI assistance",commands:[]},{name:"plan",description:"Generate an implementation plan for a codebase task",commands:[]},{name:"config",description:"Manage Nuvira configuration",commands:[{name:"config set",description:"Set a configuration value",flags:[]},{name:"config get",description:"Get a configuration value",flags:[]},{name:"config list",description:"List all providers and their status",flags:[]},{name:"config init",description:"Initialize configuration interactively",flags:[]},{name:"config vault",description:"Secret vault management (Phase A1)",flags:[]},{name:"config vault status",description:"Show the active vault tier and migration state",flags:[]},{name:"config vault log",description:"Show recent vault access-log entries (K3 tamper-evident audit)",flags:["--limit <limit>"]},{name:"config vault migrate-keys",description:"Move plaintext provider API keys from buffconfig.json into the vault",flags:[]},{name:"config gateway",description:"Manage gateway platform transports (tokens written to ~/.nuvira/.env)",flags:[]},{name:"config gateway list",description:"Show every platform transport and its env-var status",flags:[]},{name:"config gateway set",description:"Configure a platform transport (interactive wizard, or --set VAR=value)",flags:["--set <set>"]},{name:"config gateway remove",description:"Remove a platform transport from the env file",flags:["--yes"]},{name:"config gateway allow",description:"Allow a user/group to trigger the agent on a platform (written to gateway.policies in config)",flags:[]},{name:"config gateway disallow",description:"Remove a user/group from the allowed list of a platform",flags:[]},{name:"config gateway reply",description:"Set how unapproved senders are handled on a platform: polite (⛔ message) or silent (no reply)",flags:[]},{name:"config gateway send-authority",description:"Manage who may command the agent to send to OTHER people (gateway_send). Outbound-only gate — separate from `allow` (who may trigger).",flags:[]},{name:"config gateway notify",description:"Manage status recipients — contacts/groups that ALWAYS get pipeline completion summaries",flags:[]},{name:"config gateway ask-user-wait",description:"Ask-and-wait for clarifying questions on messaging channels: when a turn asks the sender a question, hold it for their reply instead of assuming option 1",flags:[]},{name:"config service",description:"Manage third-party service keys (image/video/search/vision/speech) in ~/.nuvira/.env",flags:[]},{name:"config service list",description:"Show every service backend and its env-var status",flags:[]},{name:"config service set",description:"Set a service key: config service set <serviceId> <ENV_VAR> <value> (or --set VAR=value)",flags:["--set <set>"]},{name:"config service unset",description:"Remove a service key (all vars, or one with [varName]) from the env file",flags:["--yes"]},{name:"config limit",description:"Show or change the size limits for document extraction and attachments",flags:[]},{name:"config limit list",description:"Show the effective extraction and attachment limits",flags:[]},{name:"config limit set",description:"Set a limit: config limit set <extract-max-chars|attachment-max-kb> <value>",flags:[]},{name:"config limit unset",description:"Restore a limit to its default",flags:[]},{name:"config capability",description:"Show or change the capability mode (balanced | max)",flags:[]},{name:"config capability show",description:"Show the effective capability mode",flags:[]},{name:"config capability set",description:"Set the capability mode: config capability set <balanced|max>",flags:[]},{name:"config capability unset",description:"Restore the default capability mode (balanced)",flags:[]},{name:"config catalog-feed",description:"Show or change the OpenRouter catalogue feed (cost/ecosystem priors only)",flags:[]},{name:"config catalog-feed show",description:"Show whether the catalogue feed is on, and how old its snapshot is",flags:[]},{name:"config catalog-feed set",description:"Enable or disable: config catalog-feed set <on|off>",flags:[]},{name:"config catalog-feed unset",description:"Remove the setting, restoring the default (off)",flags:[]},{name:"config catalog-feed refresh",description:"Fetch a fresh catalogue snapshot now (never runs during a turn)",flags:[]}]},{name:"cache",description:"Manage inference cache",commands:[{name:"cache stats",description:"Show cache statistics",flags:[]},{name:"cache clear",description:"Clear cached responses — all of them, or one workspace (project folder)",flags:["--unscoped"]}]},{name:"models",description:"List available models from inference providers",commands:[{name:"models refresh",description:"Probe providers and spot-check models, updating the Model Availability Registry",flags:["--json","--no-spot-check"]},{name:"models status",description:"Show the Model Availability Registry (verified / unavailable / quota-parked models)",flags:["--json","--verbose"]},{name:"models unblock",description:"Manually release a registry-blocked provider (escape hatch) and re-probe it against the live API",flags:["--json","--no-spot-check"]},{name:"models warm",description:"Run one warmup cycle now: keep hot models warm, verify new ones, refresh the stale pool",flags:["--json"]},{name:"models excluded",description:"Show which providers routing is currently skipping, and why (failure cooldowns, registry blocks, governance policy)",flags:["--json"]},{name:"models staleness",description:"Show model staleness: last probe time, days since verification, and removal risk",flags:["--json"]},{name:"models watch",description:"Run the model-registry maintenance daemon: probe + spot-check on a schedule",flags:["--interval <interval>","--no-spot-check"]}]},{name:"execute",description:"Run a multi-agent pipeline to accomplish a goal",commands:[]},{name:"run",description:"Execute a shell command and show output (lightweight alternative to the full pipeline)",commands:[]},{name:"workflow",description:"Run, manage, and share workflow templates",commands:[{name:"workflow list",description:"Show available workflow templates (built-in + installed)",flags:[]},{name:"workflow run",description:"Run a workflow template",flags:["--dry-run","--model <model>","--provider <provider>","--verbose"]},{name:"workflow search",description:"Search the GitHub workflow template registry",flags:["--refresh"]},{name:"workflow install",description:"Install a workflow template from the GitHub registry",flags:[]},{name:"workflow publish",description:"Prepare a local workflow template for publishing to the registry",flags:[]},{name:"workflow info",description:"Show detailed information about a registry template",flags:[]},{name:"workflow upgrade",description:"Check for and apply template upgrades from the registry",flags:[]}]},{name:"whatsapp",description:"WhatsApp bridge (Baileys) — pair a personal number via QR and check status (I8)",commands:[{name:"whatsapp pair",description:"Pair WhatsApp (personal number — no Meta Business account, no paid API)",flags:["--phone <phone>","--timeout <timeout>"]},{name:"whatsapp status",description:"Show bridge session path + pairing state",flags:[]},{name:"whatsapp contacts",description:"List resolvable contacts (mapping file + learned) — connects briefly to learn names from live traffic",flags:["--timeout <timeout>"]},{name:"whatsapp contact",description:'Manage the WhatsApp contact-name mapping (send by name: nuvira gateway send whatsapp:<Name> "message")',flags:[]},{name:"whatsapp contact add",description:"Map a display name to a number (E.164, no +): nuvira whatsapp contact add Name 919876543210",flags:[]},{name:"whatsapp contact remove",description:"Remove a mapped contact name",flags:[]}]},{name:"plugins",description:"Manage provider plugins, agent plugins, and workflow templates",commands:[{name:"plugins list",description:"List all discovered plugins and workflows",flags:[]},{name:"plugins scan",description:"Force re-scan all plugin directories",flags:[]}]},{name:"learn",description:"Self-improvement system — agent stats, patterns, and optimization",commands:[{name:"learn stats",description:"Show per-agent performance statistics",flags:[]},{name:"learn patterns",description:"Show extracted coding patterns",flags:["--extract","--model <model>","--provider <provider>"]},{name:"learn lessons",description:"Show failure lessons — what past runs learned from mistakes",flags:["--extract","--model <model>","--provider <provider>"]},{name:"learn optimize",description:"Generate optimized model-to-agent routing recommendations",flags:[]},{name:"learn status",description:"Show overall self-improvement status",flags:[]},{name:"learn clear",description:"Reset all learning data (stats, patterns, memory)",flags:["--force"]},{name:"learn compare",description:"Compare benchmark results between two models",flags:["--all","--last"]},{name:"learn feedback",description:"Rate a trajectory or view feedback statistics",flags:["--comment <comment>","--rating <rating>","--stats","--trajectory <trajectory>"]},{name:"learn quality",description:"Show pattern quality and decay metrics",flags:["--details"]},{name:"learn gc",description:"Garbage-collect low-quality patterns",flags:["--dry-run"]}]},{name:"init",description:"Scaffold a new project from a template",commands:[]},{name:"stats",description:"View usage statistics and cost tracking",commands:[{name:"stats cost",description:"Show API cost tracking details",flags:["--clear"]},{name:"stats history",description:"Show conversation history statistics",flags:[]}]},{name:"history",description:"Browse and search conversation history",commands:[{name:"history list",description:"Show all saved conversations",flags:["--limit <limit>"]},{name:"history search",description:"Search conversations by keyword or semantic similarity",flags:["--limit <limit>","--semantic"]},{name:"history show",description:"Show a specific conversation",flags:[]},{name:"history clear",description:"Clear all conversation history",flags:[]},{name:"history prune",description:"Remove conversations older than the retention period",flags:["--days <days>"]},{name:"history reindex",description:"Rebuild the semantic search index for all past conversations (embeds each session for vector search)",flags:[]}]},{name:"skill",description:"Manage and run compiled skills — reusable execution plans derived from past trajectories",commands:[{name:"skill list",description:"List all compiled skills",flags:["--quality <quality>"]},{name:"skill show",description:"Show detailed skill definition",flags:[]},{name:"skill run",description:"Run a skill — resolves parameters and invokes the multi-agent pipeline",flags:["--auto-route","--dry-run","--memory","--model <model>","--params <params>","--provider <provider>","--verbose"]},{name:"skill compile",description:"Force skill compilation from stored trajectories",flags:["--model <model>","--provider <provider>"]},{name:"skill search",description:"Search skills by name, tag, or description",flags:[]},{name:"skill gc",description:"Garbage-collect low-quality skills",flags:["--dry-run"]},{name:"skill quality",description:"Show skill quality and decay metrics",flags:["--details"]},{name:"skill clear",description:"Remove all compiled skills",flags:["--force"]}]},{name:"skills",description:"Skills hub — search, install, update, and audit community skills (J3)",commands:[{name:"skills search",description:"Search all configured skill registries (I7 P1 multi-source)",flags:["--refresh","--source <source>"]},{name:"skills install",description:"Install a skill from the configured registries into <project>/.agents/skills/ (sandboxed, checksummed)",flags:["--project <project>","--source <source>"]},{name:"skills uninstall",description:"Uninstall a skill: removes .agents/skills/<name> and its provenance record",flags:["--project <project>"]},{name:"skills update",description:"Update installed skills to newer registry versions (checksum-verified)",flags:["--project <project>"]},{name:"skills bundle",description:"P6b — skill bundles: group skills under one id and load them together (Hermes parity)",flags:["--create","--delete","--description <description>","--name <name>","--skills <skills>"]},{name:"skills list",description:"List installed skills with provenance (origin: registry vs local)",flags:["--origin <origin>","--project <project>"]}]},{name:"gateway",description:"Multi-channel gateway — talk to the agent from Telegram/Discord/Slack/WhatsApp/Email/Signal (J1)",commands:[{name:"gateway status",description:"Show configured adapters and reachable channels",flags:[]},{name:"gateway send",description:"Send a message to a channel alias or platform:channelId",flags:[]},{name:"gateway send-media",description:"Send a media file (image/video/audio/document) — type from the file extension; WhatsApp/Telegram/Discord",flags:["--caption <caption>"]},{name:"gateway alias",description:"Manage channel aliases",flags:[]},{name:"gateway alias add",description:"Register an alias: nuvira gateway alias add ops slack C0123",flags:[]},{name:"gateway alias remove",description:"Remove an alias",flags:[]},{name:"gateway contact",description:"Manage contacts for outbound messaging (name → platform:id resolution)",flags:[]},{name:"gateway contact list",description:"List all contacts with status, platform, and ID",flags:["--pending","--platform <platform>"]},{name:"gateway contact approve",description:"Approve a contact for outbound messaging",flags:["--platform <platform>"]},{name:"gateway contact reject",description:"Reject a contact (block outbound messages)",flags:["--platform <platform>"]},{name:"gateway contact delete",description:"Delete a contact permanently",flags:["--platform <platform>"]},{name:"gateway contact add",description:"Manually add a contact (e.g. nuvira gateway contact add Anuj telegram 616825477)",flags:["--phone <phone>"]},{name:"gateway delivery",description:"Show the delivery ledger (failed sends awaiting retry) and optionally drain it",flags:["--flush"]},{name:"gateway logs",description:"Show the structured gateway log (send failures, refused senders, pipeline outcomes)",flags:["--event <event>","--limit <limit>","--path"]},{name:"gateway history",description:"Manage per-contact conversation history (gateway chat memory)",flags:[]},{name:"gateway history list",description:"List all stored conversations with last message preview",flags:["--platform <platform>"]},{name:"gateway history show",description:"Show conversation history for a contact (e.g. nuvira gateway history show whatsapp:918800663237)",flags:["--limit <limit>"]},{name:"gateway history clear",description:"Clear conversation history for a contact",flags:[]},{name:"gateway history prune",description:"Remove conversations older than 7 days",flags:[]},{name:"gateway start",description:"Run all configured adapters in the foreground (Ctrl-C to stop; --supervise auto-restarts on crash)",flags:["--host <host>","--no-events","--port <port>","--supervise"]},{name:"gateway stop",description:"Stop a running gateway gracefully (SIGTERM — from any terminal)",flags:["--port <port>"]},{name:"gateway setup",description:"Interactive setup wizard for a messaging platform (e.g. nuvira gateway setup telegram)",flags:[]}]},{name:"omniroute",description:"Start / stop / inspect the external OmniRoute AI gateway (default port 20128)",commands:[{name:"omniroute status",description:"Probe the OmniRoute gateway and report whether it is reachable",flags:[]},{name:"omniroute start",description:"Start the OmniRoute gateway in the background and wait for it to answer",flags:[]},{name:"omniroute stop",description:"Stop the running OmniRoute gateway",flags:[]}]},{name:"model",description:"Manage inference providers and models — switch, list, inspect, and recommend",commands:[{name:"model list",description:"List all providers and their configuration status",flags:["--all","--json"]},{name:"model switch",description:"Switch active provider/model (interactive or via argument). Use `auto` for smart routing",flags:["--model <model>","--provider <provider>"]},{name:"model info",description:"Show current active provider and model configuration",flags:["--verbose"]},{name:"model recommend",description:"Show model routing recommendations",flags:[]},{name:"model explain",description:"Explain Auto model routing — why a provider/model would be picked for a task",flags:["--agent <agent>","--context-tokens <context_tokens>","--exclude-provider <exclude_provider>","--json","--since <since>"]},{name:"model health",description:"Quick health check for the currently active provider",flags:["--provider <provider>","--verbose"]},{name:"model bandit",description:"Show learning-router bandit state (Thompson-sampling priors per provider × complexity bucket). Action: reset",flags:["--json"]},{name:"model ml",description:"Show the ML task-similarity router state (learned outcomes per provider, kNN over task features). Action: reset",flags:["--json"]},{name:"model quota",description:"Show the central quota ledger (tokens/requests per provider × model, reset windows, parked state). Actions: reset | set <provider> | clear <provider>",flags:["--cost-usd <cost_usd>","--json","--requests <requests>","--tokens <tokens>","--window-ms <window_ms>"]}]},{name:"benchmark",description:"Run standardized model benchmarks against coding tasks",commands:[{name:"benchmark run",description:"Run the benchmark suite",flags:["--budget <budget>","--format <format>","--model <model>","--provider <provider>","--routing","--tasks <tasks>"]},{name:"benchmark list",description:"List available benchmark tasks",flags:[]},{name:"benchmark results",description:"Show previous benchmark results",flags:["--compare","--format <format>","--last"]},{name:"benchmark clear",description:"Clear all benchmark data",flags:[]}]},{name:"eval",description:"Run the Agent-Nuvira evaluation framework — measures if the agent is actually improving",commands:[{name:"eval run",description:"Run the evaluation suite",flags:["--budget <budget>","--engine <engine>","--format <format>","--keep-workspaces","--model <model>","--pace","--provider <provider>","--routing","--suite <suite>","--tasks <tasks>"]},{name:"eval parity",description:"Measure the capability gap: run the hard tasks under balanced AND max, then compare",flags:["--engine <engine>","--model <model>","--provider <provider>","--tasks <tasks>"]},{name:"eval verify-seeds",description:"Prove every seeded bug is genuinely broken (and genuinely fixable) — no provider needed",flags:["--tasks <tasks>"]},{name:"eval list",description:"List available eval tasks",flags:[]},{name:"eval results",description:"Show previous eval runs",flags:["--compare","--format <format>","--last"]},{name:"eval score",description:"Show the evaluation scoring rules",flags:[]},{name:"eval clear",description:"Clear all eval data",flags:[]}]},{name:"sandbox",description:"Manage Docker sandbox isolation for code execution",commands:[{name:"sandbox status",description:"Check Docker availability and sandbox status",flags:[]},{name:"sandbox config",description:"Show or update sandbox configuration",flags:["--cpu <cpu>","--disable","--disk <disk>","--enable","--image <image>","--memory <memory>","--network","--timeout <timeout>"]},{name:"sandbox images",description:"List available pre-defined sandbox images",flags:[]},{name:"sandbox run",description:"Run a command inside a new sandbox container",flags:["--cpu <cpu>","--image <image>","--memory <memory>","--network","--project <project>","--timeout <timeout>"]},{name:"sandbox cleanup",description:"Destroy all active sandbox containers",flags:[]}]},{name:"doctor",description:"Run diagnostic checks on all provider configurations and system health",commands:[]},{name:"memory",description:"Manage agent memory store — compression, pruning, and optimization",commands:[{name:"memory stats",description:"Show memory store statistics",flags:[]},{name:"memory optimize",description:"Run automatic memory compression and pruning",flags:["--aggressive","--dry-run"]},{name:"memory prune",description:"Prune old or low-quality trajectories",flags:["--max-age <max_age>","--max-count <max_count>","--min-score <min_score>","--verbose"]},{name:"memory summarize",description:"Summarize old trajectories by merging similar ones",flags:["--retention <retention>","--verbose"]},{name:"memory info",description:"Show detailed compression analysis",flags:[]},{name:"memory backend",description:"Show the active vector-search backend and why it was chosen",flags:["--check"]},{name:"memory list",description:"List all memory entries (facts, preferences, lessons, observations)",flags:["--limit <limit>","--type <type>"]},{name:"memory search",description:"Search memory entries by content",flags:["--limit <limit>","--type <type>"]},{name:"memory add",description:"Add a memory entry",flags:["--tags <tags>","--type <type>"]},{name:"memory delete",description:"Delete a memory entry by ID",flags:[]},{name:"memory export",description:"Export all memories to a JSON file",flags:["--output <output>"]},{name:"memory import",description:"Import memories from a JSON file",flags:["--merge"]},{name:"memory facts",description:"Fact & preference memory (project-scoped, cross-session)",flags:[]},{name:"memory facts list",description:"List facts, optionally for a project (git slug or cwd:<hash>)",flags:["--project <project>"]},{name:"memory facts add",description:"Manually store a fact for the current project",flags:["--project <project>","--tags <tags>"]},{name:"memory facts stats",description:"Show fact-store statistics",flags:[]},{name:"memory clear",description:"Clear all stored trajectories and reset memory",flags:["--force"]}]},{name:"dashboard",description:"Launch the web-based dashboard for visualizing agent execution and system status",commands:[{name:"dashboard stop",description:"Stop a running dashboard gracefully (SIGTERM — from any terminal)",flags:["--port <port>"]}]},{name:"agent",description:"Scaffold and manage custom agent-nuvira agents",commands:[{name:"agent create",description:"Create a new custom agent project from a template",flags:["--agent-name <agent_name>","--description <description>","--dir <dir>"]},{name:"agent list",description:"List all discovered custom agent plugins",flags:[]},{name:"agent info",description:"Show details about a discovered agent plugin",flags:[]}]},{name:"federation",description:"Connect to and manage remote agent instances",commands:[{name:"federation status",description:"Show federation connection status and configuration",flags:[]},{name:"federation start",description:"Start the federation server (listens for incoming connections)",flags:["--auth <auth>","--daemon","--host <host>","--oidc-public-key <oidc_public_key>","--port <port>","--secret <secret>"]},{name:"federation connect",description:"Connect to a remote federation server",flags:["--port <port>","--secret <secret>"]},{name:"federation disconnect",description:"Disconnect from the remote federation server",flags:[]},{name:"federation run",description:"Run a task on the remote federation server",flags:["--agent <agent>","--model <model>","--no-stream","--provider <provider>","--timeout <timeout>"]},{name:"federation health",description:"Check the health of the remote federation server",flags:[]},{name:"federation config",description:"Show or update federation configuration",flags:["--set-port <set_port>","--set-secret <set_secret>","--show"]},{name:"federation a2a",description:"A2A (Agent-to-Agent) protocol — discover and connect to external A2A-compliant agents",flags:[]},{name:"federation a2a discover",description:"Discover an A2A-compliant agent and fetch its AgentCard",flags:[]},{name:"federation a2a start",description:"Start the A2A server (listens for incoming A2A connections)",flags:["--host <host>","--port <port>"]},{name:"federation a2a status",description:"Check the health and status of a remote A2A agent",flags:[]},{name:"federation a2a run",description:"Delegate a task to a remote A2A-compliant agent",flags:["--agent <agent>","--skill <skill>","--timeout <timeout>"]}]},{name:"team",description:"Team collaboration — shared config, git-synced memory, and review workflow",commands:[{name:"team init",description:"Initialize team configuration in the working directory",flags:["--branch <branch>","--repo <repo>"]},{name:"team join",description:"Clone and join an existing team repository",flags:[]},{name:"team sync",description:"Sync team memory with remote (pull latest + push local changes)",flags:[]},{name:"team status",description:"Show team configuration and memory status",flags:[]},{name:"team share",description:"Share local trajectories and patterns with the team",flags:[]},{name:"team review",description:"Manage review bundles — agent PR → review → merge workflow",flags:[]},{name:"team review list",description:"List all review bundles",flags:["--limit <limit>"]},{name:"team review show",description:"Show a specific review bundle with full details",flags:[]},{name:"team review approve",description:"Approve a review bundle (sets status to approved)",flags:["--message <message>"]},{name:"team review request-changes",description:"Request changes on a review bundle",flags:[]},{name:"team review reject",description:"Reject a review bundle",flags:[]},{name:"team review merge",description:"Merge an approved review into the working directory",flags:[]},{name:"team review create",description:"Create a review bundle from specified files",flags:["--files <files>","--model <model>","--provider <provider>"]}]},{name:"sdk",description:"Create and manage custom agents with the Agent-Nuvira SDK",commands:[{name:"sdk scaffold",description:"Generate a new custom agent project",flags:["--agent-type <agent_type>","--template <template>"]},{name:"sdk templates",description:"List available scaffold templates",flags:[]},{name:"sdk info",description:"Show SDK package info and version",flags:[]},{name:"sdk register",description:"Register a custom agent with the orchestrator",flags:["--description <description>","--icon <icon>","--orchestrator-path <orchestrator_path>"]},{name:"sdk unregister",description:"Remove a custom agent from the orchestrator",flags:["--class-name <class_name>","--orchestrator-path <orchestrator_path>"]}]},{name:"provider",description:"List and check health of all inference providers",commands:[{name:"provider list",description:"Show all providers with color-coded status table",flags:["--all"]},{name:"provider health",description:"Show detailed health checks for one or all providers",flags:["--verbose","--watch"]}]},{name:"security",description:"Scan code, prompts, or files for security issues",commands:[{name:"security scan",description:"Scan for PII, injection attempts, or dangerous code patterns",flags:["--code","--file <file>","--generated","--json","--pii","--prompt","--stdin","--strict"]}]},{name:"audit",description:"Verify and export the tamper-evident (hash-chained) audit trail (P6 M6.3)",commands:[{name:"audit verify",description:"Verify hash-chain integrity of audit stores (tamper detection)",flags:["--file <file>","--json"]},{name:"audit export",description:"Export an audit store as SIEM-friendly CEF lines",flags:["--file <file>","--out <out>"]}]},{name:"sbom",description:"Generate and verify the CycloneDX software bill of materials (P6 M6.6)",commands:[]},{name:"feedback",description:"Record, view, and manage user feedback on agent outputs",commands:[{name:"feedback record",description:"Record feedback for a trajectory (interactive)",flags:["--comment <comment>","--negative","--neutral","--positive"]},{name:"feedback list",description:"Show recent feedback entries",flags:["--limit <limit>","--trajectory <trajectory>"]},{name:"feedback stats",description:"Show aggregated feedback statistics",flags:[]},{name:"feedback clear",description:"Clear all feedback data",flags:[]}]},{name:"nlu",description:"NLU request understanding — debug intent/entity/action resolution",commands:[{name:"nlu debug",description:"Debug how a request is understood (rule path + optional LLM verify)",flags:["--llm"]},{name:"nlu learnings",description:"Show the routing corrections learned from CONFIRMED misreadings (the agent improving itself)",flags:["--forget <forget>","--json"]}]},{name:"intent",description:"Plain-English → CLI routing — resolve an ask into the exact `nuvira` command(s) to run",commands:[{name:"intent resolve",description:'Resolve a plain-English ask (e.g. "stop the dashboard", "add Rahul to whatsapp") into CLI commands',flags:["--json","--semantic"]},{name:"intent eval",description:"Score deterministic vs semantic matching over a labeled ask corpus (novel phrasings included)",flags:["--json"]}]},{name:"code-map",description:"Project symbol map — functions, classes, methods with line numbers (AST engine)",commands:[]},{name:"tools",description:"Inspect the agent tool registry (pipeline + experience tools)",commands:[{name:"tools list",description:"List every registered tool (the H1 tool-calling surface)",flags:[]},{name:"tools show",description:"Show a tool's description and input schema",flags:[]},{name:"tools toolsets",description:"List toolset groups (capability gating) with enabled state; enable/disable a group",flags:["--disable <disable>","--enable <enable>"]},{name:"tools install",description:"Install the optional dependency an optional tool needs (see `nuvira tools optional`)",flags:["--package-only"]},{name:"tools optional",description:"List tools that are shipped but need an optional dependency installed",flags:[]}]},{name:"parity",description:"Surface-parity harness — prove the same experience on chat, execute, dashboard, gateway and subagents",commands:[{name:"parity surfaces",description:"Compare the surface registry against the real import graph",flags:[]},{name:"parity debt",description:"Check the anti-silo debt ratchet (observed surface debt must equal the frozen list)",flags:[]},{name:"parity matrix",description:"Show every capability × surface and any unproven `supported` claim",flags:[]},{name:"parity faults",description:"List the declared faults the harness can inject, and what each one proves",flags:[]},{name:"parity run",description:"Drive all five surfaces through the real harness and report the verdict",flags:[]}]},{name:"session",description:"Project-scoped session continuity (debug surface — `continue` is the primary path)",commands:[{name:"session list",description:"List recent sessions, optionally filtered by project + time range",flags:["--limit <limit>","--project <project>","--since <since>"]},{name:"session summarize",description:"Show summary + metadata for one session (transcript: nuvira history show)",flags:[]},{name:"session resume",description:"Run D1 auto-recall for a project and print the recall card",flags:["--project <project>","--since <since>"]}]},{name:"state",description:"Print this project’s tracked state in one read: plan, open sessions, per-file verification debt, git drift",commands:[]},{name:"marketplace",description:"Browse and install community plugins and workflow templates",commands:[{name:"marketplace browse",description:"Browse all available marketplace items",flags:["--plugins","--refresh","--workflows"]},{name:"marketplace search",description:"Search across plugins and workflow templates",flags:[]},{name:"marketplace install",description:"Install a workflow template from the registry",flags:[]},{name:"marketplace info",description:"Show detailed information about a marketplace item",flags:[]}]},{name:"mcp",description:"Manage MCP (Model Context Protocol) server connections",commands:[{name:"mcp list",description:"List all discovered MCP servers and their tools",flags:[]},{name:"mcp connect",description:"Connect to an MCP server",flags:["--all"]},{name:"mcp call",description:"Call a tool on an MCP server",flags:["--args <args>","--server <server>"]},{name:"mcp info",description:"Show detailed information for an MCP server",flags:[]},{name:"mcp refresh",description:"Re-discover and reconnect to all MCP servers",flags:[]},{name:"mcp catalog",description:"List MCP capability slots, their variants, and what each one needs on this machine",flags:["--search <search>"]},{name:"mcp install",description:"Install a catalog capability, choosing the best variant this machine can actually run",flags:["--command <command>","--env <env>","--force","--no-verify","--runtime <runtime>","--variant <variant>"]},{name:"mcp add",description:"Add a server that is NOT in the catalog — any stdio command or remote URL, like a config file",flags:["--arg <arg>","--command <command>","--env <env>","--force","--header <header>","--json <json>","--no-verify","--transport <transport>","--url <url>"]},{name:"mcp settings",description:"Show the resolved mcp.* configuration (caps, auto-connect, subagent inheritance)",flags:[]},{name:"mcp authorize",description:"Authorize an OAuth MCP server (opens the consent page, captures the loopback redirect, stores the token)",flags:["--no-browser","--redirect-uri <redirect_uri>"]},{name:"mcp uninstall",description:"Remove an installed MCP server config",flags:[]},{name:"mcp serve",description:"Expose the agent's H1 tools as an MCP server over stdio (MCP clients / IDEs / other agents can connect)",flags:["--memory","--with <with>"]}]},{name:"ci",description:"Headless CI/CD mode — structured JSON output and exit codes for pipelines",commands:[{name:"ci execute",description:"Execute a goal and emit JSON result (exit 0 = success, 1 = failure)",flags:["--context-limit <context_limit>","--context-prune <context_prune>","--github-annotations","--memory","--model <model>","--planner-model <planner_model>","--provider <provider>","--reviewer-model <reviewer_model>","--sandbox","--timeout <timeout>","--writer-model <writer_model>"]},{name:"ci check",description:"Run a gate check (exit 0 = pass, 1 = fail) — minimal output, ideal for workflow gates",flags:["--model <model>","--provider <provider>","--verbose"]},{name:"ci review",description:"Review one or more files and emit JSON findings",flags:["--context <context>","--format <format>","--model <model>","--provider <provider>"]}]},{name:"publish",description:"Autonomous publish workflow — version, build, publish to npm & GitHub",commands:[]},{name:"credentials",description:"Store GitHub/npm release credentials so the agent can release without re-entering them",commands:[{name:"credentials status",description:"Show which release credentials are available, and where each came from",flags:[]},{name:"credentials set",description:"Store a credential in the nuvira credential store",flags:["--stdin","--value <value>"]},{name:"credentials forget",description:"Delete a stored credential",flags:[]},{name:"credentials verify",description:"Check the stored GitHub and npm tokens against the live services",flags:[]}]},{name:"bedrock",description:"AWS Bedrock setup and management (dedicated onboarding for Bedrock)",commands:[{name:"bedrock setup",description:"Interactive wizard to configure AWS Bedrock (credentials, region, model access)",flags:[]},{name:"bedrock status",description:"Show current Bedrock configuration and connectivity status",flags:[]},{name:"bedrock test",description:"Probe Bedrock models and test inference",flags:["--region <region>"]}]},{name:"phase",description:"Phase-wise project scope execution — multi-goal pipelines",commands:[{name:"phase create",description:"Create a new phase scope with ordered goals",flags:["--output <output>"]},{name:"phase execute",description:"Execute a phase scope from start to finish",flags:["--dry-run","--model <model>","--non-interactive","--provider <provider>","--skip-tests","--verbose"]},{name:"phase resume",description:"Resume a saved phase scope from where it left off",flags:["--model <model>","--provider <provider>","--skip-tests","--verbose"]},{name:"phase status",description:"Show progress of a phase scope",flags:[]},{name:"phase delete",description:"Delete a saved phase scope",flags:[]},{name:"phase list",description:"List all saved phase scopes",flags:[]}]},{name:"retrieval",description:"Vector retrieval — token-efficient context via local embeddings",commands:[{name:"retrieval stats",description:"Show token-savings transparency (how many tokens retrieval saved)",flags:[]},{name:"retrieval index",description:"Index a repo/file into the retrieval store (chunks embedded locally)",flags:[]},{name:"retrieval query",description:"Semantic search over the indexed repo (top-k chunks)",flags:[]},{name:"retrieval clear",description:"Clear the retrieval index and token-savings stats",flags:[]}]},{name:"knowledge",description:"Knowledge base — answer questions from your own tagged documents (vector retrieval)",commands:[{name:"knowledge add",description:"Ingest files or folders under a tag (extracted, chunked and embedded once)",flags:[]},{name:"knowledge query",description:"Retrieve the most relevant passages for a question, scoped to a tag",flags:["--top-k <top_k>"]},{name:"knowledge toc",description:"List a tag's documents and the headings in each",flags:[]},{name:"knowledge read",description:"Print a document, or one named section, VERBATIM (not a summary)",flags:["--section <section>"]},{name:"knowledge remove",description:"Remove ONE document from a tag (its chunks, stored text and manifest row)",flags:[]},{name:"knowledge sync",description:"Bring a tag up to date with its folders — hash-gated, prunes files that vanished",flags:[]},{name:"knowledge list",description:"List knowledge tags with document and chunk counts",flags:[]},{name:"knowledge stats",description:"Show details for one knowledge tag",flags:[]},{name:"knowledge forget",description:"Remove a tag's vectors and manifest entry",flags:[]}]},{name:"hooks",description:"Declarative lifecycle hooks — list/add/remove the rules that deny, notify or secret-scan tool calls (the same hooks.json the dashboard Hooks page edits; a hook is data, never code)",commands:[{name:"hooks list",description:"List built-in and user hooks with their seam, action and state",flags:[]},{name:"hooks add",description:"Declare a new hook (it is enabled unless --disabled is given)",flags:["--action <action>","--arg <arg>","--cwd <cwd>","--deny-on-hit","--disabled","--event <event>","--id <id>","--label <label>","--message <message>","--reason <reason>","--surface <surface>","--tool <tool>"]},{name:"hooks remove",description:"Remove a user hook (a built-in cannot be deleted — disable it instead)",flags:[]},{name:"hooks enable",description:"Turn a hook on (works on a built-in too)",flags:[]},{name:"hooks disable",description:"Turn a hook off",flags:[]}]},{name:"trace",description:"Inspect and replay per-step reasoning traces (every LLM call in a pipeline)",commands:[{name:"trace list",description:"Show recent traces",flags:["--limit <limit>"]},{name:"trace show",description:"Show a single trace (goal, timing, step summary)",flags:[]},{name:"trace replay",description:"Step-by-step replay of a trace — every LLM call with prompt digest, model, tokens, latency, and routing",flags:["--full"]},{name:"trace degraded",description:"List provider × model pairs that served steps without agentic capability (derived, read-only, from the traces)",flags:["--limit <limit>"]},{name:"trace clear",description:"Delete all stored traces",flags:[]}]},{name:"rate",description:"Rate the last turn (good|bad) — records the one label a quality signal can be fit to (also on the dashboard Trace tab)",commands:[]},{name:"decisions",description:"The must-ask decisions recorded for this project — list, search, and revise them (written by ask_user)",commands:[{name:"decisions show",description:"",flags:["--json"]},{name:"decisions revise",description:"",flags:["--answer <answer>","--note <note>"]}]},{name:"continuity",description:"Session continuity — what is stored, and how to forget it",commands:[{name:"continuity list",description:"Show the continuity switches, stored sessions, and the semantic recall index",flags:[]},{name:"continuity clear",description:"Forget stored continuity data (no flags = both sessions and recall)",flags:["--recall","--sessions"]}]},{name:"website",description:"Open the Agent-Nuvira website — capabilities, commands, docs, setup",commands:[]}],Sc={commandCount:jle,groupCount:Nle,groups:Ele},hE=Sc.groups;function _le(e,t){return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)}function Cle({onPick:e}){const[t,n]=b.useState(""),r=b.useId(),a=t.trim().toLowerCase(),s=b.useMemo(()=>a?hE.map(l=>l.name.toLowerCase().includes(a)?l:{...l,commands:l.commands.filter(c=>_le(c,a))}).filter(l=>l.commands.length>0):hE,[a]),o=s.reduce((l,c)=>l+c.commands.length,0);return i.jsxs("section",{className:"command-browser",children:[i.jsxs("div",{className:"command-browser-head",children:[i.jsx("h2",{className:"section-title command-browser-title",children:"Browse commands"}),i.jsx("p",{className:"command-browser-count",children:a?`${o} of ${Sc.commandCount} commands match “${t.trim()}”`:`${Sc.commandCount} commands in ${Sc.groupCount} groups`})]}),i.jsx("label",{className:"sr-only",htmlFor:r,children:"Filter commands"}),i.jsx("input",{id:r,type:"search",className:"admin-input command-browser-search",placeholder:"Filter commands — e.g. eval, memory, gateway status",value:t,onChange:l=>n(l.target.value),autoComplete:"off",spellCheck:!1}),s.length===0?i.jsxs("p",{className:"command-browser-empty",children:["No command matches “",t.trim(),"”. Clear the filter to see all ",Sc.groupCount," groups."]}):i.jsx("div",{className:"command-browser-groups",children:s.map(l=>i.jsxs("details",{className:"command-group",open:a?!0:void 0,children:[i.jsxs("summary",{className:"command-group-summary",children:[i.jsx("code",{className:"command-group-name",children:l.name}),i.jsx("span",{className:"command-group-description",children:l.description}),i.jsx("span",{className:"command-group-count",children:l.commands.length})]}),i.jsx("ul",{className:"command-list",children:l.commands.map(c=>i.jsx("li",{className:"command-item",children:i.jsxs("button",{type:"button",className:"command-use",onClick:()=>e(c.name),title:`Insert “${c.name}” into the command box`,children:[i.jsx("span",{className:"command-item-name",children:c.name}),i.jsx("span",{className:"command-item-description",children:c.description}),c.flags.length>0&&i.jsx("span",{className:"command-item-flags",children:c.flags.map(u=>i.jsx("code",{children:u},u))})]})},c.name))})]},`${l.name}:${a?"filtering":"browsing"}`))})]})}const pE={running:"⏳ running",done:"✅ done",failed:"❌ failed",cancelled:"⏹ cancelled",timeout:"⏰ timed out",error:"💥 error",hung:"🚫 stopped (hung)"};function mE(e){switch(e){case"done":return"task-status-done";case"running":return"task-status-running";case"failed":return"task-status-failed";case"cancelled":return"task-status-cancelled";case"timeout":return"task-status-timeout";case"hung":return"task-status-timeout";default:return"task-status-error"}}function Ale(e){const t=[];let n="",r=null;for(const a of e.trim())r?a===r?r=null:n+=a:a==='"'||a==="'"?r=a:/\s/.test(a)?n&&(t.push(n),n=""):n+=a;return n&&t.push(n),t}function gE(e){return e===null?"—":e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function Tle(e){const t=Math.max(0,Math.floor((Date.now()-e)/1e3));if(t<60)return`${t}s ago`;const n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}function Ole(){const[e,t]=b.useState(null),n=qr(),[r,a]=b.useState(""),[s,o]=b.useState(0),[l,c]=b.useState(!1),[u,d]=b.useState(""),[f,h]=b.useState(null),[p,m]=b.useState([]),[g,y]=b.useState(!0),v=b.useRef(null),S=b.useRef(null),w=b.useRef(null),N=b.useCallback(async()=>{const P=await K.listTasks();P&&m(P.tasks)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(P=>{t(P?{configured:P.configured,authenticated:P.authenticated,role:P.role??null}:{configured:!1,authenticated:!1,role:null}),P!=null&&P.authenticated&&N()})},[N,n]),b.useEffect(()=>{var P,A;if(g&&(f==null?void 0:f.status)==="running")try{(A=(P=v.current)==null?void 0:P.scrollIntoView)==null||A.call(P,{block:"end"})}catch{}},[f==null?void 0:f.logs.length,f==null?void 0:f.status,g]),b.useEffect(()=>()=>{var P;return(P=w.current)==null?void 0:P.call(w)},[]);const k=b.useCallback((P,A)=>{var I;if((I=w.current)==null||I.call(w),h(P),d(""),!A)return;const B=K.subscribeTask(P.id,{onLog:M=>h(D=>D&&D.id===P.id?{...D,logs:[...D.logs,M]}:D),onStatus:M=>h(D=>D&&D.id===P.id?{...D,status:M}:D)});w.current=B},[]),x=b.useCallback(async()=>{const P=Ale(r);if(P.length===0){d("Type a command first — e.g. `eval run --task smoke-test` or `gateway status`.");return}c(!0),d("");const A=await K.startTask(P,s*1e3);if(c(!1),!A.ok||!A.task){d(A.error||"Failed to start task.");return}a(""),N(),k(A.task,!0)},[r,s,k,N]),j=b.useCallback(async P=>{await K.cancelTask(P)},[]),_=b.useCallback(P=>{var A;a(`${P} `),d(""),(A=S.current)==null||A.focus()},[]),O=b.useCallback(async P=>{const A=await K.getTask(P);A!=null&&A.task&&k(A.task,!1)},[k]),C=b.useCallback(()=>{var P;(P=w.current)==null||P.call(w),h(null)},[]);return e?e.authenticated?i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🚀",title:"Command Console"}),i.jsx("p",{className:"admin-subtitle",children:"Run any agent-nuvira command — the same CLI, executed by the dashboard. Messaging, skills, tools, eval, memory, traces and more."}),i.jsxs("form",{className:"task-run-form",onSubmit:P=>{P.preventDefault(),x()},children:[i.jsx("input",{ref:S,className:"admin-input task-cmd-input",placeholder:"eval run --task smoke-test · gateway status · skill list · memory stats",value:r,onChange:P=>a(P.target.value),autoComplete:"off",spellCheck:!1}),i.jsxs("select",{className:"admin-input task-timeout-select",title:"Task timeout — 'until finished' runs with no cutoff",value:s,onChange:P=>o(Number(P.target.value)),children:[i.jsx("option",{value:0,children:"until finished"}),i.jsx("option",{value:60,children:"1 min"}),i.jsx("option",{value:300,children:"5 min"}),i.jsx("option",{value:600,children:"10 min"}),i.jsx("option",{value:1800,children:"30 min"})]}),i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:l||r.trim()==="",children:l?"⏳ Starting…":"▶ Run"})]}),u&&i.jsx("div",{className:"admin-error",children:u}),i.jsxs("p",{className:"task-hint",children:["Long-running commands stream their output live, and run ",i.jsx("strong",{children:"until they finish"})," unless you pick a cutoff — the elapsed time is shown beside the status, and Cancel stops one."]}),i.jsx(Cle,{onPick:_}),f&&i.jsxs("div",{className:"task-console-wrap",children:[i.jsxs("div",{className:"task-console-header",children:[i.jsx("code",{className:"task-console-cmd",children:f.command}),i.jsx("span",{className:`task-status ${mE(f.status)}`,children:pE[f.status]}),i.jsxs("span",{className:"task-meta",children:["exit ",f.exitCode??"—"," · ",gE(f.durationMs)]}),f.status==="running"&&i.jsx("button",{className:"admin-mini-btn task-cancel-btn",onClick:()=>void j(f.id),children:"⏹ Cancel"}),i.jsx("button",{className:"admin-mini-btn",onClick:C,children:"✕ Close"})]}),i.jsxs("div",{className:"task-console",children:[f.logs.map((P,A)=>i.jsx("div",{className:`task-line task-line-${P.stream}`,children:P.text},A)),f.logs.length===0&&f.status==="running"&&i.jsx("div",{className:"task-line task-line-system",children:"⏳ waiting for output…"}),i.jsx("div",{ref:v})]}),i.jsxs("label",{className:"task-autoscroll",children:[i.jsx("input",{type:"checkbox",checked:g,onChange:P=>y(P.target.checked)})," auto-scroll"]})]}),i.jsx("h2",{className:"task-history-title",children:"History"}),p.length===0?i.jsx("div",{className:"empty-state",children:"No tasks yet — run your first command above."}):i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table task-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Command"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Exit"}),i.jsx("th",{children:"Duration"}),i.jsx("th",{children:"When"})]})}),i.jsx("tbody",{children:p.map(P=>i.jsxs("tr",{className:(f==null?void 0:f.id)===P.id?"task-row-active":"",onClick:()=>void O(P.id),children:[i.jsx("td",{children:i.jsx("code",{children:P.command})}),i.jsx("td",{children:i.jsx("span",{className:`task-status ${mE(P.status)}`,children:pE[P.status]})}),i.jsx("td",{children:P.exitCode??"—"}),i.jsx("td",{children:gE(P.durationMs)}),i.jsx("td",{children:Tle(P.startedAt)})]},P.id))})]})})]}):i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🚀",title:"Command Console"}),i.jsxs("div",{className:"empty-state",children:[i.jsxs("p",{children:[i.jsx("strong",{children:"Log in to run tasks."})," The console executes commands on this machine, so it needs an admin session (like the Agent Hub toggles)."]}),i.jsx("p",{children:e.configured?i.jsx(tn,{className:"admin-refresh-btn",to:"/admin",children:"🔐 Log in"}):i.jsx(tn,{className:"admin-refresh-btn",to:"/admin",children:"🔐 Create admin account"})})]})]}):i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🚀",title:"Command Console"}),i.jsx("div",{className:"loading-state",children:"Loading…"})]})}function Ple(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Rle=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Mle=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ile={};function vE(e,t){return(Ile.jsx?Mle:Rle).test(e)}const $le=/[ \t\n\f\r]/g;function Lle(e){return typeof e=="object"?e.type==="text"?yE(e.value):!1:yE(e)}function yE(e){return e.replace($le,"")===""}class od{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}od.prototype.normal={};od.prototype.property={};od.prototype.space=void 0;function yM(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new od(n,r,t)}function Wb(e){return e.toLowerCase()}class Hn{constructor(t,n){this.attribute=n,this.property=t}}Hn.prototype.attribute="";Hn.prototype.booleanish=!1;Hn.prototype.boolean=!1;Hn.prototype.commaOrSpaceSeparated=!1;Hn.prototype.commaSeparated=!1;Hn.prototype.defined=!1;Hn.prototype.mustUseProperty=!1;Hn.prototype.number=!1;Hn.prototype.overloadedBoolean=!1;Hn.prototype.property="";Hn.prototype.spaceSeparated=!1;Hn.prototype.space=void 0;let Dle=0;const Pe=Hs(),Dt=Hs(),Hb=Hs(),le=Hs(),ct=Hs(),Ns=Hs(),Kn=Hs();function Hs(){return 2**++Dle}const Gb=Object.freeze(Object.defineProperty({__proto__:null,boolean:Pe,booleanish:Dt,commaOrSpaceSeparated:Kn,commaSeparated:Ns,number:le,overloadedBoolean:Hb,spaceSeparated:ct},Symbol.toStringTag,{value:"Module"})),Kg=Object.keys(Gb);class m0 extends Hn{constructor(t,n,r,a){let s=-1;if(super(t,n),bE(this,"space",a),typeof r=="number")for(;++s<Kg.length;){const o=Kg[s];bE(this,Kg[s],(r&Gb[o])===Gb[o])}}}m0.prototype.defined=!0;function bE(e,t,n){n&&(e[t]=n)}function Il(e){const t={},n={};for(const[r,a]of Object.entries(e.properties)){const s=new m0(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[Wb(r)]=r,n[Wb(s.attribute)]=r}return new od(t,n,e.space)}const bM=Il({properties:{ariaActiveDescendant:null,ariaAtomic:Dt,ariaAutoComplete:null,ariaBusy:Dt,ariaChecked:Dt,ariaColCount:le,ariaColIndex:le,ariaColSpan:le,ariaControls:ct,ariaCurrent:null,ariaDescribedBy:ct,ariaDetails:null,ariaDisabled:Dt,ariaDropEffect:ct,ariaErrorMessage:null,ariaExpanded:Dt,ariaFlowTo:ct,ariaGrabbed:Dt,ariaHasPopup:null,ariaHidden:Dt,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ct,ariaLevel:le,ariaLive:null,ariaModal:Dt,ariaMultiLine:Dt,ariaMultiSelectable:Dt,ariaOrientation:null,ariaOwns:ct,ariaPlaceholder:null,ariaPosInSet:le,ariaPressed:Dt,ariaReadOnly:Dt,ariaRelevant:null,ariaRequired:Dt,ariaRoleDescription:ct,ariaRowCount:le,ariaRowIndex:le,ariaRowSpan:le,ariaSelected:Dt,ariaSetSize:le,ariaSort:null,ariaValueMax:le,ariaValueMin:le,ariaValueNow:le,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function xM(e,t){return t in e?e[t]:t}function wM(e,t){return xM(e,t.toLowerCase())}const Ble=Il({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ns,acceptCharset:ct,accessKey:ct,action:null,allow:null,allowFullScreen:Pe,allowPaymentRequest:Pe,allowUserMedia:Pe,alpha:Pe,alt:null,as:null,async:Pe,autoCapitalize:null,autoComplete:ct,autoFocus:Pe,autoPlay:Pe,blocking:ct,capture:null,charSet:null,checked:Pe,cite:null,className:ct,closedBy:null,colorSpace:null,cols:le,colSpan:le,command:null,commandFor:null,content:null,contentEditable:Dt,controls:Pe,controlsList:ct,coords:le|Ns,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Pe,defer:Pe,dir:null,dirName:null,disabled:Pe,download:Hb,draggable:Dt,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Pe,formTarget:null,headers:ct,height:le,hidden:Hb,high:le,href:null,hrefLang:null,htmlFor:ct,httpEquiv:ct,id:null,imageSizes:null,imageSrcSet:null,inert:Pe,inputMode:null,integrity:null,is:null,isMap:Pe,itemId:null,itemProp:ct,itemRef:ct,itemScope:Pe,itemType:ct,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Pe,low:le,manifest:null,max:null,maxLength:le,media:null,method:null,min:null,minLength:le,multiple:Pe,muted:Pe,name:null,nonce:null,noModule:Pe,noValidate:Pe,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Pe,optimum:le,pattern:null,ping:ct,placeholder:null,playsInline:Pe,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Pe,referrerPolicy:null,rel:ct,required:Pe,reversed:Pe,rows:le,rowSpan:le,sandbox:ct,scope:null,scoped:Pe,seamless:Pe,selected:Pe,shadowRootClonable:Pe,shadowRootCustomElementRegistry:Pe,shadowRootDelegatesFocus:Pe,shadowRootMode:null,shadowRootSerializable:Pe,shape:null,size:le,sizes:null,slot:null,span:le,spellCheck:Dt,src:null,srcDoc:null,srcLang:null,srcSet:null,start:le,step:null,style:null,tabIndex:le,target:null,title:null,translate:null,type:null,typeMustMatch:Pe,useMap:null,value:Dt,width:le,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ct,axis:null,background:null,bgColor:null,border:le,borderColor:null,bottomMargin:le,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Pe,declare:Pe,event:null,face:null,frame:null,frameBorder:null,hSpace:le,leftMargin:le,link:null,longDesc:null,lowSrc:null,marginHeight:le,marginWidth:le,noResize:Pe,noHref:Pe,noShade:Pe,noWrap:Pe,object:null,profile:null,prompt:null,rev:null,rightMargin:le,rules:null,scheme:null,scrolling:Dt,standby:null,summary:null,text:null,topMargin:le,valueType:null,version:null,vAlign:null,vLink:null,vSpace:le,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Pe,disablePictureInPicture:Pe,disableRemotePlayback:Pe,exportParts:Ns,part:ct,prefix:null,property:null,results:le,security:null,unselectable:null},space:"html",transform:wM}),zle=Il({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",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",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",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",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",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",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Kn,accentHeight:le,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:le,amplitude:le,arabicForm:null,ascent:le,attributeName:null,attributeType:null,azimuth:le,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:le,by:null,calcMode:null,capHeight:le,className:ct,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:le,diffuseConstant:le,direction:null,display:null,dur:null,divisor:le,dominantBaseline:null,download:Pe,dx:null,dy:null,edgeMode:null,editable:null,elevation:le,enableBackground:null,end:null,event:null,exponent:le,externalResourcesRequired:null,fill:null,fillOpacity:le,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ns,g2:Ns,glyphName:Ns,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:le,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:le,horizOriginX:le,horizOriginY:le,id:null,ideographic:le,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:le,k:le,k1:le,k2:le,k3:le,k4:le,kernelMatrix:Kn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:le,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:le,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:le,overlineThickness:le,paintOrder:null,panose1:null,path:null,pathLength:le,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ct,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:le,pointsAtY:le,pointsAtZ:le,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Kn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Kn,rev:Kn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Kn,requiredFeatures:Kn,requiredFonts:Kn,requiredFormats:Kn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:le,specularExponent:le,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:le,strikethroughThickness:le,string:null,stroke:null,strokeDashArray:Kn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:le,strokeOpacity:le,strokeWidth:null,style:null,surfaceScale:le,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Kn,tabIndex:le,tableValues:null,target:null,targetX:le,targetY:le,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Kn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:le,underlineThickness:le,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:le,values:null,vAlphabetic:le,vMathematical:le,vectorEffect:null,vHanging:le,vIdeographic:le,version:null,vertAdvY:le,vertOriginX:le,vertOriginY:le,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:le,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:xM}),kM=Il({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),SM=Il({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:wM}),jM=Il({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Fle={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Ule=/[A-Z]/g,xE=/-[a-z]/g,Wle=/^data[-\w.:]+$/i;function Hle(e,t){const n=Wb(t);let r=t,a=Hn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Wle.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(xE,qle);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!xE.test(s)){let o=s.replace(Ule,Gle);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}a=m0}return new a(r,t)}function Gle(e){return"-"+e.toLowerCase()}function qle(e){return e.charAt(1).toUpperCase()}const Kle=yM([bM,Ble,kM,SM,jM],"html"),g0=yM([bM,zle,kM,SM,jM],"svg");function Vle(e){return e.join(" ").trim()}var v0={},wE=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Yle=/\n/g,Xle=/^\s*/,Qle=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Zle=/^:\s*/,Jle=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,ece=/^[;\s]*/,tce=/^\s+|\s+$/g,nce=`
|
|
165
|
-
`,kE="/",SE="*",us="",rce="comment",ace="declaration";function ice(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function a(m){var g=m.match(Yle);g&&(n+=g.length);var y=m.lastIndexOf(nce);r=~y?m.length-y:r+m.length}function s(){var m={line:n,column:r};return function(g){return g.position=new o(m),u(),g}}function o(m){this.start=m,this.end={line:n,column:r},this.source=t.source}o.prototype.content=e;function l(m){var g=new Error(t.source+":"+n+":"+r+": "+m);if(g.reason=m,g.filename=t.source,g.line=n,g.column=r,g.source=e,!t.silent)throw g}function c(m){var g=m.exec(e);if(g){var y=g[0];return a(y),e=e.slice(y.length),g}}function u(){c(Xle)}function d(m){var g;for(m=m||[];g=f();)g!==!1&&m.push(g);return m}function f(){var m=s();if(!(kE!=e.charAt(0)||SE!=e.charAt(1))){for(var g=2;us!=e.charAt(g)&&(SE!=e.charAt(g)||kE!=e.charAt(g+1));)++g;if(g+=2,us===e.charAt(g-1))return l("End of comment missing");var y=e.slice(2,g-2);return r+=2,a(y),e=e.slice(g),r+=2,m({type:rce,comment:y})}}function h(){var m=s(),g=c(Qle);if(g){if(f(),!c(Zle))return l("property missing ':'");var y=c(Jle),v=m({type:ace,property:jE(g[0].replace(wE,us)),value:y?jE(y[0].replace(wE,us)):us});return c(ece),v}}function p(){var m=[];d(m);for(var g;g=h();)g!==!1&&(m.push(g),d(m));return m}return u(),p()}function jE(e){return e?e.replace(tce,us):us}var sce=ice,oce=fi&&fi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(v0,"__esModule",{value:!0});v0.default=cce;const lce=oce(sce);function cce(e,t){let n=null;if(!e||typeof e!="string")return n;const r=(0,lce.default)(e),a=typeof t=="function";return r.forEach(s=>{if(s.type!=="declaration")return;const{property:o,value:l}=s;a?t(o,l,s):l&&(n=n||{},n[o]=l)}),n}var wm={};Object.defineProperty(wm,"__esModule",{value:!0});wm.camelCase=void 0;var uce=/^--[a-zA-Z0-9_-]+$/,dce=/-([a-z])/g,fce=/^[^-]+$/,hce=/^-(webkit|moz|ms|o|khtml)-/,pce=/^-(ms)-/,mce=function(e){return!e||fce.test(e)||uce.test(e)},gce=function(e,t){return t.toUpperCase()},NE=function(e,t){return"".concat(t,"-")},vce=function(e,t){return t===void 0&&(t={}),mce(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(pce,NE):e=e.replace(hce,NE),e.replace(dce,gce))};wm.camelCase=vce;var yce=fi&&fi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},bce=yce(v0),xce=wm;function qb(e,t){var n={};return!e||typeof e!="string"||(0,bce.default)(e,function(r,a){r&&a&&(n[(0,xce.camelCase)(r,t)]=a)}),n}qb.default=qb;var wce=qb;const kce=Ze(wce),NM=EM("end"),y0=EM("start");function EM(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Sce(e){const t=y0(e),n=NM(e);if(t&&n)return{start:t,end:n}}function Bc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?EE(e.position):"start"in e||"end"in e?EE(e):"line"in e||"column"in e?Kb(e):""}function Kb(e){return _E(e&&e.line)+":"+_E(e&&e.column)}function EE(e){return Kb(e&&e.start)+"-"+Kb(e&&e.end)}function _E(e){return e&&typeof e=="number"?e:1}class Sn extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let a="",s={},o=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?a=t:!s.cause&&t&&(o=!0,a=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?s.ruleId=r:(s.source=r.slice(0,c),s.ruleId=r.slice(c+1))}if(!s.place&&s.ancestors&&s.ancestors){const c=s.ancestors[s.ancestors.length-1];c&&(s.place=c.position)}const l=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=a,this.line=l?l.line:void 0,this.name=Bc(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=o&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Sn.prototype.file="";Sn.prototype.name="";Sn.prototype.reason="";Sn.prototype.message="";Sn.prototype.stack="";Sn.prototype.column=void 0;Sn.prototype.line=void 0;Sn.prototype.ancestors=void 0;Sn.prototype.cause=void 0;Sn.prototype.fatal=void 0;Sn.prototype.place=void 0;Sn.prototype.ruleId=void 0;Sn.prototype.source=void 0;const b0={}.hasOwnProperty,jce=new Map,Nce=/[A-Z]/g,Ece=new Set(["table","tbody","thead","tfoot","tr"]),_ce=new Set(["td","th"]),_M="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Cce(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=$ce(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Ice(n,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?g0:Kle,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=CM(a,e,void 0);return s&&typeof s!="string"?s:a.create(e,a.Fragment,{children:s||void 0},void 0)}function CM(e,t,n){if(t.type==="element")return Ace(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return Tce(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Pce(e,t,n);if(t.type==="mdxjsEsm")return Oce(e,t);if(t.type==="root")return Rce(e,t,n);if(t.type==="text")return Mce(e,t)}function Ace(e,t,n){const r=e.schema;let a=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(a=g0,e.schema=a),e.ancestors.push(t);const s=TM(e,t.tagName,!1),o=Lce(e,t);let l=w0(e,t);return Ece.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!Lle(c):!0})),AM(e,o,s,t),x0(o,l),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function Tce(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Hu(e,t.position)}function Oce(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Hu(e,t.position)}function Pce(e,t,n){const r=e.schema;let a=r;t.name==="svg"&&r.space==="html"&&(a=g0,e.schema=a),e.ancestors.push(t);const s=t.name===null?e.Fragment:TM(e,t.name,!0),o=Dce(e,t),l=w0(e,t);return AM(e,o,s,t),x0(o,l),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function Rce(e,t,n){const r={};return x0(r,w0(e,t)),e.create(t,e.Fragment,r,n)}function Mce(e,t){return t.value}function AM(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function x0(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Ice(e,t,n){return r;function r(a,s,o,l){const u=Array.isArray(o.children)?n:t;return l?u(s,o,l):u(s,o)}}function $ce(e,t){return n;function n(r,a,s,o){const l=Array.isArray(s.children),c=y0(r);return t(a,s,o,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function Lce(e,t){const n={};let r,a;for(a in t.properties)if(a!=="children"&&b0.call(t.properties,a)){const s=Bce(e,a,t.properties[a]);if(s){const[o,l]=s;e.tableCellAlignToStyle&&o==="align"&&typeof l=="string"&&_ce.has(t.tagName)?r=l:n[o]=l}}if(r){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Dce(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const s=r.data.estree.body[0];s.type;const o=s.expression;o.type;const l=o.properties[0];l.type,Object.assign(n,e.evaluater.evaluateExpression(l.argument))}else Hu(e,t.position);else{const a=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const l=r.value.data.estree.body[0];l.type,s=e.evaluater.evaluateExpression(l.expression)}else Hu(e,t.position);else s=r.value===null?!0:r.value;n[a]=s}return n}function w0(e,t){const n=[];let r=-1;const a=e.passKeys?new Map:jce;for(;++r<t.children.length;){const s=t.children[r];let o;if(e.passKeys){const c=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(c){const u=a.get(c)||0;o=c+"-"+u,a.set(c,u+1)}}const l=CM(e,s,o);l!==void 0&&n.push(l)}return n}function Bce(e,t,n){const r=Hle(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Ple(n):Vle(n)),r.property==="style"){let a=typeof n=="object"?n:zce(e,String(n));return e.stylePropertyNameCase==="css"&&(a=Fce(a)),["style",a]}return[e.elementAttributeNameCase==="react"&&r.space?Fle[r.property]||r.property:r.attribute,n]}}function zce(e,t){try{return kce(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,a=new Sn("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=_M+"#cannot-parse-style-attribute",a}}function TM(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const a=t.split(".");let s=-1,o;for(;++s<a.length;){const l=vE(a[s])?{type:"Identifier",name:a[s]}:{type:"Literal",value:a[s]};o=o?{type:"MemberExpression",object:o,property:l,computed:!!(s&&l.type==="Literal"),optional:!1}:l}r=o}else r=vE(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const a=r.value;return b0.call(e.components,a)?e.components[a]:a}if(e.evaluater)return e.evaluater.evaluateExpression(r);Hu(e)}function Hu(e,t){const n=new Sn("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=_M+"#cannot-handle-mdx-estrees-without-createevaluater",n}function Fce(e){const t={};let n;for(n in e)b0.call(e,n)&&(t[Uce(n)]=e[n]);return t}function Uce(e){let t=e.replace(Nce,Wce);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function Wce(e){return"-"+e.toLowerCase()}const Vg={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Hce={};function k0(e,t){const n=Hce,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,a=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return OM(e,r,a)}function OM(e,t,n){if(Gce(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return CE(e.children,t,n)}return Array.isArray(e)?CE(e,t,n):""}function CE(e,t,n){const r=[];let a=-1;for(;++a<e.length;)r[a]=OM(e[a],t,n);return r.join("")}function Gce(e){return!!(e&&typeof e=="object")}const AE=document.createElement("i");function S0(e){const t="&"+e+";";AE.innerHTML=t;const n=AE.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function er(e,t,n,r){const a=e.length;let s=0,o;if(t<0?t=-t>a?0:a+t:t=t>a?a:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);s<r.length;)o=r.slice(s,s+1e4),o.unshift(t,0),e.splice(...o),s+=1e4,t+=1e4}function vr(e,t){return e.length>0?(er(e,e.length,0,t),e):t}const TE={}.hasOwnProperty;function PM(e){const t={};let n=-1;for(;++n<e.length;)qce(t,e[n]);return t}function qce(e,t){let n;for(n in t){const a=(TE.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let o;if(s)for(o in s){TE.call(a,o)||(a[o]=[]);const l=s[o];Kce(a[o],Array.isArray(l)?l:l?[l]:[])}}}function Kce(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);er(e,0,0,r)}function RM(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Wr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const _n=Hi(/[A-Za-z]/),wn=Hi(/[\dA-Za-z]/),Vce=Hi(/[#-'*+\--9=?A-Z^-~]/);function ip(e){return e!==null&&(e<32||e===127)}const Vb=Hi(/\d/),Yce=Hi(/[\dA-Fa-f]/),Xce=Hi(/[!-/:-@[-`{-~]/);function Ce(e){return e!==null&&e<-2}function dt(e){return e!==null&&(e<0||e===32)}function De(e){return e===-2||e===-1||e===32}const km=Hi(new RegExp("\\p{P}|\\p{S}","u")),Ls=Hi(/\s/);function Hi(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function $l(e){const t=[];let n=-1,r=0,a=0;for(;++n<e.length;){const s=e.charCodeAt(n);let o="";if(s===37&&wn(e.charCodeAt(n+1))&&wn(e.charCodeAt(n+2)))a=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(o=String.fromCharCode(s));else if(s>55295&&s<57344){const l=e.charCodeAt(n+1);s<56320&&l>56319&&l<57344?(o=String.fromCharCode(s,l),a=1):o="�"}else o=String.fromCharCode(s);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+a+1,o=""),a&&(n+=a,a=0)}return t.join("")+e.slice(r)}function ze(e,t,n,r){const a=r?r-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(c){return De(c)?(e.enter(n),l(c)):t(c)}function l(c){return De(c)&&s++<a?(e.consume(c),l):(e.exit(n),t(c))}}const Qce={tokenize:Zce};function Zce(e){const t=e.attempt(this.parser.constructs.contentInitial,r,a);let n;return t;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),ze(e,t,"linePrefix")}function a(l){return e.enter("paragraph"),s(l)}function s(l){const c=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=c),n=c,o(l)}function o(l){if(l===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(l);return}return Ce(l)?(e.consume(l),e.exit("chunkText"),s):(e.consume(l),o)}}const Jce={tokenize:eue},OE={tokenize:tue};function eue(e){const t=this,n=[];let r=0,a,s,o;return l;function l(w){if(r<n.length){const N=n[r];return t.containerState=N[1],e.attempt(N[0].continuation,c,u)(w)}return u(w)}function c(w){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,a&&S();const N=t.events.length;let k=N,x;for(;k--;)if(t.events[k][0]==="exit"&&t.events[k][1].type==="chunkFlow"){x=t.events[k][1].end;break}v(r);let j=N;for(;j<t.events.length;)t.events[j][1].end={...x},j++;return er(t.events,k+1,0,t.events.slice(N)),t.events.length=j,u(w)}return l(w)}function u(w){if(r===n.length){if(!a)return h(w);if(a.currentConstruct&&a.currentConstruct.concrete)return m(w);t.interrupt=!!(a.currentConstruct&&!a._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(OE,d,f)(w)}function d(w){return a&&S(),v(r),h(w)}function f(w){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(w)}function h(w){return t.containerState={},e.attempt(OE,p,m)(w)}function p(w){return r++,n.push([t.currentConstruct,t.containerState]),h(w)}function m(w){if(w===null){a&&S(),v(0),e.consume(w);return}return a=a||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:a,contentType:"flow",previous:s}),g(w)}function g(w){if(w===null){y(e.exit("chunkFlow"),!0),v(0),e.consume(w);return}return Ce(w)?(e.consume(w),y(e.exit("chunkFlow")),r=0,t.interrupt=void 0,l):(e.consume(w),g)}function y(w,N){const k=t.sliceStream(w);if(N&&k.push(null),w.previous=s,s&&(s.next=w),s=w,a.defineSkip(w.start),a.write(k),t.parser.lazy[w.start.line]){let x=a.events.length;for(;x--;)if(a.events[x][1].start.offset<o&&(!a.events[x][1].end||a.events[x][1].end.offset>o))return;const j=t.events.length;let _=j,O,C;for(;_--;)if(t.events[_][0]==="exit"&&t.events[_][1].type==="chunkFlow"){if(O){C=t.events[_][1].end;break}O=!0}for(v(r),x=j;x<t.events.length;)t.events[x][1].end={...C},x++;er(t.events,_+1,0,t.events.slice(j)),t.events.length=x}}function v(w){let N=n.length;for(;N-- >w;){const k=n[N];t.containerState=k[1],k[0].exit.call(t,e)}n.length=w}function S(){a.write([null]),s=void 0,a=void 0,t.containerState._closeFlow=void 0}}function tue(e,t,n){return ze(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function gl(e){if(e===null||dt(e)||Ls(e))return 1;if(km(e))return 2}function Sm(e,t,n){const r=[];let a=-1;for(;++a<e.length;){const s=e[a].resolveAll;s&&!r.includes(s)&&(t=s(t,n),r.push(s))}return t}const Yb={name:"attention",resolveAll:nue,tokenize:rue};function nue(e,t){let n=-1,r,a,s,o,l,c,u,d;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[r][1].end},h={...e[n][1].start};PE(f,-c),PE(h,c),o={type:c>1?"strongSequence":"emphasisSequence",start:f,end:{...e[r][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},a={type:c>1?"strong":"emphasis",start:{...o.start},end:{...l.end}},e[r][1].end={...o.start},e[n][1].start={...l.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=vr(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=vr(u,[["enter",a,t],["enter",o,t],["exit",o,t],["enter",s,t]]),u=vr(u,Sm(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=vr(u,[["exit",s,t],["enter",l,t],["exit",l,t],["exit",a,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=vr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,er(e,r-1,n-r+3,u),n=r+u.length-d-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function rue(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,a=gl(r);let s;return o;function o(c){return s=c,e.enter("attentionSequence"),l(c)}function l(c){if(c===s)return e.consume(c),l;const u=e.exit("attentionSequence"),d=gl(c),f=!d||d===2&&a||n.includes(c),h=!a||a===2&&d||n.includes(r);return u._open=!!(s===42?f:f&&(a||!h)),u._close=!!(s===42?h:h&&(d||!f)),t(c)}}function PE(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const aue={name:"autolink",tokenize:iue};function iue(e,t,n){let r=0;return a;function a(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s}function s(p){return _n(p)?(e.consume(p),o):p===64?n(p):u(p)}function o(p){return p===43||p===45||p===46||wn(p)?(r=1,l(p)):u(p)}function l(p){return p===58?(e.consume(p),r=0,c):(p===43||p===45||p===46||wn(p))&&r++<32?(e.consume(p),l):(r=0,u(p))}function c(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),t):p===null||p===32||p===60||ip(p)?n(p):(e.consume(p),c)}function u(p){return p===64?(e.consume(p),d):Vce(p)?(e.consume(p),u):n(p)}function d(p){return wn(p)?f(p):n(p)}function f(p){return p===46?(e.consume(p),r=0,d):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),t):h(p)}function h(p){if((p===45||wn(p))&&r++<63){const m=p===45?h:f;return e.consume(p),m}return n(p)}}const ld={partial:!0,tokenize:sue};function sue(e,t,n){return r;function r(s){return De(s)?ze(e,a,"linePrefix")(s):a(s)}function a(s){return s===null||Ce(s)?t(s):n(s)}}const MM={continuation:{tokenize:lue},exit:cue,name:"blockQuote",tokenize:oue};function oue(e,t,n){const r=this;return a;function a(o){if(o===62){const l=r.containerState;return l.open||(e.enter("blockQuote",{_container:!0}),l.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),s}return n(o)}function s(o){return De(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function lue(e,t,n){const r=this;return a;function a(o){return De(o)?ze(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):s(o)}function s(o){return e.attempt(MM,t,n)(o)}}function cue(e){e.exit("blockQuote")}const IM={name:"characterEscape",tokenize:uue};function uue(e,t,n){return r;function r(s){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(s),e.exit("escapeMarker"),a}function a(s){return Xce(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const $M={name:"characterReference",tokenize:due};function due(e,t,n){const r=this;let a=0,s,o;return l;function l(f){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),c}function c(f){return f===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(f),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),s=31,o=wn,d(f))}function u(f){return f===88||f===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(f),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),s=6,o=Yce,d):(e.enter("characterReferenceValue"),s=7,o=Vb,d(f))}function d(f){if(f===59&&a){const h=e.exit("characterReferenceValue");return o===wn&&!S0(r.sliceSerialize(h))?n(f):(e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return o(f)&&a++<s?(e.consume(f),d):n(f)}}const RE={partial:!0,tokenize:hue},ME={concrete:!0,name:"codeFenced",tokenize:fue};function fue(e,t,n){const r=this,a={partial:!0,tokenize:k};let s=0,o=0,l;return c;function c(x){return u(x)}function u(x){const j=r.events[r.events.length-1];return s=j&&j[1].type==="linePrefix"?j[2].sliceSerialize(j[1],!0).length:0,l=x,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),d(x)}function d(x){return x===l?(o++,e.consume(x),d):o<3?n(x):(e.exit("codeFencedFenceSequence"),De(x)?ze(e,f,"whitespace")(x):f(x))}function f(x){return x===null||Ce(x)?(e.exit("codeFencedFence"),r.interrupt?t(x):e.check(RE,g,N)(x)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(x))}function h(x){return x===null||Ce(x)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),f(x)):De(x)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ze(e,p,"whitespace")(x)):x===96&&x===l?n(x):(e.consume(x),h)}function p(x){return x===null||Ce(x)?f(x):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(x))}function m(x){return x===null||Ce(x)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),f(x)):x===96&&x===l?n(x):(e.consume(x),m)}function g(x){return e.attempt(a,N,y)(x)}function y(x){return e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),v}function v(x){return s>0&&De(x)?ze(e,S,"linePrefix",s+1)(x):S(x)}function S(x){return x===null||Ce(x)?e.check(RE,g,N)(x):(e.enter("codeFlowValue"),w(x))}function w(x){return x===null||Ce(x)?(e.exit("codeFlowValue"),S(x)):(e.consume(x),w)}function N(x){return e.exit("codeFenced"),t(x)}function k(x,j,_){let O=0;return C;function C(M){return x.enter("lineEnding"),x.consume(M),x.exit("lineEnding"),P}function P(M){return x.enter("codeFencedFence"),De(M)?ze(x,A,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):A(M)}function A(M){return M===l?(x.enter("codeFencedFenceSequence"),B(M)):_(M)}function B(M){return M===l?(O++,x.consume(M),B):O>=o?(x.exit("codeFencedFenceSequence"),De(M)?ze(x,I,"whitespace")(M):I(M)):_(M)}function I(M){return M===null||Ce(M)?(x.exit("codeFencedFence"),j(M)):_(M)}}}function hue(e,t,n){const r=this;return a;function a(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const Yg={name:"codeIndented",tokenize:mue},pue={partial:!0,tokenize:gue};function mue(e,t,n){const r=this;return a;function a(u){return e.enter("codeIndented"),ze(e,s,"linePrefix",5)(u)}function s(u){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?o(u):n(u)}function o(u){return u===null?c(u):Ce(u)?e.attempt(pue,o,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||Ce(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),t(u)}}function gue(e,t,n){const r=this;return a;function a(o){return r.parser.lazy[r.now().line]?n(o):Ce(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):ze(e,s,"linePrefix",5)(o)}function s(o){const l=r.events[r.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(o):Ce(o)?a(o):n(o)}}const vue={name:"codeText",previous:bue,resolve:yue,tokenize:xue};function yue(e){let t=e.length-4,n=3,r,a;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)a===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(a=r):(r===t||e[r][1].type==="lineEnding")&&(e[a][1].type="codeTextData",r!==a+2&&(e[a][1].end=e[r-1][1].end,e.splice(a+2,r-a-2),t-=r-a-2,r=a+2),a=void 0);return e}function bue(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function xue(e,t,n){let r=0,a,s;return o;function o(f){return e.enter("codeText"),e.enter("codeTextSequence"),l(f)}function l(f){return f===96?(e.consume(f),r++,l):(e.exit("codeTextSequence"),c(f))}function c(f){return f===null?n(f):f===32?(e.enter("space"),e.consume(f),e.exit("space"),c):f===96?(s=e.enter("codeTextSequence"),a=0,d(f)):Ce(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(f))}function u(f){return f===null||f===32||f===96||Ce(f)?(e.exit("codeTextData"),c(f)):(e.consume(f),u)}function d(f){return f===96?(e.consume(f),a++,d):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(f)):(s.type="codeTextData",u(f))}}class wue{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const a=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-a,Number.POSITIVE_INFINITY);return r&&mc(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),mc(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),mc(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);mc(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);mc(this.left,n.reverse())}}}function mc(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function LM(e){const t={};let n=-1,r,a,s,o,l,c,u;const d=new wue(e);for(;++n<d.length;){for(;n in t;)n=t[n];if(r=d.get(n),n&&r[1].type==="chunkFlow"&&d.get(n-1)[1].type==="listItemPrefix"&&(c=r[1]._tokenizer.events,s=0,s<c.length&&c[s][1].type==="lineEndingBlank"&&(s+=2),s<c.length&&c[s][1].type==="content"))for(;++s<c.length&&c[s][1].type!=="content";)c[s][1].type==="chunkText"&&(c[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,kue(d,n)),n=t[n],u=!0);else if(r[1]._container){for(s=n,a=void 0;s--;)if(o=d.get(s),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank")o[0]==="enter"&&(a&&(d.get(a)[1].type="lineEndingBlank"),o[1].type="lineEnding",a=s);else if(!(o[1].type==="linePrefix"||o[1].type==="listItemIndent"))break;a&&(r[1].end={...d.get(a)[1].start},l=d.slice(a,n),l.unshift(r),d.splice(a,n-a+1,l))}}return er(e,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function kue(e,t){const n=e.get(t)[1],r=e.get(t)[2];let a=t-1;const s=[];let o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));const l=o.events,c=[],u={};let d,f,h=-1,p=n,m=0,g=0;const y=[g];for(;p;){for(;e.get(++a)[1]!==p;);s.push(a),p._tokenizer||(d=r.sliceStream(p),p.next||d.push(null),f&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(d),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),f=p,p=p.next}for(p=n;++h<l.length;)l[h][0]==="exit"&&l[h-1][0]==="enter"&&l[h][1].type===l[h-1][1].type&&l[h][1].start.line!==l[h][1].end.line&&(g=h+1,y.push(g),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):y.pop(),h=y.length;h--;){const v=l.slice(y[h],y[h+1]),S=s.pop();c.push([S,S+v.length-1]),e.splice(S,2,v)}for(c.reverse(),h=-1;++h<c.length;)u[m+c[h][0]]=m+c[h][1],m+=c[h][1]-c[h][0]-1;return u}const Sue={resolve:Nue,tokenize:Eue},jue={partial:!0,tokenize:_ue};function Nue(e){return LM(e),e}function Eue(e,t){let n;return r;function r(l){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),a(l)}function a(l){return l===null?s(l):Ce(l)?e.check(jue,o,s)(l):(e.consume(l),a)}function s(l){return e.exit("chunkContent"),e.exit("content"),t(l)}function o(l){return e.consume(l),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,a}}function _ue(e,t,n){const r=this;return a;function a(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),ze(e,s,"linePrefix")}function s(o){if(o===null||Ce(o))return n(o);const l=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function DM(e,t,n,r,a,s,o,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return f;function f(v){return v===60?(e.enter(r),e.enter(a),e.enter(s),e.consume(v),e.exit(s),h):v===null||v===32||v===41||ip(v)?n(v):(e.enter(r),e.enter(o),e.enter(l),e.enter("chunkString",{contentType:"string"}),g(v))}function h(v){return v===62?(e.enter(s),e.consume(v),e.exit(s),e.exit(a),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===62?(e.exit("chunkString"),e.exit(l),h(v)):v===null||v===60||Ce(v)?n(v):(e.consume(v),v===92?m:p)}function m(v){return v===60||v===62||v===92?(e.consume(v),p):p(v)}function g(v){return!d&&(v===null||v===41||dt(v))?(e.exit("chunkString"),e.exit(l),e.exit(o),e.exit(r),t(v)):d<u&&v===40?(e.consume(v),d++,g):v===41?(e.consume(v),d--,g):v===null||v===32||v===40||ip(v)?n(v):(e.consume(v),v===92?y:g)}function y(v){return v===40||v===41||v===92?(e.consume(v),g):g(v)}}function BM(e,t,n,r,a,s){const o=this;let l=0,c;return u;function u(p){return e.enter(r),e.enter(a),e.consume(p),e.exit(a),e.enter(s),d}function d(p){return l>999||p===null||p===91||p===93&&!c||p===94&&!l&&"_hiddenFootnoteSupport"in o.parser.constructs?n(p):p===93?(e.exit(s),e.enter(a),e.consume(p),e.exit(a),e.exit(r),t):Ce(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||Ce(p)||l++>999?(e.exit("chunkString"),d(p)):(e.consume(p),c||(c=!De(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),l++,f):f(p)}}function zM(e,t,n,r,a,s){let o;return l;function l(h){return h===34||h===39||h===40?(e.enter(r),e.enter(a),e.consume(h),e.exit(a),o=h===40?41:h,c):n(h)}function c(h){return h===o?(e.enter(a),e.consume(h),e.exit(a),e.exit(r),t):(e.enter(s),u(h))}function u(h){return h===o?(e.exit(s),c(o)):h===null?n(h):Ce(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),ze(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===o||h===null||Ce(h)?(e.exit("chunkString"),u(h)):(e.consume(h),h===92?f:d)}function f(h){return h===o||h===92?(e.consume(h),d):d(h)}}function zc(e,t){let n;return r;function r(a){return Ce(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r):De(a)?ze(e,r,n?"linePrefix":"lineSuffix")(a):t(a)}}const Cue={name:"definition",tokenize:Tue},Aue={partial:!0,tokenize:Oue};function Tue(e,t,n){const r=this;let a;return s;function s(p){return e.enter("definition"),o(p)}function o(p){return BM.call(r,e,l,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function l(p){return a=Wr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),c):n(p)}function c(p){return dt(p)?zc(e,u)(p):u(p)}function u(p){return DM(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(Aue,f,f)(p)}function f(p){return De(p)?ze(e,h,"whitespace")(p):h(p)}function h(p){return p===null||Ce(p)?(e.exit("definition"),r.parser.defined.push(a),t(p)):n(p)}}function Oue(e,t,n){return r;function r(l){return dt(l)?zc(e,a)(l):n(l)}function a(l){return zM(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function s(l){return De(l)?ze(e,o,"whitespace")(l):o(l)}function o(l){return l===null||Ce(l)?t(l):n(l)}}const Pue={name:"hardBreakEscape",tokenize:Rue};function Rue(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),a}function a(s){return Ce(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const Mue={name:"headingAtx",resolve:Iue,tokenize:$ue};function Iue(e,t){let n=e.length-2,r=3,a,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(a={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},er(e,r,n-r+1,[["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t]])),e}function $ue(e,t,n){let r=0;return a;function a(d){return e.enter("atxHeading"),s(d)}function s(d){return e.enter("atxHeadingSequence"),o(d)}function o(d){return d===35&&r++<6?(e.consume(d),o):d===null||dt(d)?(e.exit("atxHeadingSequence"),l(d)):n(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||Ce(d)?(e.exit("atxHeading"),t(d)):De(d)?ze(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||dt(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const Lue=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],IE=["pre","script","style","textarea"],Due={concrete:!0,name:"htmlFlow",resolveTo:Fue,tokenize:Uue},Bue={partial:!0,tokenize:Hue},zue={partial:!0,tokenize:Wue};function Fue(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Uue(e,t,n){const r=this;let a,s,o,l,c;return u;function u($){return d($)}function d($){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume($),f}function f($){return $===33?(e.consume($),h):$===47?(e.consume($),s=!0,g):$===63?(e.consume($),a=3,r.interrupt?t:T):_n($)?(e.consume($),o=String.fromCharCode($),y):n($)}function h($){return $===45?(e.consume($),a=2,p):$===91?(e.consume($),a=5,l=0,m):_n($)?(e.consume($),a=4,r.interrupt?t:T):n($)}function p($){return $===45?(e.consume($),r.interrupt?t:T):n($)}function m($){const ie="CDATA[";return $===ie.charCodeAt(l++)?(e.consume($),l===ie.length?r.interrupt?t:A:m):n($)}function g($){return _n($)?(e.consume($),o=String.fromCharCode($),y):n($)}function y($){if($===null||$===47||$===62||dt($)){const ie=$===47,de=o.toLowerCase();return!ie&&!s&&IE.includes(de)?(a=1,r.interrupt?t($):A($)):Lue.includes(o.toLowerCase())?(a=6,ie?(e.consume($),v):r.interrupt?t($):A($)):(a=7,r.interrupt&&!r.parser.lazy[r.now().line]?n($):s?S($):w($))}return $===45||wn($)?(e.consume($),o+=String.fromCharCode($),y):n($)}function v($){return $===62?(e.consume($),r.interrupt?t:A):n($)}function S($){return De($)?(e.consume($),S):C($)}function w($){return $===47?(e.consume($),C):$===58||$===95||_n($)?(e.consume($),N):De($)?(e.consume($),w):C($)}function N($){return $===45||$===46||$===58||$===95||wn($)?(e.consume($),N):k($)}function k($){return $===61?(e.consume($),x):De($)?(e.consume($),k):w($)}function x($){return $===null||$===60||$===61||$===62||$===96?n($):$===34||$===39?(e.consume($),c=$,j):De($)?(e.consume($),x):_($)}function j($){return $===c?(e.consume($),c=null,O):$===null||Ce($)?n($):(e.consume($),j)}function _($){return $===null||$===34||$===39||$===47||$===60||$===61||$===62||$===96||dt($)?k($):(e.consume($),_)}function O($){return $===47||$===62||De($)?w($):n($)}function C($){return $===62?(e.consume($),P):n($)}function P($){return $===null||Ce($)?A($):De($)?(e.consume($),P):n($)}function A($){return $===45&&a===2?(e.consume($),D):$===60&&a===1?(e.consume($),W):$===62&&a===4?(e.consume($),Z):$===63&&a===3?(e.consume($),T):$===93&&a===5?(e.consume($),z):Ce($)&&(a===6||a===7)?(e.exit("htmlFlowData"),e.check(Bue,U,B)($)):$===null||Ce($)?(e.exit("htmlFlowData"),B($)):(e.consume($),A)}function B($){return e.check(zue,I,U)($)}function I($){return e.enter("lineEnding"),e.consume($),e.exit("lineEnding"),M}function M($){return $===null||Ce($)?B($):(e.enter("htmlFlowData"),A($))}function D($){return $===45?(e.consume($),T):A($)}function W($){return $===47?(e.consume($),o="",R):A($)}function R($){if($===62){const ie=o.toLowerCase();return IE.includes(ie)?(e.consume($),Z):A($)}return _n($)&&o.length<8?(e.consume($),o+=String.fromCharCode($),R):A($)}function z($){return $===93?(e.consume($),T):A($)}function T($){return $===62?(e.consume($),Z):$===45&&a===2?(e.consume($),T):A($)}function Z($){return $===null||Ce($)?(e.exit("htmlFlowData"),U($)):(e.consume($),Z)}function U($){return e.exit("htmlFlow"),t($)}}function Wue(e,t,n){const r=this;return a;function a(o){return Ce(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):n(o)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function Hue(e,t,n){return r;function r(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),e.attempt(ld,t,n)}}const Gue={name:"htmlText",tokenize:que};function que(e,t,n){const r=this;let a,s,o;return l;function l(T){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(T),c}function c(T){return T===33?(e.consume(T),u):T===47?(e.consume(T),k):T===63?(e.consume(T),w):_n(T)?(e.consume(T),_):n(T)}function u(T){return T===45?(e.consume(T),d):T===91?(e.consume(T),s=0,m):_n(T)?(e.consume(T),S):n(T)}function d(T){return T===45?(e.consume(T),p):n(T)}function f(T){return T===null?n(T):T===45?(e.consume(T),h):Ce(T)?(o=f,W(T)):(e.consume(T),f)}function h(T){return T===45?(e.consume(T),p):f(T)}function p(T){return T===62?D(T):T===45?h(T):f(T)}function m(T){const Z="CDATA[";return T===Z.charCodeAt(s++)?(e.consume(T),s===Z.length?g:m):n(T)}function g(T){return T===null?n(T):T===93?(e.consume(T),y):Ce(T)?(o=g,W(T)):(e.consume(T),g)}function y(T){return T===93?(e.consume(T),v):g(T)}function v(T){return T===62?D(T):T===93?(e.consume(T),v):g(T)}function S(T){return T===null||T===62?D(T):Ce(T)?(o=S,W(T)):(e.consume(T),S)}function w(T){return T===null?n(T):T===63?(e.consume(T),N):Ce(T)?(o=w,W(T)):(e.consume(T),w)}function N(T){return T===62?D(T):w(T)}function k(T){return _n(T)?(e.consume(T),x):n(T)}function x(T){return T===45||wn(T)?(e.consume(T),x):j(T)}function j(T){return Ce(T)?(o=j,W(T)):De(T)?(e.consume(T),j):D(T)}function _(T){return T===45||wn(T)?(e.consume(T),_):T===47||T===62||dt(T)?O(T):n(T)}function O(T){return T===47?(e.consume(T),D):T===58||T===95||_n(T)?(e.consume(T),C):Ce(T)?(o=O,W(T)):De(T)?(e.consume(T),O):D(T)}function C(T){return T===45||T===46||T===58||T===95||wn(T)?(e.consume(T),C):P(T)}function P(T){return T===61?(e.consume(T),A):Ce(T)?(o=P,W(T)):De(T)?(e.consume(T),P):O(T)}function A(T){return T===null||T===60||T===61||T===62||T===96?n(T):T===34||T===39?(e.consume(T),a=T,B):Ce(T)?(o=A,W(T)):De(T)?(e.consume(T),A):(e.consume(T),I)}function B(T){return T===a?(e.consume(T),a=void 0,M):T===null?n(T):Ce(T)?(o=B,W(T)):(e.consume(T),B)}function I(T){return T===null||T===34||T===39||T===60||T===61||T===96?n(T):T===47||T===62||dt(T)?O(T):(e.consume(T),I)}function M(T){return T===47||T===62||dt(T)?O(T):n(T)}function D(T){return T===62?(e.consume(T),e.exit("htmlTextData"),e.exit("htmlText"),t):n(T)}function W(T){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),R}function R(T){return De(T)?ze(e,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):z(T)}function z(T){return e.enter("htmlTextData"),o(T)}}const j0={name:"labelEnd",resolveAll:Xue,resolveTo:Que,tokenize:Zue},Kue={tokenize:Jue},Vue={tokenize:ede},Yue={tokenize:tde};function Xue(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const a=r.type==="labelImage"?4:2;r.type="data",t+=a}}return e.length!==n.length&&er(e,0,e.length,n),e}function Que(e,t){let n=e.length,r=0,a,s,o,l;for(;n--;)if(a=e[n][1],s){if(a.type==="link"||a.type==="labelLink"&&a._inactive)break;e[n][0]==="enter"&&a.type==="labelLink"&&(a._inactive=!0)}else if(o){if(e[n][0]==="enter"&&(a.type==="labelImage"||a.type==="labelLink")&&!a._balanced&&(s=n,a.type!=="labelLink")){r=2;break}}else a.type==="labelEnd"&&(o=n);const c={type:e[s][1].type==="labelLink"?"link":"image",start:{...e[s][1].start},end:{...e[e.length-1][1].end}},u={type:"label",start:{...e[s][1].start},end:{...e[o][1].end}},d={type:"labelText",start:{...e[s+r+2][1].end},end:{...e[o-2][1].start}};return l=[["enter",c,t],["enter",u,t]],l=vr(l,e.slice(s+1,s+r+3)),l=vr(l,[["enter",d,t]]),l=vr(l,Sm(t.parser.constructs.insideSpan.null,e.slice(s+r+4,o-3),t)),l=vr(l,[["exit",d,t],e[o-2],e[o-1],["exit",u,t]]),l=vr(l,e.slice(o+1)),l=vr(l,[["exit",c,t]]),er(e,s,e.length,l),e}function Zue(e,t,n){const r=this;let a=r.events.length,s,o;for(;a--;)if((r.events[a][1].type==="labelImage"||r.events[a][1].type==="labelLink")&&!r.events[a][1]._balanced){s=r.events[a][1];break}return l;function l(h){return s?s._inactive?f(h):(o=r.parser.defined.includes(Wr(r.sliceSerialize({start:s.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(h),e.exit("labelMarker"),e.exit("labelEnd"),c):n(h)}function c(h){return h===40?e.attempt(Kue,d,o?d:f)(h):h===91?e.attempt(Vue,d,o?u:f)(h):o?d(h):f(h)}function u(h){return e.attempt(Yue,d,f)(h)}function d(h){return t(h)}function f(h){return s._balanced=!0,n(h)}}function Jue(e,t,n){return r;function r(f){return e.enter("resource"),e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),a}function a(f){return dt(f)?zc(e,s)(f):s(f)}function s(f){return f===41?d(f):DM(e,o,l,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function o(f){return dt(f)?zc(e,c)(f):d(f)}function l(f){return n(f)}function c(f){return f===34||f===39||f===40?zM(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):d(f)}function u(f){return dt(f)?zc(e,d)(f):d(f)}function d(f){return f===41?(e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),e.exit("resource"),t):n(f)}}function ede(e,t,n){const r=this;return a;function a(l){return BM.call(r,e,s,o,"reference","referenceMarker","referenceString")(l)}function s(l){return r.parser.defined.includes(Wr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(l):n(l)}function o(l){return n(l)}}function tde(e,t,n){return r;function r(s){return e.enter("reference"),e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),a}function a(s){return s===93?(e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),e.exit("reference"),t):n(s)}}const nde={name:"labelStartImage",resolveAll:j0.resolveAll,tokenize:rde};function rde(e,t,n){const r=this;return a;function a(l){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(l),e.exit("labelImageMarker"),s}function s(l){return l===91?(e.enter("labelMarker"),e.consume(l),e.exit("labelMarker"),e.exit("labelImage"),o):n(l)}function o(l){return l===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(l):t(l)}}const ade={name:"labelStartLink",resolveAll:j0.resolveAll,tokenize:ide};function ide(e,t,n){const r=this;return a;function a(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),s}function s(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}const Xg={name:"lineEnding",tokenize:sde};function sde(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),ze(e,t,"linePrefix")}}const Cf={name:"thematicBreak",tokenize:ode};function ode(e,t,n){let r=0,a;return s;function s(u){return e.enter("thematicBreak"),o(u)}function o(u){return a=u,l(u)}function l(u){return u===a?(e.enter("thematicBreakSequence"),c(u)):r>=3&&(u===null||Ce(u))?(e.exit("thematicBreak"),t(u)):n(u)}function c(u){return u===a?(e.consume(u),r++,c):(e.exit("thematicBreakSequence"),De(u)?ze(e,l,"whitespace")(u):l(u))}}const $n={continuation:{tokenize:dde},exit:hde,name:"list",tokenize:ude},lde={partial:!0,tokenize:pde},cde={partial:!0,tokenize:fde};function ude(e,t,n){const r=this,a=r.events[r.events.length-1];let s=a&&a[1].type==="linePrefix"?a[2].sliceSerialize(a[1],!0).length:0,o=0;return l;function l(p){const m=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:Vb(p)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(Cf,n,u)(p):u(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(p)}return n(p)}function c(p){return Vb(p)&&++o<10?(e.consume(p),c):(!r.interrupt||o<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check(ld,r.interrupt?n:d,e.attempt(lde,h,f))}function d(p){return r.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return De(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function dde(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(ld,a,s);function a(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ze(e,t,"listItemIndent",r.containerState.size+1)(l)}function s(l){return r.containerState.furtherBlankLines||!De(l)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(l)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(cde,t,o)(l))}function o(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,ze(e,e.attempt($n,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function fde(e,t,n){const r=this;return ze(e,a,"listItemIndent",r.containerState.size+1);function a(s){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(s):n(s)}}function hde(e){e.exit(this.containerState.type)}function pde(e,t,n){const r=this;return ze(e,a,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function a(s){const o=r.events[r.events.length-1];return!De(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const $E={name:"setextUnderline",resolveTo:mde,tokenize:gde};function mde(e,t){let n=e.length,r,a,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(a=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const o={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[a][1].type="setextHeadingText",s?(e.splice(a,0,["enter",o,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=o,e.push(["exit",o,t]),e}function gde(e,t,n){const r=this;let a;return s;function s(u){let d=r.events.length,f;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){f=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),a=u,o(u)):n(u)}function o(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===a?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),De(u)?ze(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||Ce(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const vde={tokenize:yde};function yde(e){const t=this,n=e.attempt(ld,r,e.attempt(this.parser.constructs.flowInitial,a,ze(e,e.attempt(this.parser.constructs.flow,a,e.attempt(Sue,a)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function a(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const bde={resolveAll:UM()},xde=FM("string"),wde=FM("text");function FM(e){return{resolveAll:UM(e==="text"?kde:void 0),tokenize:t};function t(n){const r=this,a=this.parser.constructs[e],s=n.attempt(a,o,l);return o;function o(d){return u(d)?s(d):l(d)}function l(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),c)}function u(d){if(d===null)return!0;const f=a[d];let h=-1;if(f)for(;++h<f.length;){const p=f[h];if(!p.previous||p.previous.call(r,r.previous))return!0}return!1}}}function UM(e){return t;function t(n,r){let a=-1,s;for(;++a<=n.length;)s===void 0?n[a]&&n[a][1].type==="data"&&(s=a,a++):(!n[a]||n[a][1].type!=="data")&&(a!==s+2&&(n[s][1].end=n[a-1][1].end,n.splice(s+2,a-s-2),a=s+2),s=void 0);return e?e(n,r):n}}function kde(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],a=t.sliceStream(r);let s=a.length,o=-1,l=0,c;for(;s--;){const u=a[s];if(typeof u=="string"){for(o=u.length;u.charCodeAt(o-1)===32;)l++,o--;if(o)break;o=-1}else if(u===-2)c=!0,l++;else if(u!==-1){s++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(l=0),l){const u={type:n===e.length||c||l<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?o:r.start._bufferIndex+o,_index:r.start._index+s,line:r.end.line,column:r.end.column-l,offset:r.end.offset-l},end:{...r.end}};r.end={...u.start},r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}const Sde={42:$n,43:$n,45:$n,48:$n,49:$n,50:$n,51:$n,52:$n,53:$n,54:$n,55:$n,56:$n,57:$n,62:MM},jde={91:Cue},Nde={[-2]:Yg,[-1]:Yg,32:Yg},Ede={35:Mue,42:Cf,45:[$E,Cf],60:Due,61:$E,95:Cf,96:ME,126:ME},_de={38:$M,92:IM},Cde={[-5]:Xg,[-4]:Xg,[-3]:Xg,33:nde,38:$M,42:Yb,60:[aue,Gue],91:ade,92:[Pue,IM],93:j0,95:Yb,96:vue},Ade={null:[Yb,bde]},Tde={null:[42,95]},Ode={null:[]},Pde=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:Tde,contentInitial:jde,disable:Ode,document:Sde,flow:Ede,flowInitial:Nde,insideSpan:Ade,string:_de,text:Cde},Symbol.toStringTag,{value:"Module"}));function Rde(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const a={},s=[];let o=[],l=[];const c={attempt:j(k),check:j(x),consume:S,enter:w,exit:N,interrupt:j(x,{interrupt:!0})},u={code:null,containerState:{},defineSkip:g,events:[],now:m,parser:e,previous:null,sliceSerialize:h,sliceStream:p,write:f};let d=t.tokenize.call(u,c);return t.resolveAll&&s.push(t),u;function f(P){return o=vr(o,P),y(),o[o.length-1]!==null?[]:(_(t,0),u.events=Sm(s,u.events,u),u.events)}function h(P,A){return Ide(p(P),A)}function p(P){return Mde(o,P)}function m(){const{_bufferIndex:P,_index:A,line:B,column:I,offset:M}=r;return{_bufferIndex:P,_index:A,line:B,column:I,offset:M}}function g(P){a[P.line]=P.column,C()}function y(){let P;for(;r._index<o.length;){const A=o[r._index];if(typeof A=="string")for(P=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===P&&r._bufferIndex<A.length;)v(A.charCodeAt(r._bufferIndex));else v(A)}}function v(P){d=d(P)}function S(P){Ce(P)?(r.line++,r.column=1,r.offset+=P===-3?2:1,C()):P!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=P}function w(P,A){const B=A||{};return B.type=P,B.start=m(),u.events.push(["enter",B,u]),l.push(B),B}function N(P){const A=l.pop();return A.end=m(),u.events.push(["exit",A,u]),A}function k(P,A){_(P,A.from)}function x(P,A){A.restore()}function j(P,A){return B;function B(I,M,D){let W,R,z,T;return Array.isArray(I)?U(I):"tokenize"in I?U([I]):Z(I);function Z(ve){return Ee;function Ee(J){const Y=J!==null&&ve[J],ae=J!==null&&ve.null,ce=[...Array.isArray(Y)?Y:Y?[Y]:[],...Array.isArray(ae)?ae:ae?[ae]:[]];return U(ce)(J)}}function U(ve){return W=ve,R=0,ve.length===0?D:$(ve[R])}function $(ve){return Ee;function Ee(J){return T=O(),z=ve,ve.partial||(u.currentConstruct=ve),ve.name&&u.parser.constructs.disable.null.includes(ve.name)?de():ve.tokenize.call(A?Object.assign(Object.create(u),A):u,c,ie,de)(J)}}function ie(ve){return P(z,T),M}function de(ve){return T.restore(),++R<W.length?$(W[R]):D}}}function _(P,A){P.resolveAll&&!s.includes(P)&&s.push(P),P.resolve&&er(u.events,A,u.events.length-A,P.resolve(u.events.slice(A),u)),P.resolveTo&&(u.events=P.resolveTo(u.events,u))}function O(){const P=m(),A=u.previous,B=u.currentConstruct,I=u.events.length,M=Array.from(l);return{from:I,restore:D};function D(){r=P,u.previous=A,u.currentConstruct=B,u.events.length=I,l=M,C()}}function C(){r.line in a&&r.column<2&&(r.column=a[r.line],r.offset+=a[r.line]-1)}}function Mde(e,t){const n=t.start._index,r=t.start._bufferIndex,a=t.end._index,s=t.end._bufferIndex;let o;if(n===a)o=[e[n].slice(r,s)];else{if(o=e.slice(n,a),r>-1){const l=o[0];typeof l=="string"?o[0]=l.slice(r):o.shift()}s>0&&o.push(e[a].slice(0,s))}return o}function Ide(e,t){let n=-1;const r=[];let a;for(;++n<e.length;){const s=e[n];let o;if(typeof s=="string")o=s;else switch(s){case-5:{o="\r";break}case-4:{o=`
|
|
166
|
-
`;break}case-3:{o=`\r
|
|
167
|
-
`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&a)continue;o=" ";break}default:o=String.fromCharCode(s)}a=s===-2,r.push(o)}return r.join("")}function $de(e){const r={constructs:PM([Pde,...(e||{}).extensions||[]]),content:a(Qce),defined:[],document:a(Jce),flow:a(vde),lazy:{},string:a(xde),text:a(wde)};return r;function a(s){return o;function o(l){return Rde(r,s,l)}}}function Lde(e){for(;!LM(e););return e}const LE=/[\0\t\n\r]/g;function Dde(){let e=1,t="",n=!0,r;return a;function a(s,o,l){const c=[];let u,d,f,h,p;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(o||void 0).decode(s)),f=0,t="",n&&(s.charCodeAt(0)===65279&&f++,n=void 0);f<s.length;){if(LE.lastIndex=f,u=LE.exec(s),h=u&&u.index!==void 0?u.index:s.length,p=s.charCodeAt(h),!u){t=s.slice(f);break}if(p===10&&f===h&&r)c.push(-3),r=void 0;else switch(r&&(c.push(-5),r=void 0),f<h&&(c.push(s.slice(f,h)),e+=h-f),p){case 0:{c.push(65533),e++;break}case 9:{for(d=Math.ceil(e/4)*4,c.push(-2);e++<d;)c.push(-1);break}case 10:{c.push(-4),e=1;break}default:r=!0,e=1}f=h+1}return l&&(r&&c.push(-5),t&&c.push(t),c.push(null)),c}}const Bde=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function zde(e){return e.replace(Bde,Fde)}function Fde(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const a=n.charCodeAt(1),s=a===120||a===88;return RM(n.slice(s?2:1),s?16:10)}return S0(n)||e}const WM={}.hasOwnProperty;function Ude(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),Wde(n)(Lde($de(n).document().write(Dde()(e,t,!0))))}function Wde(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(Xe),autolinkProtocol:O,autolinkEmail:O,atxHeading:s(Oe),blockQuote:s(ae),characterEscape:O,characterReference:O,codeFenced:s(ce),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:s(ce,o),codeText:s(H,o),codeTextData:O,data:O,codeFlowValue:O,definition:s(xe),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:s(ke),hardBreakEscape:s(ge),hardBreakTrailing:s(ge),htmlFlow:s(Re,o),htmlFlowData:O,htmlText:s(Re,o),htmlTextData:O,image:s(pe),label:o,link:s(Xe),listItem:s(_e),listItemValue:h,listOrdered:s($e,f),listUnordered:s($e),paragraph:s(pt),reference:$,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:s(Oe),strong:s(Fe),thematicBreak:s(Vt)},exit:{atxHeading:c(),atxHeadingSequence:k,autolink:c(),autolinkEmail:Y,autolinkProtocol:J,blockQuote:c(),characterEscapeValue:C,characterReferenceMarkerHexadecimal:de,characterReferenceMarkerNumeric:de,characterReferenceValue:ve,characterReference:Ee,codeFenced:c(y),codeFencedFence:g,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:C,codeIndented:c(v),codeText:c(M),codeTextData:C,data:C,definition:c(),definitionDestinationString:N,definitionLabelString:S,definitionTitleString:w,emphasis:c(),hardBreakEscape:c(A),hardBreakTrailing:c(A),htmlFlow:c(B),htmlFlowData:C,htmlText:c(I),htmlTextData:C,image:c(W),label:z,labelText:R,lineEnding:P,link:c(D),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ie,resourceDestinationString:T,resourceTitleString:Z,resource:U,setextHeading:c(_),setextHeadingLineSequence:j,setextHeadingText:x,strong:c(),thematicBreak:c()}};HM(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(q){let Q={type:"root",children:[]};const oe={stack:[Q],tokenStack:[],config:t,enter:l,exit:u,buffer:o,resume:d,data:n},he=[];let Se=-1;for(;++Se<q.length;)if(q[Se][1].type==="listOrdered"||q[Se][1].type==="listUnordered")if(q[Se][0]==="enter")he.push(Se);else{const Me=he.pop();Se=a(q,Me,Se)}for(Se=-1;++Se<q.length;){const Me=t[q[Se][0]];WM.call(Me,q[Se][1].type)&&Me[q[Se][1].type].call(Object.assign({sliceSerialize:q[Se][2].sliceSerialize},oe),q[Se][1])}if(oe.tokenStack.length>0){const Me=oe.tokenStack[oe.tokenStack.length-1];(Me[1]||DE).call(oe,void 0,Me[0])}for(Q.position={start:ai(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:ai(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},Se=-1;++Se<t.transforms.length;)Q=t.transforms[Se](Q)||Q;return Q}function a(q,Q,oe){let he=Q-1,Se=-1,Me=!1,Ft,Ie,Pn,Rn;for(;++he<=oe;){const kt=q[he];switch(kt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{kt[0]==="enter"?Se++:Se--,Rn=void 0;break}case"lineEndingBlank":{kt[0]==="enter"&&(Ft&&!Rn&&!Se&&!Pn&&(Pn=he),Rn=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Rn=void 0}if(!Se&&kt[0]==="enter"&&kt[1].type==="listItemPrefix"||Se===-1&&kt[0]==="exit"&&(kt[1].type==="listUnordered"||kt[1].type==="listOrdered")){if(Ft){let It=he;for(Ie=void 0;It--;){const rt=q[It];if(rt[1].type==="lineEnding"||rt[1].type==="lineEndingBlank"){if(rt[0]==="exit")continue;Ie&&(q[Ie][1].type="lineEndingBlank",Me=!0),rt[1].type="lineEnding",Ie=It}else if(!(rt[1].type==="linePrefix"||rt[1].type==="blockQuotePrefix"||rt[1].type==="blockQuotePrefixWhitespace"||rt[1].type==="blockQuoteMarker"||rt[1].type==="listItemIndent"))break}Pn&&(!Ie||Pn<Ie)&&(Ft._spread=!0),Ft.end=Object.assign({},Ie?q[Ie][1].start:kt[1].end),q.splice(Ie||he,0,["exit",Ft,kt[2]]),he++,oe++}if(kt[1].type==="listItemPrefix"){const It={type:"listItem",_spread:!1,start:Object.assign({},kt[1].start),end:void 0};Ft=It,q.splice(he,0,["enter",It,kt[2]]),he++,oe++,Pn=void 0,Rn=!0}}}return q[Q][1]._spread=Me,oe}function s(q,Q){return oe;function oe(he){l.call(this,q(he),he),Q&&Q.call(this,he)}}function o(){this.stack.push({type:"fragment",children:[]})}function l(q,Q,oe){this.stack[this.stack.length-1].children.push(q),this.stack.push(q),this.tokenStack.push([Q,oe||void 0]),q.position={start:ai(Q.start),end:void 0}}function c(q){return Q;function Q(oe){q&&q.call(this,oe),u.call(this,oe)}}function u(q,Q){const oe=this.stack.pop(),he=this.tokenStack.pop();if(he)he[0].type!==q.type&&(Q?Q.call(this,q,he[0]):(he[1]||DE).call(this,q,he[0]));else throw new Error("Cannot close `"+q.type+"` ("+Bc({start:q.start,end:q.end})+"): it’s not open");oe.position.end=ai(q.end)}function d(){return k0(this.stack.pop())}function f(){this.data.expectingFirstListItemValue=!0}function h(q){if(this.data.expectingFirstListItemValue){const Q=this.stack[this.stack.length-2];Q.start=Number.parseInt(this.sliceSerialize(q),10),this.data.expectingFirstListItemValue=void 0}}function p(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.lang=q}function m(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.meta=q}function g(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function y(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.value=q.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function v(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.value=q.replace(/(\r?\n|\r)$/g,"")}function S(q){const Q=this.resume(),oe=this.stack[this.stack.length-1];oe.label=Q,oe.identifier=Wr(this.sliceSerialize(q)).toLowerCase()}function w(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.title=q}function N(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.url=q}function k(q){const Q=this.stack[this.stack.length-1];if(!Q.depth){const oe=this.sliceSerialize(q).length;Q.depth=oe}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function j(q){const Q=this.stack[this.stack.length-1];Q.depth=this.sliceSerialize(q).codePointAt(0)===61?1:2}function _(){this.data.setextHeadingSlurpLineEnding=void 0}function O(q){const oe=this.stack[this.stack.length-1].children;let he=oe[oe.length-1];(!he||he.type!=="text")&&(he=lt(),he.position={start:ai(q.start),end:void 0},oe.push(he)),this.stack.push(he)}function C(q){const Q=this.stack.pop();Q.value+=this.sliceSerialize(q),Q.position.end=ai(q.end)}function P(q){const Q=this.stack[this.stack.length-1];if(this.data.atHardBreak){const oe=Q.children[Q.children.length-1];oe.position.end=ai(q.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(Q.type)&&(O.call(this,q),C.call(this,q))}function A(){this.data.atHardBreak=!0}function B(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.value=q}function I(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.value=q}function M(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.value=q}function D(){const q=this.stack[this.stack.length-1];if(this.data.inReference){const Q=this.data.referenceType||"shortcut";q.type+="Reference",q.referenceType=Q,delete q.url,delete q.title}else delete q.identifier,delete q.label;this.data.referenceType=void 0}function W(){const q=this.stack[this.stack.length-1];if(this.data.inReference){const Q=this.data.referenceType||"shortcut";q.type+="Reference",q.referenceType=Q,delete q.url,delete q.title}else delete q.identifier,delete q.label;this.data.referenceType=void 0}function R(q){const Q=this.sliceSerialize(q),oe=this.stack[this.stack.length-2];oe.label=zde(Q),oe.identifier=Wr(Q).toLowerCase()}function z(){const q=this.stack[this.stack.length-1],Q=this.resume(),oe=this.stack[this.stack.length-1];if(this.data.inReference=!0,oe.type==="link"){const he=q.children;oe.children=he}else oe.alt=Q}function T(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.url=q}function Z(){const q=this.resume(),Q=this.stack[this.stack.length-1];Q.title=q}function U(){this.data.inReference=void 0}function $(){this.data.referenceType="collapsed"}function ie(q){const Q=this.resume(),oe=this.stack[this.stack.length-1];oe.label=Q,oe.identifier=Wr(this.sliceSerialize(q)).toLowerCase(),this.data.referenceType="full"}function de(q){this.data.characterReferenceType=q.type}function ve(q){const Q=this.sliceSerialize(q),oe=this.data.characterReferenceType;let he;oe?(he=RM(Q,oe==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):he=S0(Q);const Se=this.stack[this.stack.length-1];Se.value+=he}function Ee(q){const Q=this.stack.pop();Q.position.end=ai(q.end)}function J(q){C.call(this,q);const Q=this.stack[this.stack.length-1];Q.url=this.sliceSerialize(q)}function Y(q){C.call(this,q);const Q=this.stack[this.stack.length-1];Q.url="mailto:"+this.sliceSerialize(q)}function ae(){return{type:"blockquote",children:[]}}function ce(){return{type:"code",lang:null,meta:null,value:""}}function H(){return{type:"inlineCode",value:""}}function xe(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ke(){return{type:"emphasis",children:[]}}function Oe(){return{type:"heading",depth:0,children:[]}}function ge(){return{type:"break"}}function Re(){return{type:"html",value:""}}function pe(){return{type:"image",title:null,url:"",alt:null}}function Xe(){return{type:"link",title:null,url:"",children:[]}}function $e(q){return{type:"list",ordered:q.type==="listOrdered",start:null,spread:q._spread,children:[]}}function _e(q){return{type:"listItem",spread:q._spread,checked:null,children:[]}}function pt(){return{type:"paragraph",children:[]}}function Fe(){return{type:"strong",children:[]}}function lt(){return{type:"text",value:""}}function Vt(){return{type:"thematicBreak"}}}function ai(e){return{line:e.line,column:e.column,offset:e.offset}}function HM(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?HM(e,r):Hde(e,r)}}function Hde(e,t){let n;for(n in t)if(WM.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function DE(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Bc({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Bc({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Bc({start:t.start,end:t.end})+") is still open")}function Gde(e){const t=this;t.parser=n;function n(r){return Ude(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function qde(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function Kde(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
168
|
-
`}]}function Vde(e,t){const n=t.value?t.value+`
|
|
169
|
-
`:"",r={},a=t.lang?t.lang.split(/\s+/):[];a.length>0&&(r.className=["language-"+a[0]]);let s={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function Yde(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Xde(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Qde(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),a=$l(r.toLowerCase()),s=e.footnoteOrder.indexOf(r);let o,l=e.footnoteCounts.get(r);l===void 0?(l=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=s+1,l+=1,e.footnoteCounts.set(r,l);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+a,id:n+"fnref-"+a+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function Zde(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Jde(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function GM(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const a=e.all(t),s=a[0];s&&s.type==="text"?s.value="["+s.value:a.unshift({type:"text",value:"["});const o=a[a.length-1];return o&&o.type==="text"?o.value+=r:a.push({type:"text",value:r}),a}function efe(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return GM(e,t);const a={src:$l(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(a.title=r.title);const s={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,s),e.applyData(t,s)}function tfe(e,t){const n={src:$l(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function nfe(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function rfe(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return GM(e,t);const a={href:$l(r.url||"")};r.title!==null&&r.title!==void 0&&(a.title=r.title);const s={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function afe(e,t){const n={href:$l(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function ife(e,t,n){const r=e.all(t),a=n?sfe(n):qM(t),s={},o=[];if(typeof t.checked=="boolean"){const d=r[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let l=-1;for(;++l<r.length;){const d=r[l];(a||l!==0||d.type!=="element"||d.tagName!=="p")&&o.push({type:"text",value:`
|
|
170
|
-
`}),d.type==="element"&&d.tagName==="p"&&!a?o.push(...d.children):o.push(d)}const c=r[r.length-1];c&&(a||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`
|
|
171
|
-
`});const u={type:"element",tagName:"li",properties:s,children:o};return e.patch(t,u),e.applyData(t,u)}function sfe(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=qM(n[r])}return t}function qM(e){const t=e.spread;return t??e.children.length>1}function ofe(e,t){const n={},r=e.all(t);let a=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++a<r.length;){const o=r[a];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const s={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function lfe(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function cfe(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function ufe(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function dfe(e,t){const n=e.all(t),r=n.shift(),a=[];if(r){const o={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],o),a.push(o)}if(n.length>0){const o={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},l=y0(t.children[1]),c=NM(t.children[t.children.length-1]);l&&c&&(o.position={start:l,end:c}),a.push(o)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(a,!0)};return e.patch(t,s),e.applyData(t,s)}function ffe(e,t,n){const r=n?n.children:void 0,s=(r?r.indexOf(t):1)===0?"th":"td",o=n&&n.type==="table"?n.align:void 0,l=o?o.length:t.children.length;let c=-1;const u=[];for(;++c<l;){const f=t.children[c],h={},p=o?o[c]:void 0;p&&(h.align=p);let m={type:"element",tagName:s,properties:h,children:[]};f&&(m.children=e.all(f),e.patch(f,m),m=e.applyData(f,m)),u.push(m)}const d={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(t,d),e.applyData(t,d)}function hfe(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const BE=9,zE=32;function pfe(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),a=0;const s=[];for(;r;)s.push(FE(t.slice(a,r.index),a>0,!0),r[0]),a=r.index+r[0].length,r=n.exec(t);return s.push(FE(t.slice(a),a>0,!1)),s.join("")}function FE(e,t,n){let r=0,a=e.length;if(t){let s=e.codePointAt(r);for(;s===BE||s===zE;)r++,s=e.codePointAt(r)}if(n){let s=e.codePointAt(a-1);for(;s===BE||s===zE;)a--,s=e.codePointAt(a-1)}return a>r?e.slice(r,a):""}function mfe(e,t){const n={type:"text",value:pfe(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function gfe(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const vfe={blockquote:qde,break:Kde,code:Vde,delete:Yde,emphasis:Xde,footnoteReference:Qde,heading:Zde,html:Jde,imageReference:efe,image:tfe,inlineCode:nfe,linkReference:rfe,link:afe,listItem:ife,list:ofe,paragraph:lfe,root:cfe,strong:ufe,table:dfe,tableCell:hfe,tableRow:ffe,text:mfe,thematicBreak:gfe,toml:rf,yaml:rf,definition:rf,footnoteDefinition:rf};function rf(){}const KM=-1,jm=0,Fc=1,sp=2,N0=3,E0=4,_0=5,C0=6,VM=7,YM=8,XM=typeof self=="object"?self:globalThis,UE=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new XM[e](t)},yfe=(e,t)=>{const n=(a,s)=>(e.set(s,a),a),r=a=>{if(e.has(a))return e.get(a);const[s,o]=t[a];switch(s){case jm:case KM:return n(o,a);case Fc:{const l=n([],a);for(const c of o)l.push(r(c));return l}case sp:{const l=n({},a);for(const[c,u]of o)l[r(c)]=r(u);return l}case N0:return n(new Date(o),a);case E0:{const{source:l,flags:c}=o;return n(new RegExp(l,c),a)}case _0:{const l=n(new Map,a);for(const[c,u]of o)l.set(r(c),r(u));return l}case C0:{const l=n(new Set,a);for(const c of o)l.add(r(c));return l}case VM:{const{name:l,message:c}=o;return n(typeof XM[l]=="function"?UE(l,c):new Error(c),a)}case YM:return n(BigInt(o),a);case"BigInt":return n(Object(BigInt(o)),a);case"ArrayBuffer":return n(new Uint8Array(o).buffer,o);case"DataView":{const{buffer:l}=new Uint8Array(o);return n(new DataView(l),o)}}return n(UE(s,o),a)};return r},WE=e=>yfe(new Map,e)(0),os="",{toString:bfe}={},{keys:xfe}=Object,gc=e=>{const t=typeof e;if(t!=="object"||!e)return[jm,t];const n=bfe.call(e).slice(8,-1);switch(n){case"Array":return[Fc,os];case"Object":return[sp,os];case"Date":return[N0,os];case"RegExp":return[E0,os];case"Map":return[_0,os];case"Set":return[C0,os];case"DataView":return[Fc,n]}return n.includes("Array")?[Fc,n]:e instanceof Error?[VM,e.name||"Error"]:[sp,n]},af=([e,t])=>e===jm&&(t==="function"||t==="symbol"),wfe=(e,t,n,r)=>{const a=(o,l)=>{const c=r.push(o)-1;return n.set(l,c),c},s=o=>{if(n.has(o))return n.get(o);let[l,c]=gc(o);switch(l){case jm:{let d=o;switch(c){case"bigint":l=YM,d=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return a([KM],o)}return a([l,d],o)}case Fc:{if(c){let h=o;return c==="DataView"?h=new Uint8Array(o.buffer):c==="ArrayBuffer"&&(h=new Uint8Array(o)),a([c,[...h]],o)}const d=[],f=a([l,d],o);for(const h of o)d.push(s(h));return f}case sp:{if(c)switch(c){case"BigInt":return a([c,o.toString()],o);case"Boolean":case"Number":case"String":return a([c,o.valueOf()],o)}if(t&&"toJSON"in o)return s(o.toJSON());const d=[],f=a([l,d],o);for(const h of xfe(o))(e||!af(gc(o[h])))&&d.push([s(h),s(o[h])]);return f}case N0:return a([l,isNaN(o.getTime())?os:o.toISOString()],o);case E0:{const{source:d,flags:f}=o;return a([l,{source:d,flags:f}],o)}case _0:{const d=[],f=a([l,d],o);for(const[h,p]of o)(e||!(af(gc(h))||af(gc(p))))&&d.push([s(h),s(p)]);return f}case C0:{const d=[],f=a([l,d],o);for(const h of o)(e||!af(gc(h)))&&d.push(s(h));return f}}const{message:u}=o;return a([l,{name:c,message:u}],o)};return s},HE=(e,{json:t,lossy:n}={})=>{const r=[];return wfe(!(t||n),!!t,new Map,r)(e),r},op=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?WE(HE(e,t)):structuredClone(e):(e,t)=>WE(HE(e,t));function kfe(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function Sfe(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function jfe(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||kfe,r=e.options.footnoteBackLabel||Sfe,a=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c<e.footnoteOrder.length;){const u=e.footnoteById.get(e.footnoteOrder[c]);if(!u)continue;const d=e.all(u),f=String(u.identifier).toUpperCase(),h=$l(f.toLowerCase());let p=0;const m=[],g=e.footnoteCounts.get(f);for(;g!==void 0&&++p<=g;){m.length>0&&m.push({type:"text",value:" "});let S=typeof n=="string"?n:n(c,p);typeof S=="string"&&(S={type:"text",value:S}),m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,p),className:["data-footnote-backref"]},children:Array.isArray(S)?S:[S]})}const y=d[d.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const S=y.children[y.children.length-1];S&&S.type==="text"?S.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...m)}else d.push(...m);const v={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,v),l.push(v)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...op(o),id:"footnote-label"},children:[{type:"text",value:a}]},{type:"text",value:`
|
|
172
|
-
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:`
|
|
173
|
-
`}]}}const cd=function(e){if(e==null)return Cfe;if(typeof e=="function")return Nm(e);if(typeof e=="object")return Array.isArray(e)?Nfe(e):Efe(e);if(typeof e=="string")return _fe(e);throw new Error("Expected function, string, or object as test")};function Nfe(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=cd(e[n]);return Nm(r);function r(...a){let s=-1;for(;++s<t.length;)if(t[s].apply(this,a))return!0;return!1}}function Efe(e){const t=e;return Nm(n);function n(r){const a=r;let s;for(s in e)if(a[s]!==t[s])return!1;return!0}}function _fe(e){return Nm(t);function t(n){return n&&n.type===e}}function Nm(e){return t;function t(n,r,a){return!!(Afe(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function Cfe(){return!0}function Afe(e){return e!==null&&typeof e=="object"&&"type"in e}const QM=[],Tfe=!0,Xb=!1,Ofe="skip";function ZM(e,t,n,r){let a;typeof t=="function"&&typeof n!="function"?(r=n,n=t):a=t;const s=cd(a),o=r?-1:1;l(e,void 0,[])();function l(c,u,d){const f=c&&typeof c=="object"?c:{};if(typeof f.type=="string"){const p=typeof f.tagName=="string"?f.tagName:typeof f.name=="string"?f.name:void 0;Object.defineProperty(h,"name",{value:"node ("+(c.type+(p?"<"+p+">":""))+")"})}return h;function h(){let p=QM,m,g,y;if((!t||s(c,u,d[d.length-1]||void 0))&&(p=Pfe(n(c,d)),p[0]===Xb))return p;if("children"in c&&c.children){const v=c;if(v.children&&p[0]!==Ofe)for(g=(r?v.children.length:-1)+o,y=d.concat(v);g>-1&&g<v.children.length;){const S=v.children[g];if(m=l(S,g,y)(),m[0]===Xb)return m;g=typeof m[1]=="number"?m[1]:g+o}}return p}}}function Pfe(e){return Array.isArray(e)?e:typeof e=="number"?[Tfe,e]:e==null?QM:[e]}function Em(e,t,n,r){let a,s,o;typeof t=="function"&&typeof n!="function"?(s=void 0,o=t,a=n):(s=t,o=n,a=r),ZM(e,s,l,a);function l(c,u){const d=u[u.length-1],f=d?d.children.indexOf(c):void 0;return o(c,f,d)}}const Qb={}.hasOwnProperty,Rfe={};function Mfe(e,t){const n=t||Rfe,r=new Map,a=new Map,s=new Map,o={...vfe,...n.handlers},l={all:u,applyData:$fe,definitionById:r,footnoteById:a,footnoteCounts:s,footnoteOrder:[],handlers:o,one:c,options:n,patch:Ife,wrap:Dfe};return Em(e,function(d){if(d.type==="definition"||d.type==="footnoteDefinition"){const f=d.type==="definition"?r:a,h=String(d.identifier).toUpperCase();f.has(h)||f.set(h,d)}}),l;function c(d,f){const h=d.type,p=l.handlers[h];if(Qb.call(l.handlers,h)&&p)return p(l,d,f);if(l.options.passThrough&&l.options.passThrough.includes(h)){if("children"in d){const{children:g,...y}=d,v=op(y);return v.children=l.all(d),v}return op(d)}return(l.options.unknownHandler||Lfe)(l,d,f)}function u(d){const f=[];if("children"in d){const h=d.children;let p=-1;for(;++p<h.length;){const m=l.one(h[p],d);if(m){if(p&&h[p-1].type==="break"&&(!Array.isArray(m)&&m.type==="text"&&(m.value=GE(m.value)),!Array.isArray(m)&&m.type==="element")){const g=m.children[0];g&&g.type==="text"&&(g.value=GE(g.value))}Array.isArray(m)?f.push(...m):f.push(m)}}}return f}}function Ife(e,t){e.position&&(t.position=Sce(e))}function $fe(e,t){let n=t;if(e&&e.data){const r=e.data.hName,a=e.data.hChildren,s=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const o="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:o}}n.type==="element"&&s&&Object.assign(n.properties,op(s)),"children"in n&&n.children&&a!==null&&a!==void 0&&(n.children=a)}return n}function Lfe(e,t){const n=t.data||{},r="value"in t&&!(Qb.call(n,"hProperties")||Qb.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Dfe(e,t){const n=[];let r=-1;for(t&&n.push({type:"text",value:`
|
|
174
|
-
`});++r<e.length;)r&&n.push({type:"text",value:`
|
|
175
|
-
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
176
|
-
`}),n}function GE(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function qE(e,t){const n=Mfe(e,t),r=n.one(e,void 0),a=jfe(n),s=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return a&&s.children.push({type:"text",value:`
|
|
177
|
-
`},a),s}function Bfe(e,t){return e&&"run"in e?async function(n,r){const a=qE(n,{file:r,...t});await e.run(a,r)}:function(n,r){return qE(n,{file:r,...e||t})}}function KE(e){if(e)throw e}var Af=Object.prototype.hasOwnProperty,JM=Object.prototype.toString,VE=Object.defineProperty,YE=Object.getOwnPropertyDescriptor,XE=function(t){return typeof Array.isArray=="function"?Array.isArray(t):JM.call(t)==="[object Array]"},QE=function(t){if(!t||JM.call(t)!=="[object Object]")return!1;var n=Af.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&Af.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var a;for(a in t);return typeof a>"u"||Af.call(t,a)},ZE=function(t,n){VE&&n.name==="__proto__"?VE(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},JE=function(t,n){if(n==="__proto__")if(Af.call(t,n)){if(YE)return YE(t,n).value}else return;return t[n]},zfe=function e(){var t,n,r,a,s,o,l=arguments[0],c=1,u=arguments.length,d=!1;for(typeof l=="boolean"&&(d=l,l=arguments[1]||{},c=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});c<u;++c)if(t=arguments[c],t!=null)for(n in t)r=JE(l,n),a=JE(t,n),l!==a&&(d&&a&&(QE(a)||(s=XE(a)))?(s?(s=!1,o=r&&XE(r)?r:[]):o=r&&QE(r)?r:{},ZE(l,{name:n,newValue:e(d,o,a)})):typeof a<"u"&&ZE(l,{name:n,newValue:a}));return l};const Qg=Ze(zfe);function Zb(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Ffe(){const e=[],t={run:n,use:r};return t;function n(...a){let s=-1;const o=a.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);l(null,...a);function l(c,...u){const d=e[++s];let f=-1;if(c){o(c);return}for(;++f<a.length;)(u[f]===null||u[f]===void 0)&&(u[f]=a[f]);a=u,d?Ufe(d,l)(...u):o(null,...u)}}function r(a){if(typeof a!="function")throw new TypeError("Expected `middelware` to be a function, not "+a);return e.push(a),t}}function Ufe(e,t){let n;return r;function r(...o){const l=e.length>o.length;let c;l&&o.push(a);try{c=e.apply(this,o)}catch(u){const d=u;if(l&&n)throw d;return a(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(s,a):c instanceof Error?a(c):s(c))}function a(o,...l){n||(n=!0,t(o,...l))}function s(o){a(null,o)}}const Jr={basename:Wfe,dirname:Hfe,extname:Gfe,join:qfe,sep:"/"};function Wfe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');ud(e);let n=0,r=-1,a=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;a--;)if(e.codePointAt(a)===47){if(s){n=a+1;break}}else r<0&&(s=!0,r=a+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let o=-1,l=t.length-1;for(;a--;)if(e.codePointAt(a)===47){if(s){n=a+1;break}}else o<0&&(s=!0,o=a+1),l>-1&&(e.codePointAt(a)===t.codePointAt(l--)?l<0&&(r=a):(l=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function Hfe(e){if(ud(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function Gfe(e){ud(e);let t=e.length,n=-1,r=0,a=-1,s=0,o;for(;t--;){const l=e.codePointAt(t);if(l===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),l===46?a<0?a=t:s!==1&&(s=1):a>-1&&(s=-1)}return a<0||n<0||s===0||s===1&&a===n-1&&a===r+1?"":e.slice(a,n)}function qfe(...e){let t=-1,n;for(;++t<e.length;)ud(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":Kfe(n)}function Kfe(e){ud(e);const t=e.codePointAt(0)===47;let n=Vfe(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Vfe(e,t){let n="",r=0,a=-1,s=0,o=-1,l,c;for(;++o<=e.length;){if(o<e.length)l=e.codePointAt(o);else{if(l===47)break;l=47}if(l===47){if(!(a===o-1||s===1))if(a!==o-1&&s===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf("/")),a=o,s=0;continue}}else if(n.length>0){n="",r=0,a=o,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),r=o-a-1;a=o,s=0}else l===46&&s>-1?s++:s=-1}return n}function ud(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Yfe={cwd:Xfe};function Xfe(){return"/"}function Jb(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Qfe(e){if(typeof e=="string")e=new URL(e);else if(!Jb(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return Zfe(e)}function Zfe(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const r=t.codePointAt(n+2);if(r===70||r===102){const a=new TypeError("File URL path must not include encoded / characters");throw a.code="ERR_INVALID_FILE_URL_PATH",a}}return decodeURIComponent(t)}const Zg=["history","path","basename","stem","extname","dirname"];class eI{constructor(t){let n;t?Jb(t)?n={path:t}:typeof t=="string"||Jfe(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":Yfe.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Zg.length;){const s=Zg[r];s in n&&n[s]!==void 0&&n[s]!==null&&(this[s]=s==="history"?[...n[s]]:n[s])}let a;for(a in n)Zg.includes(a)||(this[a]=n[a])}get basename(){return typeof this.path=="string"?Jr.basename(this.path):void 0}set basename(t){ev(t,"basename"),Jg(t,"basename"),this.path=Jr.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Jr.dirname(this.path):void 0}set dirname(t){e_(this.basename,"dirname"),this.path=Jr.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Jr.extname(this.path):void 0}set extname(t){if(Jg(t,"extname"),e_(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Jr.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){Jb(t)&&(t=Qfe(t)),ev(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Jr.basename(this.path,this.extname):void 0}set stem(t){ev(t,"stem"),Jg(t,"stem"),this.path=Jr.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){const a=this.message(t,n,r);throw a.fatal=!0,a}info(t,n,r){const a=this.message(t,n,r);return a.fatal=void 0,a}message(t,n,r){const a=new Sn(t,n,r);return this.path&&(a.name=this.path+":"+a.name,a.file=this.path),a.fatal=!1,this.messages.push(a),a}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Jg(e,t){if(e&&e.includes(Jr.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Jr.sep+"`")}function ev(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function e_(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function Jfe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const ehe=function(e){const r=this.constructor.prototype,a=r[e],s=function(){return a.apply(s,arguments)};return Object.setPrototypeOf(s,r),s},the={}.hasOwnProperty;class A0 extends ehe{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Ffe()}copy(){const t=new A0;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];t.use(...r)}return t.data(Qg(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(rv("data",this.frozen),this.namespace[t]=n,this):the.call(this.namespace,t)&&this.namespace[t]||void 0:t?(rv("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const a=n.call(t,...r);typeof a=="function"&&this.transformers.use(a)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=sf(t),r=this.parser||this.Parser;return tv("parse",r),r(String(n),n)}process(t,n){const r=this;return this.freeze(),tv("process",this.parser||this.Parser),nv("process",this.compiler||this.Compiler),n?a(void 0,n):new Promise(a);function a(s,o){const l=sf(t),c=r.parse(l);r.run(c,l,function(d,f,h){if(d||!f||!h)return u(d);const p=f,m=r.stringify(p,h);ahe(m)?h.value=m:h.result=m,u(d,h)});function u(d,f){d||!f?o(d):s?s(f):n(void 0,f)}}}processSync(t){let n=!1,r;return this.freeze(),tv("processSync",this.parser||this.Parser),nv("processSync",this.compiler||this.Compiler),this.process(t,a),n_("processSync","process",n),r;function a(s,o){n=!0,KE(s),r=o}}run(t,n,r){t_(t),this.freeze();const a=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?s(void 0,r):new Promise(s);function s(o,l){const c=sf(n);a.run(t,c,u);function u(d,f,h){const p=f||t;d?l(d):o?o(p):r(void 0,p,h)}}}runSync(t,n){let r=!1,a;return this.run(t,n,s),n_("runSync","run",r),a;function s(o,l){KE(o),a=l,r=!0}}stringify(t,n){this.freeze();const r=sf(n),a=this.compiler||this.Compiler;return nv("stringify",a),t_(t),a(t,r)}use(t,...n){const r=this.attachers,a=this.namespace;if(rv("use",this.frozen),t!=null)if(typeof t=="function")c(t,n);else if(typeof t=="object")Array.isArray(t)?l(t):o(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function s(u){if(typeof u=="function")c(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[d,...f]=u;c(d,f)}else o(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function o(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");l(u.plugins),u.settings&&(a.settings=Qg(!0,a.settings,u.settings))}function l(u){let d=-1;if(u!=null)if(Array.isArray(u))for(;++d<u.length;){const f=u[d];s(f)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function c(u,d){let f=-1,h=-1;for(;++f<r.length;)if(r[f][0]===u){h=f;break}if(h===-1)r.push([u,...d]);else if(d.length>0){let[p,...m]=d;const g=r[h][1];Zb(g)&&Zb(p)&&(p=Qg(!0,g,p)),r[h]=[u,p,...m]}}}}const nhe=new A0().freeze();function tv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function nv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function rv(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function t_(e){if(!Zb(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function n_(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function sf(e){return rhe(e)?e:new eI(e)}function rhe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function ahe(e){return typeof e=="string"||ihe(e)}function ihe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const she="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",r_=[],a_={allowDangerousHtml:!0},ohe=/^(https?|ircs?|mailto|xmpp)$/i,lhe=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function che(e){const t=uhe(e),n=dhe(e);return fhe(t.runSync(t.parse(n),n),e)}function uhe(e){const t=e.rehypePlugins||r_,n=e.remarkPlugins||r_,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...a_}:a_;return nhe().use(Gde).use(n).use(Bfe,r).use(t)}function dhe(e){const t=e.children||"",n=new eI;return typeof t=="string"&&(n.value=t),n}function fhe(e,t){const n=t.allowedElements,r=t.allowElement,a=t.components,s=t.disallowedElements,o=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||hhe;for(const d of lhe)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+she+d.id,void 0);return Em(e,u),Cce(e,{Fragment:i.Fragment,components:a,ignoreInvalidStyle:!0,jsx:i.jsx,jsxs:i.jsxs,passKeys:!0,passNode:!0});function u(d,f,h){if(d.type==="raw"&&h&&typeof f=="number")return o?h.children.splice(f,1):h.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let p;for(p in Vg)if(Object.hasOwn(Vg,p)&&Object.hasOwn(d.properties,p)){const m=d.properties[p],g=Vg[p];(g===null||g.includes(d.tagName))&&(d.properties[p]=c(String(m||""),p,d))}}if(d.type==="element"){let p=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!p&&r&&typeof f=="number"&&(p=!r(d,f,h)),p&&h&&typeof f=="number")return l&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function hhe(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),a=e.indexOf("/");return t===-1||a!==-1&&t>a||n!==-1&&t>n||r!==-1&&t>r||ohe.test(e.slice(0,t))?e:""}function i_(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,a=n.indexOf(t);for(;a!==-1;)r++,a=n.indexOf(t,a+t.length);return r}function phe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function mhe(e,t,n){const a=cd((n||{}).ignore||[]),s=ghe(t);let o=-1;for(;++o<s.length;)ZM(e,"text",l);function l(u,d){let f=-1,h;for(;++f<d.length;){const p=d[f],m=h?h.children:void 0;if(a(p,m?m.indexOf(p):void 0,h))return;h=p}if(h)return c(u,d)}function c(u,d){const f=d[d.length-1],h=s[o][0],p=s[o][1];let m=0;const y=f.children.indexOf(u);let v=!1,S=[];h.lastIndex=0;let w=h.exec(u.value);for(;w;){const N=w.index,k={index:w.index,input:w.input,stack:[...d,u]};let x=p(...w,k);if(typeof x=="string"&&(x=x.length>0?{type:"text",value:x}:void 0),x===!1?h.lastIndex=N+1:(m!==N&&S.push({type:"text",value:u.value.slice(m,N)}),Array.isArray(x)?S.push(...x):x&&S.push(x),m=N+w[0].length,v=!0),!h.global)break;w=h.exec(u.value)}return v?(m<u.value.length&&S.push({type:"text",value:u.value.slice(m)}),f.children.splice(y,1,...S)):S=[u],y+S.length}}function ghe(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let r=-1;for(;++r<n.length;){const a=n[r];t.push([vhe(a[0]),yhe(a[1])])}return t}function vhe(e){return typeof e=="string"?new RegExp(phe(e),"g"):e}function yhe(e){return typeof e=="function"?e:function(){return e}}const av="phrasing",iv=["autolink","link","image","label"];function bhe(){return{transforms:[Ehe],enter:{literalAutolink:whe,literalAutolinkEmail:sv,literalAutolinkHttp:sv,literalAutolinkWww:sv},exit:{literalAutolink:Nhe,literalAutolinkEmail:jhe,literalAutolinkHttp:khe,literalAutolinkWww:She}}}function xhe(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:av,notInConstruct:iv},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:av,notInConstruct:iv},{character:":",before:"[ps]",after:"\\/",inConstruct:av,notInConstruct:iv}]}}function whe(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function sv(e){this.config.enter.autolinkProtocol.call(this,e)}function khe(e){this.config.exit.autolinkProtocol.call(this,e)}function She(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function jhe(e){this.config.exit.autolinkEmail.call(this,e)}function Nhe(e){this.exit(e)}function Ehe(e){mhe(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,_he],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),Che]],{ignore:["link","linkReference"]})}function _he(e,t,n,r,a){let s="";if(!tI(a)||(/^w/i.test(t)&&(n=t+n,t="",s="http://"),!Ahe(n)))return!1;const o=The(n+r);if(!o[0])return!1;const l={type:"link",title:null,url:s+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[l,{type:"text",value:o[1]}]:l}function Che(e,t,n,r){return!tI(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Ahe(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function The(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const a=i_(e,"(");let s=i_(e,")");for(;r!==-1&&a>s;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),s++;return[e,n]}function tI(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Ls(n)||km(n))&&(!t||n!==47)}nI.peek=Bhe;function Ohe(){this.buffer()}function Phe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Rhe(){this.buffer()}function Mhe(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Ihe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Wr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function $he(e){this.exit(e)}function Lhe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Wr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Dhe(e){this.exit(e)}function Bhe(){return"["}function nI(e,t,n,r){const a=n.createTracker(r);let s=a.move("[^");const o=n.enter("footnoteReference"),l=n.enter("reference");return s+=a.move(n.safe(n.associationId(e),{after:"]",before:s})),l(),o(),s+=a.move("]"),s}function zhe(){return{enter:{gfmFootnoteCallString:Ohe,gfmFootnoteCall:Phe,gfmFootnoteDefinitionLabelString:Rhe,gfmFootnoteDefinition:Mhe},exit:{gfmFootnoteCallString:Ihe,gfmFootnoteCall:$he,gfmFootnoteDefinitionLabelString:Lhe,gfmFootnoteDefinition:Dhe}}}function Fhe(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:nI},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,a,s,o){const l=s.createTracker(o);let c=l.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return c+=l.move(s.safe(s.associationId(r),{before:c,after:"]"})),d(),c+=l.move("]:"),r.children&&r.children.length>0&&(l.shift(4),c+=l.move((t?`
|
|
178
|
-
`:" ")+s.indentLines(s.containerFlow(r,l.current()),t?rI:Uhe))),u(),c}}function Uhe(e,t,n){return t===0?e:rI(e,t,n)}function rI(e,t,n){return(n?"":" ")+e}const Whe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];aI.peek=Vhe;function Hhe(){return{canContainEols:["delete"],enter:{strikethrough:qhe},exit:{strikethrough:Khe}}}function Ghe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Whe}],handlers:{delete:aI}}}function qhe(e){this.enter({type:"delete",children:[]},e)}function Khe(e){this.exit(e)}function aI(e,t,n,r){const a=n.createTracker(r),s=n.enter("strikethrough");let o=a.move("~~");return o+=n.containerPhrasing(e,{...a.current(),before:o,after:"~"}),o+=a.move("~~"),s(),o}function Vhe(){return"~"}function Yhe(e){return e.length}function Xhe(e,t){const n=t||{},r=(n.align||[]).concat(),a=n.stringLength||Yhe,s=[],o=[],l=[],c=[];let u=0,d=-1;for(;++d<e.length;){const g=[],y=[];let v=-1;for(e[d].length>u&&(u=e[d].length);++v<e[d].length;){const S=Qhe(e[d][v]);if(n.alignDelimiters!==!1){const w=a(S);y[v]=w,(c[v]===void 0||w>c[v])&&(c[v]=w)}g.push(S)}o[d]=g,l[d]=y}let f=-1;if(typeof r=="object"&&"length"in r)for(;++f<u;)s[f]=s_(r[f]);else{const g=s_(r);for(;++f<u;)s[f]=g}f=-1;const h=[],p=[];for(;++f<u;){const g=s[f];let y="",v="";g===99?(y=":",v=":"):g===108?y=":":g===114&&(v=":");let S=n.alignDelimiters===!1?1:Math.max(1,c[f]-y.length-v.length);const w=y+"-".repeat(S)+v;n.alignDelimiters!==!1&&(S=y.length+S+v.length,S>c[f]&&(c[f]=S),p[f]=S),h[f]=w}o.splice(1,0,h),l.splice(1,0,p),d=-1;const m=[];for(;++d<o.length;){const g=o[d],y=l[d];f=-1;const v=[];for(;++f<u;){const S=g[f]||"";let w="",N="";if(n.alignDelimiters!==!1){const k=c[f]-(y[f]||0),x=s[f];x===114?w=" ".repeat(k):x===99?k%2?(w=" ".repeat(k/2+.5),N=" ".repeat(k/2-.5)):(w=" ".repeat(k/2),N=w):N=" ".repeat(k)}n.delimiterStart!==!1&&!f&&v.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&S==="")&&(n.delimiterStart!==!1||f)&&v.push(" "),n.alignDelimiters!==!1&&v.push(w),v.push(S),n.alignDelimiters!==!1&&v.push(N),n.padding!==!1&&v.push(" "),(n.delimiterEnd!==!1||f!==u-1)&&v.push("|")}m.push(n.delimiterEnd===!1?v.join("").replace(/ +$/,""):v.join(""))}return m.join(`
|
|
179
|
-
`)}function Qhe(e){return e==null?"":String(e)}function s_(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function Zhe(e,t,n,r){const a=n.enter("blockquote"),s=n.createTracker(r);s.move("> "),s.shift(2);const o=n.indentLines(n.containerFlow(e,s.current()),Jhe);return a(),o}function Jhe(e,t,n){return">"+(n?"":" ")+e}function epe(e,t){return o_(e,t.inConstruct,!0)&&!o_(e,t.notInConstruct,!1)}function o_(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function l_(e,t,n,r){let a=-1;for(;++a<n.unsafe.length;)if(n.unsafe[a].character===`
|
|
180
|
-
`&&epe(n.stack,n.unsafe[a]))return/[ \t]/.test(r.before)?"":" ";return`\\
|
|
181
|
-
`}function tpe(e,t){const n=String(e);let r=n.indexOf(t),a=r,s=0,o=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===a?++s>o&&(o=s):s=1,a=r+t.length,r=n.indexOf(t,a);return o}function npe(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function rpe(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function ape(e,t,n,r){const a=rpe(n),s=e.value||"",o=a==="`"?"GraveAccent":"Tilde";if(npe(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,ipe);return f(),h}const l=n.createTracker(r),c=a.repeat(Math.max(tpe(s,a)+1,3)),u=n.enter("codeFenced");let d=l.move(c);if(e.lang){const f=n.enter(`codeFencedLang${o}`);d+=l.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${o}`);d+=l.move(" "),d+=l.move(n.safe(e.meta,{before:d,after:`
|
|
182
|
-
`,encode:["`"],...l.current()})),f()}return d+=l.move(`
|
|
183
|
-
`),s&&(d+=l.move(s+`
|
|
184
|
-
`)),d+=l.move(c),u(),d}function ipe(e,t,n){return(n?"":" ")+e}function T0(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function spe(e,t,n,r){const a=T0(n),s=a==='"'?"Quote":"Apostrophe",o=n.enter("definition");let l=n.enter("label");const c=n.createTracker(r);let u=c.move("[");return u+=c.move(n.safe(n.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":`
|
|
185
|
-
`,...c.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=c.move(" "+a),u+=c.move(n.safe(e.title,{before:u,after:a,...c.current()})),u+=c.move(a),l()),o(),u}function ope(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Gu(e){return"&#x"+e.toString(16).toUpperCase()+";"}function lp(e,t,n){const r=gl(e),a=gl(t);return r===void 0?a===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}iI.peek=lpe;function iI(e,t,n,r){const a=ope(n),s=n.enter("emphasis"),o=n.createTracker(r),l=o.move(a);let c=o.move(n.containerPhrasing(e,{after:a,before:l,...o.current()}));const u=c.charCodeAt(0),d=lp(r.before.charCodeAt(r.before.length-1),u,a);d.inside&&(c=Gu(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=lp(r.after.charCodeAt(0),f,a);h.inside&&(c=c.slice(0,-1)+Gu(f));const p=o.move(a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+p}function lpe(e,t,n){return n.options.emphasis||"*"}function cpe(e,t){let n=!1;return Em(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Xb}),!!((!e.depth||e.depth<3)&&k0(e)&&(t.options.setext||n))}function upe(e,t,n,r){const a=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(r);if(cpe(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...s.current(),before:`
|
|
186
|
-
`,after:`
|
|
187
|
-
`});return f(),d(),h+`
|
|
188
|
-
`+(a===1?"=":"-").repeat(h.length-(Math.max(h.lastIndexOf("\r"),h.lastIndexOf(`
|
|
189
|
-
`))+1))}const o="#".repeat(a),l=n.enter("headingAtx"),c=n.enter("phrasing");s.move(o+" ");let u=n.containerPhrasing(e,{before:"# ",after:`
|
|
190
|
-
`,...s.current()});return/^[\t ]/.test(u)&&(u=Gu(u.charCodeAt(0))+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),c(),l(),u}sI.peek=dpe;function sI(e){return e.value||""}function dpe(){return"<"}oI.peek=fpe;function oI(e,t,n,r){const a=T0(n),s=a==='"'?"Quote":"Apostrophe",o=n.enter("image");let l=n.enter("label");const c=n.createTracker(r);let u=c.move("![");return u+=c.move(n.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=c.move(" "+a),u+=c.move(n.safe(e.title,{before:u,after:a,...c.current()})),u+=c.move(a),l()),u+=c.move(")"),o(),u}function fpe(){return"!"}lI.peek=hpe;function lI(e,t,n,r){const a=e.referenceType,s=n.enter("imageReference");let o=n.enter("label");const l=n.createTracker(r);let c=l.move("![");const u=n.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return o(),n.stack=d,s(),a==="full"||!u||u!==f?c+=l.move(f+"]"):a==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function hpe(){return"!"}cI.peek=ppe;function cI(e,t,n){let r=e.value||"",a="`",s=-1;for(;new RegExp("(^|[^`])"+a+"([^`]|$)").test(r);)a+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s<n.unsafe.length;){const o=n.unsafe[s],l=n.compilePattern(o);let c;if(o.atBreak)for(;c=l.exec(r);){let u=c.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(c.index+1)}}return a+r+a}function ppe(){return"`"}function uI(e,t){const n=k0(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}dI.peek=mpe;function dI(e,t,n,r){const a=T0(n),s=a==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let l,c;if(uI(e,n)){const d=n.stack;n.stack=[],l=n.enter("autolink");let f=o.move("<");return f+=o.move(n.containerPhrasing(e,{before:f,after:">",...o.current()})),f+=o.move(">"),l(),n.stack=d,f}l=n.enter("link"),c=n.enter("label");let u=o.move("[");return u+=o.move(n.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(n.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(c=n.enter("destinationRaw"),u+=o.move(n.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),c(),e.title&&(c=n.enter(`title${s}`),u+=o.move(" "+a),u+=o.move(n.safe(e.title,{before:u,after:a,...o.current()})),u+=o.move(a),c()),u+=o.move(")"),l(),u}function mpe(e,t,n){return uI(e,n)?"<":"["}fI.peek=gpe;function fI(e,t,n,r){const a=e.referenceType,s=n.enter("linkReference");let o=n.enter("label");const l=n.createTracker(r);let c=l.move("[");const u=n.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return o(),n.stack=d,s(),a==="full"||!u||u!==f?c+=l.move(f+"]"):a==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function gpe(){return"["}function O0(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function vpe(e){const t=O0(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function ype(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function hI(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function bpe(e,t,n,r){const a=n.enter("list"),s=n.bulletCurrent;let o=e.ordered?ype(n):O0(n);const l=e.ordered?o==="."?")":".":vpe(n);let c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),hI(n)===o&&d){let f=-1;for(;++f<e.children.length;){const h=e.children[f];if(h&&h.type==="listItem"&&h.children&&h.children[0]&&h.children[0].type==="thematicBreak"){c=!0;break}}}}c&&(o=l),n.bulletCurrent=o;const u=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=s,a(),u}function xpe(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function wpe(e,t,n,r){const a=xpe(n);let s=n.bulletCurrent||O0(n);t&&t.type==="list"&&t.ordered&&(s=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let o=s.length+1;(a==="tab"||a==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);const l=n.createTracker(r);l.move(s+" ".repeat(o-s.length)),l.shift(o);const c=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,l.current()),d);return c(),u;function d(f,h,p){return h?(p?"":" ".repeat(o))+f:(p?s:s+" ".repeat(o-s.length))+f}}function kpe(e,t,n,r){const a=n.enter("paragraph"),s=n.enter("phrasing"),o=n.containerPhrasing(e,r);return s(),a(),o}const Spe=cd(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function jpe(e,t,n,r){return(e.children.some(function(o){return Spe(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Npe(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}pI.peek=Epe;function pI(e,t,n,r){const a=Npe(n),s=n.enter("strong"),o=n.createTracker(r),l=o.move(a+a);let c=o.move(n.containerPhrasing(e,{after:a,before:l,...o.current()}));const u=c.charCodeAt(0),d=lp(r.before.charCodeAt(r.before.length-1),u,a);d.inside&&(c=Gu(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=lp(r.after.charCodeAt(0),f,a);h.inside&&(c=c.slice(0,-1)+Gu(f));const p=o.move(a+a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+p}function Epe(e,t,n){return n.options.strong||"*"}function _pe(e,t,n,r){return n.safe(e.value,r)}function Cpe(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Ape(e,t,n){const r=(hI(n)+(n.options.ruleSpaces?" ":"")).repeat(Cpe(n));return n.options.ruleSpaces?r.slice(0,-1):r}const mI={blockquote:Zhe,break:l_,code:ape,definition:spe,emphasis:iI,hardBreak:l_,heading:upe,html:sI,image:oI,imageReference:lI,inlineCode:cI,link:dI,linkReference:fI,list:bpe,listItem:wpe,paragraph:kpe,root:jpe,strong:pI,text:_pe,thematicBreak:Ape};function Tpe(){return{enter:{table:Ope,tableData:c_,tableHeader:c_,tableRow:Rpe},exit:{codeText:Mpe,table:Ppe,tableData:ov,tableHeader:ov,tableRow:ov}}}function Ope(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Ppe(e){this.exit(e),this.data.inTable=void 0}function Rpe(e){this.enter({type:"tableRow",children:[]},e)}function ov(e){this.exit(e)}function c_(e){this.enter({type:"tableCell",children:[]},e)}function Mpe(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ipe));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ipe(e,t){return t==="|"?t:e}function $pe(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,a=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
191
|
-
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:o,tableCell:c,tableRow:l}};function o(p,m,g,y){return u(d(p,g,y),p.align)}function l(p,m,g,y){const v=f(p,g,y),S=u([v]);return S.slice(0,S.indexOf(`
|
|
192
|
-
`))}function c(p,m,g,y){const v=g.enter("tableCell"),S=g.enter("phrasing"),w=g.containerPhrasing(p,{...y,before:s,after:s});return S(),v(),w}function u(p,m){return Xhe(p,{align:m,alignDelimiters:r,padding:n,stringLength:a})}function d(p,m,g){const y=p.children;let v=-1;const S=[],w=m.enter("table");for(;++v<y.length;)S[v]=f(y[v],m,g);return w(),S}function f(p,m,g){const y=p.children;let v=-1;const S=[],w=m.enter("tableRow");for(;++v<y.length;)S[v]=c(y[v],p,m,g);return w(),S}function h(p,m,g){let y=mI.inlineCode(p,m,g);return g.stack.includes("tableCell")&&(y=y.replace(/\|/g,"\\$&")),y}}function Lpe(){return{exit:{taskListCheckValueChecked:u_,taskListCheckValueUnchecked:u_,paragraph:Bpe}}}function Dpe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:zpe}}}function u_(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Bpe(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const a=t.children;let s=-1,o;for(;++s<a.length;){const l=a[s];if(l.type==="paragraph"){o=l;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function zpe(e,t,n,r){const a=e.children[0],s=typeof e.checked=="boolean"&&a&&a.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",l=n.createTracker(r);s&&l.move(o);let c=mI.listItem(e,t,n,{...r,...l.current()});return s&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),c;function u(d){return d+o}}function Fpe(){return[bhe(),zhe(),Hhe(),Tpe(),Lpe()]}function Upe(e){return{extensions:[xhe(),Fhe(e),Ghe(),$pe(e),Dpe()]}}const Wpe={tokenize:Ype,partial:!0},gI={tokenize:Xpe,partial:!0},vI={tokenize:Qpe,partial:!0},yI={tokenize:Zpe,partial:!0},Hpe={tokenize:Jpe,partial:!0},bI={name:"wwwAutolink",tokenize:Kpe,previous:wI},xI={name:"protocolAutolink",tokenize:Vpe,previous:kI},Ga={name:"emailAutolink",tokenize:qpe,previous:SI},da={};function Gpe(){return{text:da}}let es=48;for(;es<123;)da[es]=Ga,es++,es===58?es=65:es===91&&(es=97);da[43]=Ga;da[45]=Ga;da[46]=Ga;da[95]=Ga;da[72]=[Ga,xI];da[104]=[Ga,xI];da[87]=[Ga,bI];da[119]=[Ga,bI];function qpe(e,t,n){const r=this;let a,s;return o;function o(f){return!ex(f)||!SI.call(r,r.previous)||P0(r.events)?n(f):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),l(f))}function l(f){return ex(f)?(e.consume(f),l):f===64?(e.consume(f),c):n(f)}function c(f){return f===46?e.check(Hpe,d,u)(f):f===45||f===95||wn(f)?(s=!0,e.consume(f),c):d(f)}function u(f){return e.consume(f),a=!0,c}function d(f){return s&&a&&_n(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(f)):n(f)}}function Kpe(e,t,n){const r=this;return a;function a(o){return o!==87&&o!==119||!wI.call(r,r.previous)||P0(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Wpe,e.attempt(gI,e.attempt(vI,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function Vpe(e,t,n){const r=this;let a="",s=!1;return o;function o(f){return(f===72||f===104)&&kI.call(r,r.previous)&&!P0(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),a+=String.fromCodePoint(f),e.consume(f),l):n(f)}function l(f){if(_n(f)&&a.length<5)return a+=String.fromCodePoint(f),e.consume(f),l;if(f===58){const h=a.toLowerCase();if(h==="http"||h==="https")return e.consume(f),c}return n(f)}function c(f){return f===47?(e.consume(f),s?u:(s=!0,c)):n(f)}function u(f){return f===null||ip(f)||dt(f)||Ls(f)||km(f)?n(f):e.attempt(gI,e.attempt(vI,d),n)(f)}function d(f){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(f)}}function Ype(e,t,n){let r=0;return a;function a(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),a):o===46&&r===3?(e.consume(o),s):n(o)}function s(o){return o===null?n(o):t(o)}}function Xpe(e,t,n){let r,a,s;return o;function o(u){return u===46||u===95?e.check(yI,c,l)(u):u===null||dt(u)||Ls(u)||u!==45&&km(u)?c(u):(s=!0,e.consume(u),o)}function l(u){return u===95?r=!0:(a=r,r=void 0),e.consume(u),o}function c(u){return a||r||!s?n(u):t(u)}}function Qpe(e,t){let n=0,r=0;return a;function a(o){return o===40?(n++,e.consume(o),a):o===41&&r<n?s(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(yI,t,s)(o):o===null||dt(o)||Ls(o)?t(o):(e.consume(o),a)}function s(o){return o===41&&r++,e.consume(o),a}}function Zpe(e,t,n){return r;function r(l){return l===33||l===34||l===39||l===41||l===42||l===44||l===46||l===58||l===59||l===63||l===95||l===126?(e.consume(l),r):l===38?(e.consume(l),s):l===93?(e.consume(l),a):l===60||l===null||dt(l)||Ls(l)?t(l):n(l)}function a(l){return l===null||l===40||l===91||dt(l)||Ls(l)?t(l):r(l)}function s(l){return _n(l)?o(l):n(l)}function o(l){return l===59?(e.consume(l),r):_n(l)?(e.consume(l),o):n(l)}}function Jpe(e,t,n){return r;function r(s){return e.consume(s),a}function a(s){return wn(s)?n(s):t(s)}}function wI(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||dt(e)}function kI(e){return!_n(e)}function SI(e){return!(e===47||ex(e))}function ex(e){return e===43||e===45||e===46||e===95||wn(e)}function P0(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const eme={tokenize:lme,partial:!0};function tme(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:ime,continuation:{tokenize:sme},exit:ome}},text:{91:{name:"gfmFootnoteCall",tokenize:ame},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:nme,resolveTo:rme}}}}function nme(e,t,n){const r=this;let a=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;a--;){const c=r.events[a][1];if(c.type==="labelImage"){o=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!o||!o._balanced)return n(c);const u=Wr(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function rme(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},l=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...l),e}function ame(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,o;return l;function l(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),c}function c(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!o||f===null||f===91||dt(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return a.includes(Wr(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return dt(f)||(o=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function ime(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,o=0,l;return c;function c(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(m)}function d(m){if(o>999||m===93&&!l||m===null||m===91||dt(m))return n(m);if(m===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=Wr(r.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return dt(m)||(l=!0),o++,e.consume(m),m===92?f:d}function f(m){return m===91||m===92||m===93?(e.consume(m),o++,d):d(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),a.includes(s)||a.push(s),ze(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function sme(e,t,n){return e.check(ld,t,e.attempt(eme,t,n))}function ome(e){e.exit("gfmFootnoteDefinition")}function lme(e,t,n){const r=this;return ze(e,a,"gfmFootnoteDefinitionIndent",5);function a(s){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(s):n(s)}}function cme(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:a};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function a(o,l){let c=-1;for(;++c<o.length;)if(o[c][0]==="enter"&&o[c][1].type==="strikethroughSequenceTemporary"&&o[c][1]._close){let u=c;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[c][1].end.offset-o[c][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[c][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[c][1].end)},f={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[c][1].start)},h=[["enter",d,l],["enter",o[u][1],l],["exit",o[u][1],l],["enter",f,l]],p=l.parser.constructs.insideSpan.null;p&&er(h,h.length,0,Sm(p,o.slice(u+1,c),l)),er(h,h.length,0,[["exit",f,l],["enter",o[c][1],l],["exit",o[c][1],l],["exit",d,l]]),er(o,u-1,c-u+3,h),c=u+h.length-2;break}}for(c=-1;++c<o.length;)o[c][1].type==="strikethroughSequenceTemporary"&&(o[c][1].type="data");return o}function s(o,l,c){const u=this.previous,d=this.events;let f=0;return h;function h(m){return u===126&&d[d.length-1][1].type!=="characterEscape"?c(m):(o.enter("strikethroughSequenceTemporary"),p(m))}function p(m){const g=gl(u);if(m===126)return f>1?c(m):(o.consume(m),f++,p);if(f<2&&!n)return c(m);const y=o.exit("strikethroughSequenceTemporary"),v=gl(m);return y._open=!v||v===2&&!!g,y._close=!g||g===2&&!!v,l(m)}}}class ume{constructor(){this.map=[]}add(t,n,r){dme(this,t,n,r)}consume(t){if(this.map.sort(function(s,o){return s[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let a=r.pop();for(;a;){for(const s of a)t.push(s);a=r.pop()}this.map.length=0}}function dme(e,t,n,r){let a=0;if(!(n===0&&r.length===0)){for(;a<e.map.length;){if(e.map[a][0]===t){e.map[a][1]+=n,e.map[a][2].push(...r);return}a+=1}e.map.push([t,n,r])}}function fme(e,t){let n=!1;const r=[];for(;t<e.length;){const a=e[t];if(n){if(a[0]==="enter")a[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(a[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(a[1].type==="tableDelimiterRow")break}else a[0]==="enter"&&a[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function hme(){return{flow:{null:{name:"table",tokenize:pme,resolveAll:mme}}}}function pme(e,t,n){const r=this;let a=0,s=0,o;return l;function l(C){let P=r.events.length-1;for(;P>-1;){const I=r.events[P][1].type;if(I==="lineEnding"||I==="linePrefix")P--;else break}const A=P>-1?r.events[P][1].type:null,B=A==="tableHead"||A==="tableRow"?x:c;return B===x&&r.parser.lazy[r.now().line]?n(C):B(C)}function c(C){return e.enter("tableHead"),e.enter("tableRow"),u(C)}function u(C){return C===124||(o=!0,s+=1),d(C)}function d(C){return C===null?n(C):Ce(C)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),p):n(C):De(C)?ze(e,d,"whitespace")(C):(s+=1,o&&(o=!1,a+=1),C===124?(e.enter("tableCellDivider"),e.consume(C),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),f(C)))}function f(C){return C===null||C===124||dt(C)?(e.exit("data"),d(C)):(e.consume(C),C===92?h:f)}function h(C){return C===92||C===124?(e.consume(C),f):f(C)}function p(C){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(C):(e.enter("tableDelimiterRow"),o=!1,De(C)?ze(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(C):m(C))}function m(C){return C===45||C===58?y(C):C===124?(o=!0,e.enter("tableCellDivider"),e.consume(C),e.exit("tableCellDivider"),g):k(C)}function g(C){return De(C)?ze(e,y,"whitespace")(C):y(C)}function y(C){return C===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(C),e.exit("tableDelimiterMarker"),v):C===45?(s+=1,v(C)):C===null||Ce(C)?N(C):k(C)}function v(C){return C===45?(e.enter("tableDelimiterFiller"),S(C)):k(C)}function S(C){return C===45?(e.consume(C),S):C===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(C),e.exit("tableDelimiterMarker"),w):(e.exit("tableDelimiterFiller"),w(C))}function w(C){return De(C)?ze(e,N,"whitespace")(C):N(C)}function N(C){return C===124?m(C):C===null||Ce(C)?!o||a!==s?k(C):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(C)):k(C)}function k(C){return n(C)}function x(C){return e.enter("tableRow"),j(C)}function j(C){return C===124?(e.enter("tableCellDivider"),e.consume(C),e.exit("tableCellDivider"),j):C===null||Ce(C)?(e.exit("tableRow"),t(C)):De(C)?ze(e,j,"whitespace")(C):(e.enter("data"),_(C))}function _(C){return C===null||C===124||dt(C)?(e.exit("data"),j(C)):(e.consume(C),C===92?O:_)}function O(C){return C===92||C===124?(e.consume(C),_):_(C)}}function mme(e,t){let n=-1,r=!0,a=0,s=[0,0,0,0],o=[0,0,0,0],l=!1,c=0,u,d,f;const h=new ume;for(;++n<e.length;){const p=e[n],m=p[1];p[0]==="enter"?m.type==="tableHead"?(l=!1,c!==0&&(d_(h,t,c,u,d),d=void 0,c=0),u={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},h.add(n,0,[["enter",u,t]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(r=!0,f=void 0,s=[0,0,0,0],o=[0,n+1,0,0],l&&(l=!1,d={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},h.add(n,0,[["enter",d,t]])),a=m.type==="tableDelimiterRow"?2:d?3:1):a&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(s[1]!==0&&(o[0]=o[1],f=of(h,t,s,a,void 0,f),s=[0,0,0,0]),o[2]=n)):m.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(o[0]=o[1],f=of(h,t,s,a,void 0,f)),s=o,o=[s[1],n,0,0])):m.type==="tableHead"?(l=!0,c=n):m.type==="tableRow"||m.type==="tableDelimiterRow"?(c=n,s[1]!==0?(o[0]=o[1],f=of(h,t,s,a,n,f)):o[1]!==0&&(f=of(h,t,o,a,n,f)),a=0):a&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(o[3]=n)}for(c!==0&&d_(h,t,c,u,d),h.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=fme(t.events,n))}return e}function of(e,t,n,r,a,s){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",l="tableContent";n[0]!==0&&(s.end=Object.assign({},uo(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const c=uo(t.events,n[1]);if(s={type:o,start:Object.assign({},c),end:Object.assign({},c)},e.add(n[1],0,[["enter",s,t]]),n[2]!==0){const u=uo(t.events,n[2]),d=uo(t.events,n[3]),f={type:l,start:Object.assign({},u),end:Object.assign({},d)};if(e.add(n[2],0,[["enter",f,t]]),r!==2){const h=t.events[n[2]],p=t.events[n[3]];if(h[1].end=Object.assign({},p[1].end),h[1].type="chunkText",h[1].contentType="text",n[3]>n[2]+1){const m=n[2]+1,g=n[3]-n[2]-1;e.add(m,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return a!==void 0&&(s.end=Object.assign({},uo(t.events,a)),e.add(a,0,[["exit",s,t]]),s=void 0),s}function d_(e,t,n,r,a){const s=[],o=uo(t.events,n);a&&(a.end=Object.assign({},o),s.push(["exit",a,t])),r.end=Object.assign({},o),s.push(["exit",r,t]),e.add(n+1,0,s)}function uo(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const gme={name:"tasklistCheck",tokenize:yme};function vme(){return{text:{91:gme}}}function yme(e,t,n){const r=this;return a;function a(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),s)}function s(c){return dt(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),o):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),o):n(c)}function o(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):n(c)}function l(c){return Ce(c)?t(c):De(c)?e.check({tokenize:bme},t,n)(c):n(c)}}function bme(e,t,n){return ze(e,r,"whitespace");function r(a){return a===null?n(a):t(a)}}function xme(e){return PM([Gpe(),tme(),cme(e),hme(),vme()])}const wme={};function kme(e){const t=this,n=e||wme,r=t.data(),a=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);a.push(xme(n)),s.push(Fpe()),o.push(Upe(n))}const f_=function(e,t,n){const r=cd(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(r(e.children[t],t,e))return e.children[t]},Gs=function(e){if(e==null)return Nme;if(typeof e=="string")return jme(e);if(typeof e=="object")return Sme(e);if(typeof e=="function")return R0(e);throw new Error("Expected function, string, or array as `test`")};function Sme(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Gs(e[n]);return R0(r);function r(...a){let s=-1;for(;++s<t.length;)if(t[s].apply(this,a))return!0;return!1}}function jme(e){return R0(t);function t(n){return n.tagName===e}}function R0(e){return t;function t(n,r,a){return!!(Eme(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function Nme(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function Eme(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const h_=/\n/g,p_=/[\t ]+/g,tx=Gs("br"),m_=Gs(Mme),_me=Gs("p"),g_=Gs("tr"),Cme=Gs(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",Rme,Ime]),jI=Gs(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function Ame(e,t){const n=t||{},r="children"in e?e.children:[],a=jI(e),s=_I(e,{whitespace:n.whitespace||"normal"}),o=[];(e.type==="text"||e.type==="comment")&&o.push(...EI(e,{breakBefore:!0,breakAfter:!0}));let l=-1;for(;++l<r.length;)o.push(...NI(r[l],e,{whitespace:s,breakBefore:l?void 0:a,breakAfter:l<r.length-1?tx(r[l+1]):a}));const c=[];let u;for(l=-1;++l<o.length;){const d=o[l];typeof d=="number"?u!==void 0&&d>u&&(u=d):d&&(u!==void 0&&u>-1&&c.push(`
|
|
193
|
-
`.repeat(u)||" "),u=-1,c.push(d))}return c.join("")}function NI(e,t,n){return e.type==="element"?Tme(e,t,n):e.type==="text"?n.whitespace==="normal"?EI(e,n):Ome(e):[]}function Tme(e,t,n){const r=_I(e,n),a=e.children||[];let s=-1,o=[];if(Cme(e))return o;let l,c;for(tx(e)||g_(e)&&f_(t,e,g_)?c=`
|
|
194
|
-
`:_me(e)?(l=2,c=2):jI(e)&&(l=1,c=1);++s<a.length;)o=o.concat(NI(a[s],e,{whitespace:r,breakBefore:s?void 0:l,breakAfter:s<a.length-1?tx(a[s+1]):c}));return m_(e)&&f_(t,e,m_)&&o.push(" "),l&&o.unshift(l),c&&o.push(c),o}function EI(e,t){const n=String(e.value),r=[],a=[];let s=0;for(;s<=n.length;){h_.lastIndex=s;const c=h_.exec(n),u=c&&"index"in c?c.index:n.length;r.push(Pme(n.slice(s,u).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),s===0?t.breakBefore:!0,u===n.length?t.breakAfter:!0)),s=u+1}let o=-1,l;for(;++o<r.length;)r[o].charCodeAt(r[o].length-1)===8203||o<r.length-1&&r[o+1].charCodeAt(0)===8203?(a.push(r[o]),l=void 0):r[o]?(typeof l=="number"&&a.push(l),a.push(r[o]),l=0):(o===0||o===r.length-1)&&a.push(0);return a}function Ome(e){return[String(e.value)]}function Pme(e,t,n){const r=[];let a=0,s;for(;a<e.length;){p_.lastIndex=a;const o=p_.exec(e);s=o?o.index:e.length,!a&&!s&&o&&!t&&r.push(""),a!==s&&r.push(e.slice(a,s)),a=o?s+o[0].length:s}return a!==s&&!n&&r.push(""),r.join(" ")}function _I(e,t){if(e.type==="element"){const n=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return n.wrap?"pre-wrap":"pre";case"td":case"th":return n.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function Rme(e){return!!(e.properties||{}).hidden}function Mme(e){return e.tagName==="td"||e.tagName==="th"}function Ime(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function $me(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",o="(?!struct)("+r+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0},p=t.optional(a)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],v=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],N={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},k={className:"function.dispatch",relevance:0,keywords:{_hint:v},begin:t.concat(/\b/,`(?!${m.join("|")})`,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},x=[k,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],j={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:x.concat([{begin:/\(/,end:/\)/,keywords:N,contains:x.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+o+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:N,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:N,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(j,_,k,x,[f,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:N,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:N},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Lme(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=$me(e),r=n.keywords;return r.type=[...r.type,...t.type],r.literal=[...r.literal,...t.literal],r.built_in=[...r.built_in,...t.built_in],r._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function Dme(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,a]};a.contains.push(l);const c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],v={match:/(\/[a-z._-]+)+/},S=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],w=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],N=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],k=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:y,built_in:[...S,...w,"set","shopt",...N,...k]},contains:[p,e.SHEBANG(),m,f,s,o,v,l,c,u,d,n]}}function Bme(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",o="("+r+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0},p=t.optional(a)+e.IDENT_RE+"\\s*\\(",y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},v=[f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:v.concat([{begin:/\(/,end:/\)/,keywords:y,contains:v.concat(["self"]),relevance:0}]),relevance:0},w={begin:"("+o+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:y,disableAutodetect:!0,illegal:"</",contains:[].concat(S,w,v,[f,{begin:e.IDENT_RE+"::",keywords:y},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:y}}}function zme(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",o="(?!struct)("+r+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0},p=t.optional(a)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],v=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],N={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},k={className:"function.dispatch",relevance:0,keywords:{_hint:v},begin:t.concat(/\b/,`(?!${m.join("|")})`,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},x=[k,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],j={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:x.concat([{begin:/\(/,end:/\)/,keywords:N,contains:x.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+o+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:N,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:N,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(j,_,k,x,[f,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:N,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:N},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Fme(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],a=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],o={keyword:a.concat(s),built_in:t,literal:r},l=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9'_]+|(\\b[\\d'_]+(\\.[\\d'_]*)?|\\.[\\d'_]+)([eE][-+]?[\\d'_]+)?)"}],relevance:0},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(d,{illegal:/\n/}),h={className:"subst",begin:/\{/,end:/\}/,keywords:o},p=e.inherit(h,{illegal:/\n/}),m={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},y=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],p.contains=[y,m,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const v={variants:[u,g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},S={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},w=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",N={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:o,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},v,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,S,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,S,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+w+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:o,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,S],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,relevance:0,contains:[v,c,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},N]}}const Ume=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Wme=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Hme=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Gme=[...Wme,...Hme],qme=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Kme=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Vme=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Yme=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Xme(e){const t=e.regex,n=Ume(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},a="and or not only",s=/@-?\w[\w]*(-\w+)*/,o="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+o,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Kme.join("|")+")"},{begin:":(:)?("+Vme.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Yme.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.UNICODE_RANGE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:a,attribute:qme.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Gme.join("|")+")\\b"}]}}function Qme(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function Zme(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}function Jme(e){const t=e.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(n,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function ege(e){const t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const a={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},o={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[r,s,a,o,n,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,u=/"(\\"|[^"])*"/,d=/'[^']*'/,f=t.either(c,u,d),h=t.concat(f,"(\\s*\\.\\s*",f,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:h,className:"attr",starts:{end:/$/,contains:[r,l,s,a,o,n]}}]}}var fo="[0-9](_*[0-9])*",lf=`\\.(${fo})`,cf="[0-9a-fA-F](_*[0-9a-fA-F])*",v_={className:"number",variants:[{begin:`(\\b(${fo})((${lf})|\\.)?|(${lf}))[eE][+-]?(${fo})[fFdD]?\\b`},{begin:`\\b(${fo})((${lf})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${lf})[fFdD]?\\b`},{begin:`\\b(${fo})[fFdD]\\b`},{begin:`\\b0[xX]((${cf})\\.?|(${cf})?\\.(${cf}))[pP][+-]?(${fo})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${cf})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function CI(e,t,n){return n===-1?"":e.replace(t,r=>CI(e,t,n-1))}function tge(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=n+CI("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v_,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},v_,u]}}const y_="[A-Za-z$_][0-9A-Za-z$_]*",nge=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],rge=["true","false","null","undefined","NaN","Infinity"],AI=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],TI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],OI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],age=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ige=[].concat(OI,AI,TI);function sge(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=y_,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,z)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){z.ignoreMatch();return}Z===">"&&(n(R,{after:T})||z.ignoreMatch());let U;const $=R.input.substring(T);if(U=$.match(/^\s*=/)){z.ignoreMatch();return}if((U=$.match(/^\s+extends\s+/))&&U.index===0){z.ignoreMatch();return}}},l={$pattern:y_,keyword:nge,literal:rge,built_in:ige,"variable.language":age},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(S,h.contains),k=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k},j={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...AI,...TI]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,A([...OI,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",W={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},W,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},B,P,j,M,{match:/\$[(.]/}]}}const oge="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",lge={scope:"number",match:oge,relevance:0};function cge(e){const t={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],a={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:r},contains:[t,n,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,lge,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var ho="[0-9](_*[0-9])*",uf=`\\.(${ho})`,df="[0-9a-fA-F](_*[0-9a-fA-F])*",uge={className:"number",variants:[{begin:`(\\b(${ho})((${uf})|\\.)?|(${uf}))[eE][+-]?(${ho})[fFdD]?\\b`},{begin:`\\b(${ho})((${uf})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${uf})[fFdD]?\\b`},{begin:`\\b(${ho})[fFdD]\\b`},{begin:`\\b0[xX]((${df})\\.?|(${df})?\\.(${df}))[pP][+-]?(${ho})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${df})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function dge(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},o={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,a]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,a]}]};a.contains.push(o);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(o,{className:"string"}),"self"]}]},u=uge,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,r,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,l,c,o,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,c]},o,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
195
|
-
`},u]}}const fge=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),hge=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],pge=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],mge=[...hge,...pge],gge=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),PI=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),RI=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),vge=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),yge=PI.concat(RI).sort().reverse();function bge(e){const t=fge(e),n=yge,r="and or not only",a="[\\w-]+",s="("+a+"|@\\{"+a+"\\})",o=[],l=[],c=function(w){return{className:"string",begin:"~?"+w+".*?"+w}},u=function(w,N,k){return{className:w,begin:N,relevance:k}},d={$pattern:/[a-z-]+/,keyword:r,attribute:gge.join(" ")},f={begin:"\\(",end:"\\)",contains:l,keywords:d,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.UNICODE_RANGE,t.HEXCOLOR,f,u("variable","@@?"+a,10),u("variable","@\\{"+a+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=l.concat({begin:/\{/,end:/\}/,contains:o}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},m={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+vge.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:l,relevance:0}},y={className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a}],starts:{end:"[;}]",returnEnd:!0,contains:h}},v={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+a+"\\}"),{begin:"\\b("+mge.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+PI.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+RI.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},S={begin:a+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[v]};return o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,y,S,m,v,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:o}}function xge(e){const t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},a=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}function wge(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,n]},a={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},s={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},o={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,r,a,s,o]}}function kge(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},a={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(v=>{v.contains=v.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},a,r,c,o,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Sge(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,l={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function jge(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,a={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},o={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,y,v="\\1")=>{const S=v==="\\1"?v:t.concat(v,y);return t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,S,/(?:\\.|[^\\\/])*?/,v,r)},p=(g,y,v)=>t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,v,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:"string",contains:d,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:h("s|tr|y",t.either(...f,{capture:!0}))},{begin:h("s|tr|y","\\(","\\)")},{begin:h("s|tr|y","\\[","\\]")},{begin:h("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=m,o.contains=m,{name:"Perl",aliases:["pl","pm"],keywords:a,contains:m}}function Nge(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),a=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),o={scope:"variable",match:"\\$+"+r},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(I,M)=>{M.data._beginMatch=I[1]||I[2]},"on:end":(I,M)=>{M.data._beginMatch!==I[1]&&M.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
|
|
196
|
-
]`,m={scope:"string",variants:[d,u,f,h]},g={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],v=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],S=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],N={keyword:v,literal:(I=>{const M=[];return I.forEach(D=>{M.push(D),D.toLowerCase()===D?M.push(D.toUpperCase()):M.push(D.toLowerCase())}),M})(y),built_in:S},k=I=>I.map(M=>M.replace(/\|\d+$/,"")),x={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",k(S).join("\\b|"),"\\b)"),a],scope:{1:"keyword",4:"title.class"}}]},j=t.concat(r,"\\b(?!\\()"),_={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),j],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[a,t.concat(/::/,t.lookahead(/(?!class\b)/)),j],scope:{1:"title.class",3:"variable.constant"}},{match:[a,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[a,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},O={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},C={relevance:0,begin:/\(/,end:/\)/,keywords:N,contains:[O,o,_,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g,x]},P={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",k(v).join("\\b|"),"|",k(S).join("\\b|"),"\\b)"),r,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[C]};C.contains.push(P);const A=[O,_,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g,x],B={begin:t.concat(/#\[\s*\\?/,t.either(a,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...A]},...A,{scope:"meta",variants:[{match:a},{match:s}]}]};return{case_insensitive:!1,keywords:N,contains:[B,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},l,{scope:"variable.language",match:/\$this\b/},o,P,_,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},x,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:N,contains:["self",B,o,_,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,g]}}function Ege(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function _ge(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Cge(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,m=`\\b|${r.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${h})[jJ](?=${m})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,v,f]}]}}function Age(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Tge(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),a=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[a,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[s,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:a},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function Oge(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),a=t.concat(r,/(::\w+)*/),o={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},l={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:o},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:o}]},x=[f,{variants:[{match:[/class\s+/,a,/\s+<\s+/,a]},{match:[/\b(class|module)\s+/,a]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:o},{match:[/(include|extend)\s+/,a],scope:{2:"title.class"},keywords:o},{relevance:0,match:[a,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:o},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,u),relevance:0}].concat(c,u);d.contains=x,g.contains=x;const C=[{begin:/^\s*=>/,starts:{end:"$",contains:x}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:o,contains:x}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:o,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(C).concat(u).concat(x)}}function Pge(e){const t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),a=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,a,t.lookahead(/\s*\(/))},o="([ui](8|16|32|64|128|size)|f(32|64))?",l=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],u=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:l,literal:c,built_in:u},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+o},{begin:"\\b0o([0-7_]+)"+o},{begin:"\\b0x([A-Fa-f0-9_]+)"+o},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+o}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:u,type:d}},{className:"punctuation",begin:"->"},s]}}const Rge=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Mge=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ige=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],$ge=[...Mge,...Ige],Lge=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Dge=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Bge=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),zge=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Fge(e){const t=Rge(e),n=Bge,r=Dge,a="@[a-z-]+",s="and or not only",l={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+$ge.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},l,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+zge.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,l,t.HEXCOLOR,t.CSS_NUMBER_MODE,t.UNICODE_RANGE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:a,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Lge.join(" ")},contains:[{begin:a,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},l,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function Uge(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function Wge(e){const t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},a={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],o=["double precision","large object","with timezone","without timezone"],l=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],h=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=d,m=[...u,...c].filter(k=>!d.includes(k)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function S(k){return t.concat(/\b/,t.either(...k.map(x=>x.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:S(h),relevance:0};function N(k,{exceptions:x,when:j}={}){const _=j;return x=x||[],k.map(O=>O.match(/\|\d+$/)||x.includes(O)?O:_(O)?`${O}|0`:O)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:N(m,{when:k=>k.length<3}),literal:s,type:l,built_in:f},contains:[{scope:"type",match:S(o)},w,v,g,r,a,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function MI(e){return e?typeof e=="string"?e:e.source:null}function vc(e){return st("(?=",e,")")}function st(...e){return e.map(n=>MI(n)).join("")}function Hge(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Nn(...e){return"("+(Hge(e).capture?"":"?:")+e.map(r=>MI(r)).join("|")+")"}const M0=e=>st(/\b/,e,/\w$/.test(e)?/\b/:/\B/),Gge=["Protocol","Type"].map(M0),b_=["init","self"].map(M0),qge=["Any","Self"],lv=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],x_=["false","nil","true"],Kge=["assignment","associativity","higherThan","left","lowerThan","none","right"],Vge=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],w_=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],II=Nn(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),$I=Nn(II,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),cv=st(II,$I,"*"),LI=Nn(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),cp=Nn(LI,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Qr=st(LI,cp,"*"),ff=st(/[A-Z]/,cp,"*"),Yge=["attached","autoclosure",st(/convention\(/,Nn("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",st(/objc\(/,Qr,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Xge=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Qge(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],a={match:[/\./,Nn(...Gge,...b_)],className:{2:"keyword"}},s={match:st(/\./,Nn(...lv)),relevance:0},o=lv.filter(ge=>typeof ge=="string").concat(["_|0"]),l=lv.filter(ge=>typeof ge!="string").concat(qge).map(M0),c={variants:[{className:"keyword",match:Nn(...l,...b_)}]},u={$pattern:Nn(/\b\w+/,/#\w+/),keyword:o.concat(Vge),literal:x_},d=[a,s,c],f={match:st(/\./,Nn(...w_)),relevance:0},h={className:"built_in",match:st(/\b/,Nn(...w_),/(?=\()/)},p=[f,h],m={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:cv},{match:`\\.(\\.|${$I})+`}]},y=[m,g],v="([0-9]_*)+",S="([0-9a-fA-F]_*)+",w={className:"number",relevance:0,variants:[{match:`\\b(${v})(\\.(${v}))?([eE][+-]?(${v}))?\\b`},{match:`\\b0x(${S})(\\.(${S}))?([pP][+-]?(${v}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},N=(ge="")=>({className:"subst",variants:[{match:st(/\\/,ge,/[0\\tnr"']/)},{match:st(/\\/,ge,/u\{[0-9a-fA-F]{1,8}\}/)}]}),k=(ge="")=>({className:"subst",match:st(/\\/,ge,/[\t ]*(?:[\r\n]|\r\n)/)}),x=(ge="")=>({className:"subst",label:"interpol",begin:st(/\\/,ge,/\(/),end:/\)/}),j=(ge="")=>({begin:st(ge,/"""/),end:st(/"""/,ge),contains:[N(ge),k(ge),x(ge)]}),_=(ge="")=>({begin:st(ge,/"/),end:st(/"/,ge),contains:[N(ge),x(ge)]}),O={className:"string",variants:[j(),j("#"),j("##"),j("###"),_(),_("#"),_("##"),_("###")]},C=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],P={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:C},A=ge=>{const Re=st(ge,/\//),pe=st(/\//,ge);return{begin:Re,end:pe,contains:[...C,{scope:"comment",begin:`#(?!.*${pe})`,end:/$/}]}},B={scope:"regexp",variants:[A("###"),A("##"),A("#"),P]},I={match:st(/`/,Qr,/`/)},M={className:"variable",match:/\$\d+/},D={className:"variable",match:`\\$${cp}+`},W=[I,M,D],R={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Xge,contains:[...y,w,O]}]}},z={scope:"keyword",match:st(/@/,Nn(...Yge),vc(Nn(/\(/,/\s+/)))},T={scope:"meta",match:st(/@/,Qr)},Z=[R,z,T],U={match:vc(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:st(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,cp,"+")},{className:"type",match:ff,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:st(/\s+&\s+/,vc(ff)),relevance:0}]},$={begin:/</,end:/>/,keywords:u,contains:[...r,...d,...Z,m,U]};U.contains.push($);const ie={match:st(Qr,/\s*:/),keywords:"_|0",relevance:0},de={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",ie,...r,B,...d,...p,...y,w,O,...W,...Z,U]},ve={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,U]},Ee={begin:Nn(vc(st(Qr,/\s*:/)),vc(st(Qr,/\s+/,Qr,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Qr}]},J={begin:/\(/,end:/\)/,keywords:u,contains:[Ee,...r,...d,...y,w,O,...Z,U,de],endsParent:!0,illegal:/["']/},Y={match:[/(func|macro)/,/\s+/,Nn(I.match,Qr,cv)],className:{1:"keyword",3:"title.function"},contains:[ve,J,t],illegal:[/\[/,/%/]},ae={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ve,J,t],illegal:/\[|%/},ce={match:[/operator/,/\s+/,cv],className:{1:"keyword",3:"title"}},H={begin:[/precedencegroup/,/\s+/,ff],className:{1:"keyword",3:"title"},contains:[U],keywords:[...Kge,...x_],end:/}/},xe={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},ke={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Oe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Qr,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ve,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:ff},...d],relevance:0}]};for(const ge of O.variants){const Re=ge.contains.find(Xe=>Xe.label==="interpol");Re.keywords=u;const pe=[...d,...p,...y,w,O,...W];Re.contains=[...pe,{begin:/\(/,end:/\)/,contains:["self",...pe]}]}return{name:"Swift",keywords:u,contains:[...r,Y,ae,xe,ke,Oe,ce,H,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},B,...d,...p,...y,w,O,...W,...Z,U,de]}}const up="[A-Za-z$_][0-9A-Za-z$_]*",DI=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],BI=["true","false","null","undefined","NaN","Infinity"],zI=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],FI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],UI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],WI=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],HI=[].concat(UI,zI,FI);function Zge(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=up,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,z)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){z.ignoreMatch();return}Z===">"&&(n(R,{after:T})||z.ignoreMatch());let U;const $=R.input.substring(T);if(U=$.match(/^\s*=/)){z.ignoreMatch();return}if((U=$.match(/^\s+extends\s+/))&&U.index===0){z.ignoreMatch();return}}},l={$pattern:up,keyword:DI,literal:BI,built_in:HI,"variable.language":WI},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(S,h.contains),k=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k},j={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...zI,...FI]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,A([...UI,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",W={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},W,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},B,P,j,M,{match:/\$[(.]/}]}}function Jge(e){const t=e.regex,n=Zge(e),r=up,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:up,keyword:DI.concat(c),literal:BI,built_in:HI.concat(a),"variable.language":WI},d={className:"meta",begin:"@"+r},f=(g,y,v)=>{const S=g.contains.findIndex(w=>w.label===y);if(S===-1)throw new Error("can not find mode to replace");g.contains.splice(S,1,v)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,o,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function eve(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},a=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,a),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(s,a),/ +/,t.either(o,l),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,r,c,u,d,f,h,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[h]}]}}function tve(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],a={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},o={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,o,a,e.QUOTE_STRING_MODE,c,u,l]}}function nve(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(s,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,l,o,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,o,c,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function rve(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},o={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},l=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},y=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,s,o],v=[...y];return v.pop(),v.push(l),p.contains=v,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}const ave={arduino:Lme,bash:Dme,c:Bme,cpp:zme,csharp:Fme,css:Xme,diff:Qme,go:Zme,graphql:Jme,ini:ege,java:tge,javascript:sge,json:cge,kotlin:dge,less:bge,lua:xge,makefile:wge,markdown:kge,objectivec:Sge,perl:jge,php:Nge,"php-template":Ege,plaintext:_ge,python:Cge,"python-repl":Age,r:Tge,ruby:Oge,rust:Pge,scss:Fge,shell:Uge,sql:Wge,swift:Qge,typescript:Jge,vbnet:eve,wasm:tve,xml:nve,yaml:rve};function GI(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&GI(n)}),e}class k_{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function qI(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function yi(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach(function(r){for(const a in r)n[a]=r[a]}),n}const ive="</span>",S_=e=>!!e.scope,sve=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,a)=>`${r}${"_".repeat(a+1)}`)].join(" ")}return`${t}${e}`};class ove{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=qI(t)}openNode(t){if(!S_(t))return;const n=sve(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){S_(t)&&(this.buffer+=ive)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const j_=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class I0{constructor(){this.rootNode=j_(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=j_({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{I0._collapse(n)}))}}class lve extends I0{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new ove(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function qu(e){return e?typeof e=="string"?e:e.source:null}function KI(e){return qs("(?=",e,")")}function cve(e){return qs("(?:",e,")*")}function uve(e){return qs("(?:",e,")?")}function qs(...e){return e.map(n=>qu(n)).join("")}function dve(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function $0(...e){return"("+(dve(e).capture?"":"?:")+e.map(r=>qu(r)).join("|")+")"}function VI(e){return new RegExp(e.toString()+"|").exec("").length-1}function fve(e,t){const n=e&&e.exec(t);return n&&n.index===0}const hve=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function L0(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const a=n;let s=qu(r),o="";for(;s.length>0;){const l=hve.exec(s);if(!l){o+=s;break}o+=s.substring(0,l.index),s=s.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?o+="\\"+String(Number(l[1])+a):(o+=l[0],l[0]==="("&&n++)}return o}).map(r=>`(${r})`).join(t)}const pve=/\b\B/,YI="[a-zA-Z]\\w*",D0="[a-zA-Z_]\\w*",XI="\\b\\d+(\\.\\d+)?",QI="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ZI="\\b(0b[01]+)",mve="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",gve=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=qs(t,/.*\b/,e.binary,/\b.*/)),yi({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Ku={begin:"\\\\[\\s\\S]",relevance:0},vve={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ku]},yve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ku]},bve={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},_m=function(e,t,n={}){const r=yi({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=$0("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:qs(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},xve=_m("//","$"),wve=_m("/\\*","\\*/"),kve=_m("#","$"),Sve={scope:"number",begin:XI,relevance:0},jve={scope:"number",begin:QI,relevance:0},Nve={scope:"number",begin:ZI,relevance:0},Eve={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ku,{begin:/\[/,end:/\]/,relevance:0,contains:[Ku]}]},_ve={scope:"title",begin:YI,relevance:0},Cve={scope:"title",begin:D0,relevance:0},Ave={begin:"\\.\\s*"+D0,relevance:0},Tve=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var hf=Object.freeze({__proto__:null,APOS_STRING_MODE:vve,BACKSLASH_ESCAPE:Ku,BINARY_NUMBER_MODE:Nve,BINARY_NUMBER_RE:ZI,COMMENT:_m,C_BLOCK_COMMENT_MODE:wve,C_LINE_COMMENT_MODE:xve,C_NUMBER_MODE:jve,C_NUMBER_RE:QI,END_SAME_AS_BEGIN:Tve,HASH_COMMENT_MODE:kve,IDENT_RE:YI,MATCH_NOTHING_RE:pve,METHOD_GUARD:Ave,NUMBER_MODE:Sve,NUMBER_RE:XI,PHRASAL_WORDS_MODE:bve,QUOTE_STRING_MODE:yve,REGEXP_MODE:Eve,RE_STARTERS_RE:mve,SHEBANG:gve,TITLE_MODE:_ve,UNDERSCORE_IDENT_RE:D0,UNDERSCORE_TITLE_MODE:Cve});function Ove(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Pve(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Rve(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Ove,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Mve(e,t){Array.isArray(e.illegal)&&(e.illegal=$0(...e.illegal))}function Ive(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function $ve(e,t){e.relevance===void 0&&(e.relevance=1)}const Lve=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=qs(n.beforeMatch,KI(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Dve=["of","and","for","in","not","or","if","then","parent","list","value"],Bve="keyword";function JI(e,t,n=Bve){const r=Object.create(null);return typeof e=="string"?a(n,e.split(" ")):Array.isArray(e)?a(n,e):Object.keys(e).forEach(function(s){Object.assign(r,JI(e[s],t,s))}),r;function a(s,o){t&&(o=o.map(l=>l.toLowerCase())),o.forEach(function(l){const c=l.split("|");r[c[0]]=[s,zve(c[0],c[1])]})}}function zve(e,t){return t?Number(t):Fve(e)?0:1}function Fve(e){return Dve.includes(e.toLowerCase())}const N_={},Es=e=>{console.error(e)},E_=(e,...t)=>{console.log(`WARN: ${e}`,...t)},lo=(e,t)=>{N_[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),N_[`${e}/${t}`]=!0)},dp=new Error;function e$(e,t,{key:n}){let r=0;const a=e[n],s={},o={};for(let l=1;l<=t.length;l++)o[l+r]=a[l],s[l+r]=!0,r+=VI(t[l-1]);e[n]=o,e[n]._emit=s,e[n]._multi=!0}function Uve(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Es("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),dp;if(typeof e.beginScope!="object"||e.beginScope===null)throw Es("beginScope must be object"),dp;e$(e,e.begin,{key:"beginScope"}),e.begin=L0(e.begin,{joinWith:""})}}function Wve(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Es("skip, excludeEnd, returnEnd not compatible with endScope: {}"),dp;if(typeof e.endScope!="object"||e.endScope===null)throw Es("endScope must be object"),dp;e$(e,e.end,{key:"endScope"}),e.end=L0(e.end,{joinWith:""})}}function Hve(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Gve(e){Hve(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Uve(e),Wve(e)}function qve(e){function t(o,l){return new RegExp(qu(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,l]),this.matchAt+=VI(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(c=>c[1]);this.matcherRe=t(L0(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(l);if(!c)return null;const u=c.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const c=new n;return this.rules.slice(l).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[l]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,c){this.rules.push([l,c]),c.type==="begin"&&this.count++}exec(l){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(l);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(l)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function a(o){const l=new r;return o.contains.forEach(c=>l.addRule(c.begin,{rule:c,type:"begin"})),o.terminatorEnd&&l.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&l.addRule(o.illegal,{type:"illegal"}),l}function s(o,l){const c=o;if(o.isCompiled)return c;[Pve,Ive,Gve,Lve].forEach(d=>d(o,l)),e.compilerExtensions.forEach(d=>d(o,l)),o.__beforeBegin=null,[Rve,Mve,$ve].forEach(d=>d(o,l)),o.isCompiled=!0;let u=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),u=o.keywords.$pattern,delete o.keywords.$pattern),u=u||/\w+/,o.keywords&&(o.keywords=JI(o.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),l&&(o.begin||(o.begin=/\B|\b/),c.beginRe=t(c.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(c.endRe=t(c.end)),c.terminatorEnd=qu(c.end)||"",o.endsWithParent&&l.terminatorEnd&&(c.terminatorEnd+=(o.end?"|":"")+l.terminatorEnd)),o.illegal&&(c.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(d){return Kve(d==="self"?o:d)})),o.contains.forEach(function(d){s(d,c)}),o.starts&&s(o.starts,l),c.matcher=a(c),c}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=yi(e.classNameAliases||{}),s(e)}function t$(e){return e?e.endsWithParent||t$(e.starts):!1}function Kve(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return yi(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:t$(e)?yi(e,{starts:e.starts?yi(e.starts):null}):Object.isFrozen(e)?yi(e):e}var Vve="11.11.2";class Yve extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const uv=qI,__=yi,C_=Symbol("nomatch"),Xve=7,n$=function(e){const t=Object.create(null),n=Object.create(null),r=[];let a=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:lve};function c(D){return l.noHighlightRe.test(D)}function u(D){let W=D.className+" ";W+=D.parentNode?D.parentNode.className:"";const R=l.languageDetectRe.exec(W);if(R){const z=_(R[1]);return z||(E_(s.replace("{}",R[1])),E_("Falling back to no-highlight mode for this block.",D)),z?R[1]:"no-highlight"}return W.split(/\s+/).find(z=>c(z)||_(z))}function d(D,W,R){let z="",T="";typeof W=="object"?(z=D,R=W.ignoreIllegals,T=W.language):(lo("10.7.0","highlight(lang, code, ...args) has been deprecated."),lo("10.7.0",`Please use highlight(code, options) instead.
|
|
197
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),T=D,z=W),R===void 0&&(R=!0);const Z={code:z,language:T};I("before:highlight",Z);const U=Z.result?Z.result:f(Z.language,Z.code,R);return U.code=Z.code,I("after:highlight",U),U}function f(D,W,R,z){const T=Object.create(null);function Z(q,Q){return q.keywords[Q]}function U(){if(!pe.keywords){$e.addText(_e);return}let q=0;pe.keywordPatternRe.lastIndex=0;let Q=pe.keywordPatternRe.exec(_e),oe="";for(;Q;){oe+=_e.substring(q,Q.index);const he=Oe.case_insensitive?Q[0].toLowerCase():Q[0],Se=Z(pe,he);if(Se){const[Me,Ft]=Se;if($e.addText(oe),oe="",T[he]=(T[he]||0)+1,T[he]<=Xve&&(pt+=Ft),Me.startsWith("_"))oe+=Q[0];else{const Ie=Oe.classNameAliases[Me]||Me;de(Q[0],Ie)}}else oe+=Q[0];q=pe.keywordPatternRe.lastIndex,Q=pe.keywordPatternRe.exec(_e)}oe+=_e.substring(q),$e.addText(oe)}function $(){if(_e==="")return;let q=null;if(typeof pe.subLanguage=="string"){if(!t[pe.subLanguage]){$e.addText(_e);return}q=f(pe.subLanguage,_e,!0,Xe[pe.subLanguage]),Xe[pe.subLanguage]=q._top}else q=p(_e,pe.subLanguage.length?pe.subLanguage:null);pe.relevance>0&&(pt+=q.relevance),$e.__addSublanguage(q._emitter,q.language)}function ie(){pe.subLanguage!=null?$():U(),_e=""}function de(q,Q){q!==""&&($e.startScope(Q),$e.addText(q),$e.endScope())}function ve(q,Q){let oe=1;const he=Q.length-1;for(;oe<=he;){if(!q._emit[oe]){oe++;continue}const Se=Oe.classNameAliases[q[oe]]||q[oe],Me=Q[oe];Se?de(Me,Se):(_e=Me,U(),_e=""),oe++}}function Ee(q,Q){return q.scope&&typeof q.scope=="string"&&$e.openNode(Oe.classNameAliases[q.scope]||q.scope),q.beginScope&&(q.beginScope._wrap?(de(_e,Oe.classNameAliases[q.beginScope._wrap]||q.beginScope._wrap),_e=""):q.beginScope._multi&&(ve(q.beginScope,Q),_e="")),pe=Object.create(q,{parent:{value:pe}}),pe}function J(q,Q,oe){let he=fve(q.endRe,oe);if(he){if(q["on:end"]){const Se=new k_(q);q["on:end"](Q,Se),Se.isMatchIgnored&&(he=!1)}if(he){for(;q.endsParent&&q.parent;)q=q.parent;return q}}if(q.endsWithParent)return J(q.parent,Q,oe)}function Y(q){return pe.matcher.regexIndex===0?(_e+=q[0],1):(Vt=!0,0)}function ae(q){const Q=q[0],oe=q.rule,he=new k_(oe),Se=[oe.__beforeBegin,oe["on:begin"]];for(const Me of Se)if(Me&&(Me(q,he),he.isMatchIgnored))return Y(Q);return oe.skip?_e+=Q:(oe.excludeBegin&&(_e+=Q),ie(),!oe.returnBegin&&!oe.excludeBegin&&(_e=Q)),Ee(oe,q),oe.returnBegin?0:Q.length}function ce(q){const Q=q[0],oe=W.substring(q.index),he=J(pe,q,oe);if(!he)return C_;const Se=pe;pe.endScope&&pe.endScope._wrap?(ie(),de(Q,pe.endScope._wrap)):pe.endScope&&pe.endScope._multi?(ie(),ve(pe.endScope,q)):Se.skip?_e+=Q:(Se.returnEnd||Se.excludeEnd||(_e+=Q),ie(),Se.excludeEnd&&(_e=Q));do pe.scope&&$e.closeNode(),!pe.skip&&!pe.subLanguage&&(pt+=pe.relevance),pe=pe.parent;while(pe!==he.parent);return he.starts&&Ee(he.starts,q),Se.returnEnd?0:Q.length}function H(){const q=[];for(let Q=pe;Q!==Oe;Q=Q.parent)Q.scope&&q.unshift(Q.scope);q.forEach(Q=>$e.openNode(Q))}let xe={};function ke(q,Q){const oe=Q&&Q[0];if(_e+=q,oe==null)return ie(),0;if(xe.type==="begin"&&Q.type==="end"&&xe.index===Q.index&&oe===""){if(_e+=W.slice(Q.index,Q.index+1),!a){const he=new Error(`0 width match regex (${D})`);throw he.languageName=D,he.badRule=xe.rule,he}return 1}if(xe=Q,Q.type==="begin")return ae(Q);if(Q.type==="illegal"&&!R){const he=new Error('Illegal lexeme "'+oe+'" for mode "'+(pe.scope||"<unnamed>")+'"');throw he.mode=pe,he}else if(Q.type==="end"){const he=ce(Q);if(he!==C_)return he}if(Q.type==="illegal"&&oe==="")return Q.index===W.length||(_e+=`
|
|
198
|
-
`),1;if(lt>1e5&<>Q.index*3)throw new Error("potential infinite loop, way more iterations than matches");return _e+=oe,oe.length}const Oe=_(D);if(!Oe)throw Es(s.replace("{}",D)),new Error('Unknown language: "'+D+'"');const ge=qve(Oe);let Re="",pe=z||ge;const Xe={},$e=new l.__emitter(l);H();let _e="",pt=0,Fe=0,lt=0,Vt=!1;try{if(Oe.__emitTokens)Oe.__emitTokens(W,$e);else{for(pe.matcher.considerAll();;){lt++,Vt?Vt=!1:pe.matcher.considerAll(),pe.matcher.lastIndex=Fe;const q=pe.matcher.exec(W);if(!q)break;const Q=W.substring(Fe,q.index),oe=ke(Q,q);Fe=q.index+oe}ke(W.substring(Fe))}return $e.finalize(),Re=$e.toHTML(),{language:D,value:Re,relevance:pt,illegal:!1,_emitter:$e,_top:pe}}catch(q){if(q.message&&q.message.includes("Illegal"))return{language:D,value:uv(W),illegal:!0,relevance:0,_illegalBy:{message:q.message,index:Fe,context:W.slice(Fe-100,Fe+100),mode:q.mode,resultSoFar:Re},_emitter:$e};if(a)return{language:D,value:uv(W),illegal:!1,relevance:0,errorRaised:q,_emitter:$e,_top:pe};throw q}}function h(D){const W={value:uv(D),illegal:!1,relevance:0,_top:o,_emitter:new l.__emitter(l)};return W._emitter.addText(D),W}function p(D,W){W=W||l.languages||Object.keys(t);const R=h(D),z=W.filter(_).filter(C).map(ie=>f(ie,D,!1));z.unshift(R);const T=z.sort((ie,de)=>{if(ie.relevance!==de.relevance)return de.relevance-ie.relevance;if(ie.language&&de.language){if(_(ie.language).supersetOf===de.language)return 1;if(_(de.language).supersetOf===ie.language)return-1}return 0}),[Z,U]=T,$=Z;return $.secondBest=U,$}function m(D,W,R){const z=W&&n[W]||R;D.classList.add("hljs"),D.classList.add(`language-${z}`)}function g(D){let W=null;const R=u(D);if(c(R))return;if(I("before:highlightElement",{el:D,language:R}),D.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",D);return}if(D.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(D)),l.throwUnescapedHTML))throw new Yve("One of your code blocks includes unescaped HTML.",D.innerHTML);W=D;const z=W.textContent,T=R?d(z,{language:R,ignoreIllegals:!0}):p(z);D.innerHTML=T.value,D.dataset.highlighted="yes",m(D,R,T.language),D.result={language:T.language,re:T.relevance,relevance:T.relevance},T.secondBest&&(D.secondBest={language:T.secondBest.language,relevance:T.secondBest.relevance}),I("after:highlightElement",{el:D,result:T,text:z})}function y(D){l=__(l,D)}const v=()=>{N(),lo("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function S(){N(),lo("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function N(){function D(){N()}if(document.readyState==="loading"){w||window.addEventListener("DOMContentLoaded",D,!1),w=!0;return}document.querySelectorAll(l.cssSelector).forEach(g)}function k(D,W){let R=null;try{R=W(e)}catch(z){if(Es("Language definition for '{}' could not be registered.".replace("{}",D)),a)Es(z);else throw z;R=o}R.name||(R.name=D),t[D]=R,R.rawDefinition=W.bind(null,e),R.aliases&&O(R.aliases,{languageName:D})}function x(D){delete t[D];for(const W of Object.keys(n))n[W]===D&&delete n[W]}function j(){return Object.keys(t)}function _(D){return D=(D||"").toLowerCase(),t[D]||t[n[D]]}function O(D,{languageName:W}){typeof D=="string"&&(D=[D]),D.forEach(R=>{n[R.toLowerCase()]=W})}function C(D){const W=_(D);return W&&!W.disableAutodetect}function P(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=W=>{D["before:highlightBlock"](Object.assign({block:W.el},W))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=W=>{D["after:highlightBlock"](Object.assign({block:W.el},W))})}function A(D){P(D),r.push(D)}function B(D){const W=r.indexOf(D);W!==-1&&r.splice(W,1)}function I(D,W){const R=D;r.forEach(function(z){z[R]&&z[R](W)})}function M(D){return lo("10.7.0","highlightBlock will be removed entirely in v12.0"),lo("10.7.0","Please use highlightElement now."),g(D)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:N,highlightElement:g,highlightBlock:M,configure:y,initHighlighting:v,initHighlightingOnLoad:S,registerLanguage:k,unregisterLanguage:x,listLanguages:j,getLanguage:_,registerAliases:O,autoDetection:C,inherit:__,addPlugin:A,removePlugin:B}),e.debugMode=function(){a=!1},e.safeMode=function(){a=!0},e.versionString=Vve,e.regex={concat:qs,lookahead:KI,either:$0,optional:uve,anyNumberOfTimes:cve};for(const D in hf)typeof hf[D]=="object"&&GI(hf[D]);return Object.assign(e,hf),e},vl=n$({});vl.newInstance=()=>n$({});var Qve=vl;vl.HighlightJS=vl;vl.default=vl;const Zve=Ze(Qve),A_={},Jve="hljs-";function eye(e){const t=Zve.newInstance();return e&&s(e),{highlight:n,highlightAuto:r,listLanguages:a,register:s,registerAlias:o,registered:l};function n(c,u,d){const f=d||A_,h=typeof f.prefix=="string"?f.prefix:Jve;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:tye,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:c});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const m=p._emitter.root,g=m.data;return g.language=p.language,g.relevance=p.relevance,m}function r(c,u){const f=(u||A_).subset||a();let h=-1,p=0,m;for(;++h<f.length;){const g=f[h];if(!t.getLanguage(g))continue;const y=n(g,c,u);y.data&&y.data.relevance!==void 0&&y.data.relevance>p&&(p=y.data.relevance,m=y)}return m||{type:"root",children:[],data:{language:void 0,relevance:p}}}function a(){return t.listLanguages()}function s(c,u){if(typeof c=="string")t.registerLanguage(c,u);else{let d;for(d in c)Object.hasOwn(c,d)&&t.registerLanguage(d,c[d])}}function o(c,u){if(typeof c=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:c});else{let d;for(d in c)if(Object.hasOwn(c,d)){const f=c[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function l(c){return!!t.getLanguage(c)}}class tye{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const r=this.stack[this.stack.length-1],a=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:a}):r.children.push(...a)}openNode(t){const n=this,r=t.split(".").map(function(o,l){return l?o+"_".repeat(l):n.options.classPrefix+o}),a=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:r},children:[]};a.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const nye={};function rye(e){const t=e||nye,n=t.aliases,r=t.detect||!1,a=t.languages||ave,s=t.plainText,o=t.prefix,l=t.subset;let c="hljs";const u=eye(a);if(n&&u.registerAlias(n),o){const d=o.indexOf("-");c=d===-1?o:o.slice(0,d)}return function(d,f){Em(d,"element",function(h,p,m){if(h.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=aye(h);if(g===!1||!g&&!r||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const y=Ame(h,{whitespace:"pre"});let v;try{v=g?u.highlight(g,y,{prefix:o}):u.highlightAuto(y,{prefix:o,subset:l})}catch(S){const w=S;if(g&&/Unknown language/.test(w.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[m,h],cause:w,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw w}!g&&v.data&&v.data.language&&h.properties.className.push("language-"+v.data.language),v.children.length>0&&(h.children=v.children)})}}function aye(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){const a=String(t[n]);if(a==="no-highlight"||a==="nohighlight")return!1;!r&&a.slice(0,5)==="lang-"&&(r=a.slice(5)),!r&&a.slice(0,9)==="language-"&&(r=a.slice(9))}return r}const fp="[A-Za-z$_][0-9A-Za-z$_]*",r$=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],a$=["true","false","null","undefined","NaN","Infinity"],i$=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],l$=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],c$=[].concat(o$,i$,s$);function iye(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=fp,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,z)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){z.ignoreMatch();return}Z===">"&&(n(R,{after:T})||z.ignoreMatch());let U;const $=R.input.substring(T);if(U=$.match(/^\s*=/)){z.ignoreMatch();return}if((U=$.match(/^\s+extends\s+/))&&U.index===0){z.ignoreMatch();return}}},l={$pattern:fp,keyword:r$,literal:a$,built_in:c$,"variable.language":l$},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(S,h.contains),k=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k},j={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...i$,...s$]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,A([...o$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",W={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},W,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},B,P,j,M,{match:/\$[(.]/}]}}function T_(e){const t=e.regex,n=iye(e),r=fp,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:fp,keyword:r$.concat(c),literal:a$,built_in:c$.concat(a),"variable.language":l$},d={className:"meta",begin:"@"+r},f=(g,y,v)=>{const S=g.contains.findIndex(w=>w.label===y);if(S===-1)throw new Error("can not find mode to replace");g.contains.splice(S,1,v)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,o,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}const O_="[A-Za-z$_][0-9A-Za-z$_]*",sye=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],oye=["true","false","null","undefined","NaN","Infinity"],u$=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],d$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],f$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],lye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],cye=[].concat(f$,u$,d$);function P_(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=O_,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,z)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){z.ignoreMatch();return}Z===">"&&(n(R,{after:T})||z.ignoreMatch());let U;const $=R.input.substring(T);if(U=$.match(/^\s*=/)){z.ignoreMatch();return}if((U=$.match(/^\s+extends\s+/))&&U.index===0){z.ignoreMatch();return}}},l={$pattern:O_,keyword:sye,literal:oye,built_in:cye,"variable.language":lye},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(S,h.contains),k=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k},j={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...u$,...d$]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,A([...f$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",W={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},W,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},B,P,j,M,{match:/\$[(.]/}]}}const uye="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",dye={scope:"number",match:uye,relevance:0};function fye(e){const t={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],a={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:r},contains:[t,n,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,dye,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function hye(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,a]};a.contains.push(l);const c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],v={match:/(\/[a-z._-]+)+/},S=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],w=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],N=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],k=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:y,built_in:[...S,...w,"set","shopt",...N,...k]},contains:[p,e.SHEBANG(),m,f,s,o,v,l,c,u,d,n]}}function R_(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function M_(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,m=`\\b|${r.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${h})[jJ](?=${m})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,v,f]}]}}function I_(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},a={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(v=>{v.contains=v.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,r,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},a,c,o,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function $_(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},o={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},l=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},y=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,s,o],v=[...y];return v.pop(),v.push(l),p.contains=v,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}function pye(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function mye(e){const t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},a={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],o=["double precision","large object","with timezone","without timezone"],l=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],h=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=d,m=[...u,...c].filter(k=>!d.includes(k)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function S(k){return t.concat(/\b/,t.either(...k.map(x=>x.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:S(h),relevance:0};function N(k,{exceptions:x,when:j}={}){const _=j;return x=x||[],k.map(O=>O.match(/\|\d+$/)||x.includes(O)?O:_(O)?`${O}|0`:O)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:N(m,{when:k=>k.length<3}),literal:s,type:l,built_in:f},contains:[{scope:"type",match:S(o)},w,v,g,r,a,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function L_(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(s,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,l,o,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,o,c,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const gye=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),vye=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],yye=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],bye=[...vye,...yye],xye=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),wye=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),kye=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Sye=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function jye(e){const t=e.regex,n=gye(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},a="and or not only",s=/@-?\w[\w]*(-\w+)*/,o="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+o,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+wye.join("|")+")"},{begin:":(:)?("+kye.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Sye.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.UNICODE_RANGE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:a,attribute:xye.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+bye.join("|")+")\\b"}]}}function D_(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}const Nye={ts:T_,typescript:T_,js:P_,javascript:P_,json:fye,bash:hye,shell:R_,sh:R_,python:M_,py:M_,markdown:I_,md:I_,yaml:$_,yml:$_,diff:pye,sql:mye,html:L_,xml:L_,css:jye,text:D_,plaintext:D_};function h$(e){if(e==null)return"";const t=e;return typeof t.value=="string"?t.value:Array.isArray(t.children)?t.children.map(h$).join(""):""}function Eye({lang:e,code:t,children:n}){const[r,a]=b.useState(!1),s=async()=>{var o;try{await((o=navigator.clipboard)==null?void 0:o.writeText(t)),a(!0),setTimeout(()=>a(!1),1500)}catch{}};return i.jsxs("div",{className:"md-code-block",children:[i.jsxs("div",{className:"md-code-head",children:[i.jsx("span",{className:"md-code-lang",children:e}),i.jsx("button",{type:"button",className:"md-code-copy",onClick:()=>void s(),children:r?"✓ Copied":"⧉ Copy"})]}),i.jsx("pre",{className:"md-code-pre",children:i.jsx("code",{children:n})})]})}function _ye({node:e,children:t}){var o,l,c,u;const n=(o=e==null?void 0:e.children)==null?void 0:o[0],a=((u=(Array.isArray((l=n==null?void 0:n.properties)==null?void 0:l.className)?(c=n==null?void 0:n.properties)==null?void 0:c.className:[]).find(d=>typeof d=="string"&&d.startsWith("language-")))==null?void 0:u.slice(9))??"text",s=b.useMemo(()=>h$(n),[n]);return i.jsx(Eye,{lang:a,code:s,children:t})}function B_({text:e}){const t=b.useMemo(()=>({h1:({node:n,...r})=>i.jsx("h1",{className:"md-heading md-h1",...r}),h2:({node:n,...r})=>i.jsx("h2",{className:"md-heading md-h2",...r}),h3:({node:n,...r})=>i.jsx("h3",{className:"md-heading md-h3",...r}),h4:({node:n,...r})=>i.jsx("h4",{className:"md-heading md-h4",...r}),h5:({node:n,...r})=>i.jsx("h5",{className:"md-heading md-h5",...r}),h6:({node:n,...r})=>i.jsx("h6",{className:"md-heading md-h6",...r}),p:({node:n,...r})=>i.jsx("p",{className:"md-para",...r}),ul:({node:n,...r})=>i.jsx("ul",{className:"md-list md-ul",...r}),ol:({node:n,...r})=>i.jsx("ol",{className:"md-list md-ol",...r}),blockquote:({node:n,...r})=>i.jsx("blockquote",{className:"md-quote",...r}),hr:({node:n,...r})=>i.jsx("hr",{className:"md-hr",...r}),table:({node:n,...r})=>i.jsx("table",{className:"md-table",...r}),a:({node:n,...r})=>i.jsx("a",{target:"_blank",rel:"noreferrer",...r}),pre:_ye}),[]);return i.jsx("div",{className:"md-root",children:i.jsx(che,{remarkPlugins:[kme],rehypePlugins:[[rye,{languages:Nye}]],components:t,children:e??""})})}const z_=/```([\w+-]*)\n([\s\S]*?)```/g;function Cye(e){if(!e.trim())return[];const t=[];let n=null;for(const r of e.split(`
|
|
199
|
-
`))r.startsWith("diff --git ")?(n&&t.push(n),n={path:r.split(" b/").slice(1).join(" b/").replace(/^b\//,""),body:r}):n&&(n.body+=`
|
|
200
|
-
${r}`);return n&&t.push(n),t}function Aye(e){return/(^|\n)\s*(PASS|FAIL|✅|❌|✗|✓|\bok\b)/i.test(e)||/\b\d+\s+(passed|failed)\b/i.test(e)||/(tests?|build|suite|checks?)\s+(passed|failed|complete|green|red|ok)/i.test(e)||/(exit code|process exited|finished with)/i.test(e)}function Tye(e){return/(^|\n)\s*(FAIL|❌|✗)/i.test(e)||/\bfailed\b/i.test(e)?"fail":/(^|\n)\s*(PASS|✅|✓)/i.test(e)||/\bpassed\b/i.test(e)?"pass":"unknown"}function Oye(e){for(const t of e.split(`
|
|
201
|
-
`)){const n=t.trim();if(n)return n.length>80?`${n.slice(0,77)}…`:n}return"Command output"}const F_=/https?:\/\/[^\s)\]}"'<>]+/i,U_=/(🚀|deploy(?:ed|ment|ing)?|live at|published|available at|open the)/i;function Pye(e){return e.replace(/[.,;:!?]+$/,"")}function Rye(e){const t=e.split(`
|
|
202
|
-
`),n=[],r=new Set;for(let a=0;a<t.length;a+=1){const s=t[a];let o=s.match(U_);!o&&a+1<t.length&&/deploy(?:ed|ment|ing)?:\s*$/i.test(s.trim())&&(o=t[a+1].match(U_));const l=s.match(F_)||(a+1<t.length?t[a+1].match(F_):null);if(!o||!l)continue;const c=Pye(l[0]);r.has(c)||(r.add(c),n.push({url:c,title:s.trim().slice(0,80)||"Deployment"}))}return n}function pf(e){const t=[],n=[],r=[];z_.lastIndex=0;let a;for(;(a=z_.exec(e))!==null;){const s=(a[1]||"").toLowerCase(),o=a[2];if(s==="diff"||o.includes("diff --git ")){const l=Cye(o);l.length>0&&t.push({files:l,summary:`${l.length} file${l.length===1?"":"s"} changed`})}else Aye(o)&&n.push({verdict:Tye(o),title:Oye(o),body:o})}for(const s of Rye(e))r.push(s);return{diffs:t,results:n,deploys:r}}const Mye=3e5,Iye=3e3,$ye=10,Lye=5e3,Dye=2e3,Bye=/\.(pdf|docx|xlsx|pptx)$/i,zye=/\.(png|jpe?g|gif|webp|bmp|tiff?)$/i,Fye=/\.(txt|md|markdown|text|log|csv|tsv|json|xml|yaml|yml|html?|htaccess|css|js|mjs|cjs|jsx|ts|tsx|py|rb|go|rs|java|kt|c|h|cpp|cs|php|sh|bash|zsh|sql|ini|toml|cfg|conf|env)$/i;function Uye(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));return btoa(t)}function Wye(e,t){const n=t.includes(0),r=t.length===0?1:t.reduce((a,s)=>s===9||s===10||s===13||s>=32&&s<127||s>=128?a+1:a,0)/t.length;return!n&&r>.9?{how:"text"}:Bye.test(e)?{how:"binary"}:Fye.test(e)?{how:"text"}:zye.test(e)?{how:"unsupported",reason:`"${e}" is an image, and this composer only sends text and documents. Save it into the project folder and ask me to describe it — I can read images from there.`}:{how:"unsupported",reason:`"${e}" is not a text file and not a document type I can read. Attach a PDF, DOCX, XLSX, PPTX, or a text/CSV/JSON/Markdown file — or put the file in the project folder and ask me to read it.`}}function Hye(e){const t=["pending","running","done","blocked"].includes(e.status),n=typeof e.note=="string"&&e.note.trim()?e.note.trim():void 0;return{id:e.id,description:e.description,status:t?e.status:"pending",...n?{note:n}:{}}}function Gye(e){return e==="read_file"||e==="glob"||e==="list_dir"?"📖":e==="edit_file"||e==="write_file"?"✏️":e==="run_terminal"||e==="run_cli"?"⚙️":e==="web_search"||e==="read_page"?"🌐":e==="delegate"||e==="spawn_subagents"?"👥":e==="ask_user"?"🤔":"🔧"}function qye(e){const t=String(e??"").trim().toLowerCase();return t==="max"||t==="maximum"||t==="unlimited"||t==="performance"||t==="performance-first"?"max":"balanced"}function jc({diff:e,selectable:t=!1,onCommitAccepted:n,lockedHint:r}){const[a,s]=b.useState(null),o=new Set(a??e.files.map(d=>d.path)),l=d=>{s(f=>{const h=f??e.files.map(p=>p.path);return h.includes(d)?h.filter(p=>p!==d):[...h,d]})},c=e.files.reduce((d,f)=>{var h;return d+(((h=f.body.match(/^\+/gm))==null?void 0:h.length)??0)},0),u=e.files.reduce((d,f)=>{var h;return d+(((h=f.body.match(/^-/gm))==null?void 0:h.length)??0)},0);return i.jsxs("div",{className:"chat-diff-card",children:[i.jsxs("div",{className:"chat-diff-head",children:[i.jsx("span",{className:"chat-diff-icon",children:"🔧"}),i.jsx("span",{className:"chat-diff-title",children:"git diff"}),i.jsxs("span",{className:"chat-diff-meta",children:[e.files.length," file",e.files.length===1?"":"s"," · +",c," −",u]})]}),i.jsx("div",{className:"chat-diff-files",children:e.files.map(d=>{const f=o.has(d.path);return i.jsxs("details",{className:`chat-diff-file${f?"":" chat-diff-file-rejected"}`,open:e.files.length===1,children:[i.jsxs("summary",{className:"chat-diff-file-path",children:[t?i.jsx("button",{type:"button",className:`chat-diff-toggle${f?" chat-diff-toggle-on":""}`,title:f?"Accepted — click to reject":"Rejected — click to accept",onClick:h=>{h.preventDefault(),h.stopPropagation(),l(d.path)},children:f?"✓":"✗"}):null,d.path]}),i.jsx("pre",{className:"chat-diff-body",children:d.body.split(`
|
|
203
|
-
`).map((h,p)=>{const m=h.startsWith("+")?"diff-add":h.startsWith("-")?"diff-del":h.startsWith("@@")?"diff-hunk":"";return i.jsx("div",{className:`chat-diff-line ${m}`,children:h||" "},p)})})]},d.path)})}),t&&n?i.jsxs("div",{className:"chat-diff-actions",children:[i.jsxs("button",{className:"admin-refresh-btn",type:"button",disabled:o.size===0,onClick:()=>n([...o]),children:["Commit accepted (",o.size,")"]}),i.jsx("span",{className:"admin-hint",children:"Only accepted files are committed — the agent re-confirms with a question card."})]}):r?i.jsx("div",{className:"chat-diff-actions",children:i.jsxs("span",{className:"admin-hint chat-diff-locked",children:["🔒 ",r]})}):null]})}function p$({text:e,label:t}){const[n,r]=b.useState(!1),a=async()=>{var s;try{await((s=navigator.clipboard)==null?void 0:s.writeText(e)),r(!0),setTimeout(()=>r(!1),1500)}catch{}};return i.jsx("button",{type:"button",className:"chat-card-copy",title:`Copy ${t}`,onClick:()=>void a(),children:n?"✓ Copied":"⧉ Copy"})}function Kye({result:e}){const t=e.verdict==="pass"?"✅":e.verdict==="fail"?"❌":"📋";return i.jsxs("div",{className:`chat-result-card chat-result-${e.verdict}`,children:[i.jsxs("div",{className:"chat-result-head",children:[i.jsx("span",{className:"chat-result-icon",children:t}),i.jsx("span",{className:"chat-result-title",children:e.title}),i.jsx("span",{className:"chat-result-meta",children:e.verdict}),i.jsx(p$,{text:e.body,label:"result output"})]}),i.jsx("pre",{className:"chat-result-body",children:e.body})]})}function Vye({deploy:e}){return i.jsxs("div",{className:"chat-deploy-card",children:[i.jsxs("div",{className:"chat-deploy-head",children:[i.jsx("span",{className:"chat-deploy-icon",children:"🚀"}),i.jsx("span",{className:"chat-deploy-title",children:e.title||"Deployment"}),i.jsx(p$,{text:e.url,label:"deployment URL"})]}),i.jsx("a",{className:"chat-deploy-url",href:e.url,target:"_blank",rel:"noopener noreferrer",children:e.url})]})}function Yye({children:e}){const t=b.useRef(null),n=r=>{if(!t.current)return;const a=Array.from(t.current.querySelectorAll("[data-artifact-card]"));if(a.length===0)return;const s=a.indexOf(document.activeElement);let o=-1;r.key==="ArrowDown"?o=s+1>=a.length?0:s+1:r.key==="ArrowUp"?o=s-1<0?a.length-1:s-1:r.key==="Home"?o=0:r.key==="End"&&(o=a.length-1),o>=0&&o!==s&&(r.preventDefault(),a[o].focus())};return i.jsx("div",{className:"chat-artifacts",ref:t,role:"group","aria-label":"Artifacts",onKeyDown:n,children:e})}function W_({draft:e,onAccept:t,onReject:n,onEdit:r}){const a=e.status??"pending",s=e.markdown.split(`
|
|
204
|
-
`),o=s.findIndex(c=>c.startsWith("# "))>=0?s.findIndex(c=>c.startsWith("# ")):0,l=s.slice(o,o+14).join(`
|
|
205
|
-
`);return i.jsxs("div",{className:`chat-draft-card${a==="saved"?" chat-draft-saved":""}${a==="rejected"?" chat-draft-rejected":""}`,children:[i.jsxs("div",{className:"chat-draft-head",children:[i.jsx("span",{className:"chat-draft-icon",children:"🧠"}),i.jsxs("span",{className:"chat-draft-title",children:["New skill draft: ",e.name]}),i.jsx("span",{className:"chat-draft-meta",children:"pending your review"})]}),i.jsx("p",{className:"chat-draft-desc",children:e.description}),i.jsx("pre",{className:"chat-draft-body",children:l}),a==="saving"?i.jsx("div",{className:"admin-hint",children:"Saving…"}):a==="saved"?i.jsx("div",{className:"admin-hint",children:"✅ Saved — the skill is live: load it in chat or see it in the Agent Hub Skills tab."}):a==="rejected"?i.jsx("div",{className:"admin-hint",children:"🗑️ Rejected — the draft was discarded, nothing was saved."}):i.jsxs("div",{className:"chat-draft-actions",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>t(e.name),children:"✅ Accept"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>r(e.name),children:"✏️ Edit"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>n(e.name),children:"↩ Reject"})]})]})}function Xye({request:e,onSave:t}){const[n,r]=b.useState({}),[a,s]=b.useState(!1),o=e.missing.every(u=>{var d;return(d=n[u])==null?void 0:d.trim()}),l=e.missing.filter(u=>e.persisted[u]),c=e.missing.filter(u=>!e.persisted[u]);return i.jsxs("div",{className:"chat-secret-card",children:[i.jsxs("div",{className:"chat-secret-head",children:[i.jsx("span",{className:"chat-secret-icon",children:"🔐"}),i.jsxs("span",{className:"chat-secret-title",children:[e.skillName," needs environment variables"]})]}),l.length>0?i.jsxs("div",{className:"chat-secret-persisted",children:["Already configured: ",l.map(u=>i.jsx("code",{children:u},u)).join(", ")]}):null,c.length>0&&!a?i.jsxs("div",{className:"chat-secret-fields",children:[c.map(u=>i.jsxs("div",{className:"chat-secret-row",children:[i.jsxs("label",{className:"chat-secret-label",htmlFor:`secret-${u}`,children:[u,":"]}),i.jsx("input",{id:`secret-${u}`,className:"chat-secret-input",type:"password",placeholder:`Enter ${u} value…`,value:n[u]??"",onChange:d=>r(f=>({...f,[u]:d.target.value}))})]},u)),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:!o,onClick:()=>{t(n),s(!0)},children:"💾 Save to ~/.buff/.env"})]}):a?i.jsx("div",{className:"admin-hint",children:"✅ Saved — the skill will pick up these values on next load."}):i.jsx("div",{className:"admin-hint",children:"All required env vars are already configured."})]})}function Qye({result:e}){const[t,n]=b.useState(!1),r=e.success?"✅":"❌",a=e.success?"Success":`Failed (exit ${e.exitCode})`,s=e.success?"chat-exec-success":"chat-exec-failure",o=new Date(e.timestamp).toLocaleTimeString();return i.jsxs("div",{className:`chat-exec-card ${s}`,children:[i.jsxs("div",{className:"chat-exec-head",onClick:()=>n(!t),style:{cursor:"pointer"},children:[i.jsx("span",{className:"chat-exec-icon",children:"📜"}),i.jsx("span",{className:"chat-exec-title",children:e.skillName}),i.jsxs("span",{className:"chat-exec-status",children:[r," ",a]}),i.jsxs("span",{className:"chat-exec-meta",children:[e.runtime," · ",e.durationMs,"ms · ",o]}),i.jsx("span",{className:"chat-exec-expand",children:t?"▼":"▶"})]}),t&&i.jsxs("div",{className:"chat-exec-body",children:[e.stdout&&i.jsxs("div",{className:"chat-exec-section",children:[i.jsx("div",{className:"chat-exec-section-title",children:"stdout"}),i.jsx("pre",{className:"chat-exec-output",children:e.stdout})]}),e.stderr&&i.jsxs("div",{className:"chat-exec-section chat-exec-stderr",children:[i.jsx("div",{className:"chat-exec-section-title",children:"stderr"}),i.jsx("pre",{className:"chat-exec-output",children:e.stderr})]}),i.jsxs("div",{className:"chat-exec-details",children:[i.jsxs("span",{children:["Runtime: ",e.runtime]}),i.jsxs("span",{children:["Exit code: ",e.exitCode]}),i.jsxs("span",{children:["Duration: ",e.durationMs,"ms"]})]})]})]})}function Zye(e){return e==="done"?"✅":e==="running"?"🔄":e==="blocked"?"⛔":"⬜"}function Jye(e){return e==="done"?"done":e==="running"?"in progress":e==="blocked"?"blocked":"pending"}function H_({plan:e}){const t=e.steps.length,n=e.steps.filter(c=>c.status==="done").length,r=e.steps.filter(c=>c.status==="blocked").length,a=t===0?0:Math.round(n/t*100),s=t>0&&n===t,o=t>0&&e.steps.every(c=>c.status==="done"||c.status==="blocked"),l=e.steps.some(c=>c.note);return i.jsxs("div",{className:`chat-plan-card${s?" chat-plan-complete":""}`,children:[i.jsxs("div",{className:"chat-plan-head",children:[i.jsx("span",{className:"chat-plan-icon",children:"🗂️"}),i.jsx("span",{className:"chat-plan-goal",children:e.goal}),i.jsxs("span",{className:"chat-plan-count",children:[n,"/",t," done · ",a,"%"]})]}),i.jsx("div",{className:"chat-plan-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,children:i.jsx("span",{className:"chat-plan-bar-fill",style:{width:`${a}%`}})}),i.jsxs("table",{className:"chat-plan-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{className:"chat-plan-col-n",children:"#"}),i.jsx("th",{children:"Step"}),i.jsx("th",{className:"chat-plan-col-status",children:"Status"}),l?i.jsx("th",{children:"Notes"}):null]})}),i.jsx("tbody",{children:e.steps.map((c,u)=>i.jsxs("tr",{className:`chat-plan-row chat-plan-row-${c.status}`,children:[i.jsx("td",{className:"chat-plan-col-n",children:u+1}),i.jsx("td",{className:"chat-plan-step-text",children:c.description}),i.jsxs("td",{className:"chat-plan-col-status",children:[i.jsx("span",{className:"chat-plan-step-icon",children:Zye(c.status)})," ",Jye(c.status)]}),l?i.jsx("td",{className:"chat-plan-note",children:c.note??""}):null]},c.id))})]}),o?i.jsx("div",{className:"chat-plan-settled",children:s?`✅ Plan complete — ${n}/${t} steps achieved`:`📋 Plan settled — ${n}/${t} achieved, ${r} blocked`}):null]})}function G_({tools:e,live:t}){return!e||e.length===0?null:i.jsx("div",{className:`chat-tool-cards${t?" chat-tool-cards-live":""}`,children:e.map(n=>{const r=n.phase==="started"||n.ok===void 0,a=n.ok===!1;return i.jsxs("div",{className:`chat-tool-card${r?" chat-tool-running":a?" chat-tool-err":" chat-tool-ok"}`,children:[i.jsxs("div",{className:"chat-tool-head",children:[i.jsx("span",{className:"chat-tool-icon",children:Gye(n.tool)}),i.jsx("span",{className:"chat-tool-name",children:n.tool}),n.args?i.jsx("code",{className:"chat-tool-args",children:n.args}):null,i.jsx("span",{className:"chat-tool-status",title:r?"running":a?"failed":"done",children:r?"⏳":a?"✗":"✓"}),n.durationMs!==void 0&&!r?i.jsxs("span",{className:"chat-tool-dur",children:[n.durationMs,"ms"]}):null]}),n.error||n.result?i.jsxs("details",{className:"chat-tool-detail",children:[i.jsx("summary",{children:a?"Error":"Result"}),i.jsx("pre",{className:"chat-tool-body",children:n.error||n.result})]}):null]},n.id)})})}function m$(e){return(e.evidence??[]).filter(t=>typeof(t==null?void 0:t.ref)=="string"&&t.ref.trim().length>0)}function ebe(e){const t=e.filter(n=>n.verdict==="CONFIRMED"&&m$(n).length>0).length;return`${e.length} finding${e.length===1?"":"s"}: ${t} confirmed, ${e.length-t} plausible`}function q_({findings:e}){return!e||e.length===0?null:i.jsxs("details",{className:"chat-steps chat-findings",children:[i.jsx("summary",{children:`🔎 ${ebe(e)}`}),i.jsx("div",{className:"chat-finding-cards",children:e.map((t,n)=>{const r=m$(t),a=t.verdict==="CONFIRMED"&&r.length>0;return i.jsxs("div",{className:`chat-finding-card ${a?"chat-finding-confirmed":"chat-finding-plausible"}`,children:[i.jsxs("div",{className:"chat-finding-head",children:[i.jsx("span",{className:"chat-finding-icon","aria-hidden":"true",children:a?"✅":"🔎"}),i.jsx("span",{className:"chat-finding-claim",children:t.claim}),i.jsx("span",{className:`chat-finding-verdict ${a?"chat-finding-verdict-ok":"chat-finding-verdict-guess"}`,title:a?"a check was performed and is shown below":"reasoned, not verified",children:a?"CONFIRMED":"PLAUSIBLE"})]}),t.outcome?i.jsx("div",{className:"chat-finding-outcome",children:t.outcome}):null,r.length>0?i.jsx("ul",{className:"chat-finding-evidence",children:r.map((s,o)=>i.jsxs("li",{children:[i.jsx("span",{className:"chat-finding-kind",children:s.kind}),i.jsx("code",{className:"chat-finding-ref",children:s.ref}),s.detail?i.jsxs("span",{className:"chat-finding-detail",children:["(",s.detail,")"]}):null]},o))}):i.jsx("div",{className:"chat-finding-noevidence",children:"no evidence — reported as PLAUSIBLE, not verified"}),t.source?i.jsxs("div",{className:"chat-finding-source",children:["source: ",t.source]}):null]},`${n}-${t.claim}`)})})]})}function tbe({worktree:e}){return i.jsxs("div",{className:"chat-worktree-card",children:[i.jsxs("div",{className:"chat-worktree-head",children:[i.jsx("span",{className:"chat-worktree-icon","aria-hidden":"true",children:"🌿"}),i.jsx("span",{className:"chat-worktree-title",children:"Ran in an isolated worktree"}),i.jsx("span",{className:`chat-worktree-state ${e.removed?"chat-worktree-gone":"chat-worktree-kept"}`,children:e.removed?"removed":"kept"})]}),i.jsxs("div",{className:"chat-worktree-meta",children:[i.jsx("code",{className:"chat-worktree-dir",title:e.dir,children:e.dir}),i.jsxs("span",{className:"admin-hint",children:["base ",e.base.slice(0,7)]})]}),i.jsx("div",{className:"chat-worktree-note admin-hint",children:e.removed?"the diff below is what is left of it — nothing was written into the project tree":"the directory above is still on disk"}),i.jsx(jc,{diff:e.diff.payload})]})}function nbe({resume:e}){return i.jsxs("details",{className:"chat-resume-card",children:[i.jsxs("summary",{className:"chat-resume-head",children:[i.jsx("span",{className:"chat-resume-icon","aria-hidden":"true",children:"↩️"}),i.jsx("span",{className:"chat-resume-title",children:"Resumed a recorded run"}),i.jsxs("span",{className:"chat-resume-count",children:[i.jsxs("span",{children:[e.replayed," step",e.replayed===1?"":"s"," replayed"]}),i.jsxs("span",{children:[e.modelCalls," model call",e.modelCalls===1?"":"s"," made"]})]}),i.jsx("span",{className:`chat-resume-state ${e.saved?"chat-resume-saved":"chat-resume-unsaved"}`,title:e.saved?"the record was written back, so a later resume can replay this run":"the record could NOT be written — a later resume will replay nothing from this run",children:e.saved?"recorded":"not recorded"}),i.jsx("span",{className:"chat-card-caret","aria-hidden":"true",children:"▸"})]}),i.jsxs("div",{className:"chat-resume-meta",children:[typeof e.callsAvoided=="number"&&e.callsAvoided>0&&i.jsxs("span",{className:"chat-resume-saved-calls",title:"model calls the resume did not re-pay for",children:[e.callsAvoided," model call",e.callsAvoided===1?"":"s"," saved"]}),i.jsx("code",{className:"chat-resume-id",title:"the checkpoint record this run used",children:e.id})]}),i.jsx("div",{className:"chat-resume-note",children:e.notice})]})}function rbe({report:e}){const t=e.verification==="verified"?"VERIFIED":e.verification==="unverified"?"UNVERIFIED":e.verification==="blocked"?"BLOCKED":"no changes",n=[];return e.flags.unverifiedActionClaim&&n.push("claimed an action no tool ran"),e.flags.unverifiedEditClaim&&n.push("claimed a fix nothing verified"),e.flags.unverifiedBuildClaim&&n.push("claimed a failing build worked"),e.flags.unverifiedEdit&&n.push("edited without verifying"),e.flags.undeliveredArtifact&&n.push("deliverable never written"),e.flags.unfulfilledPromise&&n.push("promised an action it did not take"),e.flags.noActionTaken&&n.push("no action taken"),e.flags.undeliveredChange&&n.push("asked for a change, delivered a plan"),e.flags.unbackedHealthClaim&&n.push("verdict on the product nothing exercised"),i.jsxs("details",{className:`chat-turn-card chat-turn-${e.verification}`,children:[i.jsxs("summary",{className:"chat-turn-head",children:[i.jsx("span",{className:"chat-turn-icon","aria-hidden":"true",children:"📋"}),i.jsx("span",{className:"chat-turn-title",children:"Turn report"}),e.planned?i.jsxs("span",{className:"chat-turn-count",title:e.planCarried?"the tracked plan was carried from an earlier turn — THIS turn did not advance it":"plan steps recorded as done this turn",children:[e.stepCounts.done,"/",e.stepCounts.total," steps",e.planCarried?" · carried":""]}):null,e.summary?i.jsx("span",{className:"chat-turn-headline",title:e.summary,children:e.summary}):null,i.jsx("span",{className:"chat-turn-verdict",title:"derived from recorded evidence, never the model's own narration",children:t}),i.jsx("span",{className:"chat-card-caret","aria-hidden":"true",children:"▸"})]}),i.jsxs("div",{className:"chat-turn-body",children:[e.steps.length>0?i.jsx("ul",{className:"chat-turn-steps",children:e.steps.map(r=>i.jsxs("li",{className:`chat-turn-step chat-turn-step-${r.status}`,children:[i.jsx("span",{className:"chat-turn-step-icon","aria-hidden":"true",children:r.status==="done"?"✅":r.status==="running"?"🔄":r.status==="blocked"?"⛔":"⬜"}),i.jsx("span",{className:"chat-turn-step-text",children:r.description}),r.note?i.jsx("span",{className:"chat-turn-step-note",children:r.note}):null,r.evidence?i.jsx("span",{className:"chat-turn-step-evidence",children:r.evidence}):null]},r.id))}):null,e.changedPaths.length>0?i.jsxs("div",{className:"chat-turn-files",children:[e.changedPaths.length," file",e.changedPaths.length===1?"":"s"," changed:"," ",i.jsxs("code",{children:[e.changedPaths.slice(0,6).join(", "),e.changedPaths.length>6?` +${e.changedPaths.length-6} more`:""]})]}):null,e.planCarried?i.jsx("div",{className:"chat-turn-carried",children:"📋 that plan is carried from an earlier turn — THIS turn did not advance it."}):null,e.unverifiedPaths&&e.unverifiedPaths.length>0?i.jsxs("div",{className:"chat-turn-owed",children:["⚠️ ",e.unverifiedPaths.length," changed path",e.unverifiedPaths.length===1?"":"s"," no check exercised:"," ",i.jsxs("code",{children:[e.unverifiedPaths.slice(0,6).join(", "),e.unverifiedPaths.length>6?` +${e.unverifiedPaths.length-6} more`:""]})]}):null,n.length>0?i.jsx("div",{className:"chat-turn-flags",children:n.map(r=>i.jsxs("span",{className:"chat-turn-flag",children:["⚠️ ",r]},r))}):null]})]})}function dv(){try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{}return`chat-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}const g$="nuvira.dashboard.chat.activeSession";function abe(){try{const e=sessionStorage.getItem(g$);return e&&e.length>0&&e.length<=64?e:null}catch{return null}}function fv(e){try{sessionStorage.setItem(g$,e)}catch{}}function ibe(e,t){const n=t.trim().toLowerCase(),r=n?e.filter(u=>`${u.title} ${u.preview} ${u.firstUser}`.toLowerCase().includes(n)):e,a=[],s=new Date,o=new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),l=864e5,c=[{label:"Today",match:u=>u>=o},{label:"Yesterday",match:u=>u>=o-l&&u<o},{label:"This week",match:u=>u>=o-7*l&&u<o-l},{label:"Older",match:()=>!0}];for(const u of c){const d=r.filter(f=>u.match(f.updatedAt));d.length>0&&a.push({label:u.label,items:d})}return a}function sbe({ceilingRecovery:e}={}){var Yl;const[t,n]=b.useState(null),r=qr(),[a,s]=b.useState(Mye);b.useEffect(()=>{K.fetchLimits().then(L=>{L&&L.attachmentMaxBytes>0&&s(L.attachmentMaxBytes)})},[]),b.useEffect(()=>{K.fetchProcessEnv().then(L=>{const E=L.find(F=>F.name==="NUVIRA_CAPABILITY_MODE");E&&O(qye(E.processValue??E.fileValue))})},[]),b.useEffect(()=>{K.listRoutableModels().then(L=>W(L))},[]);const[o,l]=b.useState([]),[c,u]=b.useState(""),[d,f]=b.useState(!1),[h,p]=b.useState(""),[m,g]=b.useState(null),[y,v]=b.useState(!1),[S,w]=b.useState(!1),[N,k]=b.useState(!1),[x,j]=b.useState(""),[_,O]=b.useState("balanced"),[C,P]=b.useState(""),[A,B]=b.useState(null),[I,M]=b.useState(!1),[D,W]=b.useState([]),[R,z]=b.useState(null),[T,Z]=b.useState([]),[U,$]=b.useState([]),[ie,de]=b.useState(null),[ve,Ee]=b.useState(null),[J,Y]=b.useState(null),[ae,ce]=b.useState([]),[H,xe]=b.useState([]),[ke,Oe]=b.useState([]),ge=b.useRef([]),Re=b.useRef([]),pe=b.useRef(null),Xe=b.useRef(null),$e=b.useRef(null),_e=b.useRef([]),[pt,Fe]=b.useState(""),lt=b.useRef(""),Vt=b.useRef(null),[q,Q]=b.useState(null),[oe,he]=b.useState(!1),Se=b.useRef(!1),Me=b.useRef(!1),[Ft,Ie]=b.useState(0),[Pn,Rn]=b.useState(null),[kt,It]=b.useState(null),rt=b.useRef(abe()??dv()),ir=b.useRef(""),[sr,fn]=b.useState([]),[Kr,Nt]=b.useState(!0),[or,qa]=b.useState(""),[Ll,Yt]=b.useState(null),[_r,Xt]=b.useState(""),[Cr,Qt]=b.useState([]),[fa,lr]=b.useState(null),[Ks,Ka]=b.useState(!1),Gi=b.useRef(null),cr=b.useRef(null),[qe,Vs]=b.useState(null),[ha,qi]=b.useState(null),[Va,Ys]=b.useState([]),[Ya,pa]=b.useState(""),[Xs,ma]=b.useState(""),[Ki,Vi]=b.useState(!1),[Mn,Xa]=b.useState(""),[Ar,ga]=b.useState([]),[G,ne]=b.useState(null),[Ne,je]=b.useState(!1),[$t,ur]=b.useState([]),[jn,va]=b.useState([]),[Yi,Qa]=b.useState(""),Qs=b.useRef(null),He=b.useRef(null),Dl=b.useRef(null),ya=b.useRef(null),[Pt,In]=b.useState(null),[Za,Rt]=b.useState(new Set),[Xi,dd]=b.useState("");b.useEffect(()=>{K.fetchAdminAuthStatus().then(L=>{n(L?{configured:L.configured,authenticated:L.authenticated,role:L.role??null}:{configured:!1,authenticated:!1,role:null})})},[r]),b.useEffect(()=>{var L,E;try{(E=(L=Dl.current)==null?void 0:L.scrollTo)==null||E.call(L,{top:Dl.current.scrollHeight})}catch{}},[o,d,T]),b.useEffect(()=>()=>{var L;(L=He.current)==null||L.call(He),He.current=null},[]);const Cm=b.useCallback(async L=>{var X,te;(X=He.current)==null||X.call(He),He.current=null;const E=await K.getChatSession(L);if(!E)return;rt.current=L,fv(L),l(E.turns.map(re=>({role:re.role,content:re.content,...re.role==="assistant"?{followups:[],artifacts:pf(re.content)}:{}}))),Z([]),ge.current=[],$([]),Re.current=[],de(null),pe.current=null,Ee(null),Xe.current=null,Y(null),$e.current=null,ce([]),_e.current=[],lt.current="",Fe(""),Q(null),p(""),z(null),In(null),Nt(!0),B(E.pinnedProvider&&E.pinnedModel?{provider:E.pinnedProvider,model:E.pinnedModel}:null);const F=E.projectPath;if(F){if(qi(F),(qe==null?void 0:qe.path)===F)return;(te=ya.current)==null||te.call(ya,F)}else qi(null)},[qe]),Bl=b.useCallback(()=>{var L;(L=He.current)==null||L.call(He),He.current=null,rt.current=dv(),fv(rt.current),qi(null),B(null),l([]),Z([]),ge.current=[],$([]),Re.current=[],de(null),pe.current=null,Ee(null),Xe.current=null,Y(null),$e.current=null,ce([]),_e.current=[],lt.current="",Fe(""),Q(null),p(""),z(null),In(null),Qt([]),lr(null),u(""),Nt(!0)},[]),Tr=b.useCallback(L=>{Qt(E=>[...E,L].slice(-10))},[]),Am=b.useCallback(L=>{Qt(E=>E.filter((F,X)=>X!==L))},[]),fd=b.useCallback(async L=>{if(!L)return;if(L.size>a){p(`Attachment "${L.name}" is too large (max ${Math.round(a/1024)} KB). Raise the cap in Admin → Process Environment (NUVIRA_ATTACHMENT_MAX_BYTES).`);return}const E=new Uint8Array(await L.slice(0,8192).arrayBuffer()),F=Wye(L.name,E);if(F.how==="unsupported"){p(F.reason);return}if(F.how==="binary"){const te=new Uint8Array(await L.arrayBuffer());Tr({name:L.name,content:Uye(te),kind:"file",encoding:"base64"});return}const X=await L.text();Tr({name:L.name,content:X,kind:"file",encoding:"text"})},[Tr]),Tm=b.useCallback(L=>{const E=L.currentTarget,F=L.clipboardData.getData("text")||"";F.length>=Dye&&(cr.current={start:E.selectionStart,end:E.selectionEnd},lr({text:F}))},[]),Zs=b.useCallback(()=>{const L=fa;if(!L)return;const E=cr.current;u(F=>E?F.slice(0,E.start)+F.slice(E.end):F),Tr({name:"pasted-text.txt",content:L.text,kind:"paste",encoding:"text"}),lr(null),cr.current=null},[fa,Tr]),Om=b.useCallback(L=>{Yt(L.id),Xt(L.title==="(untitled conversation)"?"":L.title)},[]),zl=b.useCallback(async L=>{const E=await K.renameChatSession(L,_r);E.ok?fn(F=>F.map(X=>X.id===L?{...X,title:_r.trim()||X.title}:X)):p(E.error||"Could not rename the session."),Yt(null),Xt("")},[_r]),Pm=b.useCallback(async L=>{const E=await K.deleteChatSession(L);E.ok?(fn(F=>F.filter(X=>X.id!==L)),rt.current===L&&Bl()):p(E.error||"Could not delete the session.")},[Bl]),Ja=(t==null?void 0:t.authenticated)===!0&&(t.role==="admin"||t.role==="operator"),Fl=b.useRef(!1);b.useEffect(()=>{if(!Ja||Fl.current)return;Fl.current=!0;const L=rt.current;let E=!1,F=null;const X=async()=>{const te=await K.getChatSession(L);E||te&&(Vt.current||l(te.turns.map(re=>({role:re.role,content:re.content,...re.role==="assistant"?{followups:[],artifacts:pf(re.content)}:{}}))),f(te.busy===!0),he(te.busy===!0),te.busy&&(F=setTimeout(()=>void X(),2500)))};return X(),()=>{E=!0,F&&clearTimeout(F)}},[Ja]),b.useEffect(()=>{if(!oe){Ie(0);return}const L=Date.now(),E=setInterval(()=>Ie(Date.now()-L),Lye);return()=>clearInterval(E)},[oe]),b.useEffect(()=>{Ja&&(K.listChatSessions().then(L=>{Array.isArray(L)&&fn(L)}),K.listProjects().then(L=>{Array.isArray(L)&&Ys(L)}))},[Ja]);const Gn=b.useCallback(async L=>{const E=L.trim();if(!E)return;ma("");const F=await K.attachProject(E);if(F.ok&&F.project){Vs(F.project),pa("");const X=await K.listProjects();Array.isArray(X)&&Ys(X)}else ma(F.error||"Could not attach that directory.")},[]);ya.current=Gn;const ei=b.useCallback(async L=>{Vi(!0),je(!0),Qa("");const E=await K.browseDirectories(L,{showDrives:!L});E.ok&&(Xa(E.path),ga(E.entries),ne(E.parent),E.drives&&ur(E.drives),E.breadcrumbs&&va(E.breadcrumbs)),je(!1)},[]),Js=b.useCallback(async L=>{je(!0),Qa("");const E=await K.browseDirectories(L);E.ok&&(Xa(E.path),ga(E.entries),ne(E.parent),E.breadcrumbs&&va(E.breadcrumbs)),je(!1)},[]),Ul=b.useCallback(async()=>{if(!Mn)return;const L=await K.browseDirectories(Mn);L.ok&&ga(L.entries)},[Mn]);b.useEffect(()=>K.onChatRetryEvent(E=>{if(E.sessionId!==rt.current){K.listChatSessions().then(F=>{Array.isArray(F)&&fn(F)});return}l(F=>[...F,{role:"assistant",content:E.content}]),E.kind==="answer"&&Q(null)}),[]),b.useEffect(()=>(Ki&&Mn&&(Qs.current=setInterval(()=>{Ul()},5e3)),()=>{Qs.current&&clearInterval(Qs.current)}),[Ki,Mn,Ul]);const Rm=b.useCallback(async()=>{if(typeof window<"u"&&"showDirectoryPicker"in window)try{const F=(await window.showDirectoryPicker({mode:"read"})).name;if(!F){ei();return}ma(""),f(!0);const X=await K.resolveFolder(F);f(!1),X.ok&&X.path?(pa(X.path),Gn(X.path)):ma('Folder "'+F+'" found — selecting it now. If this is wrong, type the full path below.');return}catch(E){if((E==null?void 0:E.name)==="AbortError")return}ei()},[ei,Gn]),ba=b.useCallback(L=>{if(Me.current)return;Me.current=!0,Se.current=!1;const E=L.content||"(the agent produced no text — try rephrasing)";l(F=>[...F,{role:"assistant",content:E,error:L.generationFailed===!0,followups:L.followups??[],steps:ge.current,tools:Re.current,plan:pe.current,diff:Xe.current,draft:$e.current,findings:_e.current,artifacts:pf(E)}]),lt.current="",Fe(""),p(""),Q(null),he(!1),f(!1),Nt(!0)},[]),hd=b.useCallback(async(L,E)=>{const F=(e==null?void 0:e.pollMs)??Iye,X=(e==null?void 0:e.maxMisses)??$ye;let te=0;for(;;){if(await new Promise(Je=>setTimeout(Je,F)),Me.current||!Se.current)return;const re=await K.getChatSession(L);if(!re){if(++te>=X){Se.current=!1,he(!1),f(!1),p("Lost contact with the server while this turn was running. The turn itself was not cancelled — its answer is in this conversation (reopen it) or in Traces.");return}continue}if(te=0,re.busy===!0)continue;const fe=[...re.turns].reverse().find(Je=>Je.role==="assistant");fe?ba({content:fe.content,followups:[]}):(Se.current=!1,he(!1),f(!1),Q(E));return}},[ba,e==null?void 0:e.pollMs,e==null?void 0:e.maxMisses]),sn=b.useCallback(async(L,E)=>{var Je,mt,we;const F=L.trim(),X=Array.isArray(E)?E:Cr;if(!F&&X.length===0||d)return;p(""),z(null),Z([]),ge.current=[],$([]),Re.current=[],de(null),pe.current=null,Ee(null),Xe.current=null,Y(null),$e.current=null,ce([]),_e.current=[],l(me=>[...me,{role:"user",content:F,attachments:X.length>0?X:void 0}]),u(""),Qt([]),lr(null),ir.current=F||`[${X.length} attachment(s)]`,f(!0),Nt(!1);const te=rt.current,re=new AbortController;Vt.current=re,Q(null),Se.current=!1,Me.current=!1,he(!1),(Je=He.current)==null||Je.call(He),He.current=K.subscribeChat(te,{onToken:me=>{lt.current+=me,Fe(lt.current)},onProgress:me=>{ge.current=[...ge.current,me],Z(ge.current)},onQuestion:me=>{In(me),Rt(new Set)},onTool:me=>{const at=[...Re.current],xa=at.findIndex(y$=>y$.id===me.id),Qi={id:me.id,tool:me.tool,phase:me.phase,args:me.args,ok:me.ok,result:me.result,error:me.error,durationMs:me.durationMs};xa>=0?at[xa]=Qi:at.push(Qi),Re.current=at,$(at)},onPlan:me=>{const at={goal:me.goal,steps:me.steps.map(Hye),revision:me.revision};pe.current=at,de(at)},onDiff:me=>{const at={files:me.files,summary:me.summary};Xe.current=at,Ee(at)},onSkillDraft:me=>{const at={name:me.name,description:me.description,markdown:me.markdown,updatedAt:me.updatedAt,status:"pending"};$e.current=at,Y(at)},onFinding:me=>{_e.current=[..._e.current,me],ce(_e.current)},onSecretRequest:me=>{xe(at=>{const xa=at.findIndex(Qi=>Qi.skillName===me.skillName);if(xa>=0){const Qi=[...at];return Qi[xa]=me,Qi}return[...at,me]})},onExecutionResult:me=>{Oe(at=>[...at,me])},onTurnDone:me=>{Se.current&&ba(me)}});const fe=await K.chatSend(te,F||`(see ${X.length} attachment${X.length===1?"":"s"})`,{...A?{provider:A.provider,model:A.model}:{},...A&&I?{strict:!0}:{},projectPath:qe==null?void 0:qe.path,attachments:X.map(me=>({name:me.name,content:me.content,kind:me.kind,encoding:me.encoding??"text"})),...y?{worktree:!0,keepWorktree:S}:{},...N?{resume:x.trim()||!0}:{}},re.signal);if(Vt.current=null,(mt=He.current)==null||mt.call(He),He.current=null,lt.current="",Fe(""),fe.ok){z(fe.generationFailed?null:`${fe.provider??"provider"}${fe.model?` / ${fe.model}`:" (auto-routed)"}`),Rn(fe.routingNotice??null),It(fe.workspaceNotice??null),fe.workspacePath&&fe.workspacePath!==(qe==null?void 0:qe.path)&&((we=ya.current)==null||we.call(ya,fe.workspacePath)),Q(fe.generationFailed&&!fe.retryQueued&&!fe.refused?F:null);const me=fe.content||"(the agent produced no text — try rephrasing)";l(at=>[...at,{role:"assistant",content:me,error:fe.generationFailed,followups:fe.followups,steps:ge.current,tools:Re.current,plan:pe.current,diff:Xe.current,draft:$e.current,findings:fe.findings??_e.current,worktree:fe.worktree,resume:fe.resume,turnReport:fe.turnReport,refused:fe.refused,needsProject:fe.needsProject,artifacts:pf(me)}])}else re.signal.aborted?(p(""),Q(null)):fe.turnStillRunning?(p(""),Q(null),he(!0),Se.current=!0,Me.current=!1,hd(te,F)):fe.unauthorized?(n(me=>me&&{...me,authenticated:!1}),p("Session expired — log in again to chat.")):(p(fe.error||"The agent could not answer — check that a provider API key is set for the dashboard process."),Q(F));fe.ok===!1&&fe.turnStillRunning||(f(!1),Nt(!0))},[d,qe,Cr,y,S,N,x,A,ba,hd]),pd=b.useCallback(()=>{var L;(L=Vt.current)==null||L.abort(),K.chatCancel(rt.current)},[]),md=b.useCallback(async()=>{const L=_==="max"?"balanced":"max";P("");const E=await K.saveProcessEnvVar("NUVIRA_CAPABILITY_MODE",L);E.ok?(O(L),P(L==="max"?"⚡ Max capability is on for the next turn.":"⚖️ Back to balanced.")):P(E.error||"Could not change the capability mode.")},[_]),gd=b.useCallback(async()=>{g(null);const L=await K.chatSupportBundle(rt.current);g(L.ok?{kind:"ok",text:"Support bundle downloaded — attach it to your bug report."}:{kind:"err",text:L.error||"Could not build the support bundle."})},[]),Wl=b.useCallback(async L=>{Y(F=>F&&{...F,status:"saving"});const E=await K.skillDraftAccept(L);Y(F=>F&&{...F,status:E.ok?"saved":"error"}),E.ok||p(E.error||"Could not accept the draft.")},[]),Hl=b.useCallback(async L=>{const E=await K.skillDraftReject(L);E.ok?Y(F=>F&&{...F,status:"rejected"}):p(E.error||"Could not reject the draft.")},[]),Gl=b.useCallback(L=>{sn(`Revise the skill draft "${L}" — improve it per your best judgment and present it again.`)},[sn]),vd=b.useCallback(async L=>{const E=await K.saveSecrets(L);if(!E.ok){p(E.error||"Could not save secrets.");return}const F=E.refused??[];F.length>0&&p(F.map(X=>X.reason==="provider-credential"?`${X.name} is a provider credential — set it up as a provider, skills never receive it.`:`${X.name} was not saved (${X.reason}).`).join(" "))},[]),ql=b.useCallback(L=>{if(L.length===0)return;const E=qe?` in the attached project ${qe.path}`:"";sn(`Commit exactly these files that I accepted on the diff card (and nothing else)${E}: ${L.join(", ")}. Show me a short confirmation before finishing.`)},[sn,qe]),Vr=b.useCallback(async L=>{const E=Pt;if(!E)return;In(null),dd(""),Rt(new Set);const F=await K.chatRespond(rt.current,E.questionId,L);F.ok||p(F.error||"The question could not be answered — try sending your message again.")},[Pt]),Kl=b.useCallback(()=>{if(!Pt)return;const L=Xi.trim(),E=Pt.multiSelect?[...Za]:[...Za][0];Pt.multiSelect?Vr({index:[...Za],...L?{custom:L}:{}}):Vr(L?{index:-1,custom:L}:E!==void 0?{index:E}:{index:-1})},[Pt,Za,Xi,Vr]),yd=b.useCallback(()=>{Pt&&Vr({index:-1})},[Pt,Vr]),bd=b.useCallback(L=>{Rt(E=>{const F=new Set(E);return Pt!=null&&Pt.multiSelect?F.has(L)?F.delete(L):F.add(L):(F.clear(),F.add(L)),F})},[Pt]),xd=b.useCallback(async()=>{var E;(E=He.current)==null||E.call(He),He.current=null,rt.current=dv(),fv(rt.current),l([]),Z([]),ge.current=[],$([]),Re.current=[],de(null),pe.current=null,Ee(null),Xe.current=null,Y(null),$e.current=null,ce([]),_e.current=[],lt.current="",Fe(""),Q(null),p(""),z(null),In(null);const L=await K.listChatSessions();Array.isArray(L)&&fn(L)},[]),Vl=((Yl=[...o].reverse().find(L=>{var E;return L.role==="assistant"&&!L.error&&(((E=L.followups)==null?void 0:E.length)??0)>0}))==null?void 0:Yl.followups)??[];return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"💬",title:"Chat with the agent",actions:i.jsxs("div",{className:"chat-head-actions",children:[R?i.jsx("span",{className:"admin-hint",children:R}):null,i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void xd(),disabled:d||o.length===0,children:"🗑 New conversation"})]})}),t!=null&&t.authenticated?Ja?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"chat-project-bar",children:qe?i.jsxs("div",{className:"chat-project-attached",children:[i.jsx("span",{className:"chat-project-icon",children:"📁"}),i.jsx("span",{className:"chat-project-name",children:qe.name}),i.jsxs("span",{className:"chat-project-meta",children:[qe.fileCount," files · ",qe.symbolCount," symbols",qe.truncated?" · truncated map":""]}),i.jsx("span",{className:"chat-project-path",title:qe.path,children:qe.path}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>Vs(null),children:"✕ detach"})]}):i.jsxs("div",{className:"chat-project-pick",children:[i.jsx("span",{className:"chat-project-icon",children:"📁"}),i.jsx("span",{className:"chat-project-hint",children:"Select Project Folder"}),Va.find(L=>L.kind==="cwd")?i.jsxs("span",{className:"chat-project-cwd",title:"Working directory used when no folder is attached",children:["⚙️ ",Va.find(L=>L.kind==="cwd").path]}):null,Va.length>0?i.jsx("span",{className:"chat-project-chips",children:Va.filter(L=>L.kind!=="cwd").slice(0,3).map(L=>i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void Gn(L.path),children:L.name},L.path))}):null,i.jsx("input",{className:"chat-project-input",value:Ya,onChange:L=>pa(L.target.value),onKeyDown:L=>{L.key==="Enter"&&(L.preventDefault(),Gn(Ya))},placeholder:"or type a path, e.g. ~/code/my-app",disabled:d}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Gn(Ya),disabled:d||!Ya.trim(),children:"Attach"}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>void Rm(),title:"Pick a project folder using your system's folder picker (Finder / Explorer)",children:"🗂️ Browse"}),Xs?i.jsx("span",{className:"chat-project-error",children:Xs}):null,Ki?i.jsxs("div",{className:"chat-browse-popover",children:[i.jsxs("div",{className:"chat-browse-head",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>Vi(!1),title:"Close",children:"✕"}),i.jsx("div",{className:"chat-browse-breadcrumbs",children:$t.length>0&&!Mn?i.jsx("span",{className:"admin-hint",children:"Select a drive or home folder:"}):i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"chat-breadcrumb",onClick:()=>void ei(),children:"🏠"}),jn.map((L,E)=>i.jsxs("span",{children:[i.jsx("span",{className:"chat-breadcrumb-sep",children:"/"}),i.jsx("button",{type:"button",className:"chat-breadcrumb",onClick:()=>void Js(L.path),children:L.name})]},L.path))]})})]}),$t.length>0&&!Mn?i.jsx("div",{className:"chat-browse-drives",children:$t.map(L=>i.jsx("button",{type:"button",className:"chat-browse-drive",onClick:()=>void Js(L.path),children:L.name},L.path))}):null,Ar.length>5?i.jsx("div",{className:"chat-browse-search",children:i.jsx("input",{type:"text",className:"chat-browse-filter",placeholder:"🔍 Filter folders…",value:Yi,onChange:L=>Qa(L.target.value),autoFocus:!0})}):null,i.jsx("div",{className:"chat-browse-list",children:Ne?i.jsx("span",{className:"admin-hint",children:"Loading…"}):Ar.length===0?i.jsx("span",{className:"admin-hint",children:"No subdirectories found"}):Ar.filter(L=>!Yi||L.name.toLowerCase().includes(Yi.toLowerCase())).map(L=>i.jsxs("button",{type:"button",className:"chat-browse-entry",onClick:()=>void Js(L.path),children:[i.jsx("span",{className:"chat-browse-entry-icon",children:"📁"}),i.jsx("span",{className:"chat-browse-entry-name",children:L.name}),L.modified?i.jsx("span",{className:"chat-browse-entry-date",children:new Date(L.modified).toLocaleDateString()}):null]},L.path))}),i.jsxs("div",{className:"chat-browse-foot",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>void Ul(),title:"Refresh folder list",children:"🔄"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>{Vi(!1),Gn(Mn)},disabled:!Mn,children:"📁 Select this folder"})]})]}):null]})}),ha&&(!qe||qe.path!==ha)?i.jsxs("div",{className:"chat-session-project-banner",children:[i.jsxs("span",{children:["⚠️ This conversation was working in ",i.jsx("code",{children:ha})]}),qe?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Gn(ha),children:"📁 Switch to it"}):i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Gn(ha),children:"📁 Attach it"})]}):null,i.jsxs("div",{className:"chat-layout",children:[Kr?i.jsxs("div",{className:"chat-sidebar",children:[i.jsxs("div",{className:"chat-sidebar-head",children:[i.jsx("span",{children:"📁 Sessions"}),i.jsxs("div",{className:"chat-sidebar-head-actions",children:[i.jsx("button",{type:"button",className:"chat-mini-action",title:"New chat",onClick:Bl,children:"+ New"}),i.jsx("button",{type:"button",className:"chat-mini-action",title:"Collapse history",onClick:()=>Nt(!1),children:"▸"})]})]}),i.jsx("input",{className:"chat-session-search",placeholder:"Search conversations…",value:or,onChange:L=>qa(L.target.value)}),sr.length===0?i.jsx("div",{className:"chat-sidebar-empty",children:"No past conversations yet."}):i.jsx("div",{className:"chat-sidebar-list",children:ibe(sr,or).map(({label:L,items:E})=>i.jsxs("div",{className:"chat-session-group",children:[i.jsx("div",{className:"chat-session-group-label",children:L}),E.map(F=>i.jsx("div",{className:`chat-session-item${F.id===rt.current?" chat-session-active":""}`,children:Ll===F.id?i.jsxs("div",{className:"chat-session-rename",children:[i.jsx("input",{autoFocus:!0,value:_r,onChange:X=>Xt(X.target.value),onKeyDown:X=>{X.key==="Enter"&&zl(F.id),X.key==="Escape"&&Yt(null)},placeholder:"Session title"}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>void zl(F.id),children:"✓"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("button",{type:"button",className:"chat-session-main",onClick:()=>void Cm(F.id),title:F.preview||F.title,children:[i.jsx("span",{className:"chat-session-title",children:F.title}),i.jsx("span",{className:"chat-session-preview",children:F.firstUser||F.preview}),i.jsxs("span",{className:"chat-session-meta",children:[F.projectPath?`📁 ${F.projectPath.split("/").pop()} · `:"",F.turnCount," msg",F.turnCount===1?"":"s"," · ",new Date(F.updatedAt).toLocaleString()]})]}),i.jsxs("span",{className:"chat-session-actions",children:[i.jsx("button",{type:"button",className:"chat-mini-action",title:"Rename",onClick:()=>Om(F),children:"✏️"}),i.jsx("button",{type:"button",className:"chat-mini-action",title:"Delete",onClick:()=>void Pm(F.id),children:"🗑"})]})]})},F.id))]},L))})]}):i.jsx("div",{className:"chat-rail",children:i.jsx("button",{type:"button",className:"chat-rail-btn",onClick:()=>Nt(!0),title:"Show history",children:"📁"})}),i.jsxs("div",{className:"chat-main",children:[i.jsxs("div",{className:"chat-thread",ref:Dl,role:"log","aria-live":"polite",children:[o.length===0?i.jsxs("div",{className:"empty-state",children:[i.jsx("p",{className:"empty-state-title",children:"Say anything — the agent decides what to do (answer, fix code, plan, run the pipeline)."}),i.jsxs("div",{className:"empty-state-chips",children:[i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void sn("what's the state of this project?"),children:"📋 assess this project"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void sn("run the test suite"),children:"🧪 run the tests"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void sn("stop the gateway"),children:"⏹ stop the gateway"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void sn("load the code-assessment skill and assess this project"),children:"🧠 load the code-assessment skill"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void sn("learn the workflow I just did as a skill"),children:"📚 learn a workflow as a skill"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void sn("publish the current version"),children:"🚀 publish the release"})]})]}):o.map((L,E)=>i.jsxs("div",{className:`chat-bubble chat-${L.role}${L.error?" chat-error":""}`,children:[i.jsx("div",{className:"chat-bubble-role",children:L.role==="user"?"You":"🤖 Agent"}),L.role==="assistant"?i.jsx("div",{className:"chat-bubble-text",children:i.jsx(B_,{text:L.content})}):i.jsx("div",{className:"chat-bubble-text",children:L.content}),L.role==="user"&&L.attachments&&L.attachments.length>0?i.jsxs("details",{className:"chat-steps",open:L.attachments.length===1,children:[i.jsxs("summary",{children:["📎 ",L.attachments.length," attachment",L.attachments.length===1?"":"s",":"," ",L.attachments.map(F=>F.name).join(", ")]}),L.attachments.map((F,X)=>i.jsxs("div",{className:"chat-attach-content",children:[i.jsxs("div",{className:"admin-hint",children:[F.name," — ",xt(F.content.length)," chars"]}),i.jsx("pre",{children:F.content})]},X))]}):null,L.role==="assistant"&&L.diff?i.jsxs("details",{className:"chat-steps",open:!0,children:[i.jsxs("summary",{children:["Changes: ",L.diff.summary]}),i.jsx(jc,{diff:L.diff,selectable:!0,onCommitAccepted:ql})]}):null,L.role==="assistant"&&L.artifacts&&(L.artifacts.diffs.length>0||L.artifacts.results.length>0||L.artifacts.deploys.length>0)?i.jsxs(Yye,{children:[L.artifacts.diffs.map((F,X)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Diff: ${F.summary}`,className:"chat-artifact-item",children:qe?i.jsx(jc,{diff:F,selectable:!0,onCommitAccepted:ql}):i.jsx(jc,{diff:F,lockedHint:"Attach a project to review and commit these changes."})},`diff-${X}`)),L.artifacts.results.map((F,X)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Result: ${F.title}`,className:"chat-artifact-item",children:i.jsx(Kye,{result:F})},`result-${X}`)),L.artifacts.deploys.map((F,X)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Deployment: ${F.url}`,className:"chat-artifact-item",children:i.jsx(Vye,{deploy:F})},`deploy-${X}`))]}):null,L.role==="assistant"&&L.draft?i.jsxs("details",{className:"chat-steps",open:!0,children:[i.jsxs("summary",{children:["Skill draft: ",L.draft.name]}),i.jsx(W_,{draft:L.draft,onAccept:Wl,onReject:Hl,onEdit:Gl})]}):null,L.role==="assistant"&&L.plan?i.jsxs("details",{className:"chat-steps",open:!0,children:[i.jsxs("summary",{children:["Plan: ",L.plan.goal]}),i.jsx(H_,{plan:L.plan})]}):null,L.role==="assistant"&&L.refused?i.jsx("div",{className:"chat-refused-line",children:"⛔ This turn did not run — the isolation it asked for could not be made. Nothing was written, and the reason is above."}):null,L.role==="assistant"&&L.needsProject?i.jsx("div",{className:"chat-refused-line",children:"📁 Nothing was run — attach a project folder above, then send the message again."}):null,L.role==="assistant"&&L.worktree?i.jsx(tbe,{worktree:L.worktree}):null,L.role==="assistant"&&L.resume?i.jsx(nbe,{resume:L.resume}):null,L.role==="assistant"&&L.turnReport?i.jsx(rbe,{report:L.turnReport}):null,L.role==="assistant"&&L.findings&&L.findings.length>0?i.jsx(q_,{findings:L.findings}):null,L.role==="assistant"&&L.tools&&L.tools.length>0?i.jsxs("details",{className:"chat-steps chat-tool-details",children:[i.jsxs("summary",{children:[L.tools.length," tool call",L.tools.length===1?"":"s"]}),i.jsx(G_,{tools:L.tools})]}):null,L.role==="assistant"&&L.steps&&L.steps.length>0?i.jsxs("details",{className:"chat-steps",children:[i.jsxs("summary",{children:[L.steps.length," step",L.steps.length===1?"":"s"]}),i.jsx("div",{className:"chat-step-line",children:L.steps.map((F,X)=>i.jsx("div",{children:F.trim()},X))})]}):null]},E)),d?i.jsxs("div",{className:"chat-bubble chat-assistant",children:[i.jsx("div",{className:"chat-bubble-role",children:"🤖 Agent"}),ie?i.jsx(H_,{plan:ie}):null,ve?i.jsx(jc,{diff:ve}):null,y&&d?i.jsx("div",{className:"chat-resume-line",children:"🌿 this turn is running in its own git worktree — the diff arrives with the answer"}):null,N&&d?i.jsx("div",{className:"chat-resume-line",children:"↩️ this turn is replaying the recorded steps of this ask that are unchanged — the count arrives with the answer"}):null,ae.length>0?i.jsx(q_,{findings:ae}):null,J?i.jsx(W_,{draft:J,onAccept:Wl,onReject:Hl,onEdit:Gl}):null,H.map(L=>i.jsx(Xye,{request:L,onSave:vd},L.skillName)),ke.map((L,E)=>i.jsx(Qye,{result:L},`${L.skillName}-${E}`)),i.jsx(G_,{tools:U,live:!0}),pt?i.jsx("div",{className:"chat-bubble-text chat-streaming",children:i.jsx(B_,{text:pt})}):null,i.jsx("div",{className:"chat-working",children:T.length>0?i.jsx("span",{className:"chat-working-lines",children:T.map((L,E)=>i.jsx("div",{className:"chat-step-line",children:L.trim()},E))}):i.jsxs(i.Fragment,{children:["💭 thinking… ",i.jsx("span",{className:"chat-dots"})]})})]}):null]}),h?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:h}):null,oe?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:["⏳ Still working on the server — ",Fb(Ft)," elapsed. This is a long-running turn, not a failure: the answer will appear here by itself when it lands, and you can close this page and come back."]}):null,Pn?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:[i.jsxs("span",{children:["ℹ️ ",Pn]})," ",i.jsx("button",{className:"chat-routing-notice-dismiss",type:"button","aria-label":"Dismiss routing notice",onClick:()=>Rn(null),children:"✕"})]}):null,kt?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:[i.jsxs("span",{children:["📁 ",kt]})," ",i.jsx("button",{className:"chat-routing-notice-dismiss",type:"button","aria-label":"Dismiss workspace notice",onClick:()=>It(null),children:"✕"})]}):null,m?i.jsx("div",{className:`admin-row-msg${m.kind==="err"?" admin-row-msg-err":""}`,children:m.text}):null,q&&!d?i.jsxs("div",{className:"chat-retry-row",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void sn(q),children:"↻ Retry"}),i.jsx("span",{className:"admin-hint",children:"Re-send the last message — the turn failed."})]}):null,Pt?i.jsxs("div",{className:"chat-resolve-card chat-question-card",children:[i.jsx("div",{className:"chat-resolve-head",children:i.jsxs("strong",{children:["🤔 ",Pt.question]})}),i.jsx("div",{className:"chat-resolve-options",children:Pt.choices.map((L,E)=>i.jsxs("button",{type:"button",className:`chat-chip${Za.has(E)?" chat-chip-selected":""}`,onClick:()=>bd(E),children:[L.label,L.description?i.jsxs("span",{className:"admin-hint",children:[" — ",L.description]}):null]},`${L.label}-${E}`))}),i.jsx("input",{className:"chat-question-custom",type:"text",placeholder:"✏️ Or type your own answer…",value:Xi,onChange:L=>dd(L.target.value),onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey&&(L.preventDefault(),Kl())}}),i.jsxs("div",{className:"chat-resolve-foot",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:Kl,children:Xi.trim()?"Send answer":Pt.multiSelect?"Submit":"Choose"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:yd,children:"Skip — best judgment"})]})]}):null,Vl.length>0&&!d?i.jsxs("div",{className:"chat-followups",children:[i.jsx("span",{className:"admin-hint",children:"Next steps:"}),Vl.map((L,E)=>i.jsx("button",{className:"chat-chip",type:"button",onClick:()=>void sn(L.prompt),children:L.label||L.prompt},E))]}):null,i.jsxs("form",{className:`chat-composer${Ks?" chat-composer-drag":""}`,onSubmit:L=>{L.preventDefault(),sn(c)},onDragOver:L=>{L.preventDefault(),Ka(!0)},onDragLeave:()=>Ka(!1),onDrop:L=>{var F;L.preventDefault(),Ka(!1);const E=Array.from(((F=L.dataTransfer)==null?void 0:F.files)??[]);for(const X of E.slice(0,10))fd(X)},children:[fa?i.jsxs("div",{className:"chat-paste-offer",children:[i.jsxs("span",{className:"admin-hint",children:["📄 You pasted ",xt(fa.text.length)," characters. Attach it as a file instead?"]}),i.jsx("button",{type:"button",className:"chat-chip",onClick:Zs,children:"Attach as text"}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>{lr(null),cr.current=null},children:"Keep inline"})]}):null,Cr.length>0?i.jsx("div",{className:"chat-attach-row",children:Cr.map((L,E)=>i.jsxs("span",{className:"chat-attach-chip",title:L.encoding==="base64"?`${L.name} (${xt(L.content.length)} base64 chars — read on the server)`:`${L.name} (${xt(L.content.length)} chars)`,children:["📎 ",L.name,i.jsx("span",{className:"admin-hint",children:L.encoding==="base64"?`${Math.round(L.content.length*3/4096)} KB`:`${xt(L.content.length)}c`}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>Am(E),children:"✕"})]},`${L.name}-${E}`))}):null,i.jsxs("div",{className:"chat-controls",children:[i.jsx("input",{ref:Gi,type:"file",accept:".pdf,.docx,.xlsx,.pptx,.txt,.md,.markdown,.text,.log,.csv,.tsv,.json,.xml,.yaml,.yml,.html,.htm,text/*",style:{display:"none"},onChange:L=>{var F;const E=(F=L.target.files)==null?void 0:F[0];E&&fd(E),L.target.value=""}}),i.jsx("button",{type:"button",className:"chat-attach-btn",title:"Attach a file (up to 300 KB): PDF, DOCX, XLSX, PPTX or text — documents are read on the server",disabled:d||Cr.length>=10,onClick:()=>{var L;return(L=Gi.current)==null?void 0:L.click()},children:"📎 attach"}),i.jsx("button",{type:"button",className:"chat-attach-btn","aria-label":"Download support bundle",title:"Download a support bundle for this chat: the session debug log (which backend served each turn) plus the conversation. Needs NUVIRA_DEBUG_LOG=1 in the dashboard process.",onClick:()=>void gd(),children:"🐞 debug"}),i.jsxs("button",{type:"button",className:`chat-attach-btn${y?" chat-attach-btn-on":""}`,"aria-label":"Run turns in an isolated git worktree","aria-pressed":y,title:y?"Turns run in their own git worktree and report the diff — click to run in the project tree again":"Run turns in their own git worktree of the attached project, and report the diff against the base commit. Refuses rather than running in your tree when the directory cannot be isolated. Needs an attached project (or the server's own git working directory).",onClick:()=>{v(L=>!L),g(null)},children:["🌿",y?" isolated":" isolate"]}),i.jsxs("button",{type:"button",className:`chat-attach-btn${N?" chat-attach-btn-on":""}`,"aria-label":"Replay this ask's recorded steps instead of paying for them again","aria-pressed":N,title:N?"Recorded steps whose input is unchanged are replayed instead of paid for — click to run fresh again":"Replay the steps of an earlier run of this same ask whose input is unchanged, instead of paying for them again. The record is keyed by the ask and the directory; name a checkpoint id below to resume a specific one. A step whose input CHANGED is paid for again.",onClick:()=>{k(L=>!L),g(null)},children:["↩️",N?" resuming":" resume"]}),N?i.jsx("input",{className:"chat-resume-input",value:x,onChange:L=>j(L.target.value),placeholder:"checkpoint id (blank = this ask's record)",title:"Resume this specific checkpoint record. Blank resumes the record for this ask in this directory.","aria-label":"Checkpoint id to resume",disabled:d}):null,y?i.jsxs("button",{type:"button",className:`chat-attach-btn${S?" chat-attach-btn-on":""}`,"aria-pressed":S,title:S?"The worktree is KEPT after the turn so you can look inside it":"The worktree is measured and removed after each turn",onClick:()=>w(L=>!L),children:["📌",S?" keep":" drop"]}):null,i.jsxs("select",{className:"chat-model-picker","aria-label":"Model: Auto or a specific routable model",title:A?`Pinned to ${A.provider}/${A.model} for this chat. Choose Auto to let the agent route again.`:"Auto (default): the agent picks the best routable model each turn. Choose one to pin it for this chat.",value:A?`${A.provider}|${A.model}`:"",disabled:d,onChange:L=>{const E=L.target.value;if(!E){B(null);return}const F=E.indexOf("|");B({provider:E.slice(0,F),model:E.slice(F+1)})},children:[i.jsx("option",{value:"",children:"🤖 Auto (agent decides)"}),A&&!D.some(L=>L.provider===A.provider&&L.model===A.model)?i.jsxs("option",{value:`${A.provider}|${A.model}`,children:[A.provider,"/",A.model," · pinned"]}):null,D.map(L=>i.jsxs("option",{value:`${L.provider}|${L.model}`,children:[L.provider,"/",L.model," · ",L.band," (",L.capability.toFixed(2),")"]},`${L.provider}|${L.model}`))]}),A?i.jsx("button",{type:"button",className:`chat-attach-btn${I?" chat-attach-btn-on":""}`,"aria-label":"Strict model pin: use this model only","aria-pressed":I,disabled:d,title:I?`Strict: this chat runs on ${A.provider}/${A.model} only. If it is unavailable the turn stops instead of substituting another model.`:`Auto routing may substitute another model if ${A.provider}/${A.model} is unavailable. Turn on strict mode to work with this model only.`,onClick:()=>M(L=>!L),children:I?"🔒 strict":"🔓 auto-fallback"}):null,i.jsx("button",{type:"button",className:`chat-attach-btn${_==="max"?" chat-attach-btn-on":""}`,"aria-label":"Capability mode: balanced or max","aria-pressed":_==="max",disabled:d,title:_==="max"?"Max capability: every turn routes to a strong model (a reasoning floor — not merely “paid”), cost ceilings are lifted, paid models are always allowed, and the loop gets its longest reasoning budget. Click to return to balanced.":"Balanced (default): the best model for complex/critical work and cheaper models for simple work, escalating when a stall is detected. Click for max capability — cost is not a concern.",onClick:()=>void md(),children:_==="max"?"⚡ max":"⚖️ balanced"}),C?i.jsx("span",{className:"admin-hint",children:C}):null]}),i.jsxs("div",{className:"chat-input-row",children:[i.jsx("textarea",{className:"chat-input-box",value:c,onChange:L=>u(L.target.value),onPaste:Tm,onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey?(L.preventDefault(),sn(c)):L.key==="ArrowUp"&&c===""&&ir.current&&(L.preventDefault(),u(ir.current))},placeholder:"Message the agent… (Enter to send · Shift+Enter for a new line · ↑ recalls last · 📎 attach a file or paste a large document)",disabled:d,maxLength:8e3,rows:1,autoFocus:!0}),d?i.jsx("button",{className:"admin-mini-btn chat-cancel-btn",type:"button",onClick:pd,children:"⏹ Cancel"}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:d||!c.trim()&&Cr.length===0,children:d?"⏳ Working…":"➤ Send"})]})]}),i.jsxs("p",{className:"admin-hint",children:["Each message runs the full agent loop in the dashboard process (same engine as"," ",i.jsx("code",{children:'buff chat "<prompt>"'}),") — the provider API keys must be configured in the dashboard process. Clarifications (",i.jsx("code",{children:"ask_user"}),") appear as a question card here — choose an answer or skip (best judgment)."]})]})]})]}):i.jsx("div",{className:"admin-login-hint",children:i.jsx("p",{children:"Your role can view the dashboard but not chat (requires admin or operator)."})}):i.jsxs("div",{className:"admin-login-hint",children:[i.jsx("p",{children:"Log in (admin or operator) to chat with the agent. Configure the dashboard admin credential first if this is a fresh setup."}),(t==null?void 0:t.configured)===!1?i.jsxs("p",{className:"admin-hint",children:["Run ",i.jsx("code",{children:"buff dashboard"})," once, or set ",i.jsx("code",{children:"BUFF_DASHBOARD_ADMIN_USER"})," / ",i.jsx("code",{children:"BUFF_DASHBOARD_ADMIN_PASSWORD"}),"."]}):null]})]})}const obe={running:"⏳ running",done:"✅ done",failed:"❌ failed",cancelled:"⏹ cancelled",timeout:"⏰ timed out",error:"💥 error",hung:"🚫 stopped (hung)"},lbe=0;function v$({presets:e,customPlaceholder:t,timeoutMs:n=lbe,hint:r}){const[a,s]=b.useState(null),o=qr(),[l,c]=b.useState(!1),[u,d]=b.useState(""),[f,h]=b.useState(""),[p,m]=b.useState(null),[g,y]=b.useState([]),[v,S]=b.useState(0),w=b.useRef(null),N=b.useRef(null),k=b.useRef(Date.now());b.useEffect(()=>{K.fetchAdminAuthStatus().then(O=>{s(O?{authenticated:O.authenticated,role:O.role??null}:{authenticated:!1,role:null})})},[o]),b.useEffect(()=>{var O,C;try{(C=(O=w.current)==null?void 0:O.scrollIntoView)==null||C.call(O,{block:"end"})}catch{}},[g]),b.useEffect(()=>()=>{var O;(O=N.current)==null||O.call(N)},[]);const x=(a==null?void 0:a.authenticated)===!0&&(a.role==="admin"||a.role==="operator"),j=b.useCallback(async(O,C)=>{var I;if(l)return;c(!0),d(""),y([]),k.current=Date.now(),S(0);const P=await K.startTask(O,C??n);if(!P.ok||!P.task){d(P.error||"Could not start the command."),c(!1);return}const A=P.task;m(A);const B=await K.getTask(A.id);B!=null&&B.task&&y(B.task.logs.map(M=>({stream:M.stream,text:M.text}))),(I=N.current)==null||I.call(N),N.current=K.subscribeTask(A.id,{onLog:M=>y(D=>[...D,{stream:M.stream,text:M.text}]),onStatus:M=>{m(D=>D&&{...D,status:M}),M!=="running"&&c(!1)}})},[l,n]),_=b.useCallback(async()=>{p&&await K.cancelTask(p.id)},[p]);return b.useEffect(()=>{if(!l)return;const O=setInterval(()=>S(Date.now()-k.current),1e3);return()=>clearInterval(O)},[l]),i.jsxs("div",{className:"ops-console",children:[a!=null&&a.authenticated?x?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"ops-presets",children:e.map(O=>i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void j(O.args,O.timeoutMs),disabled:l,children:O.label},O.label))}),i.jsxs("div",{className:"ops-custom-row",children:[i.jsx("input",{type:"text",value:f,onChange:O=>h(O.target.value),placeholder:t,disabled:l,maxLength:160}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void j(f.trim().split(/\s+/)),disabled:l||!f.trim(),children:"Run"})]}),r?i.jsx("p",{className:"admin-hint",children:r}):null]}):i.jsx("div",{className:"admin-login-hint",children:"Your role can view but not run commands (requires admin or operator)."}):i.jsx("div",{className:"admin-login-hint",children:"Log in (admin or operator) to run commands."}),u?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:u}):null,p?i.jsxs("div",{className:"ops-console-box",children:[i.jsxs("div",{className:"ops-console-head",children:[i.jsxs("span",{children:[p.command," · ",i.jsx("span",{className:p.status==="running"?"task-status-running":"",children:obe[p.status]})," · ",i.jsx("span",{className:"task-elapsed",children:p.status==="running"?Fb(v):Fb(p.durationMs??v)})]}),p.status==="running"?i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void _(),children:"⏹ Cancel"}):null]}),i.jsxs("pre",{className:"ops-console",role:"log",children:[g.length>0?g.map((O,C)=>i.jsx("div",{children:O.text},C)):i.jsx("div",{className:"admin-hint",children:"Waiting for output…"}),i.jsx("div",{ref:w})]})]}):null]})}const cbe=[{label:"⚡ Quick smoke",args:["eval","run","--tasks","quick","--format","text"]},{label:"⏱ Medium suite",args:["eval","run","--tasks","medium","--format","text"]},{label:"🐢 Slow suite",args:["eval","run","--tasks","slow","--format","text"]},{label:"🏆 M2B parity",args:["eval","run","--suite","m2b","--format","text"]},{label:"📦 Full suite",args:["eval","run","--suite","full","--format","text"]}];function K_(e){return typeof e!="number"?"—":`${Math.round(e*100)}%`}function ube(e){return new Date(e).toLocaleString()}function dbe({data:e}){var n;const t=((n=e==null?void 0:e.evals)==null?void 0:n.runs)??[];return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🏆",title:"Evals — run buff eval from the GUI"}),i.jsx(v$,{presets:cbe,customPlaceholder:"e.g. eval run --tasks my-task --provider groq --model llama",timeoutMs:9e5,hint:i.jsxs(i.Fragment,{children:["Runs the real ",i.jsx("code",{children:"buff eval run"})," as an isolated process — same engine, same ledger, same results as the CLI. Long suites can take minutes; you can cancel mid-run."]})}),i.jsx("h2",{className:"section-subtitle",children:"📜 Past runs (auto-refreshes)"}),t.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Started"}),i.jsx("th",{children:"Provider"}),i.jsx("th",{children:"Model"}),i.jsx("th",{children:"Tasks"}),i.jsx("th",{children:"Pass"}),i.jsx("th",{children:"Completion"}),i.jsx("th",{children:"Composite"}),i.jsx("th",{children:"Cost"})]})}),i.jsx("tbody",{children:t.map(r=>i.jsxs("tr",{children:[i.jsx("td",{children:ube(r.startedAt)}),i.jsx("td",{className:"admin-provider-type",children:r.provider}),i.jsx("td",{children:r.model}),i.jsx("td",{children:r.summary.totalTasks}),i.jsxs("td",{children:[r.summary.tasksPassed,"/",r.summary.totalTasks]}),i.jsx("td",{children:K_(r.summary.completionRate)}),i.jsx("td",{children:K_(r.summary.avgCompositeScore)}),i.jsxs("td",{children:["$",(r.summary.totalCostUsd??0).toFixed(4)]})]},r.id))})]})}):i.jsx("div",{className:"empty-state",children:"No eval runs yet — start one above (or `buff eval run` from the CLI)."})]})}const fbe=[{label:"🌐 Gateway status",args:["gateway","status"]},{label:"📮 Delivery ledger",args:["gateway","delivery"]},{label:"▶️ Start gateway (foreground)",args:["gateway","start","--no-events"],timeoutMs:0},{label:"⏰ Cron jobs",args:["admin","cron","list"]}];function hbe(){return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🌐",title:"Gateway ops — run buff gateway from the GUI"}),i.jsx(v$,{presets:fbe,customPlaceholder:"e.g. admin cron run nightly or gateway alias add ops email:team@example.com",timeoutMs:0,hint:i.jsxs(i.Fragment,{children:["Each command runs as the real CLI in an isolated process (the P1 task runner) — the same engine as your terminal — and runs ",i.jsx("strong",{children:"until it finishes or you press Cancel"})," (no 5-minute cutoff). The elapsed time is shown beside the status, and work continues after you switch tabs (the process lives on the dashboard server, not the page). The delivery ledger also has its own view in"," ",i.jsx("strong",{children:"Agent Hub → Channels"}),"."]})})]})}const hv={telegram:{icon:"✈️",category:"Chat",steps:["Open Telegram and search for @BotFather","Send /newbot and follow the prompts",'Give your bot a name (e.g. "My Agent Bot")','Give your bot a username ending in "bot"',"BotFather gives you a token — paste it in Step 2","Open your bot in Telegram and send /start"],testTarget:"telegram:"},discord:{icon:"🎮",category:"Chat",steps:["Go to discord.com/developers/applications",'Click "New Application" and give it a name','Go to Bot tab and click "Add Bot"',"Copy the bot token",'Enable "Message Content Intent"',"Invite bot to your server (OAuth2 URL generator)"],testTarget:"discord:"},slack:{icon:"💬",category:"Chat",steps:["Go to api.slack.com/apps","Create New App from scratch","Add Bot Token Scopes: chat:write, im:read, im:write","Install to workspace","Copy the Bot User OAuth Token (xoxb-...)"],testTarget:"slack:"},whatsapp:{icon:"📱",category:"Chat",steps:["Run: buff whatsapp pair (or from Gateway tab)","Scan the QR code with WhatsApp","Pairing completes automatically"],testTarget:""},whatsapp_cloud:{icon:"☁️",category:"Chat",steps:["Go to developers.facebook.com","Set up WhatsApp Cloud API","Copy token + Phone ID"],testTarget:"whatsapp_cloud:"},email:{icon:"📧",category:"Chat",steps:["Get SMTP credentials (Gmail, SendGrid, etc.)","For Gmail: use App Password at smtp.gmail.com:587","Paste SMTP host + user below"],testTarget:""},signal:{icon:"🔒",category:"Chat",steps:["Run signal-cli-rest-api Docker container","Register a Signal account","Paste account number below"],testTarget:""},dingtalk:{icon:"🔔",category:"Webhooks",steps:["Open DingTalk and create a group","Add custom robot and copy webhook URL","Paste URL below"],testTarget:""},feishu:{icon:"🐦",category:"Webhooks",steps:["Open Feishu and create a bot","Copy webhook URL and paste below"],testTarget:""},wecom:{icon:"🏢",category:"Webhooks",steps:["Open WeCom and create a group bot","Copy webhook URL and paste below"],testTarget:""},mattermost:{icon:"📋",category:"Webhooks",steps:["Open Mattermost, go to Integrations","Create incoming webhook and copy URL"],testTarget:""},matrix:{icon:"🔗",category:"Chat",steps:["Get your Matrix homeserver URL","Create a bot user and get access token","Paste URL + token below"],testTarget:""},webhook:{icon:"🪝",category:"Webhooks",steps:["Enter your webhook URL","The agent sends outbound webhooks to this URL"],testTarget:""},bluebubbles:{icon:"💙",category:"Chat",steps:["Set up BlueBubbles server","Copy server URL + password"],testTarget:""},ntfy:{icon:"📢",category:"Notifications",steps:["Choose an ntfy topic (or use ntfy.sh)","Paste the topic below"],testTarget:""},teams:{icon:"👥",category:"Webhooks",steps:["Open Microsoft Teams, go to channel","Connectors, Incoming Webhook, create","Copy webhook URL"],testTarget:""},google_chat:{icon:"💬",category:"Webhooks",steps:["Open Google Chat, space settings","Create webhook and copy URL"],testTarget:""},weixin:{icon:"🔴",category:"Chat",steps:["Get Weixin iLink bot token","Paste token below"],testTarget:""},sms:{icon:"📲",category:"Chat",steps:["Get Twilio account SID + auth token","Register a phone number","Paste credentials below"],testTarget:""},irc:{icon:"💻",category:"Chat",steps:["Choose an IRC server (e.g. irc.libera.chat)","Set nickname + channel and paste below"],testTarget:""},simplex:{icon:"📨",category:"Chat",steps:["Run local simplex-chat daemon","Paste WebSocket URL (ws://127.0.0.1:5225)"],testTarget:""},homeassistant:{icon:"🏠",category:"IoT",steps:["Open Home Assistant Profile","Create long-lived access token and paste below"],testTarget:""}};function pbe(){const[e,t]=b.useState(null),[n,r]=b.useState("all"),[a,s]=b.useState(null),[o,l]=b.useState(0),[c,u]=b.useState({}),[d,f]=b.useState(!1),[h,p]=b.useState(null),[m,g]=b.useState({status:"idle"}),[y,v]=b.useState(""),[S,w]=b.useState("Hello from agent-nuvira!"),[N,k]=b.useState(!1),[x,j]=b.useState(null),_=b.useRef(!0),O=b.useCallback(async()=>{const R=await K.getPlatformConfigs();_.current&&t(R)},[]);b.useEffect(()=>(O(),()=>{_.current=!1}),[O]);const C=R=>{s(R),l(0),u(Object.fromEntries(R.envVars.map(T=>[T.varName,T.value]))),p(null),g({status:"idle"});const z=hv[R.platform];v((z==null?void 0:z.testTarget)??""),w("Hello from agent-nuvira!"),j(null)},P=async()=>{if(!a)return;g({status:"checking"});const R=await K.verifyPlatformConfig(a.platform,c);R.ok?(g({status:"ok",info:R.info}),p({kind:"ok",text:"Verified! "+(R.info?"Connected as "+R.info+".":"Token is valid.")})):(g({status:"err",error:R.error}),p({kind:"err",text:R.error||"Verification failed."}))},A=async()=>{if(!a)return;f(!0),p(null);const R=await K.setPlatformConfig(a.platform,c);f(!1),R.ok?(p({kind:"ok",text:"Token saved! Verifying..."}),O(),l(2),P()):p({kind:"err",text:R.error||"Save failed."})},B=async()=>{if(!a||!y)return;k(!0),j(null);const R=await K.sendChannelMessage(y,S);k(!1),R.ok?j({kind:"ok",text:"Message sent via "+R.platform+"! Check your "+a.label+" app."}):j({kind:"err",text:R.error||"Send failed. Make sure the gateway is running (Gateway tab)."})};if(e===null)return i.jsx("div",{className:"empty-state",children:"Loading platforms..."});const I=e.filter(R=>R.configured).length,M=e.filter(R=>n==="configured"?R.configured:n==="unconfigured"?!R.configured:!0),D=a?hv[a.platform]:null;function W(R){return o===R?"wizard-step-dot active":"wizard-step-dot"}return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🌐",title:"Platforms — Messaging Gateway Onboarding"}),i.jsxs("div",{className:"platforms-summary",children:[i.jsxs("div",{className:"platforms-summary-stat",children:[i.jsx("span",{className:"platforms-summary-number",children:I}),i.jsx("span",{className:"platforms-summary-label",children:"configured"})]}),i.jsxs("div",{className:"platforms-summary-stat",children:[i.jsx("span",{className:"platforms-summary-number",children:e.length-I}),i.jsx("span",{className:"platforms-summary-label",children:"available"})]}),i.jsx("div",{className:"platforms-summary-filters",children:["all","configured","unconfigured"].map(R=>i.jsx("button",{type:"button",className:n===R?"platforms-filter-btn active":"platforms-filter-btn",onClick:()=>r(R),children:R==="all"?"All":R==="configured"?"Configured":"Not set up"},R))})]}),i.jsx("div",{className:"platforms-grid",children:M.map(R=>{const z=hv[R.platform];return i.jsxs("div",{className:R.configured?"platform-card configured":"platform-card",children:[i.jsxs("div",{className:"platform-card-head",children:[i.jsx("span",{className:"platform-card-icon",children:(z==null?void 0:z.icon)??"🔌"}),i.jsxs("div",{className:"platform-card-info",children:[i.jsx("span",{className:"platform-card-name",children:R.label}),i.jsx("span",{className:"platform-card-category",children:(z==null?void 0:z.category)??"Platform"})]}),i.jsx("span",{className:R.configured?"status-dot connected":"status-dot reconnecting"})]}),i.jsx("div",{className:"platform-card-vars",children:R.envVars.map(T=>i.jsxs("span",{className:T.set?"platform-var-chip set":"platform-var-chip",children:[T.varName," ",T.set?"done":"--"]},T.varName))}),i.jsxs("div",{className:"platform-card-actions",children:[R.configured?i.jsx("span",{className:"platform-card-badge",children:"Active"}):i.jsx("button",{type:"button",className:"wizard-start-btn",onClick:()=>C(R),children:"Setup"}),R.setupUrl?i.jsx("a",{href:R.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"Docs"}):null]}),!R.configured&&R.setupHint?i.jsx("div",{className:"platform-card-hint",children:R.setupHint}):null]},R.platform)})}),i.jsxs("div",{className:"platforms-cli-hint",children:[i.jsx("span",{className:"admin-hint",children:"Prefer the terminal? "}),i.jsx("code",{children:"buff gateway setup telegram"}),i.jsx("span",{className:"admin-hint",children:" — same wizard from your CLI"})]}),a&&D?i.jsx("div",{className:"wizard-overlay",onClick:()=>s(null),children:i.jsxs("div",{className:"wizard-modal",onClick:R=>R.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:D.icon}),i.jsxs("span",{className:"wizard-title",children:["Getting Started: ",a.label]}),i.jsxs("div",{className:"wizard-steps-indicator",children:[i.jsx("span",{className:W(0),children:"1"}),i.jsx("span",{className:W(1),children:"2"}),i.jsx("span",{className:W(2),children:"3"})]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>s(null),children:"X"})]}),i.jsxs("div",{className:"wizard-body",children:[o===0&&i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"wizard-section-title",children:["Step 1: Create your bot on ",a.label]}),i.jsx("ol",{className:"wizard-steps",children:D.steps.map((R,z)=>i.jsx("li",{children:R},z))}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>l(1),children:"I have my token — Step 2"}),a.setupUrl?i.jsx("a",{href:a.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"Open docs"}):null]})]}),o===1&&i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"Step 2: Paste your token"}),a.envVars.map(R=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:R.prompt}),i.jsx("input",{type:R.secret?"password":"text",value:c[R.varName]??"",onChange:z=>u(T=>({...T,[R.varName]:z.target.value})),placeholder:R.secret?"paste your token here":"value",autoComplete:"off",spellCheck:!1,autoFocus:!0})]},R.varName)),h?i.jsx("div",{className:h.kind==="ok"?"admin-row-msg":"admin-row-msg admin-row-msg-err",children:h.text}):null,i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(0),children:"Back"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void A(),disabled:d,children:d?"Saving...":"Save & Verify"})]})]}),o===2&&i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"Step 3: Verify and test"}),m.status==="checking"&&i.jsx("div",{className:"wizard-verify-status",children:"Verifying token..."}),m.status==="ok"&&i.jsxs("div",{className:"wizard-verify-status ok",children:["Connected as ",m.info]}),m.status==="err"&&i.jsx("div",{className:"wizard-verify-status err",children:m.error}),m.status==="idle"&&(h==null?void 0:h.kind)==="ok"&&i.jsx("div",{className:"wizard-verify-status ok",children:h.text}),y&&i.jsxs("div",{className:"wizard-test-section",children:[i.jsx("p",{className:"wizard-section-title",children:"Send a test message:"}),i.jsx("div",{className:"wizard-test-row",children:i.jsx("input",{className:"wizard-test-input",value:y,onChange:R=>v(R.target.value),placeholder:"telegram:YOUR_CHAT_ID"})}),i.jsxs("div",{className:"wizard-test-row",children:[i.jsx("input",{className:"wizard-test-input",value:S,onChange:R=>w(R.target.value),placeholder:"Hello from agent-nuvira!"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void B(),disabled:N||!y,children:N?"Sending...":"Send test"})]}),x?i.jsx("div",{className:x.kind==="ok"?"admin-row-msg":"admin-row-msg admin-row-msg-err",children:x.text}):null]}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(1),children:"Edit token"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>s(null),children:"Done"})]}),!y&&i.jsxs("p",{className:"wizard-hint",children:["Token saved! Start the gateway from the Gateway tab, then send a message from your ",a.label," app."]})]})]})]})}):null]})}const mbe=[{value:"us-east-1",label:"us-east-1 (N. Virginia) — most models"},{value:"us-west-2",label:"us-west-2 (Oregon) — most models"},{value:"eu-west-1",label:"eu-west-1 (Ireland) — EU coverage"},{value:"ap-southeast-1",label:"ap-southeast-1 (Singapore)"},{value:"ap-northeast-1",label:"ap-northeast-1 (Tokyo)"}],V_=[{name:"Anthropic Claude",models:["claude-haiku-4.5","claude-sonnet-4.6","claude-fable-5","claude-opus-4.6"],checked:!0},{name:"Meta Llama",models:["llama3-1-8b","llama3-1-70b","llama3-3-70b","llama4-scout","llama4-maverick"],checked:!0},{name:"Mistral AI",models:["mistral-large-3","devstral-2","ministral-3"],checked:!1},{name:"DeepSeek",models:["deepseek-v3.2","deepseek-r1"],checked:!1},{name:"Amazon Nova",models:["nova-pro","nova-lite"],checked:!1},{name:"OpenAI on Bedrock",models:["gpt-5.6-terra","gpt-oss-120b"],checked:!1},{name:"Qwen",models:["qwen3-coder-next","qwen3-32b"],checked:!1},{name:"Google Gemma",models:["gemma-3-12b"],checked:!1},{name:"xAI",models:["grok-4.6"],checked:!1}];function gbe({canWrite:e,sessionExpired:t}){const[n,r]=b.useState(null),[a,s]=b.useState(null),[o,l]=b.useState(!1),[c,u]=b.useState("overview"),d=b.useRef(!0),[f,h]=b.useState("bearer"),[p,m]=b.useState(""),[g,y]=b.useState(""),[v,S]=b.useState(""),[w,N]=b.useState("us-east-1"),[k,x]=b.useState(V_.filter(I=>I.checked).map(I=>I.name)),[j,_]=b.useState(!1),[O,C]=b.useState(null),P=b.useCallback(async()=>{const I=await K.getBedrockStatus();d.current&&r(I)},[]);b.useEffect(()=>(P(),()=>{d.current=!1}),[P]);const A=async()=>{l(!0),s(null);try{const I=await K.probeBedrock((n==null?void 0:n.region)||"us-east-1");if(!d.current)return;I.ok&&I.models&&(s(I.models),u("test"))}catch{}finally{d.current&&l(!1)}},B=async()=>{_(!0),C(null);try{const I={BEDROCK_REGION:w};f==="bearer"&&p?I.AWS_BEARER_TOKEN=p:f==="iam"&&(g&&(I.AWS_ACCESS_KEY_ID=g),v&&(I.AWS_SECRET_ACCESS_KEY=v));const M=await K.setupBedrock(I);if(!d.current)return;M.ok?(C({kind:"ok",text:"✅ Configuration saved! Running connectivity test…"}),u("overview"),await P(),setTimeout(()=>void A(),500)):C({kind:"err",text:M.error||"Save failed"})}catch{d.current&&C({kind:"err",text:"Could not reach the dashboard server."})}finally{d.current&&_(!1)}};return n===null?i.jsx("div",{className:"empty-state",children:"Loading Bedrock status…"}):i.jsxs("div",{className:"bedrock-onboarding",children:[i.jsx(Te,{icon:"🟠",title:"AWS Bedrock"}),i.jsxs("p",{className:"admin-subtitle",children:["Bedrock gives you access to Claude, Llama, Mistral, DeepSeek, and more — all through a single AWS account. Unlike other providers, Bedrock requires a ",i.jsx("strong",{children:"region"}),", ",i.jsx("strong",{children:"AWS credentials"}),", and explicit ",i.jsx("strong",{children:"model access approval"}),"."]}),O?i.jsx("div",{className:`admin-row-msg${O.kind==="ok"?"":" admin-row-msg-err"}`,children:O.text}):null,i.jsxs("div",{className:"bedrock-status-bar",children:[i.jsxs("div",{className:"bedrock-status-item",children:[i.jsx("span",{className:`status-dot ${n.configured?"connected":"reconnecting"}`}),i.jsx("span",{children:n.configured?"Configured":"Not configured"})]}),i.jsxs("div",{className:"bedrock-status-item",children:[i.jsx("span",{className:"bedrock-status-label",children:"Region:"}),i.jsx("code",{children:n.region})]}),i.jsxs("div",{className:"bedrock-status-item",children:[i.jsx("span",{className:"bedrock-status-label",children:"Auth:"}),i.jsx("code",{children:n.authMethod==="bearer"?"API Key":n.authMethod==="iam"?"IAM":"None"})]}),i.jsxs("div",{className:"bedrock-status-actions",children:[e?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>u(c==="setup"?"overview":"setup"),children:c==="setup"?"✕ Cancel":"⚙ Setup Wizard"}):null,n.configured?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void A(),disabled:o,children:o?"⏳ Probing…":"🔍 Test Models"}):null]})]}),c==="setup"&&i.jsxs("div",{className:"bedrock-setup-wizard",children:[i.jsx("h2",{className:"section-subtitle",children:"🚀 Bedrock Setup Wizard"}),i.jsxs("div",{className:"bedrock-wizard-step",children:[i.jsx("h4",{children:"Step 1: Authentication"}),i.jsxs("div",{className:"bedrock-auth-options",children:[i.jsxs("label",{className:`bedrock-auth-option ${f==="bearer"?"selected":""}`,children:[i.jsx("input",{type:"radio",name:"authMethod",checked:f==="bearer",onChange:()=>h("bearer")}),i.jsxs("div",{children:[i.jsx("strong",{children:"Bedrock API Key"}),i.jsx("span",{children:"Simpler — get from Bedrock → Settings → API keys"})]})]}),i.jsxs("label",{className:`bedrock-auth-option ${f==="iam"?"selected":""}`,children:[i.jsx("input",{type:"radio",name:"authMethod",checked:f==="iam",onChange:()=>h("iam")}),i.jsxs("div",{children:[i.jsx("strong",{children:"IAM Credentials"}),i.jsx("span",{children:"Full AWS SDK auth — AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY"})]})]})]}),f==="bearer"?i.jsxs("div",{className:"bedrock-wizard-fields",children:[i.jsxs("div",{className:"bedrock-setup-hint",children:[i.jsx("strong",{children:"How to get a Bedrock API key:"}),i.jsxs("ol",{children:[i.jsxs("li",{children:["Open ",i.jsx("a",{href:"https://console.aws.amazon.com/bedrock/",target:"_blank",rel:"noopener noreferrer",children:"AWS Bedrock Console"})]}),i.jsxs("li",{children:["Go to ",i.jsx("strong",{children:"Settings"})," → ",i.jsx("strong",{children:"API keys"})]}),i.jsx("li",{children:"Create a new key and paste it below"})]})]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Bedrock API Key (Bearer token)"}),i.jsx("input",{type:"password",value:p,onChange:I=>m(I.target.value),placeholder:"••••••••••••",autoComplete:"off",spellCheck:!1})]})]}):i.jsxs("div",{className:"bedrock-wizard-fields",children:[i.jsxs("div",{className:"bedrock-setup-hint",children:[i.jsx("strong",{children:"IAM credentials"})," give full AWS SDK access. Create an IAM user with Bedrock permissions."]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"AWS_ACCESS_KEY_ID"}),i.jsx("input",{type:"text",value:g,onChange:I=>y(I.target.value),placeholder:"AKIA...",autoComplete:"off",spellCheck:!1})]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"AWS_SECRET_ACCESS_KEY"}),i.jsx("input",{type:"password",value:v,onChange:I=>S(I.target.value),placeholder:"••••••••••••",autoComplete:"off",spellCheck:!1})]})]})]}),i.jsxs("div",{className:"bedrock-wizard-step",children:[i.jsx("h4",{children:"Step 2: AWS Region"}),i.jsxs("p",{className:"admin-hint",children:["Models vary by region. ",i.jsx("strong",{children:"us-east-1"})," and ",i.jsx("strong",{children:"us-west-2"})," have the most models. ⚠️ Do NOT use eu-north-1 unless models are explicitly enabled there."]}),i.jsx("select",{className:"bedrock-region-select",value:w,onChange:I=>N(I.target.value),children:mbe.map(I=>i.jsx("option",{value:I.value,children:I.label},I.value))})]}),i.jsxs("div",{className:"bedrock-wizard-step",children:[i.jsx("h4",{children:"Step 3: Model Access"}),i.jsx("p",{className:"admin-hint",children:"Bedrock requires you to request access for each model family."}),i.jsx("div",{className:"bedrock-model-access-hint",children:i.jsx("a",{href:`https://console.aws.amazon.com/bedrock/home?region=${w}#/modelaccess`,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn",children:"📖 Open Model Access in AWS Console"})}),i.jsx("div",{className:"bedrock-family-grid",children:V_.map(I=>i.jsxs("label",{className:`bedrock-family-card ${k.includes(I.name)?"selected":""}`,children:[i.jsx("input",{type:"checkbox",checked:k.includes(I.name),onChange:M=>{M.target.checked?x(D=>[...D,I.name]):x(D=>D.filter(W=>W!==I.name))}}),i.jsxs("div",{children:[i.jsx("strong",{children:I.name}),i.jsxs("span",{children:[I.models.length," model(s)"]})]})]},I.name))}),i.jsx("p",{className:"admin-hint",style:{marginTop:8},children:"In the AWS Console, select the families above and submit. Approval is usually instant for Anthropic and Meta models."})]}),i.jsxs("div",{className:"bedrock-wizard-actions",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void B(),disabled:j||f==="bearer"&&!p||f==="iam"&&(!g||!v),children:j?"⏳ Saving…":"💾 Save & Test"}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>u("overview"),children:"Cancel"})]})]}),c==="test"&&a&&i.jsxs("div",{className:"bedrock-probe-results",children:[i.jsxs("h2",{className:"section-subtitle",children:["🔍 Model Probe Results (",n.region,")"]}),i.jsx("div",{className:"bedrock-probe-grid",children:a.map(I=>i.jsxs("div",{className:`bedrock-probe-card bedrock-probe-${I.status}`,children:[i.jsx("span",{className:"bedrock-probe-icon",children:I.status==="accessible"?"✅":I.status==="permission-denied"?"🔒":I.status==="not-found"?"⚫":"❌"}),i.jsx("span",{className:"bedrock-probe-id",children:I.modelId}),i.jsx("span",{className:"bedrock-probe-status",children:I.status==="accessible"?"Ready":I.status==="permission-denied"?`Need access (HTTP ${I.httpStatus})`:I.status==="not-found"?"Not in this region":"Error"})]},I.modelId))}),a.some(I=>I.status==="permission-denied")&&i.jsxs("div",{className:"bedrock-probe-action",children:[i.jsxs("p",{children:["Some models exist in ",n.region," but access is not approved."]}),i.jsx("a",{href:`https://console.aws.amazon.com/bedrock/home?region=${n.region}#/modelaccess`,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn",children:"🔓 Request Model Access in AWS Console →"})]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>u("overview"),style:{marginTop:12},children:"← Back"})]}),!n.configured&&c==="overview"&&i.jsxs("div",{className:"bedrock-getting-started",children:[i.jsx("h2",{className:"section-subtitle",children:"📋 Getting Started with Bedrock"}),i.jsxs("div",{className:"bedrock-steps",children:[i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"1"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Create an AWS account"})," (or use existing)",i.jsxs("span",{children:["New to AWS? Sign up at ",i.jsx("a",{href:"https://aws.amazon.com/",target:"_blank",rel:"noopener noreferrer",children:"aws.amazon.com"})]})]})]}),i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"2"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Get Bedrock API key"}),i.jsx("span",{children:"Bedrock → Settings → API keys → Create key"})]})]}),i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"3"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Request model access"}),i.jsx("span",{children:"Bedrock → Model access → Select Claude, Llama, etc. → Submit"})]})]}),i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"4"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Configure in this wizard"}),i.jsx("span",{children:'Click "Setup Wizard" above to enter your credentials'})]})]})]})]}),n.configured&&c==="overview"&&!a&&i.jsx("div",{className:"bedrock-quick-status",children:i.jsxs("p",{className:"admin-hint",children:["Bedrock is configured. Click ",i.jsx("strong",{children:"🔍 Test Models"})," to verify connectivity and discover which models are accessible in ",n.region,"."]})})]})}const pv=["whatsapp","whatsapp_cloud","telegram","signal","slack","discord","email"];function vbe(){const[e,t]=b.useState([]),[n,r]=b.useState(!0),[a,s]=b.useState("all"),[o,l]=b.useState(null),[c,u]=b.useState(""),[d,f]=b.useState(""),[h,p]=b.useState(null),[m,g]=b.useState({}),[y,v]=b.useState({}),[S,w]=b.useState({}),[N,k]=b.useState(null),[x,j]=b.useState(!1),[_,O]=b.useState(!1),[C,P]=b.useState(!1),[A,B]=b.useState(12e4),I=b.useCallback(async()=>{r(!0);const J=await K.getContacts();J.ok&&J.contacts&&t(J.contacts);const Y=await K.gatewayPolicies();if(Y.ok&&Y.policies){const ae={};for(const ce of pv){const H=Y.policies[ce];H&&(ae[ce]={...H.outboundSenders!==void 0?{outboundSenders:H.outboundSenders}:{},...H.requireApprovedTarget!==void 0?{requireApprovedTarget:H.requireApprovedTarget}:{}})}g(ae),v(ae)}O(Y.askUserWait===!0),P(Y.askUserWait===!0),typeof Y.askUserTimeoutMs=="number"&&B(Y.askUserTimeoutMs),r(!1)},[]);b.useEffect(()=>{I()},[I]);const M=e.filter(J=>a==="all"||J.status===a),D=async J=>{p(null);const Y=await K.approveContact(J.platform,J.name);p(Y.ok?{kind:"ok",text:`✅ ${J.name} approved.`}:{kind:"err",text:Y.error||"Failed."}),I()},W=async J=>{p(null);const Y=await K.rejectContact(J.platform,J.name);p(Y.ok?{kind:"ok",text:`🚫 ${J.name} rejected.`}:{kind:"err",text:Y.error||"Failed."}),I()},R=async J=>{p(null);const Y=await K.deleteContact(J.platform,J.name);p(Y.ok?{kind:"ok",text:`🗑️ ${J.name} deleted.`}:{kind:"err",text:Y.error||"Failed."}),I()},z=async()=>{if(!o)return;p(null);const J=await K.updateContact(o.platform,o.id,{name:c,phone:d});p(J.ok?{kind:"ok",text:`✅ ${c} updated.`}:{kind:"err",text:J.error||"Failed."}),l(null),I()},T=J=>J==="approved"?i.jsx("span",{className:"contact-status-badge approved",children:"✅ Approved"}):J==="pending"?i.jsx("span",{className:"contact-status-badge pending",children:"⏳ Pending"}):i.jsx("span",{className:"contact-status-badge rejected",children:"🚫 Rejected"}),Z=J=>({telegram:"✈️",whatsapp:"📱",whatsapp_cloud:"📱",email:"📧",slack:"💬",discord:"🎮"})[J]||"🔌",U=J=>J?new Date(J).toLocaleString():"—",$=J=>{const Y=(S[J]??"").trim();Y&&(g(ae=>{var xe;const ce={...ae[J]??{}},H=ce.outboundSenders??((xe=y[J])==null?void 0:xe.outboundSenders)??[];return H.some(ke=>ke.toLowerCase()===Y.toLowerCase())||(ce.outboundSenders=[...H,Y]),{...ae,[J]:ce}}),w(ae=>({...ae,[J]:""})))},ie=(J,Y)=>{g(ae=>{var xe;const ce={...ae[J]??{}},H=ce.outboundSenders??((xe=y[J])==null?void 0:xe.outboundSenders)??[];return ce.outboundSenders=H.filter(ke=>ke.toLowerCase()!==Y.toLowerCase()),{...ae,[J]:ce}})},de=J=>{g(Y=>{const ae={...Y[J]??{}};return ae.requireApprovedTarget=ae.requireApprovedTarget!==!0,{...Y,[J]:ae}})},ve=J=>{g(Y=>{const ae={...Y[J]??{}};return delete ae.outboundSenders,{...Y,[J]:ae}})},Ee=async()=>{j(!0),k(null);const J={};for(const ce of pv){const H=m[ce]??{},xe=y[ce]??{};(JSON.stringify(H.outboundSenders??null)!==JSON.stringify(xe.outboundSenders??null)||!!H.requireApprovedTarget!=!!xe.requireApprovedTarget)&&(J[ce]={...H.outboundSenders!==void 0?{outboundSenders:H.outboundSenders}:{outboundSenders:null},requireApprovedTarget:!!H.requireApprovedTarget})}const Y=_!==C;if(Object.keys(J).length===0&&!Y){j(!1),k({kind:"ok",text:"No changes to save."});return}const ae=await K.saveGatewayPolicies(J,void 0,void 0,{wait:_,timeoutMs:A});ae.ok?(k({kind:"ok",text:"✅ Send authority saved."}),I()):k({kind:"err",text:ae.error||"Failed to save send authority."}),j(!1)};return i.jsxs("div",{className:"panel contacts-page",children:[i.jsx(Te,{icon:"📇",title:"Contacts — Outbound Messaging Directory",description:"Manage who the bot can send messages to. Users auto-register on first Telegram message."}),h&&i.jsxs("div",{className:`admin-row-msg ${h.kind==="err"?"admin-row-msg-err":""}`,children:[h.text,i.jsx("button",{className:"admin-mini-btn",onClick:()=>p(null),children:"✕"})]}),i.jsxs("div",{className:"contacts-filters",children:[["all","approved","pending","rejected"].map(J=>i.jsx("button",{type:"button",className:a===J?"platforms-filter-btn active":"platforms-filter-btn",onClick:()=>s(J),children:J==="all"?`All (${e.length})`:J==="approved"?`✅ Approved (${e.filter(Y=>Y.status==="approved").length})`:J==="pending"?`⏳ Pending (${e.filter(Y=>Y.status==="pending").length})`:`🚫 Rejected (${e.filter(Y=>Y.status==="rejected").length})`},J)),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void I(),children:"🔄 Refresh"})]}),n?i.jsx("div",{className:"empty-state",children:"Loading contacts..."}):M.length===0?i.jsxs("div",{className:"empty-state",children:[i.jsxs("p",{children:["No contacts",a!=="all"?` with status "${a}"`:"","."]}),i.jsx("p",{className:"admin-hint",children:'Contacts auto-register when users message the bot on Telegram. They appear here as "Pending" until you approve them.'})]}):i.jsx("div",{className:"contacts-table-wrapper",children:i.jsxs("table",{className:"contacts-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"Name"}),i.jsx("th",{children:"ID"}),i.jsx("th",{children:"Phone"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Registered"}),i.jsx("th",{children:"Actions"})]})}),i.jsx("tbody",{children:M.map(J=>i.jsxs("tr",{className:`contact-row status-${J.status}`,children:[i.jsxs("td",{children:[Z(J.platform)," ",J.platform]}),i.jsx("td",{className:"contact-name",children:J.name}),i.jsx("td",{className:"contact-id",children:i.jsx("code",{children:J.id})}),i.jsx("td",{className:"contact-phone",children:J.phone||"—"}),i.jsx("td",{children:T(J.status)}),i.jsx("td",{className:"contact-date",children:U(J.registeredAt||J.addedAt)}),i.jsxs("td",{className:"contact-actions",children:[J.status!=="approved"&&i.jsx("button",{className:"admin-mini-btn contact-approve-btn",onClick:()=>void D(J),children:"✅ Approve"}),J.status!=="rejected"&&i.jsx("button",{className:"admin-mini-btn contact-reject-btn",onClick:()=>void W(J),children:"🚫 Reject"}),i.jsx("button",{className:"admin-mini-btn",onClick:()=>{l(J),u(J.name),f(J.phone||"")},children:"✏️ Edit"}),i.jsx("button",{className:"admin-mini-btn contact-delete-btn",onClick:()=>void R(J),children:"🗑️"})]})]},`${J.platform}:${J.id}`))})]})}),i.jsxs("div",{className:"panel-header",style:{marginTop:28},children:[i.jsx("h2",{children:"🔐 Send authority — who may message others"}),i.jsxs("p",{className:"admin-hint",children:["Controls who can ask the agent to send a message to ",i.jsx("strong",{children:"someone else"})," through the gateway (e.g. “send this poem to my brother on WhatsApp”). This is separate from a contact’s approval status above, which only gates sending ",i.jsx("em",{children:"to"})," that person. Left empty, a platform ",i.jsx("strong",{children:"inherits"})," its allowed-users list (open). Add ",i.jsx("code",{children:"Allow-All"})," to allow everyone, or list specific senders to restrict it."]})]}),N&&i.jsxs("div",{className:`admin-row-msg ${N.kind==="err"?"admin-row-msg-err":""}`,children:[N.text,i.jsx("button",{className:"admin-mini-btn",onClick:()=>k(null),children:"✕"})]}),i.jsx("div",{className:"hub-permissions",children:pv.map(J=>{const Y=m[J]??{},ae=Y.outboundSenders??[],ce=Y.outboundSenders===void 0;return i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("span",{className:"hub-chip",children:[Z(J)," ",J]}),ce?i.jsx("span",{className:"hub-chip",children:"open"}):i.jsx("span",{className:"hub-chip",children:"restricted"})]}),i.jsx("div",{className:"hub-alias-list",children:ce?i.jsx("span",{className:"admin-hint",children:"Open — anyone who can trigger the agent may send to others."}):ae.length===0?i.jsx("span",{className:"admin-hint",children:"(empty — nobody may send to others)"}):ae.map(H=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:H}),i.jsx("button",{className:"admin-refresh-btn",disabled:x,onClick:()=>ie(J,H),children:"✕"})]},`sa-${J}-${H}`))}),i.jsxs("div",{className:"hub-send-form",children:[i.jsx("input",{type:"text","aria-label":`Allowed sender for ${J}`,value:S[J]??"",onChange:H=>w(xe=>({...xe,[J]:H.target.value})),placeholder:"sender id, or Allow-All",disabled:x}),i.jsx("button",{className:"admin-refresh-btn",disabled:x||!(S[J]??"").trim(),onClick:()=>$(J),children:"+ Sender"}),ce?null:i.jsx("button",{className:"admin-refresh-btn",disabled:x,onClick:()=>ve(J),children:"↺ Reset to open"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:6},children:[i.jsx("input",{type:"checkbox",checked:!!Y.requireApprovedTarget,disabled:x,onChange:()=>de(J)}),i.jsx("span",{className:"admin-hint",children:"Require approved recipients"})]})]},`sa-${J}`)})}),i.jsxs("div",{className:"hub-card",style:{marginTop:16},children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsx("span",{className:"hub-chip",children:"🧠 Clarifying questions"}),_?i.jsx("span",{className:"hub-chip",children:"wait for reply"}):i.jsx("span",{className:"hub-chip",children:"assume option 1"}),_!==C?i.jsx("span",{className:"hub-chip",children:"· unsaved"}):null]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:6},children:[i.jsx("input",{type:"checkbox",checked:_,disabled:x,onChange:()=>O(J=>!J)}),i.jsxs("span",{className:"admin-hint",children:["When the agent asks a question on a channel, ",i.jsx("strong",{children:"wait for the sender's reply"})," before acting. Off (default): the question is sent and the ",i.jsx("em",{children:"first"})," option is assumed immediately — so a reply typed afterwards arrives too late to change anything."]})]}),_?i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:6},children:[i.jsx("span",{className:"admin-hint",children:"Reply window (seconds)"}),i.jsx("input",{type:"number",min:5,max:600,value:Math.round(A/1e3),disabled:x,onChange:J=>B(Math.max(5,Math.min(600,Number(J.target.value)||120))*1e3),style:{width:90}}),i.jsx("span",{className:"admin-hint",children:"then the first option is used, and the timeout is logged."})]}):null]}),i.jsx("div",{style:{marginTop:12},children:i.jsx("button",{className:"admin-refresh-btn",disabled:x,onClick:()=>void Ee(),children:"💾 Save send authority"})}),o&&i.jsx("div",{className:"wizard-overlay",onClick:()=>l(null),children:i.jsxs("div",{className:"wizard-modal",onClick:J=>J.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:"✏️"}),i.jsxs("span",{className:"wizard-title",children:["Edit Contact: ",o.name]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(null),children:"✕"})]}),i.jsxs("div",{className:"wizard-body",children:[i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Name"}),i.jsx("input",{type:"text",value:c,onChange:J=>u(J.target.value)})]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Phone (optional, for flexible lookup)"}),i.jsx("input",{type:"text",value:d,onChange:J=>f(J.target.value),placeholder:"+918800123456"})]}),i.jsxs("p",{className:"admin-hint",children:["Platform: ",i.jsx("strong",{children:o.platform})," | ID: ",i.jsx("code",{children:o.id})]}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(null),children:"Cancel"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void z(),children:"Save"})]})]})]})})]})}const Y_=["proven-dead","proof-expired","parked","never-verified"];function zo(e){if(e<=0)return"never";const t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60),a=Math.floor(r/24);return a>30?`${a}d ago`:a>0?`${a}d ${r%24}h ago`:r>0?`${r}h ${n%60}m ago`:n>0?`${n}m ago`:`${t}s ago`}function ybe(e){if(e<=0)return"never";const t=(Date.now()-e)/(24*60*60*1e3);return t<1?`${(t*24).toFixed(1)}h`:`${t.toFixed(2)}d`}function bbe({entry:e}){const t=Date.now(),n=t-e.lastProbedAt,r=t-e.lastVerifiedAt,a=t-e.lastUsedAt,s=Math.min(100,n/(30*24*60*60*1e3)*100),o=e.lastVerifiedAt>0?Math.min(100,r/(30*24*60*60*1e3)*100):-1,l=e.lastUsedAt>0?Math.min(100,a/(30*24*60*60*1e3)*100):-1;return i.jsxs("div",{className:"timeline-bar-container",children:[i.jsx("div",{className:"timeline-bar",title:`Last probed: ${zo(n)}`,children:i.jsx("div",{className:"timeline-bar-fill probe",style:{width:`${s}%`}})}),o>=0&&i.jsx("div",{className:"timeline-bar small",title:`Last verified: ${zo(r)}`,children:i.jsx("div",{className:"timeline-bar-fill verify",style:{width:`${o}%`}})}),l>=0&&i.jsx("div",{className:"timeline-bar small",title:`Last used: ${zo(a)}`,children:i.jsx("div",{className:"timeline-bar-fill use",style:{width:`${l}%`}})})]})}function X_(e){return{fontSize:11,padding:"2px 8px",borderRadius:4,background:`${e}20`,color:e,border:`1px solid ${e}40`,whiteSpace:"nowrap"}}function xbe(){const[e,t]=b.useState(null),[n,r]=b.useState(!0),[a,s]=b.useState(null),[o,l]=b.useState("all"),[c,u]=b.useState("provider"),d=b.useRef(!0),f=c0(),h=b.useCallback(async()=>{try{const z=await fetch("/api/model-timeline");if(!z.ok)throw new Error("Failed to fetch timeline data");const T=await z.json();d.current&&(t(T),s(null))}catch(z){d.current&&s(z instanceof Error?z.message:"Failed to load timeline")}finally{d.current&&r(!1)}},[]),[p,m]=b.useState(null),[g,y]=b.useState(10),[v,S]=b.useState(!1),[w,N]=b.useState(null),k=b.useRef(!1),x=b.useCallback(async()=>{const z=await K.fetchVerifyBacklog();if(!d.current)return;m(z);const T=(z==null?void 0:z.status)==="running";k.current&&!T&&h(),k.current=T},[h]);b.useEffect(()=>{d.current=!0,h(),x();const z=setInterval(()=>void h(),3e4);return()=>{d.current=!1,clearInterval(z)}},[h,x]);const j=(p==null?void 0:p.status)==="running";b.useEffect(()=>{if(!j)return;const z=setInterval(()=>void x(),1e3);return()=>clearInterval(z)},[j,x]);const _=b.useCallback(async()=>{S(!0),N(null);const z=await K.startVerifyBacklog(g);if(d.current){if(z.state&&m(z.state),!z.ok){const T=z.refusal??z.error??"Could not start the run.";N({text:T,kind:z.refusal?"info":"error"})}S(!1)}},[g]);if(n)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading timeline..."})]})]});if(a)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:a})]});if(e&&!e.counts)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsxs("div",{className:"admin-row-msg admin-row-msg-err",children:["This dashboard server predates the reachability view. Restart it (",i.jsx("code",{children:"nuvira dashboard stop"}),", then start it again) and reload this page."]})]});const O=(e==null?void 0:e.entries)??[],C=e==null?void 0:e.counts,P=e==null?void 0:e.reachabilityCopy,A=e==null?void 0:e.freshnessCopy,B=C?Y_.reduce((z,T)=>z+(C[T]??0),0):0,I=[{key:"tracked-models",icon:"🧠",value:et((e==null?void 0:e.totalModels)??0),label:"Tracked models (registry)",tone:"accent"},{key:"tracked-providers",icon:"🏢",value:et((f==null?void 0:f.trackedProviders)??0),label:"Tracked providers (registry)",tone:"accent"}];f&&I.push({key:"listed-models",icon:"📡",value:et(f.listedModels),label:"Listed models (live probe)",tone:"warn"},{key:"listed-providers",icon:"🛰️",value:et(f.listedProviders),label:"Listed providers (live probe)",tone:"warn"}),I.push({key:"routable",icon:"✅",value:et((C==null?void 0:C.routable)??0),label:"Routable now",tone:"ok"},{key:"not-routable",icon:"🚫",value:et(B),label:"Not routable",tone:"danger"});const M=O.filter(z=>o==="routable"?z.reachability==="routable":o==="not-routable"?z.reachability!=="routable":!0),D=[...M].sort((z,T)=>c==="provider"?z.provider.localeCompare(T.provider)||z.model.localeCompare(T.model):T.lastProbedAt-z.lastProbedAt),W=new Map;for(const z of D){const T=W.get(z.provider);T?T.push(z):W.set(z.provider,[z])}const R=z=>({background:z?"var(--accent-green)":"var(--bg-hover)",border:`1px solid ${z?"var(--accent-green)":"var(--border)"}`,padding:"4px 12px",fontSize:12,cursor:"pointer"});return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsxs("p",{className:"section-description",children:["The registry's age profile: when each tracked model was last probed, last ",i.jsx("em",{children:"verified"}),", and last used — and which ones routing can actually reach. The Models page answers “is it usable right now”; this one answers “what is ageing out”."]}),i.jsx(Wi,{tiles:I}),C?i.jsx("div",{style:{display:"flex",gap:14,flexWrap:"wrap",marginBottom:14,fontSize:11},children:Y_.map(z=>{const T=P==null?void 0:P[z];return i.jsxs("span",{title:T==null?void 0:T.blurb,children:[i.jsx("span",{style:{color:(T==null?void 0:T.color)??"var(--text-secondary)"},children:"■"})," ",i.jsxs("span",{style:{color:"var(--text-secondary)"},children:[(T==null?void 0:T.label)??z,": ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:C[z]??0})]})]},z)})}):null,p?i.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8,padding:"12px 14px",marginBottom:16},"data-testid":"verify-backlog-panel",children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[i.jsx("span",{style:{fontWeight:600,color:"var(--text-primary)"},children:"Work the backlog down"}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)",flex:1,minWidth:260},children:["Each check is a real 1-token generation against one of your provider keys — not a listing lookup. A never-verified model is an ",i.jsx("em",{children:"unknown"}),", not a broken one: a check either proves it routable or marks it proven dead. Runs are bounded and one at a time."]}),i.jsxs("label",{style:{fontSize:11,color:"var(--text-secondary)",display:"flex",alignItems:"center",gap:6},children:["How many",i.jsx("input",{type:"number",min:1,max:p.maxCount??25,value:g,disabled:v||j,"aria-label":"how many models to verify",onChange:z=>y(Number(z.target.value)),style:{width:64,background:"var(--bg-primary)",color:"var(--text-primary)",border:"1px solid var(--border)",borderRadius:4,padding:"3px 6px",fontSize:12}})]}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:v||j||!(g>0),onClick:()=>void _(),style:{background:"var(--accent-green)",border:"1px solid var(--accent-green)",padding:"4px 12px",fontSize:12,cursor:v||j?"default":"pointer"},"data-testid":"verify-backlog-start",children:j?"⏳ Verifying…":v?"Starting…":`▶ Verify next ${g} now`})]}),j?i.jsxs("div",{className:"env-var-notice","data-testid":"verify-backlog-progress",children:["Probing"," ",i.jsx("code",{children:p.current?`${p.current.provider}/${p.current.model}`:"…"})," ","— ",p.processed,"/",p.planned," done · ",p.verified," verified · ",p.unavailable," proven dead"]}):null,!j&&p.status==="done"?i.jsxs("div",{className:"env-var-notice","data-testid":"verify-backlog-summary",children:["✅ ",p.verified," verified · ⛔ ",p.unavailable," proven unavailable · ⚠️ ",p.errored," errored · ⏭"," ",p.skipped," skipped",p.remaining!==null?` — ${p.remaining} still never verified`:""]}):null,(p.results??[]).length>0?i.jsx("div",{style:{display:"flex",gap:10,flexWrap:"wrap",marginTop:8},children:(p.results??[]).map(z=>i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)"},title:z.outcome==="verified"?"Proven routable — a 1-token call succeeded":z.outcome==="unavailable"?"Proven dead — the provider refused it (403/404), re-probing will not help":z.outcome==="skipped"?"Skipped — verified recently enough":"Errored — transient, still unknown, will be retried next run",children:[z.outcome==="verified"?"✅":z.outcome==="unavailable"?"⛔":z.outcome==="skipped"?"⏭":"⚠️"," ",i.jsxs("code",{children:[z.provider,"/",z.model]})]},`${z.provider}:${z.model}`))}):null,w?i.jsx("div",{className:`env-var-notice${w.kind==="error"?" env-var-notice-error":""}`,"data-testid":"verify-backlog-message",children:w.text}):p.status==="idle"&&p.refusal?i.jsx("div",{className:"env-var-notice","data-testid":"verify-backlog-message",children:p.refusal}):null]}):null,i.jsxs("div",{style:{display:"flex",gap:8,marginBottom:16,flexWrap:"wrap"},children:[i.jsx("div",{style:{display:"flex",gap:4},children:["all","routable","not-routable"].map(z=>i.jsx("button",{className:`admin-refresh-btn ${o===z?"active":""}`,onClick:()=>l(z),style:R(o===z),children:z==="all"?"All":z==="routable"?"Routable":"Not routable"},z))}),i.jsx("div",{style:{display:"flex",gap:4},children:["provider","lastProbed"].map(z=>i.jsxs("button",{className:`admin-refresh-btn ${c===z?"active":""}`,onClick:()=>u(z),style:R(c===z),children:["Sort: ",z==="lastProbed"?"Last seen":"Provider"]},z))}),i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void h(),style:{background:"var(--bg-hover)",border:"1px solid var(--border)",padding:"4px 12px",fontSize:12,cursor:"pointer"},children:"🔄 Refresh"})]}),i.jsxs("div",{style:{display:"flex",gap:16,marginBottom:4,fontSize:11,color:"var(--text-secondary)",flexWrap:"wrap"},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-blue)"},children:"■"})," Probe (last seen in the provider's catalog)"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"■"})," Verified (last success)"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"■"})," Used (last invocation)"]})]}),i.jsxs("div",{style:{marginBottom:12,fontSize:11,color:"var(--text-secondary)"},children:[i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Fresh"})," means the provider still lists it."," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Routable"})," means a turn has been proven to work on it within"," ",(e==null?void 0:e.freshDays)??7," days. A fresh model that was never verified is an unknown, not a failure — background spot-checks work through those a few at a time."]}),i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:8},children:Array.from(W.entries()).map(([z,T])=>{const Z=T.filter(U=>U.reachability==="routable").length;return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:8,border:"1px solid var(--border)",overflow:"hidden"},children:[i.jsxs("div",{style:{padding:"10px 14px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8},children:[i.jsx("span",{style:{fontSize:16},children:z==="groq"?"⚡":z==="gemini"?"🌀":z==="local"?"💻":"🤖"}),i.jsx("span",{style:{fontWeight:600,color:"var(--text-primary)"},children:z}),i.jsxs("span",{style:{fontSize:12,color:"var(--text-secondary)"},children:["(",T.length," shown · ",Z," routable)"]})]}),i.jsx("div",{style:{padding:"8px 14px"},children:T.map(U=>{const $=Date.now(),ie=P==null?void 0:P[U.reachability],de=A==null?void 0:A[U.freshness],ve=(ie==null?void 0:ie.color)??"var(--text-secondary)";return i.jsxs("div",{"data-testid":`timeline-row-${U.provider}-${U.model}`,style:{display:"flex",alignItems:"center",gap:12,padding:"6px 0",borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("div",{style:{flex:1,minWidth:0},children:[i.jsx("div",{style:{fontSize:13,color:"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:U.model}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary)",display:"flex",gap:12,flexWrap:"wrap"},children:[i.jsxs("span",{children:["Probed: ",zo($-U.lastProbedAt)]}),i.jsxs("span",{children:["Verified: ",U.lastVerifiedAt>0?zo($-U.lastVerifiedAt):"never"]}),U.lastUsedAt>0&&i.jsxs("span",{children:["Used: ",zo($-U.lastUsedAt)]}),U.latencyMs!==void 0&&i.jsxs("span",{children:[U.latencyMs,"ms"]}),U.errorRate>0&&i.jsxs("span",{style:{color:U.errorRate>.5?"var(--accent-red)":"var(--accent-yellow)"},children:["err ",(U.errorRate*100).toFixed(0),"%"]}),U.daysSinceVerify!==null&&U.daysSinceVerify>7&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["proof ",ybe(U.lastVerifiedAt)," old"]})]})]}),i.jsx(bbe,{entry:U}),de&&i.jsx("span",{style:X_(de.color),title:de.blurb,children:de.label}),i.jsx("span",{style:X_(ve),title:(ie==null?void 0:ie.blurb)??U.reachability,"data-testid":`reachability-${U.provider}-${U.model}`,children:((ie==null?void 0:ie.label)??U.reachability).toUpperCase()})]},U.model)})})]},z)})}),M.length===0&&i.jsx("div",{style:{textAlign:"center",padding:"40px 20px",color:"var(--text-secondary)"},children:o==="routable"&&O.length>0?"No model is routable right now — every tracked model is unverified, parked, expired or dead. The Models page shows what each provider would offer live.":"No models match the current filter"})]})}const Q_=7*24*60*60*1e3;function Z_(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const n=Math.round(t/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`}function J_(e){return(e||"").split(/[\\/]/).filter(Boolean).slice(-2).join("/")||e}function wbe(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState(!1),[o,l]=b.useState(null),c=b.useCallback(async()=>{const p=await K.fetchContinuity();t(p),r(!0)},[]);b.useEffect(()=>{let p=!0;return K.fetchContinuity().then(m=>{p&&(t(m),r(!0))}),()=>{p=!1}},[]);const u=b.useCallback(async(p,m,g)=>{s(!0),l(null);const y=await K.clearContinuity(p,m,g);y.ok?l(`Removed ${y.removed??0} record(s).`):l(y.error||"Could not clear that."),await c(),s(!1)},[c]);if(!n)return i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"🔗 Continuity"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading continuity data…"})})]});const d=e===null,f=(e==null?void 0:e.sessions)??[],h=(e==null?void 0:e.recall)??[];return i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"🔗 Continuity"}),i.jsx("p",{className:"memory-namespace-note",children:"The conversation snapshots that let a crashed or killed turn be resumed, and the index of past asks used for semantic recall. Both are history — they never decide that work is done. Turn the switches on or off on the Process Environment page."}),d?i.jsxs("p",{className:"memory-namespace-note",children:["Continuity data is unavailable — this dashboard server has no ",i.jsx("code",{children:"/api/continuity"})," endpoint."]}):i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"memory-backend",children:["Session store: ",i.jsx("code",{children:e.toggles.sessionStore?"ON":"OFF"})," · ","Semantic recall: ",i.jsx("code",{children:e.toggles.sessionRecall?"ON":"OFF"})]}),o?i.jsx("div",{className:"env-var-notice",children:o}):null,i.jsxs("h3",{className:"section-subtitle",children:["Stored sessions (",f.length,")"]}),f.length===0?i.jsx("p",{className:"memory-namespace-note",children:"No session snapshots yet."}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"memory-list",children:f.map(p=>i.jsxs("div",{className:"memory-item",children:[i.jsxs("span",{className:"memory-project",children:[p.open?"↩️ OPEN":"✓ closed"," · ",p.goal]}),i.jsxs("span",{className:"memory-count",children:[J_(p.cwd)," · ",p.steps," step(s) · ",Z_(p.savedAt)]}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,"aria-label":`Forget session ${p.goal}`,onClick:()=>void u("session",p.id),children:"🗑️ Forget"})]},p.id))}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,title:"Delete only session snapshots saved more than 7 days ago",onClick:()=>void u("sessions",void 0,Q_),children:"🗑️ Forget older than a week"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a||f.length===0,onClick:()=>void u("sessions"),children:"🗑️ Forget all sessions"})]})]}),i.jsxs("h3",{className:"section-subtitle",children:["Recalled past asks (",h.length,")"]}),h.length===0?i.jsx("p",{className:"memory-namespace-note",children:"Nothing indexed for recall yet."}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"memory-list",children:h.map(p=>i.jsxs("div",{className:"memory-item",children:[i.jsxs("span",{className:"memory-project",children:[p.outcome,": ",p.goal]}),i.jsxs("span",{className:"memory-count",children:[J_(p.projectPath)," · ",Z_(p.savedAt)]}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,"aria-label":`Forget recall entry ${p.goal}`,onClick:()=>void u("recall-entry",p.id),children:"🗑️ Forget"})]},p.id))}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,title:"Delete only recall entries indexed more than 7 days ago",onClick:()=>void u("recall",void 0,Q_),children:"🗑️ Forget older than a week"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a||h.length===0,onClick:()=>void u("recall"),children:"🗑️ Forget all recall entries"})]})]})]})]})}function ts(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function kbe(e){return e==null?"0%":(e*100).toFixed(1)+"%"}const eC={"faiss-native":"native FAISS","faiss-ivf":"FAISS-style IVF-flat ANN",json:"exact flat cosine (JSON)"};function Sbe({data:e}){var c,u;if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💾",title:"Memory Store"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading memory data..."})})]});const{memory:t,health:n}=e,r=Object.entries(t.byFingerprint||{}).sort(([,d],[,f])=>f-d),a=Object.entries(((c=t.facts)==null?void 0:c.byProject)||{}).sort(([,d],[,f])=>f-d),s=[...t.vectorNamespaces||[]].sort((d,f)=>f.entries-d.entries),o=t.recall||{total:0,today:0,last7d:0},l=[{key:"trajectories",icon:"🧭",value:ts(t.total),label:"Trajectories",tone:"accent"},{key:"avg-score",icon:"⭐",value:kbe(t.avgScore),label:"Avg Score",tone:"ok"},{key:"facts",icon:"📌",value:ts((u=t.facts)==null?void 0:u.total),label:"Facts",tone:"warn"},{key:"recall",icon:"🔁",value:ts(o.total),label:"Recall Hits",tone:"ok"},{key:"patterns",icon:"🧩",value:ts(n==null?void 0:n.patterns),label:"Coding Patterns",tone:"warn"},{key:"feedback",icon:"👍",value:ts(n==null?void 0:n.feedback),label:"Feedback Ratings",tone:"ok"}];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💾",title:"Memory Store"}),i.jsx(Wi,{tiles:l}),i.jsxs("p",{className:"memory-backend",children:["Memory tier: ",i.jsx("code",{children:t.backend||"local"})," · ","Vector index: ",i.jsx("code",{children:t.vectorBackend||"unknown"}),t.vectorBackend&&eC[t.vectorBackend]?` (${eC[t.vectorBackend]})`:"",o.last7d>0?` · ${ts(o.last7d)} recall(s) this week, ${ts(o.today)} today`:" · no recalls yet"]}),i.jsx(wbe,{}),r.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"By Project Type"}),i.jsx("div",{className:"memory-list",children:r.map(([d,f])=>i.jsxs("div",{className:"memory-item",children:[i.jsx("span",{className:"memory-project",children:d}),i.jsxs("span",{className:"memory-count",children:[f," trajectory(ies)"]})]},d))})]}),a.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Facts by Project"}),i.jsx("div",{className:"memory-list",children:a.map(([d,f])=>i.jsxs("div",{className:"memory-item",children:[i.jsx("span",{className:"memory-project",children:d}),i.jsxs("span",{className:"memory-count",children:[f," fact(s)"]})]},d))})]}),s.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Vector Index by Namespace"}),i.jsxs("p",{className:"memory-namespace-note",children:["Each namespace is its own index file. ",i.jsx("code",{children:"default"})," holds only successful trajectories and indexed sessions — facts, repo chunks and the model registry have their own namespaces — so a small ",i.jsx("code",{children:"default"})," count is corpus size, not a broken index."]}),i.jsx("div",{className:"memory-list",children:s.map(d=>i.jsxs("div",{className:"memory-item",children:[i.jsx("span",{className:"memory-project",children:d.name}),i.jsxs("span",{className:"memory-count",children:[d.entries," vector(s)"]})]},d.name))})]})]})}function mv(e){const t=e.replace(/[\\/]+$/,""),n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>=0?t.slice(n+1):t}function jbe(){const[e,t]=b.useState({configured:!1,authenticated:!1,role:null}),n=qr(),[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(null),[u,d]=b.useState(""),[f,h]=b.useState(""),[p,m]=b.useState(!1),[g,y]=b.useState(""),[v,S]=b.useState(""),[w,N]=b.useState(null),[k,x]=b.useState(!1),j=e.authenticated&&(e.role==="admin"||e.role==="operator"),_=b.useCallback(async()=>{const A=await K.fetchKnowledge();a(A)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(A=>{t(A?{configured:A.configured,authenticated:A.authenticated,role:A.role??null}:{configured:!1,authenticated:!1,role:null})}),_()},[_,n]);const O=b.useCallback(async()=>{var B;o(null),c(null);const A=f.split(`
|
|
206
|
-
`).map(I=>I.trim()).filter(Boolean);if(!u.trim()||A.length===0){o("A tag and at least one file or folder path are required.");return}m(!0);try{const I=await K.knowledgeIngest(u,A);if(!I.ok)o(I.error||"Ingest failed.");else{const M=(B=I.skipped)!=null&&B.length?` Skipped: ${I.skipped.map(D=>`${mv(D.path)} (${D.reason})`).join("; ")}`:"";c(`Ingested ${I.files??0} document(s) / ${I.chunks??0} chunk(s) under '${I.tag}'.${M}`),h(""),await _()}}finally{m(!1)}},[u,f,_]),C=b.useCallback(async()=>{if(o(null),N(null),!g.trim()||!v.trim()){o("A tag and a question are required.");return}x(!0);try{const A=await K.knowledgeQuery(g,v);A.ok?N(A.hits??[]):o(A.error||"Query failed.")}finally{x(!1)}},[g,v]),P=b.useCallback(async A=>{o(null),c(null);const B=await K.knowledgeForget(A);B.ok?c(`Removed knowledge tag '${A}'.`):o(B.error||`Could not remove '${A}'.`),await _()},[_]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"📚",title:"Knowledge Base",description:"Tag your own documents once; answer questions scoped to a tag. The data part comes from your documents, the general part from the model."}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"Documents and vectors live in ~/.nuvira/memory — never in a repository or package."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void _(),children:"↻ Refresh"})]}),e.authenticated?null:i.jsx("div",{className:"admin-hint",children:e.configured?"Log in to view or manage knowledge tags.":"Set up an admin account to manage knowledge tags."}),s?i.jsx("div",{className:"admin-error",children:s}):null,l?i.jsx("div",{className:"admin-hint",children:l}):null,i.jsx("h2",{className:"section-title",children:"Tags"}),r&&r.length===0?i.jsx("div",{className:"admin-hint",children:"No knowledge tags yet. Ingest a document below to create one."}):null,r&&r.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Tag"}),i.jsx("th",{children:"Chunks"}),i.jsx("th",{children:"Documents"}),j?i.jsx("th",{}):null]})}),i.jsx("tbody",{children:r.map(A=>i.jsxs("tr",{children:[i.jsx("td",{children:A.tag}),i.jsx("td",{children:A.chunkCount}),i.jsx("td",{children:A.documents.map(B=>i.jsxs("div",{title:B.path,children:[mv(B.path)," (",B.chunks," chunk",B.chunks===1?"":"s",")"]},B.path))}),j?i.jsx("td",{children:i.jsx("button",{className:"admin-mini-danger",type:"button",onClick:()=>void P(A.tag),"aria-label":`Remove knowledge tag ${A.tag}`,children:"Forget"})}):null]},A.tag))})]})}):null,j?i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-title",children:"Ingest under a tag"}),i.jsx("div",{className:"admin-hint",children:"One file or folder path per line (PDF, DOCX, XLSX, PPTX, Markdown, CSV, JSON, plain text). Tags are normalized: “Dheeraj Health Report” becomes “dheeraj-health-report”."}),i.jsxs("div",{className:"admin-gate-form",children:[i.jsx("input",{className:"admin-input",type:"text",placeholder:"tag (e.g. dheeraj-health-report)",value:u,onChange:A=>d(A.target.value),"aria-label":"Knowledge tag"}),i.jsx("textarea",{className:"admin-input",rows:3,placeholder:`/path/to/labs.pdf
|
|
207
|
-
/path/to/notes/`,value:f,onChange:A=>h(A.target.value),"aria-label":"Paths to ingest"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void O(),disabled:p,children:p?"Ingesting…":"Ingest"})]})]}):null,i.jsx("h2",{className:"section-title",children:"Ask a tagged knowledge base"}),i.jsxs("div",{className:"admin-gate-form",children:[i.jsx("input",{className:"admin-input",type:"text",placeholder:"tag",list:"knowledge-tags",value:g,onChange:A=>y(A.target.value),"aria-label":"Tag to query"}),i.jsx("datalist",{id:"knowledge-tags",children:(r??[]).map(A=>i.jsx("option",{value:A.tag},A.tag))}),i.jsx("input",{className:"admin-input",type:"text",placeholder:"what is my LDL and how do I lower it",value:v,onChange:A=>S(A.target.value),"aria-label":"Question"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void C(),disabled:k,children:k?"Searching…":"Query"})]}),w&&w.length===0?i.jsx("div",{className:"admin-hint",children:"No passages matched that tag — check the tag name, or ingest documents first."}):null,w&&w.length>0?i.jsx("div",{children:w.map((A,B)=>i.jsxs("div",{className:"admin-summary-card",children:[i.jsxs("div",{className:"admin-summary-label",children:[mv(A.sourcePath)," · chunk ",A.chunkIndex+1," · sim ",A.similarity.toFixed(3)]}),i.jsx("div",{className:"admin-summary-value",style:{whiteSpace:"pre-wrap",fontWeight:400},children:A.text.slice(0,600)})]},`${A.sourcePath}-${A.chunkIndex}-${B}`))}):null]})}const Nbe=7*24*60*60*1e3;function Ebe(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function _be({data:e}){const[t,n]=b.useState(null),[r,a]=b.useState(!1),[s,o]=b.useState(null),l=t??(e==null?void 0:e.history),c=b.useCallback(async(d,f={})=>{a(!0),o(null);const h=await K.clearHistory(d,f);h.ok?o(d==="all"?`Removed ${h.removed??0} conversation(s).`:d==="older"?h.removed?`Removed ${h.removed} conversation(s) older than a week.`:"Nothing older than a week — nothing removed.":`Removed ${h.removed?h.removed:0} conversation(s).`):o(h.error||"Could not delete that.");const p=await K.fetchHistory();p&&n(p),a(!1)},[]);if(!l)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📝",title:"Conversation History"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading history..."})})]});const u=l.recent||[];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📝",title:"Conversation History"}),i.jsxs("div",{className:"history-stats",children:[i.jsxs("span",{className:"history-count",children:["Total: ",i.jsx("strong",{children:l.total})," sessions"]}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:r,title:"Delete only conversations started more than 7 days ago",onClick:()=>void c("older",{olderThanMs:Nbe}),children:"🗑️ Forget older than a week"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:r||l.total===0,onClick:()=>{window.confirm("Delete ALL stored conversations? This cannot be undone.")&&c("all")},children:"🗑️ Clear all history"})]})]}),s?i.jsx("div",{className:"env-var-notice",children:s}):null,i.jsx("div",{className:"history-list",children:u.length===0?i.jsx("div",{className:"empty-state",children:"No conversations recorded yet."}):u.map(d=>i.jsxs("div",{className:"history-item",children:[i.jsx("div",{className:"history-summary",children:d.summary||"Untitled"}),i.jsxs("div",{className:"history-meta",children:[i.jsxs("span",{children:["📅 ",Ebe(d.startedAt)]}),i.jsxs("span",{children:["🤖 ",d.provider||"--"]}),i.jsxs("span",{children:["💬 ",d.messageCount||0," msgs"]}),d.tags&&d.tags.length>0&&i.jsxs("span",{children:["🏷️ ",d.tags.map(f=>i.jsx("span",{className:"history-tag",children:f},f))]}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:r,"aria-label":`Forget conversation ${d.summary||d.id}`,onClick:()=>void c("session",{id:d.id}),children:"🗑️ Forget"})]})]},d.id))})]})}function Cbe(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const n=Math.round(t/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`}function Abe(){const[e,t]=b.useState([]),[n,r]=b.useState(""),[a,s]=b.useState(""),[o,l]=b.useState(null),[c,u]=b.useState(!1),[d,f]=b.useState(!1),[h,p]=b.useState(null),[m,g]=b.useState(null),[y,v]=b.useState(""),[S,w]=b.useState(""),N=b.useCallback(async(_,O)=>{const C=await K.fetchDecisions(_,O);l(C),u(!0)},[]);b.useEffect(()=>{let _=!0;return K.listProjects().then(O=>{var P,A;if(!_)return;t(O);const C=((P=O.find(B=>B.kind==="cwd"))==null?void 0:P.path)??((A=O[0])==null?void 0:A.path)??"";r(C),N(C)}),()=>{_=!1}},[N]);const k=b.useCallback(()=>{n&&N(n,a.trim()||void 0)},[n,a,N]),x=b.useCallback(async _=>{if(!n||!y.trim())return;f(!0),p(null),await K.reviseDecision(n,_,y.trim(),S.trim()||void 0)?(p(`Revised ${_} — the previous answer is kept in its history.`),g(null),v(""),w(""),await N(n,a.trim()||void 0)):p("Could not revise that decision — it may no longer exist."),f(!1)},[n,y,S,a,N]),j=(o==null?void 0:o.decisions)??[];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🧭",title:"Decisions",description:"The choices the agent asked YOU to make (ask_user), kept so you can refer back and revise them. Written to the project's .nuvira/decisions.jsonl — never a substitute for asking."}),c?o===null?i.jsxs("p",{className:"memory-namespace-note",children:["Decision data is unavailable — this dashboard server has no ",i.jsx("code",{children:"/api/decisions"})," endpoint."]}):i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Workspace"}),e.length>1?i.jsxs("label",{className:"memory-backend",children:["Project:"," ",i.jsx("select",{value:n,onChange:_=>{r(_.target.value),N(_.target.value,a.trim()||void 0)},children:e.map(_=>i.jsxs("option",{value:_.path,children:[_.name," (",_.kind,")"]},_.path))})]}):i.jsx("p",{className:"memory-backend",children:i.jsx("code",{children:o.dir})}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("input",{type:"search",value:a,placeholder:"Find decisions relevant to an ask…","aria-label":"Search decisions relevant to an ask",onChange:_=>s(_.target.value),onKeyDown:_=>{_.key==="Enter"&&k()}}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:!n,onClick:k,children:"🔎 Search"}),o.relevant?i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:!n,onClick:()=>{s(""),N(n)},children:"✕ Clear"}):null]}),h?i.jsx("div",{className:"env-var-notice",children:h}):null,i.jsx("h2",{className:"section-subtitle",children:o.relevant?`Relevant decisions (${j.length})`:`Recorded decisions (${j.length})`}),j.length===0?i.jsx("p",{className:"memory-namespace-note",children:o.relevant?"No recorded decision matches that ask.":"None yet — a decision is recorded when the agent has to ask you one."}):i.jsx("div",{className:"memory-list",children:j.map(_=>{var O;return i.jsxs("div",{className:"memory-item",children:[i.jsxs("div",{children:[i.jsxs("span",{className:"memory-project",children:[_.status==="revised"?"✏️":"✅"," ",_.question]}),i.jsxs("div",{className:"memory-count",children:["→ ",_.answer||"(none)"," · ",Cbe(_.at)," · ",_.source," · ",_.id,_.status==="revised"?` · revised ${((O=_.revisions)==null?void 0:O.length)??0}×`:""]}),_.choices&&_.choices.length>0?i.jsxs("div",{className:"memory-count",children:["offered: ",_.choices.join(" | ")]}):null]}),m===_.id?i.jsxs("div",{children:[i.jsx("input",{type:"text",value:y,placeholder:"New answer","aria-label":`New answer for ${_.question}`,onChange:C=>v(C.target.value)}),i.jsx("input",{type:"text",value:S,placeholder:"Why it changed (optional)","aria-label":`Note for ${_.question}`,onChange:C=>w(C.target.value)}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:d||!y.trim(),onClick:()=>void x(_.id),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:d,onClick:()=>{g(null),v(""),w("")},children:"✕ Cancel"})]}):i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>{g(_.id),v(_.answer),w("")},children:"✏️ Revise"})]},_.id)})})]}):i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading decisions…"})})]})}function Tbe({onFetch:e,onClear:t,onExport:n}){const[r,a]=b.useState([]),[s,o]=b.useState(!1),[l,c]=b.useState(""),[u,d]=b.useState(""),[f,h]=b.useState(null),[p,m]=b.useState(null);b.useEffect(()=>{g()},[l,u]);const g=async()=>{o(!0);try{const N=await e({skillName:l||void 0,status:u||void 0,limit:100});a(N);const k=N.length,x=N.filter(O=>O.status==="success").length,j=N.filter(O=>O.status==="failure").length,_=k>0?Math.round(N.reduce((O,C)=>O+C.durationMs,0)/k):0;m({total:k,success:x,failure:j,avgDuration:_})}catch(N){console.error("Failed to fetch execution history:",N)}finally{o(!1)}},y=async N=>{if(n)try{const k=await n(N),x=new Blob([k],{type:N==="json"?"application/json":"text/csv"}),j=URL.createObjectURL(x),_=document.createElement("a");_.href=j,_.download=`execution-history.${N}`,_.click(),URL.revokeObjectURL(j)}catch(k){console.error("Failed to export history:",k)}},v=async()=>{if(t&&confirm("Are you sure you want to clear all execution history?"))try{await t(),a([]),m(null)}catch(N){console.error("Failed to clear history:",N)}},S=N=>{switch(N){case"success":return"✅";case"failure":return"❌";case"timeout":return"⏰";case"rejected":return"🚫";case"error":return"💥";default:return"❓"}},w=N=>{switch(N){case"python":return"🐍";case"node":return"🟢";case"shell":return"🖥️";case"ruby":return"💎";case"go":return"🔵";case"rust":return"🦀";default:return"📜"}};return i.jsxs("div",{className:"execution-history",children:[i.jsx(Te,{icon:"📜",title:"Execution History",actions:i.jsxs("div",{className:"execution-history-actions",children:[i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>y("json"),children:"📥 Export JSON"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>y("csv"),children:"📥 Export CSV"}),t&&i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",onClick:v,children:"🗑️ Clear"})]})}),p&&i.jsxs("div",{className:"execution-history-stats",children:[i.jsxs("div",{className:"stat-item",children:[i.jsx("span",{className:"stat-value",children:p.total}),i.jsx("span",{className:"stat-label",children:"Total"})]}),i.jsxs("div",{className:"stat-item stat-success",children:[i.jsx("span",{className:"stat-value",children:p.success}),i.jsx("span",{className:"stat-label",children:"Success"})]}),i.jsxs("div",{className:"stat-item stat-failure",children:[i.jsx("span",{className:"stat-value",children:p.failure}),i.jsx("span",{className:"stat-label",children:"Failed"})]}),i.jsxs("div",{className:"stat-item",children:[i.jsxs("span",{className:"stat-value",children:[p.avgDuration,"ms"]}),i.jsx("span",{className:"stat-label",children:"Avg Duration"})]})]}),i.jsxs("div",{className:"execution-history-filters",children:[i.jsx("input",{className:"env-var-input",type:"text","aria-label":"Filter by skill name",placeholder:"Filter by skill name...",value:l,onChange:N=>c(N.target.value)}),i.jsxs("select",{className:"env-var-input","aria-label":"Filter by status",value:u,onChange:N=>d(N.target.value),children:[i.jsx("option",{value:"",children:"All statuses"}),i.jsx("option",{value:"success",children:"Success"}),i.jsx("option",{value:"failure",children:"Failure"}),i.jsx("option",{value:"timeout",children:"Timeout"}),i.jsx("option",{value:"rejected",children:"Rejected"}),i.jsx("option",{value:"error",children:"Error"})]})]}),i.jsx("div",{className:"execution-history-list",children:s?i.jsx("div",{className:"execution-history-empty",children:"Loading..."}):r.length===0?i.jsx("div",{className:"execution-history-empty",children:"No execution history found. Execute a skill to see results here."}):r.map(N=>i.jsxs("div",{className:`execution-history-entry ${N.status}`,onClick:()=>h((f==null?void 0:f.id)===N.id?null:N),children:[i.jsxs("div",{className:"entry-header",children:[i.jsx("span",{className:"entry-icon",children:S(N.status)}),i.jsx("span",{className:"entry-skill",children:N.skillName}),i.jsxs("span",{className:"entry-runtime",children:[w(N.runtime)," ",N.runtime]}),i.jsxs("span",{className:"entry-duration",children:[N.durationMs,"ms"]}),i.jsx("span",{className:"entry-time",children:new Date(N.timestamp).toLocaleString()}),i.jsx("span",{className:"entry-expand",children:(f==null?void 0:f.id)===N.id?"▼":"▶"})]}),(f==null?void 0:f.id)===N.id&&i.jsxs("div",{className:"entry-details",children:[i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Status:"}),i.jsx("span",{className:"detail-value",children:N.status})]}),i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Runtime:"}),i.jsx("span",{className:"detail-value",children:N.runtime})]}),i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Duration:"}),i.jsxs("span",{className:"detail-value",children:[N.durationMs,"ms"]})]}),N.exitCode!==void 0&&i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Exit Code:"}),i.jsx("span",{className:"detail-value",children:N.exitCode})]}),N.error&&i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Error:"}),i.jsx("span",{className:"detail-value entry-error",children:N.error})]}),N.command&&i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Command:"}),i.jsx("code",{className:"detail-value",children:N.command})]})]})]},N.id))})]})}function Obe({envVars:e,onSave:t,onDelete:n,onTest:r,readOnly:a=!1}){const[s,o]=b.useState(null),[l,c]=b.useState(""),[u,d]=b.useState(!1),[f,h]=b.useState(""),[p,m]=b.useState(""),[g,y]=b.useState(null),[v,S]=b.useState({}),w=[...e].sort((j,_)=>j.requiredBy&&!_.requiredBy?-1:!j.requiredBy&&_.requiredBy?1:j.name.localeCompare(_.name)),N=j=>{t(j,l),o(null),c("")},k=()=>{f&&p&&(t(f,p),h(""),m(""),d(!1))},x=async j=>{if(r){y(j);try{const _=await r(j);S(O=>({...O,[j]:_}))}catch{S(_=>({..._,[j]:!1}))}finally{y(null)}}};return i.jsxs("div",{className:"env-var-editor",children:[i.jsxs("div",{className:"env-var-header",children:[i.jsx("h2",{className:"env-var-title",children:"🔐 Environment Variables"}),!a&&i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>d(!u),children:u?"✕ Cancel":"+ Add Variable"})]}),u&&!a&&i.jsxs("div",{className:"env-var-add-form",children:[i.jsx("input",{className:"env-var-input",type:"text",placeholder:"Variable name (e.g., MY_API_KEY)",value:f,onChange:j=>h(j.target.value)}),i.jsx("input",{className:"env-var-input",type:"password",placeholder:"Value",value:p,onChange:j=>m(j.target.value)}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:!f||!p,onClick:k,children:"💾 Save"})]}),i.jsx("div",{className:"env-var-list",children:w.length===0?i.jsx("div",{className:"env-var-empty",children:"No environment variables configured. Add one to get started."}):w.map(j=>i.jsxs("div",{className:`env-var-row ${j.isSet?"env-var-set":"env-var-missing"} ${j.isProviderCredential?"env-var-blocked":""}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[j.name,j.requiredBy&&i.jsxs("span",{className:"env-var-required-badge",children:["required by ",j.requiredBy]}),j.isProviderCredential&&i.jsx("span",{className:"env-var-blocked-badge",children:"🔒 provider credential (blocked)"})]}),i.jsx("span",{className:"env-var-status",children:j.isSet?"✅ Set":"❌ Not set"})]}),j.description&&i.jsx("div",{className:"env-var-description",children:j.description}),s===j.name?i.jsxs("div",{className:"env-var-edit",children:[i.jsx("input",{className:"env-var-input",type:"password",value:l,onChange:_=>c(_.target.value),placeholder:"Enter new value..."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>N(j.name),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>o(null),children:"Cancel"})]}):i.jsxs("div",{className:"env-var-actions",children:[!a&&!j.isProviderCredential&&i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>{o(j.name),c("")},children:"✏️ Edit"}),r&&i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:g===j.name,onClick:()=>x(j.name),children:g===j.name?"⏳ Testing...":"🧪 Test"}),!a&&i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",onClick:()=>n(j.name),children:"🗑️ Delete"}),v[j.name]!==void 0&&i.jsx("span",{className:`env-var-test-result ${v[j.name]?"env-var-test-pass":"env-var-test-fail"}`,children:v[j.name]?"✅ Valid":"❌ Invalid"})]})]},j.name))}),i.jsx("div",{className:"env-var-help",children:i.jsxs("p",{children:[i.jsx("strong",{children:"Tip:"})," Environment variables are stored in ",i.jsx("code",{children:"~/.nuvira/.env"})," and injected into skill executions. Provider credentials (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.) are automatically blocked from skill execution for security."]})})]})}function Pbe(){const[e,t]=b.useState({configured:!1,authenticated:!1,role:null}),n=qr(),[r,a]=b.useState([]),[s,o]=b.useState(!0),[l,c]=b.useState(null),[u,d]=b.useState(null),f=e.authenticated&&(e.role==="admin"||e.role==="operator"),h=b.useCallback(async()=>{o(!0);const y=await K.fetchSkillEnv();a(y),o(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(y=>{t(y?{configured:y.configured,authenticated:y.authenticated,role:y.role??null}:{configured:!1,authenticated:!1,role:null})}),h()},[h,n]);const p=b.useCallback(async(y,v)=>{var N;c(null),d(null);const S=await K.saveSecrets({[y]:v}),w=(N=S.refused)==null?void 0:N.find(k=>k.name===y);!S.ok||w?c(w?Rbe(y,w.reason):S.error||`Could not save ${y}.`):d(`Saved ${y}.`),await h()},[h]),m=b.useCallback(async y=>{c(null),d(null);const v=await K.deleteSkillEnvVar(y);v.ok?d(v.removed?`Deleted ${y}.`:`${y} was not stored in the env file.`):c(v.error||`Could not delete ${y}.`),await h()},[h]),g=b.useCallback(async y=>{const v=await K.testSkillEnvVar(y);return v.ok?(c(null),d(v.detail||`${y}: ${v.usable?"usable by skills":"not usable by skills"}`),v.usable===!0):(c(v.error||`Could not test ${y}.`),!1)},[]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"🔐",title:"Skill Environment Variables"}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"Values are masked; only names and set/unset state are shown."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void h(),children:"↻ Refresh"})]}),i.jsxs("div",{className:"admin-hint",children:["Secrets here are injected into skill executions that declare them (",i.jsx("code",{children:"required_environment_variables"}),"). Provider credentials are listed but locked — they belong to provider setup, and skills never receive them."]}),e.authenticated?null:i.jsx("div",{className:"admin-hint",children:e.configured?"Log in to view or edit skill secrets.":"Set up an admin account to manage skill secrets."}),e.authenticated&&!f?i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can change these values."}):null,l?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:l}):null,u?i.jsx("div",{className:"env-var-notice",children:u}):null,s?i.jsx("div",{className:"loading-state",children:"Loading…"}):i.jsx(Obe,{envVars:r,onSave:(y,v)=>void p(y,v),onDelete:y=>void m(y),onTest:g,readOnly:!f})]})}function Rbe(e,t){switch(t){case"provider-credential":return`${e} is a provider credential — configure it in provider setup instead. Skills never receive it.`;case"invalid-name":return`${e} is not a valid environment variable name.`;case"write-failed":return`${e} could not be written to the env file.`;default:return`${e} was not saved (${t}).`}}const Mbe=[{id:"turn",title:"Turn behaviour",blurb:"How each turn runs. Unset means nobody has asked for anything, which is not the same as asking for no."},{id:"observability",title:"Observability",blurb:"What a run records about itself. Both are off by default and off unless asked for."},{id:"hooks",title:"Tool hooks",blurb:"A command run around every tool call, with the call on stdin as JSON. For a phase, a value here REPLACES the hooks declared in tools.hooks."}];function Ibe(){const[e,t]=b.useState({configured:!1,authenticated:!1,role:null}),n=qr(),[r,a]=b.useState([]),[s,o]=b.useState(!0),[l,c]=b.useState(null),[u,d]=b.useState(null),[f,h]=b.useState({}),[p,m]=b.useState(null),g=e.authenticated&&(e.role==="admin"||e.role==="operator"),y=b.useCallback(async()=>{o(!0),a(await K.fetchProcessEnv()),o(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(w=>{t(w?{configured:w.configured,authenticated:w.authenticated,role:w.role??null}:{configured:!1,authenticated:!1,role:null})}),y()},[y,n]);const v=b.useCallback(async(w,N)=>{m(w),c(null),d(null);const k=await K.saveProcessEnvVar(w,N);if(!k.ok||!k.row)c(k.error||`Could not set ${w}.`);else{const x=k.row;a(j=>j.map(_=>_.name===x.name?x:_)),h(j=>({...j,[w]:""})),d(`${w} = ${x.fileValue}. Takes effect on the next turn; the dashboard picked it up immediately.`)}m(null)},[]),S=b.useCallback(async w=>{m(w),c(null),d(null);const N=await K.deleteProcessEnvVar(w);if(!N.ok||!N.row)c(N.error||`Could not unset ${w}.`);else{const k=N.row;a(x=>x.map(j=>j.name===k.name?k:j)),h(x=>({...x,[w]:""})),d(N.removed?`${w} removed from the env file. ${k.unsetMeans}`:`${w} had no line in the env file. ${k.unsetMeans}`)}m(null)},[]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"🌱",title:"Process Environment"}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"These are the switches Agent-Nuvira reads for how a run behaves. Values are written to the credential env file and are not masked — do not put a secret in a hook command."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void y(),children:"↻ Refresh"})]}),i.jsxs("div",{className:"admin-hint",children:["A value exported in your shell ",i.jsx("strong",{children:"wins over this file"}),", for the dashboard and for every CLI run in that shell. A row that says ",i.jsx("em",{children:"shell value wins"})," is reporting exactly that, and writes here will not change it."]}),e.authenticated?null:i.jsx("div",{className:"admin-hint",children:e.configured?"Log in to view or change the process environment.":"Set up an admin account to change the process environment."}),e.authenticated&&!g?i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can change these values."}):null,l?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:l}):null,u?i.jsx("div",{className:"env-var-notice",children:u}):null,s?i.jsx("div",{className:"loading-state",children:"Loading…"}):Mbe.map(w=>{const N=r.filter(k=>k.group===w.id);return N.length===0?null:i.jsxs("section",{className:"process-env-group",children:[i.jsx("h3",{className:"process-env-group-title",children:w.title}),i.jsx("p",{className:"process-env-group-blurb",children:w.blurb}),i.jsx("div",{className:"env-var-list",children:N.map(k=>i.jsx($be,{row:k,draft:f[k.name]??"",busy:p===k.name,readOnly:!g,onDraft:x=>h(j=>({...j,[k.name]:x})),onSet:x=>void v(k.name,x),onUnset:()=>void S(k.name)},k.name))})]},w.id)})]})}function $be({row:e,draft:t,busy:n,readOnly:r,onDraft:a,onSet:s,onUnset:o}){const l=e.state==="on",c=e.state!=="unset",u=f=>`admin-mini-btn${f?" process-env-active":""}`,d=e.kind==="flag"&&e.fileValue!==null&&e.fileValue!=="1"&&e.fileValue!=="0"?e.fileValue:null;return i.jsxs("div",{className:`env-var-row ${c?"env-var-set":"env-var-missing"}`,"data-testid":`process-env-row-${e.name}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[e.name,e.shadowed?i.jsxs("span",{className:"env-var-blocked-badge",children:["⚠️ shell value wins: ",e.processValue]}):null]}),i.jsxs("span",{className:"env-var-status",children:[e.kind==="flag"?l?"✅ On":c?"⭕ Off":"➖ Unset":c?"✅ Set":"➖ Unset",d?` (${d})`:""]})]}),i.jsxs("div",{className:"env-var-description",children:[i.jsx("strong",{children:e.label})," — ",e.description]}),i.jsxs("div",{className:"env-var-description",children:["Unset: ",e.unsetMeans]}),e.cliEquivalent?i.jsxs("div",{className:"env-var-description",children:["Same switch: ",i.jsx("code",{children:e.cliEquivalent})]}):null,e.warning?i.jsxs("div",{className:"env-var-warning",children:["⚠️ ",e.warning]}):null,r?null:i.jsxs("div",{className:"env-var-actions",children:[e.kind==="flag"?i.jsxs(i.Fragment,{children:[i.jsx("button",{className:u(l),type:"button",disabled:n,onClick:()=>s("1"),children:"On"}),i.jsx("button",{className:u(c&&!l),type:"button",disabled:n,onClick:()=>s("0"),children:"Off"}),i.jsx("button",{className:u(!c),type:"button",disabled:n,onClick:o,children:"Unset"})]}):null,e.kind==="text"||e.acceptsValue?i.jsxs(i.Fragment,{children:[i.jsx("input",{className:"env-var-input",type:"text",value:t,placeholder:e.placeholder,disabled:n,onChange:f=>a(f.target.value),"aria-label":`${e.name} value`}),i.jsxs("button",{className:"admin-mini-btn",type:"button",disabled:n||t.trim()==="",onClick:()=>s(t),children:["💾 ",e.valueLabel??"Save"]})]}):null,e.kind==="text"?i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:n,onClick:o,children:"🗑️ Unset"}):null]})]})}const tC={before_tool_call:"🛑",after_tool_call:"✅",failed_tool_call:"❌",on_session_end:"🏁"};function nC(e){const t={};for(const n of e.split(`
|
|
208
|
-
`)){const r=n.trim();if(!r)continue;const a=r.indexOf("=");if(a<=0)continue;const s=r.slice(0,a).trim(),o=r.slice(a+1).trim();s&&o&&(t[s]=o)}return Object.keys(t).length>0?t:void 0}function Lbe(e){const t=e.when??{},n=[];if(t.tool&&n.push(`tool ${t.tool}`),t.surface&&n.push(`surface ${t.surface}`),t.cwdPrefix&&n.push(`cwd ${t.cwdPrefix}*`),t.argsMatch)for(const[a,s]of Object.entries(t.argsMatch))n.push(`${a}=${s}`);const r=n.length>0?n.join(" · "):"every call";switch(e.action.kind){case"deny":return`${r} → deny${e.action.reason?`: ${e.action.reason}`:""}`;case"notify":return`${r} → notify: ${e.action.message}`;case"scan-args":return`${r} → scan args for secrets${e.action.denyOnHit?" (deny on hit)":""}`}}function Dbe(){const e=qr(),[t,n]=b.useState({configured:!1,authenticated:!1,role:null}),[r,a]=b.useState(null),[s,o]=b.useState(!0),[l,c]=b.useState(null),[u,d]=b.useState(null),[f,h]=b.useState(!1),[p,m]=b.useState([]),[g,y]=b.useState(""),[v,S]=b.useState(""),[w,N]=b.useState("before_tool_call"),[k,x]=b.useState("deny"),[j,_]=b.useState(""),[O,C]=b.useState(""),[P,A]=b.useState(""),[B,I]=b.useState(""),[M,D]=b.useState(""),[W,R]=b.useState("hook fired: {tool}"),[z,T]=b.useState(!1),Z=t.authenticated&&(t.role==="admin"||t.role==="operator"),U=b.useCallback(async()=>{o(!0);const H=await K.fetchHooks();H?(a(H),m(H.hooks)):c("Could not load hooks — the dashboard server may be older than this bundle."),o(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(H=>{n(H?{configured:H.configured,authenticated:H.authenticated,role:H.role??null}:{configured:!1,authenticated:!1,role:null})}),U()},[U,e]);const $=(r==null?void 0:r.events)??["before_tool_call","after_tool_call","failed_tool_call","on_session_end"],ie=(r==null?void 0:r.eventDescriptions)??{},de=(r==null?void 0:r.actionKinds)??["deny","notify","scan-args"],ve=(r==null?void 0:r.actionDescriptions)??{},Ee=b.useMemo(()=>p.some(H=>H.id===g.trim()),[p,g]),J=/^[a-z0-9][a-z0-9-]{0,63}$/.test(g.trim()),Y=J&&!Ee&&v.trim().length>0,ae=b.useCallback(()=>{c(null),d(null);const H={...j.trim()?{tool:j.trim()}:{},...O.trim()?{surface:O.trim()}:{},...P.trim()?{cwdPrefix:P.trim()}:{},...nC(B)?{argsMatch:nC(B)}:{}},xe=k==="deny"?{kind:"deny",...M.trim()?{reason:M.trim()}:{}}:k==="notify"?{kind:"notify",message:W.trim()||"hook fired: {tool}"}:{kind:"scan-args",denyOnHit:z,...M.trim()?{reason:M.trim()}:{}},ke={id:g.trim(),label:v.trim(),event:w,enabled:!0,...Object.keys(H).length>0?{when:H}:{},action:xe,source:"user",updatedAt:Date.now()};m(Oe=>[...Oe,ke]),y(""),S(""),_(""),C(""),A(""),I(""),D(""),T(!1)},[g,v,w,k,j,O,P,B,M,W,z]),ce=b.useCallback(async()=>{h(!0),c(null),d(null);const H=await K.saveHooks(p);H.ok?(m(H.hooks??p),d(`Saved ${(H.hooks??p).length} hook(s). They are in force on the next tool call.`)):c(H.error||"Could not save hooks."),h(!1)},[p]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"🪝",title:"Hooks",description:"Declarative lifecycle rules bound to nuvira's own seams. A hook is DATA, not code: its only possible actions are deny, notify and secret-scan. There is no run-command action and no third-party script — nothing here executes."}),i.jsxs("div",{className:"env-var-header",children:[i.jsxs("span",{className:"env-var-title",children:[p.length," declared · ",p.filter(H=>H.enabled).length," enabled",r!=null&&r.file?i.jsxs(i.Fragment,{children:[" · stored at ",i.jsx("code",{children:r.file})]}):null]}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void U(),children:"↻ Refresh"}),Z?i.jsxs("button",{className:"admin-refresh-btn",type:"button",disabled:f,onClick:()=>void ce(),children:["💾 ",f?"Saving…":"Save hooks"]}):null]}),t.authenticated?null:i.jsx("div",{className:"admin-hint",children:t.configured?"Log in to view or change hooks.":"Set up an admin account to change hooks."}),t.authenticated&&!Z?i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can change hooks."}):null,l?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:l}):null,u?i.jsx("div",{className:"env-var-notice",children:u}):null,i.jsxs("section",{className:"panel",children:[i.jsx("h2",{className:"section-title",children:"How it works"}),i.jsxs("p",{className:"admin-hint",children:["When a seam fires, nuvira tests each enabled hook whose event matches, in order, and the FIRST ",i.jsx("code",{children:"deny"})," ","wins. Every action is implemented natively, so a bad hook can at worst block a call or print a line — it can never run code, reach the network, or read a credential."]}),i.jsxs("table",{className:"chat-plan-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Seam"}),i.jsx("th",{children:"When it fires"})]})}),i.jsx("tbody",{children:$.map(H=>i.jsxs("tr",{children:[i.jsxs("td",{children:[tC[H]," ",i.jsx("code",{children:H})]}),i.jsx("td",{children:ie[H]??""})]},H))})]}),i.jsxs("table",{className:"chat-plan-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Action"}),i.jsx("th",{children:"What it can do"})]})}),i.jsx("tbody",{children:de.map(H=>i.jsxs("tr",{children:[i.jsx("td",{children:i.jsx("code",{children:H})}),i.jsx("td",{children:ve[H]??""})]},H))})]})]}),i.jsxs("section",{className:"panel",children:[i.jsx("h2",{className:"section-title",children:"Declared hooks"}),s?i.jsx("div",{className:"loading-state",children:"Loading…"}):p.length===0?i.jsx("div",{className:"admin-hint",children:"No hooks declared. Add one below — it stays a draft until you Save."}):i.jsx("div",{className:"env-var-list",children:p.map(H=>i.jsxs("div",{className:`env-var-row ${H.enabled?"env-var-set":"env-var-missing"}`,"data-testid":`hook-row-${H.id}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[tC[H.event]," ",i.jsx("code",{children:H.id})," — ",H.label,H.source==="builtin"?i.jsx("span",{className:"hub-chip",children:"builtin"}):null]}),i.jsx("span",{className:"env-var-status",children:H.event})]}),i.jsx("div",{className:"env-var-description",children:Lbe(H)}),Z?i.jsxs("div",{className:"env-var-actions",children:[i.jsx("button",{className:`admin-mini-btn${H.enabled?" process-env-active":""}`,type:"button",onClick:()=>m(xe=>xe.map(ke=>ke.id===H.id?{...ke,enabled:!ke.enabled}:ke)),children:H.enabled?"✅ Enabled":"⭕ Disabled"}),H.source==="builtin"?i.jsx("span",{className:"admin-hint",children:"Built-in default — disable it to switch it off; it cannot be deleted."}):i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",onClick:()=>m(xe=>xe.filter(ke=>ke.id!==H.id)),children:"🗑️ Remove"})]}):null]},H.id))})]}),Z?i.jsxs("section",{className:"panel",children:[i.jsx("h2",{className:"section-title",children:"Add a hook"}),i.jsxs("div",{className:"env-var-row",children:[i.jsx("div",{className:"env-var-row-header",children:i.jsxs("span",{className:"env-var-name",children:[i.jsx("input",{className:"env-var-input",type:"text",value:g,placeholder:"id (e.g. block-rm-rf)","aria-label":"Hook id",onChange:H=>y(H.target.value)}),i.jsx("input",{className:"env-var-input",type:"text",value:v,placeholder:"label","aria-label":"Hook label",onChange:H=>S(H.target.value)})]})}),g.trim()&&!J?i.jsx("div",{className:"env-var-warning",children:"⚠️ id must be lowercase letters, digits and hyphens."}):null,Ee?i.jsx("div",{className:"env-var-warning",children:"⚠️ that id is already declared."}):null,i.jsxs("div",{className:"env-var-description",children:[i.jsxs("label",{children:["Seam:"," ",i.jsx("select",{value:w,"aria-label":"Hook event",onChange:H=>N(H.target.value),children:$.map(H=>i.jsx("option",{value:H,children:H},H))})]})," ",i.jsxs("label",{children:["Action:"," ",i.jsx("select",{value:k,"aria-label":"Hook action",onChange:H=>x(H.target.value),children:de.map(H=>i.jsx("option",{value:H,disabled:H==="deny"&&w!=="before_tool_call",children:H},H))})]})]}),i.jsxs("div",{className:"env-var-description",children:["Match (blank = every call):"," ",i.jsx("input",{className:"env-var-input",type:"text",value:j,placeholder:"tool glob (run_*)","aria-label":"Tool glob",onChange:H=>_(H.target.value)})," ",i.jsx("input",{className:"env-var-input",type:"text",value:O,placeholder:"surface glob","aria-label":"Surface glob",onChange:H=>C(H.target.value)})," ",i.jsx("input",{className:"env-var-input",type:"text",value:P,placeholder:"cwd prefix","aria-label":"Cwd prefix",onChange:H=>A(H.target.value)})]}),i.jsxs("div",{className:"env-var-description",children:["Arg match (one ",i.jsx("code",{children:"key=glob"})," per line, optional):"," ",i.jsx("textarea",{className:"env-var-input",value:B,placeholder:"command=rm -rf*","aria-label":"Arg match",onChange:H=>I(H.target.value)})]}),k==="notify"?i.jsxs("div",{className:"env-var-description",children:["Message:"," ",i.jsx("input",{className:"env-var-input",type:"text",value:W,"aria-label":"Notify message",onChange:H=>R(H.target.value)})," ",i.jsxs("span",{className:"admin-hint",children:["{tool} {surface} {event}"," are interpolated."]})]}):i.jsxs("div",{className:"env-var-description",children:[k==="deny"?"Reason":"Reason (when denied)",":"," ",i.jsx("input",{className:"env-var-input",type:"text",value:M,"aria-label":"Reason",onChange:H=>D(H.target.value)})]}),k==="scan-args"&&w==="before_tool_call"?i.jsxs("label",{className:"env-var-description",children:[i.jsx("input",{type:"checkbox",checked:z,onChange:H=>T(H.target.checked)})," Block the call when a secret shape is found"]}):null,i.jsxs("div",{className:"env-var-actions",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:!Y,onClick:ae,children:"➕ Add to draft"}),i.jsx("span",{className:"admin-hint",children:"Nothing is in force until you press Save hooks."})]})]})]}):null]})}const Bbe={read:{label:"read",className:"cap-effect-read"},"local-write":{label:"local write",className:"cap-effect-local"},"local-state":{label:"machine state",className:"cap-effect-local"},external:{label:"off-machine",className:"cap-effect-external"},destructive:{label:"destructive",className:"cap-effect-destructive"}};function zbe(e){return Bbe[e]??{label:e,className:"cap-effect-local"}}function Fbe(){const[e,t]=b.useState(null),[n,r]=b.useState([]),[a,s]=b.useState({authenticated:!1,role:null}),o=qr(),[l,c]=b.useState(!0),[u,d]=b.useState(null),[f,h]=b.useState(null),[p,m]=b.useState(null),[g,y]=b.useState(""),[v,S]=b.useState(""),[w,N]=b.useState(""),k=a.authenticated&&(a.role==="admin"||a.role==="operator"),x=b.useCallback(async()=>{c(!0);const[M,D]=await Promise.all([K.fetchCapabilities(),K.fetchSessionGrants()]);d(M?null:"Could not read capabilities from the server."),t(M),r(D??[]),c(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(M=>{s(M?{authenticated:M.authenticated,role:M.role??null}:{authenticated:!1,role:null})}),x()},[x,o]);const j=b.useCallback(async M=>{m(M),d(null),await K.revokeSessionGrant(M)?r(W=>W.filter(R=>R.sessionId!==M)):d(`Could not end the grant for ${M}.`),m(null)},[]),_=b.useCallback(M=>{M&&t(D=>D&&{...D,learnedCommands:M})},[]),O=b.useCallback(async()=>{const M=g.trim(),D=v.trim();if(!M||!D)return;m("__save__"),d(null),h(null);const W=await K.saveLearnedCommand(M,D,w.trim()||void 0);W.ok?(_(W.commands),y(""),S(""),N(""),h(`Learned "${M}" for this machine.`)):d(W.error||"Could not save the command."),m(null)},[g,v,w,_]),C=b.useCallback(async M=>{m(M),d(null),h(null);const D=await K.forgetLearnedCommand(M);D.ok?(_(D.commands),h(`Forgot "${M}" on this machine.`)):d(D.error||`Could not forget "${M}".`),m(null)},[_]),P=(e==null?void 0:e.readyCount)??0,A=(e==null?void 0:e.blockedCount)??0,B=(e==null?void 0:e.missingExecutables)??[],I=(e==null?void 0:e.learnedCommands)??[];return i.jsxs("div",{children:[i.jsx(Te,{icon:"🧰",title:"Capabilities"}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"What the agent can do on this machine, read from the same declarations the model discovers. A missing executable blocks a verb; a credential that is not an environment variable does not — it may live in the vault."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void x(),children:"↻ Refresh"})]}),u?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:u}):null,f?i.jsx("div",{className:"env-var-notice",children:f}):null,l?i.jsx("div",{className:"loading-state",children:"Loading…"}):e?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"cap-summary","data-testid":"cap-summary",children:[i.jsxs("span",{className:"cap-tile cap-tile-ok","data-testid":"cap-tile-ready",children:[i.jsx("strong",{children:P})," ready"]}),i.jsxs("span",{className:`cap-tile${A>0?" cap-tile-blocked":""}`,"data-testid":"cap-tile-blocked",children:[i.jsx("strong",{children:A})," blocked"]}),i.jsxs("span",{className:`cap-tile${B.length>0?" cap-tile-blocked":""}`,"data-testid":"cap-tile-missing",children:[i.jsx("strong",{children:B.length})," missing executable",B.length===1?"":"s"]}),i.jsxs("span",{className:"cap-tile","data-testid":"cap-tile-grants",children:[i.jsx("strong",{children:n.length})," live session grant",n.length===1?"":"s"]})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-missing",children:[i.jsx("h3",{className:"cap-section-title",children:"Missing executables"}),B.length===0?i.jsx("p",{className:"cap-empty",children:"Every executable the curated verbs need is on PATH."}):i.jsx("ul",{className:"cap-missing-list",children:B.map(M=>i.jsxs("li",{className:"cap-missing-row",children:[i.jsx("code",{className:"cap-missing-bins",children:M.anyOf.join(" or ")}),i.jsxs("span",{className:"cap-missing-for",children:["needed by ",M.forRefs.join(", ")]}),i.jsx("span",{className:"cap-missing-remedy",children:M.remedy})]},M.anyOf.join("|")))})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-verbs",children:[i.jsx("h3",{className:"cap-section-title",children:"Curated verbs"}),i.jsx("div",{className:"cap-verb-list",children:e.verbs.map(M=>i.jsx(Ube,{verb:M},M.id))})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-learned",children:[i.jsxs("h3",{className:"cap-section-title",children:["Learned commands (",I.length,")"]}),i.jsx("p",{className:"cap-section-blurb",children:"Commands derived for this machine, keyed by what they do — recorded by the model or observed from a labelled run. They are HINTS: the agent still checks presence before running one. Add or replace one with the same verb below."}),I.length===0?i.jsx("p",{className:"cap-empty",children:"Nothing learned yet — the agent records a command when it derives one, or when a labelled run succeeds."}):i.jsx("ul",{className:"cap-learned-list",children:I.map(M=>i.jsxs("li",{className:"cap-learned-row","data-testid":`cap-learned-${M.verb}`,children:[i.jsx("span",{className:"cap-learned-verb",children:M.verb}),i.jsx("span",{className:"cap-badge cap-effect-local",children:M.os}),i.jsx("span",{className:"cap-badge cap-effect-read",children:M.source}),i.jsx("code",{className:"cap-learned-cmd",children:M.command}),M.note?i.jsx("span",{className:"cap-learned-note",children:M.note}):null,k?i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:p===M.verb,onClick:()=>void C(M.verb),children:"Forget"}):null]},`${M.verb}|${M.os}`))}),k?i.jsxs("div",{className:"cap-learned-form",children:[i.jsx("input",{className:"env-var-input",type:"text","aria-label":"learned verb",placeholder:"verb (e.g. install java)",value:g,disabled:p==="__save__",onChange:M=>y(M.target.value)}),i.jsx("input",{className:"env-var-input",type:"text","aria-label":"learned command",placeholder:"command (e.g. brew install openjdk)",value:v,disabled:p==="__save__",onChange:M=>S(M.target.value)}),i.jsx("input",{className:"env-var-input",type:"text","aria-label":"learned note",placeholder:"note (optional)",value:w,disabled:p==="__save__",onChange:M=>N(M.target.value)}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:!g.trim()||!v.trim()||p==="__save__",onClick:()=>void O(),children:"💾 Learn"})]}):i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can add or remove learned commands."})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-grants",children:[i.jsx("h3",{className:"cap-section-title",children:"Live session grants"}),n.length===0?i.jsx("p",{className:"cap-empty",children:"No live session grants — off-machine actions will ask."}):i.jsx("ul",{className:"cap-grant-list",children:n.map(M=>i.jsxs("li",{className:"cap-grant-row","data-testid":`cap-grant-${M.sessionId}`,children:[i.jsx("code",{className:"cap-grant-id",children:M.sessionId}),i.jsx("span",{className:"cap-grant-cats",children:M.categories.join(", ")||"(no categories)"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:p===M.sessionId,onClick:()=>void j(M.sessionId),children:"End"})]},M.sessionId))})]})]}):i.jsx("div",{className:"admin-hint",children:"Capabilities are unavailable right now."})]})}function Ube({verb:e}){const t=zbe(e.effect);return i.jsxs("div",{className:`cap-verb${e.ready?" cap-verb-ready":" cap-verb-blocked"}`,"data-testid":`cap-verb-${e.ref}`,children:[i.jsxs("div",{className:"cap-verb-header",children:[i.jsx("span",{className:"cap-verb-name",children:e.name}),i.jsx("span",{className:`cap-badge ${t.className}`,children:t.label}),i.jsx("span",{className:`cap-badge ${e.ready?"cap-effect-read":"cap-effect-destructive"}`,children:e.ready?"✅ ready":"⛔ blocked"}),e.grantable?i.jsxs("span",{className:"cap-badge cap-effect-local",children:["grantable: ",e.grantable]}):null]}),i.jsx("div",{className:"cap-verb-does",children:e.does}),e.gaps.length>0?i.jsx("ul",{className:"cap-verb-gaps",children:e.gaps.map(n=>i.jsx("li",{children:n},n))}):null,e.ask.length>0?i.jsxs("div",{className:"cap-verb-ask",children:["Will ask for: ",e.ask.join(", ")]}):null,e.onThisMachine?i.jsxs("div",{className:"cap-verb-cmd",children:["On this machine: ",i.jsx("code",{children:e.onThisMachine.command}),e.onThisMachine.note?i.jsxs("span",{className:"cap-verb-note",children:[" — ",e.onThisMachine.note]}):null]}):null,e.undo?i.jsxs("div",{className:"cap-verb-undo",children:["Undo: ",e.undo]}):null]})}function Wbe(e){const t={};for(const n of e.split(`
|
|
209
|
-
`)){const r=n.trim();if(!r||r.startsWith("#"))continue;const a=r.indexOf("=");if(a<=0)continue;const s=r.slice(0,a).trim(),o=r.slice(a+1).trim();!s||!o||(t[s]=o)}return t}function Hbe(e){const t={};for(const n of e.split(`
|
|
210
|
-
`)){const r=n.trim();if(!r||r.startsWith("#"))continue;const a=r.indexOf(":");if(a<=0)continue;const s=r.slice(0,a).trim(),o=r.slice(a+1).trim();!s||!o||(t[s]=o)}return t}function Gbe(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}const gv={name:"",transport:"stdio",command:"",args:"",url:"",env:"",headers:"",overwrite:!1};function qbe(e){return{name:e.name,transport:e.transport==="sse"?"sse":"stdio",command:e.command??"",args:e.args.join(", "),url:e.url??"",env:e.envKeys.map(t=>`${t}=`).join(`
|
|
211
|
-
`),headers:e.headerKeys.map(t=>`${t}: `).join(`
|
|
212
|
-
`),overwrite:!0}}function co({label:e,hint:t,value:n,onSave:r,disabled:a}){const[s,o]=b.useState(n),[l,c]=b.useState(!1),[u,d]=b.useState(null);b.useEffect(()=>o(n),[n]);const f=async()=>{c(!0);const h=await r(s);c(!1),d(h)};return i.jsxs("div",{className:"mcp-setting-row",children:[i.jsxs("div",{className:"mcp-setting-main",children:[i.jsx("label",{className:"mcp-setting-label",children:e}),i.jsx("span",{className:"mcp-setting-hint",children:t})]}),i.jsx("input",{className:"mcp-input",value:s,disabled:a||l,onChange:h=>o(h.target.value),onKeyDown:h=>{h.key==="Enter"&&s!==n&&f()}}),i.jsx("button",{className:"mcp-btn",disabled:a||l||s===n,onClick:()=>void f(),children:l?"…":"Save"}),u&&i.jsx("div",{className:"mcp-error",children:u}),i.jsx("style",{children:`
|
|
213
|
-
.mcp-setting-row { display: grid; grid-template-columns: 1fr 180px 72px; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border-light); }
|
|
214
|
-
.mcp-setting-main { display: flex; flex-direction: column; }
|
|
215
|
-
.mcp-setting-label { font-weight: 600; font-size: 13px; }
|
|
216
|
-
.mcp-setting-hint { font-size: 11px; color: var(--text-muted); }
|
|
217
|
-
.mcp-input { background: var(--bg-input); color: var(--text-primary); border: 1px solid var(--border-light); border-radius: 6px; padding: 6px 8px; font-size: 13px; }
|
|
218
|
-
.mcp-btn { background: var(--accent-blue); color: var(--text-on-accent); border: 0; border-radius: 6px; padding: 6px 10px; font-size: 12px; cursor: pointer; }
|
|
219
|
-
.mcp-btn:disabled { opacity: .4; cursor: not-allowed; }
|
|
220
|
-
.mcp-btn.secondary { background: transparent; border: 1px solid var(--border-light); color: var(--text-primary); }
|
|
221
|
-
.mcp-error { grid-column: 1 / -1; color: var(--accent-red); font-size: 12px; white-space: pre-wrap; }
|
|
222
|
-
.mcp-card { border: 1px solid var(--border-light); border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
|
|
223
|
-
.mcp-card h3 { margin: 0 0 4px; font-size: 14px; }
|
|
224
|
-
.mcp-muted { color: var(--text-muted); font-size: 12px; }
|
|
225
|
-
.mcp-variant { border-top: 1px dashed var(--border-light); padding: 8px 0; font-size: 12px; }
|
|
226
|
-
.mcp-badge { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 11px; margin-left: 6px; border: 1px solid var(--border-light); }
|
|
227
|
-
.mcp-badge.ok { color: var(--accent-green); }
|
|
228
|
-
.mcp-badge.bad { color: var(--accent-red); }
|
|
229
|
-
.mcp-problem { color: var(--accent-yellow); }
|
|
230
|
-
.mcp-offers { margin: 4px 0 8px 16px; padding: 0; font-size: 12px; }
|
|
231
|
-
`})]})}function Kbe(){var O;const[e,t]=b.useState(null),[n,r]=b.useState(!0),[a,s]=b.useState(null),[o,l]=b.useState(null),[c,u]=b.useState(null),[d,f]=b.useState({}),[h,p]=b.useState({}),[m,g]=b.useState({}),[y,v]=b.useState(gv),S=b.useCallback(async(C=!1)=>{const P=await oB(C);if(!P){l("Could not reach the dashboard server, or the MCP API is unavailable (an older server?)."),r(!1);return}t(P),l(null),r(!1)},[]);b.useEffect(()=>{S(!1)},[S]);const w=async(C,P)=>{const A=await lB([{key:C,value:P}]);return A.ok?(t(B=>B&&A.settings?{...B,settings:A.settings}:B),u(`Saved ${C}`),l(null),null):(l(A.error??"The server refused that value."),A.error??"refused")},N=async C=>{var D;const P=h[C.name],B=(C.variants.find(W=>W.id===(P??""))??C.variants.find(W=>!W.optIn)??C.variants[0]).requires.filter(W=>W.kind==="env"),I={};for(const W of B){const R=d[`${C.name}:${W.name}`];R&&R.trim()&&(I[W.name]=R.trim())}s(C.name);const M=await cB({name:C.name,...P?{variant:P}:{},...Object.keys(I).length>0?{env:I}:{},...(D=m[C.name])!=null&&D.trim()?{runtime:m[C.name].trim()}:{}});if(s(null),!M.ok){l(M.reason??M.error??"Install refused."),u(null);return}f(W=>{const R={...W};for(const z of Object.keys(R))z.startsWith(`${C.name}:`)&&delete R[z];return R}),u(`Installed ${C.name} (${M.variantId}) → ${M.path}`),l(null),await S((e==null?void 0:e.deep)===!0)},k=async()=>{var A;const C=y.name.trim();if(!C){l("A server name is required — it becomes the config filename.");return}s("__custom__");const P=await uB({name:C,transport:y.transport,...y.transport==="stdio"?{...y.command.trim()?{command:y.command.trim()}:{},args:Gbe(y.args),env:Wbe(y.env)}:{...y.url.trim()?{url:y.url.trim()}:{},headers:Hbe(y.headers)},...y.overwrite?{overwrite:!0}:{}});if(s(null),!P.ok){l(P.reason??P.error??"Could not save that server."),u(null);return}u(`${P.overwrote?"Updated":"Added"} ${C}${P.path?` → ${P.path}`:""}`+((A=P.warnings)!=null&&A.length?`
|
|
232
|
-
${P.warnings.join(`
|
|
233
|
-
`)}`:"")),l(null),v(gv),await S((e==null?void 0:e.deep)===!0)},x=async C=>{s(C);const P=await dB(C);if(s(null),!P.ok){l(P.reason??"Could not remove that server.");return}u(`Removed ${C}`),await S((e==null?void 0:e.deep)===!0)},j=(e==null?void 0:e.canWrite)??!1,_=(e==null?void 0:e.servers)??[];return i.jsxs("div",{className:"page",children:[i.jsx(Te,{icon:"🔌",title:"MCP",description:"External MCP servers — configured once here and used by the agent on every surface. These controls write the same mcp.* config the CLI does."}),i.jsxs("div",{className:"mcp-card",children:[i.jsxs("div",{className:"mcp-muted",children:["Config file: ",i.jsx("code",{children:(e==null?void 0:e.configDir)??"…"})," — these controls write the same"," ",i.jsx("code",{children:"mcp.*"})," keys as ",i.jsx("code",{children:"nuvira config set mcp.*"}),", so the terminal and this page can never disagree."]}),i.jsxs("div",{style:{marginTop:10},children:[i.jsx("button",{className:"mcp-btn secondary",onClick:()=>void S(!0),disabled:n,children:"Check dependencies"}),i.jsx("span",{className:"mcp-muted",style:{marginLeft:8},children:e!=null&&e.deep?"service checks ran (e.g. docker daemon)":"service checks skipped on page load — press to probe them"})]})]}),o&&i.jsx("div",{className:"mcp-card mcp-problem",style:{whiteSpace:"pre-wrap"},children:o}),c&&i.jsx("div",{className:"mcp-card mcp-muted",children:c}),n&&i.jsx("div",{className:"mcp-card mcp-muted",children:"Loading MCP configuration…"}),e&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"mcp-card",children:[i.jsx("h3",{children:"Settings"}),i.jsx("div",{className:"mcp-muted",children:"Applies to every MCP server on every surface."}),i.jsx(co,{label:"Enabled",hint:"Master switch — false makes MCP inert everywhere (true/false)",value:String(e.settings.enabled),disabled:!j,onSave:C=>w("mcp.enabled",C)}),i.jsx(co,{label:"Auto-connect",hint:"Connect configured servers at the start of a turn (bounded, never fatal)",value:String(e.settings.autoConnect),disabled:!j,onSave:C=>w("mcp.autoConnect",C)}),i.jsx(co,{label:"Connect timeout (ms)",hint:"Wall-clock budget for the connect step; exceeding it proceeds without MCP",value:String(e.settings.connectTimeoutMs),disabled:!j,onSave:C=>w("mcp.connectTimeoutMs",C)}),i.jsx(co,{label:"Tools per server",hint:"Per-server eager-schema cap — stored and reported; enforcement is not wired yet (nothing is truncated today)",value:String(e.settings.maxToolsPerServer),disabled:!j,onSave:C=>w("mcp.maxToolsPerServer",C)}),i.jsx(co,{label:"Tools in total",hint:"Cross-server ceiling — stored and reported; enforcement is not wired yet (nothing is truncated today)",value:String(e.settings.maxToolsTotal),disabled:!j,onSave:C=>w("mcp.maxToolsTotal",C)}),i.jsx(co,{label:"Subagents inherit",hint:"conservative = only when the parent had MCP AND the child's allowance covers it; full = pass the parent's whole MCP set down (reach, never approval)",value:e.settings.subagentInheritance,disabled:!j,onSave:C=>w("mcp.subagent.inherit",C)}),((O=e.settings.warnings)==null?void 0:O.length)>0&&i.jsx("div",{className:"mcp-error",children:e.settings.warnings.join(`
|
|
234
|
-
`)})]}),i.jsxs("div",{className:"mcp-card",children:[i.jsxs("h3",{children:["Configured servers (",_.length,")"]}),_.length===0&&i.jsx("div",{className:"mcp-muted",children:"None yet. Add one by hand below (any server), install one from the catalog, or drop a JSON file into the config directory."}),_.map(C=>{const P=e.settings.servers[C.name]??{};return i.jsxs("div",{className:"mcp-variant",children:[i.jsxs("div",{children:[i.jsx("strong",{children:C.name}),i.jsx("span",{className:"mcp-badge",children:C.transport}),C.variant&&i.jsxs("span",{className:"mcp-badge",children:["variant ",C.variant]}),i.jsx("span",{className:`mcp-badge ${C.enabled?"ok":"bad"}`,children:C.enabled?"enabled":"disabled"}),C.connected&&i.jsx("span",{className:"mcp-badge ok",children:"connected"})]}),i.jsxs("div",{className:"mcp-muted",children:[C.command?`${C.command} ${C.args.join(" ")}`:C.url,C.runtime?` (runtime: ${[C.runtime.command,...C.runtime.args??[]].join(" ")})`:"",C.envKeys.length>0?` · credentials: ${C.envKeys.join(", ")}`:"",C.headerKeys.length>0?` · headers: ${C.headerKeys.join(", ")}`:""]}),i.jsxs("div",{style:{marginTop:6,display:"flex",gap:8,flexWrap:"wrap"},children:[i.jsx("button",{className:"mcp-btn secondary",disabled:!j,onClick:()=>v(qbe(C)),children:"Edit"}),i.jsx("button",{className:"mcp-btn secondary",disabled:!j||a===C.name,onClick:()=>void w(`mcp.servers.${C.name}.enabled`,C.enabled?"false":"true"),children:C.enabled?"Disable":"Enable"}),i.jsx("input",{className:"mcp-input",style:{minWidth:260},placeholder:"runtime override, e.g. /opt/node20/bin/node /usr/local/bin/npx",defaultValue:P.runtime?[P.runtime.command,...P.runtime.args??[]].join(" "):"",disabled:!j,onKeyDown:A=>{A.key==="Enter"&&w(`mcp.servers.${C.name}.runtime.command`,A.target.value)}}),i.jsx("button",{className:"mcp-btn secondary",disabled:!j,onClick:()=>void w(`mcp.servers.${C.name}.runtime.command`,""),children:"Clear runtime"}),i.jsx("button",{className:"mcp-btn secondary",disabled:!j||a===C.name,onClick:()=>void x(C.name),children:"Uninstall"})]})]},C.name)})]}),i.jsxs("div",{className:"mcp-card",children:[i.jsx("h3",{children:"Add a server"}),i.jsxs("div",{className:"mcp-muted",children:["Any MCP server — a local command or a remote endpoint — not only the ones in the catalog below. This writes ",i.jsxs("code",{children:[e.configDir,"/<name>.json"]}),", the same file"," ",i.jsx("code",{children:"nuvira mcp add"})," writes, so the agent uses it on the next turn: no code, no release. Use ",i.jsx("strong",{children:"Edit"})," on a configured server to change it."]}),i.jsxs("div",{style:{display:"grid",gridTemplateColumns:"180px 1fr",gap:10,alignItems:"center",marginTop:10},children:[i.jsx("label",{className:"mcp-setting-label",children:"Name"}),i.jsx("input",{className:"mcp-input",placeholder:"my-server",value:y.name,disabled:!j||a==="__custom__",onChange:C=>v({...y,name:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Transport"}),i.jsxs("div",{children:[i.jsxs("label",{className:"mcp-muted",style:{marginRight:12},children:[i.jsx("input",{type:"radio",name:"custom-transport",checked:y.transport==="stdio",disabled:!j,onChange:()=>v({...y,transport:"stdio"})})," ","stdio (a local process)"]}),i.jsxs("label",{className:"mcp-muted",children:[i.jsx("input",{type:"radio",name:"custom-transport",checked:y.transport==="sse",disabled:!j,onChange:()=>v({...y,transport:"sse"})})," ","remote (Streamable HTTP)"]})]}),y.transport==="stdio"?i.jsxs(i.Fragment,{children:[i.jsx("label",{className:"mcp-setting-label",children:"Command"}),i.jsx("input",{className:"mcp-input",placeholder:"npx",value:y.command,disabled:!j||a==="__custom__",onChange:C=>v({...y,command:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Arguments"}),i.jsx("input",{className:"mcp-input",placeholder:"-y, @modelcontextprotocol/server-filesystem, /path/to/dir",value:y.args,disabled:!j||a==="__custom__",onChange:C=>v({...y,args:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Environment"}),i.jsx("textarea",{className:"mcp-input",rows:3,placeholder:`TOKEN=…
|
|
235
|
-
ANOTHER=…`,value:y.env,disabled:!j||a==="__custom__",onChange:C=>v({...y,env:C.target.value})})]}):i.jsxs(i.Fragment,{children:[i.jsx("label",{className:"mcp-setting-label",children:"URL"}),i.jsx("input",{className:"mcp-input",placeholder:"https://example.com/mcp",value:y.url,disabled:!j||a==="__custom__",onChange:C=>v({...y,url:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Headers"}),i.jsx("textarea",{className:"mcp-input",rows:3,placeholder:"Authorization: Bearer …",value:y.headers,disabled:!j||a==="__custom__",onChange:C=>v({...y,headers:C.target.value})})]})]}),i.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:10,flexWrap:"wrap"},children:[i.jsxs("label",{className:"mcp-muted",children:[i.jsx("input",{type:"checkbox",checked:y.overwrite,disabled:!j||a==="__custom__",onChange:C=>v({...y,overwrite:C.target.checked})})," ","Replace the existing config for this name"]}),i.jsx("button",{className:"mcp-btn",disabled:!j||a==="__custom__",onClick:()=>void k(),children:a==="__custom__"?"Saving…":y.overwrite?"Save server":"Add server"}),i.jsx("button",{className:"mcp-btn secondary",disabled:a==="__custom__",onClick:()=>v(gv),children:"Clear"})]}),i.jsx("div",{className:"mcp-muted",style:{marginTop:8},children:"Credentials typed here go into the config file (mode 0600) and are never sent back to this page — editing an existing server keeps the secrets it already has unless you type a new value over them."})]}),i.jsxs("div",{className:"mcp-card",children:[i.jsxs("h3",{children:["Catalog (",e.catalog.length," capabilities)"]}),i.jsx("div",{className:"mcp-muted",children:"Each capability lists every way it can run on THIS machine, what that way needs, and what you get. A dependency that is missing (install it) is different from a service that is down (start it)."}),e.catalog.map(C=>i.jsxs("div",{className:"mcp-variant",children:[i.jsxs("div",{children:[i.jsx("strong",{children:C.name}),C.installed&&i.jsx("span",{className:"mcp-badge ok",children:"installed"}),i.jsxs("span",{className:"mcp-muted",children:[" — ",C.description]})]}),i.jsx("ul",{className:"mcp-offers",children:C.offers.map(P=>i.jsx("li",{children:P},P))}),C.supersedes&&i.jsxs("div",{className:"mcp-muted",children:["supersedes: ",C.supersedes]}),C.variants.map(P=>i.jsxs("div",{className:"mcp-muted",style:{marginLeft:12},children:[i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:`variant-${C.name}`,checked:(h[C.name]??"")===P.id,disabled:P.optIn===!1&&h[C.name]!==P.id?!1:!j,onChange:()=>p(A=>({...A,[C.name]:P.id}))})," ",i.jsx("strong",{children:P.id})," — ",P.label," ",i.jsx("span",{className:`mcp-badge ${P.status.ok?"ok":"bad"}`,children:P.status.ok?"runnable":"cannot run yet"}),P.optIn&&i.jsx("span",{className:"mcp-badge",children:"opt-in"}),i.jsx("span",{className:"mcp-badge",children:P.trust})]}),i.jsx("div",{children:P.command?`${P.command} ${P.args.join(" ")}`:P.url}),P.status.problems.map(A=>i.jsxs("div",{className:"mcp-problem",children:["⚠ ",A]},A)),P.status.unverified.map(A=>i.jsxs("div",{children:["note: ",A]},A)),P.note&&i.jsxs("div",{children:["caveat: ",P.note]})]},P.id)),i.jsxs("div",{style:{marginTop:6,display:"flex",gap:8,flexWrap:"wrap"},children:[(C.variants.find(A=>A.id===h[C.name])??C.variants.find(A=>!A.optIn)??C.variants[0]).requires.filter(A=>A.kind==="env").map(A=>i.jsx("input",{className:"mcp-input",style:{minWidth:280},type:"password",placeholder:`${A.name} (${A.hint})`,disabled:!j,value:d[`${C.name}:${A.name}`]??"",onChange:B=>f(I=>({...I,[`${C.name}:${A.name}`]:B.target.value}))},A.name)),i.jsx("input",{className:"mcp-input",placeholder:"runtime override (optional)",disabled:!j,value:m[C.name]??"",onChange:P=>g(A=>({...A,[C.name]:P.target.value}))}),i.jsx("button",{className:"mcp-btn",disabled:!j||a===C.name||C.installed,onClick:()=>void N(C),children:a===C.name?"Installing…":C.installed?"Installed":"Install"})]})]},C.name))]})]})]})}function Vbe(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState("--"),[o,l]=b.useState(!1),u=Li().pathname==="/chat",[d,f]=b.useState(u);b.useEffect(()=>{u&&f(!0)},[u]);const h=b.useCallback(g=>{t(g),s(new Date().toLocaleTimeString())},[]),p=b.useCallback(g=>{r(g)},[]),m=b.useCallback(async()=>{l(!0);try{const g=await K.fetchAll();g&&h(g)}finally{l(!1)}},[h]);return b.useEffect(()=>{K.fetchAll().then(v=>{v&&h(v)});const g=K.subscribe(h),y=K.onConnectionChange(p);return K.connect(),()=>{g(),y(),K.disconnect()}},[h,p]),i.jsxs(SB,{connected:n,lastUpdated:a,onRefresh:m,refreshing:o,children:[d&&i.jsx("div",{style:{display:u?void 0:"none"},children:i.jsx(sbe,{})}),i.jsx("div",{style:{display:u?"none":void 0},children:i.jsxs(D2,{children:[i.jsx(Ue,{path:"/",element:i.jsx(eS,{to:"/overview",replace:!0})}),i.jsx(Ue,{path:"/overview",element:i.jsx(rse,{data:e,onRefresh:m,refreshing:o})}),i.jsx(Ue,{path:"/chat",element:null}),i.jsx(Ue,{path:"/dag",element:i.jsx(pse,{data:e})}),i.jsx(Ue,{path:"/costs",element:i.jsx(gse,{data:e})}),i.jsx(Ue,{path:"/benchmarks",element:i.jsx(yse,{data:e})}),i.jsx(Ue,{path:"/models",element:i.jsx(ooe,{})}),i.jsx(Ue,{path:"/models/timeline",element:i.jsx(xbe,{})}),i.jsx(Ue,{path:"/routing",element:i.jsx(Uoe,{data:e})}),i.jsx(Ue,{path:"/requests",element:i.jsx(Voe,{data:e})}),i.jsx(Ue,{path:"/traces",element:i.jsx(sle,{})}),i.jsx(Ue,{path:"/hub",element:i.jsx(Sle,{})}),i.jsx(Ue,{path:"/capabilities",element:i.jsx(Fbe,{})}),i.jsx(Ue,{path:"/tasks",element:i.jsx(Ole,{})}),i.jsx(Ue,{path:"/evals",element:i.jsx(dbe,{data:e})}),i.jsx(Ue,{path:"/platforms",element:i.jsx(pbe,{})}),i.jsx(Ue,{path:"/mcp",element:i.jsx(Kbe,{})}),i.jsx(Ue,{path:"/bedrock",element:i.jsx(gbe,{canWrite:!0,sessionExpired:g=>console.error(g)})}),i.jsx(Ue,{path:"/contacts",element:i.jsx(vbe,{})}),i.jsx(Ue,{path:"/gateway",element:i.jsx(hbe,{})}),i.jsx(Ue,{path:"/env",element:i.jsx(Pbe,{})}),i.jsx(Ue,{path:"/process-env",element:i.jsx(Ibe,{})}),i.jsx(Ue,{path:"/hooks",element:i.jsx(Dbe,{})}),i.jsx(Ue,{path:"/memory",element:i.jsx(Sbe,{data:e})}),i.jsx(Ue,{path:"/knowledge",element:i.jsx(jbe,{})}),i.jsx(Ue,{path:"/history",element:i.jsx(_be,{data:e})}),i.jsx(Ue,{path:"/decisions",element:i.jsx(Abe,{})}),i.jsx(Ue,{path:"/executions",element:i.jsx(Tbe,{onFetch:g=>K.fetchExecutionAudit(g)})}),i.jsx(Ue,{path:"/system",element:i.jsx(Sse,{data:e,connected:n,lastUpdated:a})}),i.jsx(Ue,{path:"/admin",element:i.jsx(fle,{})}),i.jsx(Ue,{path:"/help",element:i.jsx(ase,{})}),i.jsx(Ue,{path:"*",element:i.jsx(eS,{to:"/overview",replace:!0})})]})})]})}tw(TT());mT(document.getElementById("root")).render(i.jsx(b.StrictMode,{children:i.jsx(q2,{children:i.jsx(Vbe,{})})}));
|
|
236
|
-
//# sourceMappingURL=index-DycGBWwy.js.map
|