agent-nuvira 3.5.0 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +13 -13
  2. package/dist/agent-sdk/src/scaffold.d.ts +1 -1
  3. package/dist/agent-sdk/src/scaffold.js +1 -1
  4. package/dist/cli/chat.d.ts +159 -6
  5. package/dist/cli/chat.d.ts.map +1 -1
  6. package/dist/cli/chat.js +583 -35
  7. package/dist/cli/chat.js.map +1 -1
  8. package/dist/cli/duties.d.ts +11 -0
  9. package/dist/cli/duties.d.ts.map +1 -1
  10. package/dist/cli/duties.js +31 -0
  11. package/dist/cli/duties.js.map +1 -1
  12. package/dist/cli/edit.d.ts.map +1 -1
  13. package/dist/cli/edit.js +3 -2
  14. package/dist/cli/edit.js.map +1 -1
  15. package/dist/cli/execute.d.ts.map +1 -1
  16. package/dist/cli/execute.js +10 -3
  17. package/dist/cli/execute.js.map +1 -1
  18. package/dist/cli/loop-executor.d.ts +16 -0
  19. package/dist/cli/loop-executor.d.ts.map +1 -1
  20. package/dist/cli/loop-executor.js +9 -0
  21. package/dist/cli/loop-executor.js.map +1 -1
  22. package/dist/cli/models.d.ts.map +1 -1
  23. package/dist/cli/models.js +55 -0
  24. package/dist/cli/models.js.map +1 -1
  25. package/dist/cli/plan.d.ts.map +1 -1
  26. package/dist/cli/plan.js +18 -6
  27. package/dist/cli/plan.js.map +1 -1
  28. package/dist/cli/run.d.ts.map +1 -1
  29. package/dist/cli/run.js +23 -8
  30. package/dist/cli/run.js.map +1 -1
  31. package/dist/cli/ui/answer-view.d.ts +38 -0
  32. package/dist/cli/ui/answer-view.d.ts.map +1 -0
  33. package/dist/cli/ui/answer-view.js +72 -0
  34. package/dist/cli/ui/answer-view.js.map +1 -0
  35. package/dist/cli/ui/cards.d.ts +61 -0
  36. package/dist/cli/ui/cards.d.ts.map +1 -0
  37. package/dist/cli/ui/cards.js +141 -0
  38. package/dist/cli/ui/cards.js.map +1 -0
  39. package/dist/cli/ui/highlight.d.ts +32 -0
  40. package/dist/cli/ui/highlight.d.ts.map +1 -0
  41. package/dist/cli/ui/highlight.js +261 -0
  42. package/dist/cli/ui/highlight.js.map +1 -0
  43. package/dist/cli/ui/index.d.ts +21 -0
  44. package/dist/cli/ui/index.d.ts.map +1 -0
  45. package/dist/cli/ui/index.js +14 -0
  46. package/dist/cli/ui/index.js.map +1 -0
  47. package/dist/cli/ui/markdown.d.ts +90 -0
  48. package/dist/cli/ui/markdown.d.ts.map +1 -0
  49. package/dist/cli/ui/markdown.js +292 -0
  50. package/dist/cli/ui/markdown.js.map +1 -0
  51. package/dist/cli/ui/presenter.d.ts +147 -0
  52. package/dist/cli/ui/presenter.d.ts.map +1 -0
  53. package/dist/cli/ui/presenter.js +313 -0
  54. package/dist/cli/ui/presenter.js.map +1 -0
  55. package/dist/cli/ui/render.d.ts +52 -0
  56. package/dist/cli/ui/render.d.ts.map +1 -0
  57. package/dist/cli/ui/render.js +384 -0
  58. package/dist/cli/ui/render.js.map +1 -0
  59. package/dist/cli/ui/theme.d.ts +36 -0
  60. package/dist/cli/ui/theme.d.ts.map +1 -0
  61. package/dist/cli/ui/theme.js +92 -0
  62. package/dist/cli/ui/theme.js.map +1 -0
  63. package/dist/inference/model-entitlement.d.ts +10 -0
  64. package/dist/inference/model-entitlement.d.ts.map +1 -1
  65. package/dist/inference/model-entitlement.js +1 -1
  66. package/dist/inference/model-entitlement.js.map +1 -1
  67. package/dist/learning/auto-router.d.ts +38 -1
  68. package/dist/learning/auto-router.d.ts.map +1 -1
  69. package/dist/learning/auto-router.js +139 -8
  70. package/dist/learning/auto-router.js.map +1 -1
  71. package/dist/learning/duty-lease.d.ts +163 -0
  72. package/dist/learning/duty-lease.d.ts.map +1 -0
  73. package/dist/learning/duty-lease.js +301 -0
  74. package/dist/learning/duty-lease.js.map +1 -0
  75. package/dist/learning/model-first-router.d.ts +14 -0
  76. package/dist/learning/model-first-router.d.ts.map +1 -1
  77. package/dist/learning/model-first-router.js +54 -17
  78. package/dist/learning/model-first-router.js.map +1 -1
  79. package/dist/learning/model-warmup.d.ts +92 -0
  80. package/dist/learning/model-warmup.d.ts.map +1 -1
  81. package/dist/learning/model-warmup.js +137 -2
  82. package/dist/learning/model-warmup.js.map +1 -1
  83. package/dist/learning/reasoning-trace.d.ts +21 -1
  84. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  85. package/dist/learning/reasoning-trace.js.map +1 -1
  86. package/dist/learning/resilient-call.d.ts.map +1 -1
  87. package/dist/learning/resilient-call.js +70 -4
  88. package/dist/learning/resilient-call.js.map +1 -1
  89. package/dist/learning/retry-patience.d.ts +139 -0
  90. package/dist/learning/retry-patience.d.ts.map +1 -0
  91. package/dist/learning/retry-patience.js +169 -0
  92. package/dist/learning/retry-patience.js.map +1 -0
  93. package/dist/tools/process-liveness.d.ts +227 -0
  94. package/dist/tools/process-liveness.d.ts.map +1 -0
  95. package/dist/tools/process-liveness.js +486 -0
  96. package/dist/tools/process-liveness.js.map +1 -0
  97. package/dist/tools/registry.d.ts.map +1 -1
  98. package/dist/tools/registry.js +4 -2
  99. package/dist/tools/registry.js.map +1 -1
  100. package/dist/tools/run-registry.d.ts +282 -0
  101. package/dist/tools/run-registry.d.ts.map +1 -0
  102. package/dist/tools/run-registry.js +544 -0
  103. package/dist/tools/run-registry.js.map +1 -0
  104. package/dist/tools/run-terminal.d.ts +100 -2
  105. package/dist/tools/run-terminal.d.ts.map +1 -1
  106. package/dist/tools/run-terminal.js +841 -67
  107. package/dist/tools/run-terminal.js.map +1 -1
  108. package/dist/tools/tool-loop.d.ts +87 -3
  109. package/dist/tools/tool-loop.d.ts.map +1 -1
  110. package/dist/tools/tool-loop.js +375 -6
  111. package/dist/tools/tool-loop.js.map +1 -1
  112. package/dist/web-dashboard/chat-console.d.ts +25 -0
  113. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  114. package/dist/web-dashboard/chat-console.js +16 -1
  115. package/dist/web-dashboard/chat-console.js.map +1 -1
  116. package/dist/web-dashboard/server.d.ts.map +1 -1
  117. package/dist/web-dashboard/server.js +7 -1
  118. package/dist/web-dashboard/server.js.map +1 -1
  119. package/dist/web-dashboard/src/types.d.ts +32 -1
  120. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  121. package/dist/web-dashboard/task-registry.d.ts +98 -0
  122. package/dist/web-dashboard/task-registry.d.ts.map +1 -0
  123. package/dist/web-dashboard/task-registry.js +159 -0
  124. package/dist/web-dashboard/task-registry.js.map +1 -0
  125. package/dist/web-dashboard/task-runner.d.ts +155 -5
  126. package/dist/web-dashboard/task-runner.d.ts.map +1 -1
  127. package/dist/web-dashboard/task-runner.js +505 -14
  128. package/dist/web-dashboard/task-runner.js.map +1 -1
  129. package/package.json +4 -1
  130. package/src/web-dashboard/public/assets/index-DycGBWwy.js +236 -0
  131. package/src/web-dashboard/public/assets/index-DycGBWwy.js.map +1 -0
  132. package/src/web-dashboard/public/index.html +1 -1
  133. package/src/web-dashboard/public/assets/index-yky0dw5e.js +0 -236
  134. package/src/web-dashboard/public/assets/index-yky0dw5e.js.map +0 -1
@@ -1,236 +0,0 @@
1
- var g$=Object.defineProperty;var v$=(e,t,n)=>t in e?g$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Zr=(e,t,n)=>v$(e,typeof t!="symbol"?t+"":t,n);function y$(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 ui=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Je(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var tC={exports:{}},fp={},nC={exports:{}},We={};/**
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 qu=Symbol.for("react.element"),b$=Symbol.for("react.portal"),x$=Symbol.for("react.fragment"),w$=Symbol.for("react.strict_mode"),k$=Symbol.for("react.profiler"),S$=Symbol.for("react.provider"),j$=Symbol.for("react.context"),N$=Symbol.for("react.forward_ref"),E$=Symbol.for("react.suspense"),_$=Symbol.for("react.memo"),C$=Symbol.for("react.lazy"),L0=Symbol.iterator;function A$(e){return e===null||typeof e!="object"?null:(e=L0&&e[L0]||e["@@iterator"],typeof e=="function"?e:null)}var rC={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},aC=Object.assign,iC={};function gl(e,t,n){this.props=e,this.context=t,this.refs=iC,this.updater=n||rC}gl.prototype.isReactComponent={};gl.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")};gl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function sC(){}sC.prototype=gl.prototype;function ex(e,t,n){this.props=e,this.context=t,this.refs=iC,this.updater=n||rC}var tx=ex.prototype=new sC;tx.constructor=ex;aC(tx,gl.prototype);tx.isPureReactComponent=!0;var D0=Array.isArray,oC=Object.prototype.hasOwnProperty,nx={current:null},lC={key:!0,ref:!0,__self:!0,__source:!0};function cC(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)oC.call(t,r)&&!lC.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:qu,type:e,key:s,ref:o,props:a,_owner:nx.current}}function T$(e,t){return{$$typeof:qu,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function rx(e){return typeof e=="object"&&e!==null&&e.$$typeof===qu}function O$(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var B0=/\/+/g;function Pm(e,t){return typeof e=="object"&&e!==null&&e.key!=null?O$(""+e.key):t.toString(36)}function pf(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 qu:case b$:o=!0}}if(o)return o=e,a=a(o),e=r===""?"."+Pm(o,0):r,D0(a)?(n="",e!=null&&(n=e.replace(B0,"$&/")+"/"),pf(a,t,n,"",function(u){return u})):a!=null&&(rx(a)&&(a=T$(a,n+(!a.key||o&&o.key===a.key?"":(""+a.key).replace(B0,"$&/")+"/")+e)),t.push(a)),1;if(o=0,r=r===""?".":r+":",D0(e))for(var l=0;l<e.length;l++){s=e[l];var c=r+Pm(s,l);o+=pf(s,t,n,c,a)}else if(c=A$(e),typeof c=="function")for(e=c.call(e),l=0;!(s=e.next()).done;)s=s.value,c=r+Pm(s,l++),o+=pf(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 pf(e,r,"","",function(s){return t.call(n,s,a++)}),r}function P$(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 Mn={current:null},mf={transition:null},R$={ReactCurrentDispatcher:Mn,ReactCurrentBatchConfig:mf,ReactCurrentOwner:nx};function uC(){throw Error("act(...) is not supported in production builds of React.")}We.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(!rx(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};We.Component=gl;We.Fragment=x$;We.Profiler=k$;We.PureComponent=ex;We.StrictMode=w$;We.Suspense=E$;We.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R$;We.act=uC;We.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=aC({},e.props),a=e.key,s=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(s=t.ref,o=nx.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)oC.call(t,c)&&!lC.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:qu,type:e.type,key:a,ref:s,props:r,_owner:o}};We.createContext=function(e){return e={$$typeof:j$,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:S$,_context:e},e.Consumer=e};We.createElement=cC;We.createFactory=function(e){var t=cC.bind(null,e);return t.type=e,t};We.createRef=function(){return{current:null}};We.forwardRef=function(e){return{$$typeof:N$,render:e}};We.isValidElement=rx;We.lazy=function(e){return{$$typeof:C$,_payload:{_status:-1,_result:e},_init:P$}};We.memo=function(e,t){return{$$typeof:_$,type:e,compare:t===void 0?null:t}};We.startTransition=function(e){var t=mf.transition;mf.transition={};try{e()}finally{mf.transition=t}};We.unstable_act=uC;We.useCallback=function(e,t){return Mn.current.useCallback(e,t)};We.useContext=function(e){return Mn.current.useContext(e)};We.useDebugValue=function(){};We.useDeferredValue=function(e){return Mn.current.useDeferredValue(e)};We.useEffect=function(e,t){return Mn.current.useEffect(e,t)};We.useId=function(){return Mn.current.useId()};We.useImperativeHandle=function(e,t,n){return Mn.current.useImperativeHandle(e,t,n)};We.useInsertionEffect=function(e,t){return Mn.current.useInsertionEffect(e,t)};We.useLayoutEffect=function(e,t){return Mn.current.useLayoutEffect(e,t)};We.useMemo=function(e,t){return Mn.current.useMemo(e,t)};We.useReducer=function(e,t,n){return Mn.current.useReducer(e,t,n)};We.useRef=function(e){return Mn.current.useRef(e)};We.useState=function(e){return Mn.current.useState(e)};We.useSyncExternalStore=function(e,t,n){return Mn.current.useSyncExternalStore(e,t,n)};We.useTransition=function(){return Mn.current.useTransition()};We.version="18.3.1";nC.exports=We;var x=nC.exports;const V=Je(x),M$=y$({__proto__:null,default:V},[x]);/**
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 I$=x,$$=Symbol.for("react.element"),L$=Symbol.for("react.fragment"),D$=Object.prototype.hasOwnProperty,B$=I$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,z$={key:!0,ref:!0,__self:!0,__source:!0};function dC(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)D$.call(t,r)&&!z$.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:$$,type:e,key:s,ref:o,props:a,_owner:B$.current}}fp.Fragment=L$;fp.jsx=dC;fp.jsxs=dC;tC.exports=fp;var i=tC.exports,fC={exports:{}},lr={},hC={exports:{}},pC={};/**
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,F=R[Z];if(0<a(F,z))R[Z]=z,R[T]=F,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,F=R.length,I=F>>>1;Z<I;){var se=2*(Z+1)-1,he=R[se],ge=se+1,Te=R[ge];if(0>a(he,T))ge<F&&0>a(Te,he)?(R[Z]=Te,R[ge]=T,Z=ge):(R[Z]=he,R[se]=T,Z=se);else if(ge<F&&0>a(Te,T))R[Z]=Te,R[ge]=T,Z=ge;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&&U(N,z.startTime-R)}}function k(R,z){m=!1,g&&(g=!1,v(E),E=-1),p=!0;var T=h;try{for(w(z),f=n(c);f!==null&&(!(f.expirationTime>z)||R&&!A());){var Z=f.callback;if(typeof Z=="function"){f.callback=null,h=f.priorityLevel;var F=Z(f.expirationTime<=z);z=e.unstable_now(),typeof F=="function"?f.callback=F:f===n(c)&&r(c),w(z)}else r(c);f=n(c)}if(f!==null)var I=!0;else{var se=n(u);se!==null&&U(N,se.startTime-z),I=!1}return I}finally{f=null,h=T,p=!1}}var b=!1,j=null,E=-1,P=5,_=-1;function A(){return!(e.unstable_now()-_<P)}function O(){if(j!==null){var R=e.unstable_now();_=R;var z=!0;try{z=j(!0,R)}finally{z?B():(b=!1,j=null)}}else b=!1}var B;if(typeof S=="function")B=function(){S(O)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,M=$.port2;$.port1.onmessage=O,B=function(){M.postMessage(null)}}else B=function(){y(O,0)};function D(R){j=R,b||(b=!0,B())}function U(R,z){E=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"):P=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 F=-1;break;case 2:F=250;break;case 5:F=1073741823;break;case 4:F=1e4;break;default:F=5e3}return F=T+F,R={id:d++,callback:z,priorityLevel:R,startTime:T,expirationTime:F,sortIndex:-1},T>Z?(R.sortIndex=T,t(u,R),n(c)===null&&R===n(u)&&(g?(v(E),E=-1):g=!0,U(N,T-Z))):(R.sortIndex=F,t(c,R),m||p||(m=!0,D(k))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var z=h;return function(){var T=h;h=z;try{return R.apply(this,arguments)}finally{h=T}}}})(pC);hC.exports=pC;var F$=hC.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 U$=x,sr=F$;function oe(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 mC=new Set,zc={};function Ls(e,t){Bo(e,t),Bo(e+"Capture",t)}function Bo(e,t){for(zc[e]=t,e=0;e<t.length;e++)mC.add(t[e])}var La=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),gv=Object.prototype.hasOwnProperty,W$=/^[: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]*$/,z0={},F0={};function H$(e){return gv.call(F0,e)?!0:gv.call(z0,e)?!1:W$.test(e)?F0[e]=!0:(z0[e]=!0,!1)}function G$(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 q$(e,t,n,r){if(t===null||typeof t>"u"||G$(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 In(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 In(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 In(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){dn[e]=new In(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){dn[e]=new In(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 In(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){dn[e]=new In(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){dn[e]=new In(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){dn[e]=new In(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){dn[e]=new In(e,5,!1,e.toLowerCase(),null,!1,!1)});var ax=/[\-:]([a-z])/g;function ix(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(ax,ix);dn[t]=new In(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(ax,ix);dn[t]=new In(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(ax,ix);dn[t]=new In(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){dn[e]=new In(e,1,!1,e.toLowerCase(),null,!1,!1)});dn.xlinkHref=new In("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){dn[e]=new In(e,1,!1,e.toLowerCase(),null,!0,!0)});function sx(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")&&(q$(t,n,a,r)&&(n=null),r||a===null?H$(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 Ha=U$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,kd=Symbol.for("react.element"),fo=Symbol.for("react.portal"),ho=Symbol.for("react.fragment"),ox=Symbol.for("react.strict_mode"),vv=Symbol.for("react.profiler"),gC=Symbol.for("react.provider"),vC=Symbol.for("react.context"),lx=Symbol.for("react.forward_ref"),yv=Symbol.for("react.suspense"),bv=Symbol.for("react.suspense_list"),cx=Symbol.for("react.memo"),ri=Symbol.for("react.lazy"),yC=Symbol.for("react.offscreen"),U0=Symbol.iterator;function Vl(e){return e===null||typeof e!="object"?null:(e=U0&&e[U0]||e["@@iterator"],typeof e=="function"?e:null)}var Ct=Object.assign,Rm;function gc(e){if(Rm===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Rm=t&&t[1]||""}return`
34
- `+Rm+e}var Mm=!1;function Im(e,t){if(!e||Mm)return"";Mm=!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{Mm=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?gc(e):""}function K$(e){switch(e.tag){case 5:return gc(e.type);case 16:return gc("Lazy");case 13:return gc("Suspense");case 19:return gc("SuspenseList");case 0:case 2:case 15:return e=Im(e.type,!1),e;case 11:return e=Im(e.type.render,!1),e;case 1:return e=Im(e.type,!0),e;default:return""}}function xv(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 ho:return"Fragment";case fo:return"Portal";case vv:return"Profiler";case ox:return"StrictMode";case yv:return"Suspense";case bv:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vC:return(e.displayName||"Context")+".Consumer";case gC:return(e._context.displayName||"Context")+".Provider";case lx:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case cx:return t=e.displayName||null,t!==null?t:xv(e.type)||"Memo";case ri:t=e._payload,e=e._init;try{return xv(e(t))}catch{}}return null}function V$(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 xv(t);case 8:return t===ox?"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 Ci(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function bC(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Y$(e){var t=bC(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=Y$(e))}function xC(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=bC(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Af(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 wv(e,t){var n=t.checked;return Ct({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function W0(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ci(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 wC(e,t){t=t.checked,t!=null&&sx(e,"checked",t,!1)}function kv(e,t){wC(e,t);var n=Ci(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")?Sv(e,t.type,n):t.hasOwnProperty("defaultValue")&&Sv(e,t.type,Ci(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function H0(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 Sv(e,t,n){(t!=="number"||Af(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var vc=Array.isArray;function Co(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=""+Ci(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 jv(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(oe(91));return Ct({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function G0(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(oe(92));if(vc(n)){if(1<n.length)throw Error(oe(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Ci(n)}}function kC(e,t){var n=Ci(t.value),r=Ci(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 q0(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function SC(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 Nv(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?SC(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var jd,jC=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 Fc(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Sc={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},X$=["Webkit","ms","Moz","O"];Object.keys(Sc).forEach(function(e){X$.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Sc[t]=Sc[e]})});function NC(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Sc.hasOwnProperty(e)&&Sc[e]?(""+t).trim():t+"px"}function EC(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,a=NC(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}var Q$=Ct({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 Ev(e,t){if(t){if(Q$[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(oe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(oe(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(oe(61))}if(t.style!=null&&typeof t.style!="object")throw Error(oe(62))}}function _v(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 Cv=null;function ux(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Av=null,Ao=null,To=null;function K0(e){if(e=Yu(e)){if(typeof Av!="function")throw Error(oe(280));var t=e.stateNode;t&&(t=vp(t),Av(e.stateNode,e.type,t))}}function _C(e){Ao?To?To.push(e):To=[e]:Ao=e}function CC(){if(Ao){var e=Ao,t=To;if(To=Ao=null,K0(e),t)for(e=0;e<t.length;e++)K0(t[e])}}function AC(e,t){return e(t)}function TC(){}var $m=!1;function OC(e,t,n){if($m)return e(t,n);$m=!0;try{return AC(e,t,n)}finally{$m=!1,(Ao!==null||To!==null)&&(TC(),CC())}}function Uc(e,t){var n=e.stateNode;if(n===null)return null;var r=vp(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(oe(231,t,typeof n));return n}var Tv=!1;if(La)try{var Yl={};Object.defineProperty(Yl,"passive",{get:function(){Tv=!0}}),window.addEventListener("test",Yl,Yl),window.removeEventListener("test",Yl,Yl)}catch{Tv=!1}function Z$(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 jc=!1,Tf=null,Of=!1,Ov=null,J$={onError:function(e){jc=!0,Tf=e}};function eL(e,t,n,r,a,s,o,l,c){jc=!1,Tf=null,Z$.apply(J$,arguments)}function tL(e,t,n,r,a,s,o,l,c){if(eL.apply(this,arguments),jc){if(jc){var u=Tf;jc=!1,Tf=null}else throw Error(oe(198));Of||(Of=!0,Ov=u)}}function Ds(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 PC(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 V0(e){if(Ds(e)!==e)throw Error(oe(188))}function nL(e){var t=e.alternate;if(!t){if(t=Ds(e),t===null)throw Error(oe(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 V0(a),e;if(s===r)return V0(a),t;s=s.sibling}throw Error(oe(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(oe(189))}}if(n.alternate!==r)throw Error(oe(190))}if(n.tag!==3)throw Error(oe(188));return n.stateNode.current===n?e:t}function RC(e){return e=nL(e),e!==null?MC(e):null}function MC(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=MC(e);if(t!==null)return t;e=e.sibling}return null}var IC=sr.unstable_scheduleCallback,Y0=sr.unstable_cancelCallback,rL=sr.unstable_shouldYield,aL=sr.unstable_requestPaint,Lt=sr.unstable_now,iL=sr.unstable_getCurrentPriorityLevel,dx=sr.unstable_ImmediatePriority,$C=sr.unstable_UserBlockingPriority,Pf=sr.unstable_NormalPriority,sL=sr.unstable_LowPriority,LC=sr.unstable_IdlePriority,hp=null,oa=null;function oL(e){if(oa&&typeof oa.onCommitFiberRoot=="function")try{oa.onCommitFiberRoot(hp,e,void 0,(e.current.flags&128)===128)}catch{}}var zr=Math.clz32?Math.clz32:uL,lL=Math.log,cL=Math.LN2;function uL(e){return e>>>=0,e===0?32:31-(lL(e)/cL|0)|0}var Nd=64,Ed=4194304;function yc(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 Rf(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=yc(l):(s&=o,s!==0&&(r=yc(s)))}else o=n&~a,o!==0?r=yc(o):s!==0&&(r=yc(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-zr(t),a=1<<n,r|=e[n],t&=~a;return r}function dL(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 fL(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,s=e.pendingLanes;0<s;){var o=31-zr(s),l=1<<o,c=a[o];c===-1?(!(l&n)||l&r)&&(a[o]=dL(l,t)):c<=t&&(e.expiredLanes|=l),s&=~l}}function Pv(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function DC(){var e=Nd;return Nd<<=1,!(Nd&4194240)&&(Nd=64),e}function Lm(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ku(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-zr(t),e[t]=n}function hL(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-zr(n),s=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~s}}function fx(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-zr(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var nt=0;function BC(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var zC,hx,FC,UC,WC,Rv=!1,_d=[],vi=null,yi=null,bi=null,Wc=new Map,Hc=new Map,si=[],pL="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 X0(e,t){switch(e){case"focusin":case"focusout":vi=null;break;case"dragenter":case"dragleave":yi=null;break;case"mouseover":case"mouseout":bi=null;break;case"pointerover":case"pointerout":Wc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Hc.delete(t.pointerId)}}function Xl(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=Yu(t),t!==null&&hx(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}function mL(e,t,n,r,a){switch(t){case"focusin":return vi=Xl(vi,e,t,n,r,a),!0;case"dragenter":return yi=Xl(yi,e,t,n,r,a),!0;case"mouseover":return bi=Xl(bi,e,t,n,r,a),!0;case"pointerover":var s=a.pointerId;return Wc.set(s,Xl(Wc.get(s)||null,e,t,n,r,a)),!0;case"gotpointercapture":return s=a.pointerId,Hc.set(s,Xl(Hc.get(s)||null,e,t,n,r,a)),!0}return!1}function HC(e){var t=us(e.target);if(t!==null){var n=Ds(t);if(n!==null){if(t=n.tag,t===13){if(t=PC(n),t!==null){e.blockedOn=t,WC(e.priority,function(){FC(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 gf(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Mv(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Cv=r,n.target.dispatchEvent(r),Cv=null}else return t=Yu(n),t!==null&&hx(t),e.blockedOn=n,!1;t.shift()}return!0}function Q0(e,t,n){gf(e)&&n.delete(t)}function gL(){Rv=!1,vi!==null&&gf(vi)&&(vi=null),yi!==null&&gf(yi)&&(yi=null),bi!==null&&gf(bi)&&(bi=null),Wc.forEach(Q0),Hc.forEach(Q0)}function Ql(e,t){e.blockedOn===t&&(e.blockedOn=null,Rv||(Rv=!0,sr.unstable_scheduleCallback(sr.unstable_NormalPriority,gL)))}function Gc(e){function t(a){return Ql(a,e)}if(0<_d.length){Ql(_d[0],e);for(var n=1;n<_d.length;n++){var r=_d[n];r.blockedOn===e&&(r.blockedOn=null)}}for(vi!==null&&Ql(vi,e),yi!==null&&Ql(yi,e),bi!==null&&Ql(bi,e),Wc.forEach(t),Hc.forEach(t),n=0;n<si.length;n++)r=si[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<si.length&&(n=si[0],n.blockedOn===null);)HC(n),n.blockedOn===null&&si.shift()}var Oo=Ha.ReactCurrentBatchConfig,Mf=!0;function vL(e,t,n,r){var a=nt,s=Oo.transition;Oo.transition=null;try{nt=1,px(e,t,n,r)}finally{nt=a,Oo.transition=s}}function yL(e,t,n,r){var a=nt,s=Oo.transition;Oo.transition=null;try{nt=4,px(e,t,n,r)}finally{nt=a,Oo.transition=s}}function px(e,t,n,r){if(Mf){var a=Mv(e,t,n,r);if(a===null)Km(e,t,r,If,n),X0(e,r);else if(mL(a,e,t,n,r))r.stopPropagation();else if(X0(e,r),t&4&&-1<pL.indexOf(e)){for(;a!==null;){var s=Yu(a);if(s!==null&&zC(s),s=Mv(e,t,n,r),s===null&&Km(e,t,r,If,n),s===a)break;a=s}a!==null&&r.stopPropagation()}else Km(e,t,r,null,n)}}var If=null;function Mv(e,t,n,r){if(If=null,e=ux(r),e=us(e),e!==null)if(t=Ds(e),t===null)e=null;else if(n=t.tag,n===13){if(e=PC(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 If=e,null}function GC(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(iL()){case dx:return 1;case $C:return 4;case Pf:case sL:return 16;case LC:return 536870912;default:return 16}default:return 16}}var di=null,mx=null,vf=null;function qC(){if(vf)return vf;var e,t=mx,n=t.length,r,a="value"in di?di.value:di.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 vf=a.slice(e,1<r?1-r:void 0)}function yf(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 Z0(){return!1}function cr(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:Z0,this.isPropagationStopped=Z0,this}return Ct(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 vl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gx=cr(vl),Vu=Ct({},vl,{view:0,detail:0}),bL=cr(Vu),Dm,Bm,Zl,pp=Ct({},Vu,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:vx,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!==Zl&&(Zl&&e.type==="mousemove"?(Dm=e.screenX-Zl.screenX,Bm=e.screenY-Zl.screenY):Bm=Dm=0,Zl=e),Dm)},movementY:function(e){return"movementY"in e?e.movementY:Bm}}),J0=cr(pp),xL=Ct({},pp,{dataTransfer:0}),wL=cr(xL),kL=Ct({},Vu,{relatedTarget:0}),zm=cr(kL),SL=Ct({},vl,{animationName:0,elapsedTime:0,pseudoElement:0}),jL=cr(SL),NL=Ct({},vl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),EL=cr(NL),_L=Ct({},vl,{data:0}),ek=cr(_L),CL={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},AL={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"},TL={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function OL(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=TL[e])?!!t[e]:!1}function vx(){return OL}var PL=Ct({},Vu,{key:function(e){if(e.key){var t=CL[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=yf(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?AL[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:vx,charCode:function(e){return e.type==="keypress"?yf(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?yf(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),RL=cr(PL),ML=Ct({},pp,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),tk=cr(ML),IL=Ct({},Vu,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:vx}),$L=cr(IL),LL=Ct({},vl,{propertyName:0,elapsedTime:0,pseudoElement:0}),DL=cr(LL),BL=Ct({},pp,{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}),zL=cr(BL),FL=[9,13,27,32],yx=La&&"CompositionEvent"in window,Nc=null;La&&"documentMode"in document&&(Nc=document.documentMode);var UL=La&&"TextEvent"in window&&!Nc,KC=La&&(!yx||Nc&&8<Nc&&11>=Nc),nk=" ",rk=!1;function VC(e,t){switch(e){case"keyup":return FL.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function YC(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var po=!1;function WL(e,t){switch(e){case"compositionend":return YC(t);case"keypress":return t.which!==32?null:(rk=!0,nk);case"textInput":return e=t.data,e===nk&&rk?null:e;default:return null}}function HL(e,t){if(po)return e==="compositionend"||!yx&&VC(e,t)?(e=qC(),vf=mx=di=null,po=!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 KC&&t.locale!=="ko"?null:t.data;default:return null}}var GL={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 ak(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!GL[e.type]:t==="textarea"}function XC(e,t,n,r){_C(r),t=$f(t,"onChange"),0<t.length&&(n=new gx("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Ec=null,qc=null;function qL(e){oA(e,0)}function mp(e){var t=vo(e);if(xC(t))return e}function KL(e,t){if(e==="change")return t}var QC=!1;if(La){var Fm;if(La){var Um="oninput"in document;if(!Um){var ik=document.createElement("div");ik.setAttribute("oninput","return;"),Um=typeof ik.oninput=="function"}Fm=Um}else Fm=!1;QC=Fm&&(!document.documentMode||9<document.documentMode)}function sk(){Ec&&(Ec.detachEvent("onpropertychange",ZC),qc=Ec=null)}function ZC(e){if(e.propertyName==="value"&&mp(qc)){var t=[];XC(t,qc,e,ux(e)),OC(qL,t)}}function VL(e,t,n){e==="focusin"?(sk(),Ec=t,qc=n,Ec.attachEvent("onpropertychange",ZC)):e==="focusout"&&sk()}function YL(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return mp(qc)}function XL(e,t){if(e==="click")return mp(t)}function QL(e,t){if(e==="input"||e==="change")return mp(t)}function ZL(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Gr=typeof Object.is=="function"?Object.is:ZL;function Kc(e,t){if(Gr(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(!gv.call(t,a)||!Gr(e[a],t[a]))return!1}return!0}function ok(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function lk(e,t){var n=ok(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=ok(n)}}function JC(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?JC(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function eA(){for(var e=window,t=Af();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Af(e.document)}return t}function bx(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 JL(e){var t=eA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&JC(n.ownerDocument.documentElement,n)){if(r!==null&&bx(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=lk(n,s);var o=lk(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 eD=La&&"documentMode"in document&&11>=document.documentMode,mo=null,Iv=null,_c=null,$v=!1;function ck(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$v||mo==null||mo!==Af(r)||(r=mo,"selectionStart"in r&&bx(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}),_c&&Kc(_c,r)||(_c=r,r=$f(Iv,"onSelect"),0<r.length&&(t=new gx("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=mo)))}function Ad(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var go={animationend:Ad("Animation","AnimationEnd"),animationiteration:Ad("Animation","AnimationIteration"),animationstart:Ad("Animation","AnimationStart"),transitionend:Ad("Transition","TransitionEnd")},Wm={},tA={};La&&(tA=document.createElement("div").style,"AnimationEvent"in window||(delete go.animationend.animation,delete go.animationiteration.animation,delete go.animationstart.animation),"TransitionEvent"in window||delete go.transitionend.transition);function gp(e){if(Wm[e])return Wm[e];if(!go[e])return e;var t=go[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in tA)return Wm[e]=t[n];return e}var nA=gp("animationend"),rA=gp("animationiteration"),aA=gp("animationstart"),iA=gp("transitionend"),sA=new Map,uk="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 Oi(e,t){sA.set(e,t),Ls(t,[e])}for(var Hm=0;Hm<uk.length;Hm++){var Gm=uk[Hm],tD=Gm.toLowerCase(),nD=Gm[0].toUpperCase()+Gm.slice(1);Oi(tD,"on"+nD)}Oi(nA,"onAnimationEnd");Oi(rA,"onAnimationIteration");Oi(aA,"onAnimationStart");Oi("dblclick","onDoubleClick");Oi("focusin","onFocus");Oi("focusout","onBlur");Oi(iA,"onTransitionEnd");Bo("onMouseEnter",["mouseout","mouseover"]);Bo("onMouseLeave",["mouseout","mouseover"]);Bo("onPointerEnter",["pointerout","pointerover"]);Bo("onPointerLeave",["pointerout","pointerover"]);Ls("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ls("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ls("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ls("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Ls("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ls("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var bc="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(" "),rD=new Set("cancel close invalid load scroll toggle".split(" ").concat(bc));function dk(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,tL(r,t,void 0,e),e.currentTarget=null}function oA(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;dk(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;dk(a,l,u),s=c}}}if(Of)throw e=Ov,Of=!1,Ov=null,e}function gt(e,t){var n=t[Fv];n===void 0&&(n=t[Fv]=new Set);var r=e+"__bubble";n.has(r)||(lA(t,e,2,!1),n.add(r))}function qm(e,t,n){var r=0;t&&(r|=4),lA(n,e,r,t)}var Td="_reactListening"+Math.random().toString(36).slice(2);function Vc(e){if(!e[Td]){e[Td]=!0,mC.forEach(function(n){n!=="selectionchange"&&(rD.has(n)||qm(n,!1,e),qm(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Td]||(t[Td]=!0,qm("selectionchange",!1,t))}}function lA(e,t,n,r){switch(GC(t)){case 1:var a=vL;break;case 4:a=yL;break;default:a=px}n=a.bind(null,t,n,e),a=void 0,!Tv||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 Km(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=us(l),o===null)return;if(c=o.tag,c===5||c===6){r=s=o;continue e}l=l.parentNode}}r=r.return}OC(function(){var u=s,d=ux(n),f=[];e:{var h=sA.get(e);if(h!==void 0){var p=gx,m=e;switch(e){case"keypress":if(yf(n)===0)break e;case"keydown":case"keyup":p=RL;break;case"focusin":m="focus",p=zm;break;case"focusout":m="blur",p=zm;break;case"beforeblur":case"afterblur":p=zm;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=J0;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=wL;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=$L;break;case nA:case rA:case aA:p=jL;break;case iA:p=DL;break;case"scroll":p=bL;break;case"wheel":p=zL;break;case"copy":case"cut":case"paste":p=EL;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=tk}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=Uc(S,v),N!=null&&g.push(Yc(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!==Cv&&(m=n.relatedTarget||n.fromElement)&&(us(m)||m[Da]))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?us(m):null,m!==null&&(y=Ds(m),m!==y||m.tag!==5&&m.tag!==6)&&(m=null)):(p=null,m=u),p!==m)){if(g=J0,N="onMouseLeave",v="onMouseEnter",S="mouse",(e==="pointerout"||e==="pointerover")&&(g=tk,N="onPointerLeave",v="onPointerEnter",S="pointer"),y=p==null?h:vo(p),w=m==null?h:vo(m),h=new g(N,S+"leave",p,n,d),h.target=y,h.relatedTarget=w,N=null,us(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=Zs(w))S++;for(w=0,N=v;N;N=Zs(N))w++;for(;0<S-w;)g=Zs(g),S--;for(;0<w-S;)v=Zs(v),w--;for(;S--;){if(g===v||v!==null&&g===v.alternate)break t;g=Zs(g),v=Zs(v)}g=null}else g=null;p!==null&&fk(f,h,p,g,!1),m!==null&&y!==null&&fk(f,y,m,g,!0)}}e:{if(h=u?vo(u):window,p=h.nodeName&&h.nodeName.toLowerCase(),p==="select"||p==="input"&&h.type==="file")var k=KL;else if(ak(h))if(QC)k=QL;else{k=YL;var b=VL}else(p=h.nodeName)&&p.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(k=XL);if(k&&(k=k(e,u))){XC(f,k,n,d);break e}b&&b(e,h,u),e==="focusout"&&(b=h._wrapperState)&&b.controlled&&h.type==="number"&&Sv(h,"number",h.value)}switch(b=u?vo(u):window,e){case"focusin":(ak(b)||b.contentEditable==="true")&&(mo=b,Iv=u,_c=null);break;case"focusout":_c=Iv=mo=null;break;case"mousedown":$v=!0;break;case"contextmenu":case"mouseup":case"dragend":$v=!1,ck(f,n,d);break;case"selectionchange":if(eD)break;case"keydown":case"keyup":ck(f,n,d)}var j;if(yx)e:{switch(e){case"compositionstart":var E="onCompositionStart";break e;case"compositionend":E="onCompositionEnd";break e;case"compositionupdate":E="onCompositionUpdate";break e}E=void 0}else po?VC(e,n)&&(E="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(E="onCompositionStart");E&&(KC&&n.locale!=="ko"&&(po||E!=="onCompositionStart"?E==="onCompositionEnd"&&po&&(j=qC()):(di=d,mx="value"in di?di.value:di.textContent,po=!0)),b=$f(u,E),0<b.length&&(E=new ek(E,e,null,n,d),f.push({event:E,listeners:b}),j?E.data=j:(j=YC(n),j!==null&&(E.data=j)))),(j=UL?WL(e,n):HL(e,n))&&(u=$f(u,"onBeforeInput"),0<u.length&&(d=new ek("onBeforeInput","beforeinput",null,n,d),f.push({event:d,listeners:u}),d.data=j))}oA(f,t)})}function Yc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function $f(e,t){for(var n=t+"Capture",r=[];e!==null;){var a=e,s=a.stateNode;a.tag===5&&s!==null&&(a=s,s=Uc(e,n),s!=null&&r.unshift(Yc(e,s,a)),s=Uc(e,t),s!=null&&r.push(Yc(e,s,a))),e=e.return}return r}function Zs(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function fk(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=Uc(n,s),c!=null&&o.unshift(Yc(n,c,l))):a||(c=Uc(n,s),c!=null&&o.push(Yc(n,c,l)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var aD=/\r\n?/g,iD=/\u0000|\uFFFD/g;function hk(e){return(typeof e=="string"?e:""+e).replace(aD,`
38
- `).replace(iD,"")}function Od(e,t,n){if(t=hk(t),hk(e)!==t&&n)throw Error(oe(425))}function Lf(){}var Lv=null,Dv=null;function Bv(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 zv=typeof setTimeout=="function"?setTimeout:void 0,sD=typeof clearTimeout=="function"?clearTimeout:void 0,pk=typeof Promise=="function"?Promise:void 0,oD=typeof queueMicrotask=="function"?queueMicrotask:typeof pk<"u"?function(e){return pk.resolve(null).then(e).catch(lD)}:zv;function lD(e){setTimeout(function(){throw e})}function Vm(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),Gc(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=a}while(n);Gc(t)}function xi(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 mk(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 yl=Math.random().toString(36).slice(2),ra="__reactFiber$"+yl,Xc="__reactProps$"+yl,Da="__reactContainer$"+yl,Fv="__reactEvents$"+yl,cD="__reactListeners$"+yl,uD="__reactHandles$"+yl;function us(e){var t=e[ra];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Da]||n[ra]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=mk(e);e!==null;){if(n=e[ra])return n;e=mk(e)}return t}e=n,n=e.parentNode}return null}function Yu(e){return e=e[ra]||e[Da],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function vo(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(oe(33))}function vp(e){return e[Xc]||null}var Uv=[],yo=-1;function Pi(e){return{current:e}}function xt(e){0>yo||(e.current=Uv[yo],Uv[yo]=null,yo--)}function pt(e,t){yo++,Uv[yo]=e.current,e.current=t}var Ai={},Nn=Pi(Ai),Wn=Pi(!1),Es=Ai;function zo(e,t){var n=e.type.contextTypes;if(!n)return Ai;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 Hn(e){return e=e.childContextTypes,e!=null}function Df(){xt(Wn),xt(Nn)}function gk(e,t,n){if(Nn.current!==Ai)throw Error(oe(168));pt(Nn,t),pt(Wn,n)}function cA(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(oe(108,V$(e)||"Unknown",a));return Ct({},n,r)}function Bf(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ai,Es=Nn.current,pt(Nn,e),pt(Wn,Wn.current),!0}function vk(e,t,n){var r=e.stateNode;if(!r)throw Error(oe(169));n?(e=cA(e,t,Es),r.__reactInternalMemoizedMergedChildContext=e,xt(Wn),xt(Nn),pt(Nn,e)):xt(Wn),pt(Wn,n)}var _a=null,yp=!1,Ym=!1;function uA(e){_a===null?_a=[e]:_a.push(e)}function dD(e){yp=!0,uA(e)}function Ri(){if(!Ym&&_a!==null){Ym=!0;var e=0,t=nt;try{var n=_a;for(nt=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}_a=null,yp=!1}catch(a){throw _a!==null&&(_a=_a.slice(e+1)),IC(dx,Ri),a}finally{nt=t,Ym=!1}}return null}var bo=[],xo=0,zf=null,Ff=0,yr=[],br=0,_s=null,Ca=1,Aa="";function ts(e,t){bo[xo++]=Ff,bo[xo++]=zf,zf=e,Ff=t}function dA(e,t,n){yr[br++]=Ca,yr[br++]=Aa,yr[br++]=_s,_s=e;var r=Ca;e=Aa;var a=32-zr(r)-1;r&=~(1<<a),n+=1;var s=32-zr(t)+a;if(30<s){var o=a-a%5;s=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Ca=1<<32-zr(t)+a|n<<a|r,Aa=s+e}else Ca=1<<s|n<<a|r,Aa=e}function xx(e){e.return!==null&&(ts(e,1),dA(e,1,0))}function wx(e){for(;e===zf;)zf=bo[--xo],bo[xo]=null,Ff=bo[--xo],bo[xo]=null;for(;e===_s;)_s=yr[--br],yr[br]=null,Aa=yr[--br],yr[br]=null,Ca=yr[--br],yr[br]=null}var ar=null,rr=null,kt=!1,Lr=null;function fA(e,t){var n=wr(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 yk(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,ar=e,rr=xi(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ar=e,rr=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=_s!==null?{id:Ca,overflow:Aa}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=wr(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ar=e,rr=null,!0):!1;default:return!1}}function Wv(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Hv(e){if(kt){var t=rr;if(t){var n=t;if(!yk(e,t)){if(Wv(e))throw Error(oe(418));t=xi(n.nextSibling);var r=ar;t&&yk(e,t)?fA(r,n):(e.flags=e.flags&-4097|2,kt=!1,ar=e)}}else{if(Wv(e))throw Error(oe(418));e.flags=e.flags&-4097|2,kt=!1,ar=e}}}function bk(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ar=e}function Pd(e){if(e!==ar)return!1;if(!kt)return bk(e),kt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Bv(e.type,e.memoizedProps)),t&&(t=rr)){if(Wv(e))throw hA(),Error(oe(418));for(;t;)fA(e,t),t=xi(t.nextSibling)}if(bk(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(oe(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){rr=xi(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}rr=null}}else rr=ar?xi(e.stateNode.nextSibling):null;return!0}function hA(){for(var e=rr;e;)e=xi(e.nextSibling)}function Fo(){rr=ar=null,kt=!1}function kx(e){Lr===null?Lr=[e]:Lr.push(e)}var fD=Ha.ReactCurrentBatchConfig;function Jl(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(oe(309));var r=n.stateNode}if(!r)throw Error(oe(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(oe(284));if(!n._owner)throw Error(oe(290,e))}return e}function Rd(e,t){throw e=Object.prototype.toString.call(t),Error(oe(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function xk(e){var t=e._init;return t(e._payload)}function pA(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=ji(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=ng(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===ho?d(v,S,w.props.children,N,w.key):S!==null&&(S.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ri&&xk(k)===S.type)?(N=a(S,w.props),N.ref=Jl(v,S,w),N.return=v,N):(N=Nf(w.type,w.key,w.props,null,v.mode,N),N.ref=Jl(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=rg(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=bs(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=ng(""+S,v.mode,w),S.return=v,S;if(typeof S=="object"&&S!==null){switch(S.$$typeof){case kd:return w=Nf(S.type,S.key,S.props,null,v.mode,w),w.ref=Jl(v,null,S),w.return=v,w;case fo:return S=rg(S,v.mode,w),S.return=v,S;case ri:var N=S._init;return f(v,N(S._payload),w)}if(vc(S)||Vl(S))return S=bs(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 fo:return w.key===k?u(v,S,w,N):null;case ri:return k=w._init,h(v,S,k(w._payload),N)}if(vc(w)||Vl(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 fo:return v=v.get(N.key===null?w:N.key)||null,u(S,v,N,k);case ri:var b=N._init;return p(v,S,w,b(N._payload),k)}if(vc(N)||Vl(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,b=null,j=S,E=S=0,P=null;j!==null&&E<w.length;E++){j.index>E?(P=j,j=null):P=j.sibling;var _=h(v,j,w[E],N);if(_===null){j===null&&(j=P);break}e&&j&&_.alternate===null&&t(v,j),S=s(_,S,E),b===null?k=_:b.sibling=_,b=_,j=P}if(E===w.length)return n(v,j),kt&&ts(v,E),k;if(j===null){for(;E<w.length;E++)j=f(v,w[E],N),j!==null&&(S=s(j,S,E),b===null?k=j:b.sibling=j,b=j);return kt&&ts(v,E),k}for(j=r(v,j);E<w.length;E++)P=p(j,v,E,w[E],N),P!==null&&(e&&P.alternate!==null&&j.delete(P.key===null?E:P.key),S=s(P,S,E),b===null?k=P:b.sibling=P,b=P);return e&&j.forEach(function(A){return t(v,A)}),kt&&ts(v,E),k}function g(v,S,w,N){var k=Vl(w);if(typeof k!="function")throw Error(oe(150));if(w=k.call(w),w==null)throw Error(oe(151));for(var b=k=null,j=S,E=S=0,P=null,_=w.next();j!==null&&!_.done;E++,_=w.next()){j.index>E?(P=j,j=null):P=j.sibling;var A=h(v,j,_.value,N);if(A===null){j===null&&(j=P);break}e&&j&&A.alternate===null&&t(v,j),S=s(A,S,E),b===null?k=A:b.sibling=A,b=A,j=P}if(_.done)return n(v,j),kt&&ts(v,E),k;if(j===null){for(;!_.done;E++,_=w.next())_=f(v,_.value,N),_!==null&&(S=s(_,S,E),b===null?k=_:b.sibling=_,b=_);return kt&&ts(v,E),k}for(j=r(v,j);!_.done;E++,_=w.next())_=p(j,v,E,_.value,N),_!==null&&(e&&_.alternate!==null&&j.delete(_.key===null?E:_.key),S=s(_,S,E),b===null?k=_:b.sibling=_,b=_);return e&&j.forEach(function(O){return t(v,O)}),kt&&ts(v,E),k}function y(v,S,w,N){if(typeof w=="object"&&w!==null&&w.type===ho&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case kd:e:{for(var k=w.key,b=S;b!==null;){if(b.key===k){if(k=w.type,k===ho){if(b.tag===7){n(v,b.sibling),S=a(b,w.props.children),S.return=v,v=S;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ri&&xk(k)===b.type){n(v,b.sibling),S=a(b,w.props),S.ref=Jl(v,b,w),S.return=v,v=S;break e}n(v,b);break}else t(v,b);b=b.sibling}w.type===ho?(S=bs(w.props.children,v.mode,N,w.key),S.return=v,v=S):(N=Nf(w.type,w.key,w.props,null,v.mode,N),N.ref=Jl(v,S,w),N.return=v,v=N)}return o(v);case fo:e:{for(b=w.key;S!==null;){if(S.key===b)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=rg(w,v.mode,N),S.return=v,v=S}return o(v);case ri:return b=w._init,y(v,S,b(w._payload),N)}if(vc(w))return m(v,S,w,N);if(Vl(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=ng(w,v.mode,N),S.return=v,v=S),o(v)):n(v,S)}return y}var Uo=pA(!0),mA=pA(!1),Uf=Pi(null),Wf=null,wo=null,Sx=null;function jx(){Sx=wo=Wf=null}function Nx(e){var t=Uf.current;xt(Uf),e._currentValue=t}function Gv(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 Po(e,t){Wf=e,Sx=wo=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Fn=!0),e.firstContext=null)}function Nr(e){var t=e._currentValue;if(Sx!==e)if(e={context:e,memoizedValue:t,next:null},wo===null){if(Wf===null)throw Error(oe(308));wo=e,Wf.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var ds=null;function Ex(e){ds===null?ds=[e]:ds.push(e)}function gA(e,t,n,r){var a=t.interleaved;return a===null?(n.next=n,Ex(t)):(n.next=a.next,a.next=n),t.interleaved=n,Ba(e,r)}function Ba(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 ai=!1;function _x(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function vA(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 Ra(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function wi(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Ke&2){var a=r.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Ba(e,n)}return a=r.interleaved,a===null?(t.next=t,Ex(r)):(t.next=a.next,a.next=t),r.interleaved=t,Ba(e,n)}function bf(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,fx(e,n)}}function wk(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 Hf(e,t,n,r){var a=e.updateQueue;ai=!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=Ct({},f,h);break e;case 2:ai=!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);As|=o,e.lanes=o,e.memoizedState=f}}function kk(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(oe(191,a));a.call(r)}}}var Xu={},la=Pi(Xu),Qc=Pi(Xu),Zc=Pi(Xu);function fs(e){if(e===Xu)throw Error(oe(174));return e}function Cx(e,t){switch(pt(Zc,t),pt(Qc,e),pt(la,Xu),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Nv(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Nv(t,e)}xt(la),pt(la,t)}function Wo(){xt(la),xt(Qc),xt(Zc)}function yA(e){fs(Zc.current);var t=fs(la.current),n=Nv(t,e.type);t!==n&&(pt(Qc,e),pt(la,n))}function Ax(e){Qc.current===e&&(xt(la),xt(Qc))}var Nt=Pi(0);function Gf(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 Xm=[];function Tx(){for(var e=0;e<Xm.length;e++)Xm[e]._workInProgressVersionPrimary=null;Xm.length=0}var xf=Ha.ReactCurrentDispatcher,Qm=Ha.ReactCurrentBatchConfig,Cs=0,Et=null,qt=null,Zt=null,qf=!1,Cc=!1,Jc=0,hD=0;function gn(){throw Error(oe(321))}function Ox(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Gr(e[n],t[n]))return!1;return!0}function Px(e,t,n,r,a,s){if(Cs=s,Et=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,xf.current=e===null||e.memoizedState===null?vD:yD,e=n(r,a),Cc){s=0;do{if(Cc=!1,Jc=0,25<=s)throw Error(oe(301));s+=1,Zt=qt=null,t.updateQueue=null,xf.current=bD,e=n(r,a)}while(Cc)}if(xf.current=Kf,t=qt!==null&&qt.next!==null,Cs=0,Zt=qt=Et=null,qf=!1,t)throw Error(oe(300));return e}function Rx(){var e=Jc!==0;return Jc=0,e}function ta(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Zt===null?Et.memoizedState=Zt=e:Zt=Zt.next=e,Zt}function Er(){if(qt===null){var e=Et.alternate;e=e!==null?e.memoizedState:null}else e=qt.next;var t=Zt===null?Et.memoizedState:Zt.next;if(t!==null)Zt=t,qt=e;else{if(e===null)throw Error(oe(310));qt=e,e={memoizedState:qt.memoizedState,baseState:qt.baseState,baseQueue:qt.baseQueue,queue:qt.queue,next:null},Zt===null?Et.memoizedState=Zt=e:Zt=Zt.next=e}return Zt}function eu(e,t){return typeof t=="function"?t(e):t}function Zm(e){var t=Er(),n=t.queue;if(n===null)throw Error(oe(311));n.lastRenderedReducer=e;var r=qt,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((Cs&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,Et.lanes|=d,As|=d}u=u.next}while(u!==null&&u!==s);c===null?o=r:c.next=l,Gr(r,t.memoizedState)||(Fn=!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,Et.lanes|=s,As|=s,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Jm(e){var t=Er(),n=t.queue;if(n===null)throw Error(oe(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);Gr(s,t.memoizedState)||(Fn=!0),t.memoizedState=s,t.baseQueue===null&&(t.baseState=s),n.lastRenderedState=s}return[s,r]}function bA(){}function xA(e,t){var n=Et,r=Er(),a=t(),s=!Gr(r.memoizedState,a);if(s&&(r.memoizedState=a,Fn=!0),r=r.queue,Mx(SA.bind(null,n,r,e),[e]),r.getSnapshot!==t||s||Zt!==null&&Zt.memoizedState.tag&1){if(n.flags|=2048,tu(9,kA.bind(null,n,r,a,t),void 0,null),tn===null)throw Error(oe(349));Cs&30||wA(n,t,a)}return a}function wA(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Et.updateQueue,t===null?(t={lastEffect:null,stores:null},Et.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function kA(e,t,n,r){t.value=n,t.getSnapshot=r,jA(t)&&NA(e)}function SA(e,t,n){return n(function(){jA(t)&&NA(e)})}function jA(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Gr(e,n)}catch{return!0}}function NA(e){var t=Ba(e,1);t!==null&&Fr(t,e,1,-1)}function Sk(e){var t=ta();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:eu,lastRenderedState:e},t.queue=e,e=e.dispatch=gD.bind(null,Et,e),[t.memoizedState,e]}function tu(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Et.updateQueue,t===null?(t={lastEffect:null,stores:null},Et.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 EA(){return Er().memoizedState}function wf(e,t,n,r){var a=ta();Et.flags|=e,a.memoizedState=tu(1|t,n,void 0,r===void 0?null:r)}function bp(e,t,n,r){var a=Er();r=r===void 0?null:r;var s=void 0;if(qt!==null){var o=qt.memoizedState;if(s=o.destroy,r!==null&&Ox(r,o.deps)){a.memoizedState=tu(t,n,s,r);return}}Et.flags|=e,a.memoizedState=tu(1|t,n,s,r)}function jk(e,t){return wf(8390656,8,e,t)}function Mx(e,t){return bp(2048,8,e,t)}function _A(e,t){return bp(4,2,e,t)}function CA(e,t){return bp(4,4,e,t)}function AA(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 TA(e,t,n){return n=n!=null?n.concat([e]):null,bp(4,4,AA.bind(null,t,e),n)}function Ix(){}function OA(e,t){var n=Er();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Ox(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function PA(e,t){var n=Er();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Ox(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function RA(e,t,n){return Cs&21?(Gr(n,t)||(n=DC(),Et.lanes|=n,As|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Fn=!0),e.memoizedState=n)}function pD(e,t){var n=nt;nt=n!==0&&4>n?n:4,e(!0);var r=Qm.transition;Qm.transition={};try{e(!1),t()}finally{nt=n,Qm.transition=r}}function MA(){return Er().memoizedState}function mD(e,t,n){var r=Si(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},IA(e))$A(t,n);else if(n=gA(e,t,n,r),n!==null){var a=Rn();Fr(n,e,r,a),LA(n,t,r)}}function gD(e,t,n){var r=Si(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(IA(e))$A(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,Gr(l,o)){var c=t.interleaved;c===null?(a.next=a,Ex(t)):(a.next=c.next,c.next=a),t.interleaved=a;return}}catch{}finally{}n=gA(e,t,a,r),n!==null&&(a=Rn(),Fr(n,e,r,a),LA(n,t,r))}}function IA(e){var t=e.alternate;return e===Et||t!==null&&t===Et}function $A(e,t){Cc=qf=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function LA(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,fx(e,n)}}var Kf={readContext:Nr,useCallback:gn,useContext:gn,useEffect:gn,useImperativeHandle:gn,useInsertionEffect:gn,useLayoutEffect:gn,useMemo:gn,useReducer:gn,useRef:gn,useState:gn,useDebugValue:gn,useDeferredValue:gn,useTransition:gn,useMutableSource:gn,useSyncExternalStore:gn,useId:gn,unstable_isNewReconciler:!1},vD={readContext:Nr,useCallback:function(e,t){return ta().memoizedState=[e,t===void 0?null:t],e},useContext:Nr,useEffect:jk,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,wf(4194308,4,AA.bind(null,t,e),n)},useLayoutEffect:function(e,t){return wf(4194308,4,e,t)},useInsertionEffect:function(e,t){return wf(4,2,e,t)},useMemo:function(e,t){var n=ta();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ta();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=mD.bind(null,Et,e),[r.memoizedState,e]},useRef:function(e){var t=ta();return e={current:e},t.memoizedState=e},useState:Sk,useDebugValue:Ix,useDeferredValue:function(e){return ta().memoizedState=e},useTransition:function(){var e=Sk(!1),t=e[0];return e=pD.bind(null,e[1]),ta().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Et,a=ta();if(kt){if(n===void 0)throw Error(oe(407));n=n()}else{if(n=t(),tn===null)throw Error(oe(349));Cs&30||wA(r,t,n)}a.memoizedState=n;var s={value:n,getSnapshot:t};return a.queue=s,jk(SA.bind(null,r,s,e),[e]),r.flags|=2048,tu(9,kA.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=ta(),t=tn.identifierPrefix;if(kt){var n=Aa,r=Ca;n=(r&~(1<<32-zr(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Jc++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=hD++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},yD={readContext:Nr,useCallback:OA,useContext:Nr,useEffect:Mx,useImperativeHandle:TA,useInsertionEffect:_A,useLayoutEffect:CA,useMemo:PA,useReducer:Zm,useRef:EA,useState:function(){return Zm(eu)},useDebugValue:Ix,useDeferredValue:function(e){var t=Er();return RA(t,qt.memoizedState,e)},useTransition:function(){var e=Zm(eu)[0],t=Er().memoizedState;return[e,t]},useMutableSource:bA,useSyncExternalStore:xA,useId:MA,unstable_isNewReconciler:!1},bD={readContext:Nr,useCallback:OA,useContext:Nr,useEffect:Mx,useImperativeHandle:TA,useInsertionEffect:_A,useLayoutEffect:CA,useMemo:PA,useReducer:Jm,useRef:EA,useState:function(){return Jm(eu)},useDebugValue:Ix,useDeferredValue:function(e){var t=Er();return qt===null?t.memoizedState=e:RA(t,qt.memoizedState,e)},useTransition:function(){var e=Jm(eu)[0],t=Er().memoizedState;return[e,t]},useMutableSource:bA,useSyncExternalStore:xA,useId:MA,unstable_isNewReconciler:!1};function Mr(e,t){if(e&&e.defaultProps){t=Ct({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function qv(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Ct({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var xp={isMounted:function(e){return(e=e._reactInternals)?Ds(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Rn(),a=Si(e),s=Ra(r,a);s.payload=t,n!=null&&(s.callback=n),t=wi(e,s,a),t!==null&&(Fr(t,e,a,r),bf(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Rn(),a=Si(e),s=Ra(r,a);s.tag=1,s.payload=t,n!=null&&(s.callback=n),t=wi(e,s,a),t!==null&&(Fr(t,e,a,r),bf(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Rn(),r=Si(e),a=Ra(n,r);a.tag=2,t!=null&&(a.callback=t),t=wi(e,a,r),t!==null&&(Fr(t,e,r,n),bf(t,e,r))}};function Nk(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?!Kc(n,r)||!Kc(a,s):!0}function DA(e,t,n){var r=!1,a=Ai,s=t.contextType;return typeof s=="object"&&s!==null?s=Nr(s):(a=Hn(t)?Es:Nn.current,r=t.contextTypes,s=(r=r!=null)?zo(e,a):Ai),t=new t(n,s),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=xp,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=s),t}function Ek(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&&xp.enqueueReplaceState(t,t.state,null)}function Kv(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},_x(e);var s=t.contextType;typeof s=="object"&&s!==null?a.context=Nr(s):(s=Hn(t)?Es:Nn.current,a.context=zo(e,s)),a.state=e.memoizedState,s=t.getDerivedStateFromProps,typeof s=="function"&&(qv(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&&xp.enqueueReplaceState(a,a.state,null),Hf(e,n,a,r),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308)}function Ho(e,t){try{var n="",r=t;do n+=K$(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 eg(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Vv(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var xD=typeof WeakMap=="function"?WeakMap:Map;function BA(e,t,n){n=Ra(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Yf||(Yf=!0,ay=r),Vv(e,t)},n}function zA(e,t,n){n=Ra(-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(){Vv(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Vv(e,t),typeof r!="function"&&(ki===null?ki=new Set([this]):ki.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function _k(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new xD;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=MD.bind(null,e,t,n),t.then(e,e))}function Ck(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 Ak(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=Ra(-1,1),t.tag=2,wi(n,t,1))),n.lanes|=1),e)}var wD=Ha.ReactCurrentOwner,Fn=!1;function Tn(e,t,n,r){t.child=e===null?mA(t,null,n,r):Uo(t,e.child,n,r)}function Tk(e,t,n,r,a){n=n.render;var s=t.ref;return Po(t,a),r=Px(e,t,n,r,s,a),n=Rx(),e!==null&&!Fn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,za(e,t,a)):(kt&&n&&xx(t),t.flags|=1,Tn(e,t,r,a),t.child)}function Ok(e,t,n,r,a){if(e===null){var s=n.type;return typeof s=="function"&&!Wx(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,FA(e,t,s,r,a)):(e=Nf(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:Kc,n(o,r)&&e.ref===t.ref)return za(e,t,a)}return t.flags|=1,e=ji(s,r),e.ref=t.ref,e.return=t,t.child=e}function FA(e,t,n,r,a){if(e!==null){var s=e.memoizedProps;if(Kc(s,r)&&e.ref===t.ref)if(Fn=!1,t.pendingProps=r=s,(e.lanes&a)!==0)e.flags&131072&&(Fn=!0);else return t.lanes=e.lanes,za(e,t,a)}return Yv(e,t,n,r,a)}function UA(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},pt(So,er),er|=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,pt(So,er),er|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,pt(So,er),er|=r}else s!==null?(r=s.baseLanes|n,t.memoizedState=null):r=n,pt(So,er),er|=r;return Tn(e,t,a,n),t.child}function WA(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Yv(e,t,n,r,a){var s=Hn(n)?Es:Nn.current;return s=zo(t,s),Po(t,a),n=Px(e,t,n,r,s,a),r=Rx(),e!==null&&!Fn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,za(e,t,a)):(kt&&r&&xx(t),t.flags|=1,Tn(e,t,n,a),t.child)}function Pk(e,t,n,r,a){if(Hn(n)){var s=!0;Bf(t)}else s=!1;if(Po(t,a),t.stateNode===null)kf(e,t),DA(t,n,r),Kv(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=Nr(u):(u=Hn(n)?Es:Nn.current,u=zo(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)&&Ek(t,o,r,u),ai=!1;var h=t.memoizedState;o.state=h,Hf(t,r,o,a),c=t.memoizedState,l!==r||h!==c||Wn.current||ai?(typeof d=="function"&&(qv(t,n,d,r),c=t.memoizedState),(l=ai||Nk(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,vA(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:Mr(t.type,l),o.props=u,f=t.pendingProps,h=o.context,c=n.contextType,typeof c=="object"&&c!==null?c=Nr(c):(c=Hn(n)?Es:Nn.current,c=zo(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)&&Ek(t,o,r,c),ai=!1,h=t.memoizedState,o.state=h,Hf(t,r,o,a);var m=t.memoizedState;l!==f||h!==m||Wn.current||ai?(typeof p=="function"&&(qv(t,n,p,r),m=t.memoizedState),(u=ai||Nk(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 Xv(e,t,n,r,s,a)}function Xv(e,t,n,r,a,s){WA(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return a&&vk(t,n,!1),za(e,t,s);r=t.stateNode,wD.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Uo(t,e.child,null,s),t.child=Uo(t,null,l,s)):Tn(e,t,l,s),t.memoizedState=r.state,a&&vk(t,n,!0),t.child}function HA(e){var t=e.stateNode;t.pendingContext?gk(e,t.pendingContext,t.pendingContext!==t.context):t.context&&gk(e,t.context,!1),Cx(e,t.containerInfo)}function Rk(e,t,n,r,a){return Fo(),kx(a),t.flags|=256,Tn(e,t,n,r),t.child}var Qv={dehydrated:null,treeContext:null,retryLane:0};function Zv(e){return{baseLanes:e,cachePool:null,transitions:null}}function GA(e,t,n){var r=t.pendingProps,a=Nt.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),pt(Nt,a&1),e===null)return Hv(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=Sp(o,r,0,null),e=bs(e,r,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Zv(n),t.memoizedState=Qv,e):$x(t,o));if(a=e.memoizedState,a!==null&&(l=a.dehydrated,l!==null))return kD(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=ji(a,c),r.subtreeFlags=a.subtreeFlags&14680064),l!==null?s=ji(l,s):(s=bs(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?Zv(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Qv,r}return s=e.child,e=s.sibling,r=ji(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 $x(e,t){return t=Sp({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Md(e,t,n,r){return r!==null&&kx(r),Uo(t,e.child,null,n),e=$x(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function kD(e,t,n,r,a,s,o){if(n)return t.flags&256?(t.flags&=-257,r=eg(Error(oe(422))),Md(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=r.fallback,a=t.mode,r=Sp({mode:"visible",children:r.children},a,0,null),s=bs(s,a,o,null),s.flags|=2,r.return=t,s.return=t,r.sibling=s,t.child=r,t.mode&1&&Uo(t,e.child,null,o),t.child.memoizedState=Zv(o),t.memoizedState=Qv,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(oe(419)),r=eg(s,r,void 0),Md(e,t,o,r)}if(l=(o&e.childLanes)!==0,Fn||l){if(r=tn,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,Ba(e,a),Fr(r,e,a,-1))}return Ux(),r=eg(Error(oe(421))),Md(e,t,o,r)}return a.data==="$?"?(t.flags|=128,t.child=e.child,t=ID.bind(null,e),a._reactRetry=t,null):(e=s.treeContext,rr=xi(a.nextSibling),ar=t,kt=!0,Lr=null,e!==null&&(yr[br++]=Ca,yr[br++]=Aa,yr[br++]=_s,Ca=e.id,Aa=e.overflow,_s=t),t=$x(t,r.children),t.flags|=4096,t)}function Mk(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Gv(e.return,t,n)}function tg(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 qA(e,t,n){var r=t.pendingProps,a=r.revealOrder,s=r.tail;if(Tn(e,t,r.children,n),r=Nt.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&&Mk(e,n,t);else if(e.tag===19)Mk(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(pt(Nt,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&&Gf(e)===null&&(a=n),n=n.sibling;n=a,n===null?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),tg(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&&Gf(e)===null){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}tg(t,!0,n,null,s);break;case"together":tg(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function kf(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function za(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),As|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(oe(153));if(t.child!==null){for(e=t.child,n=ji(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ji(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function SD(e,t,n){switch(t.tag){case 3:HA(t),Fo();break;case 5:yA(t);break;case 1:Hn(t.type)&&Bf(t);break;case 4:Cx(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;pt(Uf,r._currentValue),r._currentValue=a;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(pt(Nt,Nt.current&1),t.flags|=128,null):n&t.child.childLanes?GA(e,t,n):(pt(Nt,Nt.current&1),e=za(e,t,n),e!==null?e.sibling:null);pt(Nt,Nt.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return qA(e,t,n);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),pt(Nt,Nt.current),r)break;return null;case 22:case 23:return t.lanes=0,UA(e,t,n)}return za(e,t,n)}var KA,Jv,VA,YA;KA=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}};Jv=function(){};VA=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,fs(la.current);var s=null;switch(n){case"input":a=wv(e,a),r=wv(e,r),s=[];break;case"select":a=Ct({},a,{value:void 0}),r=Ct({},r,{value:void 0}),s=[];break;case"textarea":a=jv(e,a),r=jv(e,r),s=[];break;default:typeof a.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Lf)}Ev(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"&&(zc.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"&&(zc.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&gt("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)}};YA=function(e,t,n,r){n!==r&&(t.flags|=4)};function ec(e,t){if(!kt)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 vn(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 jD(e,t,n){var r=t.pendingProps;switch(wx(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return vn(t),null;case 1:return Hn(t.type)&&Df(),vn(t),null;case 3:return r=t.stateNode,Wo(),xt(Wn),xt(Nn),Tx(),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,Lr!==null&&(oy(Lr),Lr=null))),Jv(e,t),vn(t),null;case 5:Ax(t);var a=fs(Zc.current);if(n=t.type,e!==null&&t.stateNode!=null)VA(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(oe(166));return vn(t),null}if(e=fs(la.current),Pd(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[ra]=t,r[Xc]=s,e=(t.mode&1)!==0,n){case"dialog":gt("cancel",r),gt("close",r);break;case"iframe":case"object":case"embed":gt("load",r);break;case"video":case"audio":for(a=0;a<bc.length;a++)gt(bc[a],r);break;case"source":gt("error",r);break;case"img":case"image":case"link":gt("error",r),gt("load",r);break;case"details":gt("toggle",r);break;case"input":W0(r,s),gt("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},gt("invalid",r);break;case"textarea":G0(r,s),gt("invalid",r)}Ev(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]):zc.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&gt("scroll",r)}switch(n){case"input":Sd(r),H0(r,s,!0);break;case"textarea":Sd(r),q0(r);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(r.onclick=Lf)}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=SC(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[ra]=t,e[Xc]=r,KA(e,t,!1,!1),t.stateNode=e;e:{switch(o=_v(n,r),n){case"dialog":gt("cancel",e),gt("close",e),a=r;break;case"iframe":case"object":case"embed":gt("load",e),a=r;break;case"video":case"audio":for(a=0;a<bc.length;a++)gt(bc[a],e);a=r;break;case"source":gt("error",e),a=r;break;case"img":case"image":case"link":gt("error",e),gt("load",e),a=r;break;case"details":gt("toggle",e),a=r;break;case"input":W0(e,r),a=wv(e,r),gt("invalid",e);break;case"option":a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=Ct({},r,{value:void 0}),gt("invalid",e);break;case"textarea":G0(e,r),a=jv(e,r),gt("invalid",e);break;default:a=r}Ev(n,a),l=a;for(s in l)if(l.hasOwnProperty(s)){var c=l[s];s==="style"?EC(e,c):s==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&jC(e,c)):s==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&Fc(e,c):typeof c=="number"&&Fc(e,""+c):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(zc.hasOwnProperty(s)?c!=null&&s==="onScroll"&&gt("scroll",e):c!=null&&sx(e,s,c,o))}switch(n){case"input":Sd(e),H0(e,r,!1);break;case"textarea":Sd(e),q0(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ci(r.value));break;case"select":e.multiple=!!r.multiple,s=r.value,s!=null?Co(e,!!r.multiple,s,!1):r.defaultValue!=null&&Co(e,!!r.multiple,r.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=Lf)}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 vn(t),null;case 6:if(e&&t.stateNode!=null)YA(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(oe(166));if(n=fs(Zc.current),fs(la.current),Pd(t)){if(r=t.stateNode,n=t.memoizedProps,r[ra]=t,(s=r.nodeValue!==n)&&(e=ar,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[ra]=t,t.stateNode=r}return vn(t),null;case 13:if(xt(Nt),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(kt&&rr!==null&&t.mode&1&&!(t.flags&128))hA(),Fo(),t.flags|=98560,s=!1;else if(s=Pd(t),r!==null&&r.dehydrated!==null){if(e===null){if(!s)throw Error(oe(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(oe(317));s[ra]=t}else Fo(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;vn(t),s=!1}else Lr!==null&&(oy(Lr),Lr=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||Nt.current&1?Kt===0&&(Kt=3):Ux())),t.updateQueue!==null&&(t.flags|=4),vn(t),null);case 4:return Wo(),Jv(e,t),e===null&&Vc(t.stateNode.containerInfo),vn(t),null;case 10:return Nx(t.type._context),vn(t),null;case 17:return Hn(t.type)&&Df(),vn(t),null;case 19:if(xt(Nt),s=t.memoizedState,s===null)return vn(t),null;if(r=(t.flags&128)!==0,o=s.rendering,o===null)if(r)ec(s,!1);else{if(Kt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Gf(e),o!==null){for(t.flags|=128,ec(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 pt(Nt,Nt.current&1|2),t.child}e=e.sibling}s.tail!==null&&Lt()>Go&&(t.flags|=128,r=!0,ec(s,!1),t.lanes=4194304)}else{if(!r)if(e=Gf(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ec(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!kt)return vn(t),null}else 2*Lt()-s.renderingStartTime>Go&&n!==1073741824&&(t.flags|=128,r=!0,ec(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=Lt(),t.sibling=null,n=Nt.current,pt(Nt,r?n&1|2:n&1),t):(vn(t),null);case 22:case 23:return Fx(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?er&1073741824&&(vn(t),t.subtreeFlags&6&&(t.flags|=8192)):vn(t),null;case 24:return null;case 25:return null}throw Error(oe(156,t.tag))}function ND(e,t){switch(wx(t),t.tag){case 1:return Hn(t.type)&&Df(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wo(),xt(Wn),xt(Nn),Tx(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ax(t),null;case 13:if(xt(Nt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(oe(340));Fo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return xt(Nt),null;case 4:return Wo(),null;case 10:return Nx(t.type._context),null;case 22:case 23:return Fx(),null;case 24:return null;default:return null}}var Id=!1,wn=!1,ED=typeof WeakSet=="function"?WeakSet:Set,ye=null;function ko(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Rt(e,t,r)}else n.current=null}function ey(e,t,n){try{n()}catch(r){Rt(e,t,r)}}var Ik=!1;function _D(e,t){if(Lv=Mf,e=eA(),bx(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(Dv={focusedElem:e,selectionRange:n},Mf=!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:Mr(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(oe(163))}}catch(N){Rt(t,t.return,N)}if(e=t.sibling,e!==null){e.return=t.return,ye=e;break}ye=t.return}return m=Ik,Ik=!1,m}function Ac(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&&ey(t,n,s)}a=a.next}while(a!==r)}}function wp(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 ty(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 XA(e){var t=e.alternate;t!==null&&(e.alternate=null,XA(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ra],delete t[Xc],delete t[Fv],delete t[cD],delete t[uD])),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 QA(e){return e.tag===5||e.tag===3||e.tag===4}function $k(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||QA(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 ny(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=Lf));else if(r!==4&&(e=e.child,e!==null))for(ny(e,t,n),e=e.sibling;e!==null;)ny(e,t,n),e=e.sibling}function ry(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(ry(e,t,n),e=e.sibling;e!==null;)ry(e,t,n),e=e.sibling}var ln=null,Ir=!1;function Ja(e,t,n){for(n=n.child;n!==null;)ZA(e,t,n),n=n.sibling}function ZA(e,t,n){if(oa&&typeof oa.onCommitFiberUnmount=="function")try{oa.onCommitFiberUnmount(hp,n)}catch{}switch(n.tag){case 5:wn||ko(n,t);case 6:var r=ln,a=Ir;ln=null,Ja(e,t,n),ln=r,Ir=a,ln!==null&&(Ir?(e=ln,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ln.removeChild(n.stateNode));break;case 18:ln!==null&&(Ir?(e=ln,n=n.stateNode,e.nodeType===8?Vm(e.parentNode,n):e.nodeType===1&&Vm(e,n),Gc(e)):Vm(ln,n.stateNode));break;case 4:r=ln,a=Ir,ln=n.stateNode.containerInfo,Ir=!0,Ja(e,t,n),ln=r,Ir=a;break;case 0:case 11:case 14:case 15:if(!wn&&(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)&&ey(n,t,o),a=a.next}while(a!==r)}Ja(e,t,n);break;case 1:if(!wn&&(ko(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Rt(n,t,l)}Ja(e,t,n);break;case 21:Ja(e,t,n);break;case 22:n.mode&1?(wn=(r=wn)||n.memoizedState!==null,Ja(e,t,n),wn=r):Ja(e,t,n);break;default:Ja(e,t,n)}}function Lk(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ED),t.forEach(function(r){var a=$D.bind(null,e,r);n.has(r)||(n.add(r),r.then(a,a))})}}function Pr(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,Ir=!1;break e;case 3:ln=l.stateNode.containerInfo,Ir=!0;break e;case 4:ln=l.stateNode.containerInfo,Ir=!0;break e}l=l.return}if(ln===null)throw Error(oe(160));ZA(s,o,a),ln=null,Ir=!1;var c=a.alternate;c!==null&&(c.return=null),a.return=null}catch(u){Rt(a,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)JA(t,e),t=t.sibling}function JA(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Pr(t,e),Jr(e),r&4){try{Ac(3,e,e.return),wp(3,e)}catch(g){Rt(e,e.return,g)}try{Ac(5,e,e.return)}catch(g){Rt(e,e.return,g)}}break;case 1:Pr(t,e),Jr(e),r&512&&n!==null&&ko(n,n.return);break;case 5:if(Pr(t,e),Jr(e),r&512&&n!==null&&ko(n,n.return),e.flags&32){var a=e.stateNode;try{Fc(a,"")}catch(g){Rt(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&&wC(a,s),_v(l,o);var u=_v(l,s);for(o=0;o<c.length;o+=2){var d=c[o],f=c[o+1];d==="style"?EC(a,f):d==="dangerouslySetInnerHTML"?jC(a,f):d==="children"?Fc(a,f):sx(a,d,f,u)}switch(l){case"input":kv(a,s);break;case"textarea":kC(a,s);break;case"select":var h=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!s.multiple;var p=s.value;p!=null?Co(a,!!s.multiple,p,!1):h!==!!s.multiple&&(s.defaultValue!=null?Co(a,!!s.multiple,s.defaultValue,!0):Co(a,!!s.multiple,s.multiple?[]:"",!1))}a[Xc]=s}catch(g){Rt(e,e.return,g)}}break;case 6:if(Pr(t,e),Jr(e),r&4){if(e.stateNode===null)throw Error(oe(162));a=e.stateNode,s=e.memoizedProps;try{a.nodeValue=s}catch(g){Rt(e,e.return,g)}}break;case 3:if(Pr(t,e),Jr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Gc(t.containerInfo)}catch(g){Rt(e,e.return,g)}break;case 4:Pr(t,e),Jr(e);break;case 13:Pr(t,e),Jr(e),a=e.child,a.flags&8192&&(s=a.memoizedState!==null,a.stateNode.isHidden=s,!s||a.alternate!==null&&a.alternate.memoizedState!==null||(Bx=Lt())),r&4&&Lk(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(wn=(u=wn)||d,Pr(t,e),wn=u):Pr(t,e),Jr(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:Ac(4,h,h.return);break;case 1:ko(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){Rt(r,n,g)}}break;case 5:ko(h,h.return);break;case 22:if(h.memoizedState!==null){Bk(f);continue}}p!==null?(p.return=h,ye=p):Bk(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=NC("display",o))}catch(g){Rt(e,e.return,g)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(g){Rt(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:Pr(t,e),Jr(e),r&4&&Lk(e);break;case 21:break;default:Pr(t,e),Jr(e)}}function Jr(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(QA(n)){var r=n;break e}n=n.return}throw Error(oe(160))}switch(r.tag){case 5:var a=r.stateNode;r.flags&32&&(Fc(a,""),r.flags&=-33);var s=$k(e);ry(e,s,a);break;case 3:case 4:var o=r.stateNode.containerInfo,l=$k(e);ny(e,l,o);break;default:throw Error(oe(161))}}catch(c){Rt(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function CD(e,t,n){ye=e,eT(e)}function eT(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||wn;l=Id;var u=wn;if(Id=o,(wn=c)&&!u)for(ye=a;ye!==null;)o=ye,c=o.child,o.tag===22&&o.memoizedState!==null?zk(a):c!==null?(c.return=o,ye=c):zk(a);for(;s!==null;)ye=s,eT(s),s=s.sibling;ye=a,Id=l,wn=u}Dk(e)}else a.subtreeFlags&8772&&s!==null?(s.return=a,ye=s):Dk(e)}}function Dk(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:wn||wp(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!wn)if(n===null)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Mr(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;s!==null&&kk(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}kk(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&&Gc(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(oe(163))}wn||t.flags&512&&ty(t)}catch(h){Rt(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 Bk(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 zk(e){for(;ye!==null;){var t=ye;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{wp(4,t)}catch(c){Rt(t,n,c)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var a=t.return;try{r.componentDidMount()}catch(c){Rt(t,a,c)}}var s=t.return;try{ty(t)}catch(c){Rt(t,s,c)}break;case 5:var o=t.return;try{ty(t)}catch(c){Rt(t,o,c)}}}catch(c){Rt(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 AD=Math.ceil,Vf=Ha.ReactCurrentDispatcher,Lx=Ha.ReactCurrentOwner,Sr=Ha.ReactCurrentBatchConfig,Ke=0,tn=null,Ut=null,un=0,er=0,So=Pi(0),Kt=0,nu=null,As=0,kp=0,Dx=0,Tc=null,zn=null,Bx=0,Go=1/0,Ea=null,Yf=!1,ay=null,ki=null,$d=!1,fi=null,Xf=0,Oc=0,iy=null,Sf=-1,jf=0;function Rn(){return Ke&6?Lt():Sf!==-1?Sf:Sf=Lt()}function Si(e){return e.mode&1?Ke&2&&un!==0?un&-un:fD.transition!==null?(jf===0&&(jf=DC()),jf):(e=nt,e!==0||(e=window.event,e=e===void 0?16:GC(e.type)),e):1}function Fr(e,t,n,r){if(50<Oc)throw Oc=0,iy=null,Error(oe(185));Ku(e,n,r),(!(Ke&2)||e!==tn)&&(e===tn&&(!(Ke&2)&&(kp|=n),Kt===4&&oi(e,un)),Gn(e,r),n===1&&Ke===0&&!(t.mode&1)&&(Go=Lt()+500,yp&&Ri()))}function Gn(e,t){var n=e.callbackNode;fL(e,t);var r=Rf(e,e===tn?un:0);if(r===0)n!==null&&Y0(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Y0(n),t===1)e.tag===0?dD(Fk.bind(null,e)):uA(Fk.bind(null,e)),oD(function(){!(Ke&6)&&Ri()}),n=null;else{switch(BC(r)){case 1:n=dx;break;case 4:n=$C;break;case 16:n=Pf;break;case 536870912:n=LC;break;default:n=Pf}n=lT(n,tT.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function tT(e,t){if(Sf=-1,jf=0,Ke&6)throw Error(oe(327));var n=e.callbackNode;if(Ro()&&e.callbackNode!==n)return null;var r=Rf(e,e===tn?un:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Qf(e,r);else{t=r;var a=Ke;Ke|=2;var s=rT();(tn!==e||un!==t)&&(Ea=null,Go=Lt()+500,ys(e,t));do try{PD();break}catch(l){nT(e,l)}while(!0);jx(),Vf.current=s,Ke=a,Ut!==null?t=0:(tn=null,un=0,t=Kt)}if(t!==0){if(t===2&&(a=Pv(e),a!==0&&(r=a,t=sy(e,a))),t===1)throw n=nu,ys(e,0),oi(e,r),Gn(e,Lt()),n;if(t===6)oi(e,r);else{if(a=e.current.alternate,!(r&30)&&!TD(a)&&(t=Qf(e,r),t===2&&(s=Pv(e),s!==0&&(r=s,t=sy(e,s))),t===1))throw n=nu,ys(e,0),oi(e,r),Gn(e,Lt()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(oe(345));case 2:ns(e,zn,Ea);break;case 3:if(oi(e,r),(r&130023424)===r&&(t=Bx+500-Lt(),10<t)){if(Rf(e,0)!==0)break;if(a=e.suspendedLanes,(a&r)!==r){Rn(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=zv(ns.bind(null,e,zn,Ea),t);break}ns(e,zn,Ea);break;case 4:if(oi(e,r),(r&4194240)===r)break;for(t=e.eventTimes,a=-1;0<r;){var o=31-zr(r);s=1<<o,o=t[o],o>a&&(a=o),r&=~s}if(r=a,r=Lt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*AD(r/1960))-r,10<r){e.timeoutHandle=zv(ns.bind(null,e,zn,Ea),r);break}ns(e,zn,Ea);break;case 5:ns(e,zn,Ea);break;default:throw Error(oe(329))}}}return Gn(e,Lt()),e.callbackNode===n?tT.bind(null,e):null}function sy(e,t){var n=Tc;return e.current.memoizedState.isDehydrated&&(ys(e,t).flags|=256),e=Qf(e,t),e!==2&&(t=zn,zn=n,t!==null&&oy(t)),e}function oy(e){zn===null?zn=e:zn.push.apply(zn,e)}function TD(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(!Gr(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 oi(e,t){for(t&=~Dx,t&=~kp,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-zr(t),r=1<<n;e[n]=-1,t&=~r}}function Fk(e){if(Ke&6)throw Error(oe(327));Ro();var t=Rf(e,0);if(!(t&1))return Gn(e,Lt()),null;var n=Qf(e,t);if(e.tag!==0&&n===2){var r=Pv(e);r!==0&&(t=r,n=sy(e,r))}if(n===1)throw n=nu,ys(e,0),oi(e,t),Gn(e,Lt()),n;if(n===6)throw Error(oe(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ns(e,zn,Ea),Gn(e,Lt()),null}function zx(e,t){var n=Ke;Ke|=1;try{return e(t)}finally{Ke=n,Ke===0&&(Go=Lt()+500,yp&&Ri())}}function Ts(e){fi!==null&&fi.tag===0&&!(Ke&6)&&Ro();var t=Ke;Ke|=1;var n=Sr.transition,r=nt;try{if(Sr.transition=null,nt=1,e)return e()}finally{nt=r,Sr.transition=n,Ke=t,!(Ke&6)&&Ri()}}function Fx(){er=So.current,xt(So)}function ys(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,sD(n)),Ut!==null)for(n=Ut.return;n!==null;){var r=n;switch(wx(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Df();break;case 3:Wo(),xt(Wn),xt(Nn),Tx();break;case 5:Ax(r);break;case 4:Wo();break;case 13:xt(Nt);break;case 19:xt(Nt);break;case 10:Nx(r.type._context);break;case 22:case 23:Fx()}n=n.return}if(tn=e,Ut=e=ji(e.current,null),un=er=t,Kt=0,nu=null,Dx=kp=As=0,zn=Tc=null,ds!==null){for(t=0;t<ds.length;t++)if(n=ds[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}ds=null}return e}function nT(e,t){do{var n=Ut;try{if(jx(),xf.current=Kf,qf){for(var r=Et.memoizedState;r!==null;){var a=r.queue;a!==null&&(a.pending=null),r=r.next}qf=!1}if(Cs=0,Zt=qt=Et=null,Cc=!1,Jc=0,Lx.current=null,n===null||n.return===null){Kt=1,nu=t,Ut=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=Ck(o);if(p!==null){p.flags&=-257,Ak(p,o,l,s,t),p.mode&1&&_k(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)){_k(s,u,t),Ux();break e}c=Error(oe(426))}}else if(kt&&l.mode&1){var y=Ck(o);if(y!==null){!(y.flags&65536)&&(y.flags|=256),Ak(y,o,l,s,t),kx(Ho(c,l));break e}}s=c=Ho(c,l),Kt!==4&&(Kt=2),Tc===null?Tc=[s]:Tc.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t;var v=BA(s,c,t);wk(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"&&(ki===null||!ki.has(w)))){s.flags|=65536,t&=-t,s.lanes|=t;var N=zA(s,l,t);wk(s,N);break e}}s=s.return}while(s!==null)}iT(n)}catch(k){t=k,Ut===n&&n!==null&&(Ut=n=n.return);continue}break}while(!0)}function rT(){var e=Vf.current;return Vf.current=Kf,e===null?Kf:e}function Ux(){(Kt===0||Kt===3||Kt===2)&&(Kt=4),tn===null||!(As&268435455)&&!(kp&268435455)||oi(tn,un)}function Qf(e,t){var n=Ke;Ke|=2;var r=rT();(tn!==e||un!==t)&&(Ea=null,ys(e,t));do try{OD();break}catch(a){nT(e,a)}while(!0);if(jx(),Ke=n,Vf.current=r,Ut!==null)throw Error(oe(261));return tn=null,un=0,Kt}function OD(){for(;Ut!==null;)aT(Ut)}function PD(){for(;Ut!==null&&!rL();)aT(Ut)}function aT(e){var t=oT(e.alternate,e,er);e.memoizedProps=e.pendingProps,t===null?iT(e):Ut=t,Lx.current=null}function iT(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=ND(n,t),n!==null){n.flags&=32767,Ut=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Kt=6,Ut=null;return}}else if(n=jD(n,t,er),n!==null){Ut=n;return}if(t=t.sibling,t!==null){Ut=t;return}Ut=t=e}while(t!==null);Kt===0&&(Kt=5)}function ns(e,t,n){var r=nt,a=Sr.transition;try{Sr.transition=null,nt=1,RD(e,t,n,r)}finally{Sr.transition=a,nt=r}return null}function RD(e,t,n,r){do Ro();while(fi!==null);if(Ke&6)throw Error(oe(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(oe(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(hL(e,s),e===tn&&(Ut=tn=null,un=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||$d||($d=!0,lT(Pf,function(){return Ro(),null})),s=(n.flags&15990)!==0,n.subtreeFlags&15990||s){s=Sr.transition,Sr.transition=null;var o=nt;nt=1;var l=Ke;Ke|=4,Lx.current=null,_D(e,n),JA(n,e),JL(Dv),Mf=!!Lv,Dv=Lv=null,e.current=n,CD(n),aL(),Ke=l,nt=o,Sr.transition=s}else e.current=n;if($d&&($d=!1,fi=e,Xf=a),s=e.pendingLanes,s===0&&(ki=null),oL(n.stateNode),Gn(e,Lt()),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(Yf)throw Yf=!1,e=ay,ay=null,e;return Xf&1&&e.tag!==0&&Ro(),s=e.pendingLanes,s&1?e===iy?Oc++:(Oc=0,iy=e):Oc=0,Ri(),null}function Ro(){if(fi!==null){var e=BC(Xf),t=Sr.transition,n=nt;try{if(Sr.transition=null,nt=16>e?16:e,fi===null)var r=!1;else{if(e=fi,fi=null,Xf=0,Ke&6)throw Error(oe(331));var a=Ke;for(Ke|=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:Ac(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(XA(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:Ac(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:wp(9,l)}}catch(k){Rt(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(Ke=a,Ri(),oa&&typeof oa.onPostCommitFiberRoot=="function")try{oa.onPostCommitFiberRoot(hp,e)}catch{}r=!0}return r}finally{nt=n,Sr.transition=t}}return!1}function Uk(e,t,n){t=Ho(n,t),t=BA(e,t,1),e=wi(e,t,1),t=Rn(),e!==null&&(Ku(e,1,t),Gn(e,t))}function Rt(e,t,n){if(e.tag===3)Uk(e,e,n);else for(;t!==null;){if(t.tag===3){Uk(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ki===null||!ki.has(r))){e=Ho(n,e),e=zA(t,e,1),t=wi(t,e,1),e=Rn(),t!==null&&(Ku(t,1,e),Gn(t,e));break}}t=t.return}}function MD(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Rn(),e.pingedLanes|=e.suspendedLanes&n,tn===e&&(un&n)===n&&(Kt===4||Kt===3&&(un&130023424)===un&&500>Lt()-Bx?ys(e,0):Dx|=n),Gn(e,t)}function sT(e,t){t===0&&(e.mode&1?(t=Ed,Ed<<=1,!(Ed&130023424)&&(Ed=4194304)):t=1);var n=Rn();e=Ba(e,t),e!==null&&(Ku(e,t,n),Gn(e,n))}function ID(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),sT(e,n)}function $D(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(oe(314))}r!==null&&r.delete(t),sT(e,n)}var oT;oT=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Wn.current)Fn=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Fn=!1,SD(e,t,n);Fn=!!(e.flags&131072)}else Fn=!1,kt&&t.flags&1048576&&dA(t,Ff,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;kf(e,t),e=t.pendingProps;var a=zo(t,Nn.current);Po(t,n),a=Px(null,t,r,e,a,n);var s=Rx();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,Hn(r)?(s=!0,Bf(t)):s=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,_x(t),a.updater=xp,t.stateNode=a,a._reactInternals=t,Kv(t,r,e,n),t=Xv(null,t,r,!0,s,n)):(t.tag=0,kt&&s&&xx(t),Tn(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(kf(e,t),e=t.pendingProps,a=r._init,r=a(r._payload),t.type=r,a=t.tag=DD(r),e=Mr(r,e),a){case 0:t=Yv(null,t,r,e,n);break e;case 1:t=Pk(null,t,r,e,n);break e;case 11:t=Tk(null,t,r,e,n);break e;case 14:t=Ok(null,t,r,Mr(r.type,e),n);break e}throw Error(oe(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Mr(r,a),Yv(e,t,r,a,n);case 1:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Mr(r,a),Pk(e,t,r,a,n);case 3:e:{if(HA(t),e===null)throw Error(oe(387));r=t.pendingProps,s=t.memoizedState,a=s.element,vA(e,t),Hf(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=Ho(Error(oe(423)),t),t=Rk(e,t,r,n,a);break e}else if(r!==a){a=Ho(Error(oe(424)),t),t=Rk(e,t,r,n,a);break e}else for(rr=xi(t.stateNode.containerInfo.firstChild),ar=t,kt=!0,Lr=null,n=mA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fo(),r===a){t=za(e,t,n);break e}Tn(e,t,r,n)}t=t.child}return t;case 5:return yA(t),e===null&&Hv(t),r=t.type,a=t.pendingProps,s=e!==null?e.memoizedProps:null,o=a.children,Bv(r,a)?o=null:s!==null&&Bv(r,s)&&(t.flags|=32),WA(e,t),Tn(e,t,o,n),t.child;case 6:return e===null&&Hv(t),null;case 13:return GA(e,t,n);case 4:return Cx(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Uo(t,null,r,n):Tn(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Mr(r,a),Tk(e,t,r,a,n);case 7:return Tn(e,t,t.pendingProps,n),t.child;case 8:return Tn(e,t,t.pendingProps.children,n),t.child;case 12:return Tn(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,pt(Uf,r._currentValue),r._currentValue=o,s!==null)if(Gr(s.value,o)){if(s.children===a.children&&!Wn.current){t=za(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=Ra(-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),Gv(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(oe(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Gv(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}Tn(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Po(t,n),a=Nr(a),r=r(a),t.flags|=1,Tn(e,t,r,n),t.child;case 14:return r=t.type,a=Mr(r,t.pendingProps),a=Mr(r.type,a),Ok(e,t,r,a,n);case 15:return FA(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Mr(r,a),kf(e,t),t.tag=1,Hn(r)?(e=!0,Bf(t)):e=!1,Po(t,n),DA(t,r,a),Kv(t,r,a,n),Xv(null,t,r,!0,e,n);case 19:return qA(e,t,n);case 22:return UA(e,t,n)}throw Error(oe(156,t.tag))};function lT(e,t){return IC(e,t)}function LD(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 wr(e,t,n,r){return new LD(e,t,n,r)}function Wx(e){return e=e.prototype,!(!e||!e.isReactComponent)}function DD(e){if(typeof e=="function")return Wx(e)?1:0;if(e!=null){if(e=e.$$typeof,e===lx)return 11;if(e===cx)return 14}return 2}function ji(e,t){var n=e.alternate;return n===null?(n=wr(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 Nf(e,t,n,r,a,s){var o=2;if(r=e,typeof e=="function")Wx(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case ho:return bs(n.children,a,s,t);case ox:o=8,a|=8;break;case vv:return e=wr(12,n,t,a|2),e.elementType=vv,e.lanes=s,e;case yv:return e=wr(13,n,t,a),e.elementType=yv,e.lanes=s,e;case bv:return e=wr(19,n,t,a),e.elementType=bv,e.lanes=s,e;case yC:return Sp(n,a,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case gC:o=10;break e;case vC:o=9;break e;case lx:o=11;break e;case cx:o=14;break e;case ri:o=16,r=null;break e}throw Error(oe(130,e==null?e:typeof e,""))}return t=wr(o,n,t,a),t.elementType=e,t.type=r,t.lanes=s,t}function bs(e,t,n,r){return e=wr(7,e,r,t),e.lanes=n,e}function Sp(e,t,n,r){return e=wr(22,e,r,t),e.elementType=yC,e.lanes=n,e.stateNode={isHidden:!1},e}function ng(e,t,n){return e=wr(6,e,null,t),e.lanes=n,e}function rg(e,t,n){return t=wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function BD(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=Lm(0),this.expirationTimes=Lm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lm(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Hx(e,t,n,r,a,s,o,l,c){return e=new BD(e,t,n,l,c),t===1?(t=1,s===!0&&(t|=8)):t=0,s=wr(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},_x(s),e}function zD(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:fo,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function cT(e){if(!e)return Ai;e=e._reactInternals;e:{if(Ds(e)!==e||e.tag!==1)throw Error(oe(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Hn(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(oe(171))}if(e.tag===1){var n=e.type;if(Hn(n))return cA(e,n,t)}return t}function uT(e,t,n,r,a,s,o,l,c){return e=Hx(n,r,!0,e,a,s,o,l,c),e.context=cT(null),n=e.current,r=Rn(),a=Si(n),s=Ra(r,a),s.callback=t??null,wi(n,s,a),e.current.lanes=a,Ku(e,a,r),Gn(e,r),e}function jp(e,t,n,r){var a=t.current,s=Rn(),o=Si(a);return n=cT(n),t.context===null?t.context=n:t.pendingContext=n,t=Ra(s,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=wi(a,t,o),e!==null&&(Fr(e,a,o,s),bf(e,a,o)),o}function Zf(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 Wk(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Gx(e,t){Wk(e,t),(e=e.alternate)&&Wk(e,t)}function FD(){return null}var dT=typeof reportError=="function"?reportError:function(e){console.error(e)};function qx(e){this._internalRoot=e}Np.prototype.render=qx.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(oe(409));jp(e,t,null,null)};Np.prototype.unmount=qx.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ts(function(){jp(null,e,null,null)}),t[Da]=null}};function Np(e){this._internalRoot=e}Np.prototype.unstable_scheduleHydration=function(e){if(e){var t=UC();e={blockedOn:null,target:e,priority:t};for(var n=0;n<si.length&&t!==0&&t<si[n].priority;n++);si.splice(n,0,e),n===0&&HC(e)}};function Kx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ep(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Hk(){}function UD(e,t,n,r,a){if(a){if(typeof r=="function"){var s=r;r=function(){var u=Zf(o);s.call(u)}}var o=uT(t,r,e,0,null,!1,!1,"",Hk);return e._reactRootContainer=o,e[Da]=o.current,Vc(e.nodeType===8?e.parentNode:e),Ts(),o}for(;a=e.lastChild;)e.removeChild(a);if(typeof r=="function"){var l=r;r=function(){var u=Zf(c);l.call(u)}}var c=Hx(e,0,!1,null,null,!1,!1,"",Hk);return e._reactRootContainer=c,e[Da]=c.current,Vc(e.nodeType===8?e.parentNode:e),Ts(function(){jp(t,c,n,r)}),c}function _p(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=Zf(o);l.call(c)}}jp(t,o,e,a)}else o=UD(n,t,e,a,r);return Zf(o)}zC=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=yc(t.pendingLanes);n!==0&&(fx(t,n|1),Gn(t,Lt()),!(Ke&6)&&(Go=Lt()+500,Ri()))}break;case 13:Ts(function(){var r=Ba(e,1);if(r!==null){var a=Rn();Fr(r,e,1,a)}}),Gx(e,1)}};hx=function(e){if(e.tag===13){var t=Ba(e,134217728);if(t!==null){var n=Rn();Fr(t,e,134217728,n)}Gx(e,134217728)}};FC=function(e){if(e.tag===13){var t=Si(e),n=Ba(e,t);if(n!==null){var r=Rn();Fr(n,e,t,r)}Gx(e,t)}};UC=function(){return nt};WC=function(e,t){var n=nt;try{return nt=e,t()}finally{nt=n}};Av=function(e,t,n){switch(t){case"input":if(kv(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=vp(r);if(!a)throw Error(oe(90));xC(r),kv(r,a)}}}break;case"textarea":kC(e,n);break;case"select":t=n.value,t!=null&&Co(e,!!n.multiple,t,!1)}};AC=zx;TC=Ts;var WD={usingClientEntryPoint:!1,Events:[Yu,vo,vp,_C,CC,zx]},tc={findFiberByHostInstance:us,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},HD={bundleType:tc.bundleType,version:tc.version,rendererPackageName:tc.rendererPackageName,rendererConfig:tc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ha.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=RC(e),e===null?null:e.stateNode},findFiberByHostInstance:tc.findFiberByHostInstance||FD,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{hp=Ld.inject(HD),oa=Ld}catch{}}lr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=WD;lr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Kx(t))throw Error(oe(200));return zD(e,t,null,n)};lr.createRoot=function(e,t){if(!Kx(e))throw Error(oe(299));var n=!1,r="",a=dT;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=Hx(e,1,!1,null,null,n,!1,r,a),e[Da]=t.current,Vc(e.nodeType===8?e.parentNode:e),new qx(t)};lr.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(oe(188)):(e=Object.keys(e).join(","),Error(oe(268,e)));return e=RC(t),e=e===null?null:e.stateNode,e};lr.flushSync=function(e){return Ts(e)};lr.hydrate=function(e,t,n){if(!Ep(t))throw Error(oe(200));return _p(null,e,t,!0,n)};lr.hydrateRoot=function(e,t,n){if(!Kx(e))throw Error(oe(405));var r=n!=null&&n.hydratedSources||null,a=!1,s="",o=dT;if(n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=uT(t,null,e,1,n??null,a,!1,s,o),e[Da]=t.current,Vc(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 Np(t)};lr.render=function(e,t,n){if(!Ep(t))throw Error(oe(200));return _p(null,e,t,!1,n)};lr.unmountComponentAtNode=function(e){if(!Ep(e))throw Error(oe(40));return e._reactRootContainer?(Ts(function(){_p(null,null,e,!1,function(){e._reactRootContainer=null,e[Da]=null})}),!0):!1};lr.unstable_batchedUpdates=zx;lr.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Ep(n))throw Error(oe(200));if(e==null||e._reactInternals===void 0)throw Error(oe(38));return _p(e,t,n,!1,r)};lr.version="18.3.1-next-f1338f8080-20240426";function fT(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(fT)}catch(e){console.error(e)}}fT(),fC.exports=lr;var GD=fC.exports,hT,Gk=GD;hT=Gk.createRoot,Gk.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 ru(){return ru=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},ru.apply(null,arguments)}var hi;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(hi||(hi={}));const qk="popstate";function qD(e){e===void 0&&(e={});function t(r,a){let{pathname:s,search:o,hash:l}=r.location;return ly("",{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:Jf(a)}return VD(t,n,null,e)}function _t(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Vx(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function KD(){return Math.random().toString(36).substr(2,8)}function Kk(e,t){return{usr:e.state,key:e.key,idx:t}}function ly(e,t,n,r){return n===void 0&&(n=null),ru({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?bl(t):t,{state:n,key:t&&t.key||r||KD()})}function Jf(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 bl(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 VD(e,t,n,r){r===void 0&&(r={});let{window:a=document.defaultView,v5Compat:s=!1}=r,o=a.history,l=hi.Pop,c=null,u=d();u==null&&(u=0,o.replaceState(ru({},o.state,{idx:u}),""));function d(){return(o.state||{idx:null}).idx}function f(){l=hi.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=hi.Push;let S=ly(g.location,y,v);u=d()+1;let w=Kk(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=hi.Replace;let S=ly(g.location,y,v);u=d();let w=Kk(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:Jf(y);return S=S.replace(/ $/,"%20"),_t(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(qk,f),c=y,()=>{a.removeEventListener(qk,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 Vk;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Vk||(Vk={}));function YD(e,t,n){return n===void 0&&(n="/"),XD(e,t,n)}function XD(e,t,n,r){let a=typeof t=="string"?bl(t):t,s=qo(a.pathname||"/",n);if(s==null)return null;let o=pT(e);QD(o);let l=null,c=l2(s);for(let u=0;l==null&&u<o.length;++u)l=s2(o[u],c);return l}function pT(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("/")&&(_t(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=Ni([r,c.relativePath]),d=n.concat(c);s.children&&s.children.length>0&&(_t(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),pT(s.children,t,d,u)),!(s.path==null&&!s.index)&&t.push({path:u,score:a2(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 mT(s.path))a(s,o,c)}),t}function mT(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=mT(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 QD(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:i2(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const ZD=/^:[\w-]+$/,JD=3,e2=2,t2=1,n2=10,r2=-2,Yk=e=>e==="*";function a2(e,t){let n=e.split("/"),r=n.length;return n.some(Yk)&&(r+=r2),t&&(r+=e2),n.filter(a=>!Yk(a)).reduce((a,s)=>a+(ZD.test(s)?JD:s===""?t2:n2),r)}function i2(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 s2(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=cy({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:Ni([s,f.pathname]),pathnameBase:h2(Ni([s,f.pathnameBase])),route:h}),f.pathnameBase!=="/"&&(s=Ni([s,f.pathnameBase]))}return o}function cy(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=o2(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 o2(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Vx(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 l2(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Vx(!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 qo(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 c2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,u2=e=>c2.test(e);function d2(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?bl(e):e,s;if(n)if(u2(n))s=n;else{if(n.includes("//")){let o=n;n=gT(n),Vx(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+n))}n.startsWith("/")?s=Xk(n.substring(1),"/"):s=Xk(n,t)}else s=t;return{pathname:s,search:p2(r),hash:m2(a)}}function Xk(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 ag(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 f2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Yx(e,t){let n=f2(e);return t?n.map((r,a)=>a===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Xx(e,t,n,r){r===void 0&&(r=!1);let a;typeof e=="string"?a=bl(e):(a=ru({},e),_t(!a.pathname||!a.pathname.includes("?"),ag("?","pathname","search",a)),_t(!a.pathname||!a.pathname.includes("#"),ag("#","pathname","hash",a)),_t(!a.search||!a.search.includes("#"),ag("#","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=d2(a,l),u=o&&o!=="/"&&o.endsWith("/"),d=(s||o===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const gT=e=>e.replace(/\/\/+/g,"/"),Ni=e=>gT(e.join("/")),h2=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),p2=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,m2=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function g2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const vT=["post","put","patch","delete"];new Set(vT);const v2=["get",...vT];new Set(v2);/**
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 au(){return au=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},au.apply(null,arguments)}const Cp=x.createContext(null),yT=x.createContext(null),Ga=x.createContext(null),Ap=x.createContext(null),Mi=x.createContext({outlet:null,matches:[],isDataRoute:!1}),bT=x.createContext(null);function y2(e,t){let{relative:n}=t===void 0?{}:t;xl()||_t(!1);let{basename:r,navigator:a}=x.useContext(Ga),{hash:s,pathname:o,search:l}=Tp(e,{relative:n}),c=o;return r!=="/"&&(c=o==="/"?r:Ni([r,o])),a.createHref({pathname:c,search:l,hash:s})}function xl(){return x.useContext(Ap)!=null}function Ii(){return xl()||_t(!1),x.useContext(Ap).location}function xT(e){x.useContext(Ga).static||x.useLayoutEffect(e)}function Qx(){let{isDataRoute:e}=x.useContext(Mi);return e?O2():b2()}function b2(){xl()||_t(!1);let e=x.useContext(Cp),{basename:t,future:n,navigator:r}=x.useContext(Ga),{matches:a}=x.useContext(Mi),{pathname:s}=Ii(),o=JSON.stringify(Yx(a,n.v7_relativeSplatPath)),l=x.useRef(!1);return xT(()=>{l.current=!0}),x.useCallback(function(u,d){if(d===void 0&&(d={}),!l.current)return;if(typeof u=="number"){r.go(u);return}let f=Xx(u,JSON.parse(o),s,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:Ni([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,o,s,e])}function Tp(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=x.useContext(Ga),{matches:a}=x.useContext(Mi),{pathname:s}=Ii(),o=JSON.stringify(Yx(a,r.v7_relativeSplatPath));return x.useMemo(()=>Xx(e,JSON.parse(o),s,n==="path"),[e,o,s,n])}function x2(e,t){return w2(e,t)}function w2(e,t,n,r){xl()||_t(!1);let{navigator:a}=x.useContext(Ga),{matches:s}=x.useContext(Mi),o=s[s.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let u=Ii(),d;if(t){var f;let y=typeof t=="string"?bl(t):t;c==="/"||(f=y.pathname)!=null&&f.startsWith(c)||_t(!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=YD(e,{pathname:p}),g=E2(m&&m.map(y=>Object.assign({},y,{params:Object.assign({},l,y.params),pathname:Ni([c,a.encodeLocation?a.encodeLocation(y.pathname).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?c:Ni([c,a.encodeLocation?a.encodeLocation(y.pathnameBase).pathname:y.pathnameBase])})),s,n,r);return t&&g?x.createElement(Ap.Provider,{value:{location:au({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:hi.Pop}},g):g}function k2(){let e=T2(),t=g2(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 x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},t),n?x.createElement("pre",{style:a},n):null,null)}const S2=x.createElement(k2,null);class j2 extends x.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,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?x.createElement(Mi.Provider,{value:this.props.routeContext},x.createElement(bT.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function N2(e){let{routeContext:t,match:n,children:r}=e,a=x.useContext(Cp);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),x.createElement(Mi.Provider,{value:t},r)}function E2(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||_t(!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||S2,c&&(u<0&&h===0?(P2("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=x.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,x.createElement(N2,{match:f,routeContext:{outlet:d,matches:v,isDataRoute:n!=null},children:w})};return n&&(f.route.ErrorBoundary||f.route.errorElement||h===0)?x.createElement(j2,{location:n.location,revalidation:n.revalidation,component:g,error:p,children:S(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):S()},null)}var wT=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(wT||{}),kT=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}(kT||{});function _2(e){let t=x.useContext(Cp);return t||_t(!1),t}function C2(e){let t=x.useContext(yT);return t||_t(!1),t}function A2(e){let t=x.useContext(Mi);return t||_t(!1),t}function ST(e){let t=A2(),n=t.matches[t.matches.length-1];return n.route.id||_t(!1),n.route.id}function T2(){var e;let t=x.useContext(bT),n=C2(),r=ST();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function O2(){let{router:e}=_2(wT.UseNavigateStable),t=ST(kT.UseNavigateStable),n=x.useRef(!1);return xT(()=>{n.current=!0}),x.useCallback(function(a,s){s===void 0&&(s={}),n.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,au({fromRouteId:t},s)))},[e,t])}const Qk={};function P2(e,t,n){Qk[e]||(Qk[e]=!0)}function R2(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function Zk(e){let{to:t,replace:n,state:r,relative:a}=e;xl()||_t(!1);let{future:s,static:o}=x.useContext(Ga),{matches:l}=x.useContext(Mi),{pathname:c}=Ii(),u=Qx(),d=Xx(t,Yx(l,s.v7_relativeSplatPath),c,a==="path"),f=JSON.stringify(d);return x.useEffect(()=>u(JSON.parse(f),{replace:n,state:r,relative:a}),[u,f,a,n,r]),null}function qe(e){_t(!1)}function M2(e){let{basename:t="/",children:n=null,location:r,navigationType:a=hi.Pop,navigator:s,static:o=!1,future:l}=e;xl()&&_t(!1);let c=t.replace(/^\/*/,"/"),u=x.useMemo(()=>({basename:c,navigator:s,static:o,future:au({v7_relativeSplatPath:!1},l)}),[c,l,s,o]);typeof r=="string"&&(r=bl(r));let{pathname:d="/",search:f="",hash:h="",state:p=null,key:m="default"}=r,g=x.useMemo(()=>{let y=qo(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:x.createElement(Ga.Provider,{value:u},x.createElement(Ap.Provider,{children:n,value:g}))}function I2(e){let{children:t,location:n}=e;return x2(uy(t),n)}new Promise(()=>{});function uy(e,t){t===void 0&&(t=[]);let n=[];return x.Children.forEach(e,(r,a)=>{if(!x.isValidElement(r))return;let s=[...t,a];if(r.type===x.Fragment){n.push.apply(n,uy(r.props.children,s));return}r.type!==qe&&_t(!1),!r.props.index||!r.props.children||_t(!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=uy(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 eh(){return eh=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},eh.apply(null,arguments)}function jT(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 $2(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function L2(e,t){return e.button===0&&(!t||t==="_self")&&!$2(e)}const D2=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],B2=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],z2="6";try{window.__reactRouterVersion=z2}catch{}const F2=x.createContext({isTransitioning:!1}),U2="startTransition",Jk=M$[U2];function W2(e){let{basename:t,children:n,future:r,window:a}=e,s=x.useRef();s.current==null&&(s.current=qD({window:a,v5Compat:!0}));let o=s.current,[l,c]=x.useState({action:o.action,location:o.location}),{v7_startTransition:u}=r||{},d=x.useCallback(f=>{u&&Jk?Jk(()=>c(f)):c(f)},[c,u]);return x.useLayoutEffect(()=>o.listen(d),[o,d]),x.useEffect(()=>R2(r),[r]),x.createElement(M2,{basename:t,children:n,location:l.location,navigationType:l.action,navigator:o,future:r})}const H2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",G2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Jt=x.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=jT(t,D2),{basename:p}=x.useContext(Ga),m,g=!1;if(typeof u=="string"&&G2.test(u)&&(m=u,H2))try{let w=new URL(window.location.href),N=u.startsWith("//")?new URL(w.protocol+u):new URL(u),k=qo(N.pathname,p);N.origin===w.origin&&k!=null?u=k+N.search+N.hash:g=!0}catch{}let y=y2(u,{relative:a}),v=K2(u,{replace:o,state:l,target:c,preventScrollReset:d,relative:a,viewTransition:f});function S(w){r&&r(w),w.defaultPrevented||v(w)}return x.createElement("a",eh({},h,{href:m||y,onClick:g||s?r:S,ref:n,target:c}))}),eS=x.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=jT(t,B2),h=Tp(c,{relative:f.relative}),p=Ii(),m=x.useContext(yT),{navigator:g,basename:y}=x.useContext(Ga),v=m!=null&&V2(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=qo(N,y)||N);const k=S!=="/"&&S.endsWith("/")?S.length-1:S.length;let b=w===S||!o&&w.startsWith(S)&&w.charAt(k)==="/",j=N!=null&&(N===S||!o&&N.startsWith(S)&&N.charAt(S.length)==="/"),E={isActive:b,isPending:j,isTransitioning:v},P=b?r:void 0,_;typeof s=="function"?_=s(E):_=[s,b?"active":null,j?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let A=typeof l=="function"?l(E):l;return x.createElement(Jt,eh({},f,{"aria-current":P,className:_,ref:n,style:A,to:c,viewTransition:u}),typeof d=="function"?d(E):d)});var dy;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(dy||(dy={}));var tS;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(tS||(tS={}));function q2(e){let t=x.useContext(Cp);return t||_t(!1),t}function K2(e,t){let{target:n,replace:r,state:a,preventScrollReset:s,relative:o,viewTransition:l}=t===void 0?{}:t,c=Qx(),u=Ii(),d=Tp(e,{relative:o});return x.useCallback(f=>{if(L2(f,n)){f.preventDefault();let h=r!==void 0?r:Jf(u)===Jf(d);c(e,{replace:h,state:a,preventScrollReset:s,relative:o,viewTransition:l})}},[u,c,d,r,a,n,e,s,o,l])}function V2(e,t){t===void 0&&(t={});let n=x.useContext(F2);n==null&&_t(!1);let{basename:r}=q2(dy.useViewTransitionState),a=Tp(e,{relative:t.relative});if(!n.isTransitioning)return!1;let s=qo(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=qo(n.nextLocation.pathname,r)||n.nextLocation.pathname;return cy(a.pathname,o)!=null||cy(a.pathname,s)!=null}async function st(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 jo="buff-dashboard-admin-token";function NT(){try{if(typeof window<"u"&&window.localStorage)return window.localStorage}catch{}return null}function Y2(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 X2(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 Q2(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 fy=new Map;function Z2(){const e=NT();if(e)try{const t=e.getItem(jo);if(t)return t}catch{}return fy.get(jo)??null}function J2(e){const t=NT();if(t)try{e?t.setItem(jo,e):t.removeItem(jo);return}catch{}e?fy.set(jo,e):fy.delete(jo)}function Xt(){return Z2()}let hy=0;const py=new Set;function eB(){return hy}function tB(e){return py.add(e),()=>{py.delete(e)}}function nB(){hy+=1;for(const e of py)try{e(hy)}catch{}}function ig(e){J2(e),nB()}function mt(){const e=Xt();return e?{Authorization:`Bearer ${e}`}:{}}class rB{constructor(t=""){Zr(this,"sse",null);Zr(this,"listeners",new Set);Zr(this,"connectionListeners",new Set);Zr(this,"dagListeners",new Set);Zr(this,"typingListeners",new Set);Zr(this,"chatRetryListeners",new Set);Zr(this,"reconnectTimer",null);Zr(this,"baseUrl");Zr(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(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 st(n);return r&&Array.isArray(r.steps)?r:null}catch{return null}}async sendAdminRequest(t,n,r){try{const a=Xt(),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"?(ig(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"?(ig(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"),ig(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:mt(),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",...mt()},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",...mt()},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",...mt()},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:mt()})).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",...mt()},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",...mt()},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=Xt(),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=Xt(),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=Xt(),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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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=Xt();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}:{},...Y2(l.worktree)?{worktree:l.worktree}:{},...X2(l.resume)?{resume:l.resume}:{},...Array.isArray(l.findings)?{findings:l.findings}:{},...Q2(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,error:"The dashboard stopped waiting after 5 minutes — the turn is STILL RUNNING on the server. Reopen this conversation (or watch Traces) to see the result when it lands."}: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=Xt();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=Xt(),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;try{const l=JSON.parse(s.data);l.status&&((o=n.onStatus)==null||o.call(n,l.status))}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",...mt()},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:{...mt()}})).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:{...mt()}})).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",...mt()},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:{...mt()}}),n=await st(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",...mt()},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",...mt()},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:{...mt()}}),n=await st(t);return(n==null?void 0:n.vars)??[]}catch{return[]}}async fetchLimits(){try{const t=await fetch(`${this.baseUrl}/api/limits`),n=await st(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:{...mt()}}),n=await st(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",...mt()},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:{...mt()}});return await st(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",...mt()},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:{...mt()}});return await st(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",...mt()},body:JSON.stringify({count:t})}),r=await st(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",...mt()},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",...mt()},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:{...mt()}}),n=await st(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",...mt()},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 rB;async function aB(e=!1){const t=await K.sendAdminRequest(`/api/mcp${e?"?deep=1":""}`,"GET");return!t||t.status!==200?null:t.data}async function iB(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 sB(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 oB(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 lB(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 iu=["enterprise","neutral","pastel","executive","contrast","premium","premium-amoled"],Op=["light","dark"],Zx=[100,112,125,150],th={enterprise:"Enterprise",neutral:"Neutral",pastel:"Pastel",executive:"Executive",contrast:"High contrast",premium:"Premium","premium-amoled":"Premium AMOLED"},ET="nuvira.dashboard.theme",nS={palette:"enterprise",mode:"dark",a11y:!1,fontScale:100};function Mo(e,t){return e.includes(t)}function cB(){return typeof window>"u"||typeof window.matchMedia!="function"?null:window.matchMedia("(prefers-color-scheme: dark)").matches}function _T(){const e=cB();return e===null?{...nS}:{...nS,mode:e?"dark":"light"}}function CT(){const e=_T();if(typeof localStorage>"u")return e;let t;try{const a=localStorage.getItem(ET);if(!a)return e;t=JSON.parse(a)}catch{return e}if(typeof t!="object"||t===null)return e;const n=t,r=Mo(Zx,n.fontScale)?n.fontScale:e.fontScale;return{palette:Mo(iu,n.palette)?n.palette:e.palette,mode:Mo(Op,n.mode)?n.mode:e.mode,a11y:typeof n.a11y=="boolean"?n.a11y:e.a11y,fontScale:r}}function AT(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(ET,JSON.stringify(e))}catch{}}function Jx(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 uB(e,t){const n={palette:Mo(iu,t.palette)?t.palette:e.palette,mode:Mo(Op,t.mode)?t.mode:e.mode,a11y:t.a11y??e.a11y,fontScale:Mo(Zx,t.fontScale)?t.fontScale:e.fontScale};return n.a11y||(n.fontScale=100),n}let vr=CT();const my=new Set;function TT(){for(const e of my)e()}function dB(e){return my.add(e),()=>{my.delete(e)}}function rS(){return vr}function Dd(e){const t=uB(vr,e);t.palette===vr.palette&&t.mode===vr.mode&&t.a11y===vr.a11y&&t.fontScale===vr.fontScale||(vr=t,Jx(vr),AT(vr),TT())}function fB(){vr=_T(),Jx(vr),AT(vr),TT()}function hB(){return x.useSyncExternalStore(dB,rS,rS)}const aS={light:"Light",dark:"Dark"},iS={100:"100%",112:"112%",125:"125%",150:"150%"};function pB(){const e=hB(),[t,n]=x.useState(!1),r=x.useRef(null),a=x.useRef(null),s=x.useRef(null),o=x.useId(),l=`${o}-panel`;x.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]),x.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=`${th[e.palette]} palette, ${aS[e.mode].toLowerCase()} mode, text size ${iS[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"}),iu.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:th[u]})]},u))]}),i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Mode"}),Op.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:aS[u]})]},u))]}),i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Text size"}),Zx.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:iS[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:fB,children:"Reset to system default"}),i.jsx("p",{className:"sr-only",role:"status",children:c})]})]})}function mB(){const[e,t]=x.useState(null),[n,r]=x.useState(!1),[a,s]=x.useState(""),[o,l]=x.useState(""),[c,u]=x.useState(!1),[d,f]=x.useState(null),h=x.useRef(null),p=x.useCallback(()=>{K.fetchAdminAuthStatus().then(w=>t(w))},[]);x.useEffect(()=>{p()},[p]),x.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 OT=[{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"}]}],gB={c:"/chat",o:"/overview",t:"/tasks",m:"/models",s:"/system",h:"/hub"};function vB(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 yB({open:e,onClose:t}){const n=x.useId(),r=x.useRef(null),a=x.useRef(null);return x.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"})]}),OT.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 PT=[{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:"❓"}],gy=[{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 bB(e){const t=e.trim().toLowerCase();return t?gy.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):gy}function xB({children:e,connected:t,lastUpdated:n,onRefresh:r,refreshing:a=!1}){const[s,o]=x.useState(!1),[l,c]=x.useState(""),[u,d]=x.useState(!1),f=x.useRef(null),h=x.useRef(null),p=x.useRef(0),m=x.useId(),g=Ii(),y=Qx(),v=t?"connected":"reconnecting",S=t?"Connected":"Reconnecting...",w=bB(l),N=()=>o(!1);return x.useEffect(()=>{function k(b){var j,E;if(!(b.metaKey||b.ctrlKey||b.altKey)&&!vB(b.target)){if(b.key==="Escape"){if(u)return;s&&(o(!1),(j=f.current)==null||j.focus());return}if(b.key==="?"){b.preventDefault(),d(!0);return}if(b.key==="F1"){b.preventDefault(),y("/help");return}if(b.key==="/"){b.preventDefault(),(E=h.current)==null||E.focus();return}if(b.key==="["){b.preventDefault(),o(P=>!P);return}if(b.key==="g"){p.current=Date.now();return}if(Date.now()-p.current<1500){const P=gB[b.key.toLowerCase()];p.current=0,P&&(b.preventDefault(),y(P))}}}return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[s,u,y]),x.useEffect(()=>{var k;s&&((k=h.current)==null||k.focus())},[s]),x.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:PT.map(k=>i.jsxs(eS,{to:k.path,end:!0,className:({isActive:b})=>`primary-link${b?" 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(pB,{}),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(mB,{})]})]}),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(b=>i.jsxs(eS,{to:b.path,end:b.path==="/",className:({isActive:j})=>`nav-link${j?" active":""}`,children:[i.jsx("span",{className:"nav-icon","aria-hidden":"true",children:b.icon}),b.label]},b.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(yB,{open:u,onClose:()=>d(!1)})]})}function RT(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=RT(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Xe(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=RT(e))&&(r&&(r+=" "),r+=t);return r}var wB=Array.isArray,qn=wB,kB=typeof ui=="object"&&ui&&ui.Object===Object&&ui,MT=kB,SB=MT,jB=typeof self=="object"&&self&&self.Object===Object&&self,NB=SB||jB||Function("return this")(),ha=NB,EB=ha,_B=EB.Symbol,Qu=_B,sS=Qu,IT=Object.prototype,CB=IT.hasOwnProperty,AB=IT.toString,nc=sS?sS.toStringTag:void 0;function TB(e){var t=CB.call(e,nc),n=e[nc];try{e[nc]=void 0;var r=!0}catch{}var a=AB.call(e);return r&&(t?e[nc]=n:delete e[nc]),a}var OB=TB,PB=Object.prototype,RB=PB.toString;function MB(e){return RB.call(e)}var IB=MB,oS=Qu,$B=OB,LB=IB,DB="[object Null]",BB="[object Undefined]",lS=oS?oS.toStringTag:void 0;function zB(e){return e==null?e===void 0?BB:DB:lS&&lS in Object(e)?$B(e):LB(e)}var qa=zB;function FB(e){return e!=null&&typeof e=="object"}var Ka=FB,UB=qa,WB=Ka,HB="[object Symbol]";function GB(e){return typeof e=="symbol"||WB(e)&&UB(e)==HB}var wl=GB,qB=qn,KB=wl,VB=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,YB=/^\w*$/;function XB(e,t){if(qB(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||KB(e)?!0:YB.test(e)||!VB.test(e)||t!=null&&e in Object(t)}var ew=XB;function QB(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var $i=QB;const kl=Je($i);var ZB=qa,JB=$i,ez="[object AsyncFunction]",tz="[object Function]",nz="[object GeneratorFunction]",rz="[object Proxy]";function az(e){if(!JB(e))return!1;var t=ZB(e);return t==tz||t==nz||t==ez||t==rz}var tw=az;const Fe=Je(tw);var iz=ha,sz=iz["__core-js_shared__"],oz=sz,sg=oz,cS=function(){var e=/[^.]+$/.exec(sg&&sg.keys&&sg.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lz(e){return!!cS&&cS in e}var cz=lz,uz=Function.prototype,dz=uz.toString;function fz(e){if(e!=null){try{return dz.call(e)}catch{}try{return e+""}catch{}}return""}var $T=fz,hz=tw,pz=cz,mz=$i,gz=$T,vz=/[\\^$.*+?()[\]{}|]/g,yz=/^\[object .+?Constructor\]$/,bz=Function.prototype,xz=Object.prototype,wz=bz.toString,kz=xz.hasOwnProperty,Sz=RegExp("^"+wz.call(kz).replace(vz,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function jz(e){if(!mz(e)||pz(e))return!1;var t=hz(e)?Sz:yz;return t.test(gz(e))}var Nz=jz;function Ez(e,t){return e==null?void 0:e[t]}var _z=Ez,Cz=Nz,Az=_z;function Tz(e,t){var n=Az(e,t);return Cz(n)?n:void 0}var Bs=Tz,Oz=Bs,Pz=Oz(Object,"create"),Pp=Pz,uS=Pp;function Rz(){this.__data__=uS?uS(null):{},this.size=0}var Mz=Rz;function Iz(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var $z=Iz,Lz=Pp,Dz="__lodash_hash_undefined__",Bz=Object.prototype,zz=Bz.hasOwnProperty;function Fz(e){var t=this.__data__;if(Lz){var n=t[e];return n===Dz?void 0:n}return zz.call(t,e)?t[e]:void 0}var Uz=Fz,Wz=Pp,Hz=Object.prototype,Gz=Hz.hasOwnProperty;function qz(e){var t=this.__data__;return Wz?t[e]!==void 0:Gz.call(t,e)}var Kz=qz,Vz=Pp,Yz="__lodash_hash_undefined__";function Xz(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Vz&&t===void 0?Yz:t,this}var Qz=Xz,Zz=Mz,Jz=$z,eF=Uz,tF=Kz,nF=Qz;function Sl(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])}}Sl.prototype.clear=Zz;Sl.prototype.delete=Jz;Sl.prototype.get=eF;Sl.prototype.has=tF;Sl.prototype.set=nF;var rF=Sl;function aF(){this.__data__=[],this.size=0}var iF=aF;function sF(e,t){return e===t||e!==e&&t!==t}var nw=sF,oF=nw;function lF(e,t){for(var n=e.length;n--;)if(oF(e[n][0],t))return n;return-1}var Rp=lF,cF=Rp,uF=Array.prototype,dF=uF.splice;function fF(e){var t=this.__data__,n=cF(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():dF.call(t,n,1),--this.size,!0}var hF=fF,pF=Rp;function mF(e){var t=this.__data__,n=pF(t,e);return n<0?void 0:t[n][1]}var gF=mF,vF=Rp;function yF(e){return vF(this.__data__,e)>-1}var bF=yF,xF=Rp;function wF(e,t){var n=this.__data__,r=xF(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var kF=wF,SF=iF,jF=hF,NF=gF,EF=bF,_F=kF;function jl(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])}}jl.prototype.clear=SF;jl.prototype.delete=jF;jl.prototype.get=NF;jl.prototype.has=EF;jl.prototype.set=_F;var Mp=jl,CF=Bs,AF=ha,TF=CF(AF,"Map"),rw=TF,dS=rF,OF=Mp,PF=rw;function RF(){this.size=0,this.__data__={hash:new dS,map:new(PF||OF),string:new dS}}var MF=RF;function IF(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var $F=IF,LF=$F;function DF(e,t){var n=e.__data__;return LF(t)?n[typeof t=="string"?"string":"hash"]:n.map}var Ip=DF,BF=Ip;function zF(e){var t=BF(this,e).delete(e);return this.size-=t?1:0,t}var FF=zF,UF=Ip;function WF(e){return UF(this,e).get(e)}var HF=WF,GF=Ip;function qF(e){return GF(this,e).has(e)}var KF=qF,VF=Ip;function YF(e,t){var n=VF(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var XF=YF,QF=MF,ZF=FF,JF=HF,eU=KF,tU=XF;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=QF;Nl.prototype.delete=ZF;Nl.prototype.get=JF;Nl.prototype.has=eU;Nl.prototype.set=tU;var aw=Nl,LT=aw,nU="Expected a function";function iw(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(nU);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(iw.Cache||LT),n}iw.Cache=LT;var DT=iw;const rU=Je(DT);var aU=DT,iU=500;function sU(e){var t=aU(e,function(r){return n.size===iU&&n.clear(),r}),n=t.cache;return t}var oU=sU,lU=oU,cU=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,uU=/\\(\\)?/g,dU=lU(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(cU,function(n,r,a,s){t.push(a?s.replace(uU,"$1"):r||n)}),t}),fU=dU;function hU(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 sw=hU,fS=Qu,pU=sw,mU=qn,gU=wl,hS=fS?fS.prototype:void 0,pS=hS?hS.toString:void 0;function BT(e){if(typeof e=="string")return e;if(mU(e))return pU(e,BT)+"";if(gU(e))return pS?pS.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var vU=BT,yU=vU;function bU(e){return e==null?"":yU(e)}var zT=bU,xU=qn,wU=ew,kU=fU,SU=zT;function jU(e,t){return xU(e)?e:wU(e,t)?[e]:kU(SU(e))}var FT=jU,NU=wl;function EU(e){if(typeof e=="string"||NU(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var $p=EU,_U=FT,CU=$p;function AU(e,t){t=_U(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[CU(t[n++])];return n&&n==r?e:void 0}var ow=AU,TU=ow;function OU(e,t,n){var r=e==null?void 0:TU(e,t);return r===void 0?n:r}var UT=OU;const jr=Je(UT);function PU(e){return e==null}var RU=PU;const Qe=Je(RU);var MU=qa,IU=qn,$U=Ka,LU="[object String]";function DU(e){return typeof e=="string"||!IU(e)&&$U(e)&&MU(e)==LU}var BU=DU;const Os=Je(BU);var WT={exports:{}},rt={};/**
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 lw=Symbol.for("react.element"),cw=Symbol.for("react.portal"),Lp=Symbol.for("react.fragment"),Dp=Symbol.for("react.strict_mode"),Bp=Symbol.for("react.profiler"),zp=Symbol.for("react.provider"),Fp=Symbol.for("react.context"),zU=Symbol.for("react.server_context"),Up=Symbol.for("react.forward_ref"),Wp=Symbol.for("react.suspense"),Hp=Symbol.for("react.suspense_list"),Gp=Symbol.for("react.memo"),qp=Symbol.for("react.lazy"),FU=Symbol.for("react.offscreen"),HT;HT=Symbol.for("react.module.reference");function Cr(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case lw:switch(e=e.type,e){case Lp:case Bp:case Dp:case Wp:case Hp:return e;default:switch(e=e&&e.$$typeof,e){case zU:case Fp:case Up:case qp:case Gp:case zp:return e;default:return t}}case cw:return t}}}rt.ContextConsumer=Fp;rt.ContextProvider=zp;rt.Element=lw;rt.ForwardRef=Up;rt.Fragment=Lp;rt.Lazy=qp;rt.Memo=Gp;rt.Portal=cw;rt.Profiler=Bp;rt.StrictMode=Dp;rt.Suspense=Wp;rt.SuspenseList=Hp;rt.isAsyncMode=function(){return!1};rt.isConcurrentMode=function(){return!1};rt.isContextConsumer=function(e){return Cr(e)===Fp};rt.isContextProvider=function(e){return Cr(e)===zp};rt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===lw};rt.isForwardRef=function(e){return Cr(e)===Up};rt.isFragment=function(e){return Cr(e)===Lp};rt.isLazy=function(e){return Cr(e)===qp};rt.isMemo=function(e){return Cr(e)===Gp};rt.isPortal=function(e){return Cr(e)===cw};rt.isProfiler=function(e){return Cr(e)===Bp};rt.isStrictMode=function(e){return Cr(e)===Dp};rt.isSuspense=function(e){return Cr(e)===Wp};rt.isSuspenseList=function(e){return Cr(e)===Hp};rt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Lp||e===Bp||e===Dp||e===Wp||e===Hp||e===FU||typeof e=="object"&&e!==null&&(e.$$typeof===qp||e.$$typeof===Gp||e.$$typeof===zp||e.$$typeof===Fp||e.$$typeof===Up||e.$$typeof===HT||e.getModuleId!==void 0)};rt.typeOf=Cr;WT.exports=rt;var UU=WT.exports,WU=qa,HU=Ka,GU="[object Number]";function qU(e){return typeof e=="number"||HU(e)&&WU(e)==GU}var GT=qU;const KU=Je(GT);var VU=GT;function YU(e){return VU(e)&&e!=+e}var XU=YU;const Zu=Je(XU);var Br=function(t){return t===0?0:t>0?1:-1},hs=function(t){return Os(t)&&t.indexOf("%")===t.length-1},fe=function(t){return KU(t)&&!Zu(t)},QU=function(t){return Qe(t)},Vt=function(t){return fe(t)||Os(t)},ZU=0,Kp=function(t){var n=++ZU;return"".concat(t||"").concat(n)},Ps=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(!fe(t)&&!Os(t))return r;var s;if(hs(t)){var o=t.indexOf("%");s=n*parseFloat(t.slice(0,o))/100}else s=+t;return Zu(s)&&(s=r),a&&s>n&&(s=n),s},li=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},JU=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},Js=function(t,n){return fe(t)&&fe(n)?function(r){return t+r*(n-t)}:function(){return n}};function vy(e,t,n){return!e||!e.length?null:e.find(function(r){return r&&(typeof t=="function"?t(r):jr(r,t))===n})}var e3=function(t,n){return fe(t)&&fe(n)?t-n:Os(t)&&Os(n)?t.localeCompare(n):t instanceof Date&&n instanceof Date?t.getTime()-n.getTime():String(t).localeCompare(String(n))};function Io(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 yy(e){"@babel/helpers - typeof";return yy=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},yy(e)}var t3=["viewBox","children"],n3=["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"],mS=["points","pathLength"],og={svg:t3,polygon:mS,polyline:mS},uw=["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"],nh=function(t,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var r=t;if(x.isValidElement(t)&&(r=t.props),!kl(r))return null;var a={};return Object.keys(r).forEach(function(s){uw.includes(s)&&(a[s]=n||function(o){return r[s](r,o)})}),a},r3=function(t,n,r){return function(a){return t(n,r,a),null}},rh=function(t,n,r){if(!kl(t)||yy(t)!=="object")return null;var a=null;return Object.keys(t).forEach(function(s){var o=t[s];uw.includes(s)&&typeof o=="function"&&(a||(a={}),a[s]=r3(o,n,r))}),a},a3=["children"],i3=["children"];function gS(e,t){if(e==null)return{};var n=s3(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 s3(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 vS={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"},Ma=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},yS=null,lg=null,dw=function e(t){if(t===yS&&Array.isArray(lg))return lg;var n=[];return x.Children.forEach(t,function(r){Qe(r)||(UU.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),lg=n,yS=t,n};function Ur(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(a){return Ma(a)}):r=[Ma(t)],dw(e).forEach(function(a){var s=jr(a,"type.displayName")||jr(a,"type.name");r.indexOf(s)!==-1&&n.push(a)}),n}function tr(e,t){var n=Ur(e,t);return n&&n[0]}var bS=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,a=n.height;return!(!fe(r)||r<=0||!fe(a)||a<=0)},o3=["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"],l3=function(t){return t&&t.type&&Os(t.type)&&o3.indexOf(t.type)>=0},c3=function(t,n,r,a){var s,o=(s=og==null?void 0:og[a])!==null&&s!==void 0?s:[];return n.startsWith("data-")||!Fe(t)&&(a&&o.includes(n)||n3.includes(n))||r&&uw.includes(n)},Ye=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(x.isValidElement(t)&&(a=t.props),!kl(a))return null;var s={};return Object.keys(a).forEach(function(o){var l;c3((l=a)===null||l===void 0?void 0:l[o],o,n,r)&&(s[o]=a[o])}),s},by=function e(t,n){if(t===n)return!0;var r=x.Children.count(t);if(r!==x.Children.count(n))return!1;if(r===0)return!0;if(r===1)return xS(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(!xS(s,o))return!1}return!0},xS=function(t,n){if(Qe(t)&&Qe(n))return!0;if(!Qe(t)&&!Qe(n)){var r=t.props||{},a=r.children,s=gS(r,a3),o=n.props||{},l=o.children,c=gS(o,i3);return a&&l?Io(s,c)&&by(a,l):!a&&!l?Io(s,c):!1}return!1},wS=function(t,n){var r=[],a={};return dw(t).forEach(function(s,o){if(l3(s))r.push(s);else if(s){var l=Ma(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},u3=function(t){var n=t&&t.type;return n&&vS[n]?vS[n]:null},d3=function(t,n){return dw(n).indexOf(t)},f3=["children","width","height","viewBox","className","style","title","desc"];function xy(){return xy=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},xy.apply(this,arguments)}function h3(e,t){if(e==null)return{};var n=p3(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 p3(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 wy(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=h3(e,f3),d=a||{width:n,height:r,x:0,y:0},f=Xe("recharts-surface",s);return V.createElement("svg",xy({},Ye(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 m3=["children","className"];function ky(){return ky=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},ky.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}var en=V.forwardRef(function(e,t){var n=e.children,r=e.className,a=g3(e,m3),s=Xe("recharts-layer",r);return V.createElement("g",ky({className:s},Ye(a,!0),{ref:t}),n)}),Ia=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 y3(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 b3=y3,x3=b3;function w3(e,t,n){var r=e.length;return n=n===void 0?r:n,!t&&n>=r?e:x3(e,t,n)}var k3=w3,S3="\\ud800-\\udfff",j3="\\u0300-\\u036f",N3="\\ufe20-\\ufe2f",E3="\\u20d0-\\u20ff",_3=j3+N3+E3,C3="\\ufe0e\\ufe0f",A3="\\u200d",T3=RegExp("["+A3+S3+_3+C3+"]");function O3(e){return T3.test(e)}var qT=O3;function P3(e){return e.split("")}var R3=P3,KT="\\ud800-\\udfff",M3="\\u0300-\\u036f",I3="\\ufe20-\\ufe2f",$3="\\u20d0-\\u20ff",L3=M3+I3+$3,D3="\\ufe0e\\ufe0f",B3="["+KT+"]",Sy="["+L3+"]",jy="\\ud83c[\\udffb-\\udfff]",z3="(?:"+Sy+"|"+jy+")",VT="[^"+KT+"]",YT="(?:\\ud83c[\\udde6-\\uddff]){2}",XT="[\\ud800-\\udbff][\\udc00-\\udfff]",F3="\\u200d",QT=z3+"?",ZT="["+D3+"]?",U3="(?:"+F3+"(?:"+[VT,YT,XT].join("|")+")"+ZT+QT+")*",W3=ZT+QT+U3,H3="(?:"+[VT+Sy+"?",Sy,YT,XT,B3].join("|")+")",G3=RegExp(jy+"(?="+jy+")|"+H3+W3,"g");function q3(e){return e.match(G3)||[]}var K3=q3,V3=R3,Y3=qT,X3=K3;function Q3(e){return Y3(e)?X3(e):V3(e)}var Z3=Q3,J3=k3,e4=qT,t4=Z3,n4=zT;function r4(e){return function(t){t=n4(t);var n=e4(t)?t4(t):void 0,r=n?n[0]:t.charAt(0),a=n?J3(n,1).join(""):t.slice(1);return r[e]()+a}}var a4=r4,i4=a4,s4=i4("toUpperCase"),o4=s4;const Vp=Je(o4);function ht(e){return function(){return e}}const JT=Math.cos,ah=Math.sin,qr=Math.sqrt,ih=Math.PI,Yp=2*ih,Ny=Math.PI,Ey=2*Ny,rs=1e-6,l4=Ey-rs;function eO(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function c4(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return eO;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 u4{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?eO:c4(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>rs)if(!(Math.abs(f*c-u*d)>rs)||!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((Ny-Math.acos((g+h-y)/(2*v*S)))/2),N=w/S,k=w/v;Math.abs(N-1)>rs&&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)>rs||Math.abs(this._y1-d)>rs)&&this._append`L${u},${d}`,r&&(h<0&&(h=h%Ey+Ey),h>l4?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>rs&&this._append`A${r},${r},0,${+(h>=Ny)},${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 fw(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 u4(t)}function hw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function tO(e){this._context=e}tO.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 Xp(e){return new tO(e)}function nO(e){return e[0]}function rO(e){return e[1]}function aO(e,t){var n=ht(!0),r=null,a=Xp,s=null,o=fw(l);e=typeof e=="function"?e:e===void 0?nO:ht(e),t=typeof t=="function"?t:t===void 0?rO:ht(t);function l(c){var u,d=(c=hw(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:ht(+c),l):e},l.y=function(c){return arguments.length?(t=typeof c=="function"?c:ht(+c),l):t},l.defined=function(c){return arguments.length?(n=typeof c=="function"?c:ht(!!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=ht(!0),s=null,o=Xp,l=null,c=fw(u);e=typeof e=="function"?e:e===void 0?nO:ht(+e),t=typeof t=="function"?t:ht(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?rO:ht(+n);function u(f){var h,p,m,g=(f=hw(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 aO().defined(a).curve(o).context(s)}return u.x=function(f){return arguments.length?(e=typeof f=="function"?f:ht(+f),r=null,u):e},u.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ht(+f),u):e},u.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ht(+f),u):r},u.y=function(f){return arguments.length?(t=typeof f=="function"?f:ht(+f),n=null,u):t},u.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ht(+f),u):t},u.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ht(+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:ht(!!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 iO{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 d4(e){return new iO(e,!0)}function f4(e){return new iO(e,!1)}const pw={draw(e,t){const n=qr(t/ih);e.moveTo(n,0),e.arc(0,0,n,0,Yp)}},h4={draw(e,t){const n=qr(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()}},sO=qr(1/3),p4=sO*2,m4={draw(e,t){const n=qr(t/p4),r=n*sO;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},g4={draw(e,t){const n=qr(t),r=-n/2;e.rect(r,r,n,n)}},v4=.8908130915292852,oO=ah(ih/10)/ah(7*ih/10),y4=ah(Yp/10)*oO,b4=-JT(Yp/10)*oO,x4={draw(e,t){const n=qr(t*v4),r=y4*n,a=b4*n;e.moveTo(0,-n),e.lineTo(r,a);for(let s=1;s<5;++s){const o=Yp*s/5,l=JT(o),c=ah(o);e.lineTo(c*n,-l*n),e.lineTo(l*r-c*a,c*r+l*a)}e.closePath()}},cg=qr(3),w4={draw(e,t){const n=-qr(t/(cg*3));e.moveTo(0,n*2),e.lineTo(-cg*n,-n),e.lineTo(cg*n,-n),e.closePath()}},pr=-.5,mr=qr(3)/2,_y=1/qr(12),k4=(_y/2+1)*3,S4={draw(e,t){const n=qr(t/k4),r=n/2,a=n*_y,s=r,o=n*_y+n,l=-s,c=o;e.moveTo(r,a),e.lineTo(s,o),e.lineTo(l,c),e.lineTo(pr*r-mr*a,mr*r+pr*a),e.lineTo(pr*s-mr*o,mr*s+pr*o),e.lineTo(pr*l-mr*c,mr*l+pr*c),e.lineTo(pr*r+mr*a,pr*a-mr*r),e.lineTo(pr*s+mr*o,pr*o-mr*s),e.lineTo(pr*l+mr*c,pr*c-mr*l),e.closePath()}};function j4(e,t){let n=null,r=fw(a);e=typeof e=="function"?e:ht(e||pw),t=typeof t=="function"?t:ht(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:ht(s),a):e},a.size=function(s){return arguments.length?(t=typeof s=="function"?s:ht(+s),a):t},a.context=function(s){return arguments.length?(n=s??null,a):n},a}function sh(){}function oh(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 lO(e){this._context=e}lO.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:oh(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:oh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function N4(e){return new lO(e)}function cO(e){this._context=e}cO.prototype={areaStart:sh,areaEnd:sh,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:oh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function E4(e){return new cO(e)}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(){(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:oh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function _4(e){return new uO(e)}function dO(e){this._context=e}dO.prototype={areaStart:sh,areaEnd:sh,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 C4(e){return new dO(e)}function kS(e){return e<0?-1:1}function SS(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(kS(s)+kS(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(l))||0}function jS(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function ug(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 lh(e){this._context=e}lh.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:ug(this,this._t0,jS(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,ug(this,jS(this,n=SS(this,e,t)),n);break;default:ug(this,this._t0,n=SS(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function fO(e){this._context=new hO(e)}(fO.prototype=Object.create(lh.prototype)).point=function(e,t){lh.prototype.point.call(this,t,e)};function hO(e){this._context=e}hO.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 A4(e){return new lh(e)}function T4(e){return new fO(e)}function pO(e){this._context=e}pO.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=NS(e),a=NS(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 NS(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 O4(e){return new pO(e)}function Qp(e,t){this._context=e,this._t=t}Qp.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 P4(e){return new Qp(e,.5)}function R4(e){return new Qp(e,0)}function M4(e){return new Qp(e,1)}function Ko(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 Cy(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function I4(e,t){return e[t]}function $4(e){const t=[];return t.key=e,t}function L4(){var e=ht([]),t=Cy,n=Ko,r=I4;function a(s){var o=Array.from(e.apply(this,arguments),$4),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=hw(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:ht(Array.from(s)),a):e},a.value=function(s){return arguments.length?(r=typeof s=="function"?s:ht(+s),a):r},a.order=function(s){return arguments.length?(t=s==null?Cy:typeof s=="function"?s:ht(Array.from(s)),a):t},a.offset=function(s){return arguments.length?(n=s??Ko,a):n},a}function D4(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}Ko(e,t)}}function B4(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}Ko(e,t)}}function z4(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,Ko(e,t)}}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)}var F4=["type","size","sizeType"];function Ay(){return Ay=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},Ay.apply(this,arguments)}function ES(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 _S(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ES(Object(n),!0).forEach(function(r){U4(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ES(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function U4(e,t,n){return t=W4(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W4(e){var t=H4(e,"string");return su(t)=="symbol"?t:t+""}function H4(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)}function G4(e,t){if(e==null)return{};var n=q4(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 q4(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 mO={symbolCircle:pw,symbolCross:h4,symbolDiamond:m4,symbolSquare:g4,symbolStar:x4,symbolTriangle:w4,symbolWye:S4},K4=Math.PI/180,V4=function(t){var n="symbol".concat(Vp(t));return mO[n]||pw},Y4=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*K4;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}},X4=function(t,n){mO["symbol".concat(Vp(t))]=n},mw=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=G4(t,F4),u=_S(_S({},c),{},{type:r,size:s,sizeType:l}),d=function(){var y=V4(r),v=j4().type(y).size(Y4(s,l,r));return v()},f=u.className,h=u.cx,p=u.cy,m=Ye(u,!0);return h===+h&&p===+p&&s===+s?V.createElement("path",Ay({},m,{className:Xe("recharts-symbols",f),transform:"translate(".concat(h,", ").concat(p,")"),d:d()})):null};mw.registerSymbol=X4;function Vo(e){"@babel/helpers - typeof";return Vo=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},Vo(e)}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 Q4(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){ou(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 Z4(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function J4(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 e6(e,t,n){return t&&J4(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function t6(e,t,n){return t=ch(t),n6(e,gO()?Reflect.construct(t,n||[],ch(e).constructor):t.apply(e,n))}function n6(e,t){if(t&&(Vo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return r6(e)}function r6(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 ch(e){return ch=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ch(e)}function a6(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&&Oy(e,t)}function Oy(e,t){return Oy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Oy(e,t)}function ou(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=i6(e,"string");return Vo(t)=="symbol"?t:t+""}function i6(e,t){if(Vo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Vo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var gr=32,gw=function(e){function t(){return Z4(this,t),t6(this,t,arguments)}return a6(t,e),e6(t,[{key:"renderIcon",value:function(r){var a=this.props.inactiveColor,s=gr/2,o=gr/6,l=gr/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:gr,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(gr,"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(gr/8,"h").concat(gr,"v").concat(gr*3/4,"h").concat(-gr,"z"),className:"recharts-legend-icon"});if(V.isValidElement(r.legendIcon)){var u=Q4({},r);return delete u.legendIcon,V.cloneElement(r.legendIcon,u)}return V.createElement(mw,{fill:c,cx:s,cy:s,size:gr,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:gr,height:gr},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=Xe(ou(ou({"recharts-legend-item":!0},"legend-item-".concat(m),!0),"inactive",p.inactive));if(p.type==="none")return null;var v=Fe(p.value)?null:p.value;Ia(!Fe(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",Ty({className:y,style:f,key:"legend-item-".concat(m)},rh(r.props,p,m)),V.createElement(wy,{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())}}])}(x.PureComponent);ou(gw,"displayName","Legend");ou(gw,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var s6=Mp;function o6(){this.__data__=new s6,this.size=0}var l6=o6;function c6(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var u6=c6;function d6(e){return this.__data__.get(e)}var f6=d6;function h6(e){return this.__data__.has(e)}var p6=h6,m6=Mp,g6=rw,v6=aw,y6=200;function b6(e,t){var n=this.__data__;if(n instanceof m6){var r=n.__data__;if(!g6||r.length<y6-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new v6(r)}return n.set(e,t),this.size=n.size,this}var x6=b6,w6=Mp,k6=l6,S6=u6,j6=f6,N6=p6,E6=x6;function El(e){var t=this.__data__=new w6(e);this.size=t.size}El.prototype.clear=k6;El.prototype.delete=S6;El.prototype.get=j6;El.prototype.has=N6;El.prototype.set=E6;var yO=El,_6="__lodash_hash_undefined__";function C6(e){return this.__data__.set(e,_6),this}var A6=C6;function T6(e){return this.__data__.has(e)}var O6=T6,P6=aw,R6=A6,M6=O6;function uh(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new P6;++t<n;)this.add(e[t])}uh.prototype.add=uh.prototype.push=R6;uh.prototype.has=M6;var bO=uh;function I6(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 xO=I6;function $6(e,t){return e.has(t)}var wO=$6,L6=bO,D6=xO,B6=wO,z6=1,F6=2;function U6(e,t,n,r,a,s){var o=n&z6,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&F6?new L6: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(!D6(t,function(v,S){if(!B6(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 kO=U6,W6=ha,H6=W6.Uint8Array,G6=H6;function q6(e){var t=-1,n=Array(e.size);return e.forEach(function(r,a){n[++t]=[a,r]}),n}var K6=q6;function V6(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var vw=V6,AS=Qu,TS=G6,Y6=nw,X6=kO,Q6=K6,Z6=vw,J6=1,eW=2,tW="[object Boolean]",nW="[object Date]",rW="[object Error]",aW="[object Map]",iW="[object Number]",sW="[object RegExp]",oW="[object Set]",lW="[object String]",cW="[object Symbol]",uW="[object ArrayBuffer]",dW="[object DataView]",OS=AS?AS.prototype:void 0,dg=OS?OS.valueOf:void 0;function fW(e,t,n,r,a,s,o){switch(n){case dW:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case uW:return!(e.byteLength!=t.byteLength||!s(new TS(e),new TS(t)));case tW:case nW:case iW:return Y6(+e,+t);case rW:return e.name==t.name&&e.message==t.message;case sW:case lW:return e==t+"";case aW:var l=Q6;case oW:var c=r&J6;if(l||(l=Z6),e.size!=t.size&&!c)return!1;var u=o.get(e);if(u)return u==t;r|=eW,o.set(e,t);var d=X6(l(e),l(t),r,a,s,o);return o.delete(e),d;case cW:if(dg)return dg.call(e)==dg.call(t)}return!1}var hW=fW;function pW(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}var SO=pW,mW=SO,gW=qn;function vW(e,t,n){var r=t(e);return gW(e)?r:mW(r,n(e))}var yW=vW;function bW(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 xW=bW;function wW(){return[]}var kW=wW,SW=xW,jW=kW,NW=Object.prototype,EW=NW.propertyIsEnumerable,PS=Object.getOwnPropertySymbols,_W=PS?function(e){return e==null?[]:(e=Object(e),SW(PS(e),function(t){return EW.call(e,t)}))}:jW,CW=_W;function AW(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var TW=AW,OW=qa,PW=Ka,RW="[object Arguments]";function MW(e){return PW(e)&&OW(e)==RW}var IW=MW,RS=IW,$W=Ka,jO=Object.prototype,LW=jO.hasOwnProperty,DW=jO.propertyIsEnumerable,BW=RS(function(){return arguments}())?RS:function(e){return $W(e)&&LW.call(e,"callee")&&!DW.call(e,"callee")},yw=BW,dh={exports:{}};function zW(){return!1}var FW=zW;dh.exports;(function(e,t){var n=ha,r=FW,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})(dh,dh.exports);var NO=dh.exports,UW=9007199254740991,WW=/^(?:0|[1-9]\d*)$/;function HW(e,t){var n=typeof e;return t=t??UW,!!t&&(n=="number"||n!="symbol"&&WW.test(e))&&e>-1&&e%1==0&&e<t}var bw=HW,GW=9007199254740991;function qW(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=GW}var xw=qW,KW=qa,VW=xw,YW=Ka,XW="[object Arguments]",QW="[object Array]",ZW="[object Boolean]",JW="[object Date]",e8="[object Error]",t8="[object Function]",n8="[object Map]",r8="[object Number]",a8="[object Object]",i8="[object RegExp]",s8="[object Set]",o8="[object String]",l8="[object WeakMap]",c8="[object ArrayBuffer]",u8="[object DataView]",d8="[object Float32Array]",f8="[object Float64Array]",h8="[object Int8Array]",p8="[object Int16Array]",m8="[object Int32Array]",g8="[object Uint8Array]",v8="[object Uint8ClampedArray]",y8="[object Uint16Array]",b8="[object Uint32Array]",vt={};vt[d8]=vt[f8]=vt[h8]=vt[p8]=vt[m8]=vt[g8]=vt[v8]=vt[y8]=vt[b8]=!0;vt[XW]=vt[QW]=vt[c8]=vt[ZW]=vt[u8]=vt[JW]=vt[e8]=vt[t8]=vt[n8]=vt[r8]=vt[a8]=vt[i8]=vt[s8]=vt[o8]=vt[l8]=!1;function x8(e){return YW(e)&&VW(e.length)&&!!vt[KW(e)]}var w8=x8;function k8(e){return function(t){return e(t)}}var EO=k8,fh={exports:{}};fh.exports;(function(e,t){var n=MT,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})(fh,fh.exports);var S8=fh.exports,j8=w8,N8=EO,MS=S8,IS=MS&&MS.isTypedArray,E8=IS?N8(IS):j8,_O=E8,_8=TW,C8=yw,A8=qn,T8=NO,O8=bw,P8=_O,R8=Object.prototype,M8=R8.hasOwnProperty;function I8(e,t){var n=A8(e),r=!n&&C8(e),a=!n&&!r&&T8(e),s=!n&&!r&&!a&&P8(e),o=n||r||a||s,l=o?_8(e.length,String):[],c=l.length;for(var u in e)(t||M8.call(e,u))&&!(o&&(u=="length"||a&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||O8(u,c)))&&l.push(u);return l}var $8=I8,L8=Object.prototype;function D8(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||L8;return e===n}var B8=D8;function z8(e,t){return function(n){return e(t(n))}}var CO=z8,F8=CO,U8=F8(Object.keys,Object),W8=U8,H8=B8,G8=W8,q8=Object.prototype,K8=q8.hasOwnProperty;function V8(e){if(!H8(e))return G8(e);var t=[];for(var n in Object(e))K8.call(e,n)&&n!="constructor"&&t.push(n);return t}var Y8=V8,X8=tw,Q8=xw;function Z8(e){return e!=null&&Q8(e.length)&&!X8(e)}var Ju=Z8,J8=$8,eH=Y8,tH=Ju;function nH(e){return tH(e)?J8(e):eH(e)}var Zp=nH,rH=yW,aH=CW,iH=Zp;function sH(e){return rH(e,iH,aH)}var oH=sH,$S=oH,lH=1,cH=Object.prototype,uH=cH.hasOwnProperty;function dH(e,t,n,r,a,s){var o=n&lH,l=$S(e),c=l.length,u=$S(t),d=u.length;if(c!=d&&!o)return!1;for(var f=c;f--;){var h=l[f];if(!(o?h in t:uH.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 fH=dH,hH=Bs,pH=ha,mH=hH(pH,"DataView"),gH=mH,vH=Bs,yH=ha,bH=vH(yH,"Promise"),xH=bH,wH=Bs,kH=ha,SH=wH(kH,"Set"),AO=SH,jH=Bs,NH=ha,EH=jH(NH,"WeakMap"),_H=EH,Py=gH,Ry=rw,My=xH,Iy=AO,$y=_H,TO=qa,_l=$T,LS="[object Map]",CH="[object Object]",DS="[object Promise]",BS="[object Set]",zS="[object WeakMap]",FS="[object DataView]",AH=_l(Py),TH=_l(Ry),OH=_l(My),PH=_l(Iy),RH=_l($y),as=TO;(Py&&as(new Py(new ArrayBuffer(1)))!=FS||Ry&&as(new Ry)!=LS||My&&as(My.resolve())!=DS||Iy&&as(new Iy)!=BS||$y&&as(new $y)!=zS)&&(as=function(e){var t=TO(e),n=t==CH?e.constructor:void 0,r=n?_l(n):"";if(r)switch(r){case AH:return FS;case TH:return LS;case OH:return DS;case PH:return BS;case RH:return zS}return t});var MH=as,fg=yO,IH=kO,$H=hW,LH=fH,US=MH,WS=qn,HS=NO,DH=_O,BH=1,GS="[object Arguments]",qS="[object Array]",zd="[object Object]",zH=Object.prototype,KS=zH.hasOwnProperty;function FH(e,t,n,r,a,s){var o=WS(e),l=WS(t),c=o?qS:US(e),u=l?qS:US(t);c=c==GS?zd:c,u=u==GS?zd:u;var d=c==zd,f=u==zd,h=c==u;if(h&&HS(e)){if(!HS(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new fg),o||DH(e)?IH(e,t,n,r,a,s):$H(e,t,c,n,r,a,s);if(!(n&BH)){var p=d&&KS.call(e,"__wrapped__"),m=f&&KS.call(t,"__wrapped__");if(p||m){var g=p?e.value():e,y=m?t.value():t;return s||(s=new fg),a(g,y,n,r,s)}}return h?(s||(s=new fg),LH(e,t,n,r,a,s)):!1}var UH=FH,WH=UH,VS=Ka;function OO(e,t,n,r,a){return e===t?!0:e==null||t==null||!VS(e)&&!VS(t)?e!==e&&t!==t:WH(e,t,n,r,OO,a)}var ww=OO,HH=yO,GH=ww,qH=1,KH=2;function VH(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 HH;if(r)var h=r(u,d,c,e,t,f);if(!(h===void 0?GH(d,u,qH|KH,r,f):h))return!1}}return!0}var YH=VH,XH=$i;function QH(e){return e===e&&!XH(e)}var PO=QH,ZH=PO,JH=Zp;function e5(e){for(var t=JH(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,ZH(a)]}return t}var t5=e5;function n5(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}var RO=n5,r5=YH,a5=t5,i5=RO;function s5(e){var t=a5(e);return t.length==1&&t[0][2]?i5(t[0][0],t[0][1]):function(n){return n===e||r5(n,e,t)}}var o5=s5;function l5(e,t){return e!=null&&t in Object(e)}var c5=l5,u5=FT,d5=yw,f5=qn,h5=bw,p5=xw,m5=$p;function g5(e,t,n){t=u5(t,e);for(var r=-1,a=t.length,s=!1;++r<a;){var o=m5(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&&p5(a)&&h5(o,a)&&(f5(e)||d5(e)))}var v5=g5,y5=c5,b5=v5;function x5(e,t){return e!=null&&b5(e,t,y5)}var w5=x5,k5=ww,S5=UT,j5=w5,N5=ew,E5=PO,_5=RO,C5=$p,A5=1,T5=2;function O5(e,t){return N5(e)&&E5(t)?_5(C5(e),t):function(n){var r=S5(n,e);return r===void 0&&r===t?j5(n,e):k5(t,r,A5|T5)}}var P5=O5;function R5(e){return e}var Cl=R5;function M5(e){return function(t){return t==null?void 0:t[e]}}var I5=M5,$5=ow;function L5(e){return function(t){return $5(t,e)}}var D5=L5,B5=I5,z5=D5,F5=ew,U5=$p;function W5(e){return F5(e)?B5(U5(e)):z5(e)}var H5=W5,G5=o5,q5=P5,K5=Cl,V5=qn,Y5=H5;function X5(e){return typeof e=="function"?e:e==null?K5:typeof e=="object"?V5(e)?q5(e[0],e[1]):G5(e):Y5(e)}var Li=X5;function Q5(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 MO=Q5;function Z5(e){return e!==e}var J5=Z5;function e9(e,t,n){for(var r=n-1,a=e.length;++r<a;)if(e[r]===t)return r;return-1}var t9=e9,n9=MO,r9=J5,a9=t9;function i9(e,t,n){return t===t?a9(e,t,n):n9(e,r9,n)}var s9=i9,o9=s9;function l9(e,t){var n=e==null?0:e.length;return!!n&&o9(e,t,0)>-1}var c9=l9;function u9(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 d9=u9;function f9(){}var h9=f9,hg=AO,p9=h9,m9=vw,g9=1/0,v9=hg&&1/m9(new hg([,-0]))[1]==g9?function(e){return new hg(e)}:p9,y9=v9,b9=bO,x9=c9,w9=d9,k9=wO,S9=y9,j9=vw,N9=200;function E9(e,t,n){var r=-1,a=x9,s=e.length,o=!0,l=[],c=l;if(n)o=!1,a=w9;else if(s>=N9){var u=t?null:S9(e);if(u)return j9(u);o=!1,a=k9,c=new b9}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 _9=E9,C9=Li,A9=_9;function T9(e,t){return e&&e.length?A9(e,C9(t)):[]}var O9=T9;const YS=Je(O9);function IO(e,t,n){return t===!0?YS(e,n):Fe(t)?YS(e,t):e}function Yo(e){"@babel/helpers - typeof";return Yo=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},Yo(e)}var P9=["ref"];function XS(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 Na(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?XS(Object(n),!0).forEach(function(r){Jp(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):XS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function R9(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function QS(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,LO(r.key),r)}}function M9(e,t,n){return t&&QS(e.prototype,t),n&&QS(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function I9(e,t,n){return t=hh(t),$9(e,$O()?Reflect.construct(t,n||[],hh(e).constructor):t.apply(e,n))}function $9(e,t){if(t&&(Yo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L9(e)}function L9(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function $O(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return($O=function(){return!!e})()}function hh(e){return hh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},hh(e)}function D9(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&&Ly(e,t)}function Ly(e,t){return Ly=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Ly(e,t)}function Jp(e,t,n){return t=LO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function LO(e){var t=B9(e,"string");return Yo(t)=="symbol"?t:t+""}function B9(e,t){if(Yo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Yo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function z9(e,t){if(e==null)return{};var n=F9(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 F9(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 U9(e){return e.value}function W9(e,t){if(V.isValidElement(e))return V.cloneElement(e,t);if(typeof e=="function")return V.createElement(e,t);t.ref;var n=z9(t,P9);return V.createElement(gw,n)}var ZS=1,xs=function(e){function t(){var n;R9(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=I9(this,t,[].concat(a)),Jp(n,"lastBoundingBox",{width:-1,height:-1}),n}return D9(t,e),M9(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)>ZS||Math.abs(a.height-this.lastBoundingBox.height)>ZS)&&(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?Na({},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 Na(Na({},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=Na(Na({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}},W9(s,Na(Na({},this.props),{},{payload:IO(d,u,U9)})))}}],[{key:"getWithHeight",value:function(r,a){var s=Na(Na({},this.defaultProps),r.props),o=s.layout;return o==="vertical"&&fe(r.props.height)?{height:r.props.height}:o==="horizontal"?{width:r.props.width||a}:null}}])}(x.PureComponent);Jp(xs,"displayName","Legend");Jp(xs,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var JS=Qu,H9=yw,G9=qn,ej=JS?JS.isConcatSpreadable:void 0;function q9(e){return G9(e)||H9(e)||!!(ej&&e&&e[ej])}var K9=q9,V9=SO,Y9=K9;function DO(e,t,n,r,a){var s=-1,o=e.length;for(n||(n=Y9),a||(a=[]);++s<o;){var l=e[s];t>0&&n(l)?t>1?DO(l,t-1,n,r,a):V9(a,l):r||(a[a.length]=l)}return a}var BO=DO;function X9(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 Q9=X9,Z9=Q9,J9=Z9(),eG=J9,tG=eG,nG=Zp;function rG(e,t){return e&&tG(e,t,nG)}var zO=rG,aG=Ju;function iG(e,t){return function(n,r){if(n==null)return n;if(!aG(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 sG=iG,oG=zO,lG=sG,cG=lG(oG),kw=cG,uG=kw,dG=Ju;function fG(e,t){var n=-1,r=dG(e)?Array(e.length):[];return uG(e,function(a,s,o){r[++n]=t(a,s,o)}),r}var FO=fG;function hG(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}var pG=hG,tj=wl;function mG(e,t){if(e!==t){var n=e!==void 0,r=e===null,a=e===e,s=tj(e),o=t!==void 0,l=t===null,c=t===t,u=tj(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 gG=mG,vG=gG;function yG(e,t,n){for(var r=-1,a=e.criteria,s=t.criteria,o=a.length,l=n.length;++r<o;){var c=vG(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 bG=yG,pg=sw,xG=ow,wG=Li,kG=FO,SG=pG,jG=EO,NG=bG,EG=Cl,_G=qn;function CG(e,t,n){t.length?t=pg(t,function(s){return _G(s)?function(o){return xG(o,s.length===1?s[0]:s)}:s}):t=[EG];var r=-1;t=pg(t,jG(wG));var a=kG(e,function(s,o,l){var c=pg(t,function(u){return u(s)});return{criteria:c,index:++r,value:s}});return SG(a,function(s,o){return NG(s,o,n)})}var AG=CG;function TG(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 OG=TG,PG=OG,nj=Math.max;function RG(e,t,n){return t=nj(t===void 0?e.length-1:t,0),function(){for(var r=arguments,a=-1,s=nj(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),PG(e,this,l)}}var MG=RG;function IG(e){return function(){return e}}var $G=IG,LG=Bs,DG=function(){try{var e=LG(Object,"defineProperty");return e({},"",{}),e}catch{}}(),UO=DG,BG=$G,rj=UO,zG=Cl,FG=rj?function(e,t){return rj(e,"toString",{configurable:!0,enumerable:!1,value:BG(t),writable:!0})}:zG,UG=FG,WG=800,HG=16,GG=Date.now;function qG(e){var t=0,n=0;return function(){var r=GG(),a=HG-(r-n);if(n=r,a>0){if(++t>=WG)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var KG=qG,VG=UG,YG=KG,XG=YG(VG),QG=XG,ZG=Cl,JG=MG,eq=QG;function tq(e,t){return eq(JG(e,t,ZG),e+"")}var nq=tq,rq=nw,aq=Ju,iq=bw,sq=$i;function oq(e,t,n){if(!sq(n))return!1;var r=typeof t;return(r=="number"?aq(n)&&iq(t,n.length):r=="string"&&t in n)?rq(n[t],e):!1}var em=oq,lq=BO,cq=AG,uq=nq,aj=em,dq=uq(function(e,t){if(e==null)return[];var n=t.length;return n>1&&aj(e,t[0],t[1])?t=[]:n>2&&aj(t[0],t[1],t[2])&&(t=[t[0]]),cq(e,lq(t,1),[])}),fq=dq;const Sw=Je(fq);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)}function Dy(){return Dy=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},Dy.apply(this,arguments)}function hq(e,t){return vq(e)||gq(e,t)||mq(e,t)||pq()}function pq(){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 mq(e,t){if(e){if(typeof e=="string")return ij(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 ij(e,t)}}function ij(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 gq(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 vq(e){if(Array.isArray(e))return e}function sj(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 mg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?sj(Object(n),!0).forEach(function(r){yq(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yq(e,t,n){return t=bq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bq(e){var t=xq(e,"string");return lu(t)=="symbol"?t:t+""}function xq(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 wq(e){return Array.isArray(e)&&Vt(e[0])&&Vt(e[1])?e.join(" ~ "):e}var kq=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 O={padding:0,margin:0},B=(h?Sw(d,h):d).map(function($,M){if($.type==="none")return null;var D=mg({display:"block",paddingTop:4,paddingBottom:4,color:$.color||"#000"},l),U=$.formatter||f||wq,R=$.value,z=$.name,T=R,Z=z;if(U&&T!=null&&Z!=null){var F=U(R,z,$,M,d);if(Array.isArray(F)){var I=hq(F,2);T=I[0],Z=I[1]}else T=F}return V.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(M),style:D},Vt(Z)?V.createElement("span",{className:"recharts-tooltip-item-name"},Z):null,Vt(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"},$.unit||""))});return V.createElement("ul",{className:"recharts-tooltip-item-list",style:O},B)}return null},N=mg({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},s),k=mg({margin:0},u),b=!Qe(g),j=b?g:"",E=Xe("recharts-default-tooltip",p),P=Xe("recharts-tooltip-label",m);b&&y&&d!==void 0&&d!==null&&(j=y(g,d));var _=S?{role:"status","aria-live":"assertive"}:{};return V.createElement("div",Dy({className:E,style:N},_),V.createElement("p",{className:P,style:k},V.isValidElement(j)?j:"".concat(j)),w())};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)}function Fd(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=jq(e,"string");return cu(t)=="symbol"?t:t+""}function jq(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)}var rc="recharts-tooltip-wrapper",Nq={visibility:"hidden"};function Eq(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return Xe(rc,Fd(Fd(Fd(Fd({},"".concat(rc,"-right"),fe(n)&&t&&fe(t.x)&&n>=t.x),"".concat(rc,"-left"),fe(n)&&t&&fe(t.x)&&n<t.x),"".concat(rc,"-bottom"),fe(r)&&t&&fe(t.y)&&r>=t.y),"".concat(rc,"-top"),fe(r)&&t&&fe(t.y)&&r<t.y))}function oj(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&&fe(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 _q(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 Cq(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=oj({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),f=oj({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),u=_q({translateX:d,translateY:f,useTranslate3d:l})):u=Nq,{cssProperties:u,cssClasses:Eq({translateX:d,translateY:f,coordinate:n})}}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 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 cj(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){zy(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 Aq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Tq(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,HO(r.key),r)}}function Oq(e,t,n){return t&&Tq(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pq(e,t,n){return t=ph(t),Rq(e,WO()?Reflect.construct(t,n||[],ph(e).constructor):t.apply(e,n))}function Rq(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 Mq(e)}function Mq(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function WO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(WO=function(){return!!e})()}function ph(e){return ph=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ph(e)}function Iq(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&&By(e,t)}function By(e,t){return By=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},By(e,t)}function zy(e,t,n){return t=HO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HO(e){var t=$q(e,"string");return Xo(t)=="symbol"?t:t+""}function $q(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 uj=1,Lq=function(e){function t(){var n;Aq(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=Pq(this,t,[].concat(a)),zy(n,"state",{dismissed:!1,dismissedAtCoordinate:{x:0,y:0},lastBoundingBox:{width:-1,height:-1}}),zy(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 Iq(t,e),Oq(t,[{key:"updateBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-this.state.lastBoundingBox.width)>uj||Math.abs(r.height-this.state.lastBoundingBox.height)>uj)&&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=Cq({allowEscapeViewBox:o,coordinate:d,offsetTopLeft:p,position:m,reverseDirection:g,tooltipBox:this.state.lastBoundingBox,useTranslate3d:y,viewBox:v}),N=w.cssClasses,k=w.cssProperties,b=cj(cj({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:b,ref:function(E){r.wrapperNode=E}},u)}}])}(x.PureComponent),Dq=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},ed={isSsr:Dq()};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)}function dj(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 fj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dj(Object(n),!0).forEach(function(r){jw(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Bq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zq(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 Fq(e,t,n){return t&&zq(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Uq(e,t,n){return t=mh(t),Wq(e,GO()?Reflect.construct(t,n||[],mh(e).constructor):t.apply(e,n))}function Wq(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 Hq(e)}function Hq(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 Gq(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&&Fy(e,t)}function Fy(e,t){return Fy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Fy(e,t)}function jw(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=qq(e,"string");return Qo(t)=="symbol"?t:t+""}function qq(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 Kq(e){return e.dataKey}function Vq(e,t){return V.isValidElement(e)?V.cloneElement(e,t):typeof e=="function"?V.createElement(e,t):V.createElement(kq,t)}var xn=function(e){function t(){return Bq(this,t),Uq(this,t,arguments)}return Gq(t,e),Fq(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=IO(m.filter(function(j){return j.value!=null&&(j.hide!==!0||r.props.includeHidden)}),g,Kq));var b=k.length>0;return V.createElement(Lq,{allowEscapeViewBox:o,animationDuration:l,animationEasing:c,isAnimationActive:h,active:s,coordinate:d,hasPayload:b,offset:p,position:y,reverseDirection:v,useTranslate3d:S,viewBox:w,wrapperStyle:N},Vq(u,fj(fj({},this.props),{},{payload:k})))}}])}(x.PureComponent);jw(xn,"displayName","Tooltip");jw(xn,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!ed.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 Yq=ha,Xq=function(){return Yq.Date.now()},Qq=Xq,Zq=/\s/;function Jq(e){for(var t=e.length;t--&&Zq.test(e.charAt(t)););return t}var eK=Jq,tK=eK,nK=/^\s+/;function rK(e){return e&&e.slice(0,tK(e)+1).replace(nK,"")}var aK=rK,iK=aK,hj=$i,sK=wl,pj=NaN,oK=/^[-+]0x[0-9a-f]+$/i,lK=/^0b[01]+$/i,cK=/^0o[0-7]+$/i,uK=parseInt;function dK(e){if(typeof e=="number")return e;if(sK(e))return pj;if(hj(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=hj(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=iK(e);var n=lK.test(e);return n||cK.test(e)?uK(e.slice(2),n?2:8):oK.test(e)?pj:+e}var KO=dK,fK=$i,gg=Qq,mj=KO,hK="Expected a function",pK=Math.max,mK=Math.min;function gK(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(hK);t=mj(t)||0,fK(n)&&(d=!!n.leading,f="maxWait"in n,s=f?pK(mj(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h);function p(b){var j=r,E=a;return r=a=void 0,u=b,o=e.apply(E,j),o}function m(b){return u=b,l=setTimeout(v,t),d?p(b):o}function g(b){var j=b-c,E=b-u,P=t-j;return f?mK(P,s-E):P}function y(b){var j=b-c,E=b-u;return c===void 0||j>=t||j<0||f&&E>=s}function v(){var b=gg();if(y(b))return S(b);l=setTimeout(v,g(b))}function S(b){return l=void 0,h&&r?p(b):(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(gg())}function k(){var b=gg(),j=y(b);if(r=arguments,a=this,c=b,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 vK=gK,yK=vK,bK=$i,xK="Expected a function";function wK(e,t,n){var r=!0,a=!0;if(typeof e!="function")throw new TypeError(xK);return bK(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),yK(e,t,{leading:r,maxWait:t,trailing:a})}var kK=wK;const VO=Je(kK);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 gj(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?gj(Object(n),!0).forEach(function(r){SK(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function SK(e,t,n){return t=jK(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jK(e){var t=NK(e,"string");return uu(t)=="symbol"?t:t+""}function NK(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 EK(e,t){return TK(e)||AK(e,t)||CK(e,t)||_K()}function _K(){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 CK(e,t){if(e){if(typeof e=="string")return vj(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 vj(e,t)}}function vj(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 AK(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 TK(e){if(Array.isArray(e))return e}var os=x.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=x.useRef(null),b=x.useRef();b.current=S,x.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=x.useState({containerWidth:a.width,containerHeight:a.height}),E=EK(j,2),P=E[0],_=E[1],A=x.useCallback(function(B,$){_(function(M){var D=Math.round(B),U=Math.round($);return M.containerWidth===D&&M.containerHeight===U?M:{containerWidth:D,containerHeight:U}})},[]);x.useEffect(function(){var B=function(z){var T,Z=z[0].contentRect,F=Z.width,I=Z.height;A(F,I),(T=b.current)===null||T===void 0||T.call(b,F,I)};g>0&&(B=VO(B,g,{trailing:!0,leading:!1}));var $=new ResizeObserver(B),M=k.current.getBoundingClientRect(),D=M.width,U=M.height;return A(D,U),$.observe(k.current),function(){$.disconnect()}},[A,g]);var O=x.useMemo(function(){var B=P.containerWidth,$=P.containerHeight;if(B<0||$<0)return null;Ia(hs(o)||hs(c),`The width(%s) and height(%s) are both fixed numbers,
81
- maybe you don't need to use a ResponsiveContainer.`,o,c),Ia(!n||n>0,"The aspect(%s) must be greater than zero.",n);var M=hs(o)?B:o,D=hs(c)?$:c;n&&n>0&&(M?D=M/n:D&&(M=D*n),h&&D>h&&(D=h)),Ia(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 U=!Array.isArray(p)&&Ma(p.type).endsWith("Chart");return V.Children.map(p,function(R){return V.isValidElement(R)?x.cloneElement(R,Ud({width:M,height:D},U?{style:Ud({height:"100%",width:"100%",maxHeight:D,maxWidth:M},R.props.style)}:{})):R})},[n,p,c,h,f,d,P,o]);return V.createElement("div",{id:y?"".concat(y):void 0,className:Xe("recharts-responsive-container",v),style:Ud(Ud({},N),{},{width:o,height:c,minWidth:d,minHeight:f,maxHeight:h}),ref:k},O)}),du=function(t){return null};du.displayName="Cell";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 Uy(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){OK(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 OK(e,t,n){return t=PK(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function PK(e){var t=RK(e,"string");return fu(t)=="symbol"?t:t+""}function RK(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)}var eo={widthCache:{},cacheCount:0},MK=2e3,IK={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},bj="recharts_measurement_span";function $K(e){var t=Uy({},e);return Object.keys(t).forEach(function(n){t[n]||delete t[n]}),t}var Pc=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||ed.isSsr)return{width:0,height:0};var r=$K(n),a=JSON.stringify({text:t,copyStyle:r});if(eo.widthCache[a])return eo.widthCache[a];try{var s=document.getElementById(bj);s||(s=document.createElement("span"),s.setAttribute("id",bj),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));var o=Uy(Uy({},IK),r);Object.assign(s.style,o),s.textContent="".concat(t);var l=s.getBoundingClientRect(),c={width:l.width,height:l.height};return eo.widthCache[a]=c,++eo.cacheCount>MK&&(eo.cacheCount=0,eo.widthCache={}),c}catch{return{width:0,height:0}}},LK=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function hu(e){"@babel/helpers - typeof";return hu=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},hu(e)}function gh(e,t){return FK(e)||zK(e,t)||BK(e,t)||DK()}function DK(){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 BK(e,t){if(e){if(typeof e=="string")return xj(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 xj(e,t)}}function xj(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 zK(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 FK(e){if(Array.isArray(e))return e}function UK(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wj(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,HK(r.key),r)}}function WK(e,t,n){return t&&wj(e.prototype,t),n&&wj(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function HK(e){var t=GK(e,"string");return hu(t)=="symbol"?t:t+""}function GK(e,t){if(hu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(hu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var kj=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Sj=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,qK=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,KK=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,YO={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},VK=Object.keys(YO),No="NaN";function YK(e,t){return e*YO[t]}var Wd=function(){function e(t,n){UK(this,e),this.num=t,this.unit=n,this.num=t,this.unit=n,Number.isNaN(t)&&(this.unit=""),n!==""&&!qK.test(n)&&(this.num=NaN,this.unit=""),VK.includes(n)&&(this.num=YK(t,n),this.unit="px")}return WK(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=KK.exec(n))!==null&&r!==void 0?r:[],s=gh(a,3),o=s[1],l=s[2];return new e(parseFloat(o),l??"")}}])}();function XO(e){if(e.includes(No))return No;for(var t=e;t.includes("*")||t.includes("/");){var n,r=(n=kj.exec(t))!==null&&n!==void 0?n:[],a=gh(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 No;t=t.replace(kj,d.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var f,h=(f=Sj.exec(t))!==null&&f!==void 0?f:[],p=gh(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 No;t=t.replace(Sj,w.toString())}return t}var jj=/\(([^()]*)\)/;function XK(e){for(var t=e;t.includes("(");){var n=jj.exec(t),r=gh(n,2),a=r[1];t=t.replace(jj,XO(a))}return t}function QK(e){var t=e.replace(/\s+/g,"");return t=XK(t),t=XO(t),t}function ZK(e){try{return QK(e)}catch{return No}}function vg(e){var t=ZK(e.slice(5,-1));return t===No?"":t}var JK=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],eV=["dx","dy","angle","className","breakAll"];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 Nj(e,t){if(e==null)return{};var n=tV(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 tV(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 Ej(e,t){return iV(e)||aV(e,t)||rV(e,t)||nV()}function nV(){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 rV(e,t){if(e){if(typeof e=="string")return _j(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 _j(e,t)}}function _j(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 aV(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 iV(e){if(Array.isArray(e))return e}var QO=/[ \f\n\r\t\v\u2028\u2029]+/,ZO=function(t){var n=t.children,r=t.breakAll,a=t.style;try{var s=[];Qe(n)||(r?s=n.toString().split(""):s=n.toString().split(QO));var o=s.map(function(c){return{word:c,width:Pc(c,a).width}}),l=r?0:Pc(" ",a).width;return{wordsWithComputedWidth:o,spaceWidth:l}}catch{return null}},sV=function(t,n,r,a,s){var o=t.maxLines,l=t.children,c=t.style,u=t.breakAll,d=fe(o),f=l,h=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return M.reduce(function(D,U){var R=U.word,z=U.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,U){return D.width>U.width?D:U})};if(!d)return p;for(var g="…",y=function(M){var D=f.slice(0,M),U=ZO({breakAll:u,style:c,children:D+g}).wordsWithComputedWidth,R=h(U),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),b=k-1,j=y(b),E=Ej(j,2),P=E[0],_=E[1],A=y(k),O=Ej(A,1),B=O[0];if(!P&&!B&&(v=k+1),P&&B&&(S=k-1),!P&&B){N=_;break}w++}return N||p},Cj=function(t){var n=Qe(t)?[]:t.toString().split(QO);return[{words:n}]},oV=function(t){var n=t.width,r=t.scaleToFit,a=t.children,s=t.style,o=t.breakAll,l=t.maxLines;if((n||r)&&!ed.isSsr){var c,u,d=ZO({breakAll:o,children:a,style:s});if(d){var f=d.wordsWithComputedWidth,h=d.spaceWidth;c=f,u=h}else return Cj(a);return sV({breakAll:o,children:a,maxLines:l,style:s},c,u,n,r)}return Cj(a)},Aj="#808080",vh=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?Aj:y,S=Nj(t,JK),w=x.useMemo(function(){return oV({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,b=S.angle,j=S.className,E=S.breakAll,P=Nj(S,eV);if(!Vt(r)||!Vt(s))return null;var _=r+(fe(N)?N:0),A=s+(fe(k)?k:0),O;switch(g){case"start":O=vg("calc(".concat(u,")"));break;case"middle":O=vg("calc(".concat((w.length-1)/2," * -").concat(l," + (").concat(u," / 2))"));break;default:O=vg("calc(".concat(w.length-1," * -").concat(l,")"));break}var B=[];if(f){var $=w[0].width,M=S.width;B.push("scale(".concat((fe(M)?M/$:1)/$,")"))}return b&&B.push("rotate(".concat(b,", ").concat(_,", ").concat(A,")")),B.length&&(P.transform=B.join(" ")),V.createElement("text",Wy({},Ye(P,!0),{x:_,y:A,className:Xe("recharts-text",j),textAnchor:p,fill:v.includes("url")?Aj:v}),w.map(function(D,U){var R=D.words.join(E?"":" ");return V.createElement("tspan",{x:_,dy:U===0?O:l,key:"".concat(R,"-").concat(U)},R)}))};function Ei(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function lV(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Nw(e){let t,n,r;e.length!==2?(t=Ei,n=(l,c)=>Ei(e(l),c),r=(l,c)=>e(l)-c):(t=e===Ei||e===lV?e:cV,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 cV(){return 0}function JO(e){return e===null?NaN:+e}function*uV(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const dV=Nw(Ei),td=dV.right;Nw(JO).center;class Tj extends Map{constructor(t,n=pV){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(Oj(this,t))}has(t){return super.has(Oj(this,t))}set(t,n){return super.set(fV(this,t),n)}delete(t){return super.delete(hV(this,t))}}function Oj({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function fV({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function hV({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function pV(e){return e!==null&&typeof e=="object"?e.valueOf():e}function mV(e=Ei){if(e===Ei)return eP;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 eP(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}const gV=Math.sqrt(50),vV=Math.sqrt(10),yV=Math.sqrt(2);function yh(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>=gV?10:s>=vV?5:s>=yV?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?yh(e,t,n*2):[l,c,u]}function Hy(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?yh(t,e,n):yh(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 Gy(e,t,n){return t=+t,e=+e,n=+n,yh(e,t,n)[2]}function qy(e,t,n){t=+t,e=+e,n=+n;const r=t<e,a=r?Gy(t,e,n):Gy(e,t,n);return(r?-1:1)*(a<0?1/-a:a)}function Pj(e,t){let n;for(const r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);return n}function Rj(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function tP(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?eP:mV(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));tP(e,t,p,m,a)}const s=e[t];let o=n,l=r;for(ac(e,n,t),a(e[r],s)>0&&ac(e,n,r);o<l;){for(ac(e,o,l),++o,--l;a(e[o],s)<0;)++o;for(;a(e[l],s)>0;)--l}a(e[n],s)===0?ac(e,n,l):(++l,ac(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function ac(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function bV(e,t,n){if(e=Float64Array.from(uV(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Rj(e);if(t>=1)return Pj(e);var r,a=(r-1)*t,s=Math.floor(a),o=Pj(tP(e,s).subarray(0,s+1)),l=Rj(e.subarray(s+1));return o+(l-o)*(a-s)}}function xV(e,t,n=JO){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 wV(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 Ar(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Va(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 Ky=Symbol("implicit");function Ew(){var e=new Tj,t=[],n=[],r=Ky;function a(s){let o=e.get(s);if(o===void 0){if(r!==Ky)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 Tj;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 Ew(t,n).unknown(r)},Ar.apply(a,arguments),a}function pu(){var e=Ew().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=wV(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 pu(t(),[r,a]).round(l).paddingInner(c).paddingOuter(u).align(d)},Ar.apply(f(),arguments)}function nP(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return nP(t())},e}function Rc(){return nP(pu.apply(null,arguments).paddingInner(1))}function _w(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function rP(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function nd(){}var mu=.7,bh=1/mu,$o="\\s*([+-]?\\d+)\\s*",gu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ca="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",kV=/^#([0-9a-f]{3,8})$/,SV=new RegExp(`^rgb\\(${$o},${$o},${$o}\\)$`),jV=new RegExp(`^rgb\\(${ca},${ca},${ca}\\)$`),NV=new RegExp(`^rgba\\(${$o},${$o},${$o},${gu}\\)$`),EV=new RegExp(`^rgba\\(${ca},${ca},${ca},${gu}\\)$`),_V=new RegExp(`^hsl\\(${gu},${ca},${ca}\\)$`),CV=new RegExp(`^hsla\\(${gu},${ca},${ca},${gu}\\)$`),Mj={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};_w(nd,vu,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ij,formatHex:Ij,formatHex8:AV,formatHsl:TV,formatRgb:$j,toString:$j});function Ij(){return this.rgb().formatHex()}function AV(){return this.rgb().formatHex8()}function TV(){return aP(this).formatHsl()}function $j(){return this.rgb().formatRgb()}function vu(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=kV.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Lj(t):n===3?new Un(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=SV.exec(e))?new Un(t[1],t[2],t[3],1):(t=jV.exec(e))?new Un(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=NV.exec(e))?Hd(t[1],t[2],t[3],t[4]):(t=EV.exec(e))?Hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=_V.exec(e))?zj(t[1],t[2]/100,t[3]/100,1):(t=CV.exec(e))?zj(t[1],t[2]/100,t[3]/100,t[4]):Mj.hasOwnProperty(e)?Lj(Mj[e]):e==="transparent"?new Un(NaN,NaN,NaN,0):null}function Lj(e){return new Un(e>>16&255,e>>8&255,e&255,1)}function Hd(e,t,n,r){return r<=0&&(e=t=n=NaN),new Un(e,t,n,r)}function OV(e){return e instanceof nd||(e=vu(e)),e?(e=e.rgb(),new Un(e.r,e.g,e.b,e.opacity)):new Un}function Vy(e,t,n,r){return arguments.length===1?OV(e):new Un(e,t,n,r??1)}function Un(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}_w(Un,Vy,rP(nd,{brighter(e){return e=e==null?bh:Math.pow(bh,e),new Un(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?mu:Math.pow(mu,e),new Un(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Un(ws(this.r),ws(this.g),ws(this.b),xh(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:Dj,formatHex:Dj,formatHex8:PV,formatRgb:Bj,toString:Bj}));function Dj(){return`#${ps(this.r)}${ps(this.g)}${ps(this.b)}`}function PV(){return`#${ps(this.r)}${ps(this.g)}${ps(this.b)}${ps((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bj(){const e=xh(this.opacity);return`${e===1?"rgb(":"rgba("}${ws(this.r)}, ${ws(this.g)}, ${ws(this.b)}${e===1?")":`, ${e})`}`}function xh(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ws(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ps(e){return e=ws(e),(e<16?"0":"")+e.toString(16)}function zj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Dr(e,t,n,r)}function aP(e){if(e instanceof Dr)return new Dr(e.h,e.s,e.l,e.opacity);if(e instanceof nd||(e=vu(e)),!e)return new Dr;if(e instanceof Dr)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 Dr(o,l,c,e.opacity)}function RV(e,t,n,r){return arguments.length===1?aP(e):new Dr(e,t,n,r??1)}function Dr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}_w(Dr,RV,rP(nd,{brighter(e){return e=e==null?bh:Math.pow(bh,e),new Dr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?mu:Math.pow(mu,e),new Dr(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 Un(yg(e>=240?e-240:e+120,a,r),yg(e,a,r),yg(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new Dr(Fj(this.h),Gd(this.s),Gd(this.l),xh(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=xh(this.opacity);return`${e===1?"hsl(":"hsla("}${Fj(this.h)}, ${Gd(this.s)*100}%, ${Gd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Fj(e){return e=(e||0)%360,e<0?e+360:e}function Gd(e){return Math.max(0,Math.min(1,e||0))}function yg(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 Cw=e=>()=>e;function MV(e,t){return function(n){return e+n*t}}function IV(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 $V(e){return(e=+e)==1?iP:function(t,n){return n-t?IV(t,n,e):Cw(isNaN(t)?n:t)}}function iP(e,t){var n=t-e;return n?MV(e,n):Cw(isNaN(e)?t:e)}const Uj=function e(t){var n=$V(t);function r(a,s){var o=n((a=Vy(a)).r,(s=Vy(s)).r),l=n(a.g,s.g),c=n(a.b,s.b),u=iP(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 LV(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 DV(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function BV(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]=Al(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 zV(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function wh(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function FV(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]=Al(e[a],t[a]):r[a]=t[a];return function(s){for(a in n)r[a]=n[a](s);return r}}var Yy=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bg=new RegExp(Yy.source,"g");function UV(e){return function(){return e}}function WV(e){return function(t){return e(t)+""}}function HV(e,t){var n=Yy.lastIndex=bg.lastIndex=0,r,a,s,o=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Yy.exec(e))&&(a=bg.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:wh(r,a)})),n=bg.lastIndex;return n<t.length&&(s=t.slice(n),l[o]?l[o]+=s:l[++o]=s),l.length<2?c[0]?WV(c[0].x):UV(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 Al(e,t){var n=typeof t,r;return t==null||n==="boolean"?Cw(t):(n==="number"?wh:n==="string"?(r=vu(t))?(t=r,Uj):HV:t instanceof vu?Uj:t instanceof Date?zV:DV(t)?LV:Array.isArray(t)?BV:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?FV:wh)(e,t)}function Aw(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function GV(e,t){t===void 0&&(t=e,e=Al);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 qV(e){return function(){return e}}function kh(e){return+e}var Wj=[0,1];function Pn(e){return e}function Xy(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:qV(isNaN(t)?NaN:.5)}function KV(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function VV(e,t,n){var r=e[0],a=e[1],s=t[0],o=t[1];return a<r?(r=Xy(a,r),s=n(o,s)):(r=Xy(r,a),s=n(s,o)),function(l){return s(r(l))}}function YV(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]=Xy(e[o],e[o+1]),s[o]=n(t[o],t[o+1]);return function(l){var c=td(e,l,1,r)-1;return s[c](a[c](l))}}function rd(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function tm(){var e=Wj,t=Wj,n=Al,r,a,s,o=Pn,l,c,u;function d(){var h=Math.min(e.length,t.length);return o!==Pn&&(o=KV(e[0],e[h-1])),l=h>2?YV:VV,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),wh)))(h)))},f.domain=function(h){return arguments.length?(e=Array.from(h,kh),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=Aw,d()},f.clamp=function(h){return arguments.length?(o=h?!0:Pn,d()):o!==Pn},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 Tw(){return tm()(Pn,Pn)}function XV(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Sh(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 Zo(e){return e=Sh(Math.abs(e)),e?e[1]:NaN}function QV(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 ZV(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var JV=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function yu(e){if(!(t=JV.exec(e)))throw new Error("invalid format: "+e);var t;return new Ow({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]})}yu.prototype=Ow.prototype;function Ow(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+""}Ow.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 e7(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 jh;function t7(e,t){var n=Sh(e,t);if(!n)return jh=void 0,e.toPrecision(t);var r=n[0],a=n[1],s=a-(jh=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")+Sh(e,Math.max(0,t+s-1))[0]}function Hj(e,t){var n=Sh(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 Gj={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:XV,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)=>Hj(e*100,t),r:Hj,s:t7,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function qj(e){return e}var Kj=Array.prototype.map,Vj=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function n7(e){var t=e.grouping===void 0||e.thousands===void 0?qj:QV(Kj.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?qj:ZV(Kj.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=yu(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,b=f.type;b==="n"?(w=!0,b="g"):Gj[b]||(N===void 0&&(N=12),k=!0,b="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var j=(h&&h.prefix!==void 0?h.prefix:"")+(y==="$"?n:y==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():""),E=(y==="$"?r:/[%p]/.test(b)?o:"")+(h&&h.suffix!==void 0?h.suffix:""),P=Gj[b],_=/[defgprs%]/.test(b);N=N===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,N)):Math.max(0,Math.min(20,N));function A(O){var B=j,$=E,M,D,U;if(b==="c")$=P(O)+$,O="";else{O=+O;var R=O<0||1/O<0;if(O=isNaN(O)?c:P(Math.abs(O),N),k&&(O=e7(O)),R&&+O==0&&g!=="+"&&(R=!1),B=(R?g==="("?g:l:g==="-"||g==="("?"":g)+B,$=(b==="s"&&!isNaN(O)&&jh!==void 0?Vj[8+jh/3]:"")+$+(R&&g==="("?")":""),_){for(M=-1,D=O.length;++M<D;)if(U=O.charCodeAt(M),48>U||U>57){$=(U===46?a+O.slice(M+1):O.slice(M))+$,O=O.slice(0,M);break}}}w&&!v&&(O=t(O,1/0));var z=B.length+O.length+$.length,T=z<S?new Array(S-z+1).join(p):"";switch(w&&v&&(O=t(T+O,T.length?S-$.length:1/0),T=""),m){case"<":O=B+O+$+T;break;case"=":O=B+T+O+$;break;case"^":O=T.slice(0,z=T.length>>1)+B+O+$+T.slice(z);break;default:O=T+B+O+$;break}return s(O)}return A.toString=function(){return f+""},A}function d(f,h){var p=Math.max(-8,Math.min(8,Math.floor(Zo(h)/3)))*3,m=Math.pow(10,-p),g=u((f=yu(f),f.type="f",f),{suffix:Vj[8+p/3]});return function(y){return g(m*y)}}return{format:u,formatPrefix:d}}var qd,Pw,sP;r7({thousands:",",grouping:[3],currency:["$",""]});function r7(e){return qd=n7(e),Pw=qd.format,sP=qd.formatPrefix,qd}function a7(e){return Math.max(0,-Zo(Math.abs(e)))}function i7(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Zo(t)/3)))*3-Zo(Math.abs(e)))}function s7(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Zo(t)-Zo(e))+1}function oP(e,t,n,r){var a=qy(e,t,n),s;switch(r=yu(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=i7(a,o))&&(r.precision=s),sP(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=s7(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=a7(a))&&(r.precision=s-(r.type==="%")*2);break}}return Pw(r)}function Di(e){var t=e.domain;return e.ticks=function(n){var r=t();return Hy(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return oP(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=Gy(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 Nh(){var e=Tw();return e.copy=function(){return rd(e,Nh())},Ar.apply(e,arguments),Di(e)}function lP(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,kh),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return lP(e).unknown(t)},e=arguments.length?Array.from(e,kh):[0,1],Di(n)}function cP(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 Yj(e){return Math.log(e)}function Xj(e){return Math.exp(e)}function o7(e){return-Math.log(-e)}function l7(e){return-Math.exp(-e)}function c7(e){return isFinite(e)?+("1e"+e):e<0?0:e}function u7(e){return e===10?c7:e===Math.E?Math.exp:t=>Math.pow(e,t)}function d7(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 Qj(e){return(t,n)=>-e(-t,n)}function Rw(e){const t=e(Yj,Xj),n=t.domain;let r=10,a,s;function o(){return a=d7(r),s=u7(r),n()[0]<0?(a=Qj(a),s=Qj(s),e(o7,l7)):e(Yj,Xj),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=Hy(u,d,y))}else v=Hy(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=yu(c)).precision==null&&(c.trim=!0),c=Pw(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(cP(n(),{floor:l=>s(Math.floor(a(l))),ceil:l=>s(Math.ceil(a(l)))})),t}function uP(){const e=Rw(tm()).domain([1,10]);return e.copy=()=>rd(e,uP()).base(e.base()),Ar.apply(e,arguments),e}function Zj(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Jj(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Mw(e){var t=1,n=e(Zj(t),Jj(t));return n.constant=function(r){return arguments.length?e(Zj(t=+r),Jj(t)):t},Di(n)}function dP(){var e=Mw(tm());return e.copy=function(){return rd(e,dP()).constant(e.constant())},Ar.apply(e,arguments)}function e1(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function f7(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function h7(e){return e<0?-e*e:e*e}function Iw(e){var t=e(Pn,Pn),n=1;function r(){return n===1?e(Pn,Pn):n===.5?e(f7,h7):e(e1(n),e1(1/n))}return t.exponent=function(a){return arguments.length?(n=+a,r()):n},Di(t)}function $w(){var e=Iw(tm());return e.copy=function(){return rd(e,$w()).exponent(e.exponent())},Ar.apply(e,arguments),e}function p7(){return $w.apply(null,arguments).exponent(.5)}function t1(e){return Math.sign(e)*e*e}function m7(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function fP(){var e=Tw(),t=[0,1],n=!1,r;function a(s){var o=m7(e(s));return isNaN(o)?r:n?Math.round(o):o}return a.invert=function(s){return e.invert(t1(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,kh)).map(t1)),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 fP(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Ar.apply(a,arguments),Di(a)}function hP(){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]=xV(e,o/l);return s}function s(o){return o==null||isNaN(o=+o)?r:t[td(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(Ei),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 hP().domain(e).range(t).unknown(r)},Ar.apply(s,arguments)}function pP(){var e=0,t=1,n=1,r=[.5],a=[0,1],s;function o(c){return c!=null&&c<=c?a[td(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 pP().domain([e,t]).range(a).unknown(s)},Ar.apply(Di(o),arguments)}function mP(){var e=[.5],t=[0,1],n,r=1;function a(s){return s!=null&&s<=s?t[td(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 mP().domain(e).range(t).unknown(n)},Ar.apply(a,arguments)}const xg=new Date,wg=new Date;function Yt(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=>Yt(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)=>(xg.setTime(+s),wg.setTime(+o),e(xg),e(wg),Math.floor(n(xg,wg))),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 Eh=Yt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Eh.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Yt(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Eh);Eh.range;const Ta=1e3,kr=Ta*60,Oa=kr*60,Fa=Oa*24,Lw=Fa*7,n1=Fa*30,kg=Fa*365,ms=Yt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ta)},(e,t)=>(t-e)/Ta,e=>e.getUTCSeconds());ms.range;const Dw=Yt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ta)},(e,t)=>{e.setTime(+e+t*kr)},(e,t)=>(t-e)/kr,e=>e.getMinutes());Dw.range;const Bw=Yt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*kr)},(e,t)=>(t-e)/kr,e=>e.getUTCMinutes());Bw.range;const zw=Yt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ta-e.getMinutes()*kr)},(e,t)=>{e.setTime(+e+t*Oa)},(e,t)=>(t-e)/Oa,e=>e.getHours());zw.range;const Fw=Yt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Oa)},(e,t)=>(t-e)/Oa,e=>e.getUTCHours());Fw.range;const ad=Yt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*kr)/Fa,e=>e.getDate()-1);ad.range;const nm=Yt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Fa,e=>e.getUTCDate()-1);nm.range;const gP=Yt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Fa,e=>Math.floor(e/Fa));gP.range;function zs(e){return Yt(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())*kr)/Lw)}const rm=zs(0),_h=zs(1),g7=zs(2),v7=zs(3),Jo=zs(4),y7=zs(5),b7=zs(6);rm.range;_h.range;g7.range;v7.range;Jo.range;y7.range;b7.range;function Fs(e){return Yt(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)/Lw)}const am=Fs(0),Ch=Fs(1),x7=Fs(2),w7=Fs(3),el=Fs(4),k7=Fs(5),S7=Fs(6);am.range;Ch.range;x7.range;w7.range;el.range;k7.range;S7.range;const Uw=Yt(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());Uw.range;const Ww=Yt(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());Ww.range;const Ua=Yt(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());Ua.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Yt(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)});Ua.range;const Wa=Yt(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());Wa.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Yt(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)});Wa.range;function vP(e,t,n,r,a,s){const o=[[ms,1,Ta],[ms,5,5*Ta],[ms,15,15*Ta],[ms,30,30*Ta],[s,1,kr],[s,5,5*kr],[s,15,15*kr],[s,30,30*kr],[a,1,Oa],[a,3,3*Oa],[a,6,6*Oa],[a,12,12*Oa],[r,1,Fa],[r,2,2*Fa],[n,1,Lw],[t,1,n1],[t,3,3*n1],[e,1,kg]];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=Nw(([,,y])=>y).right(o,h);if(p===o.length)return e.every(qy(u/kg,d/kg,f));if(p===0)return Eh.every(Math.max(qy(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[j7,N7]=vP(Wa,Ww,am,gP,Fw,Bw),[E7,_7]=vP(Ua,Uw,rm,ad,zw,Dw);function Sg(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 jg(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 ic(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function C7(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=sc(a),d=oc(a),f=sc(s),h=oc(s),p=sc(o),m=oc(o),g=sc(l),y=oc(l),v=sc(c),S=oc(c),w={a:U,A:R,b:z,B:T,c:null,d:l1,e:l1,f:Q7,g:oY,G:cY,H:V7,I:Y7,j:X7,L:yP,m:Z7,M:J7,p:Z,q:F,Q:d1,s:f1,S:eY,u:tY,U:nY,V:rY,w:aY,W:iY,x:null,X:null,y:sY,Y:lY,Z:uY,"%":u1},N={a:I,A:se,b:he,B:ge,c:null,d:c1,e:c1,f:pY,g:jY,G:EY,H:dY,I:fY,j:hY,L:xP,m:mY,M:gY,p:Te,q:X,Q:d1,s:f1,S:vY,u:yY,U:bY,V:xY,w:wY,W:kY,x:null,X:null,y:SY,Y:NY,Z:_Y,"%":u1},k={a:_,A,b:O,B,c:$,d:s1,e:s1,f:H7,g:i1,G:a1,H:o1,I:o1,j:z7,L:W7,m:B7,M:F7,p:P,q:D7,Q:q7,s:K7,S:U7,u:R7,U:M7,V:I7,w:P7,W:$7,x:M,X:D,y:i1,Y:a1,Z:L7,"%":G7};w.x=b(n,w),w.X=b(r,w),w.c=b(t,w),N.x=b(n,N),N.X=b(r,N),N.c=b(t,N);function b(Y,ie){return function(de){var W=[],xe=-1,we=0,_e=Y.length,ve,Le,pe;for(de instanceof Date||(de=new Date(+de));++xe<_e;)Y.charCodeAt(xe)===37&&(W.push(Y.slice(we,xe)),(Le=r1[ve=Y.charAt(++xe)])!=null?ve=Y.charAt(++xe):Le=ve==="e"?" ":"0",(pe=ie[ve])&&(ve=pe(de,Le)),W.push(ve),we=xe+1);return W.push(Y.slice(we,xe)),W.join("")}}function j(Y,ie){return function(de){var W=ic(1900,void 0,1),xe=E(W,Y,de+="",0),we,_e;if(xe!=de.length)return null;if("Q"in W)return new Date(W.Q);if("s"in W)return new Date(W.s*1e3+("L"in W?W.L:0));if(ie&&!("Z"in W)&&(W.Z=0),"p"in W&&(W.H=W.H%12+W.p*12),W.m===void 0&&(W.m="q"in W?W.q:0),"V"in W){if(W.V<1||W.V>53)return null;"w"in W||(W.w=1),"Z"in W?(we=jg(ic(W.y,0,1)),_e=we.getUTCDay(),we=_e>4||_e===0?Ch.ceil(we):Ch(we),we=nm.offset(we,(W.V-1)*7),W.y=we.getUTCFullYear(),W.m=we.getUTCMonth(),W.d=we.getUTCDate()+(W.w+6)%7):(we=Sg(ic(W.y,0,1)),_e=we.getDay(),we=_e>4||_e===0?_h.ceil(we):_h(we),we=ad.offset(we,(W.V-1)*7),W.y=we.getFullYear(),W.m=we.getMonth(),W.d=we.getDate()+(W.w+6)%7)}else("W"in W||"U"in W)&&("w"in W||(W.w="u"in W?W.u%7:"W"in W?1:0),_e="Z"in W?jg(ic(W.y,0,1)).getUTCDay():Sg(ic(W.y,0,1)).getDay(),W.m=0,W.d="W"in W?(W.w+6)%7+W.W*7-(_e+5)%7:W.w+W.U*7-(_e+6)%7);return"Z"in W?(W.H+=W.Z/100|0,W.M+=W.Z%100,jg(W)):Sg(W)}}function E(Y,ie,de,W){for(var xe=0,we=ie.length,_e=de.length,ve,Le;xe<we;){if(W>=_e)return-1;if(ve=ie.charCodeAt(xe++),ve===37){if(ve=ie.charAt(xe++),Le=k[ve in r1?ie.charAt(xe++):ve],!Le||(W=Le(Y,de,W))<0)return-1}else if(ve!=de.charCodeAt(W++))return-1}return W}function P(Y,ie,de){var W=u.exec(ie.slice(de));return W?(Y.p=d.get(W[0].toLowerCase()),de+W[0].length):-1}function _(Y,ie,de){var W=p.exec(ie.slice(de));return W?(Y.w=m.get(W[0].toLowerCase()),de+W[0].length):-1}function A(Y,ie,de){var W=f.exec(ie.slice(de));return W?(Y.w=h.get(W[0].toLowerCase()),de+W[0].length):-1}function O(Y,ie,de){var W=v.exec(ie.slice(de));return W?(Y.m=S.get(W[0].toLowerCase()),de+W[0].length):-1}function B(Y,ie,de){var W=g.exec(ie.slice(de));return W?(Y.m=y.get(W[0].toLowerCase()),de+W[0].length):-1}function $(Y,ie,de){return E(Y,t,ie,de)}function M(Y,ie,de){return E(Y,n,ie,de)}function D(Y,ie,de){return E(Y,r,ie,de)}function U(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 F(Y){return 1+~~(Y.getMonth()/3)}function I(Y){return o[Y.getUTCDay()]}function se(Y){return s[Y.getUTCDay()]}function he(Y){return c[Y.getUTCMonth()]}function ge(Y){return l[Y.getUTCMonth()]}function Te(Y){return a[+(Y.getUTCHours()>=12)]}function X(Y){return 1+~~(Y.getUTCMonth()/3)}return{format:function(Y){var ie=b(Y+="",w);return ie.toString=function(){return Y},ie},parse:function(Y){var ie=j(Y+="",!1);return ie.toString=function(){return Y},ie},utcFormat:function(Y){var ie=b(Y+="",N);return ie.toString=function(){return Y},ie},utcParse:function(Y){var ie=j(Y+="",!0);return ie.toString=function(){return Y},ie}}}var r1={"-":"",_:" ",0:"0"},nn=/^\s*\d+/,A7=/^%/,T7=/[\\^$*+?|[\]().{}]/g;function Ve(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 O7(e){return e.replace(T7,"\\$&")}function sc(e){return new RegExp("^(?:"+e.map(O7).join("|")+")","i")}function oc(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function P7(e,t,n){var r=nn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function R7(e,t,n){var r=nn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function M7(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function I7(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function $7(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function a1(e,t,n){var r=nn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function i1(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function L7(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 D7(e,t,n){var r=nn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function B7(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function s1(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function z7(e,t,n){var r=nn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function o1(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function F7(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function U7(e,t,n){var r=nn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function W7(e,t,n){var r=nn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function H7(e,t,n){var r=nn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function G7(e,t,n){var r=A7.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function q7(e,t,n){var r=nn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function K7(e,t,n){var r=nn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function l1(e,t){return Ve(e.getDate(),t,2)}function V7(e,t){return Ve(e.getHours(),t,2)}function Y7(e,t){return Ve(e.getHours()%12||12,t,2)}function X7(e,t){return Ve(1+ad.count(Ua(e),e),t,3)}function yP(e,t){return Ve(e.getMilliseconds(),t,3)}function Q7(e,t){return yP(e,t)+"000"}function Z7(e,t){return Ve(e.getMonth()+1,t,2)}function J7(e,t){return Ve(e.getMinutes(),t,2)}function eY(e,t){return Ve(e.getSeconds(),t,2)}function tY(e){var t=e.getDay();return t===0?7:t}function nY(e,t){return Ve(rm.count(Ua(e)-1,e),t,2)}function bP(e){var t=e.getDay();return t>=4||t===0?Jo(e):Jo.ceil(e)}function rY(e,t){return e=bP(e),Ve(Jo.count(Ua(e),e)+(Ua(e).getDay()===4),t,2)}function aY(e){return e.getDay()}function iY(e,t){return Ve(_h.count(Ua(e)-1,e),t,2)}function sY(e,t){return Ve(e.getFullYear()%100,t,2)}function oY(e,t){return e=bP(e),Ve(e.getFullYear()%100,t,2)}function lY(e,t){return Ve(e.getFullYear()%1e4,t,4)}function cY(e,t){var n=e.getDay();return e=n>=4||n===0?Jo(e):Jo.ceil(e),Ve(e.getFullYear()%1e4,t,4)}function uY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ve(t/60|0,"0",2)+Ve(t%60,"0",2)}function c1(e,t){return Ve(e.getUTCDate(),t,2)}function dY(e,t){return Ve(e.getUTCHours(),t,2)}function fY(e,t){return Ve(e.getUTCHours()%12||12,t,2)}function hY(e,t){return Ve(1+nm.count(Wa(e),e),t,3)}function xP(e,t){return Ve(e.getUTCMilliseconds(),t,3)}function pY(e,t){return xP(e,t)+"000"}function mY(e,t){return Ve(e.getUTCMonth()+1,t,2)}function gY(e,t){return Ve(e.getUTCMinutes(),t,2)}function vY(e,t){return Ve(e.getUTCSeconds(),t,2)}function yY(e){var t=e.getUTCDay();return t===0?7:t}function bY(e,t){return Ve(am.count(Wa(e)-1,e),t,2)}function wP(e){var t=e.getUTCDay();return t>=4||t===0?el(e):el.ceil(e)}function xY(e,t){return e=wP(e),Ve(el.count(Wa(e),e)+(Wa(e).getUTCDay()===4),t,2)}function wY(e){return e.getUTCDay()}function kY(e,t){return Ve(Ch.count(Wa(e)-1,e),t,2)}function SY(e,t){return Ve(e.getUTCFullYear()%100,t,2)}function jY(e,t){return e=wP(e),Ve(e.getUTCFullYear()%100,t,2)}function NY(e,t){return Ve(e.getUTCFullYear()%1e4,t,4)}function EY(e,t){var n=e.getUTCDay();return e=n>=4||n===0?el(e):el.ceil(e),Ve(e.getUTCFullYear()%1e4,t,4)}function _Y(){return"+0000"}function u1(){return"%"}function d1(e){return+e}function f1(e){return Math.floor(+e/1e3)}var to,kP,SP;CY({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 CY(e){return to=C7(e),kP=to.format,to.parse,SP=to.utcFormat,to.utcParse,to}function AY(e){return new Date(e)}function TY(e){return e instanceof Date?+e:+new Date(+e)}function Hw(e,t,n,r,a,s,o,l,c,u){var d=Tw(),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(b){return(c(b)<b?p:l(b)<b?m:o(b)<b?g:s(b)<b?y:r(b)<b?a(b)<b?v:S:n(b)<b?w:N)(b)}return d.invert=function(b){return new Date(f(b))},d.domain=function(b){return arguments.length?h(Array.from(b,TY)):h().map(AY)},d.ticks=function(b){var j=h();return e(j[0],j[j.length-1],b??10)},d.tickFormat=function(b,j){return j==null?k:u(j)},d.nice=function(b){var j=h();return(!b||typeof b.range!="function")&&(b=t(j[0],j[j.length-1],b??10)),b?h(cP(j,b)):d},d.copy=function(){return rd(d,Hw(e,t,n,r,a,s,o,l,c,u))},d}function OY(){return Ar.apply(Hw(E7,_7,Ua,Uw,rm,ad,zw,Dw,ms,kP).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function PY(){return Ar.apply(Hw(j7,N7,Wa,Ww,am,nm,Fw,Bw,ms,SP).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function im(){var e=0,t=1,n,r,a,s,o=Pn,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(Al),u.rangeRound=d(Aw),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 Bi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function jP(){var e=Di(im()(Pn));return e.copy=function(){return Bi(e,jP())},Va.apply(e,arguments)}function NP(){var e=Rw(im()).domain([1,10]);return e.copy=function(){return Bi(e,NP()).base(e.base())},Va.apply(e,arguments)}function EP(){var e=Mw(im());return e.copy=function(){return Bi(e,EP()).constant(e.constant())},Va.apply(e,arguments)}function Gw(){var e=Iw(im());return e.copy=function(){return Bi(e,Gw()).exponent(e.exponent())},Va.apply(e,arguments)}function RY(){return Gw.apply(null,arguments).exponent(.5)}function _P(){var e=[],t=Pn;function n(r){if(r!=null&&!isNaN(r=+r))return t((td(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(Ei),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)=>bV(e,s/r))},n.copy=function(){return _P(t).domain(e)},Va.apply(n,arguments)}function sm(){var e=0,t=.5,n=1,r=1,a,s,o,l,c,u=Pn,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=GV(g,[v,S,w]),p):[u(0),u(.5),u(1)]}}return p.range=m(Al),p.rangeRound=m(Aw),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 CP(){var e=Di(sm()(Pn));return e.copy=function(){return Bi(e,CP())},Va.apply(e,arguments)}function AP(){var e=Rw(sm()).domain([.1,1,10]);return e.copy=function(){return Bi(e,AP()).base(e.base())},Va.apply(e,arguments)}function TP(){var e=Mw(sm());return e.copy=function(){return Bi(e,TP()).constant(e.constant())},Va.apply(e,arguments)}function qw(){var e=Iw(sm());return e.copy=function(){return Bi(e,qw()).exponent(e.exponent())},Va.apply(e,arguments)}function MY(){return qw.apply(null,arguments).exponent(.5)}const h1=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:pu,scaleDiverging:CP,scaleDivergingLog:AP,scaleDivergingPow:qw,scaleDivergingSqrt:MY,scaleDivergingSymlog:TP,scaleIdentity:lP,scaleImplicit:Ky,scaleLinear:Nh,scaleLog:uP,scaleOrdinal:Ew,scalePoint:Rc,scalePow:$w,scaleQuantile:hP,scaleQuantize:pP,scaleRadial:fP,scaleSequential:jP,scaleSequentialLog:NP,scaleSequentialPow:Gw,scaleSequentialQuantile:_P,scaleSequentialSqrt:RY,scaleSequentialSymlog:EP,scaleSqrt:p7,scaleSymlog:dP,scaleThreshold:mP,scaleTime:OY,scaleUtc:PY,tickFormat:oP},Symbol.toStringTag,{value:"Module"}));var IY=wl;function $Y(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&&!IY(o):n(o,l)))var l=o,c=s}return c}var OP=$Y;function LY(e,t){return e>t}var DY=LY,BY=OP,zY=DY,FY=Cl;function UY(e){return e&&e.length?BY(e,FY,zY):void 0}var WY=UY;const om=Je(WY);function HY(e,t){return e<t}var GY=HY,qY=OP,KY=GY,VY=Cl;function YY(e){return e&&e.length?qY(e,VY,KY):void 0}var XY=YY;const lm=Je(XY);var QY=sw,ZY=Li,JY=FO,eX=qn;function tX(e,t){var n=eX(e)?QY:JY;return n(e,ZY(t))}var nX=tX,rX=BO,aX=nX;function iX(e,t){return rX(aX(e,t),1)}var sX=iX;const oX=Je(sX);var lX=ww;function cX(e,t){return lX(e,t)}var uX=cX;const Kw=Je(uX);var Tl=1e9,dX={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},Yw,St=!0,_r="[DecimalError] ",ks=_r+"Invalid argument: ",Vw=_r+"Exponent out of range: ",Ol=Math.floor,is=Math.pow,fX=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,nr,Qt=1e7,yt=7,PP=9007199254740991,Ah=Ol(PP/yt),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)*yt;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 $a(this,new this.constructor(e))};be.dividedToIntegerBy=be.idiv=function(e){var t=this,n=t.constructor;return dt($a(t,new n(e),0,1),n.precision)};be.equals=be.eq=function(e){return!this.cmp(e)};be.exponent=function(){return Wt(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(nr))throw Error(_r+"NaN");if(n.s<1)throw Error(_r+(n.s?"NaN":"-Infinity"));return n.eq(nr)?new r(0):(St=!1,t=$a(bu(n,s),bu(e,s),s),St=!0,dt(t,a))};be.minus=be.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?IP(t,e):RP(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(_r+"NaN");return n.s?(St=!1,t=$a(n,e,0,1).times(e),St=!0,n.minus(t)):dt(new r(n),a)};be.naturalExponential=be.exp=function(){return MP(this)};be.naturalLogarithm=be.ln=function(){return bu(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?RP(t,e):IP(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(ks+e);if(t=Wt(a)+1,r=a.d.length-1,n=r*yt+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(_r+"NaN")}for(e=Wt(l),St=!1,a=Math.sqrt(+l),a==0||a==1/0?(t=sa(l.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Ol((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($a(l,s,o+2)).times(.5),sa(s.d).slice(0,o)===(t=sa(r.d)).slice(0,o)){if(t=t.slice(o-3,o+1),a==o&&t=="4999"){if(dt(s,n+1,0),s.times(s).eq(l)){r=s;break}}else if(t!="9999")break;o+=4}return St=!0,dt(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%Qt|0,t=l/Qt|0;s[a]=(s[a]+t)%Qt|0}for(;!s[--o];)s.pop();return t?++n:s.shift(),e.d=s,e.e=n,St?dt(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:(da(e,0,Tl),t===void 0?t=r.rounding:da(t,0,8),dt(n,e+Wt(n)+1,t))};be.toExponential=function(e,t){var n,r=this,a=r.constructor;return e===void 0?n=Rs(r,!0):(da(e,0,Tl),t===void 0?t=a.rounding:da(t,0,8),r=dt(new a(r),e+1,t),n=Rs(r,!0,e+1)),n};be.toFixed=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?Rs(a):(da(e,0,Tl),t===void 0?t=s.rounding:da(t,0,8),r=dt(new s(a),e+Wt(a)+1,t),n=Rs(r.abs(),!1,e+Wt(r)+1),a.isneg()&&!a.isZero()?"-"+n:n)};be.toInteger=be.toint=function(){var e=this,t=e.constructor;return dt(new t(e),Wt(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(nr);if(l=new c(l),!l.s){if(e.s<1)throw Error(_r+"Infinity");return l}if(l.eq(nr))return l;if(r=c.precision,e.eq(nr))return dt(l,r);if(t=e.e,n=e.d.length-1,o=t>=n,s=l.s,o){if((n=d<0?-d:d)<=PP){for(a=new c(nr),t=Math.ceil(r/yt+4),St=!1;n%2&&(a=a.times(l),m1(a.d,t)),n=Ol(n/2),n!==0;)l=l.times(l),m1(l.d,t);return St=!0,e.s<0?new c(nr).div(a):dt(a,r)}}else if(s<0)throw Error(_r+"NaN");return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,l.s=1,St=!1,a=e.times(bu(l,r+u)),St=!0,a=MP(a),a.s=s,a};be.toPrecision=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?(n=Wt(a),r=Rs(a,n<=s.toExpNeg||n>=s.toExpPos)):(da(e,1,Tl),t===void 0?t=s.rounding:da(t,0,8),a=dt(new s(a),e,t),n=Wt(a),r=Rs(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):(da(e,1,Tl),t===void 0?t=r.rounding:da(t,0,8)),dt(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=Wt(e),n=e.constructor;return Rs(e,t<=n.toExpNeg||t>=n.toExpPos)};function RP(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)),St?dt(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/yt),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)/Qt|0,c[s]%=Qt;for(n&&(c.unshift(n),++a),l=c.length;c[--l]==0;)c.pop();return t.d=c,t.e=a,St?dt(t,f):t}function da(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ks+e)}function sa(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=yt-r.length,n&&(s+=ii(n)),s+=r;o=e[t],r=o+"",n=yt-r.length,n&&(s+=ii(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return s+o}var $a=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%Qt|0,o=s/Qt|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*Qt+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,b,j,E,P=r.constructor,_=r.s==a.s?1:-1,A=r.d,O=a.d;if(!r.s)return new P(r);if(!a.s)throw Error(_r+"Division by zero");for(c=r.e-a.e,j=O.length,k=A.length,p=new P(_),m=p.d=[],u=0;O[u]==(A[u]||0);)++u;if(O[u]>(A[u]||0)&&--c,s==null?S=s=P.precision:o?S=s+(Wt(r)-Wt(a))+1:S=s,S<0)return new P(0);if(S=S/yt+2|0,u=0,j==1)for(d=0,O=O[0],S++;(u<k||d)&&S--;u++)w=d*Qt+(A[u]||0),m[u]=w/O|0,d=w%O|0;else{for(d=Qt/(O[0]+1)|0,d>1&&(O=e(O,d),A=e(A,d),j=O.length,k=A.length),N=j,g=A.slice(0,j),y=g.length;y<j;)g[y++]=0;E=O.slice(),E.unshift(0),b=O[0],O[1]>=Qt/2&&++b;do d=0,l=t(O,g,j,y),l<0?(v=g[0],j!=y&&(v=v*Qt+(g[1]||0)),d=v/b|0,d>1?(d>=Qt&&(d=Qt-1),f=e(O,d),h=f.length,y=g.length,l=t(f,g,h,y),l==1&&(d--,n(f,j<h?E:O,h))):(d==0&&(l=d=1),f=O.slice()),h=f.length,h<y&&f.unshift(0),n(g,f,y),l==-1&&(y=g.length,l=t(O,g,j,y),l<1&&(d++,n(g,j<y?E:O,y))),y=g.length):l===0&&(d++,g=[0]),m[u++]=d,l&&g[0]?g[y++]=A[N]||0:(g=[A[N]],y=1);while((N++<k||g[0]!==void 0)&&S--)}return m[0]||m.shift(),p.e=c,dt(p,o?s+Wt(p)+1:s)}}();function MP(e,t){var n,r,a,s,o,l,c=0,u=0,d=e.constructor,f=d.precision;if(Wt(e)>16)throw Error(Vw+Wt(e));if(!e.s)return new d(nr);for(St=!1,l=f,o=new d(.03125);e.abs().gte(.1);)e=e.times(o),u+=5;for(r=Math.log(is(2,u))/Math.LN10*2+5|0,l+=r,n=a=s=new d(nr),d.precision=l;;){if(a=dt(a.times(e),l),n=n.times(++c),o=s.plus($a(a,n,l)),sa(o.d).slice(0,l)===sa(s.d).slice(0,l)){for(;u--;)s=dt(s.times(s),l);return d.precision=f,t==null?(St=!0,dt(s,f)):s}s=o}}function Wt(e){for(var t=e.e*yt,n=e.d[0];n>=10;n/=10)t++;return t}function Ng(e,t,n){if(t>e.LN10.sd())throw St=!0,n&&(e.precision=n),Error(_r+"LN10 precision limit exceeded");return dt(new e(e.LN10),t)}function ii(e){for(var t="";e--;)t+="0";return t}function bu(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(_r+(p.s?"NaN":"-Infinity"));if(p.eq(nr))return new g(0);if(t==null?(St=!1,u=y):u=t,p.eq(10))return t==null&&(St=!0),Ng(g,u);if(u+=h,g.precision=u,n=sa(m),r=n.charAt(0),s=Wt(p),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)p=p.times(e),n=sa(p.d),r=n.charAt(0),f++;s=Wt(p),r>1?(p=new g("0."+n),s++):p=new g(r+"."+n.slice(1))}else return c=Ng(g,u+2,y).times(s+""),p=bu(new g(r+"."+n.slice(1)),u-h).plus(c),g.precision=y,t==null?(St=!0,dt(p,y)):p;for(l=o=p=$a(p.minus(nr),p.plus(nr),u),d=dt(p.times(p),u),a=3;;){if(o=dt(o.times(d),u),c=l.plus($a(o,new g(a),u)),sa(c.d).slice(0,u)===sa(l.d).slice(0,u))return l=l.times(2),s!==0&&(l=l.plus(Ng(g,u+2,y).times(s+""))),l=$a(l,new g(f),u),g.precision=y,t==null?(St=!0,dt(l,y)):l;l=c,a+=2}}function p1(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=Ol(n/yt),e.d=[],r=(n+1)%yt,n<0&&(r+=yt),r<a){for(r&&e.d.push(+t.slice(0,r)),a-=yt;r<a;)e.d.push(+t.slice(r,r+=yt));t=t.slice(r),r=yt-t.length}else r-=a;for(;r--;)t+="0";if(e.d.push(+t),St&&(e.e>Ah||e.e<-Ah))throw Error(Vw+n)}else e.s=0,e.e=0,e.d=[0];return e}function dt(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+=yt,a=t,u=f[d=0];else{if(d=Math.ceil((r+1)/yt),s=f.length,d>=s)return e;for(u=s=f[d],o=1;s>=10;s/=10)o++;r%=yt,a=r-yt+o}if(n!==void 0&&(s=is(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/is(10,o-a):0:f[d-1])%10&1||n==(e.s<0?8:7))),t<1||!f[0])return c?(s=Wt(e),f.length=1,t=t-s-1,f[0]=is(10,(yt-t%yt)%yt),e.e=Ol(-t/yt)||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=is(10,yt-r),f[d]=a>0?(u/is(10,o-a)%is(10,a)|0)*s:0),c)for(;;)if(d==0){(f[0]+=s)==Qt&&(f[0]=1,++e.e);break}else{if(f[d]+=s,f[d]!=Qt)break;f[d--]=0,s=1}for(r=f.length;f[--r]===0;)f.pop();if(St&&(e.e>Ah||e.e<-Ah))throw Error(Vw+Wt(e));return e}function IP(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),St?dt(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/yt),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]=Qt-1;--c[s],c[a]+=Qt}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,St?dt(t,p):t):new h(0)}function Rs(e,t,n){var r,a=Wt(e),s=sa(e.d),o=s.length;return t?(n&&(r=n-o)>0?s=s.charAt(0)+"."+s.slice(1)+ii(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(a<0?"e":"e+")+a):a<0?(s="0."+ii(-a-1)+s,n&&(r=n-o)>0&&(s+=ii(r))):a>=o?(s+=ii(a+1-o),n&&(r=n-a-1)>0&&(s=s+"."+ii(r))):((r=a+1)<o&&(s=s.slice(0,r)+"."+s.slice(r)),n&&(r=n-o)>0&&(a+1===o&&(s+="."),s+=ii(r))),e.s<0?"-"+s:s}function m1(e,t){if(e.length>t)return e.length=t,!0}function $P(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(ks+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 p1(o,s.toString())}else if(typeof s!="string")throw Error(ks+s);if(s.charCodeAt(0)===45?(s=s.slice(1),o.s=-1):o.s=1,fX.test(s))p1(o,s);else throw Error(ks+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=$P,a.config=a.set=hX,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 hX(e){if(!e||typeof e!="object")throw Error(_r+"Object expected");var t,n,r,a=["precision",1,Tl,"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(Ol(r)===r&&r>=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(ks+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(ks+n+": "+r);return this}var Yw=$P(dX);nr=new Yw(1);const lt=Yw;function pX(e){return yX(e)||vX(e)||gX(e)||mX()}function mX(){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 gX(e,t){if(e){if(typeof e=="string")return Qy(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 Qy(e,t)}}function vX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function yX(e){if(Array.isArray(e))return Qy(e)}function Qy(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 bX=function(t){return t},LP={},DP=function(t){return t===LP},g1=function(t){return function n(){return arguments.length===0||arguments.length===1&&DP(arguments.length<=0?void 0:arguments[0])?n:t.apply(void 0,arguments)}},xX=function e(t,n){return t===1?n:g1(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!==LP}).length;return o>=t?n.apply(void 0,a):e(t-o,g1(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 DP(f)?c.shift():f});return n.apply(void 0,pX(d).concat(c))}))})},cm=function(t){return xX(t.length,t)},Zy=function(t,n){for(var r=[],a=t;a<n;++a)r[a-t]=a;return r},wX=cm(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(n){return t[n]}).map(e)}),kX=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return bX;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))}},Jy=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},BP=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 SX(e){var t;return e===0?t=1:t=Math.floor(new lt(e).abs().log(10).toNumber())+1,t}function jX(e,t,n){for(var r=new lt(e),a=0,s=[];r.lt(t)&&a<1e5;)s.push(r.toNumber()),r=r.add(n),a++;return s}var NX=cm(function(e,t,n){var r=+e,a=+t;return r+n*(a-r)}),EX=cm(function(e,t,n){var r=t-+e;return r=r||1/0,(n-e)/r}),_X=cm(function(e,t,n){var r=t-+e;return r=r||1/0,Math.max(0,Math.min(1,(n-e)/r))});const um={rangeStep:jX,getDigitCount:SX,interpolateNumber:NX,uninterpolateNumber:EX,uninterpolateTruncation:_X};function eb(e){return TX(e)||AX(e)||zP(e)||CX()}function CX(){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 AX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function TX(e){if(Array.isArray(e))return tb(e)}function xu(e,t){return RX(e)||PX(e,t)||zP(e,t)||OX()}function OX(){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 zP(e,t){if(e){if(typeof e=="string")return tb(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 tb(e,t)}}function tb(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 PX(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 RX(e){if(Array.isArray(e))return e}function FP(e){var t=xu(e,2),n=t[0],r=t[1],a=n,s=r;return n>r&&(a=r,s=n),[a,s]}function UP(e,t,n){if(e.lte(0))return new lt(0);var r=um.getDigitCount(e.toNumber()),a=new lt(10).pow(r),s=e.div(a),o=r!==1?.05:.1,l=new lt(Math.ceil(s.div(o).toNumber())).add(n).mul(o),c=l.mul(a);return t?c:new lt(Math.ceil(c))}function MX(e,t,n){var r=1,a=new lt(e);if(!a.isint()&&n){var s=Math.abs(e);s<1?(r=new lt(10).pow(um.getDigitCount(e)-1),a=new lt(Math.floor(a.div(r).toNumber())).mul(r)):s>1&&(a=new lt(Math.floor(e)))}else e===0?a=new lt(Math.floor((t-1)/2)):n||(a=new lt(Math.floor(e)));var o=Math.floor((t-1)/2),l=kX(wX(function(c){return a.add(new lt(c-o).mul(r)).toNumber()}),Zy);return l(0,t)}function WP(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 lt(0),tickMin:new lt(0),tickMax:new lt(0)};var s=UP(new lt(t).sub(e).div(n-1),r,a),o;e<=0&&t>=0?o=new lt(0):(o=new lt(e).add(t).div(2),o=o.sub(new lt(o).mod(s)));var l=Math.ceil(o.sub(e).div(s).toNumber()),c=Math.ceil(new lt(t).sub(o).div(s).toNumber()),u=l+c+1;return u>n?WP(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 lt(l).mul(s)),tickMax:o.add(new lt(c).mul(s))})}function IX(e){var t=xu(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=FP([n,r]),c=xu(l,2),u=c[0],d=c[1];if(u===-1/0||d===1/0){var f=d===1/0?[u].concat(eb(Zy(0,a-1).map(function(){return 1/0}))):[].concat(eb(Zy(0,a-1).map(function(){return-1/0})),[d]);return n>r?Jy(f):f}if(u===d)return MX(u,a,s);var h=WP(u,d,o,s),p=h.step,m=h.tickMin,g=h.tickMax,y=um.rangeStep(m,g.add(new lt(.1).mul(p)),p);return n>r?Jy(y):y}function $X(e,t){var n=xu(e,2),r=n[0],a=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=FP([r,a]),l=xu(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=UP(new lt(u).sub(c).div(d-1),s,0),h=[].concat(eb(um.rangeStep(new lt(c),new lt(u).sub(new lt(.99).mul(f)),f)),[u]);return r>a?Jy(h):h}var LX=BP(IX),DX=BP($X),BX="Invariant failed";function Ms(e,t){throw new Error(BX)}var zX=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function tl(e){"@babel/helpers - typeof";return tl=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},tl(e)}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)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Th.apply(this,arguments)}function FX(e,t){return GX(e)||HX(e,t)||WX(e,t)||UX()}function UX(){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 WX(e,t){if(e){if(typeof e=="string")return v1(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 v1(e,t)}}function v1(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 HX(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 GX(e){if(Array.isArray(e))return e}function qX(e,t){if(e==null)return{};var n=KX(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 KX(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 VX(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function YX(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,qP(r.key),r)}}function XX(e,t,n){return t&&YX(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function QX(e,t,n){return t=Oh(t),ZX(e,HP()?Reflect.construct(t,n||[],Oh(e).constructor):t.apply(e,n))}function ZX(e,t){if(t&&(tl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return JX(e)}function JX(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function HP(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(HP=function(){return!!e})()}function Oh(e){return Oh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Oh(e)}function eQ(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&&nb(e,t)}function nb(e,t){return nb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},nb(e,t)}function GP(e,t,n){return t=qP(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qP(e){var t=tQ(e,"string");return tl(t)=="symbol"?t:t+""}function tQ(e,t){if(tl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(tl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var dm=function(e){function t(){return VX(this,t),QX(this,t,arguments)}return eQ(t,e),XX(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=qX(r,zX),p=Ye(h,!1);this.props.direction==="x"&&d.type!=="number"&&Ms();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=[],b,j;if(Array.isArray(N)){var E=FX(N,2);b=E[0],j=E[1]}else b=j=N;if(s==="vertical"){var P=d.scale,_=S+a,A=_+o,O=_-o,B=P(w-b),$=P(w+j);k.push({x1:$,y1:A,x2:$,y2:O}),k.push({x1:B,y1:_,x2:$,y2:_}),k.push({x1:B,y1:A,x2:B,y2:O})}else if(s==="horizontal"){var M=f.scale,D=v+a,U=D-o,R=D+o,z=M(w-b),T=M(w+j);k.push({x1:U,y1:T,x2:R,y2:T}),k.push({x1:D,y1:z,x2:D,y2:T}),k.push({x1:U,y1:z,x2:R,y2:z})}return V.createElement(en,Th({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",Th({},Z,{key:"line-".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))}))});return V.createElement(en,{className:"recharts-errorBars"},m)}}])}(V.Component);GP(dm,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});GP(dm,"displayName","ErrorBar");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 y1(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 Qi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?y1(Object(n),!0).forEach(function(r){nQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function nQ(e,t,n){return t=rQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rQ(e){var t=aQ(e,"string");return wu(t)=="symbol"?t:t+""}function aQ(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)}var KP=function(t){var n=t.children,r=t.formattedGraphicalItems,a=t.legendWidth,s=t.legendContent,o=tr(n,xs);if(!o)return null;var l=xs.defaultProps,c=l!==void 0?Qi(Qi({},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?Qi(Qi({},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:Xw(f),value:g||m,payload:p}}),Qi(Qi(Qi({},c),xs.getWithHeight(o,a)),{},{payload:u,item:o})};function ku(e){"@babel/helpers - typeof";return ku=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},ku(e)}function b1(e){return lQ(e)||oQ(e)||sQ(e)||iQ()}function iQ(){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 sQ(e,t){if(e){if(typeof e=="string")return rb(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 rb(e,t)}}function oQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function lQ(e){if(Array.isArray(e))return rb(e)}function rb(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 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 Mt(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){Lo(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 Lo(e,t,n){return t=cQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cQ(e){var t=uQ(e,"string");return ku(t)=="symbol"?t:t+""}function uQ(e,t){if(ku(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ku(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function fa(e,t,n){return Qe(e)||Qe(t)?n:Vt(t)?jr(e,t,n):Fe(t)?t(e):n}function Mc(e,t,n,r){var a=oX(e,function(l){return fa(l,t)});if(n==="number"){var s=a.filter(function(l){return fe(l)||parseFloat(l)});return s.length?[lm(s),om(s)]:[1/0,-1/0]}var o=r?a.filter(function(l){return!Qe(l)}):a;return o.map(function(l){return Vt(l)||l instanceof Date?l:""})}var dQ=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(Br(f-d)!==Br(h-f)){var m=[];if(Br(h-f)===Br(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},Xw=function(t){var n,r=t,a=r.type.displayName,s=(n=t.type)!==null&&n!==void 0&&n.defaultProps?Mt(Mt({},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},fQ=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 Ma(j.type).indexOf("Bar")>=0});if(v&&v.length){var S=v[0].type.defaultProps,w=S!==void 0?Mt(Mt({},S),v[0].props):v[0].props,N=w.barSize,k=w[y];o[k]||(o[k]=[]);var b=Qe(N)?n:N;o[k].push({item:v[0],stackList:v.slice(1),barSize:Qe(b)?void 0:Ps(b,r,0)})}}return o},hQ=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=Ps(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 b={item:k.item,position:{offset:y.offset+y.size+u,size:h?p:k.barSize}},j=[].concat(b1(N),[b]);return y=j[j.length-1].position,k.stackList&&k.stackList.length&&k.stackList.forEach(function(E){j.push({item:E,position:y})}),j},f)}else{var v=Ps(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,b){var j=[].concat(b1(N),[{item:k.item,position:{offset:v+(S+u)*b+(S-w)/2,size:w}}]);return k.stackList&&k.stackList.length&&k.stackList.forEach(function(E){j.push({item:E,position:j[j.length-1].position})}),j},f)}return d},pQ=function(t,n,r,a){var s=r.children,o=r.width,l=r.margin,c=o-(l.left||0)-(l.right||0),u=KP({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"&&fe(t[p]))return Mt(Mt({},t),{},Lo({},p,t[p]+(f||0)));if((g==="horizontal"||g==="vertical"&&p==="center")&&m!=="middle"&&fe(t[m]))return Mt(Mt({},t),{},Lo({},m,t[m]+(h||0)))}return t},mQ=function(t,n,r){return Qe(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},VP=function(t,n,r,a,s){var o=n.props.children,l=Ur(o,dm).filter(function(u){return mQ(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=fa(d,r);if(Qe(f))return u;var h=Array.isArray(f)?[lm(f),om(f)]:[f,f],p=c.reduce(function(m,g){var y=fa(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},gQ=function(t,n,r,a,s){var o=n.map(function(l){return VP(t,l,r,s,a)}).filter(function(l){return!Qe(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},YP=function(t,n,r,a,s){var o=n.map(function(c){var u=c.props.dataKey;return r==="number"&&u&&VP(t,c,u,a)||Mc(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},[])},XP=function(t,n){return t==="horizontal"&&n==="xAxis"||t==="vertical"&&n==="yAxis"||t==="centric"&&n==="angleAxis"||t==="radial"&&n==="radiusAxis"},QP=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},Pa=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?Br(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!Zu(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}})},Eg=new WeakMap,Kd=function(t,n){if(typeof n!="function")return t;Eg.has(t)||Eg.set(t,new WeakMap);var r=Eg.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},vQ=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:pu(),realScaleType:"band"}:o==="radial"&&l==="angleAxis"?{scale:Nh(),realScaleType:"linear"}:s==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Rc(),realScaleType:"point"}:s==="category"?{scale:pu(),realScaleType:"band"}:{scale:Nh(),realScaleType:"linear"};if(Os(a)){var c="scale".concat(Vp(a));return{scale:(h1[c]||Rc)(),realScaleType:h1[c]?c:"point"}}return Fe(a)?{scale:a}:{scale:Rc(),realScaleType:"point"}},w1=1e-4,yQ=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])-w1,o=Math.max(a[0],a[1])+w1,l=t(n[0]),c=t(n[r-1]);(l<s||l>o||c<s||c>o)&&t.domain([n[0],n[r-1]])}},bQ=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},xQ=function(t,n){if(!n||n.length!==2||!fe(n[0])||!fe(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(!fe(t[0])||t[0]<r)&&(s[0]=r),(!fe(t[1])||t[1]>a)&&(s[1]=a),s[0]>a&&(s[0]=a),s[1]<r&&(s[1]=r),s},wQ=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=Zu(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])}},kQ=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=Zu(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)}},SQ={sign:wQ,expand:D4,none:Ko,silhouette:B4,wiggle:z4,positive:kQ},jQ=function(t,n,r){var a=n.map(function(l){return l.props.dataKey}),s=SQ[r],o=L4().keys(a).value(function(l,c){return+fa(l,c,0)}).order(Cy).offset(s);return o(t)},NQ=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?Mt(Mt({},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(Vt(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[Kp("_stackId_")]={numericAxisId:r,cateAxisId:a,items:[h]};return Mt(Mt({},f),{},Lo({},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 Mt(Mt({},g),{},Lo({},y,{numericAxisId:r,cateAxisId:a,items:v.items,stackedData:jQ(t,v.items,s)}))},m)}return Mt(Mt({},f),{},Lo({},h,p))},d)},EQ=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=LX(u,s,l);return t.domain([lm(d),om(d)]),{niceTicks:d}}if(s&&a==="number"){var f=t.domain(),h=DX(f,s,l);return{niceTicks:h}}return null},k1=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=fa(o,n.dataKey,n.domain[l]);return Qe(c)?null:n.scale(c)-s/2+a},_Q=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]},CQ=function(t,n){var r,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?Mt(Mt({},t.type.defaultProps),t.props):t.props,s=a.stackId;if(Vt(s)){var o=n[s];if(o){var l=o.items.indexOf(t);return l>=0?o.stackedData[l]:null}}return null},AQ=function(t){return t.reduce(function(n,r){return[lm(r.concat([n[0]]).filter(fe)),om(r.concat([n[1]]).filter(fe))]},[1/0,-1/0])},ZP=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=AQ(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})},S1=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,j1=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ab=function(t,n,r){if(Fe(t))return t(n,r);if(!Array.isArray(t))return n;var a=[];if(fe(t[0]))a[0]=r?t[0]:Math.min(t[0],n[0]);else if(S1.test(t[0])){var s=+S1.exec(t[0])[1];a[0]=n[0]-s}else Fe(t[0])?a[0]=t[0](n[0]):a[0]=n[0];if(fe(t[1]))a[1]=r?t[1]:Math.max(t[1],n[1]);else if(j1.test(t[1])){var o=+j1.exec(t[1])[1];a[1]=n[1]+o}else Fe(t[1])?a[1]=t[1](n[1]):a[1]=n[1];return a},Ph=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=Sw(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},N1=function(t,n,r){return!t||!t.length||Kw(t,jr(r,"type.defaultProps.domain"))?n:t},JP=function(t,n){var r=t.type.defaultProps?Mt(Mt({},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 Mt(Mt({},Ye(t,!1)),{},{dataKey:a,unit:o,formatter:l,name:s||a,color:Xw(t),value:fa(n,a),type:c,payload:n,chartType:u,hide:d})};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 E1(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?E1(Object(n),!0).forEach(function(r){TQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function TQ(e,t,n){return t=OQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OQ(e){var t=PQ(e,"string");return Su(t)=="symbol"?t:t+""}function PQ(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 Rh=Math.PI/180,RQ=function(t){return t*180/Math.PI},cn=function(t,n,r,a){return{x:t+Math.cos(-Rh*a)*r,y:n+Math.sin(-Rh*a)*r}},MQ=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))},IQ=function(t,n){var r=t.x,a=t.y,s=n.cx,o=n.cy,l=MQ({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:RQ(u),angleInRadian:u}},$Q=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}},LQ=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},C1=function(t,n){var r=t.x,a=t.y,s=IQ({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=$Q(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?_1(_1({},n),{},{radius:o,angle:LQ(p,n)}):null};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)}var DQ=["offset"];function BQ(e){return WQ(e)||UQ(e)||FQ(e)||zQ()}function zQ(){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 FQ(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 UQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function WQ(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}function HQ(e,t){if(e==null)return{};var n=GQ(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 GQ(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 A1(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 Gt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?A1(Object(n),!0).forEach(function(r){qQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function qQ(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=VQ(e,"string");return ju(t)=="symbol"?t:t+""}function VQ(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 Nu(){return Nu=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},Nu.apply(this,arguments)}var YQ=function(t){var n=t.value,r=t.formatter,a=Qe(t.children)?n:t.children;return Fe(r)?r(a):a},XQ=function(t,n){var r=Br(n-t),a=Math.min(Math.abs(n-t),360);return r*a},QQ=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=XQ(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),b=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(b.x,",").concat(b.y),E=Qe(t.id)?Kp("recharts-radial-line-"):t.id;return V.createElement("text",Nu({},r,{dominantBaseline:"central",className:Xe("recharts-radial-bar-label",l)}),V.createElement("defs",null,V.createElement("path",{id:E,d:j})),V.createElement("textPath",{xlinkHref:"#".concat(E)},n))},ZQ=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"}},JQ=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 Gt(Gt({},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 Gt(Gt({},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 Gt(Gt({},k),r?{width:Math.max(k.x-r.x,0),height:d}:{})}if(s==="right"){var b={x:l+u+y,y:c+d/2,textAnchor:S,verticalAnchor:"middle"};return Gt(Gt({},b),r?{width:Math.max(r.x+r.width-b.x,0),height:d}:{})}var j=r?{width:u,height:d}:{};return s==="insideLeft"?Gt({x:l+y,y:c+d/2,textAnchor:S,verticalAnchor:"middle"},j):s==="insideRight"?Gt({x:l+u-y,y:c+d/2,textAnchor:v,verticalAnchor:"middle"},j):s==="insideTop"?Gt({x:l+u/2,y:c+h,textAnchor:"middle",verticalAnchor:m},j):s==="insideBottom"?Gt({x:l+u/2,y:c+d-h,textAnchor:"middle",verticalAnchor:p},j):s==="insideTopLeft"?Gt({x:l+y,y:c+h,textAnchor:S,verticalAnchor:m},j):s==="insideTopRight"?Gt({x:l+u-y,y:c+h,textAnchor:v,verticalAnchor:m},j):s==="insideBottomLeft"?Gt({x:l+y,y:c+d-h,textAnchor:S,verticalAnchor:p},j):s==="insideBottomRight"?Gt({x:l+u-y,y:c+d-h,textAnchor:v,verticalAnchor:p},j):kl(s)&&(fe(s.x)||hs(s.x))&&(fe(s.y)||hs(s.y))?Gt({x:l+Ps(s.x,u),y:c+Ps(s.y,d),textAnchor:"end",verticalAnchor:"end"},j):Gt({x:l+u/2,y:c+d/2,textAnchor:"middle",verticalAnchor:"middle"},j)},eZ=function(t){return"cx"in t&&fe(t.cx)};function kn(e){var t=e.offset,n=t===void 0?5:t,r=HQ(e,DQ),a=Gt({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||Qe(l)&&Qe(c)&&!x.isValidElement(u)&&!Fe(u))return null;if(x.isValidElement(u))return x.cloneElement(u,a);var p;if(Fe(u)){if(p=x.createElement(u,a),x.isValidElement(p))return p}else p=YQ(a);var m=eZ(s),g=Ye(a,!0);if(m&&(o==="insideStart"||o==="insideEnd"||o==="end"))return QQ(a,p,g);var y=m?ZQ(a):JQ(a);return V.createElement(vh,Nu({className:Xe("recharts-label",f)},g,y,{breakAll:h}),p)}kn.displayName="Label";var eR=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(fe(g)&&fe(y)){if(fe(f)&&fe(h))return{x:f,y:h,width:g,height:y};if(fe(p)&&fe(m))return{x:p,y:m,width:g,height:y}}return fe(f)&&fe(h)?{x:f,y:h,width:0,height:0}:fe(n)&&fe(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:{}},tZ=function(t,n){return t?t===!0?V.createElement(kn,{key:"label-implicit",viewBox:n}):Vt(t)?V.createElement(kn,{key:"label-implicit",viewBox:n,value:t}):x.isValidElement(t)?t.type===kn?x.cloneElement(t,{key:"label-implicit",viewBox:n}):V.createElement(kn,{key:"label-implicit",content:t,viewBox:n}):Fe(t)?V.createElement(kn,{key:"label-implicit",content:t,viewBox:n}):kl(t)?V.createElement(kn,Nu({viewBox:n},t,{key:"label-implicit"})):null:null},nZ=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=eR(t),o=Ur(a,kn).map(function(c,u){return x.cloneElement(c,{viewBox:n||s,key:"label-".concat(u)})});if(!r)return o;var l=tZ(t.label,n||s);return[l].concat(BQ(o))};kn.parseViewBox=eR;kn.renderCallByParent=nZ;function rZ(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var aZ=rZ;const iZ=Je(aZ);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 sZ=["valueAccessor"],oZ=["data","dataKey","clockWise","id","textBreakAll"];function lZ(e){return fZ(e)||dZ(e)||uZ(e)||cZ()}function cZ(){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 uZ(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 dZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function fZ(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 Mh(){return Mh=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},Mh.apply(this,arguments)}function T1(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 O1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?T1(Object(n),!0).forEach(function(r){hZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function hZ(e,t,n){return t=pZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pZ(e){var t=mZ(e,"string");return Eu(t)=="symbol"?t:t+""}function mZ(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 P1(e,t){if(e==null)return{};var n=gZ(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 gZ(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 vZ=function(t){return Array.isArray(t.value)?iZ(t.value):t.value};function Ss(e){var t=e.valueAccessor,n=t===void 0?vZ:t,r=P1(e,sZ),a=r.data,s=r.dataKey,o=r.clockWise,l=r.id,c=r.textBreakAll,u=P1(r,oZ);return!a||!a.length?null:V.createElement(en,{className:"recharts-label-list"},a.map(function(d,f){var h=Qe(s)?n(d,f):fa(d&&d.payload,s),p=Qe(l)?{}:{id:"".concat(l,"-").concat(f)};return V.createElement(kn,Mh({},Ye(d,!0),u,p,{parentViewBox:d.parentViewBox,value:h,textBreakAll:c,viewBox:kn.parseViewBox(Qe(o)?d:O1(O1({},d),{},{clockWise:o})),key:"label-".concat(f),index:f}))}))}Ss.displayName="LabelList";function yZ(e,t){return e?e===!0?V.createElement(Ss,{key:"labelList-implicit",data:t}):V.isValidElement(e)||Fe(e)?V.createElement(Ss,{key:"labelList-implicit",data:t,content:e}):kl(e)?V.createElement(Ss,Mh({data:t},e,{key:"labelList-implicit"})):null:null}function bZ(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=Ur(r,Ss).map(function(o,l){return x.cloneElement(o,{data:t,key:"labelList-".concat(l)})});if(!n)return a;var s=yZ(e.label,t);return[s].concat(lZ(a))}Ss.renderCallByParent=bZ;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 ob(){return ob=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},ob.apply(this,arguments)}function R1(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 M1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?R1(Object(n),!0).forEach(function(r){xZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function xZ(e,t,n){return t=wZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wZ(e){var t=kZ(e,"string");return _u(t)=="symbol"?t:t+""}function kZ(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)}var SZ=function(t,n){var r=Br(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)/Rh,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*Rh),g);return{center:p,circleTangency:m,lineTangency:y,theta:f}},tR=function(t){var n=t.cx,r=t.cy,a=t.innerRadius,s=t.outerRadius,o=t.startAngle,l=t.endAngle,c=SZ(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},jZ=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=Br(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
- `):tR({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 b=Vd({cx:n,cy:r,radius:a,angle:u,sign:f,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),j=b.circleTangency,E=b.lineTangency,P=b.theta,_=Vd({cx:n,cy:r,radius:a,angle:d,sign:-f,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),A=_.circleTangency,O=_.lineTangency,B=_.theta,$=c?Math.abs(u-d):Math.abs(u-d)-P-B;if($<0&&o===0)return"".concat(k,"L").concat(n,",").concat(r,"Z");k+="L".concat(O.x,",").concat(O.y,`
110
- A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(A.x,",").concat(A.y,`
111
- A`).concat(a,",").concat(a,",0,").concat(+($>180),",").concat(+(f>0),",").concat(j.x,",").concat(j.y,`
112
- A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(E.x,",").concat(E.y,"Z")}else k+="L".concat(n,",").concat(r,"Z");return k},NZ={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},nR=function(t){var n=M1(M1({},NZ),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=Xe("recharts-sector",h),m=o-s,g=Ps(l,m,0,!0),y;return g>0&&Math.abs(d-f)<360?y=jZ({cx:r,cy:a,innerRadius:s,outerRadius:o,cornerRadius:Math.min(g,m/2),forceCornerRadius:c,cornerIsExternal:u,startAngle:d,endAngle:f}):y=tR({cx:r,cy:a,innerRadius:s,outerRadius:o,startAngle:d,endAngle:f}),V.createElement("path",ob({},Ye(n,!0),{className:p,d:y,role:"img"}))};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)}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){EZ(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 EZ(e,t,n){return t=_Z(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _Z(e){var t=CZ(e,"string");return Cu(t)=="symbol"?t:t+""}function CZ(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)}var L1={curveBasisClosed:E4,curveBasisOpen:_4,curveBasis:N4,curveBumpX:d4,curveBumpY:f4,curveLinearClosed:C4,curveLinear:Xp,curveMonotoneX:A4,curveMonotoneY:T4,curveNatural:O4,curveStep:P4,curveStepAfter:M4,curveStepBefore:R4},Yd=function(t){return t.x===+t.x&&t.y===+t.y},lc=function(t){return t.x},cc=function(t){return t.y},AZ=function(t,n){if(Fe(t))return t;var r="curve".concat(Vp(t));return(r==="curveMonotone"||r==="curveBump")&&n?L1["".concat(r).concat(n==="vertical"?"Y":"X")]:L1[r]||Xp},TZ=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=AZ(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 $1($1({},g),{},{base:p[y]})});return l==="vertical"?h=Bd().y(cc).x1(lc).x0(function(g){return g.base.x}):h=Bd().x(lc).y1(cc).y0(function(g){return g.base.y}),h.defined(Yd).curve(d),h(m)}return l==="vertical"&&fe(o)?h=Bd().y(cc).x1(lc).x0(o):fe(o)?h=Bd().x(lc).y1(cc).y0(o):h=aO().x(lc).y(cc),h.defined(Yd).curve(d),h(f)},D1=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?TZ(t):a;return x.createElement("path",lb({},Ye(t,!1),nh(t),{className:Xe("recharts-curve",n),d:o,ref:s}))},rR={exports:{}},OZ="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",PZ=OZ,RZ=PZ;function aR(){}function iR(){}iR.resetWarningCache=aR;var MZ=function(){function e(r,a,s,o,l,c){if(c!==RZ){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:iR,resetWarningCache:aR};return n.PropTypes=n,n};rR.exports=MZ();var IZ=rR.exports;const Ze=Je(IZ),{getOwnPropertyNames:$Z,getOwnPropertySymbols:LZ}=Object,{hasOwnProperty:DZ}=Object.prototype;function _g(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 BZ(e){return e!=null?e[Symbol.toStringTag]:void 0}function B1(e){return $Z(e).concat(LZ(e))}const zZ=Object.hasOwn||((e,t)=>DZ.call(e,t));function Us(e,t){return e===t||!e&&!t&&e!==e&&t!==t}const FZ="__v",UZ="__o",WZ="_owner",{getOwnPropertyDescriptor:z1,keys:F1}=Object;function HZ(e,t){return e.byteLength===t.byteLength&&Ih(new Uint8Array(e),new Uint8Array(t))}function GZ(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 qZ(e,t){return e.byteLength===t.byteLength&&Ih(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function KZ(e,t){return Us(e.getTime(),t.getTime())}function VZ(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function YZ(e,t){return e===t}function U1(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 XZ=Us;function QZ(e,t,n){const r=F1(e);let a=r.length;if(F1(t).length!==a)return!1;for(;a-- >0;)if(!sR(e,t,n,r[a]))return!1;return!0}function uc(e,t,n){const r=B1(e);let a=r.length;if(B1(t).length!==a)return!1;let s,o,l;for(;a-- >0;)if(s=r[a],!sR(e,t,n,s)||(o=z1(e,s),l=z1(t,s),(o||l)&&(!o||!l||o.configurable!==l.configurable||o.enumerable!==l.enumerable||o.writable!==l.writable)))return!1;return!0}function ZZ(e,t){return Us(e.valueOf(),t.valueOf())}function JZ(e,t){return e.source===t.source&&e.flags===t.flags}function W1(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 Ih(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 eJ(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 sR(e,t,n,r){return(r===WZ||r===UZ||r===FZ)&&(e.$$typeof||t.$$typeof)?!0:zZ(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}const tJ="[object ArrayBuffer]",nJ="[object Arguments]",rJ="[object Boolean]",aJ="[object DataView]",iJ="[object Date]",sJ="[object Error]",oJ="[object Map]",lJ="[object Number]",cJ="[object Object]",uJ="[object RegExp]",dJ="[object Set]",fJ="[object String]",hJ={"[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},pJ="[object URL]",mJ=Object.prototype.toString;function gJ({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=mJ.call(y);if(k===iJ)return r(y,v,S);if(k===uJ)return d(y,v,S);if(k===oJ)return o(y,v,S);if(k===dJ)return f(y,v,S);if(k===cJ)return typeof y.then!="function"&&typeof v.then!="function"&&c(y,v,S);if(k===pJ)return p(y,v,S);if(k===sJ)return a(y,v,S);if(k===nJ)return c(y,v,S);if(hJ[k])return h(y,v,S);if(k===tJ)return e(y,v,S);if(k===aJ)return n(y,v,S);if(k===rJ||k===lJ||k===fJ)return u(y,v,S);if(m){let b=m[k];if(!b){const j=BZ(y);j&&(b=m[j])}if(b)return b(y,v,S)}return!1}}function vJ({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:HZ,areArraysEqual:n?uc:GZ,areDataViewsEqual:qZ,areDatesEqual:KZ,areErrorsEqual:VZ,areFunctionsEqual:YZ,areMapsEqual:n?_g(U1,uc):U1,areNumbersEqual:XZ,areObjectsEqual:n?uc:QZ,arePrimitiveWrappersEqual:ZZ,areRegExpsEqual:JZ,areSetsEqual:n?_g(W1,uc):W1,areTypedArraysEqual:n?_g(Ih,uc):Ih,areUrlsEqual:eJ,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 yJ(e){return function(t,n,r,a,s,o,l){return e(t,n,l)}}function bJ({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 xJ=zi();zi({strict:!0});zi({circular:!0});zi({circular:!0,strict:!0});zi({createInternalComparator:()=>Us});zi({strict:!0,createInternalComparator:()=>Us});zi({circular:!0,createInternalComparator:()=>Us});zi({circular:!0,createInternalComparator:()=>Us,strict:!0});function zi(e={}){const{circular:t=!1,createInternalComparator:n,createState:r,strict:a=!1}=e,s=vJ(e),o=gJ(s),l=n?n(o):yJ(o);return bJ({circular:t,comparator:o,createState:r,equals:l,strict:a})}function wJ(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function H1(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):wJ(a)};requestAnimationFrame(r)}function cb(e){"@babel/helpers - typeof";return cb=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},cb(e)}function kJ(e){return EJ(e)||NJ(e)||jJ(e)||SJ()}function SJ(){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 jJ(e,t){if(e){if(typeof e=="string")return G1(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 G1(e,t)}}function G1(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 NJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function EJ(e){if(Array.isArray(e))return e}function _J(){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=kJ(o),c=l[0],u=l.slice(1);if(typeof c=="number"){H1(a.bind(null,u),c);return}a(c),H1(a.bind(null,u));return}cb(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 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 q1(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 K1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?q1(Object(n),!0).forEach(function(r){oR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function oR(e,t,n){return t=CJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function CJ(e){var t=AJ(e,"string");return Au(t)==="symbol"?t:String(t)}function AJ(e,t){if(Au(e)!=="object"||e===null)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 TJ=function(t,n){return[Object.keys(t),Object.keys(n)].reduce(function(r,a){return r.filter(function(s){return a.includes(s)})})},OJ=function(t){return t},PJ=function(t){return t.replace(/([A-Z])/g,function(n){return"-".concat(n.toLowerCase())})},Ic=function(t,n){return Object.keys(n).reduce(function(r,a){return K1(K1({},r),{},oR({},a,t(a,n[a])))},{})},V1=function(t,n,r){return t.map(function(a){return"".concat(PJ(a)," ").concat(n,"ms ").concat(r)}).join(",")};function RJ(e,t){return $J(e)||IJ(e,t)||lR(e,t)||MJ()}function MJ(){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 IJ(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 $J(e){if(Array.isArray(e))return e}function LJ(e){return zJ(e)||BJ(e)||lR(e)||DJ()}function DJ(){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 lR(e,t){if(e){if(typeof e=="string")return ub(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 ub(e,t)}}function BJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zJ(e){if(Array.isArray(e))return ub(e)}function ub(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 $h=1e-4,cR=function(t,n){return[0,3*t,3*n-6*t,3*t-3*n+1]},uR=function(t,n){return t.map(function(r,a){return r*Math.pow(n,a)}).reduce(function(r,a){return r+a})},Y1=function(t,n){return function(r){var a=cR(t,n);return uR(a,r)}},FJ=function(t,n){return function(r){var a=cR(t,n),s=[].concat(LJ(a.map(function(o,l){return o*l}).slice(1)),[0]);return uR(s,r)}},X1=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=RJ(u,4);a=d[0],s=d[1],o=d[2],l=d[3]}}}var f=Y1(a,o),h=Y1(s,l),p=FJ(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,b=p(w);if(Math.abs(k-S)<$h||b<$h)return h(w);w=m(w-k/b)}return h(w)};return g.isStepper=!1,g},UJ=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)<$h&&Math.abs(g)<$h?[f,0]:[y,g]};return c.isStepper=!0,c.dt=l,c},WJ=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 X1(a);case"spring":return UJ();default:if(a.split("(")[0]==="cubic-bezier")return X1(a)}return typeof a=="function"?a:null};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 Q1(e){return qJ(e)||GJ(e)||dR(e)||HJ()}function HJ(){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 GJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qJ(e){if(Array.isArray(e))return fb(e)}function Z1(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?Z1(Object(n),!0).forEach(function(r){db(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function db(e,t,n){return t=KJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function KJ(e){var t=VJ(e,"string");return Tu(t)==="symbol"?t:String(t)}function VJ(e,t){if(Tu(e)!=="object"||e===null)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)}function YJ(e,t){return ZJ(e)||QJ(e,t)||dR(e,t)||XJ()}function XJ(){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 dR(e,t){if(e){if(typeof e=="string")return fb(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 fb(e,t)}}function fb(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 QJ(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 ZJ(e){if(Array.isArray(e))return e}var Lh=function(t,n,r){return t+(n-t)*r},hb=function(t){var n=t.from,r=t.to;return n!==r},JJ=function e(t,n,r){var a=Ic(function(s,o){if(hb(o)){var l=t(o.from,o.to,o.velocity),c=YJ(l,2),u=c[0],d=c[1];return on(on({},o),{},{from:u,velocity:d})}return o},n);return r<1?Ic(function(s,o){return hb(o)?on(on({},o),{},{velocity:Lh(o.velocity,a[s].velocity,r),from:Lh(o.from,a[s].from,r)}):o},n):e(t,a,r-1)};const eee=function(e,t,n,r,a){var s=TJ(e,t),o=s.reduce(function(y,v){return on(on({},y),{},db({},v,[e[v],t[v]]))},{}),l=s.reduce(function(y,v){return on(on({},y),{},db({},v,{from:e[v],velocity:0,to:t[v]}))},{}),c=-1,u,d,f=function(){return null},h=function(){return Ic(function(v,S){return S.from},l)},p=function(){return!Object.values(l).filter(hb).length},m=function(v){u||(u=v);var S=v-u,w=S/n.dt;l=JJ(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=Ic(function(k,b){return Lh.apply(void 0,Q1(b).concat([n(S)]))},o);if(a(on(on(on({},e),t),w)),S<1)c=requestAnimationFrame(f);else{var N=Ic(function(k,b){return Lh.apply(void 0,Q1(b).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 nl(e){"@babel/helpers - typeof";return nl=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},nl(e)}var tee=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function nee(e,t){if(e==null)return{};var n=ree(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 ree(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 Cg(e){return oee(e)||see(e)||iee(e)||aee()}function aee(){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 iee(e,t){if(e){if(typeof e=="string")return pb(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 pb(e,t)}}function see(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function oee(e){if(Array.isArray(e))return pb(e)}function pb(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 J1(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 Rr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?J1(Object(n),!0).forEach(function(r){xc(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function xc(e,t,n){return t=fR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cee(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,fR(r.key),r)}}function uee(e,t,n){return t&&cee(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function fR(e){var t=dee(e,"string");return nl(t)==="symbol"?t:String(t)}function dee(e,t){if(nl(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(nl(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function fee(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&&mb(e,t)}function mb(e,t){return mb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},mb(e,t)}function hee(e){var t=pee();return function(){var r=Dh(e),a;if(t){var s=Dh(this).constructor;a=Reflect.construct(r,arguments,s)}else a=r.apply(this,arguments);return gb(this,a)}}function gb(e,t){if(t&&(nl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vb(e)}function vb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function pee(){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 Dh(e){return Dh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Dh(e)}var Ti=function(e){fee(n,e);var t=hee(n);function n(r,a){var s;lee(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(vb(s)),s.changeStyle=s.changeStyle.bind(vb(s)),!l||p<=0)return s.state={style:{}},typeof h=="function"&&(s.state={style:d}),gb(s);if(f&&f.length)s.state={style:f[0].style};else if(u){if(typeof h=="function")return s.state={style:u},gb(s);s.state={style:c?xc({},c,u):u}}else s.state={style:{}};return s}return uee(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?xc({},c,d):d};this.state&&h&&(c&&h[c]!==d||!c&&h!==d)&&this.setState(p);return}if(!(xJ(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?xc({},c,g):g};(c&&h[c]!==g||!c&&h!==g)&&this.setState(y)}this.runAnimation(Rr(Rr({},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=eee(o,l,WJ(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,b=y.properties,j=y.onAnimationEnd,E=v>0?o[v-1]:y,P=b||Object.keys(k);if(typeof N=="function"||N==="spring")return[].concat(Cg(g),[s.runJSAnimation.bind(s,{from:E.style,to:k,duration:S,easing:N}),S]);var _=V1(P,S,N),A=Rr(Rr(Rr({},E.style),k),{},{transition:_});return[].concat(Cg(g),[A,S,j]).filter(OJ)};return this.manager.start([c].concat(Cg(o.reduce(p,[d,Math.max(h,l)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=_J());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?xc({},l,c):c,y=V1(Object.keys(g),o,u);m.start([d,s,Rr(Rr({},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=nee(a,tee),u=x.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=x.cloneElement(p,Rr(Rr({},c),{},{style:Rr(Rr({},y),d),className:v}));return S};return u===1?f(x.Children.only(s)):V.createElement("div",null,x.Children.map(s,function(h){return f(h)}))}}]),n}(x.PureComponent);Ti.displayName="Animate";Ti.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Ti.propTypes={from:Ze.oneOfType([Ze.object,Ze.string]),to:Ze.oneOfType([Ze.object,Ze.string]),attributeName:Ze.string,duration:Ze.number,begin:Ze.number,easing:Ze.oneOfType([Ze.string,Ze.func]),steps:Ze.arrayOf(Ze.shape({duration:Ze.number.isRequired,style:Ze.object.isRequired,easing:Ze.oneOfType([Ze.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Ze.func]),properties:Ze.arrayOf("string"),onAnimationEnd:Ze.func})),children:Ze.oneOfType([Ze.node,Ze.func]),isActive:Ze.bool,canBegin:Ze.bool,onAnimationEnd:Ze.func,shouldReAnimate:Ze.bool,onAnimationStart:Ze.func,onAnimationReStart:Ze.func};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 Bh(){return Bh=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},Bh.apply(this,arguments)}function mee(e,t){return bee(e)||yee(e,t)||vee(e,t)||gee()}function gee(){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 vee(e,t){if(e){if(typeof e=="string")return eN(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 eN(e,t)}}function eN(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 yee(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 bee(e){if(Array.isArray(e))return 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 nN(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){xee(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 xee(e,t,n){return t=wee(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wee(e){var t=kee(e,"string");return Ou(t)=="symbol"?t:t+""}function kee(e,t){if(Ou(e)!="object"||!e)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 rN=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},See=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},jee={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Qw=function(t){var n=nN(nN({},jee),t),r=x.useRef(),a=x.useState(-1),s=mee(a,2),o=s[0],l=s[1];x.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=Xe("recharts-rectangle",p);return S?V.createElement(Ti,{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,b=N.height,j=N.x,E=N.y;return V.createElement(Ti,{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",Bh({},Ye(n,!0),{className:w,d:rN(j,E,k,b,h),ref:r})))}):V.createElement("path",Bh({},Ye(n,!0),{className:w,d:rN(c,u,d,f,h)}))};function yb(){return yb=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},yb.apply(this,arguments)}var hR=function(t){var n=t.cx,r=t.cy,a=t.r,s=t.className,o=Xe("recharts-dot",s);return n===+n&&r===+r&&a===+a?x.createElement("circle",yb({},Ye(t,!1),nh(t),{className:o,cx:n,cy:r,r: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)}var Nee=["x","y","top","left","width","height","className"];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)}function aN(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 Eee(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aN(Object(n),!0).forEach(function(r){_ee(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function _ee(e,t,n){return t=Cee(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cee(e){var t=Aee(e,"string");return Pu(t)=="symbol"?t:t+""}function Aee(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)}function Tee(e,t){if(e==null)return{};var n=Oee(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 Oee(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 Pee=function(t,n,r,a,s,o){return"M".concat(t,",").concat(s,"v").concat(a,"M").concat(o,",").concat(n,"h").concat(r)},Ree=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=Tee(t,Nee),y=Eee({x:r,y:s,top:l,left:u,width:f,height:p},g);return!fe(r)||!fe(s)||!fe(f)||!fe(p)||!fe(l)||!fe(u)?null:V.createElement("path",bb({},Ye(y,!0),{className:Xe("recharts-cross",m),d:Pee(r,s,f,p,l,u)}))},Mee=CO,Iee=Mee(Object.getPrototypeOf,Object),$ee=Iee,Lee=qa,Dee=$ee,Bee=Ka,zee="[object Object]",Fee=Function.prototype,Uee=Object.prototype,pR=Fee.toString,Wee=Uee.hasOwnProperty,Hee=pR.call(Object);function Gee(e){if(!Bee(e)||Lee(e)!=zee)return!1;var t=Dee(e);if(t===null)return!0;var n=Wee.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&pR.call(n)==Hee}var qee=Gee;const Kee=Je(qee);var Vee=qa,Yee=Ka,Xee="[object Boolean]";function Qee(e){return e===!0||e===!1||Yee(e)&&Vee(e)==Xee}var Zee=Qee;const Jee=Je(Zee);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 ete(e,t){return ate(e)||rte(e,t)||nte(e,t)||tte()}function tte(){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 nte(e,t){if(e){if(typeof e=="string")return iN(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 iN(e,t)}}function iN(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 rte(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 ate(e){if(Array.isArray(e))return e}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 oN(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){ite(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 ite(e,t,n){return t=ste(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ste(e){var t=ote(e,"string");return Ru(t)=="symbol"?t:t+""}function ote(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 lN=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},lte={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},cte=function(t){var n=oN(oN({},lte),t),r=x.useRef(),a=x.useState(-1),s=ete(a,2),o=s[0],l=s[1];x.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=Xe("recharts-trapezoid",p);return v?V.createElement(Ti,{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,b=w.height,j=w.x,E=w.y;return V.createElement(Ti,{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",zh({},Ye(n,!0),{className:S,d:lN(j,E,N,k,b),ref:r})))}):V.createElement("g",null,V.createElement("path",zh({},Ye(n,!0),{className:S,d:lN(c,u,d,f,h)})))},ute=["option","shapeType","propTransformer","activeClassName","isActive"];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 dte(e,t){if(e==null)return{};var n=fte(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 fte(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 cN(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 Fh(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?cN(Object(n),!0).forEach(function(r){hte(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function hte(e,t,n){return t=pte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pte(e){var t=mte(e,"string");return Mu(t)=="symbol"?t:t+""}function mte(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 gte(e,t){return Fh(Fh({},t),e)}function vte(e,t){return e==="symbols"}function uN(e){var t=e.shapeType,n=e.elementProps;switch(t){case"rectangle":return V.createElement(Qw,n);case"trapezoid":return V.createElement(cte,n);case"sector":return V.createElement(nR,n);case"symbols":if(vte(t))return V.createElement(mw,n);break;default:return null}}function yte(e){return x.isValidElement(e)?e.props:e}function bte(e){var t=e.option,n=e.shapeType,r=e.propTransformer,a=r===void 0?gte:r,s=e.activeClassName,o=s===void 0?"recharts-active-shape":s,l=e.isActive,c=dte(e,ute),u;if(x.isValidElement(t))u=x.cloneElement(t,Fh(Fh({},c),yte(t)));else if(Fe(t))u=t(c);else if(Kee(t)&&!Jee(t)){var d=a(t,c);u=V.createElement(uN,{shapeType:n,elementProps:d})}else{var f=c;u=V.createElement(uN,{shapeType:n,elementProps:f})}return l?V.createElement(en,{className:o},u):u}function fm(e,t){return t!=null&&"trapezoids"in e.props}function hm(e,t){return t!=null&&"sectors"in e.props}function Iu(e,t){return t!=null&&"points"in e.props}function xte(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 wte(e,t){var n=e.endAngle===t.endAngle,r=e.startAngle===t.startAngle;return n&&r}function kte(e,t){var n=e.x===t.x,r=e.y===t.y,a=e.z===t.z;return n&&r&&a}function Ste(e,t){var n;return fm(e,t)?n=xte:hm(e,t)?n=wte:Iu(e,t)&&(n=kte),n}function jte(e,t){var n;return fm(e,t)?n="trapezoids":hm(e,t)?n="sectors":Iu(e,t)&&(n="points"),n}function Nte(e,t){if(fm(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(hm(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 Iu(e,t)?t.payload:{}}function Ete(e){var t=e.activeTooltipItem,n=e.graphicalItem,r=e.itemData,a=jte(n,t),s=Nte(n,t),o=r.filter(function(c,u){var d=Kw(s,c),f=n.props[a].filter(function(m){var g=Ste(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 _te=Math.ceil,Cte=Math.max;function Ate(e,t,n,r){for(var a=-1,s=Cte(_te((t-e)/(n||1)),0),o=Array(s);s--;)o[r?s:++a]=e,e+=n;return o}var Tte=Ate,Ote=KO,dN=1/0,Pte=17976931348623157e292;function Rte(e){if(!e)return e===0?e:0;if(e=Ote(e),e===dN||e===-dN){var t=e<0?-1:1;return t*Pte}return e===e?e:0}var mR=Rte,Mte=Tte,Ite=em,Ag=mR;function $te(e){return function(t,n,r){return r&&typeof r!="number"&&Ite(t,n,r)&&(n=r=void 0),t=Ag(t),n===void 0?(n=t,t=0):n=Ag(n),r=r===void 0?t<n?1:-1:Ag(r),Mte(t,n,r,e)}}var Lte=$te,Dte=Lte,Bte=Dte(),zte=Bte;const Uh=Je(zte);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 fN(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 hN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?fN(Object(n),!0).forEach(function(r){gR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function gR(e,t,n){return t=Fte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fte(e){var t=Ute(e,"string");return $u(t)=="symbol"?t:t+""}function Ute(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)}var Wte=["Webkit","Moz","O","ms"],Hte=function(t,n){var r=t.replace(/(\w)/,function(s){return s.toUpperCase()}),a=Wte.reduce(function(s,o){return hN(hN({},s),{},gR({},o+r,n))},{});return a[t]=n,a};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 Wh(){return Wh=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},Wh.apply(this,arguments)}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 Tg(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){Jn(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 Gte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function mN(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,yR(r.key),r)}}function qte(e,t,n){return t&&mN(e.prototype,t),n&&mN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kte(e,t,n){return t=Hh(t),Vte(e,vR()?Reflect.construct(t,n||[],Hh(e).constructor):t.apply(e,n))}function Vte(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 Yte(e)}function Yte(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 Hh(e){return Hh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Hh(e)}function Xte(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&&xb(e,t)}function xb(e,t){return xb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},xb(e,t)}function Jn(e,t,n){return t=yR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yR(e){var t=Qte(e,"string");return rl(t)=="symbol"?t:t+""}function Qte(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 Zte=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=Rc().domain(Uh(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}},gN=function(t){return t.changedTouches&&!!t.changedTouches.length},al=function(e){function t(n){var r;return Gte(this,t),r=Kte(this,t,[n]),Jn(r,"handleDrag",function(a){r.leaveTimer&&(clearTimeout(r.leaveTimer),r.leaveTimer=null),r.state.isTravellerMoving?r.handleTravellerMove(a):r.state.isSlideMoving&&r.handleSlideDrag(a)}),Jn(r,"handleTouchMove",function(a){a.changedTouches!=null&&a.changedTouches.length>0&&r.handleDrag(a.changedTouches[0])}),Jn(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()}),Jn(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Jn(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Jn(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Jn(r,"handleSlideDragStart",function(a){var s=gN(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 Xte(t,e),qte(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=fa(s[r],l,r);return Fe(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=gN(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,b=function(){var E=y.length-1;return o==="startX"&&(l>c?N%g===0:k%g===0)||l<c&&k===E||o==="endX"&&(l>c?k%g===0:N%g===0)||l>c&&k===E};this.setState(Jn(Jn({},o,u+S),"brushMoveStartX",r.pageX),function(){m&&b()&&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(Jn({},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=x.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=Tg(Tg({},Ye(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(en,{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(en,{className:"recharts-brush-texts"},V.createElement(vh,Wh({textAnchor:"end",verticalAnchor:"middle",x:Math.min(f,h)-p,y:o+l/2},m),this.getTextOfTick(a)),V.createElement(vh,Wh({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||!fe(l)||!fe(c)||!fe(u)||!fe(d)||u<=0||d<=0)return null;var w=Xe("recharts-brush",s),N=V.Children.count(o)===1,k=Hte("userSelect","none");return V.createElement(en,{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):Fe(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 Tg({prevData:s,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o},s&&s.length?Zte({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}}])}(x.PureComponent);Jn(al,"displayName","Brush");Jn(al,"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 Jte=kw;function ene(e,t){var n;return Jte(e,function(r,a,s){return n=t(r,a,s),!n}),!!n}var tne=ene,nne=xO,rne=Li,ane=tne,ine=qn,sne=em;function one(e,t,n){var r=ine(e)?nne:ane;return n&&sne(e,t,n)&&(t=void 0),r(e,rne(t))}var lne=one;const cne=Je(lne);var ua=function(t,n){var r=t.alwaysShow,a=t.ifOverflow;return r&&(a="extendDomain"),a===n},vN=UO;function une(e,t,n){t=="__proto__"&&vN?vN(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var dne=une,fne=dne,hne=zO,pne=Li;function mne(e,t){var n={};return t=pne(t),hne(e,function(r,a,s){fne(n,a,t(r,a,s))}),n}var gne=mne;const vne=Je(gne);function yne(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 bne=yne,xne=kw;function wne(e,t){var n=!0;return xne(e,function(r,a,s){return n=!!t(r,a,s),n}),n}var kne=wne,Sne=bne,jne=kne,Nne=Li,Ene=qn,_ne=em;function Cne(e,t,n){var r=Ene(e)?Sne:jne;return n&&_ne(e,t,n)&&(t=void 0),r(e,Nne(t))}var Ane=Cne;const bR=Je(Ane);var Tne=["x","y"];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)}function wb(){return wb=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},wb.apply(this,arguments)}function yN(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 dc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?yN(Object(n),!0).forEach(function(r){One(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function One(e,t,n){return t=Pne(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pne(e){var t=Rne(e,"string");return Lu(t)=="symbol"?t:t+""}function Rne(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 Mne(e,t){if(e==null)return{};var n=Ine(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 Ine(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 $ne(e,t){var n=e.x,r=e.y,a=Mne(e,Tne),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 dc(dc(dc(dc(dc({},t),a),o?{x:o}:{}),c?{y:c}:{}),{},{height:d,width:h,name:t.name,radius:t.radius})}function bN(e){return V.createElement(bte,wb({shapeType:"rectangle",propTransformer:$ne,activeClassName:"recharts-active-bar"},e))}var Lne=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=fe(r)||QU(r);return s?t(r,a):(s||Ms(),n)}},Dne=["value","background"],xR;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 Bne(e,t){if(e==null)return{};var n=zne(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 zne(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 Gh(){return Gh=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},Gh.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 zt(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){pi(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 Fne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wN(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 Une(e,t,n){return t&&wN(e.prototype,t),n&&wN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Wne(e,t,n){return t=qh(t),Hne(e,wR()?Reflect.construct(t,n||[],qh(e).constructor):t.apply(e,n))}function Hne(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 Gne(e)}function Gne(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(wR=function(){return!!e})()}function qh(e){return qh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},qh(e)}function qne(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&&kb(e,t)}function kb(e,t){return kb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},kb(e,t)}function pi(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=Kne(e,"string");return il(t)=="symbol"?t:t+""}function Kne(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 bn=function(e){function t(){var n;Fne(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=Wne(this,t,[].concat(a)),pi(n,"state",{isAnimationFinished:!1}),pi(n,"id",Kp("recharts-bar-")),pi(n,"handleAnimationEnd",function(){var o=n.props.onAnimationEnd;n.setState({isAnimationFinished:!0}),o&&o()}),pi(n,"handleAnimationStart",function(){var o=n.props.onAnimationStart;n.setState({isAnimationFinished:!1}),o&&o()}),n}return qne(t,e),Une(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=Ye(this.props,!1);return r&&r.map(function(f,h){var p=h===c,m=p?u:o,g=zt(zt(zt({},d),f),{},{isActive:p,option:m,index:h,dataKey:l,onAnimationStart:a.handleAnimationStart,onAnimationEnd:a.handleAnimationEnd});return V.createElement(en,Gh({className:"recharts-bar-rectangle"},rh(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(bN,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(Ti,{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=Js(S.x,y.x),N=Js(S.y,y.y),k=Js(S.width,y.width),b=Js(S.height,y.height);return zt(zt({},y),{},{x:w(m),y:N(m),width:k(m),height:b(m)})}if(o==="horizontal"){var j=Js(0,y.height),E=j(m);return zt(zt({},y),{},{y:y.y+y.height-E,height:E})}var P=Js(0,y.width),_=P(m);return zt(zt({},y),{},{width:_})});return V.createElement(en,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||!Kw(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=Ye(this.props.background,!1);return s.map(function(u,d){u.value;var f=u.background,h=Bne(u,Dne);if(!f)return null;var p=zt(zt(zt(zt(zt({},h),{},{fill:"#eee"},f),c),rh(r.props,u,d)),{},{onAnimationStart:r.handleAnimationStart,onAnimationEnd:r.handleAnimationEnd,dataKey:o,index:d,className:"recharts-bar-background-rectangle"});return V.createElement(bN,Gh({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=Ur(d,dm);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:fa(y,v)}},m={clipPath:r?"url(#clipPath-".concat(a,")"):null};return V.createElement(en,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=Xe("recharts-bar",o),S=l&&l.allowDataOverflow,w=c&&c.allowDataOverflow,N=S||w,k=Qe(g)?this.id:g;return V.createElement(en,{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(en,{className:"recharts-bar-rectangles",clipPath:N?"url(#clipPath-".concat(k,")"):null},m?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(N,k),(!p||y)&&Ss.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}}])}(x.PureComponent);xR=bn;pi(bn,"displayName","Bar");pi(bn,"defaultProps",{xAxisId:0,yAxisId:0,legendType:"rect",minPointSize:0,hide:!1,data:[],layout:"vertical",activeBar:!1,isAnimationActive:!ed.isSsr,animationBegin:0,animationDuration:400,animationEasing:"ease"});pi(bn,"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=bQ(r,n);if(!p)return null;var m=t.layout,g=n.type.defaultProps,y=g!==void 0?zt(zt({},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,b=_Q({numericAxis:N}),j=Ur(S,du),E=f.map(function(P,_){var A,O,B,$,M,D;u?A=xQ(u[d+_],k):(A=fa(P,v),Array.isArray(A)||(A=[b,A]));var U=Lne(w,xR.defaultProps.minPointSize)(A[1],_);if(m==="horizontal"){var R,z=[o.scale(A[0]),o.scale(A[1])],T=z[0],Z=z[1];O=k1({axis:s,ticks:l,bandSize:a,offset:p.offset,entry:P,index:_}),B=(R=Z??T)!==null&&R!==void 0?R:void 0,$=p.size;var F=T-Z;if(M=Number.isNaN(F)?0:F,D={x:O,y:o.y,width:$,height:o.height},Math.abs(U)>0&&Math.abs(M)<Math.abs(U)){var I=Br(M||U)*(Math.abs(U)-Math.abs(M));B-=I,M+=I}}else{var se=[s.scale(A[0]),s.scale(A[1])],he=se[0],ge=se[1];if(O=he,B=k1({axis:o,ticks:c,bandSize:a,offset:p.offset,entry:P,index:_}),$=ge-he,M=p.size,D={x:s.x,y:B,width:s.width,height:M},Math.abs(U)>0&&Math.abs($)<Math.abs(U)){var Te=Br($||U)*(Math.abs(U)-Math.abs($));$+=Te}}return zt(zt(zt({},P),{},{x:O,y:B,width:$,height:M,value:u?A:A[1],payload:P,background:D},j&&j[_]&&j[_].props),{},{tooltipPayload:[JP(n,P)],tooltipPosition:{x:O+$/2,y:B+M/2}})});return zt({data:E,layout:m},h)});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 Vne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kN(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,SR(r.key),r)}}function Yne(e,t,n){return t&&kN(e.prototype,t),n&&kN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}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 $r(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){pm(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 pm(e,t,n){return t=SR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function SR(e){var t=Xne(e,"string");return Du(t)=="symbol"?t:t+""}function Xne(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 Qne=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=!!tr(u,bn);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,b="".concat(y).concat(N?"Mirror":""),j,E,P,_,A;if(g.type==="number"&&(g.padding==="gap"||g.padding==="no-gap")){var O=v[1]-v[0],B=1/0,$=g.categoricalDomain.sort(e3);if($.forEach(function(se,he){he>0&&(B=Math.min((se||0)-($[he-1]||0),B))}),Number.isFinite(B)){var M=B/O,D=g.layout==="vertical"?r.height:r.width;if(g.padding==="gap"&&(j=M*D/2),g.padding==="no-gap"){var U=Ps(t.barCategoryGap,M*D),R=M*D/2;j=R-U-(R-U)/D*U}}}a==="xAxis"?E=[r.left+(w.left||0)+(j||0),r.left+r.width-(w.right||0)-(j||0)]:a==="yAxis"?E=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)]:E=g.range,k&&(E=[E[1],E[0]]);var z=vQ(g,s,h),T=z.scale,Z=z.realScaleType;T.domain(v).range(E),yQ(T);var F=EQ(T,$r($r({},g),{},{realScaleType:Z}));a==="xAxis"?(A=y==="top"&&!N||y==="bottom"&&N,P=r.left,_=f[b]-A*g.height):a==="yAxis"&&(A=y==="left"&&!N||y==="right"&&N,P=f[b]-A*g.width,_=r.top);var I=$r($r($r({},g),F),{},{realScaleType:Z,x:P,y:_,scale:T,width:a==="xAxis"?r.width:g.width,height:a==="yAxis"?r.height:g.height});return I.bandSize=Ph(I,F),!g.hide&&a==="xAxis"?f[b]+=(A?-1:1)*I.height:g.hide||(f[b]+=(A?-1:1)*I.width),$r($r({},p),{},pm({},m,I))},{})},jR=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)}},Zne=function(t){var n=t.x1,r=t.y1,a=t.x2,s=t.y2;return jR({x:n,y:r},{x:a,y:s})},NR=function(){function e(t){Vne(this,e),this.scale=t}return Yne(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)}}])}();pm(NR,"EPS",1e-4);var Zw=function(t){var n=Object.keys(t).reduce(function(r,a){return $r($r({},r),{},pm({},a,NR.create(t[a])))},{});return $r($r({},n),{},{apply:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.bandAware,l=s.position;return vne(a,function(c,u){return n[u].apply(c,{bandAware:o,position:l})})},isInRange:function(a){return bR(a,function(s,o){return n[o].isInRange(s)})}})};function Jne(e){return(e%180+180)%180}var ere=function(t){var n=t.width,r=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=Jne(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)},tre=Li,nre=Ju,rre=Zp;function are(e){return function(t,n,r){var a=Object(t);if(!nre(t)){var s=tre(n);t=rre(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 ire=are,sre=mR;function ore(e){var t=sre(e),n=t%1;return t===t?n?t-n:t:0}var lre=ore,cre=MO,ure=Li,dre=lre,fre=Math.max;function hre(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var a=n==null?0:dre(n);return a<0&&(a=fre(r+a,0)),cre(e,ure(t),a)}var pre=hre,mre=ire,gre=pre,vre=mre(gre),yre=vre;const bre=Je(yre);var xre=rU(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("")}),Jw=x.createContext(void 0),e0=x.createContext(void 0),ER=x.createContext(void 0),_R=x.createContext({}),CR=x.createContext(void 0),AR=x.createContext(0),TR=x.createContext(0),jN=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=xre(s);return V.createElement(Jw.Provider,{value:r},V.createElement(e0.Provider,{value:a},V.createElement(_R.Provider,{value:s},V.createElement(ER.Provider,{value:d},V.createElement(CR.Provider,{value:o},V.createElement(AR.Provider,{value:u},V.createElement(TR.Provider,{value:c},l)))))))},wre=function(){return x.useContext(CR)},OR=function(t){var n=x.useContext(Jw);n==null&&Ms();var r=n[t];return r==null&&Ms(),r},kre=function(){var t=x.useContext(Jw);return li(t)},Sre=function(){var t=x.useContext(e0),n=bre(t,function(r){return bR(r.domain,Number.isFinite)});return n||li(t)},PR=function(t){var n=x.useContext(e0);n==null&&Ms();var r=n[t];return r==null&&Ms(),r},jre=function(){var t=x.useContext(ER);return t},Nre=function(){return x.useContext(_R)},t0=function(){return x.useContext(TR)},n0=function(){return x.useContext(AR)};function sl(e){"@babel/helpers - typeof";return sl=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},sl(e)}function Ere(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _re(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,MR(r.key),r)}}function Cre(e,t,n){return t&&_re(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Are(e,t,n){return t=Kh(t),Tre(e,RR()?Reflect.construct(t,n||[],Kh(e).constructor):t.apply(e,n))}function Tre(e,t){if(t&&(sl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ore(e)}function Ore(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function RR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(RR=function(){return!!e})()}function Kh(e){return Kh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Kh(e)}function Pre(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 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 EN(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){r0(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 r0(e,t,n){return t=MR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function MR(e){var t=Rre(e,"string");return sl(t)=="symbol"?t:t+""}function Rre(e,t){if(sl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(sl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Mre(e,t){return Dre(e)||Lre(e,t)||$re(e,t)||Ire()}function Ire(){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 $re(e,t){if(e){if(typeof e=="string")return _N(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 _N(e,t)}}function _N(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 Lre(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 Dre(e){if(Array.isArray(e))return e}function jb(){return jb=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},jb.apply(this,arguments)}var Bre=function(t,n){var r;return V.isValidElement(t)?r=V.cloneElement(t,n):Fe(t)?r=t(n):r=V.createElement("line",jb({},n,{className:"recharts-reference-line-line"})),r},zre=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(ua(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(ua(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(b){return t.apply(b,{position:o})});return ua(u,"discard")&&cne(k,function(b){return!t.isInRange(b)})?null:k}return null};function Fre(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=wre(),d=OR(a),f=PR(s),h=jre();if(!u||!h)return null;Ia(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var p=Zw({x:d.scale,y:f.scale}),m=Vt(t),g=Vt(n),y=r&&r.length===2,v=zre(p,m,g,y,h,e.position,d.orientation,f.orientation,e);if(!v)return null;var S=Mre(v,2),w=S[0],N=w.x,k=w.y,b=S[1],j=b.x,E=b.y,P=ua(e,"hidden")?"url(#".concat(u,")"):void 0,_=EN(EN({clipPath:P},Ye(e,!0)),{},{x1:N,y1:k,x2:j,y2:E});return V.createElement(en,{className:Xe("recharts-reference-line",l)},Bre(o,_),kn.renderCallByParent(e,Zne({x1:N,y1:k,x2:j,y2:E})))}var a0=function(e){function t(){return Ere(this,t),Are(this,t,arguments)}return Pre(t,e),Cre(t,[{key:"render",value:function(){return V.createElement(Fre,this.props)}}])}(V.Component);r0(a0,"displayName","ReferenceLine");r0(a0,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});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)}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 CN(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?CN(Object(n),!0).forEach(function(r){mm(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):CN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ure(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wre(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 Hre(e,t,n){return t&&Wre(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gre(e,t,n){return t=Vh(t),qre(e,IR()?Reflect.construct(t,n||[],Vh(e).constructor):t.apply(e,n))}function qre(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 Kre(e)}function Kre(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 Vre(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&&Eb(e,t)}function Eb(e,t){return Eb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Eb(e,t)}function mm(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=Yre(e,"string");return ol(t)=="symbol"?t:t+""}function Yre(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 Xre=function(t){var n=t.x,r=t.y,a=t.xAxis,s=t.yAxis,o=Zw({x:a.scale,y:s.scale}),l=o.apply({x:n,y:r},{bandAware:!0});return ua(t,"discard")&&!o.isInRange(l)?null:l},gm=function(e){function t(){return Ure(this,t),Gre(this,t,arguments)}return Vre(t,e),Hre(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=Vt(a),d=Vt(s);if(Ia(l===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.'),!u||!d)return null;var f=Xre(this.props);if(!f)return null;var h=f.x,p=f.y,m=this.props,g=m.shape,y=m.className,v=ua(this.props,"hidden")?"url(#".concat(c,")"):void 0,S=AN(AN({clipPath:v},Ye(this.props,!0)),{},{cx:h,cy:p});return V.createElement(en,{className:Xe("recharts-reference-dot",y)},t.renderDot(g,S),kn.renderCallByParent(this.props,{x:h-o,y:p-o,width:2*o,height:2*o}))}}])}(V.Component);mm(gm,"displayName","ReferenceDot");mm(gm,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#fff",stroke:"#ccc",fillOpacity:1,strokeWidth:1});mm(gm,"renderDot",function(e,t){var n;return V.isValidElement(e)?n=V.cloneElement(e,t):Fe(e)?n=e(t):n=V.createElement(hR,Nb({},t,{cx:t.cx,cy:t.cy,className:"recharts-reference-dot-dot"})),n});function _b(){return _b=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},_b.apply(this,arguments)}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 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){vm(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 Qre(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zre(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 Jre(e,t,n){return t&&Zre(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function eae(e,t,n){return t=Yh(t),tae(e,LR()?Reflect.construct(t,n||[],Yh(e).constructor):t.apply(e,n))}function tae(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 nae(e)}function nae(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 rae(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&&Cb(e,t)}function Cb(e,t){return Cb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Cb(e,t)}function vm(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=aae(e,"string");return ll(t)=="symbol"?t:t+""}function aae(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)}var iae=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=Zw({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 ua(s,"discard")&&(!h.isInRange(p)||!h.isInRange(m))?null:jR(p,m)},ym=function(e){function t(){return Qre(this,t),eae(this,t,arguments)}return rae(t,e),Jre(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;Ia(u===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var f=Vt(a),h=Vt(s),p=Vt(o),m=Vt(l),g=this.props.shape;if(!f&&!h&&!p&&!m&&!g)return null;var y=iae(f,h,p,m,this.props);if(!y&&!g)return null;var v=ua(this.props,"hidden")?"url(#".concat(d,")"):void 0;return V.createElement(en,{className:Xe("recharts-reference-area",c)},t.renderRect(g,ON(ON({clipPath:v},Ye(this.props,!0)),y)),kn.renderCallByParent(this.props,y))}}])}(V.Component);vm(ym,"displayName","ReferenceArea");vm(ym,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#ccc",fillOpacity:.5,stroke:"none",strokeWidth:1});vm(ym,"renderRect",function(e,t){var n;return V.isValidElement(e)?n=V.cloneElement(e,t):Fe(e)?n=e(t):n=V.createElement(Qw,_b({},t,{className:"recharts-reference-area-rect"})),n});function BR(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 sae(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return ere(r,n)}function oae(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 Xh(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 lae(e,t){return BR(e,t+1)}function cae(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:BR(r,u)};var g=c,y,v=function(){return y===void 0&&(y=n(m,g)),y},S=m.coordinate,w=c===0||Xh(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 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 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 yn(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){uae(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 uae(e,t,n){return t=dae(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dae(e){var t=fae(e,"string");return Bu(t)=="symbol"?t:t+""}function fae(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 hae(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=yn(yn({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate})}else s[h]=p=yn(yn({},p),{},{tickCoord:p.coordinate});var v=Xh(e,p.tickCoord,g,l,c);v&&(c=p.tickCoord-e*(g()/2+a),s[h]=yn(yn({},p),{},{isShow:!0}))},d=o-1;d>=0;d--)u(d);return s}function pae(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=yn(yn({},d),{},{tickCoord:h>0?d.coordinate-h*e:d.coordinate});var p=Xh(e,d.tickCoord,function(){return f},c,u);p&&(u=d.tickCoord-e*(f/2+a),o[l-1]=yn(yn({},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 b=e*(w.coordinate-e*k()/2-c);o[S]=w=yn(yn({},w),{},{tickCoord:b<0?w.coordinate-b*e:w.coordinate})}else o[S]=w=yn(yn({},w),{},{tickCoord:w.coordinate});var j=Xh(e,w.tickCoord,k,c,u);j&&(c=w.tickCoord+e*(k()/2+a),o[S]=yn(yn({},w),{},{isShow:!0}))},y=0;y<m;y++)g(y);return o}function i0(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(fe(c)||ed.isSsr)return lae(a,typeof c=="number"&&fe(c)?c:0);var h=[],p=l==="top"||l==="bottom"?"width":"height",m=d&&p==="width"?Pc(d,{fontSize:t,letterSpacing:n}):{width:0,height:0},g=function(w,N){var k=Fe(u)?u(w.value,N):w.value;return p==="width"?sae(Pc(k,{fontSize:t,letterSpacing:n}),m,f):Pc(k,{fontSize:t,letterSpacing:n})[p]},y=a.length>=2?Br(a[1].coordinate-a[0].coordinate):1,v=oae(s,y,p);return c==="equidistantPreserveStart"?cae(y,v,g,a,o):(c==="preserveStart"||c==="preserveStartEnd"?h=pae(y,v,g,a,o,c==="preserveStartEnd"):h=hae(y,v,g,a,o),h.filter(function(S){return S.isShow}))}var mae=["viewBox"],gae=["viewBox"],vae=["ticks"];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 Eo(){return Eo=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},Eo.apply(this,arguments)}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 Ht(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){s0(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 Og(e,t){if(e==null)return{};var n=yae(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 yae(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 bae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function MN(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,FR(r.key),r)}}function xae(e,t,n){return t&&MN(e.prototype,t),n&&MN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function wae(e,t,n){return t=Qh(t),kae(e,zR()?Reflect.construct(t,n||[],Qh(e).constructor):t.apply(e,n))}function kae(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 Sae(e)}function Sae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zR=function(){return!!e})()}function Qh(e){return Qh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Qh(e)}function jae(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 s0(e,t,n){return t=FR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FR(e){var t=Nae(e,"string");return cl(t)=="symbol"?t:t+""}function Nae(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 Pl=function(e){function t(n){var r;return bae(this,t),r=wae(this,t,[n]),r.state={fontSize:"",letterSpacing:""},r}return jae(t,e),xae(t,[{key:"shouldComponentUpdate",value:function(r,a){var s=r.viewBox,o=Og(r,mae),l=this.props,c=l.viewBox,u=Og(l,gae);return!Io(s,c)||!Io(o,u)||!Io(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=fe(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=Ht(Ht(Ht({},Ye(this.props,!1)),Ye(d,!1)),{},{fill:"none"});if(c==="top"||c==="bottom"){var h=+(c==="top"&&!u||c==="bottom"&&u);f=Ht(Ht({},f),{},{x1:a,y1:s+h*l,x2:a+o,y2:s+h*l})}else{var p=+(c==="left"&&!u||c==="right"&&u);f=Ht(Ht({},f),{},{x1:a+p*o,y1:s,x2:a+p*o,y2:s+l})}return V.createElement("line",Eo({},f,{className:Xe("recharts-cartesian-axis-line",jr(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=i0(Ht(Ht({},this.props),{},{ticks:r}),a,s),m=this.getTickTextAnchor(),g=this.getTickVerticalAnchor(),y=Ye(this.props,!1),v=Ye(d,!1),S=Ht(Ht({},y),{},{fill:"none"},Ye(c,!1)),w=p.map(function(N,k){var b=o.getTickLineCoord(N),j=b.line,E=b.tick,P=Ht(Ht(Ht(Ht({textAnchor:m,verticalAnchor:g},y),{},{stroke:"none",fill:u},v),E),{},{index:k,payload:N,visibleTicksCount:p.length,tickFormatter:f});return V.createElement(en,Eo({className:"recharts-cartesian-axis-tick",key:"tick-".concat(N.value,"-").concat(N.coordinate,"-").concat(N.tickCoord)},rh(o.props,N,k)),c&&V.createElement("line",Eo({},S,j,{className:Xe("recharts-cartesian-axis-tick-line",jr(c,"className"))})),d&&t.renderTickItem(d,P,"".concat(Fe(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=Og(f,vae),m=h;return Fe(c)&&(m=h&&h.length>0?c(this.props):c(p)),o<=0||l<=0||!m||!m.length?null:V.createElement(en,{className:Xe("recharts-cartesian-axis",u),ref:function(y){r.layerReference=y}},s&&this.renderAxisLine(),this.renderTicks(m,this.state.fontSize,this.state.letterSpacing),kn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,a,s){var o,l=Xe(a.className,"recharts-cartesian-axis-tick-value");return V.isValidElement(r)?o=V.cloneElement(r,Ht(Ht({},a),{},{className:l})):Fe(r)?o=r(Ht(Ht({},a),{},{className:l})):o=V.createElement(vh,Eo({},a,{className:"recharts-cartesian-axis-tick-value"}),s),o}}])}(x.Component);s0(Pl,"displayName","CartesianAxis");s0(Pl,"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 Eae=["x1","y1","x2","y2","key"],_ae=["offset"];function Is(e){"@babel/helpers - typeof";return Is=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},Is(e)}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 Sn(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){Cae(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 Cae(e,t,n){return t=Aae(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Aae(e){var t=Tae(e,"string");return Is(t)=="symbol"?t:t+""}function Tae(e,t){if(Is(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gs(){return gs=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},gs.apply(this,arguments)}function $N(e,t){if(e==null)return{};var n=Oae(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 Oae(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 Pae=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 UR(e,t){var n;if(V.isValidElement(e))n=V.cloneElement(e,t);else if(Fe(e))n=e(t);else{var r=t.x1,a=t.y1,s=t.x2,o=t.y2,l=t.key,c=$N(t,Eae),u=Ye(c,!1);u.offset;var d=$N(u,_ae);n=V.createElement("line",gs({},d,{x1:r,y1:a,x2:s,y2:o,fill:"none",key:l}))}return n}function Rae(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=Sn(Sn({},e),{},{x1:t,y1:l,x2:t+n,y2:l,key:"line-".concat(c),index:c});return UR(a,u)});return V.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function Mae(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=Sn(Sn({},e),{},{x1:l,y1:t,x2:l,y2:t+n,key:"line-".concat(c),index:c});return UR(a,u)});return V.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function Iae(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 $ae(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 Lae=function(t,n){var r=t.xAxis,a=t.width,s=t.height,o=t.offset;return QP(i0(Sn(Sn(Sn({},Pl.defaultProps),r),{},{ticks:Pa(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),o.left,o.left+o.width,n)},Dae=function(t,n){var r=t.yAxis,a=t.width,s=t.height,o=t.offset;return QP(i0(Sn(Sn(Sn({},Pl.defaultProps),r),{},{ticks:Pa(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),o.top,o.top+o.height,n)},no={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function ci(e){var t,n,r,a,s,o,l=t0(),c=n0(),u=Nre(),d=Sn(Sn({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:no.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:no.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:no.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:no.horizontalFill,vertical:(s=e.vertical)!==null&&s!==void 0?s:no.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:no.verticalFill,x:fe(e.x)?e.x:u.left,y:fe(e.y)?e.y:u.top,width:fe(e.width)?e.width:u.width,height:fe(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=kre(),w=Sre();if(!fe(p)||p<=0||!fe(m)||m<=0||!fe(f)||f!==+f||!fe(h)||h!==+h)return null;var N=d.verticalCoordinatesGenerator||Lae,k=d.horizontalCoordinatesGenerator||Dae,b=d.horizontalPoints,j=d.verticalPoints;if((!b||!b.length)&&Fe(k)){var E=y&&y.length,P=k({yAxis:w?Sn(Sn({},w),{},{ticks:E?y:w.ticks}):void 0,width:l,height:c,offset:u},E?!0:g);Ia(Array.isArray(P),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Is(P),"]")),Array.isArray(P)&&(b=P)}if((!j||!j.length)&&Fe(N)){var _=v&&v.length,A=N({xAxis:S?Sn(Sn({},S),{},{ticks:_?v:S.ticks}):void 0,width:l,height:c,offset:u},_?!0:g);Ia(Array.isArray(A),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Is(A),"]")),Array.isArray(A)&&(j=A)}return V.createElement("g",{className:"recharts-cartesian-grid"},V.createElement(Pae,{fill:d.fill,fillOpacity:d.fillOpacity,x:d.x,y:d.y,width:d.width,height:d.height,ry:d.ry}),V.createElement(Rae,gs({},d,{offset:u,horizontalPoints:b,xAxis:S,yAxis:w})),V.createElement(Mae,gs({},d,{offset:u,verticalPoints:j,xAxis:S,yAxis:w})),V.createElement(Iae,gs({},d,{horizontalPoints:b})),V.createElement($ae,gs({},d,{verticalPoints:j})))}ci.displayName="CartesianGrid";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 Bae(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,GR(r.key),r)}}function Fae(e,t,n){return t&&zae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Uae(e,t,n){return t=Zh(t),Wae(e,WR()?Reflect.construct(t,n||[],Zh(e).constructor):t.apply(e,n))}function Wae(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 Hae(e)}function Hae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function WR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(WR=function(){return!!e})()}function Zh(e){return Zh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Zh(e)}function Gae(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 HR(e,t,n){return t=GR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GR(e){var t=qae(e,"string");return ul(t)=="symbol"?t:t+""}function qae(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)}function Ob(){return Ob=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},Ob.apply(this,arguments)}function Kae(e){var t=e.xAxisId,n=t0(),r=n0(),a=OR(t);return a==null?null:x.createElement(Pl,Ob({},a,{className:Xe("recharts-".concat(a.axisType," ").concat(a.axisType),a.className),viewBox:{x:0,y:0,width:n,height:r},ticksGenerator:function(o){return Pa(o,!0)}}))}var aa=function(e){function t(){return Bae(this,t),Uae(this,t,arguments)}return Gae(t,e),Fae(t,[{key:"render",value:function(){return x.createElement(Kae,this.props)}}])}(x.Component);HR(aa,"displayName","XAxis");HR(aa,"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 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 Vae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yae(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,VR(r.key),r)}}function Xae(e,t,n){return t&&Yae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Qae(e,t,n){return t=Jh(t),Zae(e,qR()?Reflect.construct(t,n||[],Jh(e).constructor):t.apply(e,n))}function Zae(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 Jae(e)}function Jae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(qR=function(){return!!e})()}function Jh(e){return Jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Jh(e)}function eie(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&&Pb(e,t)}function Pb(e,t){return Pb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Pb(e,t)}function KR(e,t,n){return t=VR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VR(e){var t=tie(e,"string");return dl(t)=="symbol"?t:t+""}function tie(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)}function Rb(){return Rb=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},Rb.apply(this,arguments)}var nie=function(t){var n=t.yAxisId,r=t0(),a=n0(),s=PR(n);return s==null?null:x.createElement(Pl,Rb({},s,{className:Xe("recharts-".concat(s.axisType," ").concat(s.axisType),s.className),viewBox:{x:0,y:0,width:r,height:a},ticksGenerator:function(l){return Pa(l,!0)}}))},ia=function(e){function t(){return Vae(this,t),Qae(this,t,arguments)}return eie(t,e),Xae(t,[{key:"render",value:function(){return x.createElement(nie,this.props)}}])}(x.Component);KR(ia,"displayName","YAxis");KR(ia,"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 LN(e){return sie(e)||iie(e)||aie(e)||rie()}function rie(){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 aie(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 iie(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function sie(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}var Ib=function(t,n,r,a,s){var o=Ur(t,a0),l=Ur(t,gm),c=[].concat(LN(o),LN(l)),u=Ur(t,ym),d="".concat(a,"Id"),f=a[0],h=n;if(c.length&&(h=c.reduce(function(g,y){if(y.props[d]===r&&ua(y.props,"extendDomain")&&fe(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&&ua(y.props,"extendDomain")&&fe(y.props[p])&&fe(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 fe(y)?[Math.min(g[0],y),Math.max(g[1],y)]:g},h)),h},YR={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})(YR);var oie=YR.exports;const lie=Je(oie);var Pg=new lie,Rg="recharts.syncMouseEvents";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 cie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uie(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 die(e,t,n){return t&&uie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Mg(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=fie(e,"string");return zu(t)=="symbol"?t:t+""}function fie(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 String(e)}var hie=function(){function e(){cie(this,e),Mg(this,"activeIndex",0),Mg(this,"coordinateList",[]),Mg(this,"layout","horizontal")}return die(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 pie(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&&fe(r)&&fe(a))return!0}return!1}function mie(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 QR(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 gie(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 QR(t);return[{x:r,y:a},{x:s,y:o}]}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 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 Qd(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){vie(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 vie(e,t,n){return t=yie(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yie(e){var t=bie(e,"string");return Fu(t)=="symbol"?t:t+""}function bie(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 xie(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=D1;if(h==="ScatterChart")m=o,g=Ree;else if(h==="BarChart")m=mie(f,o,c,d),g=Qw;else if(f==="radial"){var y=QR(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=nR}else m={points:gie(f,o,c)},g=D1;var b=Qd(Qd(Qd(Qd({stroke:"#ccc",pointerEvents:"none"},c),m),Ye(p,!1)),{},{payload:l,payloadIndex:u,className:Xe("recharts-tooltip-cursor",p.className)});return x.isValidElement(p)?x.cloneElement(p,b):x.createElement(g,b)}var wie=["item"],kie=["children","className","width","height","style","compact","title","desc"];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 _o(){return _o=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},_o.apply(this,arguments)}function BN(e,t){return Nie(e)||jie(e,t)||JR(e,t)||Sie()}function Sie(){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 jie(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 Nie(e){if(Array.isArray(e))return e}function zN(e,t){if(e==null)return{};var n=Eie(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 Eie(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 _ie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cie(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,eM(r.key),r)}}function Aie(e,t,n){return t&&Cie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Tie(e,t,n){return t=ep(t),Oie(e,ZR()?Reflect.construct(t,n||[],ep(e).constructor):t.apply(e,n))}function Oie(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 Pie(e)}function Pie(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ZR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ZR=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&&$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 hl(e){return $ie(e)||Iie(e)||JR(e)||Mie()}function Mie(){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 JR(e,t){if(e){if(typeof e=="string")return Lb(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 Lb(e,t)}}function Iie(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function $ie(e){if(Array.isArray(e))return Lb(e)}function Lb(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 FN(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?FN(Object(n),!0).forEach(function(r){Ae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ae(e,t,n){return t=eM(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eM(e){var t=Lie(e,"string");return fl(t)=="symbol"?t:t+""}function Lie(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(t==="string"?String:Number)(e)}var Die={xAxis:["bottom","top"],yAxis:["left","right"]},Bie={width:"100%",height:"100%"},tM={x:0,y:0};function Zd(e){return e}var zie=function(t,n){return n==="horizontal"?t.x:n==="vertical"?t.y:n==="centric"?t.angle:t.radius},Fie=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 tM},bm=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(hl(l),hl(u)):l},[]);return o.length>0?o:t&&t.length&&fe(a)&&fe(s)?t.slice(a,s+1):[]};function nM(e){return e==="number"?[0,"auto"]:void 0}var Db=function(t,n,r,a){var s=t.graphicalItems,o=t.tooltipAxis,l=bm(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=vy(p,o.dataKey,a)}else h=f&&f[r]||l[r];return h?[].concat(hl(c),[JP(u,h)]):c},[])},UN=function(t,n,r,a){var s=a||{x:t.chartX,y:t.chartY},o=zie(s,r),l=t.orderedTooltipTicks,c=t.tooltipAxis,u=t.tooltipTicks,d=dQ(o,l,u,c);if(d>=0&&u){var f=u[d]&&u[d].value,h=Db(t,n,d,f),p=Fie(r,l,d,s);return{activeTooltipIndex:d,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Uie=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=XP(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,b=v.scale,j=v.ticks,E=v.includeHidden,P=v[o];if(m[P])return m;var _=bm(t.data,{graphicalItems:a.filter(function(F){var I,se=o in F.props?F.props[o]:(I=F.type.defaultProps)===null||I===void 0?void 0:I[o];return se===P}),dataStartIndex:c,dataEndIndex:u}),A=_.length,O,B,$;pie(v.domain,N,S)&&(O=ab(v.domain,null,N),p&&(S==="number"||b!=="auto")&&($=Mc(_,w,"category")));var M=nM(S);if(!O||O.length===0){var D,U=(D=v.domain)!==null&&D!==void 0?D:M;if(w){if(O=Mc(_,w,S),S==="category"&&p){var R=JU(O);k&&R?(B=O,O=Uh(0,A)):k||(O=N1(U,O,g).reduce(function(F,I){return F.indexOf(I)>=0?F:[].concat(hl(F),[I])},[]))}else if(S==="category")k?O=O.filter(function(F){return F!==""&&!Qe(F)}):O=N1(U,O,g).reduce(function(F,I){return F.indexOf(I)>=0||I===""||Qe(I)?F:[].concat(hl(F),[I])},[]);else if(S==="number"){var z=gQ(_,a.filter(function(F){var I,se,he=o in F.props?F.props[o]:(I=F.type.defaultProps)===null||I===void 0?void 0:I[o],ge="hide"in F.props?F.props.hide:(se=F.type.defaultProps)===null||se===void 0?void 0:se.hide;return he===P&&(E||!ge)}),w,s,d);z&&(O=z)}p&&(S==="number"||b!=="auto")&&($=Mc(_,w,"category"))}else p?O=Uh(0,A):l&&l[P]&&l[P].hasStack&&S==="number"?O=h==="expand"?[0,1]:ZP(l[P].stackGroups,c,u):O=YP(_,a.filter(function(F){var I=o in F.props?F.props[o]:F.type.defaultProps[o],se="hide"in F.props?F.props.hide:F.type.defaultProps.hide;return I===P&&(E||!se)}),S,d,!0);if(S==="number")O=Ib(f,O,P,s,j),U&&(O=ab(U,O,N));else if(S==="category"&&U){var T=U,Z=O.every(function(F){return T.indexOf(F)>=0});Z&&(O=T)}}return ee(ee({},m),{},Ae({},P,ee(ee({},v),{},{axisType:s,domain:O,categoricalDomain:$,duplicateDomain:B,originalDomain:(y=v.domain)!==null&&y!==void 0?y:M,isCategorical:p,layout:d})))},{})},Wie=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=bm(t.data,{graphicalItems:r,dataStartIndex:c,dataEndIndex:u}),p=h.length,m=XP(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=nM("number");if(!y[w]){g++;var k;return m?k=Uh(0,p):l&&l[w]&&l[w].hasStack?(k=ZP(l[w].stackGroups,c,u),k=Ib(f,k,w,s)):(k=ab(N,YP(h,r.filter(function(b){var j,E,P=o in b.props?b.props[o]:(j=b.type.defaultProps)===null||j===void 0?void 0:j[o],_="hide"in b.props?b.props.hide:(E=b.type.defaultProps)===null||E===void 0?void 0:E.hide;return P===w&&!_}),"number",d),a.defaultProps.allowDataOverflow),k=Ib(f,k,w,s)),ee(ee({},y),{},Ae({},w,ee(ee({axisType:s},a.defaultProps),{},{hide:!0,orientation:jr(Die,"".concat(s,".").concat(g%2),null),domain:k,originalDomain:N,isCategorical:m,layout:d})))}return y},{})},Hie=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=Ur(d,s),p={};return h&&h.length?p=Uie(t,{axes:h,graphicalItems:o,axisType:a,axisIdKey:f,stackGroups:l,dataStartIndex:c,dataEndIndex:u}):o&&o.length&&(p=Wie(t,{Axis:s,graphicalItems:o,axisType:a,axisIdKey:f,stackGroups:l,dataStartIndex:c,dataEndIndex:u})),p},Gie=function(t){var n=li(t),r=Pa(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:Sw(r,function(a){return a.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Ph(n,r)}},WN=function(t){var n=t.children,r=t.defaultShowTooltip,a=tr(n,al),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}},qie=function(t){return!t||!t.length?!1:t.some(function(n){var r=Ma(n&&n.type);return r&&r.indexOf("Bar")>=0})},HN=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"}},Kie=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=tr(f,al),m=tr(f,xs),g=Object.keys(c).reduce(function(k,b){var j=c[b],E=j.orientation;return!j.mirror&&!j.hide?ee(ee({},k),{},Ae({},E,k[E]+j.width)):k},{left:h.left||0,right:h.right||0}),y=Object.keys(o).reduce(function(k,b){var j=o[b],E=j.orientation;return!j.mirror&&!j.hide?ee(ee({},k),{},Ae({},E,jr(k,"".concat(E))+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||al.defaultProps.height),m&&n&&(v=pQ(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)})},Vie=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},Yie=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,b=S.updateId,j=S.dataStartIndex,E=S.dataEndIndex,P=v.barSize,_=v.layout,A=v.barGap,O=v.barCategoryGap,B=v.maxBarSize,$=HN(_),M=$.numericAxisName,D=$.cateAxisName,U=qie(w),R=[];return w.forEach(function(z,T){var Z=bm(v.data,{graphicalItems:[z],dataStartIndex:j,dataEndIndex:E}),F=z.type.defaultProps!==void 0?ee(ee({},z.type.defaultProps),z.props):z.props,I=F.dataKey,se=F.maxBarSize,he=F["".concat(M,"Id")],ge=F["".concat(D,"Id")],Te={},X=c.reduce(function(Me,at){var Ge=S["".concat(at.axisType,"Map")],wt=F["".concat(at.axisType,"Id")];Ge&&Ge[wt]||at.axisType==="zAxis"||Ms();var fn=Ge[wt];return ee(ee({},Me),{},Ae(Ae({},at.axisType,fn),"".concat(at.axisType,"Ticks"),Pa(fn)))},Te),Y=X[D],ie=X["".concat(D,"Ticks")],de=N&&N[he]&&N[he].hasStack&&CQ(z,N[he].stackGroups),W=Ma(z.type).indexOf("Bar")>=0,xe=Ph(Y,ie),we=[],_e=U&&fQ({barSize:P,stackGroups:N,totalSize:Vie(X,D)});if(W){var ve,Le,pe=Qe(se)?B:se,et=(ve=(Le=Ph(Y,ie,!0))!==null&&Le!==void 0?Le:pe)!==null&&ve!==void 0?ve:0;we=hQ({barGap:A,barCategoryGap:O,bandSize:et!==xe?et:xe,sizeList:_e[ge],maxBarSize:pe}),et!==xe&&(we=we.map(function(Me){return ee(ee({},Me),{},{position:ee(ee({},Me.position),{},{offset:Me.position.offset-et/2})})}))}var Be=z&&z.type&&z.type.getComposedData;Be&&R.push({props:ee(ee({},Be(ee(ee({},X),{},{displayedData:Z,props:v,dataKey:I,item:z,bandSize:xe,barPosition:we,offset:k,stackedData:de,layout:_,dataStartIndex:j,dataEndIndex:E}))),{},Ae(Ae(Ae({key:z.key||"item-".concat(T)},M,X[M]),D,X[D]),"animationId",b)),childIndex:d3(z,v.children),item:z})}),R},p=function(v,S){var w=v.props,N=v.dataStartIndex,k=v.dataEndIndex,b=v.updateId;if(!bS({props:w}))return null;var j=w.children,E=w.layout,P=w.stackOffset,_=w.data,A=w.reverseStackOrder,O=HN(E),B=O.numericAxisName,$=O.cateAxisName,M=Ur(j,r),D=NQ(_,M,"".concat(B,"Id"),"".concat($,"Id"),P,A),U=c.reduce(function(F,I){var se="".concat(I.axisType,"Map");return ee(ee({},F),{},Ae({},se,Hie(w,ee(ee({},I),{},{graphicalItems:M,stackGroups:I.axisType===B&&D,dataStartIndex:N,dataEndIndex:k}))))},{}),R=Kie(ee(ee({},U),{},{props:w,graphicalItems:M}),S==null?void 0:S.legendBBox);Object.keys(U).forEach(function(F){U[F]=d(w,U[F],R,F.replace("Map",""),n)});var z=U["".concat($,"Map")],T=Gie(z),Z=h(w,ee(ee({},U),{},{dataStartIndex:N,dataEndIndex:k,updateId:b,graphicalItems:M,stackGroups:D,offset:R}));return ee(ee({formattedGraphicalItems:Z,graphicalItems:M,offset:R,stackGroups:D},T),U)},m=function(y){function v(S){var w,N,k;return _ie(this,v),k=Tie(this,v,[S]),Ae(k,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ae(k,"accessibilityManager",new hie),Ae(k,"handleLegendBBoxUpdate",function(b){if(b){var j=k.state,E=j.dataStartIndex,P=j.dataEndIndex,_=j.updateId;k.setState(ee({legendBBox:b},p({props:k.props,dataStartIndex:E,dataEndIndex:P,updateId:_},ee(ee({},k.state),{},{legendBBox:b}))))}}),Ae(k,"handleReceiveSyncEvent",function(b,j,E){if(k.props.syncId===b){if(E===k.eventEmitterSymbol&&typeof k.props.syncMethod!="function")return;k.applySyncEvent(j)}}),Ae(k,"handleBrushChange",function(b){var j=b.startIndex,E=b.endIndex;if(j!==k.state.dataStartIndex||E!==k.state.dataEndIndex){var P=k.state.updateId;k.setState(function(){return ee({dataStartIndex:j,dataEndIndex:E},p({props:k.props,dataStartIndex:j,dataEndIndex:E,updateId:P},k.state))}),k.triggerSyncEvent({dataStartIndex:j,dataEndIndex:E})}}),Ae(k,"handleMouseEnter",function(b){var j=k.getMouseInfo(b);if(j){var E=ee(ee({},j),{},{isTooltipActive:!0});k.setState(E),k.triggerSyncEvent(E);var P=k.props.onMouseEnter;Fe(P)&&P(E,b)}}),Ae(k,"triggeredAfterMouseMove",function(b){var j=k.getMouseInfo(b),E=j?ee(ee({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};k.setState(E),k.triggerSyncEvent(E);var P=k.props.onMouseMove;Fe(P)&&P(E,b)}),Ae(k,"handleItemMouseEnter",function(b){k.setState(function(){return{isTooltipActive:!0,activeItem:b,activePayload:b.tooltipPayload,activeCoordinate:b.tooltipPosition||{x:b.cx,y:b.cy}}})}),Ae(k,"handleItemMouseLeave",function(){k.setState(function(){return{isTooltipActive:!1}})}),Ae(k,"handleMouseMove",function(b){b.persist(),k.throttleTriggeredAfterMouseMove(b)}),Ae(k,"handleMouseLeave",function(b){k.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};k.setState(j),k.triggerSyncEvent(j);var E=k.props.onMouseLeave;Fe(E)&&E(j,b)}),Ae(k,"handleOuterEvent",function(b){var j=u3(b),E=jr(k.props,"".concat(j));if(j&&Fe(E)){var P,_;/.*touch.*/i.test(j)?_=k.getMouseInfo(b.changedTouches[0]):_=k.getMouseInfo(b),E((P=_)!==null&&P!==void 0?P:{},b)}}),Ae(k,"handleClick",function(b){var j=k.getMouseInfo(b);if(j){var E=ee(ee({},j),{},{isTooltipActive:!0});k.setState(E),k.triggerSyncEvent(E);var P=k.props.onClick;Fe(P)&&P(E,b)}}),Ae(k,"handleMouseDown",function(b){var j=k.props.onMouseDown;if(Fe(j)){var E=k.getMouseInfo(b);j(E,b)}}),Ae(k,"handleMouseUp",function(b){var j=k.props.onMouseUp;if(Fe(j)){var E=k.getMouseInfo(b);j(E,b)}}),Ae(k,"handleTouchMove",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&k.throttleTriggeredAfterMouseMove(b.changedTouches[0])}),Ae(k,"handleTouchStart",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&k.handleMouseDown(b.changedTouches[0])}),Ae(k,"handleTouchEnd",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&k.handleMouseUp(b.changedTouches[0])}),Ae(k,"handleDoubleClick",function(b){var j=k.props.onDoubleClick;if(Fe(j)){var E=k.getMouseInfo(b);j(E,b)}}),Ae(k,"handleContextMenu",function(b){var j=k.props.onContextMenu;if(Fe(j)){var E=k.getMouseInfo(b);j(E,b)}}),Ae(k,"triggerSyncEvent",function(b){k.props.syncId!==void 0&&Pg.emit(Rg,k.props.syncId,b,k.eventEmitterSymbol)}),Ae(k,"applySyncEvent",function(b){var j=k.props,E=j.layout,P=j.syncMethod,_=k.state.updateId,A=b.dataStartIndex,O=b.dataEndIndex;if(b.dataStartIndex!==void 0||b.dataEndIndex!==void 0)k.setState(ee({dataStartIndex:A,dataEndIndex:O},p({props:k.props,dataStartIndex:A,dataEndIndex:O,updateId:_},k.state)));else if(b.activeTooltipIndex!==void 0){var B=b.chartX,$=b.chartY,M=b.activeTooltipIndex,D=k.state,U=D.offset,R=D.tooltipTicks;if(!U)return;if(typeof P=="function")M=P(R,b);else if(P==="value"){M=-1;for(var z=0;z<R.length;z++)if(R[z].value===b.activeLabel){M=z;break}}var T=ee(ee({},U),{},{x:U.left,y:U.top}),Z=Math.min(B,T.x+T.width),F=Math.min($,T.y+T.height),I=R[M]&&R[M].value,se=Db(k.state,k.props.data,M),he=R[M]?{x:E==="horizontal"?R[M].coordinate:Z,y:E==="horizontal"?F:R[M].coordinate}:tM;k.setState(ee(ee({},b),{},{activeLabel:I,activeCoordinate:he,activePayload:se,activeTooltipIndex:M}))}else k.setState(b)}),Ae(k,"renderCursor",function(b){var j,E=k.state,P=E.isTooltipActive,_=E.activeCoordinate,A=E.activePayload,O=E.offset,B=E.activeTooltipIndex,$=E.tooltipAxisBandSize,M=k.getTooltipEventType(),D=(j=b.props.active)!==null&&j!==void 0?j:P,U=k.props.layout,R=b.key||"_recharts-cursor";return V.createElement(xie,{key:R,activeCoordinate:_,activePayload:A,activeTooltipIndex:B,chartName:n,element:b,isActive:D,layout:U,offset:O,tooltipAxisBandSize:$,tooltipEventType:M})}),Ae(k,"renderPolarAxis",function(b,j,E){var P=jr(b,"type.axisType"),_=jr(k.state,"".concat(P,"Map")),A=b.type.defaultProps,O=A!==void 0?ee(ee({},A),b.props):b.props,B=_&&_[O["".concat(P,"Id")]];return x.cloneElement(b,ee(ee({},B),{},{className:Xe(P,B.className),key:b.key||"".concat(j,"-").concat(E),ticks:Pa(B,!0)}))}),Ae(k,"renderPolarGrid",function(b){var j=b.props,E=j.radialLines,P=j.polarAngles,_=j.polarRadius,A=k.state,O=A.radiusAxisMap,B=A.angleAxisMap,$=li(O),M=li(B),D=M.cx,U=M.cy,R=M.innerRadius,z=M.outerRadius;return x.cloneElement(b,{polarAngles:Array.isArray(P)?P:Pa(M,!0).map(function(T){return T.coordinate}),polarRadius:Array.isArray(_)?_:Pa($,!0).map(function(T){return T.coordinate}),cx:D,cy:U,innerRadius:R,outerRadius:z,key:b.key||"polar-grid",radialLines:E})}),Ae(k,"renderLegend",function(){var b=k.state.formattedGraphicalItems,j=k.props,E=j.children,P=j.width,_=j.height,A=k.props.margin||{},O=P-(A.left||0)-(A.right||0),B=KP({children:E,formattedGraphicalItems:b,legendWidth:O,legendContent:u});if(!B)return null;var $=B.item,M=zN(B,wie);return x.cloneElement($,ee(ee({},M),{},{chartWidth:P,chartHeight:_,margin:A,onBBoxUpdate:k.handleLegendBBoxUpdate}))}),Ae(k,"renderTooltip",function(){var b,j=k.props,E=j.children,P=j.accessibilityLayer,_=tr(E,xn);if(!_)return null;var A=k.state,O=A.isTooltipActive,B=A.activeCoordinate,$=A.activePayload,M=A.activeLabel,D=A.offset,U=(b=_.props.active)!==null&&b!==void 0?b:O;return x.cloneElement(_,{viewBox:ee(ee({},D),{},{x:D.left,y:D.top}),active:U,label:M,payload:U?$:[],coordinate:B,accessibilityLayer:P})}),Ae(k,"renderBrush",function(b){var j=k.props,E=j.margin,P=j.data,_=k.state,A=_.offset,O=_.dataStartIndex,B=_.dataEndIndex,$=_.updateId;return x.cloneElement(b,{key:b.key||"_recharts-brush",onChange:Kd(k.handleBrushChange,b.props.onChange),data:P,x:fe(b.props.x)?b.props.x:A.left,y:fe(b.props.y)?b.props.y:A.top+A.height+A.brushBottom-(E.bottom||0),width:fe(b.props.width)?b.props.width:A.width,startIndex:O,endIndex:B,updateId:"brush-".concat($)})}),Ae(k,"renderReferenceElement",function(b,j,E){if(!b)return null;var P=k,_=P.clipPathId,A=k.state,O=A.xAxisMap,B=A.yAxisMap,$=A.offset,M=b.type.defaultProps||{},D=b.props,U=D.xAxisId,R=U===void 0?M.xAxisId:U,z=D.yAxisId,T=z===void 0?M.yAxisId:z;return x.cloneElement(b,{key:b.key||"".concat(j,"-").concat(E),xAxis:O[R],yAxis:B[T],viewBox:{x:$.left,y:$.top,width:$.width,height:$.height},clipPathId:_})}),Ae(k,"renderActivePoints",function(b){var j=b.item,E=b.activePoint,P=b.basePoint,_=b.childIndex,A=b.isRange,O=[],B=j.props.key,$=j.item.type.defaultProps!==void 0?ee(ee({},j.item.type.defaultProps),j.item.props):j.item.props,M=$.activeDot,D=$.dataKey,U=ee(ee({index:_,dataKey:D,cx:E.x,cy:E.y,r:4,fill:Xw(j.item),strokeWidth:2,stroke:"#fff",payload:E.payload,value:E.value},Ye(M,!1)),nh(M));return O.push(v.renderActiveDot(M,U,"".concat(B,"-activePoint-").concat(_))),P?O.push(v.renderActiveDot(M,ee(ee({},U),{},{cx:P.x,cy:P.y}),"".concat(B,"-basePoint-").concat(_))):A&&O.push(null),O}),Ae(k,"renderGraphicChild",function(b,j,E){var P=k.filterFormatItem(b,j,E);if(!P)return null;var _=k.getTooltipEventType(),A=k.state,O=A.isTooltipActive,B=A.tooltipAxis,$=A.activeTooltipIndex,M=A.activeLabel,D=k.props.children,U=tr(D,xn),R=P.props,z=R.points,T=R.isRange,Z=R.baseLine,F=P.item.type.defaultProps!==void 0?ee(ee({},P.item.type.defaultProps),P.item.props):P.item.props,I=F.activeDot,se=F.hide,he=F.activeBar,ge=F.activeShape,Te=!!(!se&&O&&U&&(I||he||ge)),X={};_!=="axis"&&U&&U.props.trigger==="click"?X={onClick:Kd(k.handleItemMouseEnter,b.props.onClick)}:_!=="axis"&&(X={onMouseLeave:Kd(k.handleItemMouseLeave,b.props.onMouseLeave),onMouseEnter:Kd(k.handleItemMouseEnter,b.props.onMouseEnter)});var Y=x.cloneElement(b,ee(ee({},P.props),X));function ie(at){return typeof B.dataKey=="function"?B.dataKey(at.payload):null}if(Te)if($>=0){var de,W;if(B.dataKey&&!B.allowDuplicatedCategory){var xe=typeof B.dataKey=="function"?ie:"payload.".concat(B.dataKey.toString());de=vy(z,xe,M),W=T&&Z&&vy(Z,xe,M)}else de=z==null?void 0:z[$],W=T&&Z&&Z[$];if(ge||he){var we=b.props.activeIndex!==void 0?b.props.activeIndex:$;return[x.cloneElement(b,ee(ee(ee({},P.props),X),{},{activeIndex:we})),null,null]}if(!Qe(de))return[Y].concat(hl(k.renderActivePoints({item:P,activePoint:de,basePoint:W,childIndex:$,isRange:T})))}else{var _e,ve=(_e=k.getItemByXY(k.state.activeCoordinate))!==null&&_e!==void 0?_e:{graphicalItem:Y},Le=ve.graphicalItem,pe=Le.item,et=pe===void 0?b:pe,Be=Le.childIndex,Me=ee(ee(ee({},P.props),X),{},{activeIndex:Be});return[x.cloneElement(et,Me),null,null]}return T?[Y,null,null]:[Y,null]}),Ae(k,"renderCustomized",function(b,j,E){return x.cloneElement(b,ee(ee({key:"recharts-customized-".concat(E)},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:Kp("recharts"),"-clip"),k.throttleTriggeredAfterMouseMove=VO(k.triggeredAfterMouseMove,(N=S.throttleDelay)!==null&&N!==void 0?N:1e3/60),k.state={},k}return Rie(v,y),Aie(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,b=w.height,j=w.layout,E=tr(N,xn);if(E){var P=E.props.defaultIndex;if(!(typeof P!="number"||P<0||P>this.state.tooltipTicks.length-1)){var _=this.state.tooltipTicks[P]&&this.state.tooltipTicks[P].value,A=Db(this.state,k,P,_),O=this.state.tooltipTicks[P].coordinate,B=(this.state.offset.top+b)/2,$=j==="horizontal",M=$?{x:O,y:B}:{y:O,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[P].tooltipPosition),A=D.props.points[P].tooltipPayload);var U={activeTooltipIndex:P,isTooltipActive:!0,activeLabel:_,activePayload:A,activeCoordinate:M};this.setState(U),this.renderCursor(E),this.accessibilityManager.setIndex(P)}}}},{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,b;this.accessibilityManager.setDetails({offset:{left:(k=this.props.margin.left)!==null&&k!==void 0?k:0,top:(b=this.props.margin.top)!==null&&b!==void 0?b:0}})}return null}},{key:"componentDidUpdate",value:function(w){by([tr(w.children,xn)],[tr(this.props.children,xn)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=tr(this.props.children,xn);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(),b=LK(k),j={chartX:Math.round(w.pageX-b.left),chartY:Math.round(w.pageY-b.top)},E=k.width/N.offsetWidth||1,P=this.inRange(j.chartX,j.chartY,E);if(!P)return null;var _=this.state,A=_.xAxisMap,O=_.yAxisMap,B=this.getTooltipEventType(),$=UN(this.state,this.props.data,this.props.layout,P);if(B!=="axis"&&A&&O){var M=li(A).scale,D=li(O).scale,U=M&&M.invert?M.invert(j.chartX):null,R=D&&D.invert?D.invert(j.chartY):null;return ee(ee({},j),{},{xValue:U,yValue:R},$)}return $?ee(ee({},j),$):null}},{key:"inRange",value:function(w,N){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,b=this.props.layout,j=w/k,E=N/k;if(b==="horizontal"||b==="vertical"){var P=this.state.offset,_=j>=P.left&&j<=P.left+P.width&&E>=P.top&&E<=P.top+P.height;return _?{x:j,y:E}:null}var A=this.state,O=A.angleAxisMap,B=A.radiusAxisMap;if(O&&B){var $=li(O);return C1({x:j,y:E},$)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,N=this.getTooltipEventType(),k=tr(w,xn),b={};k&&N==="axis"&&(k.props.trigger==="click"?b={onClick:this.handleClick}:b={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=nh(this.props,this.handleOuterEvent);return ee(ee({},j),b)}},{key:"addListener",value:function(){Pg.on(Rg,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Pg.removeListener(Rg,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,N,k){for(var b=this.state.formattedGraphicalItems,j=0,E=b.length;j<E;j++){var P=b[j];if(P.item===w||P.props.key===w.key||N===Ma(P.item.type)&&k===P.childIndex)return P}return null}},{key:"renderClipPath",value:function(){var w=this.clipPathId,N=this.state.offset,k=N.left,b=N.top,j=N.height,E=N.width;return V.createElement("defs",null,V.createElement("clipPath",{id:w},V.createElement("rect",{x:k,y:b,height:j,width:E})))}},{key:"getXScales",value:function(){var w=this.state.xAxisMap;return w?Object.entries(w).reduce(function(N,k){var b=BN(k,2),j=b[0],E=b[1];return ee(ee({},N),{},Ae({},j,E.scale))},{}):null}},{key:"getYScales",value:function(){var w=this.state.yAxisMap;return w?Object.entries(w).reduce(function(N,k){var b=BN(k,2),j=b[0],E=b[1];return ee(ee({},N),{},Ae({},j,E.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,b=N.activeItem;if(k&&k.length)for(var j=0,E=k.length;j<E;j++){var P=k[j],_=P.props,A=P.item,O=A.type.defaultProps!==void 0?ee(ee({},A.type.defaultProps),A.props):A.props,B=Ma(A.type);if(B==="Bar"){var $=(_.data||[]).find(function(R){return See(w,R)});if($)return{graphicalItem:P,payload:$}}else if(B==="RadialBar"){var M=(_.data||[]).find(function(R){return C1(w,R)});if(M)return{graphicalItem:P,payload:M}}else if(fm(P,b)||hm(P,b)||Iu(P,b)){var D=Ete({graphicalItem:P,activeTooltipItem:b,itemData:O.data}),U=O.activeIndex===void 0?D:O.activeIndex;return{graphicalItem:ee(ee({},P),{},{childIndex:U}),payload:Iu(P,b)?O.data[D]:P.props.data[D]}}}return null}},{key:"render",value:function(){var w=this;if(!bS(this))return null;var N=this.props,k=N.children,b=N.className,j=N.width,E=N.height,P=N.style,_=N.compact,A=N.title,O=N.desc,B=zN(N,kie),$=Ye(B,!1);if(_)return V.createElement(jN,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},V.createElement(wy,_o({},$,{width:j,height:E,title:A,desc:O}),this.renderClipPath(),wS(k,this.renderMap)));if(this.props.accessibilityLayer){var M,D;$.tabIndex=(M=this.props.tabIndex)!==null&&M!==void 0?M:0,$.role=(D=this.props.role)!==null&&D!==void 0?D:"application",$.onKeyDown=function(R){w.accessibilityManager.keyboardEvent(R)},$.onFocus=function(){w.accessibilityManager.focus()}}var U=this.parseEventsOfWrapper();return V.createElement(jN,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},V.createElement("div",_o({className:Xe("recharts-wrapper",b),style:ee({position:"relative",cursor:"default",width:j,height:E},P)},U,{ref:function(z){w.container=z}}),V.createElement(wy,_o({},$,{width:j,height:E,title:A,desc:O,style:Bie}),this.renderClipPath(),wS(k,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(x.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,b=y.height,j=y.layout,E=y.stackOffset,P=y.margin,_=v.dataStartIndex,A=v.dataEndIndex;if(v.updateId===void 0){var O=WN(y);return ee(ee(ee({},O),{},{updateId:0},p(ee(ee({props:y},O),{},{updateId:0}),v)),{},{prevDataKey:S,prevData:w,prevWidth:k,prevHeight:b,prevLayout:j,prevStackOffset:E,prevMargin:P,prevChildren:N})}if(S!==v.prevDataKey||w!==v.prevData||k!==v.prevWidth||b!==v.prevHeight||j!==v.prevLayout||E!==v.prevStackOffset||!Io(P,v.prevMargin)){var B=WN(y),$={chartX:v.chartX,chartY:v.chartY,isTooltipActive:v.isTooltipActive},M=ee(ee({},UN(v,w,j)),{},{updateId:v.updateId+1}),D=ee(ee(ee({},B),$),M);return ee(ee(ee({},D),p(ee({props:y},D),v)),{},{prevDataKey:S,prevData:w,prevWidth:k,prevHeight:b,prevLayout:j,prevStackOffset:E,prevMargin:P,prevChildren:N})}if(!by(N,v.prevChildren)){var U,R,z,T,Z=tr(N,al),F=Z&&(U=(R=Z.props)===null||R===void 0?void 0:R.startIndex)!==null&&U!==void 0?U:_,I=Z&&(z=(T=Z.props)===null||T===void 0?void 0:T.endIndex)!==null&&z!==void 0?z:A,se=F!==_||I!==A,he=!Qe(w),ge=he&&!se?v.updateId:v.updateId+1;return ee(ee({updateId:ge},p(ee(ee({props:y},v),{},{updateId:ge,dataStartIndex:F,dataEndIndex:I}),v)),{},{prevChildren:N,dataStartIndex:F,dataEndIndex:I})}return null}),Ae(m,"renderActiveDot",function(y,v,S){var w;return x.isValidElement(y)?w=x.cloneElement(y,v):Fe(y)?w=y(v):w=V.createElement(hR,v),V.createElement(en,{className:"recharts-active-dot",key:S},w)});var g=x.forwardRef(function(v,S){return V.createElement(m,_o({},v,{ref:S}))});return g.displayName=m.displayName,g},ls=Yie({chartName:"BarChart",GraphicalChild:bn,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:aa},{axisType:"yAxis",AxisComp:ia}],formatAxisMap:Qne});const Xie=new Intl.NumberFormat("en-US");function bt(e){return Xie.format(e)}function Bb(e){return e==null||e<1e-5?"$0.00":e<.01?"$"+e.toFixed(6):"$"+e.toFixed(4)}function tt(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":bt(e)}function Qie(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:tt(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:tt(r),label:"Active Conversations",tone:"ok"}),t&&n.push({key:"skills",icon:"🧩",value:tt(t.skills.total),label:"Skills Loaded",tone:"warn"}),e&&n.push({key:"cost",icon:"💰",value:Bb(e.cost.totalCost),label:"Total Cost",tone:"danger"}),n}function Fi({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 Re({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 Zie=6e4;function o0(e=Zie){const[t,n]=x.useState(null);return x.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 Kr(){const[e,t]=x.useState(eB);return x.useEffect(()=>tB(t),[]),e}const Jie={local:"var(--accent-green)",groq:"var(--accent-blue)",gemini:"var(--accent-purple)",nim:"var(--accent-cyan)",openrouter:"var(--accent-yellow)"};function GN(e){if(!e)return!1;const t=new Date;return t.setHours(0,0,0,0),e>=t.getTime()}function Ig({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 ese({data:e,onRefresh:t,refreshing:n=!1}){var _,A,O,B,$;const[r,a]=x.useState(null),[s,o]=x.useState(null),l=o0(),c=Kr();if(x.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(Re,{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:Bb(u.totalCost),label:"Total Cost"},{icon:"📞",value:tt(u.totalRequests),label:"API Requests"},{icon:"🧠",value:tt(h.total),label:"Trajectories"},{icon:"📝",value:tt(d.total),label:"Chat Sessions"},{icon:"🏆",value:tt(f.totalRuns),label:"Benchmark Runs"},{icon:"📦",value:tt(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=Qie(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=>GN(M.finishedAt)&&(M.status==="failed"||M.status==="error")).length,b=S.filter(M=>GN(M.finishedAt)&&M.status==="done").length,j=e.modelRegistry,E=((_=r==null?void 0:r.channels)==null?void 0:_.platforms)??[],P=E.filter(M=>M.configured).length;return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(Fi,{tiles:v}),i.jsxs("div",{className:"overview-summary",children:[i.jsxs("div",{className:"summary-cards",children:[i.jsx(Ig,{title:"Task Summary",action:i.jsx(Jt,{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:tt(N),label:"Running now"}),i.jsx(Qn,{value:tt(b),label:"Completed today"}),k>0&&i.jsx(Qn,{value:tt(k),label:"Failed today"})]})}),j&&i.jsxs(Ig,{title:"Models",action:i.jsx(Jt,{className:"summary-card-link",to:"/models",children:"Manage →"}),children:[i.jsx(Qn,{value:tt(j.routableNow??j.verified),label:"Routable now"}),i.jsx(Qn,{value:tt(j.verified),label:"Verified (proven)"}),i.jsx(Qn,{value:tt((l==null?void 0:l.trackedModels)??j.total),label:"Tracked models (registry)"}),i.jsx(Qn,{value:tt((l==null?void 0:l.trackedProviders)??((A=j.providers)==null?void 0:A.length)??0),label:"Tracked providers (registry)"}),l&&i.jsxs(i.Fragment,{children:[i.jsx(Qn,{value:tt(l.listedModels),label:"Listed models (live probe)"}),i.jsx(Qn,{value:tt(l.listedProviders),label:"Listed providers (live probe)"})]}),j.parked>0&&i.jsx(Qn,{value:tt(j.parked),label:"Quota-parked"})]}),r&&i.jsxs(Ig,{title:"Gateway Status",action:i.jsx(Jt,{className:"summary-card-link",to:"/gateway",children:"Gateway ops →"}),children:[i.jsx(Qn,{value:`${P}/${E.length}`,label:"Platforms configured"}),i.jsx(Qn,{value:tt(r.skills.total),label:"Skills loaded"}),i.jsx(Qn,{value:tt(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(Jt,{className:"quick-action",to:"/tasks",children:[i.jsx("span",{"aria-hidden":"true",children:"🚀"})," Run a CLI command"]}),i.jsxs(Jt,{className:"quick-action",to:"/hub",children:[i.jsx("span",{"aria-hidden":"true",children:"🧰"})," Skills & channels"]}),i.jsxs(Jt,{className:"quick-action",to:"/models",children:[i.jsx("span",{"aria-hidden":"true",children:"🧠"})," Model registry"]}),i.jsxs(Jt,{className:"quick-action",to:"/traces",children:[i.jsx("span",{"aria-hidden":"true",children:"🔍"})," Reasoning traces"]}),i.jsxs(Jt,{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:tt(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:tt(((O=h.facts)==null?void 0:O.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:tt(((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"}),($=h.recall)!=null&&$.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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:g,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{tick:{fontSize:11},tickFormatter:M=>"$"+M.toFixed(4)}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:M=>[Bb(M),"Cost"]}),i.jsx(bn,{dataKey:"value",radius:[4,4,0,0],children:g.map(M=>i.jsx(du,{fillOpacity:.8,style:{fill:Jie[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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:y,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{tick:{fontSize:11}}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"}}),i.jsx(bn,{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 tse(){return i.jsxs("div",{className:"panel",children:[i.jsx(Re,{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(Jt,{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(Jt,{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(Jt,{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:OT.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 ",iu.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:[iu.map(e=>th[e]).join(" · "),". The"," ",th.contrast," palette is the one to pick when you need maximum legibility."]}),i.jsx("dt",{children:"Mode"}),i.jsxs("dd",{children:[Op.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:PT.map(e=>i.jsxs(Jt,{to:e.path,children:[i.jsx("span",{"aria-hidden":"true",children:e.icon})," ",e.label]},e.path))})]}),gy.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(Jt,{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(Jt,{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(Jt,{to:"/system",children:"System"})," for the health checks behind it."]})]})]})]})}const qN={planner:"📋","context-gatherer":"📂",writer:"✏️",reviewer:"👁️",tester:"🧪",debugger:"🐛",runner:"▶️",git:"🔀",package:"📦","github-release":"🏷️",security:"🔒",orchestrator:"🎯"},KN={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)"},$g={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"},VN={pending:{icon:"⏳",label:"Pending"},running:{icon:"▶️",label:"Running"},completed:{icon:"✅",label:"Done"},failed:{icon:"❌",label:"Failed"}},nse={pending:"var(--text-muted)",running:"var(--accent-blue)",completed:"var(--accent-green)",failed:"var(--accent-red)"};function rse(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 ase(e,t){const n=[],r=new Set,a=rse(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 ei(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 YN(e){return e?new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit"}):""}function ise(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 sse({runs:e,selectedRunId:t,onSelectRun:n,onScrub:r}){const[a,s]=x.useState(null),o=e.find(j=>j.id===(t??a))??e[0]??null,[l,c]=x.useState(0),[u,d]=x.useState(!1),f=x.useRef(null),h=x.useRef(!1),p=x.useRef(r);x.useEffect(()=>{p.current=r},[r]),x.useEffect(()=>{var j;!o&&e.length>0?s(e[0].id):o&&!e.some(E=>E.id===o.id)&&s(((j=e[0])==null?void 0:j.id)??null)},[e,o]);const{laid:m,total:g}=x.useMemo(()=>ise((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=x.useMemo(()=>{if(g<=0)return null;const j=y*g;return m.find(E=>j>=E.start*g&&j<(E.start+E.width)*g)||null},[m,y,g]);x.useEffect(()=>{var j;(j=p.current)==null||j.call(p,(v==null?void 0:v.id)??null)},[v==null?void 0:v.id]),x.useEffect(()=>{if(!u)return;const j=setInterval(()=>{c(E=>E+g/2e3*50)},50);return()=>clearInterval(j)},[u,g]),x.useEffect(()=>{u&&g>0&&l>=g&&(d(!1),c(0))},[u,g,l]);const S=x.useCallback(j=>{const E=f.current;if(!E||g<=0)return;const P=E.getBoundingClientRect(),_=P.width||1,A=Math.min(1,Math.max(0,(j-P.left)/_));c(A*g)},[g]),w=j=>{h.current=!0,d(!1),S(j.clientX)};if(x.useEffect(()=>{const j=P=>{h.current&&S(P.clientX)},E=()=>{h.current=!1};return window.addEventListener("pointermove",j),window.addEventListener("pointerup",E),()=>{window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",E)}},[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,b=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:YN(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]}),b>0&&i.jsxs("span",{className:"phase-meta-item phase-meta-bad",children:["❌ ",b]}),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:["⏱ ",ei(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:[ei(l)," / ",ei(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 E=KN[j.agentType]||"var(--accent-blue)",P=nse[j.status],_=(v==null?void 0:v.id)===j.id;return i.jsxs("button",{className:`phase-block phase-block-${j.status} ${_?"active":""}`,style:{left:`${j.start*100}%`,width:`${Math.max(j.width*100,2)}%`,background:`linear-gradient(180deg, ${E}cc, ${E}66)`,boxShadow:_?`0 0 0 2px ${P}`:void 0},onClick:A=>{A.stopPropagation(),d(!1),c((j.start+j.width/2)*g)},title:`${$g[j.agentType]||j.agentType}: ${j.description}`,children:[i.jsx("span",{className:"phase-block-icon",children:qN[j.agentType]||"⚙️"}),i.jsx("span",{className:"phase-block-label",children:$g[j.agentType]||j.agentType})]},j.id)}),i.jsx("div",{className:"phase-caret",style:{left:`${y*100}%`},onPointerDown:j=>{j.stopPropagation(),w(j)},title:`${ei(l)} elapsed`})]}),i.jsxs("div",{className:"phase-ticks",children:[i.jsx("span",{children:"0"}),i.jsx("span",{children:ei(Math.round(g/2))}),i.jsx("span",{children:ei(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:qN[v.agentType]||"⚙️"}),i.jsx("span",{className:"phase-detail-agent",style:{color:KN[v.agentType]||"var(--accent-blue)"},children:$g[v.agentType]||v.agentType}),i.jsxs("span",{className:`phase-status-badge phase-status-${v.status}`,children:[VN[v.status].icon," ",VN[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?ei(v.dur):`~${ei(v.dur)}`]}),v.startedAt?i.jsxs("span",{children:["🕐 ",YN(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 Lg(e){return e===void 0?"—":`$${e.toFixed(5)}`}function XN(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 Dg(e){return e===void 0?"—":e.toLocaleString("en-US")}function ose({jobs:e}){const t=x.useMemo(()=>e.filter(u=>u.batchStats.length>0),[e]),[n,r]=x.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:[Dg(a.tokens)," tokens · ",Lg(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:Dg(u.tokens)}),i.jsx("td",{children:Lg(u.costUsd)}),i.jsx("td",{children:XN(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:Dg(a.tokens)})}),i.jsx("td",{children:i.jsx("strong",{children:Lg(a.costUsd)})}),i.jsx("td",{children:i.jsx("strong",{children:c===void 0?"—":`~${XN(c)} avg`})})]})]})]})})]})}const QN={planner:"📋","context-gatherer":"📂",writer:"✏️",reviewer:"👁️",tester:"🧪",debugger:"🐛",runner:"▶️",git:"🔀",package:"📦","github-release":"🏷️",security:"🔒",orchestrator:"🎯"},Bg={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)"},lse={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)"}},ZN={pending:"⏳ Pending",running:"▶️ Running",completed:"✅ Done",failed:"❌ Failed"},ro={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)"}},zg={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 cse(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,b=m/2-k/2;g.push({...y,x:o+v*(n+a),y:b+w*(r+s),w:n,h:r,step:v,totalInStep:N,indexInStep:w})}return{layoutNodes:g,svgW:p,svgH:m}}function Fg(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 JN(e){return e?new Date(e).toLocaleTimeString("en-US",{minute:"2-digit",second:"2-digit"}):""}function use({memoryTotal:e}){return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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 dse({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]=x.useState(null),[s,o]=x.useState(null),[l,c]=x.useState(void 0),[u,d]=x.useState(void 0),[f,h]=x.useState(void 0);x.useEffect(()=>K.onDAGEvent(I=>{a(I),c(I.engine),d(I.engineExplanation),h(I.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=x.useMemo(()=>ase(p,e==null?void 0:e.pipelineRuns),[p,e==null?void 0:e.pipelineRuns]),S=F=>{o(F)},w=!!(p&&(p.nodes.length>0||p.active)),N=v.length>0,k=!!y,b=((Z=e==null?void 0:e.unattendedJobs)==null?void 0:Z.jobs)??[],j=b.some(F=>F.batchStats.length>0);if(!w&&!N&&!k&&!j)return i.jsx(use,{memoryTotal:n});const{nodes:E,edges:P,pipeline:_,active:A}=p??{nodes:[],edges:[],pipeline:null,active:!1},{layoutNodes:O,svgW:B,svgH:$}=cse(E,P),M=E.filter(F=>F.status==="running").length,D=E.filter(F=>F.status==="completed").length,U=E.filter(F=>F.status==="failed").length,R=E.filter(F=>F.status==="pending").length,z=E.length;return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(sse,{runs:v,onScrub:S})]}),i.jsx(ose,{jobs:b}),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:["⏱ ",Fg(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((F,I)=>i.jsxs("span",{className:`dag-loop-tool ${F.ok===!1?"dag-loop-tool-error":""}`,title:F.error||`${F.tool}${F.durationMs!==void 0?` · ${F.durationMs}ms`:""}`,children:[F.ok===!1?"❌":"✓"," ",F.tool]},`${F.tool}-${I}`))})]}),w&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:`dag-status-bar ${A?"active":""}`,children:[i.jsxs("div",{className:"dag-pipeline-name",children:[A&&i.jsx("span",{className:"dag-live-dot"}),_||"Execution Pipeline"]}),i.jsxs("div",{className:"dag-pipeline-meta",children:[A&&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"]}),U>0&&i.jsxs("span",{className:"dag-failed-badge",children:["❌ ",U," failed"]})]})]}),i.jsx("div",{className:"dag-container",children:i.jsxs("svg",{width:B,height:$,viewBox:`0 0 ${B} ${$}`,children:[i.jsxs("defs",{children:[P.map(F=>i.jsx("marker",{id:`arrow-${F.from}-${F.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-${F.from}-${F.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"})]})]})]}),P.map(F=>{const I=O.find(W=>W.id===F.from),se=O.find(W=>W.id===F.to);if(!I||!se)return null;const he=I.x+I.w,ge=I.y+I.h/2,Te=se.x,X=se.y+se.h/2,Y=(he+Te)/2,ie=se.status,de=ie==="failed"?"var(--accent-red)":ie==="running"?"var(--accent-blue)":ie==="completed"?"var(--accent-green)":"var(--border)";return i.jsx("g",{children:i.jsx("path",{d:`M ${he} ${ge} C ${Y} ${ge}, ${Y} ${X}, ${Te} ${X}`,fill:"none",style:{stroke:de},strokeWidth:ie==="pending"?1.5:2.5,strokeOpacity:ie==="pending"?.3:.8,markerEnd:`url(#arrow-${F.from}-${F.to})`,className:"dag-edge"})},`edge-${F.from}-${F.to}`)}),O.map(F=>{const I=lse[F.status];Bg[F.agentType];const se=QN[F.agentType]||"⚙️",he=zg[F.agentType]||F.agentType,ge=s===F.id,Te=F.status==="running";return i.jsxs("g",{onClick:()=>o(ge?null:F.id),style:{cursor:"pointer"},className:"dag-node-group",children:[ge&&i.jsx("rect",{x:F.x-4,y:F.y-4,width:F.w+8,height:F.h+8,rx:10,ry:10,fill:"none",style:{stroke:"var(--accent-blue)"},strokeWidth:2,strokeOpacity:.5}),i.jsx("rect",{x:F.x,y:F.y,width:F.w,height:F.h,rx:8,ry:8,style:{fill:I.bg,stroke:I.stroke},strokeWidth:Te?2.5:1.5,strokeOpacity:.9,className:Te?"dag-node-running":"",filter:Te?"url(#glow)":void 0}),i.jsxs("text",{x:F.x+10,y:F.y+22,style:{fill:"var(--text-primary)"},fontSize:10,fontWeight:600,children:[se," ",he]}),i.jsx("text",{x:F.x+F.w-10,y:F.y+22,textAnchor:"end",style:{fill:I.text},fontSize:9,fontWeight:500,children:ZN[F.status]}),i.jsx("text",{x:F.x+10,y:F.y+40,style:{fill:"var(--text-secondary)"},fontSize:9,children:F.description.length>28?F.description.slice(0,26)+"..":F.description}),F.complexity&&ro[F.complexity]&&i.jsxs("text",{x:F.x+10,y:F.y+54,style:{fill:ro[F.complexity].color},fontSize:8,fontWeight:600,children:[ro[F.complexity].icon," ",F.complexity]}),i.jsx("text",{x:F.x+10,y:F.y+56,style:{fill:"var(--text-muted)"},fontSize:8,children:Fg(F.startedAt,F.completedAt)}),i.jsx("text",{x:F.x+F.w-10,y:F.y+56,textAnchor:"end",style:{fill:"var(--text-muted)"},fontSize:8,children:JN(F.startedAt||F.completedAt)}),(F.status==="failed"||ge)&&F.summary&&i.jsx("foreignObject",{x:Math.max(10,F.x-80),y:F.y+F.h+6,width:F.w+160,height:36,children:i.jsx("div",{className:"dag-node-summary",style:{color:F.status==="failed"?"var(--accent-red)":"var(--text-secondary)",fontSize:"10px",lineHeight:1.4,background:"var(--scrim)",padding:"4px 8px",borderRadius:"4px",border:`1px solid ${F.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:F.summary})})]},`node-${F.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:O.map(F=>i.jsxs("tr",{className:`dag-row dag-row-${F.status}`,children:[i.jsx("td",{className:"dag-cell-step",children:F.step}),i.jsxs("td",{className:"dag-cell-agent",children:[i.jsx("span",{className:"dag-agent-dot",style:{background:Bg[F.agentType]||"var(--accent-blue)"}}),zg[F.agentType]||F.agentType]}),i.jsx("td",{className:"dag-cell-complexity",children:F.complexity&&ro[F.complexity]?i.jsxs("span",{style:{color:ro[F.complexity].color,fontSize:12},children:[ro[F.complexity].icon," ",F.complexity]}):i.jsx("span",{style:{color:"var(--text-muted)",fontSize:12},children:"—"})}),i.jsx("td",{className:`dag-cell-status dag-status-${F.status}`,children:ZN[F.status]}),i.jsx("td",{className:"dag-cell-duration",children:Fg(F.startedAt,F.completedAt)}),i.jsx("td",{className:"dag-cell-time",children:JN(F.startedAt||F.completedAt)}),i.jsx("td",{className:"dag-cell-summary",children:F.summary||F.description||"--"})]},F.id))})]})}),i.jsx("h2",{className:"section-subtitle",children:"Agent Types"}),i.jsxs("div",{className:"dag-legend",children:[Object.entries(QN).map(([F,I])=>i.jsxs("div",{className:"legend-item",children:[i.jsx("span",{className:"legend-dot",style:{background:Bg[F]||"var(--accent-blue)"}}),i.jsx("span",{className:"legend-icon",children:I}),i.jsx("span",{className:"legend-label",children:zg[F]||F})]},F)),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 ti(e){return e==null||e<1e-5?"$0.00":e<.01?"$"+e.toFixed(6):"$"+e.toFixed(4)}function ao(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":bt(e)}function fse(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function hse({data:e}){if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(Re,{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:ti(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:ao(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:ao(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:ti(t.measuredCost)}),i.jsxs("span",{className:"cost-label",children:[ao(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:ti(t.estimatedCost)}),i.jsxs("span",{className:"cost-label",children:[ao(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:ti(t.reportedCost)}),i.jsxs("span",{className:"cost-label",children:[ao(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:ti(o)}),typeof c=="number"&&i.jsxs("span",{className:"cost-row-reported",title:"Provider-reported (exact billed) cost",children:["🧾 ",ti(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:ti(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:fse(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?"🧾 ":"",ti(s.costUsd)]}),i.jsxs("span",{className:"request-tokens",children:[ao(s.totalTokens)," tok"]})]},o))})]})}function pse(e){return e==null?"$0.00":"$"+e.toFixed(6)}function Jd(e){return e==null?"0%":(e*100).toFixed(1)+"%"}function mse({data:e}){if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(Re,{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:pse(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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"%","Pass Rate"]}),i.jsx(bn,{dataKey:"passRate",radius:[4,4,0,0],children:c.map((u,d)=>i.jsx(du,{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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{tick:{fontSize:11},tickFormatter:u=>u+"ms"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"ms","Latency"]}),i.jsx(bn,{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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{tick:{fontSize:11},tickFormatter:u=>"$"+u.toFixed(6)}),i.jsx(xn,{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(bn,{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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:l,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"%","Composite Score"]}),i.jsx(bn,{dataKey:"score",radius:[4,4,0,0],children:l.map((u,d)=>i.jsx(du,{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(os,{width:"100%",height:260,children:i.jsxs(ls,{data:l,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ci,{strokeDasharray:"3 3"}),i.jsx(aa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(ia,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"}}),i.jsx(xs,{}),i.jsx(bn,{dataKey:"completion",name:"Completion",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-green)",style:{fill:"var(--accent-green)"}}),i.jsx(bn,{dataKey:"tests",name:"Tests",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-blue)",style:{fill:"var(--accent-blue)"}}),i.jsx(bn,{dataKey:"recovery",name:"Recovery",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-yellow)",style:{fill:"var(--accent-yellow)"}}),i.jsx(bn,{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 gse={pass:"✅",warn:"⚠️",fail:"❌"},vse={pass:"PASS",warn:"WARN",fail:"FAIL"};function rM(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 aM(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 zb({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:[gse[e.status]," ",vse[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 eE(e){return`${(e*100).toFixed(1)}%`}function yse(e){return e>=.9?"ok":e>=.7?"warn":"danger"}function fc(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":bt(e)}function bse(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 tE({title:e,blurb:t,checks:n,testId:r}){const a=rM(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:aM(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(zb,{check:s},s.name)):i.jsxs("div",{className:"empty-state",children:["No ",e.toLowerCase()," checks returned."]})})]})}function xse({data:e,connected:t,lastUpdated:n}){const[r,a]=x.useState(null),[s,o]=x.useState(null),[l,c]=x.useState(!1),u=x.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)},[]);x.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=rM(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(Re,{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?aM(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(tE,{title:"System",blurb:"Runtime, filesystem, configuration and the local model surface.",checks:r.system,testId:"checks-system"}),i.jsx(tE,{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(Fi,{tiles:[{key:"runs",icon:"🩺",value:fc(f.totalRuns),label:"Recorded runs",tone:"accent"},{key:"success-rate",icon:"✅",value:eE(f.overallSuccessRate),label:"Overall success rate",tone:yse(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:[fc(v.totalRuns)," runs"]}),i.jsx("span",{style:{color:v.successRate>=.9?"var(--accent-green)":v.successRate>=.7?"var(--accent-yellow)":"var(--accent-red)"},children:eE(v.successRate)}),i.jsx("span",{style:{color:"var(--text-secondary)",minWidth:78,textAlign:"right"},children:bse(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:fc(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:[fc(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:[fc(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 wse=new Set(["local","lmstudio","vllm"]),kse=new Set([]),tp={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)"}},Sse=[3,4,5],iM=12e3,nE=[300,700],jse=6e4,Nse=5e3;function Ese(e){return new Promise(t=>setTimeout(t,e))}async function sM(e,t){const n=new AbortController,r=setTimeout(()=>n.abort(),t);try{return await fetch(e,{signal:n.signal})}finally{clearTimeout(r)}}function oM(e){return e instanceof TypeError||e instanceof Error&&e.name==="AbortError"}async function _se(e){let t=null,n=!1;for(let r=0;;r++){try{const a=await sM("/api/models",iM);if(!a.ok)t=a.status;else{const s=await st(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(!oM(a))throw a;n=!0,e==null||e()}if(r>=nE.length)throw new Error(n?"Dashboard server unreachable — is it still running? Retrying automatically…":`Model health endpoint failed (HTTP ${t})`);await Ese(nE[r])}}async function Cse(e){for(let t=0;;t++)try{const n=await sM("/api/model-registry",iM);return n.ok?await st(n):null}catch(n){if(!oM(n)||t>=1)return null;e==null||e()}}function Ase(e){return e==="available"?"Available":e==="limited"?"Limited":"Unavailable"}function Tse(e){return e==="available"?"Ready":e==="limited"?"Limited":"Down"}function lM(e){return{local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣",openai:"🤖",anthropic:"🔮",mistral:"🌀",cohere:"🧠",together:"🟢",deepinfra:"🌐",fireworks:"🎆",perplexity:"❓",azure:"🔵",anyscale:"🔷",lmstudio:"🎨",vllm:"⚡"}[e]||"🔌"}function l0(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 rE({status:e,label:t}){const n=tp[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 Ose({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 Pse({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]=x.useState(!1),r=tp[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(rE,{status:e.overallStatus,label:Ase(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:tp[s.status].dot,marginRight:8}}),s.name]}),i.jsx("td",{style:{padding:"8px 12px"},children:i.jsx(rE,{status:s.status,label:Tse(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 cM(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 Rse(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 Mse({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 Ise({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 ${bt(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 $se({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 Lse({entry:e}){const t=Rse(e.status),n=e.remainingTokens>=0?`${bt(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(Mse,{rate:e.partialRate??0}),e.partialHistory&&e.partialHistory.length>=2&&i.jsx($se,{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(Ise,{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?cM(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 Dse({provider:e}){const[t,n]=x.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:lM(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:l0(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(Lse,{entry:a},a.model))})]})})]})}function Bse(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 zse({data:e}){return e.enabled?i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(Fi,{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"}]}),Bse(e.keyHygiene),e.providers.map(t=>i.jsx(Dse,{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 Fse={chat:"💬",execute:"⚙️",plan:"🗺️",edit:"✏️",skill:"🧩",learn:"📚",ci:"🔁",doctor:"🩺",probe:"🔭","spot-check":"🧪",telemetry:"📡",usage:"🧮"};function Use(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 Wse(e){return Fse[e]||"🎯"}function Hse(e){return e?new Date(e).toLocaleDateString()+" "+new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"—"}function vs({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 Gse(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 qse(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 Kse({timeline:e}){const[t,n]=x.useState(()=>qse(e||[])),[r,a]=x.useState(!1),s=x.useRef(null),o=x.useRef(!1),l=(e==null?void 0:e.length)??0,c=Math.max(0,Math.min(t,l-1));x.useEffect(()=>{n(g=>Math.min(g,Math.max(0,l-1)))},[l]);const u=x.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(x.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]),x.useEffect(()=>{if(!r||l<=1)return;const g=setInterval(()=>{n(y=>Math.min(l-1,y+1))},300);return()=>clearInterval(g)},[r,l]),x.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?Gse(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,b=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:b?"visible":"hidden",background:v===0?"var(--bg-hover)":"transparent",height:v===0?4:56,display:"flex",flexDirection:"column-reverse",boxShadow:b?"0 0 0 1.5px var(--accent-blue)":void 0,opacity:v===0?.5:1,transition:"box-shadow 0.15s"},children:[b&&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:b?"var(--accent-blue)":"var(--text-muted)",marginTop:4,whiteSpace:"nowrap",fontWeight:b?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(vs,{provider:g.provider,model:g.model,reason:g.errorType,killed:!0},`${g.provider}|${g.model}|${g.outcome}`):g.outcome==="verified"?i.jsx(vs,{provider:g.provider,model:g.model},`${g.provider}|${g.model}|${g.outcome}`):g.outcome==="partial"?i.jsx(vs,{provider:g.provider,model:g.model,reason:g.errorType,partial:!0,streamedChunks:g.streamedChunks},`${g.provider}|${g.model}|${g.outcome}`):i.jsx(vs,{provider:g.provider,model:g.model,reason:g.errorType,transient:!0},`${g.provider}|${g.model}|${g.outcome}`))})]})]})}function Vse({entry:e}){var a,s;const[t,n]=x.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:Wse(e.action)}),i.jsxs("div",{style:{flex:1},children:[i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:2},children:Use(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(vs,{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(vs,{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(vs,{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(Kse,{timeline:e.timeline})]})]})}function Yse({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:Hse(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(Fi,{tiles:n}),t.actions.map(r=>i.jsx(Vse,{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 Xse({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 Qse({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:"}),Sse.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 Zse({model:e,provider:t}){const n=tp[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:[lM(t)," ",l0(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 ",cM(e.resetsInMs)]})]})})}function Jse({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)||l0(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(Zse,{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 eoe(){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 toe(){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 noe(){const[e,t]=x.useState(null);if(x.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 roe(){const[e,t]=x.useState(null),[n,r]=x.useState(null),[a,s]=x.useState(null);x.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 aoe(){var w;const[e,t]=x.useState(null),[n,r]=x.useState(null),[a,s]=x.useState(!0),[o,l]=x.useState(null),[c,u]=x.useState(4),[d,f]=x.useState(""),h=o0(),p=x.useRef(!0),m=x.useRef(null),g=x.useRef(!1);function y(){m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{p.current&&v()},Nse)}async function v(){s(!0),l(null),g.current=!1;try{const[N,k]=await Promise.all([_se(()=>{g.current=!0}),Cse(()=>{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)}}x.useEffect(()=>{p.current=!0,v();const N=setInterval(v,jse);return()=>{p.current=!1,clearInterval(N),m.current&&clearTimeout(m.current)}},[]);function S(N){const k=[],b=[],j=[],E=[],P={available:0,limited:1,unavailable:2};for(const _ of N.providers)kse.has(_.provider)?j.push(_):wse.has(_.provider)?b.push(_):_.overallStatus==="available"?k.push(_):E.push(_);return k.sort((_,A)=>P[_.overallStatus]-P[A.overallStatus]),b.sort((_,A)=>P[_.overallStatus]-P[A.overallStatus]),j.sort((_,A)=>P[_.overallStatus]-P[A.overallStatus]),E.sort((_,A)=>P[_.overallStatus]-P[A.overallStatus]),{available:k,local:b,speech:j,unavailable:E}}return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(Ose,{onRefresh:v,loading:a}),i.jsx(toe,{}),i.jsx(noe,{}),i.jsx(roe,{}),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(Fi,{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(Pse,{data:e}),(()=>{const{available:N,local:k,speech:b,unavailable:j}=S(e);return i.jsxs(i.Fragment,{children:[i.jsx(tf,{icon:"✅",title:"Available Cloud Providers",count:N.length}),N.map(E=>i.jsx(ef,{provider:E},E.provider)),i.jsx(tf,{icon:"🏠",title:"Local Providers",count:k.length}),k.map(E=>i.jsx(ef,{provider:E},E.provider)),i.jsx(tf,{icon:"⛔",title:"Unavailable Providers",count:j.length}),j.map(E=>i.jsx(ef,{provider:E},E.provider)),i.jsx(tf,{icon:"🎙️",title:"Speech / TTS Providers",count:b.length}),b.map(E=>i.jsx(ef,{provider:E},E.provider))]})})(),i.jsx(Xse,{value:d,onChange:f,totalCount:e.providers.reduce((N,k)=>N+k.models.length,0)}),i.jsx(Qse,{value:c,onChange:u}),i.jsx(Jse,{providers:e.providers,colsPerRow:c,searchQuery:d}),n&&i.jsx(zse,{data:n}),n&&i.jsx(Yse,{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(eoe,{}),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 ioe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},soe={local:"Ollama (Local)",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter"},ooe={trivial:"🟢",simple:"🔵",moderate:"🟡",complex:"🟠",critical:"🔴"},uM={trivial:"🟢 trivial",simple:"🔵 simple",moderate:"🟡 moderate",complex:"🟠 complex",critical:"🔴 critical"},loe={chat:"💬 chat",orchestrator:"🔀 orchestrator",explain:"🔍 explain",benchmark:"📈 benchmark",eval:"🎯 eval"},Zi=[{key:"request",icon:"🎯",title:"Request"},{key:"candidates",icon:"⚖️",title:"Candidates"},{key:"exclusions",icon:"🚫",title:"Exclusions"},{key:"pick",icon:"✅",title:"Pick"}],coe=2400;function Ug(e){return ioe[e]||"🔌"}function aE(e){return soe[e]||e}function c0(e){return e&&loe[e]||e||"unknown"}function uoe(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 iE(e){const t=Math.ceil(e/6e4);return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`}const doe=8;function sE(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 ${iE(r.resetsInMs)}`:"quota exhausted — parked":r&&r.cooldownRemaining>0?`circuit-breaker cooldown — ${iE(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 foe(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,doe)){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:sE(m,e)})),p=(o=d.find(m=>m.provider===c.provider))==null?void 0:o.reason;r.push({id:c.id,label:`${c0(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:sE(m,e)})),p=u[0];r.push({id:`profile-${c.complexity}`,label:`${uM[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 hoe(e,t){switch(e){case"request":return`A ${t.complexity} task arrives${t.source?` from ${c0(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 poe({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 moe({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 goe({routing:e}){const t=x.useMemo(()=>foe(e),[e]),[n,r]=x.useState(""),[a,s]=x.useState(0),[o,l]=x.useState(!1);if(x.useEffect(()=>{t.length!==0&&(t.some(p=>p.id===n)||(r(t[0].id),s(0)))},[t,n]),x.useEffect(()=>{if(!o||t.length===0)return;const p=setInterval(()=>{s(m=>(m+1)%Zi.length)},coe);return()=>clearInterval(p)},[o,t.length]),t.length===0)return null;const c=t.find(p=>p.id===n)??t[0],u=Zi[a],d=()=>{s(p=>(p+Zi.length-1)%Zi.length),l(!1)},f=()=>{s(p=>(p+1)%Zi.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(moe,{icon:u.icon,title:`${a+1}. ${u.title}${a>0?` — ${c.complexity}`:""}`,narration:hoe(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:[ooe[c.complexity]||"•"," ",uM[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:c0(c.source)}),c.timestamp&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:uoe(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:[Ug(p.provider)," ",aE(p.provider).split(" ")[0],g&&" 👑"]}),i.jsx(poe,{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:[Ug(p.provider)," ",aE(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:[Ug(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:Wg,children:"◀"}),i.jsx("button",{onClick:h,"aria-label":o?"Pause playback":"Play playback",style:{...Wg,minWidth:84,color:o?"var(--accent-yellow)":"var(--accent-green)"},children:o?"⏸ Pause":"▶ Play"}),i.jsx("button",{onClick:f,"aria-label":"Next step",style:Wg,children:"▶"}),i.jsx("div",{style:{display:"flex",gap:6,marginLeft:8},children:Zi.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,"/",Zi.length]})]})]})}const Wg={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"},voe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},yoe={local:"Ollama (Local)",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter"},dM={trivial:"🟢",simple:"🔵",moderate:"🟡",complex:"🟠",critical:"🔴"};function Wr(e){return voe[e]||"🔌"}function _i(e){return yoe[e]||e}function np(e,t=1){return`${(e*100).toFixed(t)}%`}function boe(e){return`$${e.toFixed(6)}`}function or({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 u0({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 mi(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 xoe(){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 woe={chat:"💬 chat",orchestrator:"🔀 orchestrator",explain:"🔍 explain",benchmark:"📈 benchmark",eval:"🎯 eval"},koe={trivial:"🟢 trivial",simple:"🔵 simple",moderate:"🟡 moderate",complex:"🟠 complex",critical:"🔴 critical"};function fM(e){return woe[e]||e}function hM(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){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 Soe({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 joe({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(or,{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(Soe,{label:`${Wr(a)} ${_i(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:[fM(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 Noe({history:e}){return e.length?i.jsx(or,{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:hM(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:fM(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:[Wr(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:koe[t.complexity]||t.complexity}),t.agenticCapable===!1&&i.jsx("span",{style:mi("var(--danger-soft)","var(--accent-red)"),title:t.overrideReason?`override: ${t.overrideReason}`:void 0,children:"⚠️ weak model"}),t.fallbackFrom&&i.jsxs("span",{style:mi("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 Eoe({routing:e}){return e.preference.length?i.jsx(or,{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:[dM[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:[Wr(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:[Wr(n.provider)," ",_i(n.provider).split(" ")[0]]}),i.jsx(u0,{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:mi("var(--bg-tertiary)","var(--border-hover)"),children:["🎯 fit ",n.capabilityFit,"%"]}),n.costSource==="measured"&&n.costBasis?i.jsxs("span",{style:mi("var(--ok-soft)","var(--accent-green)","var(--accent-green)"),children:["📏 measured ",bt(n.costBasis.inputTokens),"→",bt(n.costBasis.outputTokens)," tok"]}):i.jsx("span",{style:mi("var(--bg-tertiary)","var(--border-hover)"),children:"📐 estimated"}),n.contextUtilization!==void 0&&n.contextWindowTokens!==void 0&&i.jsxs("span",{style:mi("var(--bg-tertiary)","var(--accent-blue)","var(--accent-blue)"),children:["⏳ ctx ",n.contextUtilization,"% (",bt(n.contextWindowTokens)," tok)"]})]})]},n.provider))})]},t.complexity))})]})})}):null}function _oe({routing:e}){return e.providers.length?i.jsx(or,{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:[Wr(t.provider)," ",_i(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(u0,{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:np(t.avgQuality)})]})}),i.jsx("td",{style:{padding:"10px 12px",color:t.passRate>=.8?"var(--accent-green)":"var(--accent-yellow)"},children:np(t.passRate)}),i.jsx("td",{style:{padding:"10px 12px",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:boe(t.totalCostUsd)})]},t.provider))})]})})}):null}const lE=["trivial","simple","moderate","complex","critical"];function Coe(e){return e>=.7?"var(--accent-green)":e>=.45?"var(--accent-yellow)":"var(--accent-red)"}function Aoe({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(or,{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"}),lE.map(r=>i.jsxs("th",{style:{padding:"8px 10px",textAlign:"center",fontWeight:500},children:[dM[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:[Wr(r)," ",_i(r).split(" ")[0]]}),lE.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:Coe(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 Toe(e,t=1){return`${e>0?"+":""}${(e*100).toFixed(t)}%`}function Ooe({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 Poe({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(or,{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:Toe(a.delta)}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",flex:1},children:a.note}),i.jsx(Ooe,{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 Roe({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(or,{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:bt(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:Wr(r.provider)}),i.jsx("span",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)"},children:_i(r.provider)}),r.trusted?i.jsxs("span",{style:mi("color-mix(in srgb, var(--accent-green) 15%, transparent)","var(--accent-green)","var(--accent-green)"),children:["trusted · ",r.samples," samples"]}):i.jsxs("span",{style:mi("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 ",np(r.winRate,0)]}),i.jsx(u0,{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 Moe({routing:e}){return e.bestModels.length?i.jsx(or,{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:[Wr(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:[np(t.successRate,0)," success"]})," · ",t.runs," run",t.runs!==1?"s":""]})]},`${t.agentType}-${t.model}`))})}):null}function Ioe({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(or,{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:bt(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:bt(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 — ",bt(r.originalTokens)," → ",bt(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 $oe({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(or,{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:bt(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:bt(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:bt(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:[Wr(u.provider)," ",_i(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:bt(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:oE(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:[Wr(u.provider)," ",_i(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 ",oE(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:[Wr(u.provider)," ",_i(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:hM(u.timestamp)})]},`${u.timestamp}-${d}`)})})]})]})}function Ef({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 Loe({governance:e}){var r,a,s,o,l;if(!e.enabled)return i.jsx(or,{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(or,{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(Ef,{ok:!c.deny,children:[c.deny?"⛔":"✅"," ",c.label,": ",c.items.join(", ")]},c.label)),n.map(c=>i.jsx(Ef,{children:c},c)),t.length===0&&n.length===0&&i.jsx(Ef,{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 Doe({rbac:e}){const t=n=>n==="admin"?"var(--accent-yellow)":n==="operator"?"var(--accent-green)":"var(--text-secondary)";return i.jsxs(or,{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(Ef,{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 Boe({data:e}){var p,m,g,y,v,S,w,N,k,b;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)||!!((b=t==null?void 0:t.retrieval)!=null&&b.repoChunks),f=!!(t!=null&&t.governance),h=!!(t!=null&&t.rbac);return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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(xoe,{}):i.jsxs(i.Fragment,{children:[s&&t&&i.jsx(goe,{routing:t}),f&&t.governance&&i.jsx(Loe,{governance:t.governance}),(t==null?void 0:t.rbac)&&i.jsx(Doe,{rbac:t.rbac}),r&&i.jsx(joe,{usage:t.usage}),a&&i.jsx(Noe,{history:t.history}),o&&i.jsx(Aoe,{bandit:t.bandit}),l&&i.jsx(Poe,{promotion:t.promotion}),c&&t.ml&&i.jsx(Roe,{ml:t.ml}),u&&i.jsx($oe,{quota:t.quota}),d&&i.jsx(Ioe,{retrieval:t.retrieval}),i.jsx(Eoe,{routing:t}),i.jsx(_oe,{routing:t}),i.jsx(Moe,{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 cE={chat:"💬",execute:"⚙️",plan:"🗺️",edit:"✏️",skill:"🧩",learn:"📚",ci:"🔁",doctor:"🩺",probe:"🔭","spot-check":"🧪",telemetry:"📡",usage:"🧮","ide-chat":"💬","ide-inline":"✍️","ide-execute":"⚙️"};function zoe(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 Foe(e){return e===0?"var(--accent-green)":e<.2?"var(--accent-yellow)":"var(--accent-red)"}function Uoe(e){return e===0?"ok":e<.2?"warn":"danger"}function Woe({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 Hoe({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:bt(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 (${bt(r)} failures)`,tone:Uoe(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(Fi,{tiles:u})}function Goe({data:e}){const[t,n]=x.useState(""),[r,a]=x.useState("all"),s=e==null?void 0:e.requests,o=x.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(Re,{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(Hoe,{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:[cE[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:[cE[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(Woe,{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:Foe(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:zoe(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 qoe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},Koe={planner:"🗺️",writer:"✍️",reviewer:"🔎",tester:"🧪",debugger:"🐛",runner:"🏃","context-gatherer":"📂",memory:"🧠","self-improver":"📈"};function Voe(e){return qoe[e]||"🔌"}function Yoe(e){return Koe[e]||"🤖"}function pM(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 d0(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 $c(e){return e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function Xoe(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 uE(e){const t=e.filter(n=>n.verdict==="CONFIRMED"&&f0(n).length>0).length;return`${e.length} finding${e.length===1?"":"s"}: ${t} confirmed, ${e.length-t} plausible`}function f0(e){return(e.evidence??[]).filter(t=>typeof(t==null?void 0:t.ref)=="string"&&t.ref.trim().length>0)}function Qoe({finding:e}){const t=f0(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 rp({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 Zoe(){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 Joe(){const[e,t]=x.useState(null),[n,r]=x.useState(!1),[a,s]=x.useState(null),o=x.useCallback(()=>{K.fetchAcceptance().then(u=>{u?(t(u),r(!1)):r(!0)})},[]);x.useEffect(()=>{o()},[o]);const l=x.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(rp,{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 ele({step:e}){const[t,n]=x.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:Yoe(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:[Voe(e.provider)," ",e.provider,"/",e.model]}),i.jsx("span",{style:{width:70,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:d0(e.latencyMs)}),i.jsxs("span",{style:{width:86,fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace",textAlign:"right"},children:[$c(e.inputTokens),"→",$c(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 (",$c(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 tle({trace:e}){var h,p;const[t,n]=x.useState(e.steps??null),[r,a]=x.useState(!1),[s,o]=x.useState(((h=e.userVerdict)==null?void 0:h.verdict)??null),[l,c]=x.useState(!1),u=x.useCallback(async m=>{c(!0),await K.rateTrace(e.id,m)&&o(m),c(!1)},[e.id]);x.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(rp,{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:["🕓 ",pM(e.startedAt)]}),(()=>{const m=Xoe(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:["⏱ ",d0(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:["🧮 ",$c(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:`🔎 ${uE(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 — ${uE(e.findings)}`}),e.findings.map((m,g)=>i.jsx(Qoe,{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(ele,{step:m},m.seq))]})}function nle({traces:e}){const[t,n]=x.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(tle,{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:pM(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:["⏱ ",d0(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:["🧮 ",$c(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"&&f0(o).length>0).length}/${r.findings.length} confirmed`}),s&&i.jsxs("span",{children:["🤖 ",s.slice(0,60)]})]})]},r.id)})})}function rle(){const[e,t]=x.useState(null),[n,r]=x.useState(!1),a=x.useCallback(()=>{K.fetchTraces().then(s=>{s?(t(s),r(!1)):r(!0)})},[]);return x.useEffect(()=>{a();const s=setInterval(a,15e3);return()=>clearInterval(s)},[a]),i.jsxs("div",{className:"panel",children:[i.jsx(Re,{icon:"🔍",title:"Reasoning Traces",description:"Every LLM call in each pipeline — agent × model × prompt digest × response × tokens × latency × routing snapshot (assessment P0)."}),i.jsx(Joe,{}),e===null&&!n&&i.jsx(rp,{icon:"⏳",title:"Loading…",children:i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:13},children:"Fetching reasoning traces…"})}),n&&e===null&&i.jsx(rp,{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(Zoe,{}),e!==null&&e.length>0&&i.jsx(nle,{traces:e})]})}function Hg(e){if(e.trim()==="")return null;const t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function ale({authed:e,role:t}){const[n,r]=x.useState(null),[a,s]=x.useState({}),[o,l]=x.useState(""),[c,u]=x.useState(!1),[d,f]=x.useState(null),[h,p]=x.useState(null),m=e&&(t==="admin"||t==="operator"),g=e&&t==="admin",y=x.useCallback(async()=>{var j,E,P;const k=await K.fetchAdminQuota();if(!k){p("Could not load budget config.");return}p(null),r(k);const b={};for(const _ of k.providers){const A=k.quota[_]||{};b[_]={provider:_,tokens:((j=A.tokensPerWindow)==null?void 0:j.toString())??"",requests:((E=A.requestsPerWindow)==null?void 0:E.toString())??"",windowMs:((P=A.windowMs)==null?void 0:P.toString())??""}}s(b),l(k.costUsd===null?"":String(k.costUsd))},[]);x.useEffect(()=>{y()},[y]);const v=(k,b,j)=>{s(E=>({...E,[k]:{...E[k]||{provider:k},[b]:j}}))},S=async()=>{u(!0),f(null);const k={};for(const E of Object.values(a)){const P={},_=Hg(E.tokens),A=Hg(E.requests),O=Hg(E.windowMs);_!==null&&(P.tokensPerWindow=_),A!==null&&(P.requestsPerWindow=A),O!==null&&(P.windowMs=O),k[E.provider]=Object.keys(P).length>0?P:null}const b={quota:k};if(g)if(o.trim()!==""){const E=Number(o);if(!Number.isFinite(E)||E<0){f({ok:!1,text:"Cost cap must be a non-negative number."}),u(!1);return}b.costUsd=E}else b.costUsd=null;const j=await K.saveAdminQuota(b);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 b=n==null?void 0:n.quota[k];return!!b&&(b.tokensPerWindow!==void 0||b.requestsPerWindow!==void 0||b.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 b,j,E;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:((b=a[k])==null?void 0:b.tokens)??"",onChange:P=>v(k,"tokens",P.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:P=>v(k,"requests",P.target.value)}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"86400000 (24h)",disabled:!m,value:((E=a[k])==null?void 0:E.windowMs)??"",onChange:P=>v(k,"windowMs",P.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 ile=["image","video","search","vision","speech"],sle={image:"🖼️ Image generation",video:"🎬 Video generation",search:"🔎 Web search & page reading",vision:"👁️ Vision / interpretation",speech:"🔊 Speech (TTS / STT)"};function ole({authed:e,role:t}){const[n,r]=x.useState([]),[a,s]=x.useState({}),[o,l]=x.useState(null),[c,u]=x.useState({}),[d,f]=x.useState(null),h=e&&t==="admin",p=x.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)},[]);x.useEffect(()=>{p()},[p]);const m=(k,b)=>`${k}:${b}`,g=(k,b,j)=>{s(E=>({...E,[m(k,b)]:j}))},y=async k=>{const b={};for(const E of k.envVars){const P=a[m(k.id,E.varName)];P!==void 0&&P.trim()!==""&&(b[E.varName]=P.trim())}if(Object.keys(b).length===0){u(E=>({...E,[k.id]:"ℹ️ Type a value to save."}));return}l(k.id),u(E=>({...E,[k.id]:""}));const j=await K.saveService(k.id,b);if(j.ok&&j.service){const E=j.service;r(P=>P.map(_=>_.id===k.id?E:_)),s(P=>{const _={...P};for(const A of k.envVars)delete _[m(k.id,A.varName)];return _}),u(P=>({...P,[k.id]:"✅ Saved — the agent will use it on the next call."}))}else u(E=>({...E,[k.id]:`❌ ${j.error||"Save failed."}`}));l(null)},v=async k=>{l(k.id),u(j=>({...j,[k.id]:"⏳ Testing…"}));const b=await K.testService(k.id);u(j=>({...j,[k.id]:b.ok?`✅ ${b.detail||"Reachable"}`:`❌ ${b.error||b.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 b=await K.removeService(k.id);if(b.ok&&b.service){const j=b.service;r(E=>E.map(P=>P.id===k.id?j:P)),s(E=>{const P={...E};for(const _ of k.envVars)delete P[m(k.id,_.varName)];return P}),u(E=>{var P;return{...E,[k.id]:`🗑️ Removed ${((P=b.removed)==null?void 0:P.join(", "))||"key(s)"}.`}})}else u(j=>({...j,[k.id]:`❌ ${b.error||"Remove failed."}`}));l(null)},w=ile.map(k=>({cap:k,services:n.filter(b=>b.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:sle[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(b=>i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[b.icon," ",b.label,i.jsx("div",{className:"admin-provider-sub",children:b.id}),i.jsx("div",{className:"admin-hint",children:b.description}),b.sharedNote?i.jsxs("div",{className:"admin-hint",children:["🔗 ",b.sharedNote]}):null,b.docsUrl?i.jsx("div",{className:"admin-hint",children:i.jsx("a",{href:b.docsUrl,target:"_blank",rel:"noreferrer",children:"Get a key ↗"})}):null]}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge ${b.configured?"admin-check-pass":"admin-check-warn"}`,children:b.configured?"✅ Ready":"⚠️ Not set"}),b.keyless?i.jsx("div",{className:"admin-hint",children:"no key needed"}):null,b.free?i.jsx("div",{className:"admin-hint",children:"free"}):null]}),i.jsx("td",{children:b.envVars.length===0?i.jsx("div",{className:"admin-hint",children:"Nothing to configure — works out of the box."}):b.envVars.map(j=>{const E=m(b.id,j.varName),P=a[E]??"",_=!j.secret&&j.set?j.value:"";return i.jsxs("div",{className:"service-env-row",children:[i.jsxs("label",{className:"service-env-label",htmlFor:E,children:[i.jsx("code",{children:j.varName}),i.jsx("span",{className:"admin-hint",children:j.prompt})]}),h?i.jsx("input",{id:E,className:"admin-input",type:j.secret?"password":"text","aria-label":`${b.id} ${j.varName}`,placeholder:j.set?j.secret?"•••••• set — type to replace":_:"not set",value:P,onChange:A=>g(b.id,j.varName,A.target.value),autoComplete:"new-password"}):i.jsx("div",{className:"admin-hint",children:j.set?j.value:"—"})]},j.varName)})}),i.jsxs("td",{children:[b.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===b.id,onClick:()=>void y(b),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",disabled:o===b.id,title:"Probes the SAVED configuration — save first to test a new key",onClick:()=>void v(b),children:"🔌 Test"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:o===b.id,onClick:()=>void S(b),children:"🗑 Remove"})]}):i.jsx("div",{className:"admin-hint",children:"read-only"}),c[b.id]?i.jsx("div",{className:"admin-row-msg",children:c[b.id]}):null]})]},b.id))})]})})]},k.cap))]})}const lle={env:"Environment",config:"Config",vault:"Vault",local:"Local (no key)",none:"Not configured"};function cle(){const[e,t]=x.useState(null),[n,r]=x.useState(!0),[a,s]=x.useState(null),[o,l]=x.useState(null),[c,u]=x.useState(!1),[d,f]=x.useState(!1),[h,p]=x.useState(""),[m,g]=x.useState(""),[y,v]=x.useState(null),[S,w]=x.useState(null),[N,k]=x.useState(""),b=Kr(),[j,E]=x.useState(""),[P,_]=x.useState(""),[A,O]=x.useState(null),[B,$]=x.useState(!1),[M,D]=x.useState([]),[U,R]=x.useState(null),[z,T]=x.useState(""),[Z,F]=x.useState(""),[I,se]=x.useState("viewer"),[he,ge]=x.useState(null),[Te,X]=x.useState(""),[Y,ie]=x.useState(null),[de,W]=x.useState(!1),[xe,we]=x.useState(null),[_e,ve]=x.useState(null),[Le,pe]=x.useState(null),[et,Be]=x.useState([]),[Me,at]=x.useState({}),[Ge,wt]=x.useState(null),[fn,G]=x.useState({}),[Q,ce]=x.useState(""),[me,Ne]=x.useState(null),[Oe,It]=x.useState(null),[De,rn]=x.useState(null),[Vn,it]=x.useState(null),[Dt,hn]=x.useState(!1),Vr=x.useCallback(async()=>{r(!0),s(null);const H=await K.fetchAdminChecks();t(H),H||s("Could not reach the dashboard server, or the server is older than this panel. Run `buff dashboard` to start it."),r(!1)},[]),Yn=x.useCallback(async()=>{const H=await K.fetchAdminCatalog();H&&H.length>0&&Be(H)},[]),_n=x.useCallback(async()=>{const H=await K.fetchAdminUsers();H.ok&&H.users&&D(H.users)},[]),ur=x.useCallback(async()=>{const H=await K.fetchAdminWorkspace();H&&(ge(H),X(H.configured??""))},[]),At=x.useCallback(async()=>{const H=await K.fetchAdminCache();H&&we(H)},[]),$n=x.useCallback(async()=>{rn(await K.fetchOmniRouteStatus())},[]),Tr=async H=>{pe(H??"__none__"),ve(null);const re=await K.clearAdminCache(H);re.ok?(ve(`✅ Cleared ${re.removed??0} cached answer(s) for ${H??"the no-workspace bucket"}.`),At()):re.unauthorized?(an(),ve(`❌ ${re.error||"Session expired — log in again."}`)):ve(`❌ ${re.error||"Could not clear the cache."}`),pe(null)},ma=async H=>{H.preventDefault(),W(!0),ie(null);const re=await K.saveAdminWorkspace(Te.trim());re.ok&&re.workspace?(ge(re.workspace),X(re.workspace.configured??""),ie(re.workspace.effective?`✅ Unattached chat turns now run in ${re.workspace.effective}`:"✅ Cleared — unattached project asks will ask you to attach a folder.")):re.unauthorized?(an(),ie(`❌ ${re.error||"Session expired — log in again."}`)):ie(`❌ ${re.error||"Could not save the workspace."}`),W(!1)};x.useEffect(()=>{let H=!0;return K.fetchAdminAuthStatus().then(re=>{if(H){if(!re){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:re.configured,authenticated:re.authenticated}),u(re.authenticated),v(re.role??null),w(re.user??null),f(re.mustChangePassword===!0),re.authenticated?(Vr(),Yn(),_n(),ur(),At(),$n()):r(!1)}}),()=>{H=!1}},[Vr,Yn,_n,ur,At,$n,b]);const pn=y==="admin",Yr=y==="admin"||y==="operator",an=()=>{u(!1),l(H=>H&&{...H,authenticated:!1}),O("Session expired — log in again.")},ga=async H=>{H.preventDefault(),$(!0),O(null);const re=await K.adminLogin(N,j);re.ok?(u(!0),l({configured:!0,authenticated:!0}),v(re.role??"admin"),w(re.user??null),k(""),E(""),K.fetchAdminAuthStatus().then(Ee=>{Ee&&f(Ee.mustChangePassword===!0)}),Vr(),Yn(),_n(),ur(),At()):O(re.error||"Login failed."),$(!1)},ze=async H=>{if(H.preventDefault(),$(!0),O(null),j.length<8){O("Password must be at least 8 characters."),$(!1);return}if(j!==P){O("Passwords do not match."),$(!1);return}const re=await K.adminSetup(N,j);re.ok?(u(!0),l({configured:!0,authenticated:!0}),v(re.role??"admin"),w(re.user??null),k(""),E(""),_(""),Vr(),Yn(),_n()):O(re.error||"Setup failed."),$(!1)},Wi=async()=>{await K.adminLogout(),u(!1),l(H=>H&&{...H,authenticated:!1}),v(null),w(null),t(null),at({}),G({}),D([])},dr=async()=>{if(!window.confirm("Stop the running gateway? Channels will stop responding until you restart it with `buff gateway start`."))return;It("gateway"),Ne(null);const H=await K.shutdown("gateway");It(null),H.ok?Ne(H.stopped?"✅ Gateway stopped.":`ℹ️ ${H.reason||"No running gateway found — nothing to stop."}`):(Ne(`❌ ${H.error||"Stop failed."}`),H.unauthorized&&an())},Xa=async H=>{if(H==="stop"&&!window.confirm("Stop the OmniRoute gateway? Anything routing through it will fail until it is started again."))return;hn(!0),it(null);const re=await K.controlOmniRoute(H);re.status&&rn(re.status),re.ok?it(`✅ ${re.detail??(H==="stop"?"OmniRoute stopped.":"OmniRoute started.")}`):re.unauthorized?(an(),it(`❌ ${re.error||"Session expired — log in again."}`)):it(`❌ ${re.detail??re.reason??re.error??"OmniRoute control failed."}`),hn(!1)},va=async()=>{window.confirm("Shut down the dashboard? This page will disconnect and the server will exit. Restart with `buff dashboard`.")&&(It("dashboard"),Ne("🛑 Shutting down the dashboard — this page will disconnect…"),await K.shutdown("dashboard"),It(null),Ne("ℹ️ The dashboard server did not stop (see the server terminal). You can also stop it with `buff dashboard stop`."))},Hi=async H=>{if(H.preventDefault(),R(null),Z.length<8){R("Password must be at least 8 characters.");return}const re=await K.addAdminUser(z,Z,I);re.ok?(T(""),F(""),R("✅ User added"),_n()):(R(`❌ ${re.error||"Failed to add user"}`),re.unauthorized&&an())},fr=async H=>{if(!window.confirm(`Remove dashboard user '${H}'?`))return;R(null);const re=await K.removeAdminUser(H);re.ok?(R(`✅ Removed ${H}`),_n()):(R(`❌ ${re.error||"Failed to remove user"}`),re.unauthorized&&an())},ya=(H,re,Ee)=>{at(Se=>({...Se,[H]:{...Se[H]||{},[re]:Ee}}))},qs=async H=>{wt(H),G({});const re=Me[H]||{},Ee=await K.saveProvider(H,re);Ee.ok?(t(Se=>{if(!Se)return Se;const Ln=Se.providers.some($t=>$t.type===H)?Se.providers.map($t=>$t.type===H&&Ee.provider?Ee.provider:$t):Ee.provider?[...Se.providers,Ee.provider]:Se.providers;return{...Se,providers:Ln}}),at(Se=>{const $e={...Se};return delete $e[H],$e}),G(Se=>({...Se,[H]:"✅ Saved"}))):(G(Se=>({...Se,[H]:`❌ ${Ee.error||"Save failed"}`})),Ee.unauthorized&&an()),wt(null)},Qa=async H=>{if(!window.confirm(`Remove ${H}'s API key and configuration? This cannot be undone.`))return;wt(H),G({});const re=await K.deleteProvider(H);re.ok?re.envSourced?(t(Ee=>Ee&&{...Ee,providers:Ee.providers.map(Se=>Se.type===H&&re.provider||Se)}),G(Ee=>({...Ee,[H]:`⚠️ Key comes from ${re.envVar?`$${re.envVar}`:"an env var"} — unset it there to remove it (config can't override the env).`}))):(t(Ee=>Ee&&{...Ee,providers:Ee.providers.filter(Se=>Se.type!==H)}),at(Ee=>{const Se={...Ee};return delete Se[H],Se})):(G(Ee=>({...Ee,[H]:`❌ ${re.error||"Remove failed"}`})),re.unauthorized&&an()),wt(null)},Gi=async(H,re)=>{wt(H),G({});const Ee=await K.saveProvider(H,{enabled:re});Ee.ok?(t(Se=>{if(!Se)return Se;const Ln=Se.providers.some($t=>$t.type===H)?Se.providers.map($t=>$t.type===H&&Ee.provider?Ee.provider:$t):Ee.provider?[...Se.providers,Ee.provider]:Se.providers;return{...Se,providers:Ln}}),G(Se=>({...Se,[H]:re?"✅ Routing ON":"⏸ Routing OFF (pin only)"}))):(G(Se=>({...Se,[H]:`❌ ${Ee.error||"Toggle failed"}`})),Ee.unauthorized&&an()),wt(null)},qi=async H=>{wt(H);const re=await K.testProvider(H);G(Ee=>{var Se;return{...Ee,[H]:re.ok?`✅ Connected — ${((Se=re.models)==null?void 0:Se.length)??0} model(s) reachable`:`❌ ${re.error||"Connection failed"}`}}),wt(null)},Xn=()=>{Q&&(at(H=>({...H,[Q]:{}})),ce(""))};if(a&&!o)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Re,{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(Re,{icon:"🛠️",title:"Admin"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading…"})]})]});if(!c){const H=!o.configured;return i.jsxs("div",{className:"admin-header",children:[i.jsx(Re,{icon:"🛠️",title:`Admin — ${H?"Set up access":"Log in"}`}),i.jsx("p",{className:"admin-subtitle",children:H?"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:H?ze:ga,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:N,onChange:re=>k(re.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:j,onChange:re=>E(re.target.value),autoComplete:H?"new-password":"current-password",placeholder:"••••••••"})]}),H?i.jsxs("label",{children:[i.jsx("span",{children:"Confirm password"}),i.jsx("input",{type:"password",value:P,onChange:re=>_(re.target.value),autoComplete:"new-password",placeholder:"••••••••"})]}):null,A?i.jsx("div",{className:"admin-error",children:A}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:B||!N||!j,children:B?"⏳ …":H?"🔐 Create admin":"🔐 Log in"}),H?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 H=h.length>0&&h.length<8,re=m.length>0&&m!==h,Ee=async Se=>{if(Se.preventDefault(),H||re||!h)return;$(!0),O(null);const $e=await K.changeAdminPassword(j,h);$e.ok?(f(!1),E(""),p(""),g(""),Vr(),Yn(),_n()):O($e.error||"Could not change the password."),$(!1)};return i.jsxs("div",{className:"admin-header",children:[i.jsx(Re,{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:Ee,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Current password"}),i.jsx("input",{type:"password",value:j,onChange:Se=>E(Se.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:Se=>p(Se.target.value),autoComplete:"new-password",placeholder:"at least 8 characters"})]}),H?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:Se=>g(Se.target.value),autoComplete:"new-password",placeholder:"repeat it"})]}),re?i.jsx("div",{className:"admin-error",children:"The two passwords do not match."}):null,A?i.jsx("div",{className:"admin-error",children:A}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:B||!j||!h||H||re,children:B?"⏳ …":"🔐 Save new password"})]})]})}const Ks=(e==null?void 0:e.system.filter(H=>H.status==="pass").length)??0,ba=(e==null?void 0:e.system.filter(H=>H.status==="warn").length)??0,Ki=(e==null?void 0:e.system.filter(H=>H.status==="fail").length)??0,Il=(e==null?void 0:e.enterprise.filter(H=>H.status==="pass").length)??0,Vs=(e==null?void 0:e.enterprise.filter(H=>H.status==="warn").length)??0,$l=(e==null?void 0:e.enterprise.filter(H=>H.status==="fail").length)??0,xa=(e==null?void 0:e.providers)??[],wa=Object.keys(Me).filter(H=>!xa.some(re=>re.type===H)),ka=[...xa,...wa.map(H=>({type:H,configured:!1,keySource:"none",keyMasked:null}))],Vi=H=>{const re=et.find(Ee=>Ee.id===H);return re||{label:H}};return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-header",children:[i.jsx(Re,{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 Vr(),disabled:n,children:n?"⏳ Running checks…":"🔄 Refresh (run all commands)"}),pn||y==="operator"?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void dr(),disabled:Oe!==null,title:"Stop the running gateway (buff gateway stop)",children:Oe==="gateway"?"⏳ Stopping…":"⏻ Stop gateway"}):null,pn?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void va(),disabled:Oe!==null,title:"Shut down this dashboard server (buff dashboard stop)",children:Oe==="dashboard"?"⏳ Stopping…":"🛑 Stop dashboard"}):null,i.jsx("button",{className:"admin-logout-btn",onClick:()=>void Wi(),children:"🚪 Log out"})]})]}),me?i.jsx("div",{className:"admin-error",children:me}):null,pn?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:Ks+Il}),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:ba+Vs}),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:Ki+$l}),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:ka.length}),i.jsx("div",{className:"admin-summary-label",children:"Providers"})]})]}),pn?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(H=>i.jsxs("div",{className:"admin-user-row",children:[i.jsx("span",{className:"admin-user-name",children:H.user}),i.jsx("span",{className:`admin-role-badge admin-role-${H.role}`,children:H.role}),i.jsxs("span",{className:"admin-user-since",children:["since ",new Date(H.createdAt).toLocaleDateString()]}),H.user!==S?i.jsx("button",{className:"admin-mini-btn admin-mini-danger",onClick:()=>void fr(H.user),children:"🗑 Remove user"}):i.jsx("span",{className:"admin-hint",children:"you"})]},H.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:Hi,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:z,onChange:H=>T(H.target.value),autoComplete:"off"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password (min 8 chars)"}),i.jsx("input",{type:"password",value:Z,onChange:H=>F(H.target.value),autoComplete:"new-password"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Role"}),i.jsxs("select",{value:I,onChange:H=>se(H.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"})]})]}),U?i.jsx("div",{className:"admin-row-msg",children:U}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:!z||!Z,children:"➕ Add user"})]})]}):null,pn||y==="operator"?i.jsxs("div",{className:"admin-omniroute",children:[i.jsxs("h2",{className:"section-subtitle",children:["🔀 External gateway: OmniRoute (port ",(De==null?void 0:De.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 ${De!=null&&De.reachable?"admin-check-pass":"admin-check-warn"}`,children:De===null?"… checking":De.reachable?"✅ Reachable":De.running?"⚠️ Process up, not answering":"❌ Not running"}),i.jsxs("span",{className:"admin-hint",children:[(De==null?void 0:De.detail)??"Probing…"," · ",(De==null?void 0:De.baseUrl)??"http://127.0.0.1:20128/v1",(De==null?void 0:De.pid)!=null?` · PID ${De.pid}`:""]}),i.jsx("button",{className:"admin-mini-btn",disabled:Dt,onClick:()=>void Xa("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:Dt||!(De!=null&&De.running),onClick:()=>void Xa("stop"),title:"SIGTERM the running OmniRoute gateway",children:"⏹ Stop"}),i.jsx("button",{className:"admin-mini-btn",disabled:Dt,onClick:()=>void $n(),children:"⟳ Recheck"})]}),Vn?i.jsx("div",{className:"admin-row-msg",children:Vn}):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:[ka.map(H=>{const re=Vi(H.type),Ee=Me[H.type]||{},Se=H.type==="bedrock";return i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[re.icon?`${re.icon} `:"",re.label,i.jsxs("div",{className:"admin-provider-sub",children:[H.type," · ",lle[H.keySource]||H.keySource]}),H.keySource==="env"?i.jsxs("div",{className:"admin-hint",children:["comes from ",re.envVar||"env var"," — change it there, config can't override it"]}):H.keySource==="vault"?i.jsx("div",{className:"admin-hint",children:"stored in the OS keyring (vault)"}):null,re.description?i.jsx("div",{className:"admin-provider-desc",children:re.description}):null,re.setup?i.jsxs("div",{className:"admin-provider-setup",children:[i.jsx("strong",{children:"Setup:"})," ",re.setup]}):null]}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge ${H.configured?"admin-check-pass":"admin-check-warn"}`,children:H.configured?"✅ Configured":"⚠️ Not configured"}),H.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:Se?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."]}):re.keyless?i.jsx("div",{className:"admin-hint",children:"No key needed (probed)"}):pn?i.jsx("input",{className:"admin-input admin-key-input",type:"password","aria-label":`${H.type} API key`,placeholder:H.keyMasked||"set a new key…",value:Ee.apiKey??"",onChange:$e=>ya(H.type,"apiKey",$e.target.value),autoComplete:"new-password"}):i.jsx("div",{className:"admin-hint",children:H.keyMasked||"—"})}),i.jsx("td",{children:pn?i.jsx("input",{className:"admin-input",type:"text","aria-label":`${H.type} base URL`,placeholder:H.baseUrl||"default endpoint",value:Ee.baseUrl??"",onChange:$e=>ya(H.type,"baseUrl",$e.target.value)}):i.jsx("div",{className:"admin-hint",children:H.baseUrl?H.baseUrl.replace(/^https?:\/\/(?:[^@/]*@)?/,""):"default endpoint"})}),i.jsx("td",{children:pn?i.jsx("input",{className:"admin-input",type:"text","aria-label":`${H.type} model`,placeholder:H.model||"default model",value:Ee.model??"",onChange:$e=>ya(H.type,"model",$e.target.value)}):i.jsx("div",{className:"admin-hint",children:H.model||"default model"})}),i.jsx("td",{children:pn?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn",disabled:Ge===H.type,title:"Include this provider in automatic routing, or keep it off and pin it explicitly",onClick:()=>void Gi(H.type,H.enabled===!1),children:H.enabled===!1?"▶ Turn on":"⏸ Turn off"}),i.jsx("button",{className:"admin-mini-btn",disabled:Ge===H.type,onClick:()=>void qs(H.type),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",disabled:Ge===H.type,title:"Tests the SAVED configuration — save first to test a new key",onClick:()=>void qi(H.type),children:"🔌 Test"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:Ge===H.type,onClick:()=>void Qa(H.type),children:"🗑 Remove"})]}),fn[H.type]?i.jsx("div",{className:"admin-row-msg",children:fn[H.type]}):null]}):i.jsx("div",{className:"admin-hint",children:"read-only"})})]},H.type)}),ka.length===0?i.jsx("tr",{children:i.jsx("td",{colSpan:6,className:"admin-empty-cell",children:"No providers configured yet."})}):null]})]})}),pn&&et.length>0?i.jsxs("div",{className:"admin-add-provider",children:[i.jsxs("select",{className:"admin-input",value:Q,onChange:H=>ce(H.target.value),children:[i.jsx("option",{value:"",children:"Add a provider…"}),et.filter(H=>!ka.some(re=>re.type===H.id)).map(H=>i.jsxs("option",{value:H.id,children:[H.icon?`${H.icon} `:"",H.label," (",H.id,")"]},H.id))]}),i.jsx("button",{className:"admin-mini-btn",disabled:!Q,onClick:Xn,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:ma,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Working directory"}),i.jsx("input",{type:"text",value:Te,onChange:H=>X(H.target.value),placeholder:"/Users/you/Documents/my-project",disabled:de||!c||!Yr})]}),he?i.jsxs("p",{className:"admin-hint",children:[he.effective?i.jsxs(i.Fragment,{children:["Effective: ",i.jsx("code",{children:he.effective})]}):i.jsxs(i.Fragment,{children:["Not set — unattached project asks will ask for a folder (server cwd: ",i.jsx("code",{children:he.processCwd}),")"]}),he.configured&&!he.configuredValid?" ⚠️ The saved path no longer exists and is being ignored.":""]}):null,Y?i.jsx("div",{className:"admin-row-msg",children:Y}):null,Yr?i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:de||!c,children:de?"⏳ 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."}),_e?i.jsx("div",{className:"admin-row-msg",children:_e}):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(H=>{var re;return i.jsxs("tr",{children:[i.jsx("td",{className:"admin-provider-type",children:H.scope?i.jsx("code",{children:H.scope}):i.jsx("em",{children:"no workspace attached"})}),i.jsx("td",{children:H.count}),i.jsx("td",{className:"admin-hint",children:new Date(H.newestAt).toLocaleString()}),i.jsxs("td",{className:"admin-hint",children:[H.models.slice(0,2).join(", "),H.models.length>2?` +${H.models.length-2}`:""]}),i.jsx("td",{className:"admin-hint",children:((re=H.samples[0])==null?void 0:re.prompt)??""}),i.jsx("td",{children:i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Le!==null||!Yr,onClick:()=>void Tr(H.scope),children:Le===(H.scope??"__none__")?"⏳ …":"🗑 Clear"})})]},H.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(ole,{authed:c,role:y||"viewer"}),i.jsx(ale,{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(H=>i.jsx(zb,{check:H},H.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(H=>i.jsx(zb,{check:H},H.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 mM(e){return String(e??"").replace(/\d{3,}/g,t=>t.slice(0,2)+"***")}const ule={idle:"Not paired",pairing:"⏳ Pairing…",paired:"✅ Paired",failed:"❌ Pairing failed",cancelled:"⏹ Cancelled",error:"💥 Pairing error"};function dle({authed:e,canWrite:t,sessionExpired:n,reveal:r=!1}){const[a,s]=x.useState(null),[o,l]=x.useState({}),[c,u]=x.useState(""),[d,f]=x.useState(!1),[h,p]=x.useState(null),m=x.useRef(null),g=x.useCallback(async()=>{const b=await K.getWhatsAppStatus();b&&(s(b.status),l(b.contacts??{}))},[]);x.useEffect(()=>{if(g(),!e||typeof EventSource>"u")return;const b=K.subscribeWhatsApp({onQr:j=>s(E=>E&&{...E,qr:j,state:"pairing"}),onCode:j=>s(E=>E&&{...E,pairingCode:j}),onStatus:j=>{s(j),(j.state==="paired"||j.state==="failed"||j.state==="error"||j.state==="cancelled")&&f(!1)}});return m.current=b,()=>{b(),m.current=null}},[e,g]);const y=async b=>{f(!0),p(null);const j=await b();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=b=>{p(null),y(()=>K.startWhatsAppPair(b?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:ule[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:b=>u(b.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(([b,j])=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:b}),i.jsxs("span",{className:"admin-hint",children:["→ ",r?j:mM(j)]})]},b))}),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 fle({canWrite:e,sessionExpired:t,mode:n="grid"}){const[r,a]=x.useState(null),[s,o]=x.useState(null),[l,c]=x.useState(null),[u,d]=x.useState(null),[f,h]=x.useState(null),[p,m]=x.useState(0),[g,y]=x.useState({}),[v,S]=x.useState(!1),[w,N]=x.useState(null),k=x.useRef(!0),b=x.useCallback(async()=>{const B=await K.getPlatformConfigs();k.current&&a(B)},[t]);x.useEffect(()=>(b(),()=>{k.current=!1}),[b]);const j=async(B,$)=>{c(B),d(null);const M=await K.setPlatformConfig(B,$);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),b())}},E=async B=>{if(!window.confirm(`Remove ${B} transport config? Tokens will be deleted from ~/.buff/.env.`))return;c(B),d(null);const $=await K.removePlatformConfig(B);if(k.current){if(c(null),$.unauthorized||$.forbidden){t($.error);return}d({kind:$.ok?"ok":"err",text:$.ok?"Removed.":$.error||"Remove failed."}),$.ok&&b()}},P={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!"]}},_=B=>{e&&(h(B),m(0),y(Object.fromEntries(B.envVars.map($=>[$.varName,$.value]))),N(null))},A=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."}),b()):N({kind:"err",text:B.error||"Save failed."})};if(r===null)return i.jsx("div",{className:"empty-state",children:"Loading platform transports…"});const O=f?P[f.platform]:null;return n==="table"?i.jsxs(i.Fragment,{children:[f&&O?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:O.steps.map((B,$)=>i.jsx("li",{children:B},$))}),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:$=>y(M=>({...M,[B.varName]:$.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 A(),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:O.postSetup.map((B,$)=>i.jsx("li",{children:B},$))})]}):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:()=>_(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 E(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.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:$.prompt}),i.jsx("input",{type:$.secret?"password":"text",value:$.value,readOnly:!0,className:"platform-config-readonly",placeholder:$.secret?"••••••••":"value"})]},$.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&&O?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:O.steps.map((B,$)=>i.jsx("li",{children:B},$))}),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:$=>y(M=>({...M,[B.varName]:$.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 A(),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:O.postSetup.map((B,$)=>i.jsx("li",{children:B},$))})]}):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(hle,{entry:B,canWrite:e,busy:l===B.platform,expanded:s===B.platform,onToggle:()=>o(s===B.platform?null:B.platform),onSave:$=>void j(B.platform,$),onRemove:()=>void E(B.platform),onStartWizard:()=>_(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 hle(e){const{entry:t,canWrite:n,busy:r,expanded:a,onToggle:s,onSave:o,onRemove:l,onStartWizard:c}=e,[u,d]=x.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 ple=[{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:"🤖"}],mle={pending:"⏳ pending",sent:"✅ sent",failed:"❌ failed"},gle=5e3,vle={spawning:"⏳ spawning",running:"▶ running",completed:"✅ completed",failed:"❌ failed",timeout:"⏰ timed out",killed:"⛔ killed"};function yle(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 io(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function ble(e,t,n=new Date){const r=io(e.displayName),a=io(e.platform),s=e.messages.map(o=>{const l=o.role==="user",c=l?"user":"assistant",u=io(l?e.displayName:"Agent");return`<div class="msg msg-${c}">
135
- <div class="bubble bubble-${c}">${io(o.content)}</div>
136
- <div class="timestamp">${u} · ${io(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: ${io(n.toLocaleString())}</div>
160
- ${s}
161
- </body>
162
- </html>`}function xle(){var yd,bd,xd,Ul,Wl,L,J,te,je,Cn,mn,ct,Hl,Gl,ql;const[e,t]=x.useState("tools"),[n,r]=x.useState(null),[a,s]=x.useState(!0),[o,l]=x.useState(null),[c,u]=x.useState(!1),[d,f]=x.useState(null),[h,p]=x.useState(!1),[m,g]=x.useState(null),[y,v]=x.useState(null),[S,w]=x.useState(""),N=Kr(),[k,b]=x.useState(""),[j,E]=x.useState(null),[P,_]=x.useState(!1),[A,O]=x.useState(null),[B,$]=x.useState(null),[M,D]=x.useState({}),[U,R]=x.useState(""),[z,T]=x.useState(""),[Z,F]=x.useState(!1),[I,se]=x.useState(null),[he,ge]=x.useState(!1),[Te,X]=x.useState({}),[Y,ie]=x.useState(!1),[de,W]=x.useState(null),[xe,we]=x.useState({}),[_e,ve]=x.useState({}),[Le,pe]=x.useState({}),[et,Be]=x.useState(!1),[Me,at]=x.useState(null),[Ge,wt]=x.useState(""),[fn,G]=x.useState(null),[Q,ce]=x.useState(!1),[me,Ne]=x.useState(new Map),[Oe,It]=x.useState(new Set),[De,rn]=x.useState(!1),[Vn,it]=x.useState([]),[Dt,hn]=x.useState(""),[Vr,Yn]=x.useState(null),[_n,ur]=x.useState(""),[At,$n]=x.useState([]),[Tr,ma]=x.useState(0),[pn,Yr]=x.useState(0),[an,ga]=x.useState(!0),[ze,Wi]=x.useState(!1),[dr,Xa]=x.useState(!1),va=20,Hi=x.useRef(null),fr=x.useCallback(async(C=!1)=>{if(ze)return;const q=C?0:pn;Wi(!0);try{const ne=await K.fetchGatewayConversations({offset:q,limit:va,q:Ge||void 0});ne.ok&&ne.conversations&&($n(ae=>C?ne.conversations:[...ae,...ne.conversations]),ma(ne.total??0),Yr(q+ne.conversations.length),ga(ne.hasMore??!1))}catch{}Wi(!1)},[ze,pn,Ge]);x.useEffect(()=>{e==="conversations"&&!dr&&!ze&&(Xa(!0),fr(!0))},[e,dr,ze,fr]),x.useEffect(()=>{const C=Hi.current;if(!C)return;const q=new IntersectionObserver(ne=>{var ae;(ae=ne[0])!=null&&ae.isIntersecting&&an&&!ze&&fr(!1)},{threshold:.1});return q.observe(C),()=>q.disconnect()},[an,ze,fr]),x.useEffect(()=>{const C=setTimeout(()=>{e==="conversations"&&dr&&($n([]),Yr(0),ga(!0),fr(!0))},300);return()=>clearTimeout(C)},[Ge]),x.useEffect(()=>K.onTypingEvent(q=>{Ne(ne=>{const ae=new Map(ne),ue=`${q.platform}:${q.channelId}`;return q.typing?ae.set(ue,{platform:q.platform,channelId:q.channelId,startedAt:Date.now()}):ae.delete(ue),ae})}),[]);const ya=x.useCallback((C,q)=>{q.stopPropagation(),It(ne=>{const ae=new Set(ne);return ae.has(C)?ae.delete(C):ae.add(C),ae})},[]),qs=x.useCallback(()=>{It(C=>C.size===At.length?new Set:new Set(At.map(q=>q.key)))},[At]),Qa=x.useCallback(async()=>{if(Oe.size!==0){rn(!0);try{await K.exportGatewayConversations([...Oe])}catch{}rn(!1)}},[Oe]);x.useEffect(()=>{e==="conversations"&&K.getAllConversationTags().then(C=>{C.ok&&C.tags&&it(C.tags)})},[e]);const Gi=x.useCallback(async(C,q)=>{if(!q.trim())return;(await K.addConversationTag(C,q.trim())).ok&&($n(ae=>ae.map(ue=>ue.key===C?{...ue,tags:[...ue.tags??[],q.trim().toLowerCase()]}:ue)),it(ae=>ae.includes(q.trim().toLowerCase())?ae:[...ae,q.trim().toLowerCase()].sort())),Yn(null),ur("")},[]),qi=x.useCallback(async(C,q)=>{(await K.removeConversationTag(C,q)).ok&&$n(ae=>ae.map(ue=>ue.key===C?{...ue,tags:(ue.tags??[]).filter(Pe=>Pe!==q)}:ue))},[]),Xn=x.useCallback((C,q)=>{q.stopPropagation();const ne=C.contactName||C.channelId,ae=[`Conversation with ${ne} (${C.platform})`,`Exported: ${new Date().toLocaleString()}`,`Messages: ${C.messageCount}`,"─".repeat(50),""];if(C.messages)for(const Ot of C.messages){const ke=Ot.role==="user"?ne:"Agent",Pt=new Date(Ot.ts).toLocaleString();ae.push(`[${Pt}] ${ke}:`),ae.push(Ot.content),ae.push("")}const ue=new Blob([ae.join(`
163
- `)],{type:"text/plain;charset=utf-8"}),Pe=URL.createObjectURL(ue),Tt=document.createElement("a");Tt.href=Pe,Tt.download=`conversation-${C.platform}-${C.channelId.replace(/[^\w]/g,"_")}-${new Date().toISOString().slice(0,10)}.txt`,document.body.appendChild(Tt),Tt.click(),document.body.removeChild(Tt),URL.revokeObjectURL(Pe)},[]),Ks=x.useCallback((C,q)=>{q.stopPropagation();const ne=C.contactName||C.channelId,ae=C.messages??[],ue=ble({displayName:ne,platform:C.platform,messageCount:C.messageCount,messages:ae},yle()),Pe=window.open("","_blank");Pe&&(Pe.document.write(ue),Pe.document.close(),setTimeout(()=>Pe.print(),300))},[]);x.useEffect(()=>{var q;const C=(q=n==null?void 0:n.conversations)==null?void 0:q.recent;!C||C.length===0||dr&&(pn>va||Ge||$n(ne=>{const ae=new Set(ne.map(ke=>ke.key)),ue=C.map(ke=>({...ke})),Pe=new Map(ne.map(ke=>[ke.key,ke]));for(const ke of ue)Pe.has(ke.key)&&Pe.set(ke.key,ke);const Ot=[...ue.filter(ke=>!ae.has(ke.key)),...Pe.values()];return Ot.sort((ke,Pt)=>Pt.lastActiveAt-ke.lastActiveAt),Ot}))},[(yd=n==null?void 0:n.conversations)==null?void 0:yd.recent]);const[ba,Ki]=x.useState(""),[Il,Vs]=x.useState([]),[$l,xa]=x.useState(!1),[wa,ka]=x.useState(!1),[Vi,H]=x.useState(null),[re,Ee]=x.useState(null),[Se,$e]=x.useState({}),[Ln,$t]=x.useState([]),[jt,Sa]=x.useState([]),[Xr,Ys]=x.useState(""),hr=C=>et?String(C??""):mM(C),cd=C=>{const q=C.match(/^(\d+)@/);if(!q)return"";const ne=q[1];return ne.length===12&&ne.startsWith("91")?`+${ne.slice(0,2)} ${ne.slice(2,7)} ${ne.slice(7)}`:ne.length===10?`+91 ${ne.slice(0,5)} ${ne.slice(5)}`:`+${ne}`},_m=C=>{const q=cd(C.channelId),ne=hr(C.channelId);return C.contactName?{name:C.contactName,phone:q||ne}:{name:q||ne,phone:""}},Za=x.useCallback(C=>{var q,ne;r(C),(q=C==null?void 0:C.channels)!=null&&q.statusRecipients&&Sa(C.channels.statusRecipients),(ne=C==null?void 0:C.channels)!=null&&ne.contacts&&$t(C.channels.contacts),C||l("Could not reach the dashboard server, or the server is older than this panel. Run `buff dashboard` to start it."),s(!1)},[]),Dn=x.useCallback(async()=>{u(!0),l(null),Za(await K.fetchHub()),u(!1)},[Za]);x.useEffect(()=>{Dn(),K.fetchAdminAuthStatus().then(C=>{C&&(f({configured:C.configured,authenticated:C.authenticated}),p(C.authenticated),g(C.role??null),v(C.user??null))})},[Dn,N]);const ud=((bd=n==null?void 0:n.subagents)==null?void 0:bd.running)??0;x.useEffect(()=>{if(ud===0)return;const C=setInterval(()=>{K.fetchHub().then(q=>{q&&Za(q)})},gle);return()=>clearInterval(C)},[ud,Za]);const Bt=h&&(m==="admin"||m==="operator"),dd=x.useRef(!1);x.useEffect(()=>{Bt&&!dd.current&&(dd.current=!0,Be(!0))},[Bt]);const Cm=async C=>{C==null||C.preventDefault();const q=ba.trim();if(!q)return;ka(!0),H(null);const ne=await K.marketplaceSearch(q);Vs(ne),xa(!0),ka(!1)},Am=async C=>{if(!h){H({kind:"err",text:"🔐 Log in (or set up admin access) to install skills."});return}if(!Bt){H({kind:"err",text:"Your role cannot install skills — admin or operator only."});return}Ee(C),H(null);const q=await K.marketplaceInstall(C);q.ok?(H({kind:"ok",text:`✅ Installed ${C} (quarantine checked) — it appears in the Skills list and loads via the skill tool next turn.`}),Dn()):H({kind:"err",text:q.quarantined?`⛔ ${q.error||"checksum mismatch — quarantined"}`:`❌ ${q.error||"Install failed."}`}),Ee(null)},fd=async C=>{if(!h){H({kind:"err",text:"🔐 Log in (or set up admin access) to uninstall skills."});return}if(!Bt){H({kind:"err",text:"Your role cannot uninstall skills — admin or operator only."});return}Ee(C),H(null);const q=await K.marketplaceUninstall(C);q.ok?(H({kind:"ok",text:`🗑️ Uninstalled ${C} — removed from .agents/skills/ and provenance.`}),Dn()):H({kind:"err",text:`❌ ${q.error||"Uninstall failed."}`}),Ee(null)},Yi=()=>{p(!1),f(C=>C&&{...C,authenticated:!1}),E("Session expired — log in again to toggle capabilities.")},Xi=async C=>{C.preventDefault(),_(!0),E(null);const q=await K.adminLogin(S,k);if(q.ok){p(!0),f({configured:!0,authenticated:!0}),g(q.role??"admin"),v(q.user??null),w(""),b("");const ne=A;O(null),ne&&await ja(ne.kind,ne.name,ne.enabled)}else E(q.error||"Login failed.");_(!1)},hd=async C=>{if(C.preventDefault(),_(!0),E(null),k.length<8){E("Password must be at least 8 characters."),_(!1);return}const q=await K.adminSetup(S,k);if(q.ok){p(!0),f({configured:!0,authenticated:!0}),g(q.role??"admin"),v(q.user??null),w(""),b("");const ne=A;O(null),ne&&await ja(ne.kind,ne.name,ne.enabled)}else E(q.error||"Setup failed.");_(!1)},Or=async()=>{await K.adminLogout(),p(!1),f(C=>C&&{...C,authenticated:!1}),g(null),v(null)},ja=async(C,q,ne)=>{$(q);const ae=C==="skill"?await K.setSkillEnabled(q,ne):await K.setToolsetEnabled(q,ne);ae.ok?(D(ue=>({...ue,[q]:`✅ ${ne?"Enabled":"Disabled"} — live for new agent runs`})),Dn()):ae.unauthorized?Yi():(D(ue=>({...ue,[q]:`❌ ${ae.error||"Toggle failed"}`})),ae.forbidden&&E(ae.error||"Your role cannot change capabilities.")),$(null)},Ll=(C,q)=>{if(!h){O({kind:"toolset",name:C,enabled:q});return}ja("toolset",C,q)},Xs=(C,q)=>{if(!h){O({kind:"skill",name:C,enabled:q});return}ja("skill",C,q)},Tm=async C=>{if(C.preventDefault(),!h){se({kind:"err",text:"🔐 Log in (or set up admin access) to send test messages."});return}if(!Bt){se({kind:"err",text:"🔒 Your role cannot send channel messages — requires the admin or operator role."});return}F(!0),se(null);const q=await K.sendChannelMessage(U.trim(),z);q.ok?(se({kind:"ok",text:`✅ Sent to ${U.trim()} (${q.platform}:${hr(q.channelId??"")})`}),T("")):q.unauthorized?(Yi(),se({kind:"err",text:q.error||"Session expired — log in again."})):se({kind:"err",text:q.error||"Send failed."}),F(!1)},sn=(C,q)=>{var ae,ue;return(((ue=(ae=n==null?void 0:n.channels)==null?void 0:ae.policies)==null?void 0:ue[C])??{})[q]??[]},pd=C=>C==="user"?"allowedUsers":C==="group"?"allowedGroups":"outboundSenders",Dl=(C,q,ne)=>{const ae=ne.trim();ae&&X(ue=>{var Pt;const Pe={...ue[C]??{}},Tt=pd(q),ke=[...((Pt=ue[C])==null?void 0:Pt[Tt])??sn(C,Tt)];return ke.includes(ae)||ke.push(ae),Pe[Tt]=ke,{...ue,[C]:Pe}})},Bl=(C,q,ne)=>{X(ae=>{var Pt;const ue=pd(q),Pe=sn(C,ue),Ot=(((Pt=ae[C])==null?void 0:Pt[ue])??Pe).filter(Kl=>Kl!==ne);if(Ot.length===0&&Pe.length===0){const Kl={...ae[C]??{}};delete Kl[ue];const Om={...ae};return Object.keys(Kl).length===0?delete Om[C]:Om[C]=Kl,Om}const ke={...ae[C]??{}};return ke[ue]=Ot,{...ae,[C]:ke}})},zl=(C,q)=>{const ne=C.trim().toLowerCase(),ae=q.trim().toLowerCase();if(ne==="*"||ae==="*"||ne===ae)return!0;const ue=ne.replace(/\D+/g,""),Pe=ae.replace(/\D+/g,"");return ue.length>0&&ue===Pe},md=C=>{const q=(Se[C]??"").trim(),ne=(xe[C]??"").trim();ne&&(Dl(C,"user",ne),q&&$t(ae=>[...ae.filter(Pe=>!(Pe.platform===C&&(zl(Pe.id,ne)||Pe.name.toLowerCase()===q.toLowerCase()))),{name:q,platform:C,id:ne,addedAt:Date.now()}]),we(ae=>({...ae,[C]:""})),$e(ae=>({...ae,[C]:""})))},gd=(C,q)=>{Bl(C,"user",q),$t(ne=>ne.filter(ae=>!(ae.platform===C&&zl(ae.id,q))))},Qs=(C,q)=>{X(ne=>{const ae={...ne[C]??{}};return q==="silentDrop"?ae.silentDrop=ae.silentDrop===!1:ae[q]?delete ae[q]:ae[q]=!0,{...ne,[C]:ae}})},vd=Object.keys(Te).length>0||Ln.length!==(((Ul=(xd=n==null?void 0:n.channels)==null?void 0:xd.contacts)==null?void 0:Ul.length)??0)||Ln.some((C,q)=>{var ne,ae;return!((ae=(ne=n==null?void 0:n.channels)==null?void 0:ne.contacts)!=null&&ae[q])||C.platform!==n.channels.contacts[q].platform||C.id!==n.channels.contacts[q].id||C.name!==n.channels.contacts[q].name})||jt.length!==(((L=(Wl=n==null?void 0:n.channels)==null?void 0:Wl.statusRecipients)==null?void 0:L.length)??0)||jt.some((C,q)=>{var ne,ae;return C!==((ae=(ne=n==null?void 0:n.channels)==null?void 0:ne.statusRecipients)==null?void 0:ae[q])}),Qr=async()=>{var q;if(!h){W({kind:"err",text:"🔐 Log in (or set up admin access) to change permissions."});return}if(!Bt){W({kind:"err",text:"🔒 Your role cannot change permissions — requires the admin or operator role."});return}ie(!0),W(null);const C=await K.saveGatewayPolicies(Te,jt,Ln);if(C.ok){const ne=(q=C.contactErrors)!=null&&q.length?`
164
- ⚠️ Some contacts were rejected: ${C.contactErrors.join("; ")}`:"";W({kind:ne?"warn":"ok",text:`✅ Permissions + saved contacts + status recipients saved — the running gateway applies them immediately.${ne}`}),X({}),Dn()}else C.unauthorized?(Yi(),W({kind:"err",text:C.error||"Session expired — log in again."})):W({kind:"err",text:C.error||"Failed to save permissions."});ie(!1)};if(a)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Re,{icon:"🧰",title:"Agent Hub"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading hub…"})]})]});const Fl=!h&&A!==null;return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-header",children:[i.jsx(Re,{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:et,onChange:C=>Be(C.target.checked),disabled:!Bt}),"Show full ids"]}),Bt?null:i.jsx("span",{className:"admin-hint",children:"🔒 admins/operators only"}),i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void Dn(),disabled:c,children:c?"⏳ Refreshing…":"🔄 Refresh"}),h?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void Or(),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,Fl?i.jsxs("div",{className:"admin-header",children:[i.jsx("h2",{className:"section-subtitle",children:d!=null&&d.configured?`🔐 Log in to ${A.enabled?"enable":"disable"} '${A.name}'`:`🔐 Set up admin access to ${A.enabled?"enable":"disable"} '${A.name}'`}),i.jsxs("form",{className:"admin-gate-form",onSubmit:d!=null&&d.configured?Xi:hd,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:S,onChange:C=>w(C.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:k,onChange:C=>b(C.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:P||!S||!k,children:P?"⏳ …":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,!Fl&&!Bt&&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:ple.map(C=>{var ne,ae,ue;const q=C.id==="tools"?n?`${n.toolsets.enabled}/${n.toolsets.toolsets.length}`:"":C.id==="channels"?n?String(n.channels.delivery.total):"":C.id==="conversations"?n?String(((ne=n.conversations)==null?void 0:ne.total)??0):"":C.id==="artifacts"?n?String(n.artifacts.totalSessions):"":C.id==="subagents"?n?`${((ae=n.subagents)==null?void 0:ae.running)??0}/${((ue=n.subagents)==null?void 0:ue.total)??0}`:"":n?`${n.skills.enabled}/${n.skills.total}`:"";return i.jsxs("button",{role:"tab","aria-selected":e===C.id,className:`hub-tab${e===C.id?" active":""}`,onClick:()=>t(C.id),children:[C.icon," ",C.label,q?i.jsx("span",{className:"hub-tab-count",children:q}):null]},C.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(C=>i.jsxs("div",{className:`hub-card${C.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:C.label}),i.jsx("span",{className:"hub-card-id",children:C.name})]}),i.jsx("button",{role:"switch","aria-checked":C.enabled,"aria-label":`${C.enabled?"Disable":"Enable"} ${C.label}`,className:`hub-switch${C.enabled?" on":""}`,disabled:B===C.name||A!==null||h&&!Bt,onClick:()=>Ll(C.name,!C.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]}),i.jsx("p",{className:"hub-card-desc",children:C.description}),i.jsx("div",{className:"hub-card-tools",children:C.tools.length>0?C.tools.map(q=>i.jsx("span",{className:"hub-chip",children:q},q)):i.jsx("span",{className:"admin-hint",children:"gates dynamic MCP tools (no static names)"})}),M[C.name]?i.jsx("div",{className:"admin-row-msg",children:M[C.name]}):null,C.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Removed from the model schema — calls return an explicit error"})]},C.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(C=>i.jsxs("tr",{children:[i.jsx("td",{className:"admin-provider-type",children:hr(C.target)}),i.jsx("td",{children:C.platform}),i.jsx("td",{children:i.jsx("span",{className:`admin-check-badge admin-check-${C.status==="sent"?"pass":C.status==="failed"?"fail":"warn"}`,children:mle[C.status]||C.status})}),i.jsxs("td",{children:[C.attempts,"/5"]}),i.jsx("td",{children:C.status==="pending"?`${Math.max(0,Math.round((C.nextAttemptAt-Date.now())/1e3))}s`:"—"}),i.jsx("td",{className:"admin-hint",children:C.lastError?`⚠️ ${C.lastError}`:(C.text||"").slice(0,60)})]},C.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(C=>i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[C.platform,C.isGroup?i.jsx("span",{className:"hub-chip",children:"group"}):null]}),i.jsx("td",{children:hr(C.from||C.senderId||C.channelId)}),i.jsx("td",{className:"admin-hint",children:(C.text||"").slice(0,60)}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge admin-check-${C.handled==="pipeline"?"pass":C.handled==="refused"?"fail":"warn"}`,children:C.handled}),C.reply?i.jsx("div",{className:"admin-hint",children:C.reply.slice(0,C.handled==="attachment_failed"?160:40)}):null]}),i.jsx("td",{className:"admin-hint",children:new Date(C.at).toLocaleString()})]},C.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(fle,{canWrite:Bt,sessionExpired:Yi,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(C=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:C.alias}),i.jsxs("span",{className:"admin-hint",children:["→ ",C.platform,":",hr(C.channelId)]})]},C.alias))}):i.jsxs("div",{className:"empty-state",children:["No aliases yet — register one with ",i.jsx("code",{children:"buff gateway alias <name> <platform> <channelId>"}),"."]}),vd?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 Qr(),children:Y?"⏳ Saving…":"💾 Save permissions"})]}):null,i.jsx("div",{style:{cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:8,marginBottom:8},onClick:()=>ge(!he),children:i.jsxs("h2",{className:"section-subtitle",style:{margin:0},children:[he?"▼":"▶"," 🔐 Permissions — who can TRIGGER the agent"]})}),i.jsxs("p",{className:"admin-hint",style:{marginBottom:he?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 ",he?"collapse":"expand"," and manage permissions."]}),he?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(C=>{const q={...n.channels.policies[C.platform]??{},...Te[C.platform]??{}},ne=q.allowedUsers??[],ae=q.allowedGroups??[];return i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsx("span",{className:"hub-chip",children:C.label}),i.jsx("span",{className:"hub-card-id",children:C.platform}),q.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:[ne.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,ne.map(ue=>{var Tt,Ot,ke,Pt;const Pe=(((Tt=Te[C.platform])==null?void 0:Tt.allowedUsers)??[]).includes(ue)&&!(((Pt=(ke=(Ot=n==null?void 0:n.channels)==null?void 0:Ot.policies)==null?void 0:ke[C.platform])==null?void 0:Pt.allowedUsers)??[]).includes(ue);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${Pe?" hub-chip-pending":""}`,title:Pe?"Not saved yet — press 💾 Save permissions":void 0,children:[hr(ue),Pe?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>gd(C.platform,ue),children:"✕"})]},`u-${ue}`)})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Se[C.platform]??"",onChange:ue=>$e(Pe=>({...Pe,[C.platform]:ue.target.value})),placeholder:"Name (optional)",disabled:Y}),i.jsx("input",{type:"text",value:xe[C.platform]??"",onChange:ue=>we(Pe=>({...Pe,[C.platform]:ue.target.value})),placeholder:"Contact no / sender id, or Allow-All",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(xe[C.platform]??"").trim(),onClick:()=>md(C.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:[ae.length===0?i.jsx("span",{className:"admin-hint",children:"(none — any group may trigger)"}):null,ae.map(ue=>{var Tt,Ot,ke,Pt;const Pe=(((Tt=Te[C.platform])==null?void 0:Tt.allowedGroups)??[]).includes(ue)&&!(((Pt=(ke=(Ot=n==null?void 0:n.channels)==null?void 0:Ot.policies)==null?void 0:ke[C.platform])==null?void 0:Pt.allowedGroups)??[]).includes(ue);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${Pe?" hub-chip-pending":""}`,title:Pe?"Not saved yet — press 💾 Save permissions":void 0,children:[ue,Pe?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Bl(C.platform,"group",ue),children:"✕"})]},`g-${ue}`)})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:_e[C.platform]??"",onChange:ue=>ve(Pe=>({...Pe,[C.platform]:ue.target.value})),placeholder:"group id, e.g. 1203630283471234@g.us",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(_e[C.platform]??"").trim(),onClick:()=>{Dl(C.platform,"group",_e[C.platform]??""),ve(ue=>({...ue,[C.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:(q.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:(q.outboundSenders??[]).map(ue=>{var Tt,Ot,ke,Pt;const Pe=(((Tt=Te[C.platform])==null?void 0:Tt.outboundSenders)??[]).includes(ue)&&!(((Pt=(ke=(Ot=n==null?void 0:n.channels)==null?void 0:Ot.policies)==null?void 0:ke[C.platform])==null?void 0:Pt.outboundSenders)??[]).includes(ue);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${Pe?" hub-chip-pending":""}`,title:Pe?"Not saved yet — press 💾 Save permissions":void 0,children:[hr(ue),Pe?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Bl(C.platform,"send",ue),children:"✕"})]},`s-${ue}`)})}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Le[C.platform]??"",onChange:ue=>pe(Pe=>({...Pe,[C.platform]:ue.target.value})),placeholder:"sender id, or Allow-All",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(Le[C.platform]??"").trim(),onClick:()=>{Dl(C.platform,"send",Le[C.platform]??""),pe(ue=>({...ue,[C.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:q.silentDrop!==!1,disabled:Y,onChange:()=>Qs(C.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:!!q.requireMention,disabled:Y,onChange:()=>Qs(C.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:!!q.disabled,disabled:Y,onChange:()=>Qs(C.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:!!q.requireApprovedTarget,disabled:Y,onChange:()=>Qs(C.platform,"requireApprovedTarget")}),i.jsx("span",{className:"admin-hint",children:"Require approved recipients for sends"})]})]})]},C.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 C=Ln.filter(ae=>ae.status==="pending").length,q=Ln.filter(ae=>ae.status==="approved").length,ne=Ln.filter(ae=>ae.status==="rejected").length;return i.jsxs("div",{className:"onboarding-stats",children:[i.jsxs("span",{className:"onboarding-stat pending",children:["⏳ ",C," pending"]}),i.jsxs("span",{className:"onboarding-stat approved",children:["✅ ",q," approved"]}),i.jsxs("span",{className:"onboarding-stat rejected",children:["🚫 ",ne," 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"}),"."]}),jt.length>0?i.jsx("div",{className:"hub-alias-list",children:jt.map(C=>{var q,ne;return i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:"📊"}),i.jsx("span",{className:"admin-hint",children:((ne=(q=n==null?void 0:n.channels)==null?void 0:q.statusRecipientDisplay)==null?void 0:ne[C])??C}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Sa(ae=>ae.filter(ue=>ue!==C)),children:"✕"})]},C)})}):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:Xr,onChange:C=>Ys(C.target.value),placeholder:"whatsapp:Name or whatsapp:+91***",disabled:Y,maxLength:128}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!Xr.trim()||jt.includes(Xr.trim()),onClick:()=>{Sa(C=>[...C,Xr.trim()]),Ys("")},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 Qr(),children:Y?"⏳ Saving…":"💾 Save permissions"}),Object.keys(Te).length>0?i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>X({}),children:"Discard draft"}):null]}),de?i.jsx("div",{className:`admin-row-msg${de.kind==="err"?" admin-row-msg-err":""}`,children:de.text}):null,i.jsx("h2",{className:"section-subtitle",children:"📤 Test a channel (buff gateway send)"}),i.jsxs("form",{className:"hub-send-form",onSubmit:C=>void Tm(C),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:U,onChange:C=>R(C.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:C=>T(C.target.value),placeholder:"nightly build done 🎉",disabled:Z,maxLength:4e3})]}),i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:Z||!U.trim()||!z,children:Z?"⏳ Sending…":"📤 Send test message"})]}),I?i.jsx("div",{className:`admin-row-msg${I.kind==="ok"?"":" admin-row-msg-err"}`,children:I.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(dle,{authed:h,canWrite:Bt,sessionExpired:Yi,reveal:et})]}):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:((J=n.conversations)==null?void 0:J.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:At.filter(C=>Date.now()-C.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:At.filter(C=>C.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:At.filter(C=>C.platform==="telegram").length}),i.jsx("div",{className:"admin-summary-label",children:"Telegram"})]})]}),((te=n.conversations)==null?void 0:te.analytics)&&n.conversations.analytics.totalConversations>0&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>ce(!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((C,q)=>{var ue;const ne=((ue=n.conversations.analytics.topContacts[0])==null?void 0:ue.messageCount)||1,ae=Math.round(C.messageCount/ne*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:q<3?"var(--accent-yellow)":"var(--muted)"},children:q===0?"🥇":q===1?"🥈":q===2?"🥉":`${q+1}.`}),i.jsxs("span",{style:{flex:1,marginLeft:8},children:[C.platform==="whatsapp"?"📱":"✈️"," ",C.name]}),i.jsx("span",{style:{width:60,textAlign:"right",fontWeight:600},children:C.messageCount}),i.jsx("div",{style:{width:100,height:8,background:"var(--border)",borderRadius:4,marginLeft:8},children:i.jsx("div",{style:{width:`${ae}%`,height:"100%",background:"var(--accent-blue)",borderRadius:4}})})]},q)})})]}),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:C,count:q})=>{const ne=Math.max(...n.conversations.analytics.hourlyDistribution.map(ue=>ue.count),1),ae=Math.round(q/ne*70);return i.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center"},children:i.jsx("div",{style:{width:"100%",height:ae,background:C>=9&&C<=21?"var(--accent-blue)":"var(--text-muted)",borderRadius:2},title:`${C}:00 — ${q} messages`})},C)})}),i.jsx("div",{style:{display:"flex",fontSize:10,color:"var(--muted)",marginTop:4},children:[0,6,12,18,23].map(C=>i.jsxs("span",{style:{flex:1,textAlign:C===0?"left":C===23?"right":"center"},children:[C,":00"]},C))})]}),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(C=>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:C.platform}),i.jsxs("span",{style:{marginLeft:8,flex:1},children:[C.conversations," conversations"]}),i.jsxs("span",{style:{fontWeight:600},children:[C.messages," msgs"]})]},C.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:C,count:q})=>{const ne=Math.max(...n.conversations.analytics.dailyVolume.map(ue=>ue.count),1),ae=Math.round(q/ne*50);return i.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center"},children:i.jsx("div",{style:{width:"100%",height:ae,background:"var(--accent-green)",borderRadius:2},title:`${C}: ${q} messages`})},C)})}),i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"var(--muted)",marginTop:4},children:[i.jsx("span",{children:(je=n.conversations.analytics.dailyVolume[0])==null?void 0:je.date}),i.jsx("span",{children:(Cn=n.conversations.analytics.dailyVolume[n.conversations.analytics.dailyVolume.length-1])==null?void 0:Cn.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."}),At.length>0||ze?i.jsxs(i.Fragment,{children:[Vn.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:"}),Vn.map(C=>i.jsxs("button",{type:"button",onClick:()=>hn(Dt===C?"":C),style:{padding:"2px 10px",borderRadius:12,fontSize:11,cursor:"pointer",border:`1px solid ${Dt===C?"var(--accent-blue)":"var(--border)"}`,background:Dt===C?"color-mix(in srgb, var(--accent-blue) 13%, transparent)":"transparent",color:Dt===C?"var(--accent-blue)":"var(--muted)"},children:["🏷️ ",C]},C))]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12,flexWrap:"wrap"},children:[i.jsx("input",{type:"text",value:Ge,onChange:C=>wt(C.target.value),placeholder:"🔍 Search by contact name, phone number, or message content…",style:{flex:1,minWidth:200}}),i.jsxs("span",{className:"admin-hint",children:[Tr," conversation",Tr===1?"":"s",Ge?` matching "${Ge}"`:""]}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:qs,style:{fontSize:12,padding:"4px 10px"},children:Oe.size===At.length?"☑ Deselect All":"☐ Select All"}),Oe.size>0&&i.jsx("button",{type:"button",className:"admin-refresh-btn",disabled:De,onClick:()=>void Qa(),style:{fontSize:12,padding:"4px 10px",background:"var(--accent-blue)",color:"var(--text-on-accent)",border:"none"},children:De?"⏳ Exporting…":`📦 Export ${Oe.size} as ZIP`})]}),i.jsxs("div",{className:"hub-session-list",children:[At.filter(C=>!Dt||(C.tags??[]).includes(Dt)).map(C=>{const q=Date.now()-C.lastActiveAt,ne=q<6e4?"just now":q<36e5?`${Math.round(q/6e4)}m ago`:q<864e5?`${Math.round(q/36e5)}h ago`:`${Math.round(q/864e5)}d ago`,ae=Me===C.key,{name:ue,phone:Pe}=_m(C),Tt=async ke=>{if(ke.stopPropagation(),!h||!Bt){W({kind:"err",text:"🔐 Log in (admin/operator) to clear conversations."});return}G(C.key);try{await K.clearGatewayConversation(C.key),Dn()}catch{}G(null)},Ot=Oe.has(C.key);return i.jsxs("div",{className:"hub-card",style:{cursor:"pointer",borderLeft:`3px solid ${C.platform==="whatsapp"?"#25d366":C.platform==="telegram"?"#0088cc":"var(--text-muted)"}`,opacity:Oe.size>0&&!Ot?.5:1,transition:"opacity 0.2s"},onClick:()=>at(ae?null:C.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:Ot,onClick:ke=>ya(C.key,ke),onChange:()=>{},style:{cursor:"pointer",width:16,height:16}}),i.jsxs("div",{className:"hub-card-title",children:[i.jsxs("span",{className:"hub-card-name",children:[C.platform==="whatsapp"?"📱":C.platform==="telegram"?"✈️":"💬"," ",ue]}),i.jsxs("span",{className:"hub-card-id",children:[Pe&&i.jsx("span",{style:{color:"var(--text-secondary, var(--text-secondary))",marginRight:6},children:Pe}),C.platform," · ",ne]})]})]}),i.jsxs("div",{className:"hub-card-actions",style:{gap:6},children:[i.jsxs("span",{className:"hub-chip",children:[C.messageCount," msgs"]}),ae&&C.messages&&C.messages.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"hub-mini-btn",onClick:ke=>Xn(C,ke),title:"Export as text file",children:"📄"}),i.jsx("button",{type:"button",className:"hub-mini-btn",onClick:ke=>Ks(C,ke),title:"Export as PDF (opens print dialog)",children:"📑"})]}),i.jsx("button",{type:"button",className:"hub-mini-btn",disabled:fn===C.key,onClick:Tt,title:"Clear conversation history",style:{color:"var(--accent-red)"},children:"🗑️"}),i.jsx("span",{style:{fontSize:18,transition:"transform 0.2s",transform:ae?"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:"})," ",C.lastUserMessage.slice(0,120),C.lastUserMessage.length>120?"…":""]}),i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:4},children:[(C.tags??[]).map(ke=>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:["🏷️ ",ke,i.jsx("button",{type:"button",onClick:Pt=>{Pt.stopPropagation(),qi(C.key,ke)},style:{background:"none",border:"none",color:"var(--accent-blue)",cursor:"pointer",padding:0,fontSize:12,lineHeight:1},children:"×"})]},ke)),Vr===C.key?i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:i.jsx("input",{type:"text",value:_n,onChange:ke=>ur(ke.target.value),onKeyDown:ke=>{ke.key==="Enter"&&Gi(C.key,_n),ke.key==="Escape"&&(Yn(null),ur(""))},placeholder:"tag name",autoFocus:!0,onClick:ke=>ke.stopPropagation(),style:{width:80,padding:"1px 6px",fontSize:11,borderRadius:8,border:"1px solid var(--border)"}})}):i.jsx("button",{type:"button",onClick:ke=>{ke.stopPropagation(),Yn(C.key),ur("")},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"})]}),ae&&C.messages&&C.messages.length>0?i.jsxs("div",{className:"conversation-thread",style:{marginTop:10,borderTop:"1px solid var(--border)",paddingTop:10,maxHeight:400,overflowY:"auto"},children:[C.messages.map((ke,Pt)=>i.jsxs("div",{style:{marginBottom:8,display:"flex",flexDirection:"column",alignItems:ke.role==="user"?"flex-end":"flex-start"},children:[i.jsxs("div",{style:{maxWidth:"80%",padding:"8px 12px",borderRadius:12,backgroundColor:ke.role==="user"?"var(--accent-blue)":"var(--bg-card, var(--bg-card))",color:ke.role==="user"?"var(--text-on-accent)":"var(--text-primary, var(--text-primary))",fontSize:13,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:[ke.content.slice(0,500),ke.content.length>500?"…":""]}),i.jsxs("span",{style:{fontSize:10,color:"var(--muted)",marginTop:2,padding:"0 4px"},children:[ke.role==="user"?"👤":"🤖"," ",new Date(ke.ts).toLocaleString()]})]},Pt)),me.has(C.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…"})]})]}):ae?i.jsx("p",{className:"admin-hint",style:{marginTop:8},children:"No message details available."}):null]},C.key)}),an&&!ze&&i.jsx("div",{ref:Hi,style:{height:1}}),ze&&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…"})]}),!ze&&!an&&At.length>0&&i.jsxs("p",{className:"admin-hint",style:{textAlign:"center",padding:12},children:["All ",Tr," conversation",Tr===1?"":"s"," loaded."]})]})]}):ze?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(C=>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:C.sessionId}),i.jsxs("span",{className:"hub-card-id",children:[C.count," artifact",C.count===1?"":"s"," · ",new Date(C.latestAt).toLocaleString()]})]})}),C.recent.length>0?i.jsx("ul",{className:"hub-artifact-list",children:C.recent.map((q,ne)=>i.jsxs("li",{children:[i.jsx("span",{className:"hub-chip",children:q.kind}),i.jsx("span",{className:"hub-artifact-title",children:q.title||"(untitled)"}),q.preview?i.jsx("div",{className:"hub-artifact-preview",children:q.preview}):null]},ne))}):i.jsx("div",{className:"admin-hint",children:"No artifact details."})]},C.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(C=>i.jsxs("div",{className:`hub-card${C.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:C.name}),i.jsxs("span",{className:"hub-card-id",children:[C.id,C.version?` · v${C.version}`:""]})]}),i.jsxs("div",{className:"hub-card-actions",children:[C.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":C.enabled,"aria-label":`${C.enabled?"Disable":"Enable"} ${C.name}`,className:`hub-switch${C.enabled?" on":""}`,disabled:B===C.id||A!==null||h&&!Bt,onClick:()=>Xs(C.id,!C.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]})]}),i.jsx("p",{className:"hub-card-desc",children:C.description}),i.jsxs("div",{className:"hub-card-tools",children:[typeof C.usageCount=="number"?i.jsxs("span",{className:"hub-chip",children:[C.usageCount," uses"]}):null,C.enabled?null:i.jsx("span",{className:"hub-chip",children:"disabled"})]}),M[C.id]?i.jsx("div",{className:"admin-row-msg",children:M[C.id]}):null,C.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Excluded from skill matching — not injected into the planner"})]},`c-${C.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(C=>i.jsxs("div",{className:`hub-card${C.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:C.name}),i.jsx("span",{className:"hub-card-id",children:C.id})]}),i.jsxs("div",{className:"hub-card-actions",children:[i.jsx("button",{type:"button",className:"hub-mini-btn",disabled:re===C.id||h&&!Bt,onClick:()=>void fd(C.id),children:"🗑 Uninstall"}),i.jsx("button",{role:"switch","aria-checked":C.enabled,"aria-label":`${C.enabled?"Disable":"Enable"} ${C.name}`,className:`hub-switch${C.enabled?" on":""}`,disabled:B===C.id||A!==null||h&&!Bt,onClick:()=>Xs(C.id,!C.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]})]}),i.jsx("p",{className:"hub-card-desc",children:C.description}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsx("span",{className:"hub-chip",children:"SKILL.md"}),C.enabled?null:i.jsx("span",{className:"hub-chip",children:"disabled"})]}),M[C.id]?i.jsx("div",{className:"admin-row-msg",children:M[C.id]}):null,C.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Excluded from skill matching — not injected into the planner"})]},`h-${C.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:Cm,children:[i.jsx("input",{type:"text",value:ba,onChange:C=>Ki(C.target.value),placeholder:"Search community skills (e.g. code-assist, deploy, testing)…"}),i.jsx("button",{type:"submit",className:"admin-refresh-btn",disabled:wa,children:wa?"Searching…":"🔎 Search"})]}),Vi?i.jsx("div",{className:`admin-row-msg${Vi.kind==="err"?" admin-row-msg-err":""}`,children:Vi.text}):null,$l&&!wa?Il.length>0?i.jsx("div",{className:"hub-session-list",children:Il.map(C=>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:C.name}),i.jsxs("span",{className:"hub-card-id",children:["v",C.version," · ",C.sourceKind]})]}),i.jsx("button",{type:"button",className:"admin-refresh-btn",disabled:re===C.name||h&&!Bt,onClick:()=>void Am(C.name),children:re===C.name?"Installing…":"⬇ Install"})]}),i.jsx("p",{className:"hub-card-desc",children:C.description}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsx("span",{className:"hub-chip",children:C.author}),C.tags.slice(0,3).map(q=>i.jsx("span",{className:"hub-chip",children:q},q))]})]},`m-${C.name}`))}):i.jsxs("div",{className:"empty-state",children:['No skills match "',ba,'" — 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:((mn=n.subagents)==null?void 0:mn.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:((ct=n.subagents)==null?void 0:ct.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:((Hl=n.subagents)==null?void 0:Hl.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."]}),(((Gl=n.subagents)==null?void 0:Gl.recent)??[]).length>0?i.jsx("div",{className:"hub-session-list",children:(((ql=n.subagents)==null?void 0:ql.recent)??[]).map(C=>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:C.goal||"(no goal recorded)"}),i.jsxs("span",{className:"hub-card-id",children:[C.id.slice(0,8),C.startedAt?` · ${new Date(C.startedAt).toLocaleString()}`:""]})]}),i.jsx("div",{className:"hub-card-actions",children:i.jsx("span",{className:"hub-chip",children:vle[C.status]??C.status})})]}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsxs("span",{className:"hub-chip",children:["🔌 ",C.provider??"provider unknown",C.model?` · ${C.model}`:""]}),i.jsxs("span",{className:"hub-chip",children:["🛠 ",C.transport??"transport unknown"," transport"]}),i.jsxs("span",{className:"hub-chip",children:[C.llmCalls," model call",C.llmCalls===1?"":"s"]}),i.jsxs("span",{className:"hub-chip",children:[C.toolCalls," tool call",C.toolCalls===1?"":"s"]}),typeof C.durationMs=="number"?i.jsxs("span",{className:"hub-chip",children:[(C.durationMs/1e3).toFixed(1),"s"]}):null]}),C.refusalCode?i.jsxs("div",{className:"hub-card-note",children:["⛔ Refused before answering — code ",i.jsx("code",{children:C.refusalCode})]}):null,C.error?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:C.error}):null,C.resultPreview?i.jsx("div",{className:"hub-artifact-preview",children:C.resultPreview}):null]},C.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 wle=295,kle=58,Sle=[{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 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:[]}],wc={commandCount:wle,groupCount:kle,groups:Sle},dE=wc.groups;function jle(e,t){return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)}function Nle({onPick:e}){const[t,n]=x.useState(""),r=x.useId(),a=t.trim().toLowerCase(),s=x.useMemo(()=>a?dE.map(l=>l.name.toLowerCase().includes(a)?l:{...l,commands:l.commands.filter(c=>jle(c,a))}).filter(l=>l.commands.length>0):dE,[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 ${wc.commandCount} commands match “${t.trim()}”`:`${wc.commandCount} commands in ${wc.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 ",wc.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 fE={running:"⏳ running",done:"✅ done",failed:"❌ failed",cancelled:"⏹ cancelled",timeout:"⏰ timed out",error:"💥 error"};function hE(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";default:return"task-status-error"}}function Ele(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 pE(e){return e===null?"—":e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function _le(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 Cle(){const[e,t]=x.useState(null),n=Kr(),[r,a]=x.useState(""),[s,o]=x.useState(300),[l,c]=x.useState(!1),[u,d]=x.useState(""),[f,h]=x.useState(null),[p,m]=x.useState([]),[g,y]=x.useState(!0),v=x.useRef(null),S=x.useRef(null),w=x.useRef(null),N=x.useCallback(async()=>{const A=await K.listTasks();A&&m(A.tasks)},[]);x.useEffect(()=>{K.fetchAdminAuthStatus().then(A=>{t(A?{configured:A.configured,authenticated:A.authenticated,role:A.role??null}:{configured:!1,authenticated:!1,role:null}),A!=null&&A.authenticated&&N()})},[N,n]),x.useEffect(()=>{var A,O;if(g&&(f==null?void 0:f.status)==="running")try{(O=(A=v.current)==null?void 0:A.scrollIntoView)==null||O.call(A,{block:"end"})}catch{}},[f==null?void 0:f.logs.length,f==null?void 0:f.status,g]),x.useEffect(()=>()=>{var A;return(A=w.current)==null?void 0:A.call(w)},[]);const k=x.useCallback((A,O)=>{var $;if(($=w.current)==null||$.call(w),h(A),d(""),!O)return;const B=K.subscribeTask(A.id,{onLog:M=>h(D=>D&&D.id===A.id?{...D,logs:[...D.logs,M]}:D),onStatus:M=>h(D=>D&&D.id===A.id?{...D,status:M}:D)});w.current=B},[]),b=x.useCallback(async()=>{const A=Ele(r);if(A.length===0){d("Type a command first — e.g. `eval run --task smoke-test` or `gateway status`.");return}c(!0),d("");const O=await K.startTask(A,s*1e3);if(c(!1),!O.ok||!O.task){d(O.error||"Failed to start task.");return}a(""),N(),k(O.task,!0)},[r,s,k,N]),j=x.useCallback(async A=>{await K.cancelTask(A)},[]),E=x.useCallback(A=>{var O;a(`${A} `),d(""),(O=S.current)==null||O.focus()},[]),P=x.useCallback(async A=>{const O=await K.getTask(A);O!=null&&O.task&&k(O.task,!1)},[k]),_=x.useCallback(()=>{var A;(A=w.current)==null||A.call(w),h(null)},[]);return e?e.authenticated?i.jsxs("div",{className:"panel",children:[i.jsx(Re,{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:A=>{A.preventDefault(),b()},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:A=>a(A.target.value),autoComplete:"off",spellCheck:!1}),i.jsxs("select",{className:"admin-input task-timeout-select",title:"Task timeout",value:s,onChange:A=>o(Number(A.target.value)),children:[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.jsx("p",{className:"task-hint",children:"Long-running commands stream their output live. Runs are capped at the chosen timeout and can be cancelled."}),i.jsx(Nle,{onPick:E}),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 ${hE(f.status)}`,children:fE[f.status]}),i.jsxs("span",{className:"task-meta",children:["exit ",f.exitCode??"—"," · ",pE(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:_,children:"✕ Close"})]}),i.jsxs("div",{className:"task-console",children:[f.logs.map((A,O)=>i.jsx("div",{className:`task-line task-line-${A.stream}`,children:A.text},O)),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:A=>y(A.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(A=>i.jsxs("tr",{className:(f==null?void 0:f.id)===A.id?"task-row-active":"",onClick:()=>void P(A.id),children:[i.jsx("td",{children:i.jsx("code",{children:A.command})}),i.jsx("td",{children:i.jsx("span",{className:`task-status ${hE(A.status)}`,children:fE[A.status]})}),i.jsx("td",{children:A.exitCode??"—"}),i.jsx("td",{children:pE(A.durationMs)}),i.jsx("td",{children:_le(A.startedAt)})]},A.id))})]})})]}):i.jsxs("div",{className:"panel",children:[i.jsx(Re,{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(Jt,{className:"admin-refresh-btn",to:"/admin",children:"🔐 Log in"}):i.jsx(Jt,{className:"admin-refresh-btn",to:"/admin",children:"🔐 Create admin account"})})]})]}):i.jsxs("div",{className:"panel",children:[i.jsx(Re,{icon:"🚀",title:"Command Console"}),i.jsx("div",{className:"loading-state",children:"Loading…"})]})}function Ale(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Tle=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ole=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ple={};function mE(e,t){return(Ple.jsx?Ole:Tle).test(e)}const Rle=/[ \t\n\f\r]/g;function Mle(e){return typeof e=="object"?e.type==="text"?gE(e.value):!1:gE(e)}function gE(e){return e.replace(Rle,"")===""}class id{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}id.prototype.normal={};id.prototype.property={};id.prototype.space=void 0;function gM(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new id(n,r,t)}function Fb(e){return e.toLowerCase()}class Kn{constructor(t,n){this.attribute=n,this.property=t}}Kn.prototype.attribute="";Kn.prototype.booleanish=!1;Kn.prototype.boolean=!1;Kn.prototype.commaOrSpaceSeparated=!1;Kn.prototype.commaSeparated=!1;Kn.prototype.defined=!1;Kn.prototype.mustUseProperty=!1;Kn.prototype.number=!1;Kn.prototype.overloadedBoolean=!1;Kn.prototype.property="";Kn.prototype.spaceSeparated=!1;Kn.prototype.space=void 0;let Ile=0;const Ie=Ws(),Ft=Ws(),Ub=Ws(),le=Ws(),ut=Ws(),js=Ws(),Zn=Ws();function Ws(){return 2**++Ile}const Wb=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ie,booleanish:Ft,commaOrSpaceSeparated:Zn,commaSeparated:js,number:le,overloadedBoolean:Ub,spaceSeparated:ut},Symbol.toStringTag,{value:"Module"})),Gg=Object.keys(Wb);class h0 extends Kn{constructor(t,n,r,a){let s=-1;if(super(t,n),vE(this,"space",a),typeof r=="number")for(;++s<Gg.length;){const o=Gg[s];vE(this,Gg[s],(r&Wb[o])===Wb[o])}}}h0.prototype.defined=!0;function vE(e,t,n){n&&(e[t]=n)}function Rl(e){const t={},n={};for(const[r,a]of Object.entries(e.properties)){const s=new h0(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[Fb(r)]=r,n[Fb(s.attribute)]=r}return new id(t,n,e.space)}const vM=Rl({properties:{ariaActiveDescendant:null,ariaAtomic:Ft,ariaAutoComplete:null,ariaBusy:Ft,ariaChecked:Ft,ariaColCount:le,ariaColIndex:le,ariaColSpan:le,ariaControls:ut,ariaCurrent:null,ariaDescribedBy:ut,ariaDetails:null,ariaDisabled:Ft,ariaDropEffect:ut,ariaErrorMessage:null,ariaExpanded:Ft,ariaFlowTo:ut,ariaGrabbed:Ft,ariaHasPopup:null,ariaHidden:Ft,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ut,ariaLevel:le,ariaLive:null,ariaModal:Ft,ariaMultiLine:Ft,ariaMultiSelectable:Ft,ariaOrientation:null,ariaOwns:ut,ariaPlaceholder:null,ariaPosInSet:le,ariaPressed:Ft,ariaReadOnly:Ft,ariaRelevant:null,ariaRequired:Ft,ariaRoleDescription:ut,ariaRowCount:le,ariaRowIndex:le,ariaRowSpan:le,ariaSelected:Ft,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 yM(e,t){return t in e?e[t]:t}function bM(e,t){return yM(e,t.toLowerCase())}const $le=Rl({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:js,acceptCharset:ut,accessKey:ut,action:null,allow:null,allowFullScreen:Ie,allowPaymentRequest:Ie,allowUserMedia:Ie,alpha:Ie,alt:null,as:null,async:Ie,autoCapitalize:null,autoComplete:ut,autoFocus:Ie,autoPlay:Ie,blocking:ut,capture:null,charSet:null,checked:Ie,cite:null,className:ut,closedBy:null,colorSpace:null,cols:le,colSpan:le,command:null,commandFor:null,content:null,contentEditable:Ft,controls:Ie,controlsList:ut,coords:le|js,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ie,defer:Ie,dir:null,dirName:null,disabled:Ie,download:Ub,draggable:Ft,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ie,formTarget:null,headers:ut,height:le,hidden:Ub,high:le,href:null,hrefLang:null,htmlFor:ut,httpEquiv:ut,id:null,imageSizes:null,imageSrcSet:null,inert:Ie,inputMode:null,integrity:null,is:null,isMap:Ie,itemId:null,itemProp:ut,itemRef:ut,itemScope:Ie,itemType:ut,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ie,low:le,manifest:null,max:null,maxLength:le,media:null,method:null,min:null,minLength:le,multiple:Ie,muted:Ie,name:null,nonce:null,noModule:Ie,noValidate:Ie,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:Ie,optimum:le,pattern:null,ping:ut,placeholder:null,playsInline:Ie,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ie,referrerPolicy:null,rel:ut,required:Ie,reversed:Ie,rows:le,rowSpan:le,sandbox:ut,scope:null,scoped:Ie,seamless:Ie,selected:Ie,shadowRootClonable:Ie,shadowRootCustomElementRegistry:Ie,shadowRootDelegatesFocus:Ie,shadowRootMode:null,shadowRootSerializable:Ie,shape:null,size:le,sizes:null,slot:null,span:le,spellCheck:Ft,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:Ie,useMap:null,value:Ft,width:le,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ut,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:Ie,declare:Ie,event:null,face:null,frame:null,frameBorder:null,hSpace:le,leftMargin:le,link:null,longDesc:null,lowSrc:null,marginHeight:le,marginWidth:le,noResize:Ie,noHref:Ie,noShade:Ie,noWrap:Ie,object:null,profile:null,prompt:null,rev:null,rightMargin:le,rules:null,scheme:null,scrolling:Ft,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:Ie,disablePictureInPicture:Ie,disableRemotePlayback:Ie,exportParts:js,part:ut,prefix:null,property:null,results:le,security:null,unselectable:null},space:"html",transform:bM}),Lle=Rl({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:Zn,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:ut,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:Ie,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:js,g2:js,glyphName:js,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:Zn,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:ut,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:le,pointsAtY:le,pointsAtZ:le,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Zn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Zn,rev:Zn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Zn,requiredFeatures:Zn,requiredFonts:Zn,requiredFormats:Zn,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:Zn,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:Zn,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:Zn,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:yM}),xM=Rl({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()}}),wM=Rl({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:bM}),kM=Rl({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Dle={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"},Ble=/[A-Z]/g,yE=/-[a-z]/g,zle=/^data[-\w.:]+$/i;function Fle(e,t){const n=Fb(t);let r=t,a=Kn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&zle.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(yE,Wle);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!yE.test(s)){let o=s.replace(Ble,Ule);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}a=h0}return new a(r,t)}function Ule(e){return"-"+e.toLowerCase()}function Wle(e){return e.charAt(1).toUpperCase()}const Hle=gM([vM,$le,xM,wM,kM],"html"),p0=gM([vM,Lle,xM,wM,kM],"svg");function Gle(e){return e.join(" ").trim()}var m0={},bE=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,qle=/\n/g,Kle=/^\s*/,Vle=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Yle=/^:\s*/,Xle=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Qle=/^[;\s]*/,Zle=/^\s+|\s+$/g,Jle=`
165
- `,xE="/",wE="*",cs="",ece="comment",tce="declaration";function nce(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(qle);g&&(n+=g.length);var y=m.lastIndexOf(Jle);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(Kle)}function d(m){var g;for(m=m||[];g=f();)g!==!1&&m.push(g);return m}function f(){var m=s();if(!(xE!=e.charAt(0)||wE!=e.charAt(1))){for(var g=2;cs!=e.charAt(g)&&(wE!=e.charAt(g)||xE!=e.charAt(g+1));)++g;if(g+=2,cs===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:ece,comment:y})}}function h(){var m=s(),g=c(Vle);if(g){if(f(),!c(Yle))return l("property missing ':'");var y=c(Xle),v=m({type:tce,property:kE(g[0].replace(bE,cs)),value:y?kE(y[0].replace(bE,cs)):cs});return c(Qle),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 kE(e){return e?e.replace(Zle,cs):cs}var rce=nce,ace=ui&&ui.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m0,"__esModule",{value:!0});m0.default=sce;const ice=ace(rce);function sce(e,t){let n=null;if(!e||typeof e!="string")return n;const r=(0,ice.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 xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.camelCase=void 0;var oce=/^--[a-zA-Z0-9_-]+$/,lce=/-([a-z])/g,cce=/^[^-]+$/,uce=/^-(webkit|moz|ms|o|khtml)-/,dce=/^-(ms)-/,fce=function(e){return!e||cce.test(e)||oce.test(e)},hce=function(e,t){return t.toUpperCase()},SE=function(e,t){return"".concat(t,"-")},pce=function(e,t){return t===void 0&&(t={}),fce(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(dce,SE):e=e.replace(uce,SE),e.replace(lce,hce))};xm.camelCase=pce;var mce=ui&&ui.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},gce=mce(m0),vce=xm;function Hb(e,t){var n={};return!e||typeof e!="string"||(0,gce.default)(e,function(r,a){r&&a&&(n[(0,vce.camelCase)(r,t)]=a)}),n}Hb.default=Hb;var yce=Hb;const bce=Je(yce),SM=jM("end"),g0=jM("start");function jM(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 xce(e){const t=g0(e),n=SM(e);if(t&&n)return{start:t,end:n}}function Lc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?jE(e.position):"start"in e||"end"in e?jE(e):"line"in e||"column"in e?Gb(e):""}function Gb(e){return NE(e&&e.line)+":"+NE(e&&e.column)}function jE(e){return Gb(e&&e.start)+"-"+Gb(e&&e.end)}function NE(e){return e&&typeof e=="number"?e:1}class En 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=Lc(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}}En.prototype.file="";En.prototype.name="";En.prototype.reason="";En.prototype.message="";En.prototype.stack="";En.prototype.column=void 0;En.prototype.line=void 0;En.prototype.ancestors=void 0;En.prototype.cause=void 0;En.prototype.fatal=void 0;En.prototype.place=void 0;En.prototype.ruleId=void 0;En.prototype.source=void 0;const v0={}.hasOwnProperty,wce=new Map,kce=/[A-Z]/g,Sce=new Set(["table","tbody","thead","tfoot","tr"]),jce=new Set(["td","th"]),NM="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Nce(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=Rce(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=Pce(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"?p0:Hle,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=EM(a,e,void 0);return s&&typeof s!="string"?s:a.create(e,a.Fragment,{children:s||void 0},void 0)}function EM(e,t,n){if(t.type==="element")return Ece(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return _ce(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Ace(e,t,n);if(t.type==="mdxjsEsm")return Cce(e,t);if(t.type==="root")return Tce(e,t,n);if(t.type==="text")return Oce(e,t)}function Ece(e,t,n){const r=e.schema;let a=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(a=p0,e.schema=a),e.ancestors.push(t);const s=CM(e,t.tagName,!1),o=Mce(e,t);let l=b0(e,t);return Sce.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!Mle(c):!0})),_M(e,o,s,t),y0(o,l),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function _ce(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)}Uu(e,t.position)}function Cce(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Uu(e,t.position)}function Ace(e,t,n){const r=e.schema;let a=r;t.name==="svg"&&r.space==="html"&&(a=p0,e.schema=a),e.ancestors.push(t);const s=t.name===null?e.Fragment:CM(e,t.name,!0),o=Ice(e,t),l=b0(e,t);return _M(e,o,s,t),y0(o,l),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function Tce(e,t,n){const r={};return y0(r,b0(e,t)),e.create(t,e.Fragment,r,n)}function Oce(e,t){return t.value}function _M(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function y0(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Pce(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 Rce(e,t){return n;function n(r,a,s,o){const l=Array.isArray(s.children),c=g0(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 Mce(e,t){const n={};let r,a;for(a in t.properties)if(a!=="children"&&v0.call(t.properties,a)){const s=$ce(e,a,t.properties[a]);if(s){const[o,l]=s;e.tableCellAlignToStyle&&o==="align"&&typeof l=="string"&&jce.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 Ice(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 Uu(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 Uu(e,t.position);else s=r.value===null?!0:r.value;n[a]=s}return n}function b0(e,t){const n=[];let r=-1;const a=e.passKeys?new Map:wce;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=EM(e,s,o);l!==void 0&&n.push(l)}return n}function $ce(e,t,n){const r=Fle(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Ale(n):Gle(n)),r.property==="style"){let a=typeof n=="object"?n:Lce(e,String(n));return e.stylePropertyNameCase==="css"&&(a=Dce(a)),["style",a]}return[e.elementAttributeNameCase==="react"&&r.space?Dle[r.property]||r.property:r.attribute,n]}}function Lce(e,t){try{return bce(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,a=new En("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=NM+"#cannot-parse-style-attribute",a}}function CM(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=mE(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=mE(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const a=r.value;return v0.call(e.components,a)?e.components[a]:a}if(e.evaluater)return e.evaluater.evaluateExpression(r);Uu(e)}function Uu(e,t){const n=new En("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=NM+"#cannot-handle-mdx-estrees-without-createevaluater",n}function Dce(e){const t={};let n;for(n in e)v0.call(e,n)&&(t[Bce(n)]=e[n]);return t}function Bce(e){let t=e.replace(kce,zce);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function zce(e){return"-"+e.toLowerCase()}const qg={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"]},Fce={};function x0(e,t){const n=Fce,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,a=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return AM(e,r,a)}function AM(e,t,n){if(Uce(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 EE(e.children,t,n)}return Array.isArray(e)?EE(e,t,n):""}function EE(e,t,n){const r=[];let a=-1;for(;++a<e.length;)r[a]=AM(e[a],t,n);return r.join("")}function Uce(e){return!!(e&&typeof e=="object")}const _E=document.createElement("i");function w0(e){const t="&"+e+";";_E.innerHTML=t;const n=_E.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function ir(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 xr(e,t){return e.length>0?(ir(e,e.length,0,t),e):t}const CE={}.hasOwnProperty;function TM(e){const t={};let n=-1;for(;++n<e.length;)Wce(t,e[n]);return t}function Wce(e,t){let n;for(n in t){const a=(CE.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let o;if(s)for(o in s){CE.call(a,o)||(a[o]=[]);const l=s[o];Hce(a[o],Array.isArray(l)?l:l?[l]:[])}}}function Hce(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);ir(e,0,0,r)}function OM(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 Hr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const On=Ui(/[A-Za-z]/),jn=Ui(/[\dA-Za-z]/),Gce=Ui(/[#-'*+\--9=?A-Z^-~]/);function ap(e){return e!==null&&(e<32||e===127)}const qb=Ui(/\d/),qce=Ui(/[\dA-Fa-f]/),Kce=Ui(/[!-/:-@[-`{-~]/);function Ce(e){return e!==null&&e<-2}function ft(e){return e!==null&&(e<0||e===32)}function Ue(e){return e===-2||e===-1||e===32}const wm=Ui(new RegExp("\\p{P}|\\p{S}","u")),$s=Ui(/\s/);function Ui(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Ml(e){const t=[];let n=-1,r=0,a=0;for(;++n<e.length;){const s=e.charCodeAt(n);let o="";if(s===37&&jn(e.charCodeAt(n+1))&&jn(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 He(e,t,n,r){const a=r?r-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(c){return Ue(c)?(e.enter(n),l(c)):t(c)}function l(c){return Ue(c)&&s++<a?(e.consume(c),l):(e.exit(n),t(c))}}const Vce={tokenize:Yce};function Yce(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"),He(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 Xce={tokenize:Qce},AE={tokenize:Zce};function Qce(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,b;for(;k--;)if(t.events[k][0]==="exit"&&t.events[k][1].type==="chunkFlow"){b=t.events[k][1].end;break}v(r);let j=N;for(;j<t.events.length;)t.events[j][1].end={...b},j++;return ir(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(AE,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(AE,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 b=a.events.length;for(;b--;)if(a.events[b][1].start.offset<o&&(!a.events[b][1].end||a.events[b][1].end.offset>o))return;const j=t.events.length;let E=j,P,_;for(;E--;)if(t.events[E][0]==="exit"&&t.events[E][1].type==="chunkFlow"){if(P){_=t.events[E][1].end;break}P=!0}for(v(r),b=j;b<t.events.length;)t.events[b][1].end={..._},b++;ir(t.events,E+1,0,t.events.slice(j)),t.events.length=b}}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 Zce(e,t,n){return He(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function pl(e){if(e===null||ft(e)||$s(e))return 1;if(wm(e))return 2}function km(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 Kb={name:"attention",resolveAll:Jce,tokenize:eue};function Jce(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};TE(f,-c),TE(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=xr(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=xr(u,[["enter",a,t],["enter",o,t],["exit",o,t],["enter",s,t]]),u=xr(u,km(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=xr(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=xr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,ir(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 eue(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,a=pl(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=pl(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 TE(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const tue={name:"autolink",tokenize:nue};function nue(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 On(p)?(e.consume(p),o):p===64?n(p):u(p)}function o(p){return p===43||p===45||p===46||jn(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||jn(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||ap(p)?n(p):(e.consume(p),c)}function u(p){return p===64?(e.consume(p),d):Gce(p)?(e.consume(p),u):n(p)}function d(p){return jn(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||jn(p))&&r++<63){const m=p===45?h:f;return e.consume(p),m}return n(p)}}const sd={partial:!0,tokenize:rue};function rue(e,t,n){return r;function r(s){return Ue(s)?He(e,a,"linePrefix")(s):a(s)}function a(s){return s===null||Ce(s)?t(s):n(s)}}const PM={continuation:{tokenize:iue},exit:sue,name:"blockQuote",tokenize:aue};function aue(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 Ue(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function iue(e,t,n){const r=this;return a;function a(o){return Ue(o)?He(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):s(o)}function s(o){return e.attempt(PM,t,n)(o)}}function sue(e){e.exit("blockQuote")}const RM={name:"characterEscape",tokenize:oue};function oue(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 Kce(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const MM={name:"characterReference",tokenize:lue};function lue(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=jn,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=qce,d):(e.enter("characterReferenceValue"),s=7,o=qb,d(f))}function d(f){if(f===59&&a){const h=e.exit("characterReferenceValue");return o===jn&&!w0(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 OE={partial:!0,tokenize:uue},PE={concrete:!0,name:"codeFenced",tokenize:cue};function cue(e,t,n){const r=this,a={partial:!0,tokenize:k};let s=0,o=0,l;return c;function c(b){return u(b)}function u(b){const j=r.events[r.events.length-1];return s=j&&j[1].type==="linePrefix"?j[2].sliceSerialize(j[1],!0).length:0,l=b,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),d(b)}function d(b){return b===l?(o++,e.consume(b),d):o<3?n(b):(e.exit("codeFencedFenceSequence"),Ue(b)?He(e,f,"whitespace")(b):f(b))}function f(b){return b===null||Ce(b)?(e.exit("codeFencedFence"),r.interrupt?t(b):e.check(OE,g,N)(b)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(b))}function h(b){return b===null||Ce(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),f(b)):Ue(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),He(e,p,"whitespace")(b)):b===96&&b===l?n(b):(e.consume(b),h)}function p(b){return b===null||Ce(b)?f(b):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(b))}function m(b){return b===null||Ce(b)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),f(b)):b===96&&b===l?n(b):(e.consume(b),m)}function g(b){return e.attempt(a,N,y)(b)}function y(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),v}function v(b){return s>0&&Ue(b)?He(e,S,"linePrefix",s+1)(b):S(b)}function S(b){return b===null||Ce(b)?e.check(OE,g,N)(b):(e.enter("codeFlowValue"),w(b))}function w(b){return b===null||Ce(b)?(e.exit("codeFlowValue"),S(b)):(e.consume(b),w)}function N(b){return e.exit("codeFenced"),t(b)}function k(b,j,E){let P=0;return _;function _(M){return b.enter("lineEnding"),b.consume(M),b.exit("lineEnding"),A}function A(M){return b.enter("codeFencedFence"),Ue(M)?He(b,O,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):O(M)}function O(M){return M===l?(b.enter("codeFencedFenceSequence"),B(M)):E(M)}function B(M){return M===l?(P++,b.consume(M),B):P>=o?(b.exit("codeFencedFenceSequence"),Ue(M)?He(b,$,"whitespace")(M):$(M)):E(M)}function $(M){return M===null||Ce(M)?(b.exit("codeFencedFence"),j(M)):E(M)}}}function uue(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 Kg={name:"codeIndented",tokenize:fue},due={partial:!0,tokenize:hue};function fue(e,t,n){const r=this;return a;function a(u){return e.enter("codeIndented"),He(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(due,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 hue(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):He(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 pue={name:"codeText",previous:gue,resolve:mue,tokenize:vue};function mue(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 gue(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function vue(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 yue{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&&hc(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),hc(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),hc(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);hc(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);hc(this.left,n.reverse())}}}function hc(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 IM(e){const t={};let n=-1,r,a,s,o,l,c,u;const d=new yue(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,bue(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 ir(e,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function bue(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 xue={resolve:kue,tokenize:Sue},wue={partial:!0,tokenize:jue};function kue(e){return IM(e),e}function Sue(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(wue,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 jue(e,t,n){const r=this;return a;function a(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),He(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 $M(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||ap(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||ft(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||ap(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 LM(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=!Ue(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),l++,f):f(p)}}function DM(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"),He(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 Dc(e,t){let n;return r;function r(a){return Ce(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r):Ue(a)?He(e,r,n?"linePrefix":"lineSuffix")(a):t(a)}}const Nue={name:"definition",tokenize:_ue},Eue={partial:!0,tokenize:Cue};function _ue(e,t,n){const r=this;let a;return s;function s(p){return e.enter("definition"),o(p)}function o(p){return LM.call(r,e,l,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function l(p){return a=Hr(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 ft(p)?Dc(e,u)(p):u(p)}function u(p){return $M(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(Eue,f,f)(p)}function f(p){return Ue(p)?He(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 Cue(e,t,n){return r;function r(l){return ft(l)?Dc(e,a)(l):n(l)}function a(l){return DM(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function s(l){return Ue(l)?He(e,o,"whitespace")(l):o(l)}function o(l){return l===null||Ce(l)?t(l):n(l)}}const Aue={name:"hardBreakEscape",tokenize:Tue};function Tue(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 Oue={name:"headingAtx",resolve:Pue,tokenize:Rue};function Pue(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"},ir(e,r,n-r+1,[["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t]])),e}function Rue(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||ft(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)):Ue(d)?He(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||ft(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const Mue=["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"],RE=["pre","script","style","textarea"],Iue={concrete:!0,name:"htmlFlow",resolveTo:Due,tokenize:Bue},$ue={partial:!0,tokenize:Fue},Lue={partial:!0,tokenize:zue};function Due(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 Bue(e,t,n){const r=this;let a,s,o,l,c;return u;function u(I){return d(I)}function d(I){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(I),f}function f(I){return I===33?(e.consume(I),h):I===47?(e.consume(I),s=!0,g):I===63?(e.consume(I),a=3,r.interrupt?t:T):On(I)?(e.consume(I),o=String.fromCharCode(I),y):n(I)}function h(I){return I===45?(e.consume(I),a=2,p):I===91?(e.consume(I),a=5,l=0,m):On(I)?(e.consume(I),a=4,r.interrupt?t:T):n(I)}function p(I){return I===45?(e.consume(I),r.interrupt?t:T):n(I)}function m(I){const se="CDATA[";return I===se.charCodeAt(l++)?(e.consume(I),l===se.length?r.interrupt?t:O:m):n(I)}function g(I){return On(I)?(e.consume(I),o=String.fromCharCode(I),y):n(I)}function y(I){if(I===null||I===47||I===62||ft(I)){const se=I===47,he=o.toLowerCase();return!se&&!s&&RE.includes(he)?(a=1,r.interrupt?t(I):O(I)):Mue.includes(o.toLowerCase())?(a=6,se?(e.consume(I),v):r.interrupt?t(I):O(I)):(a=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(I):s?S(I):w(I))}return I===45||jn(I)?(e.consume(I),o+=String.fromCharCode(I),y):n(I)}function v(I){return I===62?(e.consume(I),r.interrupt?t:O):n(I)}function S(I){return Ue(I)?(e.consume(I),S):_(I)}function w(I){return I===47?(e.consume(I),_):I===58||I===95||On(I)?(e.consume(I),N):Ue(I)?(e.consume(I),w):_(I)}function N(I){return I===45||I===46||I===58||I===95||jn(I)?(e.consume(I),N):k(I)}function k(I){return I===61?(e.consume(I),b):Ue(I)?(e.consume(I),k):w(I)}function b(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),c=I,j):Ue(I)?(e.consume(I),b):E(I)}function j(I){return I===c?(e.consume(I),c=null,P):I===null||Ce(I)?n(I):(e.consume(I),j)}function E(I){return I===null||I===34||I===39||I===47||I===60||I===61||I===62||I===96||ft(I)?k(I):(e.consume(I),E)}function P(I){return I===47||I===62||Ue(I)?w(I):n(I)}function _(I){return I===62?(e.consume(I),A):n(I)}function A(I){return I===null||Ce(I)?O(I):Ue(I)?(e.consume(I),A):n(I)}function O(I){return I===45&&a===2?(e.consume(I),D):I===60&&a===1?(e.consume(I),U):I===62&&a===4?(e.consume(I),Z):I===63&&a===3?(e.consume(I),T):I===93&&a===5?(e.consume(I),z):Ce(I)&&(a===6||a===7)?(e.exit("htmlFlowData"),e.check($ue,F,B)(I)):I===null||Ce(I)?(e.exit("htmlFlowData"),B(I)):(e.consume(I),O)}function B(I){return e.check(Lue,$,F)(I)}function $(I){return e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),M}function M(I){return I===null||Ce(I)?B(I):(e.enter("htmlFlowData"),O(I))}function D(I){return I===45?(e.consume(I),T):O(I)}function U(I){return I===47?(e.consume(I),o="",R):O(I)}function R(I){if(I===62){const se=o.toLowerCase();return RE.includes(se)?(e.consume(I),Z):O(I)}return On(I)&&o.length<8?(e.consume(I),o+=String.fromCharCode(I),R):O(I)}function z(I){return I===93?(e.consume(I),T):O(I)}function T(I){return I===62?(e.consume(I),Z):I===45&&a===2?(e.consume(I),T):O(I)}function Z(I){return I===null||Ce(I)?(e.exit("htmlFlowData"),F(I)):(e.consume(I),Z)}function F(I){return e.exit("htmlFlow"),t(I)}}function zue(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 Fue(e,t,n){return r;function r(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),e.attempt(sd,t,n)}}const Uue={name:"htmlText",tokenize:Wue};function Wue(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):On(T)?(e.consume(T),E):n(T)}function u(T){return T===45?(e.consume(T),d):T===91?(e.consume(T),s=0,m):On(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,U(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,U(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,U(T)):(e.consume(T),S)}function w(T){return T===null?n(T):T===63?(e.consume(T),N):Ce(T)?(o=w,U(T)):(e.consume(T),w)}function N(T){return T===62?D(T):w(T)}function k(T){return On(T)?(e.consume(T),b):n(T)}function b(T){return T===45||jn(T)?(e.consume(T),b):j(T)}function j(T){return Ce(T)?(o=j,U(T)):Ue(T)?(e.consume(T),j):D(T)}function E(T){return T===45||jn(T)?(e.consume(T),E):T===47||T===62||ft(T)?P(T):n(T)}function P(T){return T===47?(e.consume(T),D):T===58||T===95||On(T)?(e.consume(T),_):Ce(T)?(o=P,U(T)):Ue(T)?(e.consume(T),P):D(T)}function _(T){return T===45||T===46||T===58||T===95||jn(T)?(e.consume(T),_):A(T)}function A(T){return T===61?(e.consume(T),O):Ce(T)?(o=A,U(T)):Ue(T)?(e.consume(T),A):P(T)}function O(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=O,U(T)):Ue(T)?(e.consume(T),O):(e.consume(T),$)}function B(T){return T===a?(e.consume(T),a=void 0,M):T===null?n(T):Ce(T)?(o=B,U(T)):(e.consume(T),B)}function $(T){return T===null||T===34||T===39||T===60||T===61||T===96?n(T):T===47||T===62||ft(T)?P(T):(e.consume(T),$)}function M(T){return T===47||T===62||ft(T)?P(T):n(T)}function D(T){return T===62?(e.consume(T),e.exit("htmlTextData"),e.exit("htmlText"),t):n(T)}function U(T){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),R}function R(T){return Ue(T)?He(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 k0={name:"labelEnd",resolveAll:Kue,resolveTo:Vue,tokenize:Yue},Hue={tokenize:Xue},Gue={tokenize:Que},que={tokenize:Zue};function Kue(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&&ir(e,0,e.length,n),e}function Vue(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=xr(l,e.slice(s+1,s+r+3)),l=xr(l,[["enter",d,t]]),l=xr(l,km(t.parser.constructs.insideSpan.null,e.slice(s+r+4,o-3),t)),l=xr(l,[["exit",d,t],e[o-2],e[o-1],["exit",u,t]]),l=xr(l,e.slice(o+1)),l=xr(l,[["exit",c,t]]),ir(e,s,e.length,l),e}function Yue(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(Hr(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(Hue,d,o?d:f)(h):h===91?e.attempt(Gue,d,o?u:f)(h):o?d(h):f(h)}function u(h){return e.attempt(que,d,f)(h)}function d(h){return t(h)}function f(h){return s._balanced=!0,n(h)}}function Xue(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 ft(f)?Dc(e,s)(f):s(f)}function s(f){return f===41?d(f):$M(e,o,l,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function o(f){return ft(f)?Dc(e,c)(f):d(f)}function l(f){return n(f)}function c(f){return f===34||f===39||f===40?DM(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):d(f)}function u(f){return ft(f)?Dc(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 Que(e,t,n){const r=this;return a;function a(l){return LM.call(r,e,s,o,"reference","referenceMarker","referenceString")(l)}function s(l){return r.parser.defined.includes(Hr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(l):n(l)}function o(l){return n(l)}}function Zue(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 Jue={name:"labelStartImage",resolveAll:k0.resolveAll,tokenize:ede};function ede(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 tde={name:"labelStartLink",resolveAll:k0.resolveAll,tokenize:nde};function nde(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 Vg={name:"lineEnding",tokenize:rde};function rde(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),He(e,t,"linePrefix")}}const _f={name:"thematicBreak",tokenize:ade};function ade(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"),Ue(u)?He(e,l,"whitespace")(u):l(u))}}const Bn={continuation:{tokenize:lde},exit:ude,name:"list",tokenize:ode},ide={partial:!0,tokenize:dde},sde={partial:!0,tokenize:cde};function ode(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:qb(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(_f,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 qb(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(sd,r.interrupt?n:d,e.attempt(ide,h,f))}function d(p){return r.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return Ue(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 lde(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(sd,a,s);function a(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,He(e,t,"listItemIndent",r.containerState.size+1)(l)}function s(l){return r.containerState.furtherBlankLines||!Ue(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(sde,t,o)(l))}function o(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,He(e,e.attempt(Bn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function cde(e,t,n){const r=this;return He(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 ude(e){e.exit(this.containerState.type)}function dde(e,t,n){const r=this;return He(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!Ue(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const ME={name:"setextUnderline",resolveTo:fde,tokenize:hde};function fde(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 hde(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"),Ue(u)?He(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||Ce(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const pde={tokenize:mde};function mde(e){const t=this,n=e.attempt(sd,r,e.attempt(this.parser.constructs.flowInitial,a,He(e,e.attempt(this.parser.constructs.flow,a,e.attempt(xue,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 gde={resolveAll:zM()},vde=BM("string"),yde=BM("text");function BM(e){return{resolveAll:zM(e==="text"?bde: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 zM(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 bde(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 xde={42:Bn,43:Bn,45:Bn,48:Bn,49:Bn,50:Bn,51:Bn,52:Bn,53:Bn,54:Bn,55:Bn,56:Bn,57:Bn,62:PM},wde={91:Nue},kde={[-2]:Kg,[-1]:Kg,32:Kg},Sde={35:Oue,42:_f,45:[ME,_f],60:Iue,61:ME,95:_f,96:PE,126:PE},jde={38:MM,92:RM},Nde={[-5]:Vg,[-4]:Vg,[-3]:Vg,33:Jue,38:MM,42:Kb,60:[tue,Uue],91:tde,92:[Aue,RM],93:k0,95:Kb,96:pue},Ede={null:[Kb,gde]},_de={null:[42,95]},Cde={null:[]},Ade=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:_de,contentInitial:wde,disable:Cde,document:xde,flow:Sde,flowInitial:kde,insideSpan:Ede,string:jde,text:Nde},Symbol.toStringTag,{value:"Module"}));function Tde(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(b),consume:S,enter:w,exit:N,interrupt:j(b,{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(A){return o=xr(o,A),y(),o[o.length-1]!==null?[]:(E(t,0),u.events=km(s,u.events,u),u.events)}function h(A,O){return Pde(p(A),O)}function p(A){return Ode(o,A)}function m(){const{_bufferIndex:A,_index:O,line:B,column:$,offset:M}=r;return{_bufferIndex:A,_index:O,line:B,column:$,offset:M}}function g(A){a[A.line]=A.column,_()}function y(){let A;for(;r._index<o.length;){const O=o[r._index];if(typeof O=="string")for(A=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===A&&r._bufferIndex<O.length;)v(O.charCodeAt(r._bufferIndex));else v(O)}}function v(A){d=d(A)}function S(A){Ce(A)?(r.line++,r.column=1,r.offset+=A===-3?2:1,_()):A!==-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=A}function w(A,O){const B=O||{};return B.type=A,B.start=m(),u.events.push(["enter",B,u]),l.push(B),B}function N(A){const O=l.pop();return O.end=m(),u.events.push(["exit",O,u]),O}function k(A,O){E(A,O.from)}function b(A,O){O.restore()}function j(A,O){return B;function B($,M,D){let U,R,z,T;return Array.isArray($)?F($):"tokenize"in $?F([$]):Z($);function Z(ge){return Te;function Te(X){const Y=X!==null&&ge[X],ie=X!==null&&ge.null,de=[...Array.isArray(Y)?Y:Y?[Y]:[],...Array.isArray(ie)?ie:ie?[ie]:[]];return F(de)(X)}}function F(ge){return U=ge,R=0,ge.length===0?D:I(ge[R])}function I(ge){return Te;function Te(X){return T=P(),z=ge,ge.partial||(u.currentConstruct=ge),ge.name&&u.parser.constructs.disable.null.includes(ge.name)?he():ge.tokenize.call(O?Object.assign(Object.create(u),O):u,c,se,he)(X)}}function se(ge){return A(z,T),M}function he(ge){return T.restore(),++R<U.length?I(U[R]):D}}}function E(A,O){A.resolveAll&&!s.includes(A)&&s.push(A),A.resolve&&ir(u.events,O,u.events.length-O,A.resolve(u.events.slice(O),u)),A.resolveTo&&(u.events=A.resolveTo(u.events,u))}function P(){const A=m(),O=u.previous,B=u.currentConstruct,$=u.events.length,M=Array.from(l);return{from:$,restore:D};function D(){r=A,u.previous=O,u.currentConstruct=B,u.events.length=$,l=M,_()}}function _(){r.line in a&&r.column<2&&(r.column=a[r.line],r.offset+=a[r.line]-1)}}function Ode(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 Pde(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 Rde(e){const r={constructs:TM([Ade,...(e||{}).extensions||[]]),content:a(Vce),defined:[],document:a(Xce),flow:a(pde),lazy:{},string:a(vde),text:a(yde)};return r;function a(s){return o;function o(l){return Tde(r,s,l)}}}function Mde(e){for(;!IM(e););return e}const IE=/[\0\t\n\r]/g;function Ide(){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(IE.lastIndex=f,u=IE.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 $de=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Lde(e){return e.replace($de,Dde)}function Dde(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const a=n.charCodeAt(1),s=a===120||a===88;return OM(n.slice(s?2:1),s?16:10)}return w0(n)||e}const FM={}.hasOwnProperty;function Bde(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),zde(n)(Mde(Rde(n).document().write(Ide()(e,t,!0))))}function zde(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(et),autolinkProtocol:P,autolinkEmail:P,atxHeading:s(_e),blockQuote:s(ie),characterEscape:P,characterReference:P,codeFenced:s(de),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:s(de,o),codeText:s(W,o),codeTextData:P,data:P,codeFlowValue:P,definition:s(xe),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:s(we),hardBreakEscape:s(ve),hardBreakTrailing:s(ve),htmlFlow:s(Le,o),htmlFlowData:P,htmlText:s(Le,o),htmlTextData:P,image:s(pe),label:o,link:s(et),listItem:s(Me),listItemValue:h,listOrdered:s(Be,f),listUnordered:s(Be),paragraph:s(at),reference:I,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:s(_e),strong:s(Ge),thematicBreak:s(fn)},exit:{atxHeading:c(),atxHeadingSequence:k,autolink:c(),autolinkEmail:Y,autolinkProtocol:X,blockQuote:c(),characterEscapeValue:_,characterReferenceMarkerHexadecimal:he,characterReferenceMarkerNumeric:he,characterReferenceValue:ge,characterReference:Te,codeFenced:c(y),codeFencedFence:g,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:_,codeIndented:c(v),codeText:c(M),codeTextData:_,data:_,definition:c(),definitionDestinationString:N,definitionLabelString:S,definitionTitleString:w,emphasis:c(),hardBreakEscape:c(O),hardBreakTrailing:c(O),htmlFlow:c(B),htmlFlowData:_,htmlText:c($),htmlTextData:_,image:c(U),label:z,labelText:R,lineEnding:A,link:c(D),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:se,resourceDestinationString:T,resourceTitleString:Z,resource:F,setextHeading:c(E),setextHeadingLineSequence:j,setextHeadingText:b,strong:c(),thematicBreak:c()}};UM(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(G){let Q={type:"root",children:[]};const ce={stack:[Q],tokenStack:[],config:t,enter:l,exit:u,buffer:o,resume:d,data:n},me=[];let Ne=-1;for(;++Ne<G.length;)if(G[Ne][1].type==="listOrdered"||G[Ne][1].type==="listUnordered")if(G[Ne][0]==="enter")me.push(Ne);else{const Oe=me.pop();Ne=a(G,Oe,Ne)}for(Ne=-1;++Ne<G.length;){const Oe=t[G[Ne][0]];FM.call(Oe,G[Ne][1].type)&&Oe[G[Ne][1].type].call(Object.assign({sliceSerialize:G[Ne][2].sliceSerialize},ce),G[Ne][1])}if(ce.tokenStack.length>0){const Oe=ce.tokenStack[ce.tokenStack.length-1];(Oe[1]||$E).call(ce,void 0,Oe[0])}for(Q.position={start:ni(G.length>0?G[0][1].start:{line:1,column:1,offset:0}),end:ni(G.length>0?G[G.length-2][1].end:{line:1,column:1,offset:0})},Ne=-1;++Ne<t.transforms.length;)Q=t.transforms[Ne](Q)||Q;return Q}function a(G,Q,ce){let me=Q-1,Ne=-1,Oe=!1,It,De,rn,Vn;for(;++me<=ce;){const it=G[me];switch(it[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{it[0]==="enter"?Ne++:Ne--,Vn=void 0;break}case"lineEndingBlank":{it[0]==="enter"&&(It&&!Vn&&!Ne&&!rn&&(rn=me),Vn=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Vn=void 0}if(!Ne&&it[0]==="enter"&&it[1].type==="listItemPrefix"||Ne===-1&&it[0]==="exit"&&(it[1].type==="listUnordered"||it[1].type==="listOrdered")){if(It){let Dt=me;for(De=void 0;Dt--;){const hn=G[Dt];if(hn[1].type==="lineEnding"||hn[1].type==="lineEndingBlank"){if(hn[0]==="exit")continue;De&&(G[De][1].type="lineEndingBlank",Oe=!0),hn[1].type="lineEnding",De=Dt}else if(!(hn[1].type==="linePrefix"||hn[1].type==="blockQuotePrefix"||hn[1].type==="blockQuotePrefixWhitespace"||hn[1].type==="blockQuoteMarker"||hn[1].type==="listItemIndent"))break}rn&&(!De||rn<De)&&(It._spread=!0),It.end=Object.assign({},De?G[De][1].start:it[1].end),G.splice(De||me,0,["exit",It,it[2]]),me++,ce++}if(it[1].type==="listItemPrefix"){const Dt={type:"listItem",_spread:!1,start:Object.assign({},it[1].start),end:void 0};It=Dt,G.splice(me,0,["enter",Dt,it[2]]),me++,ce++,rn=void 0,Vn=!0}}}return G[Q][1]._spread=Oe,ce}function s(G,Q){return ce;function ce(me){l.call(this,G(me),me),Q&&Q.call(this,me)}}function o(){this.stack.push({type:"fragment",children:[]})}function l(G,Q,ce){this.stack[this.stack.length-1].children.push(G),this.stack.push(G),this.tokenStack.push([Q,ce||void 0]),G.position={start:ni(Q.start),end:void 0}}function c(G){return Q;function Q(ce){G&&G.call(this,ce),u.call(this,ce)}}function u(G,Q){const ce=this.stack.pop(),me=this.tokenStack.pop();if(me)me[0].type!==G.type&&(Q?Q.call(this,G,me[0]):(me[1]||$E).call(this,G,me[0]));else throw new Error("Cannot close `"+G.type+"` ("+Lc({start:G.start,end:G.end})+"): it’s not open");ce.position.end=ni(G.end)}function d(){return x0(this.stack.pop())}function f(){this.data.expectingFirstListItemValue=!0}function h(G){if(this.data.expectingFirstListItemValue){const Q=this.stack[this.stack.length-2];Q.start=Number.parseInt(this.sliceSerialize(G),10),this.data.expectingFirstListItemValue=void 0}}function p(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.lang=G}function m(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.meta=G}function g(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function y(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.value=G.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function v(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.value=G.replace(/(\r?\n|\r)$/g,"")}function S(G){const Q=this.resume(),ce=this.stack[this.stack.length-1];ce.label=Q,ce.identifier=Hr(this.sliceSerialize(G)).toLowerCase()}function w(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.title=G}function N(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.url=G}function k(G){const Q=this.stack[this.stack.length-1];if(!Q.depth){const ce=this.sliceSerialize(G).length;Q.depth=ce}}function b(){this.data.setextHeadingSlurpLineEnding=!0}function j(G){const Q=this.stack[this.stack.length-1];Q.depth=this.sliceSerialize(G).codePointAt(0)===61?1:2}function E(){this.data.setextHeadingSlurpLineEnding=void 0}function P(G){const ce=this.stack[this.stack.length-1].children;let me=ce[ce.length-1];(!me||me.type!=="text")&&(me=wt(),me.position={start:ni(G.start),end:void 0},ce.push(me)),this.stack.push(me)}function _(G){const Q=this.stack.pop();Q.value+=this.sliceSerialize(G),Q.position.end=ni(G.end)}function A(G){const Q=this.stack[this.stack.length-1];if(this.data.atHardBreak){const ce=Q.children[Q.children.length-1];ce.position.end=ni(G.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(Q.type)&&(P.call(this,G),_.call(this,G))}function O(){this.data.atHardBreak=!0}function B(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.value=G}function $(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.value=G}function M(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.value=G}function D(){const G=this.stack[this.stack.length-1];if(this.data.inReference){const Q=this.data.referenceType||"shortcut";G.type+="Reference",G.referenceType=Q,delete G.url,delete G.title}else delete G.identifier,delete G.label;this.data.referenceType=void 0}function U(){const G=this.stack[this.stack.length-1];if(this.data.inReference){const Q=this.data.referenceType||"shortcut";G.type+="Reference",G.referenceType=Q,delete G.url,delete G.title}else delete G.identifier,delete G.label;this.data.referenceType=void 0}function R(G){const Q=this.sliceSerialize(G),ce=this.stack[this.stack.length-2];ce.label=Lde(Q),ce.identifier=Hr(Q).toLowerCase()}function z(){const G=this.stack[this.stack.length-1],Q=this.resume(),ce=this.stack[this.stack.length-1];if(this.data.inReference=!0,ce.type==="link"){const me=G.children;ce.children=me}else ce.alt=Q}function T(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.url=G}function Z(){const G=this.resume(),Q=this.stack[this.stack.length-1];Q.title=G}function F(){this.data.inReference=void 0}function I(){this.data.referenceType="collapsed"}function se(G){const Q=this.resume(),ce=this.stack[this.stack.length-1];ce.label=Q,ce.identifier=Hr(this.sliceSerialize(G)).toLowerCase(),this.data.referenceType="full"}function he(G){this.data.characterReferenceType=G.type}function ge(G){const Q=this.sliceSerialize(G),ce=this.data.characterReferenceType;let me;ce?(me=OM(Q,ce==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):me=w0(Q);const Ne=this.stack[this.stack.length-1];Ne.value+=me}function Te(G){const Q=this.stack.pop();Q.position.end=ni(G.end)}function X(G){_.call(this,G);const Q=this.stack[this.stack.length-1];Q.url=this.sliceSerialize(G)}function Y(G){_.call(this,G);const Q=this.stack[this.stack.length-1];Q.url="mailto:"+this.sliceSerialize(G)}function ie(){return{type:"blockquote",children:[]}}function de(){return{type:"code",lang:null,meta:null,value:""}}function W(){return{type:"inlineCode",value:""}}function xe(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function we(){return{type:"emphasis",children:[]}}function _e(){return{type:"heading",depth:0,children:[]}}function ve(){return{type:"break"}}function Le(){return{type:"html",value:""}}function pe(){return{type:"image",title:null,url:"",alt:null}}function et(){return{type:"link",title:null,url:"",children:[]}}function Be(G){return{type:"list",ordered:G.type==="listOrdered",start:null,spread:G._spread,children:[]}}function Me(G){return{type:"listItem",spread:G._spread,checked:null,children:[]}}function at(){return{type:"paragraph",children:[]}}function Ge(){return{type:"strong",children:[]}}function wt(){return{type:"text",value:""}}function fn(){return{type:"thematicBreak"}}}function ni(e){return{line:e.line,column:e.column,offset:e.offset}}function UM(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?UM(e,r):Fde(e,r)}}function Fde(e,t){let n;for(n in t)if(FM.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 $E(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Lc({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Lc({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Lc({start:t.start,end:t.end})+") is still open")}function Ude(e){const t=this;t.parser=n;function n(r){return Bde(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function Wde(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 Hde(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
168
- `}]}function Gde(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 qde(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Kde(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Vde(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),a=Ml(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 Yde(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 Xde(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function WM(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 Qde(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return WM(e,t);const a={src:Ml(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 Zde(e,t){const n={src:Ml(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 Jde(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 efe(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return WM(e,t);const a={href:Ml(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 tfe(e,t){const n={href:Ml(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 nfe(e,t,n){const r=e.all(t),a=n?rfe(n):HM(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 rfe(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=HM(n[r])}return t}function HM(e){const t=e.spread;return t??e.children.length>1}function afe(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 ife(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function sfe(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function ofe(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function lfe(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=g0(t.children[1]),c=SM(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 cfe(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 ufe(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const LE=9,DE=32;function dfe(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),a=0;const s=[];for(;r;)s.push(BE(t.slice(a,r.index),a>0,!0),r[0]),a=r.index+r[0].length,r=n.exec(t);return s.push(BE(t.slice(a),a>0,!1)),s.join("")}function BE(e,t,n){let r=0,a=e.length;if(t){let s=e.codePointAt(r);for(;s===LE||s===DE;)r++,s=e.codePointAt(r)}if(n){let s=e.codePointAt(a-1);for(;s===LE||s===DE;)a--,s=e.codePointAt(a-1)}return a>r?e.slice(r,a):""}function ffe(e,t){const n={type:"text",value:dfe(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function hfe(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const pfe={blockquote:Wde,break:Hde,code:Gde,delete:qde,emphasis:Kde,footnoteReference:Vde,heading:Yde,html:Xde,imageReference:Qde,image:Zde,inlineCode:Jde,linkReference:efe,link:tfe,listItem:nfe,list:afe,paragraph:ife,root:sfe,strong:ofe,table:lfe,tableCell:ufe,tableRow:cfe,text:ffe,thematicBreak:hfe,toml:rf,yaml:rf,definition:rf,footnoteDefinition:rf};function rf(){}const GM=-1,Sm=0,Bc=1,ip=2,S0=3,j0=4,N0=5,E0=6,qM=7,KM=8,VM=typeof self=="object"?self:globalThis,zE=(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 VM[e](t)},mfe=(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 Sm:case GM:return n(o,a);case Bc:{const l=n([],a);for(const c of o)l.push(r(c));return l}case ip:{const l=n({},a);for(const[c,u]of o)l[r(c)]=r(u);return l}case S0:return n(new Date(o),a);case j0:{const{source:l,flags:c}=o;return n(new RegExp(l,c),a)}case N0:{const l=n(new Map,a);for(const[c,u]of o)l.set(r(c),r(u));return l}case E0:{const l=n(new Set,a);for(const c of o)l.add(r(c));return l}case qM:{const{name:l,message:c}=o;return n(typeof VM[l]=="function"?zE(l,c):new Error(c),a)}case KM: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(zE(s,o),a)};return r},FE=e=>mfe(new Map,e)(0),ss="",{toString:gfe}={},{keys:vfe}=Object,pc=e=>{const t=typeof e;if(t!=="object"||!e)return[Sm,t];const n=gfe.call(e).slice(8,-1);switch(n){case"Array":return[Bc,ss];case"Object":return[ip,ss];case"Date":return[S0,ss];case"RegExp":return[j0,ss];case"Map":return[N0,ss];case"Set":return[E0,ss];case"DataView":return[Bc,n]}return n.includes("Array")?[Bc,n]:e instanceof Error?[qM,e.name||"Error"]:[ip,n]},af=([e,t])=>e===Sm&&(t==="function"||t==="symbol"),yfe=(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]=pc(o);switch(l){case Sm:{let d=o;switch(c){case"bigint":l=KM,d=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return a([GM],o)}return a([l,d],o)}case Bc:{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 ip:{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 vfe(o))(e||!af(pc(o[h])))&&d.push([s(h),s(o[h])]);return f}case S0:return a([l,isNaN(o.getTime())?ss:o.toISOString()],o);case j0:{const{source:d,flags:f}=o;return a([l,{source:d,flags:f}],o)}case N0:{const d=[],f=a([l,d],o);for(const[h,p]of o)(e||!(af(pc(h))||af(pc(p))))&&d.push([s(h),s(p)]);return f}case E0:{const d=[],f=a([l,d],o);for(const h of o)(e||!af(pc(h)))&&d.push(s(h));return f}}const{message:u}=o;return a([l,{name:c,message:u}],o)};return s},UE=(e,{json:t,lossy:n}={})=>{const r=[];return yfe(!(t||n),!!t,new Map,r)(e),r},sp=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?FE(UE(e,t)):structuredClone(e):(e,t)=>FE(UE(e,t));function bfe(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 xfe(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function wfe(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||bfe,r=e.options.footnoteBackLabel||xfe,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=Ml(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:{...sp(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 od=function(e){if(e==null)return Nfe;if(typeof e=="function")return jm(e);if(typeof e=="object")return Array.isArray(e)?kfe(e):Sfe(e);if(typeof e=="string")return jfe(e);throw new Error("Expected function, string, or object as test")};function kfe(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=od(e[n]);return jm(r);function r(...a){let s=-1;for(;++s<t.length;)if(t[s].apply(this,a))return!0;return!1}}function Sfe(e){const t=e;return jm(n);function n(r){const a=r;let s;for(s in e)if(a[s]!==t[s])return!1;return!0}}function jfe(e){return jm(t);function t(n){return n&&n.type===e}}function jm(e){return t;function t(n,r,a){return!!(Efe(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function Nfe(){return!0}function Efe(e){return e!==null&&typeof e=="object"&&"type"in e}const YM=[],_fe=!0,Vb=!1,Cfe="skip";function XM(e,t,n,r){let a;typeof t=="function"&&typeof n!="function"?(r=n,n=t):a=t;const s=od(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=YM,m,g,y;if((!t||s(c,u,d[d.length-1]||void 0))&&(p=Afe(n(c,d)),p[0]===Vb))return p;if("children"in c&&c.children){const v=c;if(v.children&&p[0]!==Cfe)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]===Vb)return m;g=typeof m[1]=="number"?m[1]:g+o}}return p}}}function Afe(e){return Array.isArray(e)?e:typeof e=="number"?[_fe,e]:e==null?YM:[e]}function Nm(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),XM(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 Yb={}.hasOwnProperty,Tfe={};function Ofe(e,t){const n=t||Tfe,r=new Map,a=new Map,s=new Map,o={...pfe,...n.handlers},l={all:u,applyData:Rfe,definitionById:r,footnoteById:a,footnoteCounts:s,footnoteOrder:[],handlers:o,one:c,options:n,patch:Pfe,wrap:Ife};return Nm(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(Yb.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=sp(y);return v.children=l.all(d),v}return sp(d)}return(l.options.unknownHandler||Mfe)(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=WE(m.value)),!Array.isArray(m)&&m.type==="element")){const g=m.children[0];g&&g.type==="text"&&(g.value=WE(g.value))}Array.isArray(m)?f.push(...m):f.push(m)}}}return f}}function Pfe(e,t){e.position&&(t.position=xce(e))}function Rfe(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,sp(s)),"children"in n&&n.children&&a!==null&&a!==void 0&&(n.children=a)}return n}function Mfe(e,t){const n=t.data||{},r="value"in t&&!(Yb.call(n,"hProperties")||Yb.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 Ife(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 WE(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function HE(e,t){const n=Ofe(e,t),r=n.one(e,void 0),a=wfe(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 $fe(e,t){return e&&"run"in e?async function(n,r){const a=HE(n,{file:r,...t});await e.run(a,r)}:function(n,r){return HE(n,{file:r,...e||t})}}function GE(e){if(e)throw e}var Cf=Object.prototype.hasOwnProperty,QM=Object.prototype.toString,qE=Object.defineProperty,KE=Object.getOwnPropertyDescriptor,VE=function(t){return typeof Array.isArray=="function"?Array.isArray(t):QM.call(t)==="[object Array]"},YE=function(t){if(!t||QM.call(t)!=="[object Object]")return!1;var n=Cf.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&Cf.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var a;for(a in t);return typeof a>"u"||Cf.call(t,a)},XE=function(t,n){qE&&n.name==="__proto__"?qE(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},QE=function(t,n){if(n==="__proto__")if(Cf.call(t,n)){if(KE)return KE(t,n).value}else return;return t[n]},Lfe=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=QE(l,n),a=QE(t,n),l!==a&&(d&&a&&(YE(a)||(s=VE(a)))?(s?(s=!1,o=r&&VE(r)?r:[]):o=r&&YE(r)?r:{},XE(l,{name:n,newValue:e(d,o,a)})):typeof a<"u"&&XE(l,{name:n,newValue:a}));return l};const Yg=Je(Lfe);function Xb(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 Dfe(){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?Bfe(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 Bfe(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 na={basename:zfe,dirname:Ffe,extname:Ufe,join:Wfe,sep:"/"};function zfe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');ld(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 Ffe(e){if(ld(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 Ufe(e){ld(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 Wfe(...e){let t=-1,n;for(;++t<e.length;)ld(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":Hfe(n)}function Hfe(e){ld(e);const t=e.codePointAt(0)===47;let n=Gfe(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Gfe(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 ld(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const qfe={cwd:Kfe};function Kfe(){return"/"}function Qb(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Vfe(e){if(typeof e=="string")e=new URL(e);else if(!Qb(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 Yfe(e)}function Yfe(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 Xg=["history","path","basename","stem","extname","dirname"];class ZM{constructor(t){let n;t?Qb(t)?n={path:t}:typeof t=="string"||Xfe(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":qfe.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Xg.length;){const s=Xg[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)Xg.includes(a)||(this[a]=n[a])}get basename(){return typeof this.path=="string"?na.basename(this.path):void 0}set basename(t){Zg(t,"basename"),Qg(t,"basename"),this.path=na.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?na.dirname(this.path):void 0}set dirname(t){ZE(this.basename,"dirname"),this.path=na.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?na.extname(this.path):void 0}set extname(t){if(Qg(t,"extname"),ZE(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=na.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){Qb(t)&&(t=Vfe(t)),Zg(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?na.basename(this.path,this.extname):void 0}set stem(t){Zg(t,"stem"),Qg(t,"stem"),this.path=na.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 En(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 Qg(e,t){if(e&&e.includes(na.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+na.sep+"`")}function Zg(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function ZE(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function Xfe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const Qfe=function(e){const r=this.constructor.prototype,a=r[e],s=function(){return a.apply(s,arguments)};return Object.setPrototypeOf(s,r),s},Zfe={}.hasOwnProperty;class _0 extends Qfe{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=Dfe()}copy(){const t=new _0;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];t.use(...r)}return t.data(Yg(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(tv("data",this.frozen),this.namespace[t]=n,this):Zfe.call(this.namespace,t)&&this.namespace[t]||void 0:t?(tv("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 Jg("parse",r),r(String(n),n)}process(t,n){const r=this;return this.freeze(),Jg("process",this.parser||this.Parser),ev("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);the(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(),Jg("processSync",this.parser||this.Parser),ev("processSync",this.compiler||this.Compiler),this.process(t,a),e_("processSync","process",n),r;function a(s,o){n=!0,GE(s),r=o}}run(t,n,r){JE(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),e_("runSync","run",r),a;function s(o,l){GE(o),a=l,r=!0}}stringify(t,n){this.freeze();const r=sf(n),a=this.compiler||this.Compiler;return ev("stringify",a),JE(t),a(t,r)}use(t,...n){const r=this.attachers,a=this.namespace;if(tv("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=Yg(!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];Xb(g)&&Xb(p)&&(p=Yg(!0,g,p)),r[h]=[u,p,...m]}}}}const Jfe=new _0().freeze();function Jg(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function ev(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function tv(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 JE(e){if(!Xb(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function e_(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function sf(e){return ehe(e)?e:new ZM(e)}function ehe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function the(e){return typeof e=="string"||nhe(e)}function nhe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const rhe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",t_=[],n_={allowDangerousHtml:!0},ahe=/^(https?|ircs?|mailto|xmpp)$/i,ihe=[{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 she(e){const t=ohe(e),n=lhe(e);return che(t.runSync(t.parse(n),n),e)}function ohe(e){const t=e.rehypePlugins||t_,n=e.remarkPlugins||t_,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...n_}:n_;return Jfe().use(Ude).use(n).use($fe,r).use(t)}function lhe(e){const t=e.children||"",n=new ZM;return typeof t=="string"&&(n.value=t),n}function che(e,t){const n=t.allowedElements,r=t.allowElement,a=t.components,s=t.disallowedElements,o=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||uhe;for(const d of ihe)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+rhe+d.id,void 0);return Nm(e,u),Nce(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 qg)if(Object.hasOwn(qg,p)&&Object.hasOwn(d.properties,p)){const m=d.properties[p],g=qg[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 uhe(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||ahe.test(e.slice(0,t))?e:""}function r_(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 dhe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function fhe(e,t,n){const a=od((n||{}).ignore||[]),s=hhe(t);let o=-1;for(;++o<s.length;)XM(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 b=p(...w,k);if(typeof b=="string"&&(b=b.length>0?{type:"text",value:b}:void 0),b===!1?h.lastIndex=N+1:(m!==N&&S.push({type:"text",value:u.value.slice(m,N)}),Array.isArray(b)?S.push(...b):b&&S.push(b),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 hhe(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([phe(a[0]),mhe(a[1])])}return t}function phe(e){return typeof e=="string"?new RegExp(dhe(e),"g"):e}function mhe(e){return typeof e=="function"?e:function(){return e}}const nv="phrasing",rv=["autolink","link","image","label"];function ghe(){return{transforms:[She],enter:{literalAutolink:yhe,literalAutolinkEmail:av,literalAutolinkHttp:av,literalAutolinkWww:av},exit:{literalAutolink:khe,literalAutolinkEmail:whe,literalAutolinkHttp:bhe,literalAutolinkWww:xhe}}}function vhe(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:nv,notInConstruct:rv},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:nv,notInConstruct:rv},{character:":",before:"[ps]",after:"\\/",inConstruct:nv,notInConstruct:rv}]}}function yhe(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function av(e){this.config.enter.autolinkProtocol.call(this,e)}function bhe(e){this.config.exit.autolinkProtocol.call(this,e)}function xhe(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 whe(e){this.config.exit.autolinkEmail.call(this,e)}function khe(e){this.exit(e)}function She(e){fhe(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,jhe],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),Nhe]],{ignore:["link","linkReference"]})}function jhe(e,t,n,r,a){let s="";if(!JM(a)||(/^w/i.test(t)&&(n=t+n,t="",s="http://"),!Ehe(n)))return!1;const o=_he(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 Nhe(e,t,n,r){return!JM(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Ehe(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 _he(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=r_(e,"(");let s=r_(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 JM(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||$s(n)||wm(n))&&(!t||n!==47)}eI.peek=$he;function Che(){this.buffer()}function Ahe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function The(){this.buffer()}function Ohe(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Phe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Hr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Rhe(e){this.exit(e)}function Mhe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Hr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Ihe(e){this.exit(e)}function $he(){return"["}function eI(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 Lhe(){return{enter:{gfmFootnoteCallString:Che,gfmFootnoteCall:Ahe,gfmFootnoteDefinitionLabelString:The,gfmFootnoteDefinition:Ohe},exit:{gfmFootnoteCallString:Phe,gfmFootnoteCall:Rhe,gfmFootnoteDefinitionLabelString:Mhe,gfmFootnoteDefinition:Ihe}}}function Dhe(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:eI},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?tI:Bhe))),u(),c}}function Bhe(e,t,n){return t===0?e:tI(e,t,n)}function tI(e,t,n){return(n?"":" ")+e}const zhe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];nI.peek=Ghe;function Fhe(){return{canContainEols:["delete"],enter:{strikethrough:Whe},exit:{strikethrough:Hhe}}}function Uhe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:zhe}],handlers:{delete:nI}}}function Whe(e){this.enter({type:"delete",children:[]},e)}function Hhe(e){this.exit(e)}function nI(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 Ghe(){return"~"}function qhe(e){return e.length}function Khe(e,t){const n=t||{},r=(n.align||[]).concat(),a=n.stringLength||qhe,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=Vhe(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]=a_(r[f]);else{const g=a_(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),b=s[f];b===114?w=" ".repeat(k):b===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 Vhe(e){return e==null?"":String(e)}function a_(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 Yhe(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()),Xhe);return a(),o}function Xhe(e,t,n){return">"+(n?"":" ")+e}function Qhe(e,t){return i_(e,t.inConstruct,!0)&&!i_(e,t.notInConstruct,!1)}function i_(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 s_(e,t,n,r){let a=-1;for(;++a<n.unsafe.length;)if(n.unsafe[a].character===`
180
- `&&Qhe(n.stack,n.unsafe[a]))return/[ \t]/.test(r.before)?"":" ";return`\\
181
- `}function Zhe(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 Jhe(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 epe(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 tpe(e,t,n,r){const a=epe(n),s=e.value||"",o=a==="`"?"GraveAccent":"Tilde";if(Jhe(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,npe);return f(),h}const l=n.createTracker(r),c=a.repeat(Math.max(Zhe(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 npe(e,t,n){return(n?"":" ")+e}function C0(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 rpe(e,t,n,r){const a=C0(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 ape(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 Wu(e){return"&#x"+e.toString(16).toUpperCase()+";"}function op(e,t,n){const r=pl(e),a=pl(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}}rI.peek=ipe;function rI(e,t,n,r){const a=ape(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=op(r.before.charCodeAt(r.before.length-1),u,a);d.inside&&(c=Wu(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=op(r.after.charCodeAt(0),f,a);h.inside&&(c=c.slice(0,-1)+Wu(f));const p=o.move(a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+p}function ipe(e,t,n){return n.options.emphasis||"*"}function spe(e,t){let n=!1;return Nm(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Vb}),!!((!e.depth||e.depth<3)&&x0(e)&&(t.options.setext||n))}function ope(e,t,n,r){const a=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(r);if(spe(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=Wu(u.charCodeAt(0))+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),c(),l(),u}aI.peek=lpe;function aI(e){return e.value||""}function lpe(){return"<"}iI.peek=cpe;function iI(e,t,n,r){const a=C0(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 cpe(){return"!"}sI.peek=upe;function sI(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 upe(){return"!"}oI.peek=dpe;function oI(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 dpe(){return"`"}function lI(e,t){const n=x0(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))}cI.peek=fpe;function cI(e,t,n,r){const a=C0(n),s=a==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let l,c;if(lI(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 fpe(e,t,n){return lI(e,n)?"<":"["}uI.peek=hpe;function uI(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 hpe(){return"["}function A0(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 ppe(e){const t=A0(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 mpe(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 dI(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 gpe(e,t,n,r){const a=n.enter("list"),s=n.bulletCurrent;let o=e.ordered?mpe(n):A0(n);const l=e.ordered?o==="."?")":".":ppe(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),dI(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 vpe(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 ype(e,t,n,r){const a=vpe(n);let s=n.bulletCurrent||A0(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 bpe(e,t,n,r){const a=n.enter("paragraph"),s=n.enter("phrasing"),o=n.containerPhrasing(e,r);return s(),a(),o}const xpe=od(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function wpe(e,t,n,r){return(e.children.some(function(o){return xpe(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function kpe(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}fI.peek=Spe;function fI(e,t,n,r){const a=kpe(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=op(r.before.charCodeAt(r.before.length-1),u,a);d.inside&&(c=Wu(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=op(r.after.charCodeAt(0),f,a);h.inside&&(c=c.slice(0,-1)+Wu(f));const p=o.move(a+a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+p}function Spe(e,t,n){return n.options.strong||"*"}function jpe(e,t,n,r){return n.safe(e.value,r)}function Npe(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 Epe(e,t,n){const r=(dI(n)+(n.options.ruleSpaces?" ":"")).repeat(Npe(n));return n.options.ruleSpaces?r.slice(0,-1):r}const hI={blockquote:Yhe,break:s_,code:tpe,definition:rpe,emphasis:rI,hardBreak:s_,heading:ope,html:aI,image:iI,imageReference:sI,inlineCode:oI,link:cI,linkReference:uI,list:gpe,listItem:ype,paragraph:bpe,root:wpe,strong:fI,text:jpe,thematicBreak:Epe};function _pe(){return{enter:{table:Cpe,tableData:o_,tableHeader:o_,tableRow:Tpe},exit:{codeText:Ope,table:Ape,tableData:iv,tableHeader:iv,tableRow:iv}}}function Cpe(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 Ape(e){this.exit(e),this.data.inTable=void 0}function Tpe(e){this.enter({type:"tableRow",children:[]},e)}function iv(e){this.exit(e)}function o_(e){this.enter({type:"tableCell",children:[]},e)}function Ope(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ppe));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ppe(e,t){return t==="|"?t:e}function Rpe(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 Khe(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=hI.inlineCode(p,m,g);return g.stack.includes("tableCell")&&(y=y.replace(/\|/g,"\\$&")),y}}function Mpe(){return{exit:{taskListCheckValueChecked:l_,taskListCheckValueUnchecked:l_,paragraph:$pe}}}function Ipe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Lpe}}}function l_(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function $pe(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 Lpe(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=hI.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 Dpe(){return[ghe(),Lhe(),Fhe(),_pe(),Mpe()]}function Bpe(e){return{extensions:[vhe(),Dhe(e),Uhe(),Rpe(e),Ipe()]}}const zpe={tokenize:qpe,partial:!0},pI={tokenize:Kpe,partial:!0},mI={tokenize:Vpe,partial:!0},gI={tokenize:Ype,partial:!0},Fpe={tokenize:Xpe,partial:!0},vI={name:"wwwAutolink",tokenize:Hpe,previous:bI},yI={name:"protocolAutolink",tokenize:Gpe,previous:xI},Ya={name:"emailAutolink",tokenize:Wpe,previous:wI},pa={};function Upe(){return{text:pa}}let Ji=48;for(;Ji<123;)pa[Ji]=Ya,Ji++,Ji===58?Ji=65:Ji===91&&(Ji=97);pa[43]=Ya;pa[45]=Ya;pa[46]=Ya;pa[95]=Ya;pa[72]=[Ya,yI];pa[104]=[Ya,yI];pa[87]=[Ya,vI];pa[119]=[Ya,vI];function Wpe(e,t,n){const r=this;let a,s;return o;function o(f){return!Zb(f)||!wI.call(r,r.previous)||T0(r.events)?n(f):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),l(f))}function l(f){return Zb(f)?(e.consume(f),l):f===64?(e.consume(f),c):n(f)}function c(f){return f===46?e.check(Fpe,d,u)(f):f===45||f===95||jn(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&&On(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(f)):n(f)}}function Hpe(e,t,n){const r=this;return a;function a(o){return o!==87&&o!==119||!bI.call(r,r.previous)||T0(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(zpe,e.attempt(pI,e.attempt(mI,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function Gpe(e,t,n){const r=this;let a="",s=!1;return o;function o(f){return(f===72||f===104)&&xI.call(r,r.previous)&&!T0(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),a+=String.fromCodePoint(f),e.consume(f),l):n(f)}function l(f){if(On(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||ap(f)||ft(f)||$s(f)||wm(f)?n(f):e.attempt(pI,e.attempt(mI,d),n)(f)}function d(f){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(f)}}function qpe(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 Kpe(e,t,n){let r,a,s;return o;function o(u){return u===46||u===95?e.check(gI,c,l)(u):u===null||ft(u)||$s(u)||u!==45&&wm(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 Vpe(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(gI,t,s)(o):o===null||ft(o)||$s(o)?t(o):(e.consume(o),a)}function s(o){return o===41&&r++,e.consume(o),a}}function Ype(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||ft(l)||$s(l)?t(l):n(l)}function a(l){return l===null||l===40||l===91||ft(l)||$s(l)?t(l):r(l)}function s(l){return On(l)?o(l):n(l)}function o(l){return l===59?(e.consume(l),r):On(l)?(e.consume(l),o):n(l)}}function Xpe(e,t,n){return r;function r(s){return e.consume(s),a}function a(s){return jn(s)?n(s):t(s)}}function bI(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||ft(e)}function xI(e){return!On(e)}function wI(e){return!(e===47||Zb(e))}function Zb(e){return e===43||e===45||e===46||e===95||jn(e)}function T0(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 Qpe={tokenize:ime,partial:!0};function Zpe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:nme,continuation:{tokenize:rme},exit:ame}},text:{91:{name:"gfmFootnoteCall",tokenize:tme},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Jpe,resolveTo:eme}}}}function Jpe(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=Hr(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 eme(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 tme(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||ft(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return a.includes(Hr(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return ft(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 nme(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||ft(m))return n(m);if(m===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=Hr(r.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return ft(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),He(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function rme(e,t,n){return e.check(sd,t,e.attempt(Qpe,t,n))}function ame(e){e.exit("gfmFootnoteDefinition")}function ime(e,t,n){const r=this;return He(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 sme(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&&ir(h,h.length,0,km(p,o.slice(u+1,c),l)),ir(h,h.length,0,[["exit",f,l],["enter",o[c][1],l],["exit",o[c][1],l],["exit",d,l]]),ir(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=pl(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=pl(m);return y._open=!v||v===2&&!!g,y._close=!g||g===2&&!!v,l(m)}}}class ome{constructor(){this.map=[]}add(t,n,r){lme(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 lme(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 cme(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 ume(){return{flow:{null:{name:"table",tokenize:dme,resolveAll:fme}}}}function dme(e,t,n){const r=this;let a=0,s=0,o;return l;function l(_){let A=r.events.length-1;for(;A>-1;){const $=r.events[A][1].type;if($==="lineEnding"||$==="linePrefix")A--;else break}const O=A>-1?r.events[A][1].type:null,B=O==="tableHead"||O==="tableRow"?b:c;return B===b&&r.parser.lazy[r.now().line]?n(_):B(_)}function c(_){return e.enter("tableHead"),e.enter("tableRow"),u(_)}function u(_){return _===124||(o=!0,s+=1),d(_)}function d(_){return _===null?n(_):Ce(_)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),p):n(_):Ue(_)?He(e,d,"whitespace")(_):(s+=1,o&&(o=!1,a+=1),_===124?(e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),f(_)))}function f(_){return _===null||_===124||ft(_)?(e.exit("data"),d(_)):(e.consume(_),_===92?h:f)}function h(_){return _===92||_===124?(e.consume(_),f):f(_)}function p(_){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(_):(e.enter("tableDelimiterRow"),o=!1,Ue(_)?He(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):m(_))}function m(_){return _===45||_===58?y(_):_===124?(o=!0,e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),g):k(_)}function g(_){return Ue(_)?He(e,y,"whitespace")(_):y(_)}function y(_){return _===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(_),e.exit("tableDelimiterMarker"),v):_===45?(s+=1,v(_)):_===null||Ce(_)?N(_):k(_)}function v(_){return _===45?(e.enter("tableDelimiterFiller"),S(_)):k(_)}function S(_){return _===45?(e.consume(_),S):_===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(_),e.exit("tableDelimiterMarker"),w):(e.exit("tableDelimiterFiller"),w(_))}function w(_){return Ue(_)?He(e,N,"whitespace")(_):N(_)}function N(_){return _===124?m(_):_===null||Ce(_)?!o||a!==s?k(_):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(_)):k(_)}function k(_){return n(_)}function b(_){return e.enter("tableRow"),j(_)}function j(_){return _===124?(e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),j):_===null||Ce(_)?(e.exit("tableRow"),t(_)):Ue(_)?He(e,j,"whitespace")(_):(e.enter("data"),E(_))}function E(_){return _===null||_===124||ft(_)?(e.exit("data"),j(_)):(e.consume(_),_===92?P:E)}function P(_){return _===92||_===124?(e.consume(_),E):E(_)}}function fme(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 ome;for(;++n<e.length;){const p=e[n],m=p[1];p[0]==="enter"?m.type==="tableHead"?(l=!1,c!==0&&(c_(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&&c_(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=cme(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({},lo(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const c=lo(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=lo(t.events,n[2]),d=lo(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({},lo(t.events,a)),e.add(a,0,[["exit",s,t]]),s=void 0),s}function c_(e,t,n,r,a){const s=[],o=lo(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 lo(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const hme={name:"tasklistCheck",tokenize:mme};function pme(){return{text:{91:hme}}}function mme(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 ft(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):Ue(c)?e.check({tokenize:gme},t,n)(c):n(c)}}function gme(e,t,n){return He(e,r,"whitespace");function r(a){return a===null?n(a):t(a)}}function vme(e){return TM([Upe(),Zpe(),sme(e),ume(),pme()])}const yme={};function bme(e){const t=this,n=e||yme,r=t.data(),a=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);a.push(vme(n)),s.push(Dpe()),o.push(Bpe(n))}const u_=function(e,t,n){const r=od(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]},Hs=function(e){if(e==null)return kme;if(typeof e=="string")return wme(e);if(typeof e=="object")return xme(e);if(typeof e=="function")return O0(e);throw new Error("Expected function, string, or array as `test`")};function xme(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Hs(e[n]);return O0(r);function r(...a){let s=-1;for(;++s<t.length;)if(t[s].apply(this,a))return!0;return!1}}function wme(e){return O0(t);function t(n){return n.tagName===e}}function O0(e){return t;function t(n,r,a){return!!(Sme(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function kme(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function Sme(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const d_=/\n/g,f_=/[\t ]+/g,Jb=Hs("br"),h_=Hs(Ome),jme=Hs("p"),p_=Hs("tr"),Nme=Hs(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",Tme,Pme]),kI=Hs(["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 Eme(e,t){const n=t||{},r="children"in e?e.children:[],a=kI(e),s=NI(e,{whitespace:n.whitespace||"normal"}),o=[];(e.type==="text"||e.type==="comment")&&o.push(...jI(e,{breakBefore:!0,breakAfter:!0}));let l=-1;for(;++l<r.length;)o.push(...SI(r[l],e,{whitespace:s,breakBefore:l?void 0:a,breakAfter:l<r.length-1?Jb(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 SI(e,t,n){return e.type==="element"?_me(e,t,n):e.type==="text"?n.whitespace==="normal"?jI(e,n):Cme(e):[]}function _me(e,t,n){const r=NI(e,n),a=e.children||[];let s=-1,o=[];if(Nme(e))return o;let l,c;for(Jb(e)||p_(e)&&u_(t,e,p_)?c=`
194
- `:jme(e)?(l=2,c=2):kI(e)&&(l=1,c=1);++s<a.length;)o=o.concat(SI(a[s],e,{whitespace:r,breakBefore:s?void 0:l,breakAfter:s<a.length-1?Jb(a[s+1]):c}));return h_(e)&&u_(t,e,h_)&&o.push(" "),l&&o.unshift(l),c&&o.push(c),o}function jI(e,t){const n=String(e.value),r=[],a=[];let s=0;for(;s<=n.length;){d_.lastIndex=s;const c=d_.exec(n),u=c&&"index"in c?c.index:n.length;r.push(Ame(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 Cme(e){return[String(e.value)]}function Ame(e,t,n){const r=[];let a=0,s;for(;a<e.length;){f_.lastIndex=a;const o=f_.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 NI(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 Tme(e){return!!(e.properties||{}).hidden}function Ome(e){return e.tagName==="td"||e.tagName==="th"}function Pme(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function Rme(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*\(/))},b=[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:b.concat([{begin:/\(/,end:/\)/,keywords:N,contains:b.concat(["self"]),relevance:0}]),relevance:0},E={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,E,k,b,[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 Mme(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=Rme(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 Ime(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 $me(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 Lme(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*\(/))},b=[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:b.concat([{begin:/\(/,end:/\)/,keywords:N,contains:b.concat(["self"]),relevance:0}]),relevance:0},E={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,E,k,b,[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 Dme(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 Bme=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_-]*/}}),zme=["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"],Fme=["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"],Ume=[...zme,...Fme],Wme=["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(),Hme=["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(),Gme=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),qme=["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 Kme(e){const t=e.regex,n=Bme(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:":("+Hme.join("|")+")"},{begin:":(:)?("+Gme.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+qme.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:Wme.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Ume.join("|")+")\\b"}]}}function Vme(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 Yme(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 Xme(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 Qme(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 co="[0-9](_*[0-9])*",lf=`\\.(${co})`,cf="[0-9a-fA-F](_*[0-9a-fA-F])*",m_={className:"number",variants:[{begin:`(\\b(${co})((${lf})|\\.)?|(${lf}))[eE][+-]?(${co})[fFdD]?\\b`},{begin:`\\b(${co})((${lf})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${lf})[fFdD]?\\b`},{begin:`\\b(${co})[fFdD]\\b`},{begin:`\\b0[xX]((${cf})\\.?|(${cf})?\\.(${cf}))[pP][+-]?(${co})[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 EI(e,t,n){return n===-1?"":e.replace(t,r=>EI(e,t,n-1))}function Zme(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=n+EI("(?:<"+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,m_,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m_,u]}}const g_="[A-Za-z$_][0-9A-Za-z$_]*",Jme=["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"],ege=["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"],CI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],AI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],tge=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],nge=[].concat(AI,_I,CI);function rge(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=g_,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 F;const I=R.input.substring(T);if(F=I.match(/^\s*=/)){z.ignoreMatch();return}if((F=I.match(/^\s+extends\s+/))&&F.index===0){z.ignoreMatch();return}}},l={$pattern:g_,keyword:Jme,literal:ege,built_in:nge,"variable.language":tge},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)}]),b={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"}}]},E={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,...CI]}},P={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},_={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[b],illegal:/%/},A={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,O([...AI,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},$={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:/\(\)/},b]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:E},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),P,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,E,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{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"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},$,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},B,A,j,M,{match:/\$[(.]/}]}}const age="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",ige={scope:"number",match:age,relevance:0};function sge(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,ige,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var uo="[0-9](_*[0-9])*",uf=`\\.(${uo})`,df="[0-9a-fA-F](_*[0-9a-fA-F])*",oge={className:"number",variants:[{begin:`(\\b(${uo})((${uf})|\\.)?|(${uf}))[eE][+-]?(${uo})[fFdD]?\\b`},{begin:`\\b(${uo})((${uf})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${uf})[fFdD]?\\b`},{begin:`\\b(${uo})[fFdD]\\b`},{begin:`\\b0[xX]((${df})\\.?|(${df})?\\.(${df}))[pP][+-]?(${uo})[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 lge(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=oge,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 cge=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_-]*/}}),uge=["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"],dge=["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"],fge=[...uge,...dge],hge=["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(),TI=["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(),OI=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),pge=["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(),mge=TI.concat(OI).sort().reverse();function gge(e){const t=cge(e),n=mge,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:hge.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("+pge.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("+fge.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:":("+TI.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+OI.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 vge(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 yge(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 bge(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 xge(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 wge(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 kge(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":($,M)=>{M.data._beginMatch=$[1]||$[2]},"on:end":($,M)=>{M.data._beginMatch!==$[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:($=>{const M=[];return $.forEach(D=>{M.push(D),D.toLowerCase()===D?M.push(D.toUpperCase()):M.push(D.toLowerCase())}),M})(y),built_in:S},k=$=>$.map(M=>M.replace(/\|\d+$/,"")),b={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(?!\\()"),E={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"}}]},P={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},_={relevance:0,begin:/\(/,end:/\)/,keywords:N,contains:[P,o,E,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g,b]},A={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:[_]};_.contains.push(A);const O=[P,E,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g,b],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",...O]},...O,{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,A,E,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},b,{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,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 Sge(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 jge(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Nge(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 Ege(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function _ge(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 Cge(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}]},b=[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=b,g.contains=b;const _=[{begin:/^\s*=>/,starts:{end:"$",contains:b}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:o,contains:b}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:o,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(_).concat(u).concat(b)}}function Age(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 Tge=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_-]*/}}),Oge=["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"],Rge=[...Oge,...Pge],Mge=["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(),Ige=["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(),$ge=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Lge=["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 Dge(e){const t=Tge(e),n=$ge,r=Ige,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("+Rge.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("+Lge.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:Mge.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 Bge(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function zge(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(b=>b.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:S(h),relevance:0};function N(k,{exceptions:b,when:j}={}){const E=j;return b=b||[],k.map(P=>P.match(/\|\d+$/)||b.includes(P)?P:E(P)?`${P}|0`:P)}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 PI(e){return e?typeof e=="string"?e:e.source:null}function mc(e){return ot("(?=",e,")")}function ot(...e){return e.map(n=>PI(n)).join("")}function Fge(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function An(...e){return"("+(Fge(e).capture?"":"?:")+e.map(r=>PI(r)).join("|")+")"}const P0=e=>ot(/\b/,e,/\w$/.test(e)?/\b/:/\B/),Uge=["Protocol","Type"].map(P0),v_=["init","self"].map(P0),Wge=["Any","Self"],sv=["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"],y_=["false","nil","true"],Hge=["assignment","associativity","higherThan","left","lowerThan","none","right"],Gge=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],b_=["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"],RI=An(/[/=\-+!*%<>&|^~?]/,/[\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]/),MI=An(RI,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ov=ot(RI,MI,"*"),II=An(/[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]/),lp=An(II,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),ea=ot(II,lp,"*"),ff=ot(/[A-Z]/,lp,"*"),qge=["attached","autoclosure",ot(/convention\(/,An("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",ot(/objc\(/,ea,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Kge=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Vge(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],a={match:[/\./,An(...Uge,...v_)],className:{2:"keyword"}},s={match:ot(/\./,An(...sv)),relevance:0},o=sv.filter(ve=>typeof ve=="string").concat(["_|0"]),l=sv.filter(ve=>typeof ve!="string").concat(Wge).map(P0),c={variants:[{className:"keyword",match:An(...l,...v_)}]},u={$pattern:An(/\b\w+/,/#\w+/),keyword:o.concat(Gge),literal:y_},d=[a,s,c],f={match:ot(/\./,An(...b_)),relevance:0},h={className:"built_in",match:ot(/\b/,An(...b_),/(?=\()/)},p=[f,h],m={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:ov},{match:`\\.(\\.|${MI})+`}]},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=(ve="")=>({className:"subst",variants:[{match:ot(/\\/,ve,/[0\\tnr"']/)},{match:ot(/\\/,ve,/u\{[0-9a-fA-F]{1,8}\}/)}]}),k=(ve="")=>({className:"subst",match:ot(/\\/,ve,/[\t ]*(?:[\r\n]|\r\n)/)}),b=(ve="")=>({className:"subst",label:"interpol",begin:ot(/\\/,ve,/\(/),end:/\)/}),j=(ve="")=>({begin:ot(ve,/"""/),end:ot(/"""/,ve),contains:[N(ve),k(ve),b(ve)]}),E=(ve="")=>({begin:ot(ve,/"/),end:ot(/"/,ve),contains:[N(ve),b(ve)]}),P={className:"string",variants:[j(),j("#"),j("##"),j("###"),E(),E("#"),E("##"),E("###")]},_=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],A={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:_},O=ve=>{const Le=ot(ve,/\//),pe=ot(/\//,ve);return{begin:Le,end:pe,contains:[..._,{scope:"comment",begin:`#(?!.*${pe})`,end:/$/}]}},B={scope:"regexp",variants:[O("###"),O("##"),O("#"),A]},$={match:ot(/`/,ea,/`/)},M={className:"variable",match:/\$\d+/},D={className:"variable",match:`\\$${lp}+`},U=[$,M,D],R={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Kge,contains:[...y,w,P]}]}},z={scope:"keyword",match:ot(/@/,An(...qge),mc(An(/\(/,/\s+/)))},T={scope:"meta",match:ot(/@/,ea)},Z=[R,z,T],F={match:mc(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:ot(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,lp,"+")},{className:"type",match:ff,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:ot(/\s+&\s+/,mc(ff)),relevance:0}]},I={begin:/</,end:/>/,keywords:u,contains:[...r,...d,...Z,m,F]};F.contains.push(I);const se={match:ot(ea,/\s*:/),keywords:"_|0",relevance:0},he={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",se,...r,B,...d,...p,...y,w,P,...U,...Z,F]},ge={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,F]},Te={begin:An(mc(ot(ea,/\s*:/)),mc(ot(ea,/\s+/,ea,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:ea}]},X={begin:/\(/,end:/\)/,keywords:u,contains:[Te,...r,...d,...y,w,P,...Z,F,he],endsParent:!0,illegal:/["']/},Y={match:[/(func|macro)/,/\s+/,An($.match,ea,ov)],className:{1:"keyword",3:"title.function"},contains:[ge,X,t],illegal:[/\[/,/%/]},ie={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ge,X,t],illegal:/\[|%/},de={match:[/operator/,/\s+/,ov],className:{1:"keyword",3:"title"}},W={begin:[/precedencegroup/,/\s+/,ff],className:{1:"keyword",3:"title"},contains:[F],keywords:[...Hge,...y_],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"}},we={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},_e={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,ea,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ge,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:ff},...d],relevance:0}]};for(const ve of P.variants){const Le=ve.contains.find(et=>et.label==="interpol");Le.keywords=u;const pe=[...d,...p,...y,w,P,...U];Le.contains=[...pe,{begin:/\(/,end:/\)/,contains:["self",...pe]}]}return{name:"Swift",keywords:u,contains:[...r,Y,ie,xe,we,_e,de,W,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},B,...d,...p,...y,w,P,...U,...Z,F,he]}}const cp="[A-Za-z$_][0-9A-Za-z$_]*",$I=["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"],LI=["true","false","null","undefined","NaN","Infinity"],DI=["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"],BI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],zI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],FI=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],UI=[].concat(zI,DI,BI);function Yge(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=cp,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 F;const I=R.input.substring(T);if(F=I.match(/^\s*=/)){z.ignoreMatch();return}if((F=I.match(/^\s+extends\s+/))&&F.index===0){z.ignoreMatch();return}}},l={$pattern:cp,keyword:$I,literal:LI,built_in:UI,"variable.language":FI},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)}]),b={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"}}]},E={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:{_:[...DI,...BI]}},P={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},_={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[b],illegal:/%/},A={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,O([...zI,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},$={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:/\(\)/},b]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:E},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),P,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,E,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{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"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},$,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},B,A,j,M,{match:/\$[(.]/}]}}function Xge(e){const t=e.regex,n=Yge(e),r=cp,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:cp,keyword:$I.concat(c),literal:LI,built_in:UI.concat(a),"variable.language":FI},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 Qge(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 Zge(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 Jge(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 eve(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 tve={arduino:Mme,bash:Ime,c:$me,cpp:Lme,csharp:Dme,css:Kme,diff:Vme,go:Yme,graphql:Xme,ini:Qme,java:Zme,javascript:rge,json:sge,kotlin:lge,less:gge,lua:vge,makefile:yge,markdown:bge,objectivec:xge,perl:wge,php:kge,"php-template":Sge,plaintext:jge,python:Nge,"python-repl":Ege,r:_ge,ruby:Cge,rust:Age,scss:Dge,shell:Bge,sql:zge,swift:Vge,typescript:Xge,vbnet:Qge,wasm:Zge,xml:Jge,yaml:eve};function WI(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)&&WI(n)}),e}class x_{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function HI(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function gi(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 nve="</span>",w_=e=>!!e.scope,rve=(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 ave{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=HI(t)}openNode(t){if(!w_(t))return;const n=rve(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){w_(t)&&(this.buffer+=nve)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const k_=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class R0{constructor(){this.rootNode=k_(),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=k_({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=>{R0._collapse(n)}))}}class ive extends R0{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 ave(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Hu(e){return e?typeof e=="string"?e:e.source:null}function GI(e){return Gs("(?=",e,")")}function sve(e){return Gs("(?:",e,")*")}function ove(e){return Gs("(?:",e,")?")}function Gs(...e){return e.map(n=>Hu(n)).join("")}function lve(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function M0(...e){return"("+(lve(e).capture?"":"?:")+e.map(r=>Hu(r)).join("|")+")"}function qI(e){return new RegExp(e.toString()+"|").exec("").length-1}function cve(e,t){const n=e&&e.exec(t);return n&&n.index===0}const uve=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function I0(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const a=n;let s=Hu(r),o="";for(;s.length>0;){const l=uve.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 dve=/\b\B/,KI="[a-zA-Z]\\w*",$0="[a-zA-Z_]\\w*",VI="\\b\\d+(\\.\\d+)?",YI="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",XI="\\b(0b[01]+)",fve="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",hve=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Gs(t,/.*\b/,e.binary,/\b.*/)),gi({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Gu={begin:"\\\\[\\s\\S]",relevance:0},pve={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Gu]},mve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Gu]},gve={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/},Em=function(e,t,n={}){const r=gi({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=M0("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:Gs(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},vve=Em("//","$"),yve=Em("/\\*","\\*/"),bve=Em("#","$"),xve={scope:"number",begin:VI,relevance:0},wve={scope:"number",begin:YI,relevance:0},kve={scope:"number",begin:XI,relevance:0},Sve={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Gu,{begin:/\[/,end:/\]/,relevance:0,contains:[Gu]}]},jve={scope:"title",begin:KI,relevance:0},Nve={scope:"title",begin:$0,relevance:0},Eve={begin:"\\.\\s*"+$0,relevance:0},_ve=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:pve,BACKSLASH_ESCAPE:Gu,BINARY_NUMBER_MODE:kve,BINARY_NUMBER_RE:XI,COMMENT:Em,C_BLOCK_COMMENT_MODE:yve,C_LINE_COMMENT_MODE:vve,C_NUMBER_MODE:wve,C_NUMBER_RE:YI,END_SAME_AS_BEGIN:_ve,HASH_COMMENT_MODE:bve,IDENT_RE:KI,MATCH_NOTHING_RE:dve,METHOD_GUARD:Eve,NUMBER_MODE:xve,NUMBER_RE:VI,PHRASAL_WORDS_MODE:gve,QUOTE_STRING_MODE:mve,REGEXP_MODE:Sve,RE_STARTERS_RE:fve,SHEBANG:hve,TITLE_MODE:jve,UNDERSCORE_IDENT_RE:$0,UNDERSCORE_TITLE_MODE:Nve});function Cve(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Ave(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Tve(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Cve,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Ove(e,t){Array.isArray(e.illegal)&&(e.illegal=M0(...e.illegal))}function Pve(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 Rve(e,t){e.relevance===void 0&&(e.relevance=1)}const Mve=(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=Gs(n.beforeMatch,GI(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Ive=["of","and","for","in","not","or","if","then","parent","list","value"],$ve="keyword";function QI(e,t,n=$ve){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,QI(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,Lve(c[0],c[1])]})}}function Lve(e,t){return t?Number(t):Dve(e)?0:1}function Dve(e){return Ive.includes(e.toLowerCase())}const S_={},Ns=e=>{console.error(e)},j_=(e,...t)=>{console.log(`WARN: ${e}`,...t)},so=(e,t)=>{S_[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),S_[`${e}/${t}`]=!0)},up=new Error;function ZI(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+=qI(t[l-1]);e[n]=o,e[n]._emit=s,e[n]._multi=!0}function Bve(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Ns("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),up;if(typeof e.beginScope!="object"||e.beginScope===null)throw Ns("beginScope must be object"),up;ZI(e,e.begin,{key:"beginScope"}),e.begin=I0(e.begin,{joinWith:""})}}function zve(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Ns("skip, excludeEnd, returnEnd not compatible with endScope: {}"),up;if(typeof e.endScope!="object"||e.endScope===null)throw Ns("endScope must be object"),up;ZI(e,e.end,{key:"endScope"}),e.end=I0(e.end,{joinWith:""})}}function Fve(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Uve(e){Fve(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Bve(e),zve(e)}function Wve(e){function t(o,l){return new RegExp(Hu(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+=qI(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(c=>c[1]);this.matcherRe=t(I0(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;[Ave,Pve,Uve,Mve].forEach(d=>d(o,l)),e.compilerExtensions.forEach(d=>d(o,l)),o.__beforeBegin=null,[Tve,Ove,Rve].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=QI(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=Hu(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 Hve(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=gi(e.classNameAliases||{}),s(e)}function JI(e){return e?e.endsWithParent||JI(e.starts):!1}function Hve(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return gi(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:JI(e)?gi(e,{starts:e.starts?gi(e.starts):null}):Object.isFrozen(e)?gi(e):e}var Gve="11.11.2";class qve extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const lv=HI,N_=gi,E_=Symbol("nomatch"),Kve=7,e$=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:ive};function c(D){return l.noHighlightRe.test(D)}function u(D){let U=D.className+" ";U+=D.parentNode?D.parentNode.className:"";const R=l.languageDetectRe.exec(U);if(R){const z=E(R[1]);return z||(j_(s.replace("{}",R[1])),j_("Falling back to no-highlight mode for this block.",D)),z?R[1]:"no-highlight"}return U.split(/\s+/).find(z=>c(z)||E(z))}function d(D,U,R){let z="",T="";typeof U=="object"?(z=D,R=U.ignoreIllegals,T=U.language):(so("10.7.0","highlight(lang, code, ...args) has been deprecated."),so("10.7.0",`Please use highlight(code, options) instead.
197
- https://github.com/highlightjs/highlight.js/issues/2277`),T=D,z=U),R===void 0&&(R=!0);const Z={code:z,language:T};$("before:highlight",Z);const F=Z.result?Z.result:f(Z.language,Z.code,R);return F.code=Z.code,$("after:highlight",F),F}function f(D,U,R,z){const T=Object.create(null);function Z(G,Q){return G.keywords[Q]}function F(){if(!pe.keywords){Be.addText(Me);return}let G=0;pe.keywordPatternRe.lastIndex=0;let Q=pe.keywordPatternRe.exec(Me),ce="";for(;Q;){ce+=Me.substring(G,Q.index);const me=_e.case_insensitive?Q[0].toLowerCase():Q[0],Ne=Z(pe,me);if(Ne){const[Oe,It]=Ne;if(Be.addText(ce),ce="",T[me]=(T[me]||0)+1,T[me]<=Kve&&(at+=It),Oe.startsWith("_"))ce+=Q[0];else{const De=_e.classNameAliases[Oe]||Oe;he(Q[0],De)}}else ce+=Q[0];G=pe.keywordPatternRe.lastIndex,Q=pe.keywordPatternRe.exec(Me)}ce+=Me.substring(G),Be.addText(ce)}function I(){if(Me==="")return;let G=null;if(typeof pe.subLanguage=="string"){if(!t[pe.subLanguage]){Be.addText(Me);return}G=f(pe.subLanguage,Me,!0,et[pe.subLanguage]),et[pe.subLanguage]=G._top}else G=p(Me,pe.subLanguage.length?pe.subLanguage:null);pe.relevance>0&&(at+=G.relevance),Be.__addSublanguage(G._emitter,G.language)}function se(){pe.subLanguage!=null?I():F(),Me=""}function he(G,Q){G!==""&&(Be.startScope(Q),Be.addText(G),Be.endScope())}function ge(G,Q){let ce=1;const me=Q.length-1;for(;ce<=me;){if(!G._emit[ce]){ce++;continue}const Ne=_e.classNameAliases[G[ce]]||G[ce],Oe=Q[ce];Ne?he(Oe,Ne):(Me=Oe,F(),Me=""),ce++}}function Te(G,Q){return G.scope&&typeof G.scope=="string"&&Be.openNode(_e.classNameAliases[G.scope]||G.scope),G.beginScope&&(G.beginScope._wrap?(he(Me,_e.classNameAliases[G.beginScope._wrap]||G.beginScope._wrap),Me=""):G.beginScope._multi&&(ge(G.beginScope,Q),Me="")),pe=Object.create(G,{parent:{value:pe}}),pe}function X(G,Q,ce){let me=cve(G.endRe,ce);if(me){if(G["on:end"]){const Ne=new x_(G);G["on:end"](Q,Ne),Ne.isMatchIgnored&&(me=!1)}if(me){for(;G.endsParent&&G.parent;)G=G.parent;return G}}if(G.endsWithParent)return X(G.parent,Q,ce)}function Y(G){return pe.matcher.regexIndex===0?(Me+=G[0],1):(fn=!0,0)}function ie(G){const Q=G[0],ce=G.rule,me=new x_(ce),Ne=[ce.__beforeBegin,ce["on:begin"]];for(const Oe of Ne)if(Oe&&(Oe(G,me),me.isMatchIgnored))return Y(Q);return ce.skip?Me+=Q:(ce.excludeBegin&&(Me+=Q),se(),!ce.returnBegin&&!ce.excludeBegin&&(Me=Q)),Te(ce,G),ce.returnBegin?0:Q.length}function de(G){const Q=G[0],ce=U.substring(G.index),me=X(pe,G,ce);if(!me)return E_;const Ne=pe;pe.endScope&&pe.endScope._wrap?(se(),he(Q,pe.endScope._wrap)):pe.endScope&&pe.endScope._multi?(se(),ge(pe.endScope,G)):Ne.skip?Me+=Q:(Ne.returnEnd||Ne.excludeEnd||(Me+=Q),se(),Ne.excludeEnd&&(Me=Q));do pe.scope&&Be.closeNode(),!pe.skip&&!pe.subLanguage&&(at+=pe.relevance),pe=pe.parent;while(pe!==me.parent);return me.starts&&Te(me.starts,G),Ne.returnEnd?0:Q.length}function W(){const G=[];for(let Q=pe;Q!==_e;Q=Q.parent)Q.scope&&G.unshift(Q.scope);G.forEach(Q=>Be.openNode(Q))}let xe={};function we(G,Q){const ce=Q&&Q[0];if(Me+=G,ce==null)return se(),0;if(xe.type==="begin"&&Q.type==="end"&&xe.index===Q.index&&ce===""){if(Me+=U.slice(Q.index,Q.index+1),!a){const me=new Error(`0 width match regex (${D})`);throw me.languageName=D,me.badRule=xe.rule,me}return 1}if(xe=Q,Q.type==="begin")return ie(Q);if(Q.type==="illegal"&&!R){const me=new Error('Illegal lexeme "'+ce+'" for mode "'+(pe.scope||"<unnamed>")+'"');throw me.mode=pe,me}else if(Q.type==="end"){const me=de(Q);if(me!==E_)return me}if(Q.type==="illegal"&&ce==="")return Q.index===U.length||(Me+=`
198
- `),1;if(wt>1e5&&wt>Q.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Me+=ce,ce.length}const _e=E(D);if(!_e)throw Ns(s.replace("{}",D)),new Error('Unknown language: "'+D+'"');const ve=Wve(_e);let Le="",pe=z||ve;const et={},Be=new l.__emitter(l);W();let Me="",at=0,Ge=0,wt=0,fn=!1;try{if(_e.__emitTokens)_e.__emitTokens(U,Be);else{for(pe.matcher.considerAll();;){wt++,fn?fn=!1:pe.matcher.considerAll(),pe.matcher.lastIndex=Ge;const G=pe.matcher.exec(U);if(!G)break;const Q=U.substring(Ge,G.index),ce=we(Q,G);Ge=G.index+ce}we(U.substring(Ge))}return Be.finalize(),Le=Be.toHTML(),{language:D,value:Le,relevance:at,illegal:!1,_emitter:Be,_top:pe}}catch(G){if(G.message&&G.message.includes("Illegal"))return{language:D,value:lv(U),illegal:!0,relevance:0,_illegalBy:{message:G.message,index:Ge,context:U.slice(Ge-100,Ge+100),mode:G.mode,resultSoFar:Le},_emitter:Be};if(a)return{language:D,value:lv(U),illegal:!1,relevance:0,errorRaised:G,_emitter:Be,_top:pe};throw G}}function h(D){const U={value:lv(D),illegal:!1,relevance:0,_top:o,_emitter:new l.__emitter(l)};return U._emitter.addText(D),U}function p(D,U){U=U||l.languages||Object.keys(t);const R=h(D),z=U.filter(E).filter(_).map(se=>f(se,D,!1));z.unshift(R);const T=z.sort((se,he)=>{if(se.relevance!==he.relevance)return he.relevance-se.relevance;if(se.language&&he.language){if(E(se.language).supersetOf===he.language)return 1;if(E(he.language).supersetOf===se.language)return-1}return 0}),[Z,F]=T,I=Z;return I.secondBest=F,I}function m(D,U,R){const z=U&&n[U]||R;D.classList.add("hljs"),D.classList.add(`language-${z}`)}function g(D){let U=null;const R=u(D);if(c(R))return;if($("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 qve("One of your code blocks includes unescaped HTML.",D.innerHTML);U=D;const z=U.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}),$("after:highlightElement",{el:D,result:T,text:z})}function y(D){l=N_(l,D)}const v=()=>{N(),so("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function S(){N(),so("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,U){let R=null;try{R=U(e)}catch(z){if(Ns("Language definition for '{}' could not be registered.".replace("{}",D)),a)Ns(z);else throw z;R=o}R.name||(R.name=D),t[D]=R,R.rawDefinition=U.bind(null,e),R.aliases&&P(R.aliases,{languageName:D})}function b(D){delete t[D];for(const U of Object.keys(n))n[U]===D&&delete n[U]}function j(){return Object.keys(t)}function E(D){return D=(D||"").toLowerCase(),t[D]||t[n[D]]}function P(D,{languageName:U}){typeof D=="string"&&(D=[D]),D.forEach(R=>{n[R.toLowerCase()]=U})}function _(D){const U=E(D);return U&&!U.disableAutodetect}function A(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=U=>{D["before:highlightBlock"](Object.assign({block:U.el},U))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=U=>{D["after:highlightBlock"](Object.assign({block:U.el},U))})}function O(D){A(D),r.push(D)}function B(D){const U=r.indexOf(D);U!==-1&&r.splice(U,1)}function $(D,U){const R=D;r.forEach(function(z){z[R]&&z[R](U)})}function M(D){return so("10.7.0","highlightBlock will be removed entirely in v12.0"),so("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:b,listLanguages:j,getLanguage:E,registerAliases:P,autoDetection:_,inherit:N_,addPlugin:O,removePlugin:B}),e.debugMode=function(){a=!1},e.safeMode=function(){a=!0},e.versionString=Gve,e.regex={concat:Gs,lookahead:GI,either:M0,optional:ove,anyNumberOfTimes:sve};for(const D in hf)typeof hf[D]=="object"&&WI(hf[D]);return Object.assign(e,hf),e},ml=e$({});ml.newInstance=()=>e$({});var Vve=ml;ml.HighlightJS=ml;ml.default=ml;const Yve=Je(Vve),__={},Xve="hljs-";function Qve(e){const t=Yve.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||__,h=typeof f.prefix=="string"?f.prefix:Xve;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:Zve,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||__).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 Zve{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 Jve={};function eye(e){const t=e||Jve,n=t.aliases,r=t.detect||!1,a=t.languages||tve,s=t.plainText,o=t.prefix,l=t.subset;let c="hljs";const u=Qve(a);if(n&&u.registerAlias(n),o){const d=o.indexOf("-");c=d===-1?o:o.slice(0,d)}return function(d,f){Nm(d,"element",function(h,p,m){if(h.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=tye(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=Eme(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 tye(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 dp="[A-Za-z$_][0-9A-Za-z$_]*",t$=["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"],n$=["true","false","null","undefined","NaN","Infinity"],r$=["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"],a$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],s$=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],o$=[].concat(i$,r$,a$);function nye(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=dp,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 F;const I=R.input.substring(T);if(F=I.match(/^\s*=/)){z.ignoreMatch();return}if((F=I.match(/^\s+extends\s+/))&&F.index===0){z.ignoreMatch();return}}},l={$pattern:dp,keyword:t$,literal:n$,built_in:o$,"variable.language":s$},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)}]),b={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"}}]},E={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:{_:[...r$,...a$]}},P={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},_={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[b],illegal:/%/},A={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,O([...i$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},$={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:/\(\)/},b]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:E},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),P,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,E,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{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"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},$,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},B,A,j,M,{match:/\$[(.]/}]}}function C_(e){const t=e.regex,n=nye(e),r=dp,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:dp,keyword:t$.concat(c),literal:n$,built_in:o$.concat(a),"variable.language":s$},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 A_="[A-Za-z$_][0-9A-Za-z$_]*",rye=["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"],aye=["true","false","null","undefined","NaN","Infinity"],l$=["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"],c$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],u$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],iye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],sye=[].concat(u$,l$,c$);function T_(e){const t=e.regex,n=(R,{after:z})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,z)!==-1},r=A_,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 F;const I=R.input.substring(T);if(F=I.match(/^\s*=/)){z.ignoreMatch();return}if((F=I.match(/^\s+extends\s+/))&&F.index===0){z.ignoreMatch();return}}},l={$pattern:A_,keyword:rye,literal:aye,built_in:sye,"variable.language":iye},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)}]),b={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"}}]},E={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:{_:[...l$,...c$]}},P={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},_={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[b],illegal:/%/},A={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(R){return t.concat("(?!",R.join("|"),")")}const B={match:t.concat(/\b/,O([...u$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},$={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:/\(\)/},b]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:E},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),P,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,E,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{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"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},$,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},B,A,j,M,{match:/\$[(.]/}]}}const oye="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",lye={scope:"number",match:oye,relevance:0};function cye(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,lye,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function uye(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 O_(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function P_(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 R_(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 M_(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 dye(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 fye(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(b=>b.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:S(h),relevance:0};function N(k,{exceptions:b,when:j}={}){const E=j;return b=b||[],k.map(P=>P.match(/\|\d+$/)||b.includes(P)?P:E(P)?`${P}|0`:P)}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 I_(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 hye=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_-]*/}}),pye=["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"],mye=["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"],gye=[...pye,...mye],vye=["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(),yye=["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(),bye=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),xye=["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 wye(e){const t=e.regex,n=hye(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:":("+yye.join("|")+")"},{begin:":(:)?("+bye.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+xye.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:vye.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+gye.join("|")+")\\b"}]}}function $_(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}const kye={ts:C_,typescript:C_,js:T_,javascript:T_,json:cye,bash:uye,shell:O_,sh:O_,python:P_,py:P_,markdown:R_,md:R_,yaml:M_,yml:M_,diff:dye,sql:fye,html:I_,xml:I_,css:wye,text:$_,plaintext:$_};function d$(e){if(e==null)return"";const t=e;return typeof t.value=="string"?t.value:Array.isArray(t.children)?t.children.map(d$).join(""):""}function Sye({lang:e,code:t,children:n}){const[r,a]=x.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 jye({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=x.useMemo(()=>d$(n),[n]);return i.jsx(Sye,{lang:a,code:s,children:t})}function L_({text:e}){const t=x.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:jye}),[]);return i.jsx("div",{className:"md-root",children:i.jsx(she,{remarkPlugins:[bme],rehypePlugins:[[eye,{languages:kye}]],components:t,children:e??""})})}const D_=/```([\w+-]*)\n([\s\S]*?)```/g;function Nye(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 Eye(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 _ye(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 Cye(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 B_=/https?:\/\/[^\s)\]}"'<>]+/i,z_=/(🚀|deploy(?:ed|ment|ing)?|live at|published|available at|open the)/i;function Aye(e){return e.replace(/[.,;:!?]+$/,"")}function Tye(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(z_);!o&&a+1<t.length&&/deploy(?:ed|ment|ing)?:\s*$/i.test(s.trim())&&(o=t[a+1].match(z_));const l=s.match(B_)||(a+1<t.length?t[a+1].match(B_):null);if(!o||!l)continue;const c=Aye(l[0]);r.has(c)||(r.add(c),n.push({url:c,title:s.trim().slice(0,80)||"Deployment"}))}return n}function cv(e){const t=[],n=[],r=[];D_.lastIndex=0;let a;for(;(a=D_.exec(e))!==null;){const s=(a[1]||"").toLowerCase(),o=a[2];if(s==="diff"||o.includes("diff --git ")){const l=Nye(o);l.length>0&&t.push({files:l,summary:`${l.length} file${l.length===1?"":"s"} changed`})}else Eye(o)&&n.push({verdict:_ye(o),title:Cye(o),body:o})}for(const s of Tye(e))r.push(s);return{diffs:t,results:n,deploys:r}}const Oye=3e5,Pye=2e3,Rye=/\.(pdf|docx|xlsx|pptx)$/i,Mye=/\.(png|jpe?g|gif|webp|bmp|tiff?)$/i,Iye=/\.(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 $ye(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));return btoa(t)}function Lye(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"}:Rye.test(e)?{how:"binary"}:Iye.test(e)?{how:"text"}:Mye.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 Dye(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 Bye(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 zye(e){const t=String(e??"").trim().toLowerCase();return t==="max"||t==="maximum"||t==="unlimited"||t==="performance"||t==="performance-first"?"max":"balanced"}function kc({diff:e,selectable:t=!1,onCommitAccepted:n,lockedHint:r}){const[a,s]=x.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 f$({text:e,label:t}){const[n,r]=x.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 Fye({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(f$,{text:e.body,label:"result output"})]}),i.jsx("pre",{className:"chat-result-body",children:e.body})]})}function Uye({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(f$,{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 Wye({children:e}){const t=x.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 F_({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 Hye({request:e,onSave:t}){const[n,r]=x.useState({}),[a,s]=x.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 Gye({result:e}){const[t,n]=x.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 qye(e){return e==="done"?"✅":e==="running"?"🔄":e==="blocked"?"⛔":"⬜"}function Kye(e){return e==="done"?"done":e==="running"?"in progress":e==="blocked"?"blocked":"pending"}function U_({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:qye(c.status)})," ",Kye(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 W_({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:Bye(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 h$(e){return(e.evidence??[]).filter(t=>typeof(t==null?void 0:t.ref)=="string"&&t.ref.trim().length>0)}function Vye(e){const t=e.filter(n=>n.verdict==="CONFIRMED"&&h$(n).length>0).length;return`${e.length} finding${e.length===1?"":"s"}: ${t} confirmed, ${e.length-t} plausible`}function H_({findings:e}){return!e||e.length===0?null:i.jsxs("details",{className:"chat-steps chat-findings",children:[i.jsx("summary",{children:`🔎 ${Vye(e)}`}),i.jsx("div",{className:"chat-finding-cards",children:e.map((t,n)=>{const r=h$(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 Yye({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(kc,{diff:e.diff.payload})]})}function Xye({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 Qye({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 uv(){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 p$="nuvira.dashboard.chat.activeSession";function Zye(){try{const e=sessionStorage.getItem(p$);return e&&e.length>0&&e.length<=64?e:null}catch{return null}}function dv(e){try{sessionStorage.setItem(p$,e)}catch{}}function Jye(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 ebe(){var Wl;const[e,t]=x.useState(null),n=Kr(),[r,a]=x.useState(Oye);x.useEffect(()=>{K.fetchLimits().then(L=>{L&&L.attachmentMaxBytes>0&&a(L.attachmentMaxBytes)})},[]),x.useEffect(()=>{K.fetchProcessEnv().then(L=>{const J=L.find(te=>te.name==="NUVIRA_CAPABILITY_MODE");J&&E(zye(J.processValue??J.fileValue))})},[]),x.useEffect(()=>{K.listRoutableModels().then(L=>D(L))},[]);const[s,o]=x.useState([]),[l,c]=x.useState(""),[u,d]=x.useState(!1),[f,h]=x.useState(""),[p,m]=x.useState(null),[g,y]=x.useState(!1),[v,S]=x.useState(!1),[w,N]=x.useState(!1),[k,b]=x.useState(""),[j,E]=x.useState("balanced"),[P,_]=x.useState(""),[A,O]=x.useState(null),[B,$]=x.useState(!1),[M,D]=x.useState([]),[U,R]=x.useState(null),[z,T]=x.useState([]),[Z,F]=x.useState([]),[I,se]=x.useState(null),[he,ge]=x.useState(null),[Te,X]=x.useState(null),[Y,ie]=x.useState([]),[de,W]=x.useState([]),[xe,we]=x.useState([]),_e=x.useRef([]),ve=x.useRef([]),Le=x.useRef(null),pe=x.useRef(null),et=x.useRef(null),Be=x.useRef([]),[Me,at]=x.useState(""),Ge=x.useRef(""),wt=x.useRef(null),[fn,G]=x.useState(null),[Q,ce]=x.useState(null),[me,Ne]=x.useState(null),Oe=x.useRef(Zye()??uv()),It=x.useRef(""),[De,rn]=x.useState([]),[Vn,it]=x.useState(!0),[Dt,hn]=x.useState(""),[Vr,Yn]=x.useState(null),[_n,ur]=x.useState(""),[At,$n]=x.useState([]),[Tr,ma]=x.useState(null),[pn,Yr]=x.useState(!1),an=x.useRef(null),ga=x.useRef(null),[ze,Wi]=x.useState(null),[dr,Xa]=x.useState(null),[va,Hi]=x.useState([]),[fr,ya]=x.useState(""),[qs,Qa]=x.useState(""),[Gi,qi]=x.useState(!1),[Xn,Ks]=x.useState(""),[ba,Ki]=x.useState([]),[Il,Vs]=x.useState(null),[$l,xa]=x.useState(!1),[wa,ka]=x.useState([]),[Vi,H]=x.useState([]),[re,Ee]=x.useState(""),Se=x.useRef(null),$e=x.useRef(null),Ln=x.useRef(null),$t=x.useRef(null),[jt,Sa]=x.useState(null),[Xr,Ys]=x.useState(new Set),[hr,cd]=x.useState("");x.useEffect(()=>{K.fetchAdminAuthStatus().then(L=>{t(L?{configured:L.configured,authenticated:L.authenticated,role:L.role??null}:{configured:!1,authenticated:!1,role:null})})},[n]),x.useEffect(()=>{var L,J;try{(J=(L=Ln.current)==null?void 0:L.scrollTo)==null||J.call(L,{top:Ln.current.scrollHeight})}catch{}},[s,u,z]),x.useEffect(()=>()=>{var L;(L=$e.current)==null||L.call($e),$e.current=null},[]);const _m=x.useCallback(async L=>{var je,Cn;(je=$e.current)==null||je.call($e),$e.current=null;const J=await K.getChatSession(L);if(!J)return;Oe.current=L,dv(L),o(J.turns.map(mn=>({role:mn.role,content:mn.content,...mn.role==="assistant"?{followups:[],artifacts:cv(mn.content)}:{}}))),T([]),_e.current=[],F([]),ve.current=[],se(null),Le.current=null,ge(null),pe.current=null,X(null),et.current=null,ie([]),Be.current=[],Ge.current="",at(""),G(null),h(""),R(null),Sa(null),it(!0),O(J.pinnedProvider&&J.pinnedModel?{provider:J.pinnedProvider,model:J.pinnedModel}:null);const te=J.projectPath;if(te){if(Xa(te),(ze==null?void 0:ze.path)===te)return;(Cn=$t.current)==null||Cn.call($t,te)}else Xa(null)},[ze]),Za=x.useCallback(()=>{var L;(L=$e.current)==null||L.call($e),$e.current=null,Oe.current=uv(),dv(Oe.current),Xa(null),O(null),o([]),T([]),_e.current=[],F([]),ve.current=[],se(null),Le.current=null,ge(null),pe.current=null,X(null),et.current=null,ie([]),Be.current=[],Ge.current="",at(""),G(null),h(""),R(null),Sa(null),$n([]),ma(null),c(""),it(!0)},[]),Dn=x.useCallback(L=>{$n(J=>[...J,L].slice(-10))},[]),ud=x.useCallback(L=>{$n(J=>J.filter((te,je)=>je!==L))},[]),Bt=x.useCallback(async L=>{if(!L)return;if(L.size>r){h(`Attachment "${L.name}" is too large (max ${Math.round(r/1024)} KB). Raise the cap in Admin → Process Environment (NUVIRA_ATTACHMENT_MAX_BYTES).`);return}const J=new Uint8Array(await L.slice(0,8192).arrayBuffer()),te=Lye(L.name,J);if(te.how==="unsupported"){h(te.reason);return}if(te.how==="binary"){const Cn=new Uint8Array(await L.arrayBuffer());Dn({name:L.name,content:$ye(Cn),kind:"file",encoding:"base64"});return}const je=await L.text();Dn({name:L.name,content:je,kind:"file",encoding:"text"})},[Dn]),dd=x.useCallback(L=>{const J=L.currentTarget,te=L.clipboardData.getData("text")||"";te.length>=Pye&&(ga.current={start:J.selectionStart,end:J.selectionEnd},ma({text:te}))},[]),Cm=x.useCallback(()=>{const L=Tr;if(!L)return;const J=ga.current;c(te=>J?te.slice(0,J.start)+te.slice(J.end):te),Dn({name:"pasted-text.txt",content:L.text,kind:"paste",encoding:"text"}),ma(null),ga.current=null},[Tr,Dn]),Am=x.useCallback(L=>{Yn(L.id),ur(L.title==="(untitled conversation)"?"":L.title)},[]),fd=x.useCallback(async L=>{const J=await K.renameChatSession(L,_n);J.ok?rn(te=>te.map(je=>je.id===L?{...je,title:_n.trim()||je.title}:je)):h(J.error||"Could not rename the session."),Yn(null),ur("")},[_n]),Yi=x.useCallback(async L=>{const J=await K.deleteChatSession(L);J.ok?(rn(te=>te.filter(je=>je.id!==L)),Oe.current===L&&Za()):h(J.error||"Could not delete the session.")},[Za]),Xi=(e==null?void 0:e.authenticated)===!0&&(e.role==="admin"||e.role==="operator"),hd=x.useRef(!1);x.useEffect(()=>{if(!Xi||hd.current)return;hd.current=!0;const L=Oe.current;let J=!1,te=null;const je=async()=>{const Cn=await K.getChatSession(L);J||Cn&&(wt.current||o(Cn.turns.map(mn=>({role:mn.role,content:mn.content,...mn.role==="assistant"?{followups:[],artifacts:cv(mn.content)}:{}}))),d(Cn.busy===!0),Cn.busy&&(te=setTimeout(()=>void je(),2500)))};return je(),()=>{J=!0,te&&clearTimeout(te)}},[Xi]),x.useEffect(()=>{Xi&&(K.listChatSessions().then(L=>{Array.isArray(L)&&rn(L)}),K.listProjects().then(L=>{Array.isArray(L)&&Hi(L)}))},[Xi]);const Or=x.useCallback(async L=>{const J=L.trim();if(!J)return;Qa("");const te=await K.attachProject(J);if(te.ok&&te.project){Wi(te.project),ya("");const je=await K.listProjects();Array.isArray(je)&&Hi(je)}else Qa(te.error||"Could not attach that directory.")},[]);$t.current=Or;const ja=x.useCallback(async L=>{qi(!0),xa(!0),Ee("");const J=await K.browseDirectories(L,{showDrives:!L});J.ok&&(Ks(J.path),Ki(J.entries),Vs(J.parent),J.drives&&ka(J.drives),J.breadcrumbs&&H(J.breadcrumbs)),xa(!1)},[]),Ll=x.useCallback(async L=>{xa(!0),Ee("");const J=await K.browseDirectories(L);J.ok&&(Ks(J.path),Ki(J.entries),Vs(J.parent),J.breadcrumbs&&H(J.breadcrumbs)),xa(!1)},[]),Xs=x.useCallback(async()=>{if(!Xn)return;const L=await K.browseDirectories(Xn);L.ok&&Ki(L.entries)},[Xn]);x.useEffect(()=>K.onChatRetryEvent(J=>{if(J.sessionId!==Oe.current){K.listChatSessions().then(te=>{Array.isArray(te)&&rn(te)});return}o(te=>[...te,{role:"assistant",content:J.content}]),J.kind==="answer"&&G(null)}),[]),x.useEffect(()=>(Gi&&Xn&&(Se.current=setInterval(()=>{Xs()},5e3)),()=>{Se.current&&clearInterval(Se.current)}),[Gi,Xn,Xs]);const Tm=x.useCallback(async()=>{if(typeof window<"u"&&"showDirectoryPicker"in window)try{const te=(await window.showDirectoryPicker({mode:"read"})).name;if(!te){ja();return}Qa(""),d(!0);const je=await K.resolveFolder(te);d(!1),je.ok&&je.path?(ya(je.path),Or(je.path)):Qa('Folder "'+te+'" found — selecting it now. If this is wrong, type the full path below.');return}catch(J){if((J==null?void 0:J.name)==="AbortError")return}ja()},[ja,Or]),sn=x.useCallback(async(L,J)=>{var Hl,Gl,ql;const te=L.trim(),je=Array.isArray(J)?J:At;if(!te&&je.length===0||u)return;h(""),R(null),T([]),_e.current=[],F([]),ve.current=[],se(null),Le.current=null,ge(null),pe.current=null,X(null),et.current=null,ie([]),Be.current=[],o(C=>[...C,{role:"user",content:te,attachments:je.length>0?je:void 0}]),c(""),$n([]),ma(null),It.current=te||`[${je.length} attachment(s)]`,d(!0),it(!1);const Cn=Oe.current,mn=new AbortController;wt.current=mn,G(null),(Hl=$e.current)==null||Hl.call($e),$e.current=K.subscribeChat(Cn,{onToken:C=>{Ge.current+=C,at(Ge.current)},onProgress:C=>{_e.current=[..._e.current,C],T(_e.current)},onQuestion:C=>{Sa(C),Ys(new Set)},onTool:C=>{const q=[...ve.current],ne=q.findIndex(ue=>ue.id===C.id),ae={id:C.id,tool:C.tool,phase:C.phase,args:C.args,ok:C.ok,result:C.result,error:C.error,durationMs:C.durationMs};ne>=0?q[ne]=ae:q.push(ae),ve.current=q,F(q)},onPlan:C=>{const q={goal:C.goal,steps:C.steps.map(Dye),revision:C.revision};Le.current=q,se(q)},onDiff:C=>{const q={files:C.files,summary:C.summary};pe.current=q,ge(q)},onSkillDraft:C=>{const q={name:C.name,description:C.description,markdown:C.markdown,updatedAt:C.updatedAt,status:"pending"};et.current=q,X(q)},onFinding:C=>{Be.current=[...Be.current,C],ie(Be.current)},onSecretRequest:C=>{W(q=>{const ne=q.findIndex(ae=>ae.skillName===C.skillName);if(ne>=0){const ae=[...q];return ae[ne]=C,ae}return[...q,C]})},onExecutionResult:C=>{we(q=>[...q,C])}});const ct=await K.chatSend(Cn,te||`(see ${je.length} attachment${je.length===1?"":"s"})`,{...A?{provider:A.provider,model:A.model}:{},...A&&B?{strict:!0}:{},projectPath:ze==null?void 0:ze.path,attachments:je.map(C=>({name:C.name,content:C.content,kind:C.kind,encoding:C.encoding??"text"})),...g?{worktree:!0,keepWorktree:v}:{},...w?{resume:k.trim()||!0}:{}},mn.signal);if(wt.current=null,(Gl=$e.current)==null||Gl.call($e),$e.current=null,Ge.current="",at(""),ct.ok){R(ct.generationFailed?null:`${ct.provider??"provider"}${ct.model?` / ${ct.model}`:" (auto-routed)"}`),ce(ct.routingNotice??null),Ne(ct.workspaceNotice??null),ct.workspacePath&&ct.workspacePath!==(ze==null?void 0:ze.path)&&((ql=$t.current)==null||ql.call($t,ct.workspacePath)),G(ct.generationFailed&&!ct.retryQueued&&!ct.refused?te:null);const C=ct.content||"(the agent produced no text — try rephrasing)";o(q=>[...q,{role:"assistant",content:C,error:ct.generationFailed,followups:ct.followups,steps:_e.current,tools:ve.current,plan:Le.current,diff:pe.current,draft:et.current,findings:ct.findings??Be.current,worktree:ct.worktree,resume:ct.resume,turnReport:ct.turnReport,refused:ct.refused,needsProject:ct.needsProject,artifacts:cv(C)}])}else mn.signal.aborted?(h(""),G(null)):ct.unauthorized?(t(C=>C&&{...C,authenticated:!1}),h("Session expired — log in again to chat.")):(h(ct.error||"The agent could not answer — check that a provider API key is set for the dashboard process."),G(te));d(!1),it(!0)},[u,ze,At,g,v,w,k,A]),pd=x.useCallback(()=>{var L;(L=wt.current)==null||L.abort(),K.chatCancel(Oe.current)},[]),Dl=x.useCallback(async()=>{const L=j==="max"?"balanced":"max";_("");const J=await K.saveProcessEnvVar("NUVIRA_CAPABILITY_MODE",L);J.ok?(E(L),_(L==="max"?"⚡ Max capability is on for the next turn.":"⚖️ Back to balanced.")):_(J.error||"Could not change the capability mode.")},[j]),Bl=x.useCallback(async()=>{m(null);const L=await K.chatSupportBundle(Oe.current);m(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."})},[]),zl=x.useCallback(async L=>{X(te=>te&&{...te,status:"saving"});const J=await K.skillDraftAccept(L);X(te=>te&&{...te,status:J.ok?"saved":"error"}),J.ok||h(J.error||"Could not accept the draft.")},[]),md=x.useCallback(async L=>{const J=await K.skillDraftReject(L);J.ok?X(te=>te&&{...te,status:"rejected"}):h(J.error||"Could not reject the draft.")},[]),gd=x.useCallback(L=>{sn(`Revise the skill draft "${L}" — improve it per your best judgment and present it again.`)},[sn]),Qs=x.useCallback(async L=>{const J=await K.saveSecrets(L);if(!J.ok){h(J.error||"Could not save secrets.");return}const te=J.refused??[];te.length>0&&h(te.map(je=>je.reason==="provider-credential"?`${je.name} is a provider credential — set it up as a provider, skills never receive it.`:`${je.name} was not saved (${je.reason}).`).join(" "))},[]),vd=x.useCallback(L=>{if(L.length===0)return;const J=ze?` in the attached project ${ze.path}`:"";sn(`Commit exactly these files that I accepted on the diff card (and nothing else)${J}: ${L.join(", ")}. Show me a short confirmation before finishing.`)},[sn,ze]),Qr=x.useCallback(async L=>{const J=jt;if(!J)return;Sa(null),cd(""),Ys(new Set);const te=await K.chatRespond(Oe.current,J.questionId,L);te.ok||h(te.error||"The question could not be answered — try sending your message again.")},[jt]),Fl=x.useCallback(()=>{if(!jt)return;const L=hr.trim(),J=jt.multiSelect?[...Xr]:[...Xr][0];jt.multiSelect?Qr({index:[...Xr],...L?{custom:L}:{}}):Qr(L?{index:-1,custom:L}:J!==void 0?{index:J}:{index:-1})},[jt,Xr,hr,Qr]),yd=x.useCallback(()=>{jt&&Qr({index:-1})},[jt,Qr]),bd=x.useCallback(L=>{Ys(J=>{const te=new Set(J);return jt!=null&&jt.multiSelect?te.has(L)?te.delete(L):te.add(L):(te.clear(),te.add(L)),te})},[jt]),xd=x.useCallback(async()=>{var J;(J=$e.current)==null||J.call($e),$e.current=null,Oe.current=uv(),dv(Oe.current),o([]),T([]),_e.current=[],F([]),ve.current=[],se(null),Le.current=null,ge(null),pe.current=null,X(null),et.current=null,ie([]),Be.current=[],Ge.current="",at(""),G(null),h(""),R(null),Sa(null);const L=await K.listChatSessions();Array.isArray(L)&&rn(L)},[]),Ul=((Wl=[...s].reverse().find(L=>{var J;return L.role==="assistant"&&!L.error&&(((J=L.followups)==null?void 0:J.length)??0)>0}))==null?void 0:Wl.followups)??[];return i.jsxs("div",{className:"panel",children:[i.jsx(Re,{icon:"💬",title:"Chat with the agent",actions:i.jsxs("div",{className:"chat-head-actions",children:[U?i.jsx("span",{className:"admin-hint",children:U}):null,i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void xd(),disabled:u||s.length===0,children:"🗑 New conversation"})]})}),e!=null&&e.authenticated?Xi?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"chat-project-bar",children:ze?i.jsxs("div",{className:"chat-project-attached",children:[i.jsx("span",{className:"chat-project-icon",children:"📁"}),i.jsx("span",{className:"chat-project-name",children:ze.name}),i.jsxs("span",{className:"chat-project-meta",children:[ze.fileCount," files · ",ze.symbolCount," symbols",ze.truncated?" · truncated map":""]}),i.jsx("span",{className:"chat-project-path",title:ze.path,children:ze.path}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>Wi(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 Or(L.path),children:L.name},L.path))}):null,i.jsx("input",{className:"chat-project-input",value:fr,onChange:L=>ya(L.target.value),onKeyDown:L=>{L.key==="Enter"&&(L.preventDefault(),Or(fr))},placeholder:"or type a path, e.g. ~/code/my-app",disabled:u}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Or(fr),disabled:u||!fr.trim(),children:"Attach"}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>void Tm(),title:"Pick a project folder using your system's folder picker (Finder / Explorer)",children:"🗂️ Browse"}),qs?i.jsx("span",{className:"chat-project-error",children:qs}):null,Gi?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:()=>qi(!1),title:"Close",children:"✕"}),i.jsx("div",{className:"chat-browse-breadcrumbs",children:wa.length>0&&!Xn?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 ja(),children:"🏠"}),Vi.map((L,J)=>i.jsxs("span",{children:[i.jsx("span",{className:"chat-breadcrumb-sep",children:"/"}),i.jsx("button",{type:"button",className:"chat-breadcrumb",onClick:()=>void Ll(L.path),children:L.name})]},L.path))]})})]}),wa.length>0&&!Xn?i.jsx("div",{className:"chat-browse-drives",children:wa.map(L=>i.jsx("button",{type:"button",className:"chat-browse-drive",onClick:()=>void Ll(L.path),children:L.name},L.path))}):null,ba.length>5?i.jsx("div",{className:"chat-browse-search",children:i.jsx("input",{type:"text",className:"chat-browse-filter",placeholder:"🔍 Filter folders…",value:re,onChange:L=>Ee(L.target.value),autoFocus:!0})}):null,i.jsx("div",{className:"chat-browse-list",children:$l?i.jsx("span",{className:"admin-hint",children:"Loading…"}):ba.length===0?i.jsx("span",{className:"admin-hint",children:"No subdirectories found"}):ba.filter(L=>!re||L.name.toLowerCase().includes(re.toLowerCase())).map(L=>i.jsxs("button",{type:"button",className:"chat-browse-entry",onClick:()=>void Ll(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 Xs(),title:"Refresh folder list",children:"🔄"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>{qi(!1),Or(Xn)},disabled:!Xn,children:"📁 Select this folder"})]})]}):null]})}),dr&&(!ze||ze.path!==dr)?i.jsxs("div",{className:"chat-session-project-banner",children:[i.jsxs("span",{children:["⚠️ This conversation was working in ",i.jsx("code",{children:dr})]}),ze?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Or(dr),children:"📁 Switch to it"}):i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Or(dr),children:"📁 Attach it"})]}):null,i.jsxs("div",{className:"chat-layout",children:[Vn?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:Za,children:"+ New"}),i.jsx("button",{type:"button",className:"chat-mini-action",title:"Collapse history",onClick:()=>it(!1),children:"▸"})]})]}),i.jsx("input",{className:"chat-session-search",placeholder:"Search conversations…",value:Dt,onChange:L=>hn(L.target.value)}),De.length===0?i.jsx("div",{className:"chat-sidebar-empty",children:"No past conversations yet."}):i.jsx("div",{className:"chat-sidebar-list",children:Jye(De,Dt).map(({label:L,items:J})=>i.jsxs("div",{className:"chat-session-group",children:[i.jsx("div",{className:"chat-session-group-label",children:L}),J.map(te=>i.jsx("div",{className:`chat-session-item${te.id===Oe.current?" chat-session-active":""}`,children:Vr===te.id?i.jsxs("div",{className:"chat-session-rename",children:[i.jsx("input",{autoFocus:!0,value:_n,onChange:je=>ur(je.target.value),onKeyDown:je=>{je.key==="Enter"&&fd(te.id),je.key==="Escape"&&Yn(null)},placeholder:"Session title"}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>void fd(te.id),children:"✓"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("button",{type:"button",className:"chat-session-main",onClick:()=>void _m(te.id),title:te.preview||te.title,children:[i.jsx("span",{className:"chat-session-title",children:te.title}),i.jsx("span",{className:"chat-session-preview",children:te.firstUser||te.preview}),i.jsxs("span",{className:"chat-session-meta",children:[te.projectPath?`📁 ${te.projectPath.split("/").pop()} · `:"",te.turnCount," msg",te.turnCount===1?"":"s"," · ",new Date(te.updatedAt).toLocaleString()]})]}),i.jsxs("span",{className:"chat-session-actions",children:[i.jsx("button",{type:"button",className:"chat-mini-action",title:"Rename",onClick:()=>Am(te),children:"✏️"}),i.jsx("button",{type:"button",className:"chat-mini-action",title:"Delete",onClick:()=>void Yi(te.id),children:"🗑"})]})]})},te.id))]},L))})]}):i.jsx("div",{className:"chat-rail",children:i.jsx("button",{type:"button",className:"chat-rail-btn",onClick:()=>it(!0),title:"Show history",children:"📁"})}),i.jsxs("div",{className:"chat-main",children:[i.jsxs("div",{className:"chat-thread",ref:Ln,role:"log","aria-live":"polite",children:[s.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"})]})]}):s.map((L,J)=>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(L_,{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(te=>te.name).join(", ")]}),L.attachments.map((te,je)=>i.jsxs("div",{className:"chat-attach-content",children:[i.jsxs("div",{className:"admin-hint",children:[te.name," — ",bt(te.content.length)," chars"]}),i.jsx("pre",{children:te.content})]},je))]}):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(kc,{diff:L.diff,selectable:!0,onCommitAccepted:vd})]}):null,L.role==="assistant"&&L.artifacts&&(L.artifacts.diffs.length>0||L.artifacts.results.length>0||L.artifacts.deploys.length>0)?i.jsxs(Wye,{children:[L.artifacts.diffs.map((te,je)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Diff: ${te.summary}`,className:"chat-artifact-item",children:ze?i.jsx(kc,{diff:te,selectable:!0,onCommitAccepted:vd}):i.jsx(kc,{diff:te,lockedHint:"Attach a project to review and commit these changes."})},`diff-${je}`)),L.artifacts.results.map((te,je)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Result: ${te.title}`,className:"chat-artifact-item",children:i.jsx(Fye,{result:te})},`result-${je}`)),L.artifacts.deploys.map((te,je)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Deployment: ${te.url}`,className:"chat-artifact-item",children:i.jsx(Uye,{deploy:te})},`deploy-${je}`))]}):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(F_,{draft:L.draft,onAccept:zl,onReject:md,onEdit:gd})]}):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(U_,{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(Yye,{worktree:L.worktree}):null,L.role==="assistant"&&L.resume?i.jsx(Xye,{resume:L.resume}):null,L.role==="assistant"&&L.turnReport?i.jsx(Qye,{report:L.turnReport}):null,L.role==="assistant"&&L.findings&&L.findings.length>0?i.jsx(H_,{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(W_,{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((te,je)=>i.jsx("div",{children:te.trim()},je))})]}):null]},J)),u?i.jsxs("div",{className:"chat-bubble chat-assistant",children:[i.jsx("div",{className:"chat-bubble-role",children:"🤖 Agent"}),I?i.jsx(U_,{plan:I}):null,he?i.jsx(kc,{diff:he}):null,g&&u?i.jsx("div",{className:"chat-resume-line",children:"🌿 this turn is running in its own git worktree — the diff arrives with the answer"}):null,w&&u?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,Y.length>0?i.jsx(H_,{findings:Y}):null,Te?i.jsx(F_,{draft:Te,onAccept:zl,onReject:md,onEdit:gd}):null,de.map(L=>i.jsx(Hye,{request:L,onSave:Qs},L.skillName)),xe.map((L,J)=>i.jsx(Gye,{result:L},`${L.skillName}-${J}`)),i.jsx(W_,{tools:Z,live:!0}),Me?i.jsx("div",{className:"chat-bubble-text chat-streaming",children:i.jsx(L_,{text:Me})}):null,i.jsx("div",{className:"chat-working",children:z.length>0?i.jsx("span",{className:"chat-working-lines",children:z.map((L,J)=>i.jsx("div",{className:"chat-step-line",children:L.trim()},J))}):i.jsxs(i.Fragment,{children:["💭 thinking… ",i.jsx("span",{className:"chat-dots"})]})})]}):null]}),f?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:f}):null,Q?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:[i.jsxs("span",{children:["ℹ️ ",Q]})," ",i.jsx("button",{className:"chat-routing-notice-dismiss",type:"button","aria-label":"Dismiss routing notice",onClick:()=>ce(null),children:"✕"})]}):null,me?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:[i.jsxs("span",{children:["📁 ",me]})," ",i.jsx("button",{className:"chat-routing-notice-dismiss",type:"button","aria-label":"Dismiss workspace notice",onClick:()=>Ne(null),children:"✕"})]}):null,p?i.jsx("div",{className:`admin-row-msg${p.kind==="err"?" admin-row-msg-err":""}`,children:p.text}):null,fn&&!u?i.jsxs("div",{className:"chat-retry-row",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void sn(fn),children:"↻ Retry"}),i.jsx("span",{className:"admin-hint",children:"Re-send the last message — the turn failed."})]}):null,jt?i.jsxs("div",{className:"chat-resolve-card chat-question-card",children:[i.jsx("div",{className:"chat-resolve-head",children:i.jsxs("strong",{children:["🤔 ",jt.question]})}),i.jsx("div",{className:"chat-resolve-options",children:jt.choices.map((L,J)=>i.jsxs("button",{type:"button",className:`chat-chip${Xr.has(J)?" chat-chip-selected":""}`,onClick:()=>bd(J),children:[L.label,L.description?i.jsxs("span",{className:"admin-hint",children:[" — ",L.description]}):null]},`${L.label}-${J}`))}),i.jsx("input",{className:"chat-question-custom",type:"text",placeholder:"✏️ Or type your own answer…",value:hr,onChange:L=>cd(L.target.value),onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey&&(L.preventDefault(),Fl())}}),i.jsxs("div",{className:"chat-resolve-foot",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:Fl,children:hr.trim()?"Send answer":jt.multiSelect?"Submit":"Choose"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:yd,children:"Skip — best judgment"})]})]}):null,Ul.length>0&&!u?i.jsxs("div",{className:"chat-followups",children:[i.jsx("span",{className:"admin-hint",children:"Next steps:"}),Ul.map((L,J)=>i.jsx("button",{className:"chat-chip",type:"button",onClick:()=>void sn(L.prompt),children:L.label||L.prompt},J))]}):null,i.jsxs("form",{className:`chat-composer${pn?" chat-composer-drag":""}`,onSubmit:L=>{L.preventDefault(),sn(l)},onDragOver:L=>{L.preventDefault(),Yr(!0)},onDragLeave:()=>Yr(!1),onDrop:L=>{var te;L.preventDefault(),Yr(!1);const J=Array.from(((te=L.dataTransfer)==null?void 0:te.files)??[]);for(const je of J.slice(0,10))Bt(je)},children:[Tr?i.jsxs("div",{className:"chat-paste-offer",children:[i.jsxs("span",{className:"admin-hint",children:["📄 You pasted ",bt(Tr.text.length)," characters. Attach it as a file instead?"]}),i.jsx("button",{type:"button",className:"chat-chip",onClick:Cm,children:"Attach as text"}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>{ma(null),ga.current=null},children:"Keep inline"})]}):null,At.length>0?i.jsx("div",{className:"chat-attach-row",children:At.map((L,J)=>i.jsxs("span",{className:"chat-attach-chip",title:L.encoding==="base64"?`${L.name} (${bt(L.content.length)} base64 chars — read on the server)`:`${L.name} (${bt(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`:`${bt(L.content.length)}c`}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>ud(J),children:"✕"})]},`${L.name}-${J}`))}):null,i.jsxs("div",{className:"chat-controls",children:[i.jsx("input",{ref:an,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 te;const J=(te=L.target.files)==null?void 0:te[0];J&&Bt(J),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:u||At.length>=10,onClick:()=>{var L;return(L=an.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 Bl(),children:"🐞 debug"}),i.jsxs("button",{type:"button",className:`chat-attach-btn${g?" chat-attach-btn-on":""}`,"aria-label":"Run turns in an isolated git worktree","aria-pressed":g,title:g?"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:()=>{y(L=>!L),m(null)},children:["🌿",g?" isolated":" isolate"]}),i.jsxs("button",{type:"button",className:`chat-attach-btn${w?" chat-attach-btn-on":""}`,"aria-label":"Replay this ask's recorded steps instead of paying for them again","aria-pressed":w,title:w?"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:()=>{N(L=>!L),m(null)},children:["↩️",w?" resuming":" resume"]}),w?i.jsx("input",{className:"chat-resume-input",value:k,onChange:L=>b(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:u}):null,g?i.jsxs("button",{type:"button",className:`chat-attach-btn${v?" chat-attach-btn-on":""}`,"aria-pressed":v,title:v?"The worktree is KEPT after the turn so you can look inside it":"The worktree is measured and removed after each turn",onClick:()=>S(L=>!L),children:["📌",v?" 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:u,onChange:L=>{const J=L.target.value;if(!J){O(null);return}const te=J.indexOf("|");O({provider:J.slice(0,te),model:J.slice(te+1)})},children:[i.jsx("option",{value:"",children:"🤖 Auto (agent decides)"}),A&&!M.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,M.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${B?" chat-attach-btn-on":""}`,"aria-label":"Strict model pin: use this model only","aria-pressed":B,disabled:u,title:B?`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:()=>$(L=>!L),children:B?"🔒 strict":"🔓 auto-fallback"}):null,i.jsx("button",{type:"button",className:`chat-attach-btn${j==="max"?" chat-attach-btn-on":""}`,"aria-label":"Capability mode: balanced or max","aria-pressed":j==="max",disabled:u,title:j==="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 Dl(),children:j==="max"?"⚡ max":"⚖️ balanced"}),P?i.jsx("span",{className:"admin-hint",children:P}):null]}),i.jsxs("div",{className:"chat-input-row",children:[i.jsx("textarea",{className:"chat-input-box",value:l,onChange:L=>c(L.target.value),onPaste:dd,onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey?(L.preventDefault(),sn(l)):L.key==="ArrowUp"&&l===""&&It.current&&(L.preventDefault(),c(It.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:u,maxLength:8e3,rows:1,autoFocus:!0}),u?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:u||!l.trim()&&At.length===0,children:u?"⏳ 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."}),(e==null?void 0:e.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 tbe={running:"⏳ running",done:"✅ done",failed:"❌ failed",cancelled:"⏹ cancelled",timeout:"⏰ timed out",error:"💥 error"};function m$({presets:e,customPlaceholder:t,timeoutMs:n=3e5,hint:r}){const[a,s]=x.useState(null),o=Kr(),[l,c]=x.useState(!1),[u,d]=x.useState(""),[f,h]=x.useState(""),[p,m]=x.useState(null),[g,y]=x.useState([]),v=x.useRef(null),S=x.useRef(null);x.useEffect(()=>{K.fetchAdminAuthStatus().then(b=>{s(b?{authenticated:b.authenticated,role:b.role??null}:{authenticated:!1,role:null})})},[o]),x.useEffect(()=>{var b,j;try{(j=(b=v.current)==null?void 0:b.scrollIntoView)==null||j.call(b,{block:"end"})}catch{}},[g]),x.useEffect(()=>()=>{var b;(b=S.current)==null||b.call(S)},[]);const w=(a==null?void 0:a.authenticated)===!0&&(a.role==="admin"||a.role==="operator"),N=x.useCallback(async(b,j)=>{var A;if(l)return;c(!0),d(""),y([]);const E=await K.startTask(b,j??n);if(!E.ok||!E.task){d(E.error||"Could not start the command."),c(!1);return}const P=E.task;m(P);const _=await K.getTask(P.id);_!=null&&_.task&&y(_.task.logs.map(O=>({stream:O.stream,text:O.text}))),(A=S.current)==null||A.call(S),S.current=K.subscribeTask(P.id,{onLog:O=>y(B=>[...B,{stream:O.stream,text:O.text}]),onStatus:O=>{m(B=>B&&{...B,status:O}),O!=="running"&&c(!1)}})},[l,n]),k=x.useCallback(async()=>{p&&await K.cancelTask(p.id)},[p]);return i.jsxs("div",{className:"ops-console",children:[a!=null&&a.authenticated?w?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"ops-presets",children:e.map(b=>i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void N(b.args,b.timeoutMs),disabled:l,children:b.label},b.label))}),i.jsxs("div",{className:"ops-custom-row",children:[i.jsx("input",{type:"text",value:f,onChange:b=>h(b.target.value),placeholder:t,disabled:l,maxLength:160}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void N(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:tbe[p.status]})]}),p.status==="running"?i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void k(),children:"⏹ Cancel"}):null]}),i.jsxs("pre",{className:"ops-console",role:"log",children:[g.length>0?g.map((b,j)=>i.jsx("div",{children:b.text},j)):i.jsx("div",{className:"admin-hint",children:"Waiting for output…"}),i.jsx("div",{ref:v})]})]}):null]})}const nbe=[{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 G_(e){return typeof e!="number"?"—":`${Math.round(e*100)}%`}function rbe(e){return new Date(e).toLocaleString()}function abe({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(Re,{icon:"🏆",title:"Evals — run buff eval from the GUI"}),i.jsx(m$,{presets:nbe,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:rbe(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:G_(r.summary.completionRate)}),i.jsx("td",{children:G_(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 ibe=[{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 sbe(){return i.jsxs("div",{className:"panel",children:[i.jsx(Re,{icon:"🌐",title:"Gateway ops — run buff gateway from the GUI"}),i.jsx(m$,{presets:ibe,customPlaceholder:"e.g. admin cron run nightly or gateway alias add ops email:team@example.com",timeoutMs:3e5,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. ",i.jsx("code",{children:"gateway start"})," runs in the foreground ",i.jsx("strong",{children:"with no timeout"}),": it keeps running even after you switch tabs (the process lives on the dashboard server, not the page) and streams platform events until you press ",i.jsx("strong",{children:"Cancel"}),". The delivery ledger also has its own view in"," ",i.jsx("strong",{children:"Agent Hub → Channels"}),"."]})})]})}const fv={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 obe(){const[e,t]=x.useState(null),[n,r]=x.useState("all"),[a,s]=x.useState(null),[o,l]=x.useState(0),[c,u]=x.useState({}),[d,f]=x.useState(!1),[h,p]=x.useState(null),[m,g]=x.useState({status:"idle"}),[y,v]=x.useState(""),[S,w]=x.useState("Hello from agent-nuvira!"),[N,k]=x.useState(!1),[b,j]=x.useState(null),E=x.useRef(!0),P=x.useCallback(async()=>{const R=await K.getPlatformConfigs();E.current&&t(R)},[]);x.useEffect(()=>(P(),()=>{E.current=!1}),[P]);const _=R=>{s(R),l(0),u(Object.fromEntries(R.envVars.map(T=>[T.varName,T.value]))),p(null),g({status:"idle"});const z=fv[R.platform];v((z==null?void 0:z.testTarget)??""),w("Hello from agent-nuvira!"),j(null)},A=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."}))},O=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..."}),P(),l(2),A()):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 $=e.filter(R=>R.configured).length,M=e.filter(R=>n==="configured"?R.configured:n==="unconfigured"?!R.configured:!0),D=a?fv[a.platform]:null;function U(R){return o===R?"wizard-step-dot active":"wizard-step-dot"}return i.jsxs("div",{className:"panel",children:[i.jsx(Re,{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.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.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=fv[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:()=>_(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:U(0),children:"1"}),i.jsx("span",{className:U(1),children:"2"}),i.jsx("span",{className:U(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 O(),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"})]}),b?i.jsx("div",{className:b.kind==="ok"?"admin-row-msg":"admin-row-msg admin-row-msg-err",children:b.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 lbe=[{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)"}],q_=[{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 cbe({canWrite:e,sessionExpired:t}){const[n,r]=x.useState(null),[a,s]=x.useState(null),[o,l]=x.useState(!1),[c,u]=x.useState("overview"),d=x.useRef(!0),[f,h]=x.useState("bearer"),[p,m]=x.useState(""),[g,y]=x.useState(""),[v,S]=x.useState(""),[w,N]=x.useState("us-east-1"),[k,b]=x.useState(q_.filter($=>$.checked).map($=>$.name)),[j,E]=x.useState(!1),[P,_]=x.useState(null),A=x.useCallback(async()=>{const $=await K.getBedrockStatus();d.current&&r($)},[]);x.useEffect(()=>(A(),()=>{d.current=!1}),[A]);const O=async()=>{l(!0),s(null);try{const $=await K.probeBedrock((n==null?void 0:n.region)||"us-east-1");if(!d.current)return;$.ok&&$.models&&(s($.models),u("test"))}catch{}finally{d.current&&l(!1)}},B=async()=>{E(!0),_(null);try{const $={BEDROCK_REGION:w};f==="bearer"&&p?$.AWS_BEARER_TOKEN=p:f==="iam"&&(g&&($.AWS_ACCESS_KEY_ID=g),v&&($.AWS_SECRET_ACCESS_KEY=v));const M=await K.setupBedrock($);if(!d.current)return;M.ok?(_({kind:"ok",text:"✅ Configuration saved! Running connectivity test…"}),u("overview"),await A(),setTimeout(()=>void O(),500)):_({kind:"err",text:M.error||"Save failed"})}catch{d.current&&_({kind:"err",text:"Could not reach the dashboard server."})}finally{d.current&&E(!1)}};return n===null?i.jsx("div",{className:"empty-state",children:"Loading Bedrock status…"}):i.jsxs("div",{className:"bedrock-onboarding",children:[i.jsx(Re,{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"}),"."]}),P?i.jsx("div",{className:`admin-row-msg${P.kind==="ok"?"":" admin-row-msg-err"}`,children:P.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 O(),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:$=>m($.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:$=>y($.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:$=>S($.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:$=>N($.target.value),children:lbe.map($=>i.jsx("option",{value:$.value,children:$.label},$.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:q_.map($=>i.jsxs("label",{className:`bedrock-family-card ${k.includes($.name)?"selected":""}`,children:[i.jsx("input",{type:"checkbox",checked:k.includes($.name),onChange:M=>{M.target.checked?b(D=>[...D,$.name]):b(D=>D.filter(U=>U!==$.name))}}),i.jsxs("div",{children:[i.jsx("strong",{children:$.name}),i.jsxs("span",{children:[$.models.length," model(s)"]})]})]},$.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.jsxs("div",{className:`bedrock-probe-card bedrock-probe-${$.status}`,children:[i.jsx("span",{className:"bedrock-probe-icon",children:$.status==="accessible"?"✅":$.status==="permission-denied"?"🔒":$.status==="not-found"?"⚫":"❌"}),i.jsx("span",{className:"bedrock-probe-id",children:$.modelId}),i.jsx("span",{className:"bedrock-probe-status",children:$.status==="accessible"?"Ready":$.status==="permission-denied"?`Need access (HTTP ${$.httpStatus})`:$.status==="not-found"?"Not in this region":"Error"})]},$.modelId))}),a.some($=>$.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 hv=["whatsapp","whatsapp_cloud","telegram","signal","slack","discord","email"];function ube(){const[e,t]=x.useState([]),[n,r]=x.useState(!0),[a,s]=x.useState("all"),[o,l]=x.useState(null),[c,u]=x.useState(""),[d,f]=x.useState(""),[h,p]=x.useState(null),[m,g]=x.useState({}),[y,v]=x.useState({}),[S,w]=x.useState({}),[N,k]=x.useState(null),[b,j]=x.useState(!1),[E,P]=x.useState(!1),[_,A]=x.useState(!1),[O,B]=x.useState(12e4),$=x.useCallback(async()=>{r(!0);const X=await K.getContacts();X.ok&&X.contacts&&t(X.contacts);const Y=await K.gatewayPolicies();if(Y.ok&&Y.policies){const ie={};for(const de of hv){const W=Y.policies[de];W&&(ie[de]={...W.outboundSenders!==void 0?{outboundSenders:W.outboundSenders}:{},...W.requireApprovedTarget!==void 0?{requireApprovedTarget:W.requireApprovedTarget}:{}})}g(ie),v(ie)}P(Y.askUserWait===!0),A(Y.askUserWait===!0),typeof Y.askUserTimeoutMs=="number"&&B(Y.askUserTimeoutMs),r(!1)},[]);x.useEffect(()=>{$()},[$]);const M=e.filter(X=>a==="all"||X.status===a),D=async X=>{p(null);const Y=await K.approveContact(X.platform,X.name);p(Y.ok?{kind:"ok",text:`✅ ${X.name} approved.`}:{kind:"err",text:Y.error||"Failed."}),$()},U=async X=>{p(null);const Y=await K.rejectContact(X.platform,X.name);p(Y.ok?{kind:"ok",text:`🚫 ${X.name} rejected.`}:{kind:"err",text:Y.error||"Failed."}),$()},R=async X=>{p(null);const Y=await K.deleteContact(X.platform,X.name);p(Y.ok?{kind:"ok",text:`🗑️ ${X.name} deleted.`}:{kind:"err",text:Y.error||"Failed."}),$()},z=async()=>{if(!o)return;p(null);const X=await K.updateContact(o.platform,o.id,{name:c,phone:d});p(X.ok?{kind:"ok",text:`✅ ${c} updated.`}:{kind:"err",text:X.error||"Failed."}),l(null),$()},T=X=>X==="approved"?i.jsx("span",{className:"contact-status-badge approved",children:"✅ Approved"}):X==="pending"?i.jsx("span",{className:"contact-status-badge pending",children:"⏳ Pending"}):i.jsx("span",{className:"contact-status-badge rejected",children:"🚫 Rejected"}),Z=X=>({telegram:"✈️",whatsapp:"📱",whatsapp_cloud:"📱",email:"📧",slack:"💬",discord:"🎮"})[X]||"🔌",F=X=>X?new Date(X).toLocaleString():"—",I=X=>{const Y=(S[X]??"").trim();Y&&(g(ie=>{var xe;const de={...ie[X]??{}},W=de.outboundSenders??((xe=y[X])==null?void 0:xe.outboundSenders)??[];return W.some(we=>we.toLowerCase()===Y.toLowerCase())||(de.outboundSenders=[...W,Y]),{...ie,[X]:de}}),w(ie=>({...ie,[X]:""})))},se=(X,Y)=>{g(ie=>{var xe;const de={...ie[X]??{}},W=de.outboundSenders??((xe=y[X])==null?void 0:xe.outboundSenders)??[];return de.outboundSenders=W.filter(we=>we.toLowerCase()!==Y.toLowerCase()),{...ie,[X]:de}})},he=X=>{g(Y=>{const ie={...Y[X]??{}};return ie.requireApprovedTarget=ie.requireApprovedTarget!==!0,{...Y,[X]:ie}})},ge=X=>{g(Y=>{const ie={...Y[X]??{}};return delete ie.outboundSenders,{...Y,[X]:ie}})},Te=async()=>{j(!0),k(null);const X={};for(const de of hv){const W=m[de]??{},xe=y[de]??{};(JSON.stringify(W.outboundSenders??null)!==JSON.stringify(xe.outboundSenders??null)||!!W.requireApprovedTarget!=!!xe.requireApprovedTarget)&&(X[de]={...W.outboundSenders!==void 0?{outboundSenders:W.outboundSenders}:{outboundSenders:null},requireApprovedTarget:!!W.requireApprovedTarget})}const Y=E!==_;if(Object.keys(X).length===0&&!Y){j(!1),k({kind:"ok",text:"No changes to save."});return}const ie=await K.saveGatewayPolicies(X,void 0,void 0,{wait:E,timeoutMs:O});ie.ok?(k({kind:"ok",text:"✅ Send authority saved."}),$()):k({kind:"err",text:ie.error||"Failed to save send authority."}),j(!1)};return i.jsxs("div",{className:"panel contacts-page",children:[i.jsx(Re,{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(X=>i.jsx("button",{type:"button",className:a===X?"platforms-filter-btn active":"platforms-filter-btn",onClick:()=>s(X),children:X==="all"?`All (${e.length})`:X==="approved"?`✅ Approved (${e.filter(Y=>Y.status==="approved").length})`:X==="pending"?`⏳ Pending (${e.filter(Y=>Y.status==="pending").length})`:`🚫 Rejected (${e.filter(Y=>Y.status==="rejected").length})`},X)),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void $(),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(X=>i.jsxs("tr",{className:`contact-row status-${X.status}`,children:[i.jsxs("td",{children:[Z(X.platform)," ",X.platform]}),i.jsx("td",{className:"contact-name",children:X.name}),i.jsx("td",{className:"contact-id",children:i.jsx("code",{children:X.id})}),i.jsx("td",{className:"contact-phone",children:X.phone||"—"}),i.jsx("td",{children:T(X.status)}),i.jsx("td",{className:"contact-date",children:F(X.registeredAt||X.addedAt)}),i.jsxs("td",{className:"contact-actions",children:[X.status!=="approved"&&i.jsx("button",{className:"admin-mini-btn contact-approve-btn",onClick:()=>void D(X),children:"✅ Approve"}),X.status!=="rejected"&&i.jsx("button",{className:"admin-mini-btn contact-reject-btn",onClick:()=>void U(X),children:"🚫 Reject"}),i.jsx("button",{className:"admin-mini-btn",onClick:()=>{l(X),u(X.name),f(X.phone||"")},children:"✏️ Edit"}),i.jsx("button",{className:"admin-mini-btn contact-delete-btn",onClick:()=>void R(X),children:"🗑️"})]})]},`${X.platform}:${X.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:hv.map(X=>{const Y=m[X]??{},ie=Y.outboundSenders??[],de=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(X)," ",X]}),de?i.jsx("span",{className:"hub-chip",children:"open"}):i.jsx("span",{className:"hub-chip",children:"restricted"})]}),i.jsx("div",{className:"hub-alias-list",children:de?i.jsx("span",{className:"admin-hint",children:"Open — anyone who can trigger the agent may send to others."}):ie.length===0?i.jsx("span",{className:"admin-hint",children:"(empty — nobody may send to others)"}):ie.map(W=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:W}),i.jsx("button",{className:"admin-refresh-btn",disabled:b,onClick:()=>se(X,W),children:"✕"})]},`sa-${X}-${W}`))}),i.jsxs("div",{className:"hub-send-form",children:[i.jsx("input",{type:"text","aria-label":`Allowed sender for ${X}`,value:S[X]??"",onChange:W=>w(xe=>({...xe,[X]:W.target.value})),placeholder:"sender id, or Allow-All",disabled:b}),i.jsx("button",{className:"admin-refresh-btn",disabled:b||!(S[X]??"").trim(),onClick:()=>I(X),children:"+ Sender"}),de?null:i.jsx("button",{className:"admin-refresh-btn",disabled:b,onClick:()=>ge(X),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:b,onChange:()=>he(X)}),i.jsx("span",{className:"admin-hint",children:"Require approved recipients"})]})]},`sa-${X}`)})}),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"}),E?i.jsx("span",{className:"hub-chip",children:"wait for reply"}):i.jsx("span",{className:"hub-chip",children:"assume option 1"}),E!==_?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:E,disabled:b,onChange:()=>P(X=>!X)}),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."]})]}),E?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(O/1e3),disabled:b,onChange:X=>B(Math.max(5,Math.min(600,Number(X.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:b,onClick:()=>void Te(),children:"💾 Save send authority"})}),o&&i.jsx("div",{className:"wizard-overlay",onClick:()=>l(null),children:i.jsxs("div",{className:"wizard-modal",onClick:X=>X.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:X=>u(X.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:X=>f(X.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 K_=["proven-dead","proof-expired","parked","never-verified"];function Do(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 dbe(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 fbe({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: ${Do(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: ${Do(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: ${Do(a)}`,children:i.jsx("div",{className:"timeline-bar-fill use",style:{width:`${l}%`}})})]})}function V_(e){return{fontSize:11,padding:"2px 8px",borderRadius:4,background:`${e}20`,color:e,border:`1px solid ${e}40`,whiteSpace:"nowrap"}}function hbe(){const[e,t]=x.useState(null),[n,r]=x.useState(!0),[a,s]=x.useState(null),[o,l]=x.useState("all"),[c,u]=x.useState("provider"),d=x.useRef(!0),f=o0(),h=x.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]=x.useState(null),[g,y]=x.useState(10),[v,S]=x.useState(!1),[w,N]=x.useState(null),k=x.useRef(!1),b=x.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]);x.useEffect(()=>{d.current=!0,h(),b();const z=setInterval(()=>void h(),3e4);return()=>{d.current=!1,clearInterval(z)}},[h,b]);const j=(p==null?void 0:p.status)==="running";x.useEffect(()=>{if(!j)return;const z=setInterval(()=>void b(),1e3);return()=>clearInterval(z)},[j,b]);const E=x.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(Re,{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(Re,{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(Re,{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 P=(e==null?void 0:e.entries)??[],_=e==null?void 0:e.counts,A=e==null?void 0:e.reachabilityCopy,O=e==null?void 0:e.freshnessCopy,B=_?K_.reduce((z,T)=>z+(_[T]??0),0):0,$=[{key:"tracked-models",icon:"🧠",value:tt((e==null?void 0:e.totalModels)??0),label:"Tracked models (registry)",tone:"accent"},{key:"tracked-providers",icon:"🏢",value:tt((f==null?void 0:f.trackedProviders)??0),label:"Tracked providers (registry)",tone:"accent"}];f&&$.push({key:"listed-models",icon:"📡",value:tt(f.listedModels),label:"Listed models (live probe)",tone:"warn"},{key:"listed-providers",icon:"🛰️",value:tt(f.listedProviders),label:"Listed providers (live probe)",tone:"warn"}),$.push({key:"routable",icon:"✅",value:tt((_==null?void 0:_.routable)??0),label:"Routable now",tone:"ok"},{key:"not-routable",icon:"🚫",value:tt(B),label:"Not routable",tone:"danger"});const M=P.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),U=new Map;for(const z of D){const T=U.get(z.provider);T?T.push(z):U.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(Re,{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(Fi,{tiles:$}),_?i.jsx("div",{style:{display:"flex",gap:14,flexWrap:"wrap",marginBottom:14,fontSize:11},children:K_.map(z=>{const T=A==null?void 0:A[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:_[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 E(),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(U.entries()).map(([z,T])=>{const Z=T.filter(F=>F.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(F=>{const I=Date.now(),se=A==null?void 0:A[F.reachability],he=O==null?void 0:O[F.freshness],ge=(se==null?void 0:se.color)??"var(--text-secondary)";return i.jsxs("div",{"data-testid":`timeline-row-${F.provider}-${F.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:F.model}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary)",display:"flex",gap:12,flexWrap:"wrap"},children:[i.jsxs("span",{children:["Probed: ",Do(I-F.lastProbedAt)]}),i.jsxs("span",{children:["Verified: ",F.lastVerifiedAt>0?Do(I-F.lastVerifiedAt):"never"]}),F.lastUsedAt>0&&i.jsxs("span",{children:["Used: ",Do(I-F.lastUsedAt)]}),F.latencyMs!==void 0&&i.jsxs("span",{children:[F.latencyMs,"ms"]}),F.errorRate>0&&i.jsxs("span",{style:{color:F.errorRate>.5?"var(--accent-red)":"var(--accent-yellow)"},children:["err ",(F.errorRate*100).toFixed(0),"%"]}),F.daysSinceVerify!==null&&F.daysSinceVerify>7&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["proof ",dbe(F.lastVerifiedAt)," old"]})]})]}),i.jsx(fbe,{entry:F}),he&&i.jsx("span",{style:V_(he.color),title:he.blurb,children:he.label}),i.jsx("span",{style:V_(ge),title:(se==null?void 0:se.blurb)??F.reachability,"data-testid":`reachability-${F.provider}-${F.model}`,children:((se==null?void 0:se.label)??F.reachability).toUpperCase()})]},F.model)})})]},z)})}),M.length===0&&i.jsx("div",{style:{textAlign:"center",padding:"40px 20px",color:"var(--text-secondary)"},children:o==="routable"&&P.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 Y_=7*24*60*60*1e3;function X_(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 Q_(e){return(e||"").split(/[\\/]/).filter(Boolean).slice(-2).join("/")||e}function pbe(){const[e,t]=x.useState(null),[n,r]=x.useState(!1),[a,s]=x.useState(!1),[o,l]=x.useState(null),c=x.useCallback(async()=>{const p=await K.fetchContinuity();t(p),r(!0)},[]);x.useEffect(()=>{let p=!0;return K.fetchContinuity().then(m=>{p&&(t(m),r(!0))}),()=>{p=!1}},[]);const u=x.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:[Q_(p.cwd)," · ",p.steps," step(s) · ",X_(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,Y_),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:[Q_(p.projectPath)," · ",X_(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,Y_),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 es(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":bt(e)}function mbe(e){return e==null?"0%":(e*100).toFixed(1)+"%"}const Z_={"faiss-native":"native FAISS","faiss-ivf":"FAISS-style IVF-flat ANN",json:"exact flat cosine (JSON)"};function gbe({data:e}){var c,u;if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Re,{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:es(t.total),label:"Trajectories",tone:"accent"},{key:"avg-score",icon:"⭐",value:mbe(t.avgScore),label:"Avg Score",tone:"ok"},{key:"facts",icon:"📌",value:es((u=t.facts)==null?void 0:u.total),label:"Facts",tone:"warn"},{key:"recall",icon:"🔁",value:es(o.total),label:"Recall Hits",tone:"ok"},{key:"patterns",icon:"🧩",value:es(n==null?void 0:n.patterns),label:"Coding Patterns",tone:"warn"},{key:"feedback",icon:"👍",value:es(n==null?void 0:n.feedback),label:"Feedback Ratings",tone:"ok"}];return i.jsxs(i.Fragment,{children:[i.jsx(Re,{icon:"💾",title:"Memory Store"}),i.jsx(Fi,{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&&Z_[t.vectorBackend]?` (${Z_[t.vectorBackend]})`:"",o.last7d>0?` · ${es(o.last7d)} recall(s) this week, ${es(o.today)} today`:" · no recalls yet"]}),i.jsx(pbe,{}),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 pv(e){const t=e.replace(/[\\/]+$/,""),n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>=0?t.slice(n+1):t}function vbe(){const[e,t]=x.useState({configured:!1,authenticated:!1,role:null}),n=Kr(),[r,a]=x.useState(null),[s,o]=x.useState(null),[l,c]=x.useState(null),[u,d]=x.useState(""),[f,h]=x.useState(""),[p,m]=x.useState(!1),[g,y]=x.useState(""),[v,S]=x.useState(""),[w,N]=x.useState(null),[k,b]=x.useState(!1),j=e.authenticated&&(e.role==="admin"||e.role==="operator"),E=x.useCallback(async()=>{const O=await K.fetchKnowledge();a(O)},[]);x.useEffect(()=>{K.fetchAdminAuthStatus().then(O=>{t(O?{configured:O.configured,authenticated:O.authenticated,role:O.role??null}:{configured:!1,authenticated:!1,role:null})}),E()},[E,n]);const P=x.useCallback(async()=>{var B;o(null),c(null);const O=f.split(`
206
- `).map($=>$.trim()).filter(Boolean);if(!u.trim()||O.length===0){o("A tag and at least one file or folder path are required.");return}m(!0);try{const $=await K.knowledgeIngest(u,O);if(!$.ok)o($.error||"Ingest failed.");else{const M=(B=$.skipped)!=null&&B.length?` Skipped: ${$.skipped.map(D=>`${pv(D.path)} (${D.reason})`).join("; ")}`:"";c(`Ingested ${$.files??0} document(s) / ${$.chunks??0} chunk(s) under '${$.tag}'.${M}`),h(""),await E()}}finally{m(!1)}},[u,f,E]),_=x.useCallback(async()=>{if(o(null),N(null),!g.trim()||!v.trim()){o("A tag and a question are required.");return}b(!0);try{const O=await K.knowledgeQuery(g,v);O.ok?N(O.hits??[]):o(O.error||"Query failed.")}finally{b(!1)}},[g,v]),A=x.useCallback(async O=>{o(null),c(null);const B=await K.knowledgeForget(O);B.ok?c(`Removed knowledge tag '${O}'.`):o(B.error||`Could not remove '${O}'.`),await E()},[E]);return i.jsxs("div",{children:[i.jsx(Re,{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 E(),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(O=>i.jsxs("tr",{children:[i.jsx("td",{children:O.tag}),i.jsx("td",{children:O.chunkCount}),i.jsx("td",{children:O.documents.map(B=>i.jsxs("div",{title:B.path,children:[pv(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 A(O.tag),"aria-label":`Remove knowledge tag ${O.tag}`,children:"Forget"})}):null]},O.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:O=>d(O.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:O=>h(O.target.value),"aria-label":"Paths to ingest"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void P(),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:O=>y(O.target.value),"aria-label":"Tag to query"}),i.jsx("datalist",{id:"knowledge-tags",children:(r??[]).map(O=>i.jsx("option",{value:O.tag},O.tag))}),i.jsx("input",{className:"admin-input",type:"text",placeholder:"what is my LDL and how do I lower it",value:v,onChange:O=>S(O.target.value),"aria-label":"Question"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void _(),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((O,B)=>i.jsxs("div",{className:"admin-summary-card",children:[i.jsxs("div",{className:"admin-summary-label",children:[pv(O.sourcePath)," · chunk ",O.chunkIndex+1," · sim ",O.similarity.toFixed(3)]}),i.jsx("div",{className:"admin-summary-value",style:{whiteSpace:"pre-wrap",fontWeight:400},children:O.text.slice(0,600)})]},`${O.sourcePath}-${O.chunkIndex}-${B}`))}):null]})}const ybe=7*24*60*60*1e3;function bbe(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function xbe({data:e}){const[t,n]=x.useState(null),[r,a]=x.useState(!1),[s,o]=x.useState(null),l=t??(e==null?void 0:e.history),c=x.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(Re,{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(Re,{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:ybe}),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:["📅 ",bbe(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 wbe(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 kbe(){const[e,t]=x.useState([]),[n,r]=x.useState(""),[a,s]=x.useState(""),[o,l]=x.useState(null),[c,u]=x.useState(!1),[d,f]=x.useState(!1),[h,p]=x.useState(null),[m,g]=x.useState(null),[y,v]=x.useState(""),[S,w]=x.useState(""),N=x.useCallback(async(E,P)=>{const _=await K.fetchDecisions(E,P);l(_),u(!0)},[]);x.useEffect(()=>{let E=!0;return K.listProjects().then(P=>{var A,O;if(!E)return;t(P);const _=((A=P.find(B=>B.kind==="cwd"))==null?void 0:A.path)??((O=P[0])==null?void 0:O.path)??"";r(_),N(_)}),()=>{E=!1}},[N]);const k=x.useCallback(()=>{n&&N(n,a.trim()||void 0)},[n,a,N]),b=x.useCallback(async E=>{if(!n||!y.trim())return;f(!0),p(null),await K.reviseDecision(n,E,y.trim(),S.trim()||void 0)?(p(`Revised ${E} — 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(Re,{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:E=>{r(E.target.value),N(E.target.value,a.trim()||void 0)},children:e.map(E=>i.jsxs("option",{value:E.path,children:[E.name," (",E.kind,")"]},E.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:E=>s(E.target.value),onKeyDown:E=>{E.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(E=>{var P;return i.jsxs("div",{className:"memory-item",children:[i.jsxs("div",{children:[i.jsxs("span",{className:"memory-project",children:[E.status==="revised"?"✏️":"✅"," ",E.question]}),i.jsxs("div",{className:"memory-count",children:["→ ",E.answer||"(none)"," · ",wbe(E.at)," · ",E.source," · ",E.id,E.status==="revised"?` · revised ${((P=E.revisions)==null?void 0:P.length)??0}×`:""]}),E.choices&&E.choices.length>0?i.jsxs("div",{className:"memory-count",children:["offered: ",E.choices.join(" | ")]}):null]}),m===E.id?i.jsxs("div",{children:[i.jsx("input",{type:"text",value:y,placeholder:"New answer","aria-label":`New answer for ${E.question}`,onChange:_=>v(_.target.value)}),i.jsx("input",{type:"text",value:S,placeholder:"Why it changed (optional)","aria-label":`Note for ${E.question}`,onChange:_=>w(_.target.value)}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:d||!y.trim(),onClick:()=>void b(E.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(E.id),v(E.answer),w("")},children:"✏️ Revise"})]},E.id)})})]}):i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading decisions…"})})]})}function Sbe({onFetch:e,onClear:t,onExport:n}){const[r,a]=x.useState([]),[s,o]=x.useState(!1),[l,c]=x.useState(""),[u,d]=x.useState(""),[f,h]=x.useState(null),[p,m]=x.useState(null);x.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,b=N.filter(P=>P.status==="success").length,j=N.filter(P=>P.status==="failure").length,E=k>0?Math.round(N.reduce((P,_)=>P+_.durationMs,0)/k):0;m({total:k,success:b,failure:j,avgDuration:E})}catch(N){console.error("Failed to fetch execution history:",N)}finally{o(!1)}},y=async N=>{if(n)try{const k=await n(N),b=new Blob([k],{type:N==="json"?"application/json":"text/csv"}),j=URL.createObjectURL(b),E=document.createElement("a");E.href=j,E.download=`execution-history.${N}`,E.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(Re,{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 jbe({envVars:e,onSave:t,onDelete:n,onTest:r,readOnly:a=!1}){const[s,o]=x.useState(null),[l,c]=x.useState(""),[u,d]=x.useState(!1),[f,h]=x.useState(""),[p,m]=x.useState(""),[g,y]=x.useState(null),[v,S]=x.useState({}),w=[...e].sort((j,E)=>j.requiredBy&&!E.requiredBy?-1:!j.requiredBy&&E.requiredBy?1:j.name.localeCompare(E.name)),N=j=>{t(j,l),o(null),c("")},k=()=>{f&&p&&(t(f,p),h(""),m(""),d(!1))},b=async j=>{if(r){y(j);try{const E=await r(j);S(P=>({...P,[j]:E}))}catch{S(E=>({...E,[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:E=>c(E.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:()=>b(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 Nbe(){const[e,t]=x.useState({configured:!1,authenticated:!1,role:null}),n=Kr(),[r,a]=x.useState([]),[s,o]=x.useState(!0),[l,c]=x.useState(null),[u,d]=x.useState(null),f=e.authenticated&&(e.role==="admin"||e.role==="operator"),h=x.useCallback(async()=>{o(!0);const y=await K.fetchSkillEnv();a(y),o(!1)},[]);x.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=x.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?Ebe(y,w.reason):S.error||`Could not save ${y}.`):d(`Saved ${y}.`),await h()},[h]),m=x.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=x.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(Re,{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(jbe,{envVars:r,onSave:(y,v)=>void p(y,v),onDelete:y=>void m(y),onTest:g,readOnly:!f})]})}function Ebe(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 _be=[{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 Cbe(){const[e,t]=x.useState({configured:!1,authenticated:!1,role:null}),n=Kr(),[r,a]=x.useState([]),[s,o]=x.useState(!0),[l,c]=x.useState(null),[u,d]=x.useState(null),[f,h]=x.useState({}),[p,m]=x.useState(null),g=e.authenticated&&(e.role==="admin"||e.role==="operator"),y=x.useCallback(async()=>{o(!0),a(await K.fetchProcessEnv()),o(!1)},[]);x.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=x.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 b=k.row;a(j=>j.map(E=>E.name===b.name?b:E)),h(j=>({...j,[w]:""})),d(`${w} = ${b.fileValue}. Takes effect on the next turn; the dashboard picked it up immediately.`)}m(null)},[]),S=x.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(b=>b.map(j=>j.name===k.name?k:j)),h(b=>({...b,[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(Re,{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…"}):_be.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(Abe,{row:k,draft:f[k.name]??"",busy:p===k.name,readOnly:!g,onDraft:b=>h(j=>({...j,[k.name]:b})),onSet:b=>void v(k.name,b),onUnset:()=>void S(k.name)},k.name))})]},w.id)})]})}function Abe({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 J_={before_tool_call:"🛑",after_tool_call:"✅",failed_tool_call:"❌",on_session_end:"🏁"};function eC(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 Tbe(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 Obe(){const e=Kr(),[t,n]=x.useState({configured:!1,authenticated:!1,role:null}),[r,a]=x.useState(null),[s,o]=x.useState(!0),[l,c]=x.useState(null),[u,d]=x.useState(null),[f,h]=x.useState(!1),[p,m]=x.useState([]),[g,y]=x.useState(""),[v,S]=x.useState(""),[w,N]=x.useState("before_tool_call"),[k,b]=x.useState("deny"),[j,E]=x.useState(""),[P,_]=x.useState(""),[A,O]=x.useState(""),[B,$]=x.useState(""),[M,D]=x.useState(""),[U,R]=x.useState("hook fired: {tool}"),[z,T]=x.useState(!1),Z=t.authenticated&&(t.role==="admin"||t.role==="operator"),F=x.useCallback(async()=>{o(!0);const W=await K.fetchHooks();W?(a(W),m(W.hooks)):c("Could not load hooks — the dashboard server may be older than this bundle."),o(!1)},[]);x.useEffect(()=>{K.fetchAdminAuthStatus().then(W=>{n(W?{configured:W.configured,authenticated:W.authenticated,role:W.role??null}:{configured:!1,authenticated:!1,role:null})}),F()},[F,e]);const I=(r==null?void 0:r.events)??["before_tool_call","after_tool_call","failed_tool_call","on_session_end"],se=(r==null?void 0:r.eventDescriptions)??{},he=(r==null?void 0:r.actionKinds)??["deny","notify","scan-args"],ge=(r==null?void 0:r.actionDescriptions)??{},Te=x.useMemo(()=>p.some(W=>W.id===g.trim()),[p,g]),X=/^[a-z0-9][a-z0-9-]{0,63}$/.test(g.trim()),Y=X&&!Te&&v.trim().length>0,ie=x.useCallback(()=>{c(null),d(null);const W={...j.trim()?{tool:j.trim()}:{},...P.trim()?{surface:P.trim()}:{},...A.trim()?{cwdPrefix:A.trim()}:{},...eC(B)?{argsMatch:eC(B)}:{}},xe=k==="deny"?{kind:"deny",...M.trim()?{reason:M.trim()}:{}}:k==="notify"?{kind:"notify",message:U.trim()||"hook fired: {tool}"}:{kind:"scan-args",denyOnHit:z,...M.trim()?{reason:M.trim()}:{}},we={id:g.trim(),label:v.trim(),event:w,enabled:!0,...Object.keys(W).length>0?{when:W}:{},action:xe,source:"user",updatedAt:Date.now()};m(_e=>[..._e,we]),y(""),S(""),E(""),_(""),O(""),$(""),D(""),T(!1)},[g,v,w,k,j,P,A,B,M,U,z]),de=x.useCallback(async()=>{h(!0),c(null),d(null);const W=await K.saveHooks(p);W.ok?(m(W.hooks??p),d(`Saved ${(W.hooks??p).length} hook(s). They are in force on the next tool call.`)):c(W.error||"Could not save hooks."),h(!1)},[p]);return i.jsxs("div",{children:[i.jsx(Re,{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(W=>W.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 F(),children:"↻ Refresh"}),Z?i.jsxs("button",{className:"admin-refresh-btn",type:"button",disabled:f,onClick:()=>void de(),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:I.map(W=>i.jsxs("tr",{children:[i.jsxs("td",{children:[J_[W]," ",i.jsx("code",{children:W})]}),i.jsx("td",{children:se[W]??""})]},W))})]}),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:he.map(W=>i.jsxs("tr",{children:[i.jsx("td",{children:i.jsx("code",{children:W})}),i.jsx("td",{children:ge[W]??""})]},W))})]})]}),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(W=>i.jsxs("div",{className:`env-var-row ${W.enabled?"env-var-set":"env-var-missing"}`,"data-testid":`hook-row-${W.id}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[J_[W.event]," ",i.jsx("code",{children:W.id})," — ",W.label,W.source==="builtin"?i.jsx("span",{className:"hub-chip",children:"builtin"}):null]}),i.jsx("span",{className:"env-var-status",children:W.event})]}),i.jsx("div",{className:"env-var-description",children:Tbe(W)}),Z?i.jsxs("div",{className:"env-var-actions",children:[i.jsx("button",{className:`admin-mini-btn${W.enabled?" process-env-active":""}`,type:"button",onClick:()=>m(xe=>xe.map(we=>we.id===W.id?{...we,enabled:!we.enabled}:we)),children:W.enabled?"✅ Enabled":"⭕ Disabled"}),W.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(we=>we.id!==W.id)),children:"🗑️ Remove"})]}):null]},W.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:W=>y(W.target.value)}),i.jsx("input",{className:"env-var-input",type:"text",value:v,placeholder:"label","aria-label":"Hook label",onChange:W=>S(W.target.value)})]})}),g.trim()&&!X?i.jsx("div",{className:"env-var-warning",children:"⚠️ id must be lowercase letters, digits and hyphens."}):null,Te?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:W=>N(W.target.value),children:I.map(W=>i.jsx("option",{value:W,children:W},W))})]})," ",i.jsxs("label",{children:["Action:"," ",i.jsx("select",{value:k,"aria-label":"Hook action",onChange:W=>b(W.target.value),children:he.map(W=>i.jsx("option",{value:W,disabled:W==="deny"&&w!=="before_tool_call",children:W},W))})]})]}),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:W=>E(W.target.value)})," ",i.jsx("input",{className:"env-var-input",type:"text",value:P,placeholder:"surface glob","aria-label":"Surface glob",onChange:W=>_(W.target.value)})," ",i.jsx("input",{className:"env-var-input",type:"text",value:A,placeholder:"cwd prefix","aria-label":"Cwd prefix",onChange:W=>O(W.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:W=>$(W.target.value)})]}),k==="notify"?i.jsxs("div",{className:"env-var-description",children:["Message:"," ",i.jsx("input",{className:"env-var-input",type:"text",value:U,"aria-label":"Notify message",onChange:W=>R(W.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:W=>D(W.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:W=>T(W.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:ie,children:"➕ Add to draft"}),i.jsx("span",{className:"admin-hint",children:"Nothing is in force until you press Save hooks."})]})]})]}):null]})}const Pbe={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 Rbe(e){return Pbe[e]??{label:e,className:"cap-effect-local"}}function Mbe(){const[e,t]=x.useState(null),[n,r]=x.useState([]),[a,s]=x.useState({authenticated:!1,role:null}),o=Kr(),[l,c]=x.useState(!0),[u,d]=x.useState(null),[f,h]=x.useState(null),[p,m]=x.useState(null),[g,y]=x.useState(""),[v,S]=x.useState(""),[w,N]=x.useState(""),k=a.authenticated&&(a.role==="admin"||a.role==="operator"),b=x.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)},[]);x.useEffect(()=>{K.fetchAdminAuthStatus().then(M=>{s(M?{authenticated:M.authenticated,role:M.role??null}:{authenticated:!1,role:null})}),b()},[b,o]);const j=x.useCallback(async M=>{m(M),d(null),await K.revokeSessionGrant(M)?r(U=>U.filter(R=>R.sessionId!==M)):d(`Could not end the grant for ${M}.`),m(null)},[]),E=x.useCallback(M=>{M&&t(D=>D&&{...D,learnedCommands:M})},[]),P=x.useCallback(async()=>{const M=g.trim(),D=v.trim();if(!M||!D)return;m("__save__"),d(null),h(null);const U=await K.saveLearnedCommand(M,D,w.trim()||void 0);U.ok?(E(U.commands),y(""),S(""),N(""),h(`Learned "${M}" for this machine.`)):d(U.error||"Could not save the command."),m(null)},[g,v,w,E]),_=x.useCallback(async M=>{m(M),d(null),h(null);const D=await K.forgetLearnedCommand(M);D.ok?(E(D.commands),h(`Forgot "${M}" on this machine.`)):d(D.error||`Could not forget "${M}".`),m(null)},[E]),A=(e==null?void 0:e.readyCount)??0,O=(e==null?void 0:e.blockedCount)??0,B=(e==null?void 0:e.missingExecutables)??[],$=(e==null?void 0:e.learnedCommands)??[];return i.jsxs("div",{children:[i.jsx(Re,{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 b(),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:A})," ready"]}),i.jsxs("span",{className:`cap-tile${O>0?" cap-tile-blocked":""}`,"data-testid":"cap-tile-blocked",children:[i.jsx("strong",{children:O})," 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(Ibe,{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 (",$.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."}),$.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:$.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 _(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 P(),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 Ibe({verb:e}){const t=Rbe(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 $be(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 Lbe(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 Dbe(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}const mv={name:"",transport:"stdio",command:"",args:"",url:"",env:"",headers:"",overwrite:!1};function Bbe(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 oo({label:e,hint:t,value:n,onSave:r,disabled:a}){const[s,o]=x.useState(n),[l,c]=x.useState(!1),[u,d]=x.useState(null);x.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 zbe(){var P;const[e,t]=x.useState(null),[n,r]=x.useState(!0),[a,s]=x.useState(null),[o,l]=x.useState(null),[c,u]=x.useState(null),[d,f]=x.useState({}),[h,p]=x.useState({}),[m,g]=x.useState({}),[y,v]=x.useState(mv),S=x.useCallback(async(_=!1)=>{const A=await aB(_);if(!A){l("Could not reach the dashboard server, or the MCP API is unavailable (an older server?)."),r(!1);return}t(A),l(null),r(!1)},[]);x.useEffect(()=>{S(!1)},[S]);const w=async(_,A)=>{const O=await iB([{key:_,value:A}]);return O.ok?(t(B=>B&&O.settings?{...B,settings:O.settings}:B),u(`Saved ${_}`),l(null),null):(l(O.error??"The server refused that value."),O.error??"refused")},N=async _=>{var D;const A=h[_.name],B=(_.variants.find(U=>U.id===(A??""))??_.variants.find(U=>!U.optIn)??_.variants[0]).requires.filter(U=>U.kind==="env"),$={};for(const U of B){const R=d[`${_.name}:${U.name}`];R&&R.trim()&&($[U.name]=R.trim())}s(_.name);const M=await sB({name:_.name,...A?{variant:A}:{},...Object.keys($).length>0?{env:$}:{},...(D=m[_.name])!=null&&D.trim()?{runtime:m[_.name].trim()}:{}});if(s(null),!M.ok){l(M.reason??M.error??"Install refused."),u(null);return}f(U=>{const R={...U};for(const z of Object.keys(R))z.startsWith(`${_.name}:`)&&delete R[z];return R}),u(`Installed ${_.name} (${M.variantId}) → ${M.path}`),l(null),await S((e==null?void 0:e.deep)===!0)},k=async()=>{var O;const _=y.name.trim();if(!_){l("A server name is required — it becomes the config filename.");return}s("__custom__");const A=await oB({name:_,transport:y.transport,...y.transport==="stdio"?{...y.command.trim()?{command:y.command.trim()}:{},args:Dbe(y.args),env:$be(y.env)}:{...y.url.trim()?{url:y.url.trim()}:{},headers:Lbe(y.headers)},...y.overwrite?{overwrite:!0}:{}});if(s(null),!A.ok){l(A.reason??A.error??"Could not save that server."),u(null);return}u(`${A.overwrote?"Updated":"Added"} ${_}${A.path?` → ${A.path}`:""}`+((O=A.warnings)!=null&&O.length?`
232
- ${A.warnings.join(`
233
- `)}`:"")),l(null),v(mv),await S((e==null?void 0:e.deep)===!0)},b=async _=>{s(_);const A=await lB(_);if(s(null),!A.ok){l(A.reason??"Could not remove that server.");return}u(`Removed ${_}`),await S((e==null?void 0:e.deep)===!0)},j=(e==null?void 0:e.canWrite)??!1,E=(e==null?void 0:e.servers)??[];return i.jsxs("div",{className:"page",children:[i.jsx(Re,{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(oo,{label:"Enabled",hint:"Master switch — false makes MCP inert everywhere (true/false)",value:String(e.settings.enabled),disabled:!j,onSave:_=>w("mcp.enabled",_)}),i.jsx(oo,{label:"Auto-connect",hint:"Connect configured servers at the start of a turn (bounded, never fatal)",value:String(e.settings.autoConnect),disabled:!j,onSave:_=>w("mcp.autoConnect",_)}),i.jsx(oo,{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:_=>w("mcp.connectTimeoutMs",_)}),i.jsx(oo,{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:_=>w("mcp.maxToolsPerServer",_)}),i.jsx(oo,{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:_=>w("mcp.maxToolsTotal",_)}),i.jsx(oo,{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:_=>w("mcp.subagent.inherit",_)}),((P=e.settings.warnings)==null?void 0:P.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 (",E.length,")"]}),E.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."}),E.map(_=>{const A=e.settings.servers[_.name]??{};return i.jsxs("div",{className:"mcp-variant",children:[i.jsxs("div",{children:[i.jsx("strong",{children:_.name}),i.jsx("span",{className:"mcp-badge",children:_.transport}),_.variant&&i.jsxs("span",{className:"mcp-badge",children:["variant ",_.variant]}),i.jsx("span",{className:`mcp-badge ${_.enabled?"ok":"bad"}`,children:_.enabled?"enabled":"disabled"}),_.connected&&i.jsx("span",{className:"mcp-badge ok",children:"connected"})]}),i.jsxs("div",{className:"mcp-muted",children:[_.command?`${_.command} ${_.args.join(" ")}`:_.url,_.runtime?` (runtime: ${[_.runtime.command,..._.runtime.args??[]].join(" ")})`:"",_.envKeys.length>0?` · credentials: ${_.envKeys.join(", ")}`:"",_.headerKeys.length>0?` · headers: ${_.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(Bbe(_)),children:"Edit"}),i.jsx("button",{className:"mcp-btn secondary",disabled:!j||a===_.name,onClick:()=>void w(`mcp.servers.${_.name}.enabled`,_.enabled?"false":"true"),children:_.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:A.runtime?[A.runtime.command,...A.runtime.args??[]].join(" "):"",disabled:!j,onKeyDown:O=>{O.key==="Enter"&&w(`mcp.servers.${_.name}.runtime.command`,O.target.value)}}),i.jsx("button",{className:"mcp-btn secondary",disabled:!j,onClick:()=>void w(`mcp.servers.${_.name}.runtime.command`,""),children:"Clear runtime"}),i.jsx("button",{className:"mcp-btn secondary",disabled:!j||a===_.name,onClick:()=>void b(_.name),children:"Uninstall"})]})]},_.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:_=>v({...y,name:_.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:_=>v({...y,command:_.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:_=>v({...y,args:_.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:_=>v({...y,env:_.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:_=>v({...y,url:_.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:_=>v({...y,headers:_.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:_=>v({...y,overwrite:_.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(mv),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(_=>i.jsxs("div",{className:"mcp-variant",children:[i.jsxs("div",{children:[i.jsx("strong",{children:_.name}),_.installed&&i.jsx("span",{className:"mcp-badge ok",children:"installed"}),i.jsxs("span",{className:"mcp-muted",children:[" — ",_.description]})]}),i.jsx("ul",{className:"mcp-offers",children:_.offers.map(A=>i.jsx("li",{children:A},A))}),_.supersedes&&i.jsxs("div",{className:"mcp-muted",children:["supersedes: ",_.supersedes]}),_.variants.map(A=>i.jsxs("div",{className:"mcp-muted",style:{marginLeft:12},children:[i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:`variant-${_.name}`,checked:(h[_.name]??"")===A.id,disabled:A.optIn===!1&&h[_.name]!==A.id?!1:!j,onChange:()=>p(O=>({...O,[_.name]:A.id}))})," ",i.jsx("strong",{children:A.id})," — ",A.label," ",i.jsx("span",{className:`mcp-badge ${A.status.ok?"ok":"bad"}`,children:A.status.ok?"runnable":"cannot run yet"}),A.optIn&&i.jsx("span",{className:"mcp-badge",children:"opt-in"}),i.jsx("span",{className:"mcp-badge",children:A.trust})]}),i.jsx("div",{children:A.command?`${A.command} ${A.args.join(" ")}`:A.url}),A.status.problems.map(O=>i.jsxs("div",{className:"mcp-problem",children:["⚠ ",O]},O)),A.status.unverified.map(O=>i.jsxs("div",{children:["note: ",O]},O)),A.note&&i.jsxs("div",{children:["caveat: ",A.note]})]},A.id)),i.jsxs("div",{style:{marginTop:6,display:"flex",gap:8,flexWrap:"wrap"},children:[(_.variants.find(O=>O.id===h[_.name])??_.variants.find(O=>!O.optIn)??_.variants[0]).requires.filter(O=>O.kind==="env").map(O=>i.jsx("input",{className:"mcp-input",style:{minWidth:280},type:"password",placeholder:`${O.name} (${O.hint})`,disabled:!j,value:d[`${_.name}:${O.name}`]??"",onChange:B=>f($=>({...$,[`${_.name}:${O.name}`]:B.target.value}))},O.name)),i.jsx("input",{className:"mcp-input",placeholder:"runtime override (optional)",disabled:!j,value:m[_.name]??"",onChange:A=>g(O=>({...O,[_.name]:A.target.value}))}),i.jsx("button",{className:"mcp-btn",disabled:!j||a===_.name||_.installed,onClick:()=>void N(_),children:a===_.name?"Installing…":_.installed?"Installed":"Install"})]})]},_.name))]})]})]})}function Fbe(){const[e,t]=x.useState(null),[n,r]=x.useState(!1),[a,s]=x.useState("--"),[o,l]=x.useState(!1),u=Ii().pathname==="/chat",[d,f]=x.useState(u);x.useEffect(()=>{u&&f(!0)},[u]);const h=x.useCallback(g=>{t(g),s(new Date().toLocaleTimeString())},[]),p=x.useCallback(g=>{r(g)},[]),m=x.useCallback(async()=>{l(!0);try{const g=await K.fetchAll();g&&h(g)}finally{l(!1)}},[h]);return x.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(xB,{connected:n,lastUpdated:a,onRefresh:m,refreshing:o,children:[d&&i.jsx("div",{style:{display:u?void 0:"none"},children:i.jsx(ebe,{})}),i.jsx("div",{style:{display:u?"none":void 0},children:i.jsxs(I2,{children:[i.jsx(qe,{path:"/",element:i.jsx(Zk,{to:"/overview",replace:!0})}),i.jsx(qe,{path:"/overview",element:i.jsx(ese,{data:e,onRefresh:m,refreshing:o})}),i.jsx(qe,{path:"/chat",element:null}),i.jsx(qe,{path:"/dag",element:i.jsx(dse,{data:e})}),i.jsx(qe,{path:"/costs",element:i.jsx(hse,{data:e})}),i.jsx(qe,{path:"/benchmarks",element:i.jsx(mse,{data:e})}),i.jsx(qe,{path:"/models",element:i.jsx(aoe,{})}),i.jsx(qe,{path:"/models/timeline",element:i.jsx(hbe,{})}),i.jsx(qe,{path:"/routing",element:i.jsx(Boe,{data:e})}),i.jsx(qe,{path:"/requests",element:i.jsx(Goe,{data:e})}),i.jsx(qe,{path:"/traces",element:i.jsx(rle,{})}),i.jsx(qe,{path:"/hub",element:i.jsx(xle,{})}),i.jsx(qe,{path:"/capabilities",element:i.jsx(Mbe,{})}),i.jsx(qe,{path:"/tasks",element:i.jsx(Cle,{})}),i.jsx(qe,{path:"/evals",element:i.jsx(abe,{data:e})}),i.jsx(qe,{path:"/platforms",element:i.jsx(obe,{})}),i.jsx(qe,{path:"/mcp",element:i.jsx(zbe,{})}),i.jsx(qe,{path:"/bedrock",element:i.jsx(cbe,{canWrite:!0,sessionExpired:g=>console.error(g)})}),i.jsx(qe,{path:"/contacts",element:i.jsx(ube,{})}),i.jsx(qe,{path:"/gateway",element:i.jsx(sbe,{})}),i.jsx(qe,{path:"/env",element:i.jsx(Nbe,{})}),i.jsx(qe,{path:"/process-env",element:i.jsx(Cbe,{})}),i.jsx(qe,{path:"/hooks",element:i.jsx(Obe,{})}),i.jsx(qe,{path:"/memory",element:i.jsx(gbe,{data:e})}),i.jsx(qe,{path:"/knowledge",element:i.jsx(vbe,{})}),i.jsx(qe,{path:"/history",element:i.jsx(xbe,{data:e})}),i.jsx(qe,{path:"/decisions",element:i.jsx(kbe,{})}),i.jsx(qe,{path:"/executions",element:i.jsx(Sbe,{onFetch:g=>K.fetchExecutionAudit(g)})}),i.jsx(qe,{path:"/system",element:i.jsx(xse,{data:e,connected:n,lastUpdated:a})}),i.jsx(qe,{path:"/admin",element:i.jsx(cle,{})}),i.jsx(qe,{path:"/help",element:i.jsx(tse,{})}),i.jsx(qe,{path:"*",element:i.jsx(Zk,{to:"/overview",replace:!0})})]})})]})}Jx(CT());hT(document.getElementById("root")).render(i.jsx(x.StrictMode,{children:i.jsx(W2,{children:i.jsx(Fbe,{})})}));
236
- //# sourceMappingURL=index-yky0dw5e.js.map