keating 0.3.8 → 0.3.9
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.
|
@@ -242,7 +242,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
242
242
|
<%s {...props} />
|
|
243
243
|
React keys must be passed directly to JSX without using spread:
|
|
244
244
|
let props = %s;
|
|
245
|
-
<%s key={someKey} {...props} />`,o,p,m,p),re[p+o]=!0)}if(p=null,i!==void 0&&(r(i),p=``+i),s(n)&&(r(n.key),p=``+n.key),`key`in n)for(var h in i={},n)h!==`key`&&(i[h]=n[h]);else i=n;return p&&c(i,typeof e==`function`?e.displayName||e.name||`Unknown`:e),u(e,p,i,a(),l,d)}function f(e){p(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===E&&(e._payload.status===`fulfilled`?p(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function p(e){return typeof e==`object`&&!!e&&e.$$typeof===h}var m=Je(),h=Symbol.for(`react.transitional.element`),g=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),w=Symbol.for(`react.suspense_list`),T=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.client.reference`),k=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=Object.prototype.hasOwnProperty,ee=Array.isArray,j=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var M,te={},ne=m.react_stack_bottom_frame.bind(m,o)(),N=j(i(o)),re={};e.Fragment=_,e.jsxDEV=function(e,t,n,r){var a=1e4>k.recentlyCreatedOwnerStacks++;return d(e,t,n,r,a?Error(`react-stack-top-frame`):ne,a?j(i(e)):N)}})()})),L=a(((e,t)=>{t.exports=ko()}))(),Ao=`/home/diogenes/Projects/keating/web/src/components/ThemeToggle.tsx`;function jo(){if(typeof document>`u`)return!1;let e=document.documentElement;if(e.classList.contains(`dark`)||e.classList.contains(`light`))return e.classList.contains(`dark`);let t=localStorage.getItem(`theme`);return t===`dark`?!0:t===`light`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}function Mo(){let[e,t]=(0,F.useState)(()=>jo());return(0,F.useEffect)(()=>{let e=new MutationObserver(()=>{t(document.documentElement.classList.contains(`dark`))});return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]),(0,L.jsxDEV)(`button`,{type:`button`,onClick:(0,F.useCallback)(()=>{let e=document.documentElement,n=!e.classList.contains(`dark`);n?(e.classList.add(`dark`),localStorage.setItem(`theme`,`dark`)):(e.classList.remove(`dark`),localStorage.setItem(`theme`,`light`)),t(n)},[]),className:`inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,title:e?`Switch to light mode`:`Switch to dark mode`,"aria-label":e?`Switch to light mode`:`Switch to dark mode`,children:e?(0,L.jsxDEV)(_o,{size:16},void 0,!1,{fileName:Ao,lineNumber:48,columnNumber:17},this):(0,L.jsxDEV)(to,{size:16},void 0,!1,{fileName:Ao,lineNumber:48,columnNumber:37},this)},void 0,!1,{fileName:Ao,lineNumber:41,columnNumber:5},this)}var No=`/home/diogenes/Projects/keating/web/src/components/Nav.tsx`;function Po({showFeatures:e=!1}){let[t,n]=(0,F.useState)(!1),r=Ci(),i=()=>n(!1),a=(0,F.useRef)(null),o=(0,F.useRef)(null),s=(0,F.useCallback)(()=>{window.innerWidth>=768&&n(!1)},[]);return(0,F.useEffect)(()=>(window.addEventListener(`resize`,s),()=>window.removeEventListener(`resize`,s)),[s]),(0,F.useEffect)(()=>{if(!t)return;let e=e=>{e.key===`Escape`&&n(!1)},r=e=>{let t=e.target;o.current&&o.current.contains(t)||a.current&&!a.current.contains(t)&&n(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,r),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,r)}},[t]),(0,L.jsxDEV)(`nav`,{id:`main-nav`,className:`retro-layout`,style:{position:`sticky`,top:0,zIndex:50,borderBottom:`2px solid var(--ink, #1a1a1a)`,background:`var(--paper, #f4f1ea)`},children:[(0,L.jsxDEV)(`div`,{style:{maxWidth:`72rem`,margin:`0 auto`,padding:`0 1rem`,height:`3.5rem`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`1rem`},children:[(0,L.jsxDEV)(Li,{to:`/`,className:`nav-logo`,style:{display:`flex`,alignItems:`center`,gap:`0.5rem`,textDecoration:`none`,color:`inherit`,flexShrink:1,minWidth:0},children:[(0,L.jsxDEV)(`div`,{className:`status-led shrink-0`},void 0,!1,{fileName:No,lineNumber:84,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row sm:items-baseline sm:gap-2 leading-tight`,children:[(0,L.jsxDEV)(`span`,{style:{fontSize:`1.125rem`,fontWeight:700,letterSpacing:`-0.025em`,whiteSpace:`nowrap`},children:`KEATING//`},void 0,!1,{fileName:No,lineNumber:86,columnNumber:13},this),(0,L.jsxDEV)(`span`,{className:`font-terminal`,style:{fontSize:`0.875rem`,color:`var(--accent, #d44a3d)`,whiteSpace:`nowrap`},children:[`v`,`0.3.8`]},void 0,!0,{fileName:No,lineNumber:96,columnNumber:13},this)]},void 0,!0,{fileName:No,lineNumber:85,columnNumber:11},this)]},void 0,!0,{fileName:No,lineNumber:71,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`nav-desktop`,style:{alignItems:`center`,gap:`1.5rem`},children:[e&&(0,L.jsxDEV)(`a`,{href:`#features`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[FEATURES]`},void 0,!1,{fileName:No,lineNumber:108,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[KEATING]`},void 0,!1,{fileName:No,lineNumber:112,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/tutorial`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[TUTORIAL]`},void 0,!1,{fileName:No,lineNumber:115,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/blog`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[BLOG]`},void 0,!1,{fileName:No,lineNumber:118,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/paper`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[PAPER]`},void 0,!1,{fileName:No,lineNumber:121,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/usage`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[USAGE]`},void 0,!1,{fileName:No,lineNumber:124,columnNumber:11},this),(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,target:`_blank`,rel:`noreferrer`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[GITHUB]`},void 0,!1,{fileName:No,lineNumber:127,columnNumber:11},this),(0,L.jsxDEV)(Mo,{},void 0,!1,{fileName:No,lineNumber:135,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`btn-retro nav-desktop-link`,style:{padding:`0.5rem 1rem`,fontWeight:700,fontSize:`0.875rem`,fontFamily:`'VT323', monospace`},onClick:()=>r({to:`/chat`}),children:`TRY_KEATING`},void 0,!1,{fileName:No,lineNumber:136,columnNumber:11},this)]},void 0,!0,{fileName:No,lineNumber:106,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`nav-mobile-actions flex md:hidden items-center gap-2`,children:[(0,L.jsxDEV)(Mo,{},void 0,!1,{fileName:No,lineNumber:152,columnNumber:11},this),(0,L.jsxDEV)(`button`,{ref:o,id:`mobile-menu-btn`,className:`nav-mobile-toggle glitch-hover font-terminal`,style:{color:`var(--ink, #1a1a1a)`,border:`2px solid var(--ink, #1a1a1a)`,padding:`0.375rem 0.75rem`,cursor:`pointer`,background:`transparent`,fontSize:`1rem`,transition:`background 0.15s, color 0.15s`},onClick:()=>n(e=>!e),"aria-expanded":t,"aria-controls":`mobile-menu`,"aria-label":`Toggle navigation menu`,children:t?`[CLOSE]`:`[MENU]`},void 0,!1,{fileName:No,lineNumber:153,columnNumber:11},this)]},void 0,!0,{fileName:No,lineNumber:151,columnNumber:9},this)]},void 0,!0,{fileName:No,lineNumber:58,columnNumber:7},this),t&&(0,L.jsxDEV)(`div`,{id:`mobile-menu`,ref:a,style:{borderTop:`2px solid var(--ink, #1a1a1a)`,background:`var(--paper, #f4f1ea)`,maxHeight:`calc(100dvh - 3.5rem)`,overflowY:`auto`},children:(0,L.jsxDEV)(`div`,{className:`font-terminal`,style:{padding:`0.75rem 1rem`,display:`flex`,flexDirection:`column`,gap:`0.25rem`,fontSize:`1.125rem`},children:[e&&(0,L.jsxDEV)(`a`,{href:`#features`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[FEATURES]`},void 0,!1,{fileName:No,lineNumber:199,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[KEATING]`},void 0,!1,{fileName:No,lineNumber:208,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/tutorial`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[TUTORIAL]`},void 0,!1,{fileName:No,lineNumber:216,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/blog`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[BLOG]`},void 0,!1,{fileName:No,lineNumber:224,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/paper`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[PAPER]`},void 0,!1,{fileName:No,lineNumber:232,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/usage`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[USAGE]`},void 0,!1,{fileName:No,lineNumber:240,columnNumber:13},this),(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,target:`_blank`,rel:`noreferrer`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[GITHUB]`},void 0,!1,{fileName:No,lineNumber:248,columnNumber:13},this),(0,L.jsxDEV)(`button`,{className:`btn-retro`,style:{padding:`0.75rem 1rem`,fontWeight:700,fontSize:`1rem`,marginTop:`0.5rem`,width:`100%`,fontFamily:`'VT323', monospace`},onClick:()=>{i(),r({to:`/chat`})},children:`TRY_KEATING`},void 0,!1,{fileName:No,lineNumber:258,columnNumber:13},this)]},void 0,!0,{fileName:No,lineNumber:188,columnNumber:11},this)},void 0,!1,{fileName:No,lineNumber:178,columnNumber:9},this)]},void 0,!0,{fileName:No,lineNumber:46,columnNumber:5},this)}var Fo=`/home/diogenes/Projects/keating/web/src/components/Footer.tsx`;function Io(){return(0,L.jsxDEV)(`footer`,{className:`py-12 px-6 border-t-2 border-border`,children:(0,L.jsxDEV)(`div`,{className:`max-w-6xl mx-auto flex flex-col md:flex-row items-center justify-between gap-4 font-terminal`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2 text-foreground/60`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#d44a3d]`,children:`●`},void 0,!1,{fileName:Fo,lineNumber:8,columnNumber:11},this),(0,L.jsxDEV)(`span`,{children:`KEATING_HYPERTEACHER`},void 0,!1,{fileName:Fo,lineNumber:9,columnNumber:11},this)]},void 0,!0,{fileName:Fo,lineNumber:7,columnNumber:9},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-foreground/60 flex items-center gap-3`,children:[(0,L.jsxDEV)(`span`,{children:`BUILT_ON_PI // MIT_LICENSE // 2026`},void 0,!1,{fileName:Fo,lineNumber:12,columnNumber:11},this),(0,L.jsxDEV)(`span`,{className:`px-2 py-0.5 border border-foreground/20 rounded text-[10px] bg-foreground/5`,children:[`V`,`0.3.8`]},void 0,!0,{fileName:Fo,lineNumber:13,columnNumber:11},this)]},void 0,!0,{fileName:Fo,lineNumber:11,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`flex gap-6 text-foreground/60`,children:[(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,className:`hover:text-[#d44a3d] transition-colors`,children:`[GITHUB]`},void 0,!1,{fileName:Fo,lineNumber:18,columnNumber:11},this),(0,L.jsxDEV)(`a`,{href:`https://keating.help`,className:`hover:text-[#d44a3d] transition-colors`,children:`[WEB]`},void 0,!1,{fileName:Fo,lineNumber:24,columnNumber:11},this)]},void 0,!0,{fileName:Fo,lineNumber:17,columnNumber:9},this)]},void 0,!0,{fileName:Fo,lineNumber:6,columnNumber:7},this)},void 0,!1,{fileName:Fo,lineNumber:5,columnNumber:5},this)}function Lo(){return(0,L.jsxDEV)(`footer`,{className:`py-8 px-6 border-t-2 border-border`,children:(0,L.jsxDEV)(`div`,{className:`max-w-6xl mx-auto text-center font-terminal text-foreground/60`,children:(0,L.jsxDEV)(Li,{to:`/`,className:`hover:text-[#d44a3d] transition-colors`,children:`[BACK_TO_HOME]`},void 0,!1,{fileName:Fo,lineNumber:37,columnNumber:9},this)},void 0,!1,{fileName:Fo,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:Fo,lineNumber:35,columnNumber:5},this)}var Ro=`/home/diogenes/Projects/keating/web/src/components/BootSequence.tsx`,ree=[{text:`BIOS DATE 01/15/25 14:22:51 VER 0.1.3`,delay:.1},{text:`CPU: NEURAL-CORE x64 @ 3.2GHz`,delay:.3},{text:`MEMORY TEST: 16384K OK`,delay:.5},{text:``,delay:.7},{text:`LOADING KEATING HYPERTEACHER MODULE...`,delay:.9},{text:`INITIALIZING SOCRATIC PROTOCOLS... [OK]`,delay:1.2},{text:`MOUNTING KNOWLEDGE GRAPH... [OK]`,delay:1.5},{text:`CALIBRATING DIAGNOSTIC ENGINE... [OK]`,delay:1.8},{text:``,delay:2.1},{text:`SYSTEM READY.`,delay:2.4}];function zo(){let[e,t]=(0,F.useState)(!1),[n,r]=(0,F.useState)(!1);return(0,F.useEffect)(()=>{if(localStorage.getItem(`keating_boot_shown`)!==`true`){t(!0);let e=setTimeout(()=>r(!0),3e3),n=setTimeout(()=>{t(!1),localStorage.setItem(`keating_boot_shown`,`true`)},3500);return()=>{clearTimeout(e),clearTimeout(n)}}},[]),e?(0,L.jsxDEV)(`div`,{className:`fixed inset-0 bg-[#0c0c0c] z-[60] font-terminal text-[#00ff00] p-8 overflow-hidden`,style:{opacity:+!n,transition:`opacity 0.5s`},children:(0,L.jsxDEV)(`div`,{className:`crt max-w-2xl mx-auto mt-20 text-lg leading-relaxed`,children:[ree.map((e,t)=>(0,L.jsxDEV)(`div`,{className:`boot-line`,style:{animationDelay:`${e.delay}s`},children:e.text},t,!1,{fileName:Ro,lineNumber:45,columnNumber:11},this)),(0,L.jsxDEV)(`div`,{className:`boot-line cursor-blink`,style:{animationDelay:`2.7s`},children:`_`},void 0,!1,{fileName:Ro,lineNumber:53,columnNumber:9},this)]},void 0,!0,{fileName:Ro,lineNumber:43,columnNumber:7},this)},void 0,!1,{fileName:Ro,lineNumber:39,columnNumber:5},this):null}var Bo=`BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.B.B.B.S.WS.ON.ON.ET.ET.ET.ON.ON.ON.ON.ON.ES.CS.ES.CS.CS.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.CS.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.BN.BN.BN.BN.BN.BN.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.CS.ON.ET.ET.ET.ET.ON.ON.ON.ON.L.ON.ON.BN.ON.ON.ET.ET.EN.EN.ON.L.ON.ON.ON.EN.L.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L`.split(`.`),Vo=[[697,698,`ON`],[706,719,`ON`],[722,735,`ON`],[741,749,`ON`],[751,767,`ON`],[768,879,`NSM`],[884,885,`ON`],[894,894,`ON`],[900,901,`ON`],[903,903,`ON`],[1014,1014,`ON`],[1155,1161,`NSM`],[1418,1418,`ON`],[1421,1422,`ON`],[1423,1423,`ET`],[1424,1424,`R`],[1425,1469,`NSM`],[1470,1470,`R`],[1471,1471,`NSM`],[1472,1472,`R`],[1473,1474,`NSM`],[1475,1475,`R`],[1476,1477,`NSM`],[1478,1478,`R`],[1479,1479,`NSM`],[1480,1535,`R`],[1536,1541,`AN`],[1542,1543,`ON`],[1544,1544,`AL`],[1545,1546,`ET`],[1547,1547,`AL`],[1548,1548,`CS`],[1549,1549,`AL`],[1550,1551,`ON`],[1552,1562,`NSM`],[1563,1610,`AL`],[1611,1631,`NSM`],[1632,1641,`AN`],[1642,1642,`ET`],[1643,1644,`AN`],[1645,1647,`AL`],[1648,1648,`NSM`],[1649,1749,`AL`],[1750,1756,`NSM`],[1757,1757,`AN`],[1758,1758,`ON`],[1759,1764,`NSM`],[1765,1766,`AL`],[1767,1768,`NSM`],[1769,1769,`ON`],[1770,1773,`NSM`],[1774,1775,`AL`],[1776,1785,`EN`],[1786,1808,`AL`],[1809,1809,`NSM`],[1810,1839,`AL`],[1840,1866,`NSM`],[1867,1957,`AL`],[1958,1968,`NSM`],[1969,1983,`AL`],[1984,2026,`R`],[2027,2035,`NSM`],[2036,2037,`R`],[2038,2041,`ON`],[2042,2044,`R`],[2045,2045,`NSM`],[2046,2069,`R`],[2070,2073,`NSM`],[2074,2074,`R`],[2075,2083,`NSM`],[2084,2084,`R`],[2085,2087,`NSM`],[2088,2088,`R`],[2089,2093,`NSM`],[2094,2136,`R`],[2137,2139,`NSM`],[2140,2143,`R`],[2144,2191,`AL`],[2192,2193,`AN`],[2194,2198,`AL`],[2199,2207,`NSM`],[2208,2249,`AL`],[2250,2273,`NSM`],[2274,2274,`AN`],[2275,2306,`NSM`],[2362,2362,`NSM`],[2364,2364,`NSM`],[2369,2376,`NSM`],[2381,2381,`NSM`],[2385,2391,`NSM`],[2402,2403,`NSM`],[2433,2433,`NSM`],[2492,2492,`NSM`],[2497,2500,`NSM`],[2509,2509,`NSM`],[2530,2531,`NSM`],[2546,2547,`ET`],[2555,2555,`ET`],[2558,2558,`NSM`],[2561,2562,`NSM`],[2620,2620,`NSM`],[2625,2626,`NSM`],[2631,2632,`NSM`],[2635,2637,`NSM`],[2641,2641,`NSM`],[2672,2673,`NSM`],[2677,2677,`NSM`],[2689,2690,`NSM`],[2748,2748,`NSM`],[2753,2757,`NSM`],[2759,2760,`NSM`],[2765,2765,`NSM`],[2786,2787,`NSM`],[2801,2801,`ET`],[2810,2815,`NSM`],[2817,2817,`NSM`],[2876,2876,`NSM`],[2879,2879,`NSM`],[2881,2884,`NSM`],[2893,2893,`NSM`],[2901,2902,`NSM`],[2914,2915,`NSM`],[2946,2946,`NSM`],[3008,3008,`NSM`],[3021,3021,`NSM`],[3059,3064,`ON`],[3065,3065,`ET`],[3066,3066,`ON`],[3072,3072,`NSM`],[3076,3076,`NSM`],[3132,3132,`NSM`],[3134,3136,`NSM`],[3142,3144,`NSM`],[3146,3149,`NSM`],[3157,3158,`NSM`],[3170,3171,`NSM`],[3192,3198,`ON`],[3201,3201,`NSM`],[3260,3260,`NSM`],[3276,3277,`NSM`],[3298,3299,`NSM`],[3328,3329,`NSM`],[3387,3388,`NSM`],[3393,3396,`NSM`],[3405,3405,`NSM`],[3426,3427,`NSM`],[3457,3457,`NSM`],[3530,3530,`NSM`],[3538,3540,`NSM`],[3542,3542,`NSM`],[3633,3633,`NSM`],[3636,3642,`NSM`],[3647,3647,`ET`],[3655,3662,`NSM`],[3761,3761,`NSM`],[3764,3772,`NSM`],[3784,3790,`NSM`],[3864,3865,`NSM`],[3893,3893,`NSM`],[3895,3895,`NSM`],[3897,3897,`NSM`],[3898,3901,`ON`],[3953,3966,`NSM`],[3968,3972,`NSM`],[3974,3975,`NSM`],[3981,3991,`NSM`],[3993,4028,`NSM`],[4038,4038,`NSM`],[4141,4144,`NSM`],[4146,4151,`NSM`],[4153,4154,`NSM`],[4157,4158,`NSM`],[4184,4185,`NSM`],[4190,4192,`NSM`],[4209,4212,`NSM`],[4226,4226,`NSM`],[4229,4230,`NSM`],[4237,4237,`NSM`],[4253,4253,`NSM`],[4957,4959,`NSM`],[5008,5017,`ON`],[5120,5120,`ON`],[5760,5760,`WS`],[5787,5788,`ON`],[5906,5908,`NSM`],[5938,5939,`NSM`],[5970,5971,`NSM`],[6002,6003,`NSM`],[6068,6069,`NSM`],[6071,6077,`NSM`],[6086,6086,`NSM`],[6089,6099,`NSM`],[6107,6107,`ET`],[6109,6109,`NSM`],[6128,6137,`ON`],[6144,6154,`ON`],[6155,6157,`NSM`],[6158,6158,`BN`],[6159,6159,`NSM`],[6277,6278,`NSM`],[6313,6313,`NSM`],[6432,6434,`NSM`],[6439,6440,`NSM`],[6450,6450,`NSM`],[6457,6459,`NSM`],[6464,6464,`ON`],[6468,6469,`ON`],[6622,6655,`ON`],[6679,6680,`NSM`],[6683,6683,`NSM`],[6742,6742,`NSM`],[6744,6750,`NSM`],[6752,6752,`NSM`],[6754,6754,`NSM`],[6757,6764,`NSM`],[6771,6780,`NSM`],[6783,6783,`NSM`],[6832,6877,`NSM`],[6880,6891,`NSM`],[6912,6915,`NSM`],[6964,6964,`NSM`],[6966,6970,`NSM`],[6972,6972,`NSM`],[6978,6978,`NSM`],[7019,7027,`NSM`],[7040,7041,`NSM`],[7074,7077,`NSM`],[7080,7081,`NSM`],[7083,7085,`NSM`],[7142,7142,`NSM`],[7144,7145,`NSM`],[7149,7149,`NSM`],[7151,7153,`NSM`],[7212,7219,`NSM`],[7222,7223,`NSM`],[7376,7378,`NSM`],[7380,7392,`NSM`],[7394,7400,`NSM`],[7405,7405,`NSM`],[7412,7412,`NSM`],[7416,7417,`NSM`],[7616,7679,`NSM`],[8125,8125,`ON`],[8127,8129,`ON`],[8141,8143,`ON`],[8157,8159,`ON`],[8173,8175,`ON`],[8189,8190,`ON`],[8192,8202,`WS`],[8203,8205,`BN`],[8207,8207,`R`],[8208,8231,`ON`],[8232,8232,`WS`],[8233,8233,`B`],[8234,8238,`BN`],[8239,8239,`CS`],[8240,8244,`ET`],[8245,8259,`ON`],[8260,8260,`CS`],[8261,8286,`ON`],[8287,8287,`WS`],[8288,8303,`BN`],[8304,8304,`EN`],[8308,8313,`EN`],[8314,8315,`ES`],[8316,8318,`ON`],[8320,8329,`EN`],[8330,8331,`ES`],[8332,8334,`ON`],[8352,8399,`ET`],[8400,8432,`NSM`],[8448,8449,`ON`],[8451,8454,`ON`],[8456,8457,`ON`],[8468,8468,`ON`],[8470,8472,`ON`],[8478,8483,`ON`],[8485,8485,`ON`],[8487,8487,`ON`],[8489,8489,`ON`],[8494,8494,`ET`],[8506,8507,`ON`],[8512,8516,`ON`],[8522,8525,`ON`],[8528,8543,`ON`],[8585,8587,`ON`],[8592,8721,`ON`],[8722,8722,`ES`],[8723,8723,`ET`],[8724,9013,`ON`],[9083,9108,`ON`],[9110,9257,`ON`],[9280,9290,`ON`],[9312,9351,`ON`],[9352,9371,`EN`],[9450,9899,`ON`],[9901,10239,`ON`],[10496,11123,`ON`],[11126,11263,`ON`],[11493,11498,`ON`],[11503,11505,`NSM`],[11513,11519,`ON`],[11647,11647,`NSM`],[11744,11775,`NSM`],[11776,11869,`ON`],[11904,11929,`ON`],[11931,12019,`ON`],[12032,12245,`ON`],[12272,12287,`ON`],[12288,12288,`WS`],[12289,12292,`ON`],[12296,12320,`ON`],[12330,12333,`NSM`],[12336,12336,`ON`],[12342,12343,`ON`],[12349,12351,`ON`],[12441,12442,`NSM`],[12443,12444,`ON`],[12448,12448,`ON`],[12539,12539,`ON`],[12736,12773,`ON`],[12783,12783,`ON`],[12829,12830,`ON`],[12880,12895,`ON`],[12924,12926,`ON`],[12977,12991,`ON`],[13004,13007,`ON`],[13175,13178,`ON`],[13278,13279,`ON`],[13311,13311,`ON`],[19904,19967,`ON`],[42128,42182,`ON`],[42509,42511,`ON`],[42607,42610,`NSM`],[42611,42611,`ON`],[42612,42621,`NSM`],[42622,42623,`ON`],[42654,42655,`NSM`],[42736,42737,`NSM`],[42752,42785,`ON`],[42888,42888,`ON`],[43010,43010,`NSM`],[43014,43014,`NSM`],[43019,43019,`NSM`],[43045,43046,`NSM`],[43048,43051,`ON`],[43052,43052,`NSM`],[43064,43065,`ET`],[43124,43127,`ON`],[43204,43205,`NSM`],[43232,43249,`NSM`],[43263,43263,`NSM`],[43302,43309,`NSM`],[43335,43345,`NSM`],[43392,43394,`NSM`],[43443,43443,`NSM`],[43446,43449,`NSM`],[43452,43453,`NSM`],[43493,43493,`NSM`],[43561,43566,`NSM`],[43569,43570,`NSM`],[43573,43574,`NSM`],[43587,43587,`NSM`],[43596,43596,`NSM`],[43644,43644,`NSM`],[43696,43696,`NSM`],[43698,43700,`NSM`],[43703,43704,`NSM`],[43710,43711,`NSM`],[43713,43713,`NSM`],[43756,43757,`NSM`],[43766,43766,`NSM`],[43882,43883,`ON`],[44005,44005,`NSM`],[44008,44008,`NSM`],[44013,44013,`NSM`],[64285,64285,`R`],[64286,64286,`NSM`],[64287,64296,`R`],[64297,64297,`ES`],[64298,64335,`R`],[64336,64450,`AL`],[64451,64466,`ON`],[64467,64829,`AL`],[64830,64847,`ON`],[64848,64911,`AL`],[64912,64913,`ON`],[64914,64967,`AL`],[64968,64975,`ON`],[64976,65007,`BN`],[65008,65020,`AL`],[65021,65023,`ON`],[65024,65039,`NSM`],[65040,65049,`ON`],[65056,65071,`NSM`],[65072,65103,`ON`],[65104,65104,`CS`],[65105,65105,`ON`],[65106,65106,`CS`],[65108,65108,`ON`],[65109,65109,`CS`],[65110,65118,`ON`],[65119,65119,`ET`],[65120,65121,`ON`],[65122,65123,`ES`],[65124,65126,`ON`],[65128,65128,`ON`],[65129,65130,`ET`],[65131,65131,`ON`],[65136,65278,`AL`],[65279,65279,`BN`],[65281,65282,`ON`],[65283,65285,`ET`],[65286,65290,`ON`],[65291,65291,`ES`],[65292,65292,`CS`],[65293,65293,`ES`],[65294,65295,`CS`],[65296,65305,`EN`],[65306,65306,`CS`],[65307,65312,`ON`],[65339,65344,`ON`],[65371,65381,`ON`],[65504,65505,`ET`],[65506,65508,`ON`],[65509,65510,`ET`],[65512,65518,`ON`],[65520,65528,`BN`],[65529,65533,`ON`],[65534,65535,`BN`],[65793,65793,`ON`],[65856,65932,`ON`],[65936,65948,`ON`],[65952,65952,`ON`],[66045,66045,`NSM`],[66272,66272,`NSM`],[66273,66299,`EN`],[66422,66426,`NSM`],[67584,67870,`R`],[67871,67871,`ON`],[67872,68096,`R`],[68097,68099,`NSM`],[68100,68100,`R`],[68101,68102,`NSM`],[68103,68107,`R`],[68108,68111,`NSM`],[68112,68151,`R`],[68152,68154,`NSM`],[68155,68158,`R`],[68159,68159,`NSM`],[68160,68324,`R`],[68325,68326,`NSM`],[68327,68408,`R`],[68409,68415,`ON`],[68416,68863,`R`],[68864,68899,`AL`],[68900,68903,`NSM`],[68904,68911,`AL`],[68912,68921,`AN`],[68922,68927,`AL`],[68928,68937,`AN`],[68938,68968,`R`],[68969,68973,`NSM`],[68974,68974,`ON`],[68975,69215,`R`],[69216,69246,`AN`],[69247,69290,`R`],[69291,69292,`NSM`],[69293,69311,`R`],[69312,69327,`AL`],[69328,69336,`ON`],[69337,69369,`AL`],[69370,69375,`NSM`],[69376,69423,`R`],[69424,69445,`AL`],[69446,69456,`NSM`],[69457,69487,`AL`],[69488,69505,`R`],[69506,69509,`NSM`],[69510,69631,`R`],[69633,69633,`NSM`],[69688,69702,`NSM`],[69714,69733,`ON`],[69744,69744,`NSM`],[69747,69748,`NSM`],[69759,69761,`NSM`],[69811,69814,`NSM`],[69817,69818,`NSM`],[69826,69826,`NSM`],[69888,69890,`NSM`],[69927,69931,`NSM`],[69933,69940,`NSM`],[70003,70003,`NSM`],[70016,70017,`NSM`],[70070,70078,`NSM`],[70089,70092,`NSM`],[70095,70095,`NSM`],[70191,70193,`NSM`],[70196,70196,`NSM`],[70198,70199,`NSM`],[70206,70206,`NSM`],[70209,70209,`NSM`],[70367,70367,`NSM`],[70371,70378,`NSM`],[70400,70401,`NSM`],[70459,70460,`NSM`],[70464,70464,`NSM`],[70502,70508,`NSM`],[70512,70516,`NSM`],[70587,70592,`NSM`],[70606,70606,`NSM`],[70608,70608,`NSM`],[70610,70610,`NSM`],[70625,70626,`NSM`],[70712,70719,`NSM`],[70722,70724,`NSM`],[70726,70726,`NSM`],[70750,70750,`NSM`],[70835,70840,`NSM`],[70842,70842,`NSM`],[70847,70848,`NSM`],[70850,70851,`NSM`],[71090,71093,`NSM`],[71100,71101,`NSM`],[71103,71104,`NSM`],[71132,71133,`NSM`],[71219,71226,`NSM`],[71229,71229,`NSM`],[71231,71232,`NSM`],[71264,71276,`ON`],[71339,71339,`NSM`],[71341,71341,`NSM`],[71344,71349,`NSM`],[71351,71351,`NSM`],[71453,71453,`NSM`],[71455,71455,`NSM`],[71458,71461,`NSM`],[71463,71467,`NSM`],[71727,71735,`NSM`],[71737,71738,`NSM`],[71995,71996,`NSM`],[71998,71998,`NSM`],[72003,72003,`NSM`],[72148,72151,`NSM`],[72154,72155,`NSM`],[72160,72160,`NSM`],[72193,72198,`NSM`],[72201,72202,`NSM`],[72243,72248,`NSM`],[72251,72254,`NSM`],[72263,72263,`NSM`],[72273,72278,`NSM`],[72281,72283,`NSM`],[72330,72342,`NSM`],[72344,72345,`NSM`],[72544,72544,`NSM`],[72546,72548,`NSM`],[72550,72550,`NSM`],[72752,72758,`NSM`],[72760,72765,`NSM`],[72850,72871,`NSM`],[72874,72880,`NSM`],[72882,72883,`NSM`],[72885,72886,`NSM`],[73009,73014,`NSM`],[73018,73018,`NSM`],[73020,73021,`NSM`],[73023,73029,`NSM`],[73031,73031,`NSM`],[73104,73105,`NSM`],[73109,73109,`NSM`],[73111,73111,`NSM`],[73459,73460,`NSM`],[73472,73473,`NSM`],[73526,73530,`NSM`],[73536,73536,`NSM`],[73538,73538,`NSM`],[73562,73562,`NSM`],[73685,73692,`ON`],[73693,73696,`ET`],[73697,73713,`ON`],[78912,78912,`NSM`],[78919,78933,`NSM`],[90398,90409,`NSM`],[90413,90415,`NSM`],[92912,92916,`NSM`],[92976,92982,`NSM`],[94031,94031,`NSM`],[94095,94098,`NSM`],[94178,94178,`ON`],[94180,94180,`NSM`],[113821,113822,`NSM`],[113824,113827,`BN`],[117760,117973,`ON`],[118e3,118009,`EN`],[118010,118012,`ON`],[118016,118451,`ON`],[118458,118480,`ON`],[118496,118512,`ON`],[118528,118573,`NSM`],[118576,118598,`NSM`],[119143,119145,`NSM`],[119155,119162,`BN`],[119163,119170,`NSM`],[119173,119179,`NSM`],[119210,119213,`NSM`],[119273,119274,`ON`],[119296,119361,`ON`],[119362,119364,`NSM`],[119365,119365,`ON`],[119552,119638,`ON`],[120513,120513,`ON`],[120539,120539,`ON`],[120571,120571,`ON`],[120597,120597,`ON`],[120629,120629,`ON`],[120655,120655,`ON`],[120687,120687,`ON`],[120713,120713,`ON`],[120745,120745,`ON`],[120771,120771,`ON`],[120782,120831,`EN`],[121344,121398,`NSM`],[121403,121452,`NSM`],[121461,121461,`NSM`],[121476,121476,`NSM`],[121499,121503,`NSM`],[121505,121519,`NSM`],[122880,122886,`NSM`],[122888,122904,`NSM`],[122907,122913,`NSM`],[122915,122916,`NSM`],[122918,122922,`NSM`],[123023,123023,`NSM`],[123184,123190,`NSM`],[123566,123566,`NSM`],[123628,123631,`NSM`],[123647,123647,`ET`],[124140,124143,`NSM`],[124398,124399,`NSM`],[124643,124643,`NSM`],[124646,124646,`NSM`],[124654,124655,`NSM`],[124661,124661,`NSM`],[124928,125135,`R`],[125136,125142,`NSM`],[125143,125251,`R`],[125252,125258,`NSM`],[125259,126063,`R`],[126064,126143,`AL`],[126144,126207,`R`],[126208,126287,`AL`],[126288,126463,`R`],[126464,126703,`AL`],[126704,126705,`ON`],[126706,126719,`AL`],[126720,126975,`R`],[126976,127019,`ON`],[127024,127123,`ON`],[127136,127150,`ON`],[127153,127167,`ON`],[127169,127183,`ON`],[127185,127221,`ON`],[127232,127242,`EN`],[127243,127247,`ON`],[127279,127279,`ON`],[127338,127343,`ON`],[127405,127405,`ON`],[127584,127589,`ON`],[127744,128728,`ON`],[128732,128748,`ON`],[128752,128764,`ON`],[128768,128985,`ON`],[128992,129003,`ON`],[129008,129008,`ON`],[129024,129035,`ON`],[129040,129095,`ON`],[129104,129113,`ON`],[129120,129159,`ON`],[129168,129197,`ON`],[129200,129211,`ON`],[129216,129217,`ON`],[129232,129240,`ON`],[129280,129623,`ON`],[129632,129645,`ON`],[129648,129660,`ON`],[129664,129674,`ON`],[129678,129734,`ON`],[129736,129736,`ON`],[129741,129756,`ON`],[129759,129770,`ON`],[129775,129784,`ON`],[129792,129938,`ON`],[129940,130031,`ON`],[130032,130041,`EN`],[130042,130042,`ON`],[131070,131071,`BN`],[196606,196607,`BN`],[262142,262143,`BN`],[327678,327679,`BN`],[393214,393215,`BN`],[458750,458751,`BN`],[524286,524287,`BN`],[589822,589823,`BN`],[655358,655359,`BN`],[720894,720895,`BN`],[786430,786431,`BN`],[851966,851967,`BN`],[917502,917759,`BN`],[917760,917999,`NSM`],[918e3,921599,`BN`],[983038,983039,`BN`],[1048574,1048575,`BN`],[1114110,1114111,`BN`]];function Ho(e){if(e<=255)return Bo[e];let t=0,n=Vo.length-1;for(;t<=n;){let r=t+n>>1,i=Vo[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return`L`}function Uo(e){let t=e.length;if(t===0)return null;let n=Array(t),r=!1;for(let i=0;i<t;){let a=e.charCodeAt(i),o=a,s=1;if(a>=55296&&a<=56319&&i+1<t){let t=e.charCodeAt(i+1);t>=56320&&t<=57343&&(o=(a-55296<<10)+(t-56320)+65536,s=2)}let c=Ho(o);(c===`R`||c===`AL`||c===`AN`)&&(r=!0);for(let e=0;e<s;e++)n[i+e]=c;i+=s}if(!r)return null;let i=0;for(let e=0;e<t;e++){let t=n[e];if(t===`L`){i=0;break}if(t===`R`||t===`AL`){i=1;break}}let a=new Int8Array(t);for(let e=0;e<t;e++)a[e]=i;let o=i&1?`R`:`L`,s=o,c=s;for(let e=0;e<t;e++)n[e]===`NSM`?n[e]=c:c=n[e];c=s;for(let e=0;e<t;e++){let t=n[e];t===`EN`?n[e]=c===`AL`?`AN`:`EN`:(t===`R`||t===`L`||t===`AL`)&&(c=t)}for(let e=0;e<t;e++)n[e]===`AL`&&(n[e]=`R`);for(let e=1;e<t-1;e++)n[e]===`ES`&&n[e-1]===`EN`&&n[e+1]===`EN`&&(n[e]=`EN`),n[e]===`CS`&&(n[e-1]===`EN`||n[e-1]===`AN`)&&n[e+1]===n[e-1]&&(n[e]=n[e-1]);for(let e=0;e<t;e++){if(n[e]!==`EN`)continue;let r;for(r=e-1;r>=0&&n[r]===`ET`;r--)n[r]=`EN`;for(r=e+1;r<t&&n[r]===`ET`;r++)n[r]=`EN`}for(let e=0;e<t;e++){let t=n[e];(t===`WS`||t===`ES`||t===`ET`||t===`CS`)&&(n[e]=`ON`)}c=s;for(let e=0;e<t;e++){let t=n[e];t===`EN`?n[e]=c===`L`?`L`:`EN`:(t===`R`||t===`L`)&&(c=t)}for(let e=0;e<t;e++){if(n[e]!==`ON`)continue;let r=e+1;for(;r<t&&n[r]===`ON`;)r++;let i=e>0?n[e-1]:s,a=r<t?n[r]:s,o=i===`L`?`L`:`R`;if(o===(a===`L`?`L`:`R`))for(let t=e;t<r;t++)n[t]=o;e=r-1}for(let e=0;e<t;e++)n[e]===`ON`&&(n[e]=o);for(let e=0;e<t;e++){let t=n[e];a[e]&1?(t===`L`||t===`AN`||t===`EN`)&&a[e]++:t===`R`?a[e]++:(t===`AN`||t===`EN`)&&(a[e]+=2)}return a}function Wo(e,t){let n=Uo(e);if(n===null)return null;let r=new Int8Array(t.length);for(let e=0;e<t.length;e++)r[e]=n[t[e]];return r}var Go=/[ \t\n\r\f]+/g,Ko=/[\t\n\r\f]| {2,}|^ | $/;function qo(e){let t=e??`normal`;return t===`pre-wrap`?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Jo(e){if(!Ko.test(e))return e;let t=e.replace(Go,` `);return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Yo(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
245
|
+
<%s key={someKey} {...props} />`,o,p,m,p),re[p+o]=!0)}if(p=null,i!==void 0&&(r(i),p=``+i),s(n)&&(r(n.key),p=``+n.key),`key`in n)for(var h in i={},n)h!==`key`&&(i[h]=n[h]);else i=n;return p&&c(i,typeof e==`function`?e.displayName||e.name||`Unknown`:e),u(e,p,i,a(),l,d)}function f(e){p(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===E&&(e._payload.status===`fulfilled`?p(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function p(e){return typeof e==`object`&&!!e&&e.$$typeof===h}var m=Je(),h=Symbol.for(`react.transitional.element`),g=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),w=Symbol.for(`react.suspense_list`),T=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.client.reference`),k=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=Object.prototype.hasOwnProperty,ee=Array.isArray,j=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var M,te={},ne=m.react_stack_bottom_frame.bind(m,o)(),N=j(i(o)),re={};e.Fragment=_,e.jsxDEV=function(e,t,n,r){var a=1e4>k.recentlyCreatedOwnerStacks++;return d(e,t,n,r,a?Error(`react-stack-top-frame`):ne,a?j(i(e)):N)}})()})),L=a(((e,t)=>{t.exports=ko()}))(),Ao=`/home/diogenes/Projects/keating/web/src/components/ThemeToggle.tsx`;function jo(){if(typeof document>`u`)return!1;let e=document.documentElement;if(e.classList.contains(`dark`)||e.classList.contains(`light`))return e.classList.contains(`dark`);let t=localStorage.getItem(`theme`);return t===`dark`?!0:t===`light`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}function Mo(){let[e,t]=(0,F.useState)(()=>jo());return(0,F.useEffect)(()=>{let e=new MutationObserver(()=>{t(document.documentElement.classList.contains(`dark`))});return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]),(0,L.jsxDEV)(`button`,{type:`button`,onClick:(0,F.useCallback)(()=>{let e=document.documentElement,n=!e.classList.contains(`dark`);n?(e.classList.add(`dark`),localStorage.setItem(`theme`,`dark`)):(e.classList.remove(`dark`),localStorage.setItem(`theme`,`light`)),t(n)},[]),className:`inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,title:e?`Switch to light mode`:`Switch to dark mode`,"aria-label":e?`Switch to light mode`:`Switch to dark mode`,children:e?(0,L.jsxDEV)(_o,{size:16},void 0,!1,{fileName:Ao,lineNumber:48,columnNumber:17},this):(0,L.jsxDEV)(to,{size:16},void 0,!1,{fileName:Ao,lineNumber:48,columnNumber:37},this)},void 0,!1,{fileName:Ao,lineNumber:41,columnNumber:5},this)}var No=`/home/diogenes/Projects/keating/web/src/components/Nav.tsx`;function Po({showFeatures:e=!1}){let[t,n]=(0,F.useState)(!1),r=Ci(),i=()=>n(!1),a=(0,F.useRef)(null),o=(0,F.useRef)(null),s=(0,F.useCallback)(()=>{window.innerWidth>=768&&n(!1)},[]);return(0,F.useEffect)(()=>(window.addEventListener(`resize`,s),()=>window.removeEventListener(`resize`,s)),[s]),(0,F.useEffect)(()=>{if(!t)return;let e=e=>{e.key===`Escape`&&n(!1)},r=e=>{let t=e.target;o.current&&o.current.contains(t)||a.current&&!a.current.contains(t)&&n(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,r),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,r)}},[t]),(0,L.jsxDEV)(`nav`,{id:`main-nav`,className:`retro-layout`,style:{position:`sticky`,top:0,zIndex:50,borderBottom:`2px solid var(--ink, #1a1a1a)`,background:`var(--paper, #f4f1ea)`},children:[(0,L.jsxDEV)(`div`,{style:{maxWidth:`72rem`,margin:`0 auto`,padding:`0 1rem`,height:`3.5rem`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`1rem`},children:[(0,L.jsxDEV)(Li,{to:`/`,className:`nav-logo`,style:{display:`flex`,alignItems:`center`,gap:`0.5rem`,textDecoration:`none`,color:`inherit`,flexShrink:1,minWidth:0},children:[(0,L.jsxDEV)(`div`,{className:`status-led shrink-0`},void 0,!1,{fileName:No,lineNumber:84,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row sm:items-baseline sm:gap-2 leading-tight`,children:[(0,L.jsxDEV)(`span`,{style:{fontSize:`1.125rem`,fontWeight:700,letterSpacing:`-0.025em`,whiteSpace:`nowrap`},children:`KEATING//`},void 0,!1,{fileName:No,lineNumber:86,columnNumber:13},this),(0,L.jsxDEV)(`span`,{className:`font-terminal`,style:{fontSize:`0.875rem`,color:`var(--accent, #d44a3d)`,whiteSpace:`nowrap`},children:[`v`,`0.3.9`]},void 0,!0,{fileName:No,lineNumber:96,columnNumber:13},this)]},void 0,!0,{fileName:No,lineNumber:85,columnNumber:11},this)]},void 0,!0,{fileName:No,lineNumber:71,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`nav-desktop`,style:{alignItems:`center`,gap:`1.5rem`},children:[e&&(0,L.jsxDEV)(`a`,{href:`#features`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[FEATURES]`},void 0,!1,{fileName:No,lineNumber:108,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[KEATING]`},void 0,!1,{fileName:No,lineNumber:112,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/tutorial`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[TUTORIAL]`},void 0,!1,{fileName:No,lineNumber:115,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/blog`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[BLOG]`},void 0,!1,{fileName:No,lineNumber:118,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/paper`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[PAPER]`},void 0,!1,{fileName:No,lineNumber:121,columnNumber:11},this),(0,L.jsxDEV)(Li,{to:`/usage`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[USAGE]`},void 0,!1,{fileName:No,lineNumber:124,columnNumber:11},this),(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,target:`_blank`,rel:`noreferrer`,className:`nav-link glitch-hover font-terminal nav-desktop-link`,children:`[GITHUB]`},void 0,!1,{fileName:No,lineNumber:127,columnNumber:11},this),(0,L.jsxDEV)(Mo,{},void 0,!1,{fileName:No,lineNumber:135,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`btn-retro nav-desktop-link`,style:{padding:`0.5rem 1rem`,fontWeight:700,fontSize:`0.875rem`,fontFamily:`'VT323', monospace`},onClick:()=>r({to:`/chat`}),children:`TRY_KEATING`},void 0,!1,{fileName:No,lineNumber:136,columnNumber:11},this)]},void 0,!0,{fileName:No,lineNumber:106,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`nav-mobile-actions flex md:hidden items-center gap-2`,children:[(0,L.jsxDEV)(Mo,{},void 0,!1,{fileName:No,lineNumber:152,columnNumber:11},this),(0,L.jsxDEV)(`button`,{ref:o,id:`mobile-menu-btn`,className:`nav-mobile-toggle glitch-hover font-terminal`,style:{color:`var(--ink, #1a1a1a)`,border:`2px solid var(--ink, #1a1a1a)`,padding:`0.375rem 0.75rem`,cursor:`pointer`,background:`transparent`,fontSize:`1rem`,transition:`background 0.15s, color 0.15s`},onClick:()=>n(e=>!e),"aria-expanded":t,"aria-controls":`mobile-menu`,"aria-label":`Toggle navigation menu`,children:t?`[CLOSE]`:`[MENU]`},void 0,!1,{fileName:No,lineNumber:153,columnNumber:11},this)]},void 0,!0,{fileName:No,lineNumber:151,columnNumber:9},this)]},void 0,!0,{fileName:No,lineNumber:58,columnNumber:7},this),t&&(0,L.jsxDEV)(`div`,{id:`mobile-menu`,ref:a,style:{borderTop:`2px solid var(--ink, #1a1a1a)`,background:`var(--paper, #f4f1ea)`,maxHeight:`calc(100dvh - 3.5rem)`,overflowY:`auto`},children:(0,L.jsxDEV)(`div`,{className:`font-terminal`,style:{padding:`0.75rem 1rem`,display:`flex`,flexDirection:`column`,gap:`0.25rem`,fontSize:`1.125rem`},children:[e&&(0,L.jsxDEV)(`a`,{href:`#features`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[FEATURES]`},void 0,!1,{fileName:No,lineNumber:199,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[KEATING]`},void 0,!1,{fileName:No,lineNumber:208,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/tutorial`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[TUTORIAL]`},void 0,!1,{fileName:No,lineNumber:216,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/blog`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[BLOG]`},void 0,!1,{fileName:No,lineNumber:224,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/paper`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[PAPER]`},void 0,!1,{fileName:No,lineNumber:232,columnNumber:13},this),(0,L.jsxDEV)(Li,{to:`/usage`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[USAGE]`},void 0,!1,{fileName:No,lineNumber:240,columnNumber:13},this),(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,target:`_blank`,rel:`noreferrer`,className:`nav-link glitch-hover`,style:{padding:`0.75rem 0.5rem`},onClick:i,children:`[GITHUB]`},void 0,!1,{fileName:No,lineNumber:248,columnNumber:13},this),(0,L.jsxDEV)(`button`,{className:`btn-retro`,style:{padding:`0.75rem 1rem`,fontWeight:700,fontSize:`1rem`,marginTop:`0.5rem`,width:`100%`,fontFamily:`'VT323', monospace`},onClick:()=>{i(),r({to:`/chat`})},children:`TRY_KEATING`},void 0,!1,{fileName:No,lineNumber:258,columnNumber:13},this)]},void 0,!0,{fileName:No,lineNumber:188,columnNumber:11},this)},void 0,!1,{fileName:No,lineNumber:178,columnNumber:9},this)]},void 0,!0,{fileName:No,lineNumber:46,columnNumber:5},this)}var Fo=`/home/diogenes/Projects/keating/web/src/components/Footer.tsx`;function Io(){return(0,L.jsxDEV)(`footer`,{className:`py-12 px-6 border-t-2 border-border`,children:(0,L.jsxDEV)(`div`,{className:`max-w-6xl mx-auto flex flex-col md:flex-row items-center justify-between gap-4 font-terminal`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2 text-foreground/60`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#d44a3d]`,children:`●`},void 0,!1,{fileName:Fo,lineNumber:8,columnNumber:11},this),(0,L.jsxDEV)(`span`,{children:`KEATING_HYPERTEACHER`},void 0,!1,{fileName:Fo,lineNumber:9,columnNumber:11},this)]},void 0,!0,{fileName:Fo,lineNumber:7,columnNumber:9},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-foreground/60 flex items-center gap-3`,children:[(0,L.jsxDEV)(`span`,{children:`BUILT_ON_PI // MIT_LICENSE // 2026`},void 0,!1,{fileName:Fo,lineNumber:12,columnNumber:11},this),(0,L.jsxDEV)(`span`,{className:`px-2 py-0.5 border border-foreground/20 rounded text-[10px] bg-foreground/5`,children:[`V`,`0.3.9`]},void 0,!0,{fileName:Fo,lineNumber:13,columnNumber:11},this)]},void 0,!0,{fileName:Fo,lineNumber:11,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`flex gap-6 text-foreground/60`,children:[(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,className:`hover:text-[#d44a3d] transition-colors`,children:`[GITHUB]`},void 0,!1,{fileName:Fo,lineNumber:18,columnNumber:11},this),(0,L.jsxDEV)(`a`,{href:`https://keating.help`,className:`hover:text-[#d44a3d] transition-colors`,children:`[WEB]`},void 0,!1,{fileName:Fo,lineNumber:24,columnNumber:11},this)]},void 0,!0,{fileName:Fo,lineNumber:17,columnNumber:9},this)]},void 0,!0,{fileName:Fo,lineNumber:6,columnNumber:7},this)},void 0,!1,{fileName:Fo,lineNumber:5,columnNumber:5},this)}function Lo(){return(0,L.jsxDEV)(`footer`,{className:`py-8 px-6 border-t-2 border-border`,children:(0,L.jsxDEV)(`div`,{className:`max-w-6xl mx-auto text-center font-terminal text-foreground/60`,children:(0,L.jsxDEV)(Li,{to:`/`,className:`hover:text-[#d44a3d] transition-colors`,children:`[BACK_TO_HOME]`},void 0,!1,{fileName:Fo,lineNumber:37,columnNumber:9},this)},void 0,!1,{fileName:Fo,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:Fo,lineNumber:35,columnNumber:5},this)}var Ro=`/home/diogenes/Projects/keating/web/src/components/BootSequence.tsx`,ree=[{text:`BIOS DATE 01/15/25 14:22:51 VER 0.1.3`,delay:.1},{text:`CPU: NEURAL-CORE x64 @ 3.2GHz`,delay:.3},{text:`MEMORY TEST: 16384K OK`,delay:.5},{text:``,delay:.7},{text:`LOADING KEATING HYPERTEACHER MODULE...`,delay:.9},{text:`INITIALIZING SOCRATIC PROTOCOLS... [OK]`,delay:1.2},{text:`MOUNTING KNOWLEDGE GRAPH... [OK]`,delay:1.5},{text:`CALIBRATING DIAGNOSTIC ENGINE... [OK]`,delay:1.8},{text:``,delay:2.1},{text:`SYSTEM READY.`,delay:2.4}];function zo(){let[e,t]=(0,F.useState)(!1),[n,r]=(0,F.useState)(!1);return(0,F.useEffect)(()=>{if(localStorage.getItem(`keating_boot_shown`)!==`true`){t(!0);let e=setTimeout(()=>r(!0),3e3),n=setTimeout(()=>{t(!1),localStorage.setItem(`keating_boot_shown`,`true`)},3500);return()=>{clearTimeout(e),clearTimeout(n)}}},[]),e?(0,L.jsxDEV)(`div`,{className:`fixed inset-0 bg-[#0c0c0c] z-[60] font-terminal text-[#00ff00] p-8 overflow-hidden`,style:{opacity:+!n,transition:`opacity 0.5s`},children:(0,L.jsxDEV)(`div`,{className:`crt max-w-2xl mx-auto mt-20 text-lg leading-relaxed`,children:[ree.map((e,t)=>(0,L.jsxDEV)(`div`,{className:`boot-line`,style:{animationDelay:`${e.delay}s`},children:e.text},t,!1,{fileName:Ro,lineNumber:45,columnNumber:11},this)),(0,L.jsxDEV)(`div`,{className:`boot-line cursor-blink`,style:{animationDelay:`2.7s`},children:`_`},void 0,!1,{fileName:Ro,lineNumber:53,columnNumber:9},this)]},void 0,!0,{fileName:Ro,lineNumber:43,columnNumber:7},this)},void 0,!1,{fileName:Ro,lineNumber:39,columnNumber:5},this):null}var Bo=`BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.B.B.B.S.WS.ON.ON.ET.ET.ET.ON.ON.ON.ON.ON.ES.CS.ES.CS.CS.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.CS.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.BN.BN.BN.BN.BN.BN.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.CS.ON.ET.ET.ET.ET.ON.ON.ON.ON.L.ON.ON.BN.ON.ON.ET.ET.EN.EN.ON.L.ON.ON.ON.EN.L.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L`.split(`.`),Vo=[[697,698,`ON`],[706,719,`ON`],[722,735,`ON`],[741,749,`ON`],[751,767,`ON`],[768,879,`NSM`],[884,885,`ON`],[894,894,`ON`],[900,901,`ON`],[903,903,`ON`],[1014,1014,`ON`],[1155,1161,`NSM`],[1418,1418,`ON`],[1421,1422,`ON`],[1423,1423,`ET`],[1424,1424,`R`],[1425,1469,`NSM`],[1470,1470,`R`],[1471,1471,`NSM`],[1472,1472,`R`],[1473,1474,`NSM`],[1475,1475,`R`],[1476,1477,`NSM`],[1478,1478,`R`],[1479,1479,`NSM`],[1480,1535,`R`],[1536,1541,`AN`],[1542,1543,`ON`],[1544,1544,`AL`],[1545,1546,`ET`],[1547,1547,`AL`],[1548,1548,`CS`],[1549,1549,`AL`],[1550,1551,`ON`],[1552,1562,`NSM`],[1563,1610,`AL`],[1611,1631,`NSM`],[1632,1641,`AN`],[1642,1642,`ET`],[1643,1644,`AN`],[1645,1647,`AL`],[1648,1648,`NSM`],[1649,1749,`AL`],[1750,1756,`NSM`],[1757,1757,`AN`],[1758,1758,`ON`],[1759,1764,`NSM`],[1765,1766,`AL`],[1767,1768,`NSM`],[1769,1769,`ON`],[1770,1773,`NSM`],[1774,1775,`AL`],[1776,1785,`EN`],[1786,1808,`AL`],[1809,1809,`NSM`],[1810,1839,`AL`],[1840,1866,`NSM`],[1867,1957,`AL`],[1958,1968,`NSM`],[1969,1983,`AL`],[1984,2026,`R`],[2027,2035,`NSM`],[2036,2037,`R`],[2038,2041,`ON`],[2042,2044,`R`],[2045,2045,`NSM`],[2046,2069,`R`],[2070,2073,`NSM`],[2074,2074,`R`],[2075,2083,`NSM`],[2084,2084,`R`],[2085,2087,`NSM`],[2088,2088,`R`],[2089,2093,`NSM`],[2094,2136,`R`],[2137,2139,`NSM`],[2140,2143,`R`],[2144,2191,`AL`],[2192,2193,`AN`],[2194,2198,`AL`],[2199,2207,`NSM`],[2208,2249,`AL`],[2250,2273,`NSM`],[2274,2274,`AN`],[2275,2306,`NSM`],[2362,2362,`NSM`],[2364,2364,`NSM`],[2369,2376,`NSM`],[2381,2381,`NSM`],[2385,2391,`NSM`],[2402,2403,`NSM`],[2433,2433,`NSM`],[2492,2492,`NSM`],[2497,2500,`NSM`],[2509,2509,`NSM`],[2530,2531,`NSM`],[2546,2547,`ET`],[2555,2555,`ET`],[2558,2558,`NSM`],[2561,2562,`NSM`],[2620,2620,`NSM`],[2625,2626,`NSM`],[2631,2632,`NSM`],[2635,2637,`NSM`],[2641,2641,`NSM`],[2672,2673,`NSM`],[2677,2677,`NSM`],[2689,2690,`NSM`],[2748,2748,`NSM`],[2753,2757,`NSM`],[2759,2760,`NSM`],[2765,2765,`NSM`],[2786,2787,`NSM`],[2801,2801,`ET`],[2810,2815,`NSM`],[2817,2817,`NSM`],[2876,2876,`NSM`],[2879,2879,`NSM`],[2881,2884,`NSM`],[2893,2893,`NSM`],[2901,2902,`NSM`],[2914,2915,`NSM`],[2946,2946,`NSM`],[3008,3008,`NSM`],[3021,3021,`NSM`],[3059,3064,`ON`],[3065,3065,`ET`],[3066,3066,`ON`],[3072,3072,`NSM`],[3076,3076,`NSM`],[3132,3132,`NSM`],[3134,3136,`NSM`],[3142,3144,`NSM`],[3146,3149,`NSM`],[3157,3158,`NSM`],[3170,3171,`NSM`],[3192,3198,`ON`],[3201,3201,`NSM`],[3260,3260,`NSM`],[3276,3277,`NSM`],[3298,3299,`NSM`],[3328,3329,`NSM`],[3387,3388,`NSM`],[3393,3396,`NSM`],[3405,3405,`NSM`],[3426,3427,`NSM`],[3457,3457,`NSM`],[3530,3530,`NSM`],[3538,3540,`NSM`],[3542,3542,`NSM`],[3633,3633,`NSM`],[3636,3642,`NSM`],[3647,3647,`ET`],[3655,3662,`NSM`],[3761,3761,`NSM`],[3764,3772,`NSM`],[3784,3790,`NSM`],[3864,3865,`NSM`],[3893,3893,`NSM`],[3895,3895,`NSM`],[3897,3897,`NSM`],[3898,3901,`ON`],[3953,3966,`NSM`],[3968,3972,`NSM`],[3974,3975,`NSM`],[3981,3991,`NSM`],[3993,4028,`NSM`],[4038,4038,`NSM`],[4141,4144,`NSM`],[4146,4151,`NSM`],[4153,4154,`NSM`],[4157,4158,`NSM`],[4184,4185,`NSM`],[4190,4192,`NSM`],[4209,4212,`NSM`],[4226,4226,`NSM`],[4229,4230,`NSM`],[4237,4237,`NSM`],[4253,4253,`NSM`],[4957,4959,`NSM`],[5008,5017,`ON`],[5120,5120,`ON`],[5760,5760,`WS`],[5787,5788,`ON`],[5906,5908,`NSM`],[5938,5939,`NSM`],[5970,5971,`NSM`],[6002,6003,`NSM`],[6068,6069,`NSM`],[6071,6077,`NSM`],[6086,6086,`NSM`],[6089,6099,`NSM`],[6107,6107,`ET`],[6109,6109,`NSM`],[6128,6137,`ON`],[6144,6154,`ON`],[6155,6157,`NSM`],[6158,6158,`BN`],[6159,6159,`NSM`],[6277,6278,`NSM`],[6313,6313,`NSM`],[6432,6434,`NSM`],[6439,6440,`NSM`],[6450,6450,`NSM`],[6457,6459,`NSM`],[6464,6464,`ON`],[6468,6469,`ON`],[6622,6655,`ON`],[6679,6680,`NSM`],[6683,6683,`NSM`],[6742,6742,`NSM`],[6744,6750,`NSM`],[6752,6752,`NSM`],[6754,6754,`NSM`],[6757,6764,`NSM`],[6771,6780,`NSM`],[6783,6783,`NSM`],[6832,6877,`NSM`],[6880,6891,`NSM`],[6912,6915,`NSM`],[6964,6964,`NSM`],[6966,6970,`NSM`],[6972,6972,`NSM`],[6978,6978,`NSM`],[7019,7027,`NSM`],[7040,7041,`NSM`],[7074,7077,`NSM`],[7080,7081,`NSM`],[7083,7085,`NSM`],[7142,7142,`NSM`],[7144,7145,`NSM`],[7149,7149,`NSM`],[7151,7153,`NSM`],[7212,7219,`NSM`],[7222,7223,`NSM`],[7376,7378,`NSM`],[7380,7392,`NSM`],[7394,7400,`NSM`],[7405,7405,`NSM`],[7412,7412,`NSM`],[7416,7417,`NSM`],[7616,7679,`NSM`],[8125,8125,`ON`],[8127,8129,`ON`],[8141,8143,`ON`],[8157,8159,`ON`],[8173,8175,`ON`],[8189,8190,`ON`],[8192,8202,`WS`],[8203,8205,`BN`],[8207,8207,`R`],[8208,8231,`ON`],[8232,8232,`WS`],[8233,8233,`B`],[8234,8238,`BN`],[8239,8239,`CS`],[8240,8244,`ET`],[8245,8259,`ON`],[8260,8260,`CS`],[8261,8286,`ON`],[8287,8287,`WS`],[8288,8303,`BN`],[8304,8304,`EN`],[8308,8313,`EN`],[8314,8315,`ES`],[8316,8318,`ON`],[8320,8329,`EN`],[8330,8331,`ES`],[8332,8334,`ON`],[8352,8399,`ET`],[8400,8432,`NSM`],[8448,8449,`ON`],[8451,8454,`ON`],[8456,8457,`ON`],[8468,8468,`ON`],[8470,8472,`ON`],[8478,8483,`ON`],[8485,8485,`ON`],[8487,8487,`ON`],[8489,8489,`ON`],[8494,8494,`ET`],[8506,8507,`ON`],[8512,8516,`ON`],[8522,8525,`ON`],[8528,8543,`ON`],[8585,8587,`ON`],[8592,8721,`ON`],[8722,8722,`ES`],[8723,8723,`ET`],[8724,9013,`ON`],[9083,9108,`ON`],[9110,9257,`ON`],[9280,9290,`ON`],[9312,9351,`ON`],[9352,9371,`EN`],[9450,9899,`ON`],[9901,10239,`ON`],[10496,11123,`ON`],[11126,11263,`ON`],[11493,11498,`ON`],[11503,11505,`NSM`],[11513,11519,`ON`],[11647,11647,`NSM`],[11744,11775,`NSM`],[11776,11869,`ON`],[11904,11929,`ON`],[11931,12019,`ON`],[12032,12245,`ON`],[12272,12287,`ON`],[12288,12288,`WS`],[12289,12292,`ON`],[12296,12320,`ON`],[12330,12333,`NSM`],[12336,12336,`ON`],[12342,12343,`ON`],[12349,12351,`ON`],[12441,12442,`NSM`],[12443,12444,`ON`],[12448,12448,`ON`],[12539,12539,`ON`],[12736,12773,`ON`],[12783,12783,`ON`],[12829,12830,`ON`],[12880,12895,`ON`],[12924,12926,`ON`],[12977,12991,`ON`],[13004,13007,`ON`],[13175,13178,`ON`],[13278,13279,`ON`],[13311,13311,`ON`],[19904,19967,`ON`],[42128,42182,`ON`],[42509,42511,`ON`],[42607,42610,`NSM`],[42611,42611,`ON`],[42612,42621,`NSM`],[42622,42623,`ON`],[42654,42655,`NSM`],[42736,42737,`NSM`],[42752,42785,`ON`],[42888,42888,`ON`],[43010,43010,`NSM`],[43014,43014,`NSM`],[43019,43019,`NSM`],[43045,43046,`NSM`],[43048,43051,`ON`],[43052,43052,`NSM`],[43064,43065,`ET`],[43124,43127,`ON`],[43204,43205,`NSM`],[43232,43249,`NSM`],[43263,43263,`NSM`],[43302,43309,`NSM`],[43335,43345,`NSM`],[43392,43394,`NSM`],[43443,43443,`NSM`],[43446,43449,`NSM`],[43452,43453,`NSM`],[43493,43493,`NSM`],[43561,43566,`NSM`],[43569,43570,`NSM`],[43573,43574,`NSM`],[43587,43587,`NSM`],[43596,43596,`NSM`],[43644,43644,`NSM`],[43696,43696,`NSM`],[43698,43700,`NSM`],[43703,43704,`NSM`],[43710,43711,`NSM`],[43713,43713,`NSM`],[43756,43757,`NSM`],[43766,43766,`NSM`],[43882,43883,`ON`],[44005,44005,`NSM`],[44008,44008,`NSM`],[44013,44013,`NSM`],[64285,64285,`R`],[64286,64286,`NSM`],[64287,64296,`R`],[64297,64297,`ES`],[64298,64335,`R`],[64336,64450,`AL`],[64451,64466,`ON`],[64467,64829,`AL`],[64830,64847,`ON`],[64848,64911,`AL`],[64912,64913,`ON`],[64914,64967,`AL`],[64968,64975,`ON`],[64976,65007,`BN`],[65008,65020,`AL`],[65021,65023,`ON`],[65024,65039,`NSM`],[65040,65049,`ON`],[65056,65071,`NSM`],[65072,65103,`ON`],[65104,65104,`CS`],[65105,65105,`ON`],[65106,65106,`CS`],[65108,65108,`ON`],[65109,65109,`CS`],[65110,65118,`ON`],[65119,65119,`ET`],[65120,65121,`ON`],[65122,65123,`ES`],[65124,65126,`ON`],[65128,65128,`ON`],[65129,65130,`ET`],[65131,65131,`ON`],[65136,65278,`AL`],[65279,65279,`BN`],[65281,65282,`ON`],[65283,65285,`ET`],[65286,65290,`ON`],[65291,65291,`ES`],[65292,65292,`CS`],[65293,65293,`ES`],[65294,65295,`CS`],[65296,65305,`EN`],[65306,65306,`CS`],[65307,65312,`ON`],[65339,65344,`ON`],[65371,65381,`ON`],[65504,65505,`ET`],[65506,65508,`ON`],[65509,65510,`ET`],[65512,65518,`ON`],[65520,65528,`BN`],[65529,65533,`ON`],[65534,65535,`BN`],[65793,65793,`ON`],[65856,65932,`ON`],[65936,65948,`ON`],[65952,65952,`ON`],[66045,66045,`NSM`],[66272,66272,`NSM`],[66273,66299,`EN`],[66422,66426,`NSM`],[67584,67870,`R`],[67871,67871,`ON`],[67872,68096,`R`],[68097,68099,`NSM`],[68100,68100,`R`],[68101,68102,`NSM`],[68103,68107,`R`],[68108,68111,`NSM`],[68112,68151,`R`],[68152,68154,`NSM`],[68155,68158,`R`],[68159,68159,`NSM`],[68160,68324,`R`],[68325,68326,`NSM`],[68327,68408,`R`],[68409,68415,`ON`],[68416,68863,`R`],[68864,68899,`AL`],[68900,68903,`NSM`],[68904,68911,`AL`],[68912,68921,`AN`],[68922,68927,`AL`],[68928,68937,`AN`],[68938,68968,`R`],[68969,68973,`NSM`],[68974,68974,`ON`],[68975,69215,`R`],[69216,69246,`AN`],[69247,69290,`R`],[69291,69292,`NSM`],[69293,69311,`R`],[69312,69327,`AL`],[69328,69336,`ON`],[69337,69369,`AL`],[69370,69375,`NSM`],[69376,69423,`R`],[69424,69445,`AL`],[69446,69456,`NSM`],[69457,69487,`AL`],[69488,69505,`R`],[69506,69509,`NSM`],[69510,69631,`R`],[69633,69633,`NSM`],[69688,69702,`NSM`],[69714,69733,`ON`],[69744,69744,`NSM`],[69747,69748,`NSM`],[69759,69761,`NSM`],[69811,69814,`NSM`],[69817,69818,`NSM`],[69826,69826,`NSM`],[69888,69890,`NSM`],[69927,69931,`NSM`],[69933,69940,`NSM`],[70003,70003,`NSM`],[70016,70017,`NSM`],[70070,70078,`NSM`],[70089,70092,`NSM`],[70095,70095,`NSM`],[70191,70193,`NSM`],[70196,70196,`NSM`],[70198,70199,`NSM`],[70206,70206,`NSM`],[70209,70209,`NSM`],[70367,70367,`NSM`],[70371,70378,`NSM`],[70400,70401,`NSM`],[70459,70460,`NSM`],[70464,70464,`NSM`],[70502,70508,`NSM`],[70512,70516,`NSM`],[70587,70592,`NSM`],[70606,70606,`NSM`],[70608,70608,`NSM`],[70610,70610,`NSM`],[70625,70626,`NSM`],[70712,70719,`NSM`],[70722,70724,`NSM`],[70726,70726,`NSM`],[70750,70750,`NSM`],[70835,70840,`NSM`],[70842,70842,`NSM`],[70847,70848,`NSM`],[70850,70851,`NSM`],[71090,71093,`NSM`],[71100,71101,`NSM`],[71103,71104,`NSM`],[71132,71133,`NSM`],[71219,71226,`NSM`],[71229,71229,`NSM`],[71231,71232,`NSM`],[71264,71276,`ON`],[71339,71339,`NSM`],[71341,71341,`NSM`],[71344,71349,`NSM`],[71351,71351,`NSM`],[71453,71453,`NSM`],[71455,71455,`NSM`],[71458,71461,`NSM`],[71463,71467,`NSM`],[71727,71735,`NSM`],[71737,71738,`NSM`],[71995,71996,`NSM`],[71998,71998,`NSM`],[72003,72003,`NSM`],[72148,72151,`NSM`],[72154,72155,`NSM`],[72160,72160,`NSM`],[72193,72198,`NSM`],[72201,72202,`NSM`],[72243,72248,`NSM`],[72251,72254,`NSM`],[72263,72263,`NSM`],[72273,72278,`NSM`],[72281,72283,`NSM`],[72330,72342,`NSM`],[72344,72345,`NSM`],[72544,72544,`NSM`],[72546,72548,`NSM`],[72550,72550,`NSM`],[72752,72758,`NSM`],[72760,72765,`NSM`],[72850,72871,`NSM`],[72874,72880,`NSM`],[72882,72883,`NSM`],[72885,72886,`NSM`],[73009,73014,`NSM`],[73018,73018,`NSM`],[73020,73021,`NSM`],[73023,73029,`NSM`],[73031,73031,`NSM`],[73104,73105,`NSM`],[73109,73109,`NSM`],[73111,73111,`NSM`],[73459,73460,`NSM`],[73472,73473,`NSM`],[73526,73530,`NSM`],[73536,73536,`NSM`],[73538,73538,`NSM`],[73562,73562,`NSM`],[73685,73692,`ON`],[73693,73696,`ET`],[73697,73713,`ON`],[78912,78912,`NSM`],[78919,78933,`NSM`],[90398,90409,`NSM`],[90413,90415,`NSM`],[92912,92916,`NSM`],[92976,92982,`NSM`],[94031,94031,`NSM`],[94095,94098,`NSM`],[94178,94178,`ON`],[94180,94180,`NSM`],[113821,113822,`NSM`],[113824,113827,`BN`],[117760,117973,`ON`],[118e3,118009,`EN`],[118010,118012,`ON`],[118016,118451,`ON`],[118458,118480,`ON`],[118496,118512,`ON`],[118528,118573,`NSM`],[118576,118598,`NSM`],[119143,119145,`NSM`],[119155,119162,`BN`],[119163,119170,`NSM`],[119173,119179,`NSM`],[119210,119213,`NSM`],[119273,119274,`ON`],[119296,119361,`ON`],[119362,119364,`NSM`],[119365,119365,`ON`],[119552,119638,`ON`],[120513,120513,`ON`],[120539,120539,`ON`],[120571,120571,`ON`],[120597,120597,`ON`],[120629,120629,`ON`],[120655,120655,`ON`],[120687,120687,`ON`],[120713,120713,`ON`],[120745,120745,`ON`],[120771,120771,`ON`],[120782,120831,`EN`],[121344,121398,`NSM`],[121403,121452,`NSM`],[121461,121461,`NSM`],[121476,121476,`NSM`],[121499,121503,`NSM`],[121505,121519,`NSM`],[122880,122886,`NSM`],[122888,122904,`NSM`],[122907,122913,`NSM`],[122915,122916,`NSM`],[122918,122922,`NSM`],[123023,123023,`NSM`],[123184,123190,`NSM`],[123566,123566,`NSM`],[123628,123631,`NSM`],[123647,123647,`ET`],[124140,124143,`NSM`],[124398,124399,`NSM`],[124643,124643,`NSM`],[124646,124646,`NSM`],[124654,124655,`NSM`],[124661,124661,`NSM`],[124928,125135,`R`],[125136,125142,`NSM`],[125143,125251,`R`],[125252,125258,`NSM`],[125259,126063,`R`],[126064,126143,`AL`],[126144,126207,`R`],[126208,126287,`AL`],[126288,126463,`R`],[126464,126703,`AL`],[126704,126705,`ON`],[126706,126719,`AL`],[126720,126975,`R`],[126976,127019,`ON`],[127024,127123,`ON`],[127136,127150,`ON`],[127153,127167,`ON`],[127169,127183,`ON`],[127185,127221,`ON`],[127232,127242,`EN`],[127243,127247,`ON`],[127279,127279,`ON`],[127338,127343,`ON`],[127405,127405,`ON`],[127584,127589,`ON`],[127744,128728,`ON`],[128732,128748,`ON`],[128752,128764,`ON`],[128768,128985,`ON`],[128992,129003,`ON`],[129008,129008,`ON`],[129024,129035,`ON`],[129040,129095,`ON`],[129104,129113,`ON`],[129120,129159,`ON`],[129168,129197,`ON`],[129200,129211,`ON`],[129216,129217,`ON`],[129232,129240,`ON`],[129280,129623,`ON`],[129632,129645,`ON`],[129648,129660,`ON`],[129664,129674,`ON`],[129678,129734,`ON`],[129736,129736,`ON`],[129741,129756,`ON`],[129759,129770,`ON`],[129775,129784,`ON`],[129792,129938,`ON`],[129940,130031,`ON`],[130032,130041,`EN`],[130042,130042,`ON`],[131070,131071,`BN`],[196606,196607,`BN`],[262142,262143,`BN`],[327678,327679,`BN`],[393214,393215,`BN`],[458750,458751,`BN`],[524286,524287,`BN`],[589822,589823,`BN`],[655358,655359,`BN`],[720894,720895,`BN`],[786430,786431,`BN`],[851966,851967,`BN`],[917502,917759,`BN`],[917760,917999,`NSM`],[918e3,921599,`BN`],[983038,983039,`BN`],[1048574,1048575,`BN`],[1114110,1114111,`BN`]];function Ho(e){if(e<=255)return Bo[e];let t=0,n=Vo.length-1;for(;t<=n;){let r=t+n>>1,i=Vo[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return`L`}function Uo(e){let t=e.length;if(t===0)return null;let n=Array(t),r=!1;for(let i=0;i<t;){let a=e.charCodeAt(i),o=a,s=1;if(a>=55296&&a<=56319&&i+1<t){let t=e.charCodeAt(i+1);t>=56320&&t<=57343&&(o=(a-55296<<10)+(t-56320)+65536,s=2)}let c=Ho(o);(c===`R`||c===`AL`||c===`AN`)&&(r=!0);for(let e=0;e<s;e++)n[i+e]=c;i+=s}if(!r)return null;let i=0;for(let e=0;e<t;e++){let t=n[e];if(t===`L`){i=0;break}if(t===`R`||t===`AL`){i=1;break}}let a=new Int8Array(t);for(let e=0;e<t;e++)a[e]=i;let o=i&1?`R`:`L`,s=o,c=s;for(let e=0;e<t;e++)n[e]===`NSM`?n[e]=c:c=n[e];c=s;for(let e=0;e<t;e++){let t=n[e];t===`EN`?n[e]=c===`AL`?`AN`:`EN`:(t===`R`||t===`L`||t===`AL`)&&(c=t)}for(let e=0;e<t;e++)n[e]===`AL`&&(n[e]=`R`);for(let e=1;e<t-1;e++)n[e]===`ES`&&n[e-1]===`EN`&&n[e+1]===`EN`&&(n[e]=`EN`),n[e]===`CS`&&(n[e-1]===`EN`||n[e-1]===`AN`)&&n[e+1]===n[e-1]&&(n[e]=n[e-1]);for(let e=0;e<t;e++){if(n[e]!==`EN`)continue;let r;for(r=e-1;r>=0&&n[r]===`ET`;r--)n[r]=`EN`;for(r=e+1;r<t&&n[r]===`ET`;r++)n[r]=`EN`}for(let e=0;e<t;e++){let t=n[e];(t===`WS`||t===`ES`||t===`ET`||t===`CS`)&&(n[e]=`ON`)}c=s;for(let e=0;e<t;e++){let t=n[e];t===`EN`?n[e]=c===`L`?`L`:`EN`:(t===`R`||t===`L`)&&(c=t)}for(let e=0;e<t;e++){if(n[e]!==`ON`)continue;let r=e+1;for(;r<t&&n[r]===`ON`;)r++;let i=e>0?n[e-1]:s,a=r<t?n[r]:s,o=i===`L`?`L`:`R`;if(o===(a===`L`?`L`:`R`))for(let t=e;t<r;t++)n[t]=o;e=r-1}for(let e=0;e<t;e++)n[e]===`ON`&&(n[e]=o);for(let e=0;e<t;e++){let t=n[e];a[e]&1?(t===`L`||t===`AN`||t===`EN`)&&a[e]++:t===`R`?a[e]++:(t===`AN`||t===`EN`)&&(a[e]+=2)}return a}function Wo(e,t){let n=Uo(e);if(n===null)return null;let r=new Int8Array(t.length);for(let e=0;e<t.length;e++)r[e]=n[t[e]];return r}var Go=/[ \t\n\r\f]+/g,Ko=/[\t\n\r\f]| {2,}|^ | $/;function qo(e){let t=e??`normal`;return t===`pre-wrap`?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Jo(e){if(!Ko.test(e))return e;let t=e.replace(Go,` `);return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Yo(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
246
246
|
`).replace(/[\r\f]/g,`
|
|
247
247
|
`):e.replace(/\r\n/g,`
|
|
248
248
|
`)}var Xo=null,Zo;function Qo(){return Xo===null&&(Xo=new Intl.Segmenter(Zo,{granularity:`word`})),Xo}var $o=/\p{Script=Arabic}/u,es=/\p{M}/u,ts=/\p{Nd}/u;function ns(e){return $o.test(e)}function rs(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function is(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){if(rs((n-55296<<10)+(r-56320)+65536))return!0;t++;continue}}if(rs(n))return!0}}return!1}function as(e){let t=Ss(e);return t!==null&&(us.has(t)||ps.has(t))}var os=new Set([`\xA0`,` `,``,``]);function ss(e){return is(e)}function cs(e){let t=Ss(e);return t!==null&&os.has(t)}function ls(e){return!as(e)&&!cs(e)}var us=new Set(`,...!.:.;.?.、.。.・.).〕.〉.》.」.』.】.〗.〙.〛.ー.々.〻.ゝ.ゞ.ヽ.ヾ`.split(`.`)),ds=new Set([`"`,`(`,`[`,`{`,`“`,`‘`,`«`,`‹`,`(`,`〔`,`〈`,`《`,`「`,`『`,`【`,`〖`,`〘`,`〚`]),fs=new Set([`'`,`’`]),ps=new Set(`.(,(!(?(:(;(،(؛(؟(।(॥(၊(။(၌(၍(၏()(](}(%("(”(’(»(›(…`.split(`(`)),ms=new Set([`:`,`.`,`،`,`؛`]),hs=new Set([`၏`]),gs=new Set([`”`,`’`,`»`,`›`,`」`,`』`,`】`,`》`,`〉`,`〕`,`)`]);function _s(e){if(bs(e))return!0;let t=!1;for(let n of e){if(ps.has(n)){t=!0;continue}if(!(t&&es.test(n)))return!1}return t}function vs(e){for(let t of e)if(!us.has(t)&&!ps.has(t))return!1;return e.length>0}function ys(e){if(bs(e))return!0;for(let t of e)if(!ds.has(t)&&!fs.has(t)&&!es.test(t))return!1;return e.length>0}function bs(e){let t=!1;for(let n of e)if(!(n===`\\`||es.test(n))){if(ds.has(n)||ps.has(n)||fs.has(n)){t=!0;continue}return!1}return t}function xs(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let a=e.charCodeAt(i);return a>=55296&&a<=56319?i:n}function Ss(e){if(e.length===0)return null;let t=xs(e,e.length);return e.slice(t)}function Cs(e){let t=Array.from(e),n=t.length;for(;n>0;){let e=t[n-1];if(es.test(e)){n--;continue}if(ds.has(e)||fs.has(e)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(``),tail:t.slice(n).join(``)}}function ws(e,t,n){return n===`text`&&!t&&e.length===1&&e!==`-`&&e!==`—`?e:null}function Ts(e,t,n,r){let i=t[r],a=e[r];if(i==null)return a;let o=n[r];if(a.length===o)return a;let s=i.repeat(o);return e[r]=s,s}function Es(e,t){return e&&t!==null&&ms.has(t)}function Ds(e){let t=Ss(e);return t!==null&&hs.has(t)}function Os(e){if(e.length<2||e[0]!==` `)return null;let t=e.slice(1);return/^\p{M}+$/u.test(t)?{space:` `,marks:t}:null}function ks(e){let t=e.length;for(;t>0;){let n=xs(e,t),r=e.slice(n,t);if(gs.has(r))return!0;if(!ps.has(r))return!1;t=n}return!1}function As(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===` `)return`preserved-space`;if(e===` `)return`tab`;if(t.preserveHardBreaks&&e===`
|
|
@@ -271,25 +271,25 @@ Required: API Key Setup
|
|
|
271
271
|
`,(0,L.jsxDEV)(`span`,{className:`text-[#888]`,children:`# Requires Node.js 18+ and API key in ~/.keating/.env`},void 0,!1,{fileName:Jc,lineNumber:308,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:306,columnNumber:15},this),t===`bun`&&(0,L.jsxDEV)(`code`,{className:`font-terminal text-base sm:text-lg block whitespace-pre-wrap break-all`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#00ff00]`,children:`$`},void 0,!1,{fileName:Jc,lineNumber:315,columnNumber:17},this),` `,`bun add -g keating`,`
|
|
272
272
|
`,(0,L.jsxDEV)(`span`,{className:`text-[#888]`,children:`# Fastest option. Requires Bun 1.0+ and API key`},void 0,!1,{fileName:Jc,lineNumber:316,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:314,columnNumber:15},this),t===`pnpm`&&(0,L.jsxDEV)(`code`,{className:`font-terminal text-base sm:text-lg block whitespace-pre-wrap break-all`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#00ff00]`,children:`$`},void 0,!1,{fileName:Jc,lineNumber:323,columnNumber:17},this),` `,`pnpm add -g keating`,`
|
|
273
273
|
`,(0,L.jsxDEV)(`span`,{className:`text-[#888]`,children:`# Disk-efficient. Requires pnpm and API key`},void 0,!1,{fileName:Jc,lineNumber:324,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:322,columnNumber:15},this),t===`curl`&&(0,L.jsxDEV)(`code`,{className:`font-terminal text-base sm:text-lg block whitespace-pre-wrap break-all`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#00ff00]`,children:`$`},void 0,!1,{fileName:Jc,lineNumber:331,columnNumber:17},this),` `,`curl -fsSL https://raw.githubusercontent.com/Diogenesoftoronto/keating/main/scripts/install/install.sh `,(0,L.jsxDEV)(`span`,{className:`text-[#00ff00]`,children:`|`},void 0,!1,{fileName:Jc,lineNumber:331,columnNumber:166},this),` bash`,`
|
|
274
|
-
`,(0,L.jsxDEV)(`span`,{className:`text-[#888]`,children:`# Standalone install. No package manager needed.`},void 0,!1,{fileName:Jc,lineNumber:332,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:330,columnNumber:15},this),t===`agent`&&(0,L.jsxDEV)(`div`,{className:`font-terminal text-base leading-relaxed break-words`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`$ cat AGENT_INSTRUCTIONS.txt`},void 0,!1,{fileName:Jc,lineNumber:339,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea] mb-4`,children:`Install Keating hyperteacher CLI with one of these methods. All require setting a Google API key for the AI backend.`},void 0,!1,{fileName:Jc,lineNumber:340,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 1: NPM (most common)`},void 0,!1,{fileName:Jc,lineNumber:344,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`npm install -g keating`},void 0,!1,{fileName:Jc,lineNumber:345,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 2: Bun (fastest)`},void 0,!1,{fileName:Jc,lineNumber:346,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`bun add -g keating`},void 0,!1,{fileName:Jc,lineNumber:347,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 3: PNPM (disk efficient)`},void 0,!1,{fileName:Jc,lineNumber:348,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`pnpm add -g keating`},void 0,!1,{fileName:Jc,lineNumber:349,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 4: Curl (standalone)`},void 0,!1,{fileName:Jc,lineNumber:350,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`curl -fsSL .../install.sh | bash`},void 0,!1,{fileName:Jc,lineNumber:351,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-1`,children:`Required: API Key Setup`},void 0,!1,{fileName:Jc,lineNumber:354,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-1 ml-4`,children:`1. Get a Gemini API key from Google AI Studio`},void 0,!1,{fileName:Jc,lineNumber:355,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-1 ml-4`,children:`2. Create ~/.keating/.env with: GEMINI_API_KEY=your_key`},void 0,!1,{fileName:Jc,lineNumber:356,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 ml-4`,children:`3. Or set GEMINI_API_KEY as environment variable`},void 0,!1,{fileName:Jc,lineNumber:359,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:338,columnNumber:15},this)]},void 0,!0,{fileName:Jc,lineNumber:286,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`marquee border-y-2 border-foreground py-2 bg-foreground text-background`,children:(0,L.jsxDEV)(`span`,{className:`font-terminal`,children:`*** AVAILABLE FOR macOS AND LINUX *** YOUR API KEYS STAY LOCAL *** NO CLOUD DEPENDENCY *** FREE AND OPEN SOURCE ***`},void 0,!1,{fileName:Jc,lineNumber:365,columnNumber:13},this)},void 0,!1,{fileName:Jc,lineNumber:364,columnNumber:11},this)]},void 0,!0,{fileName:Jc,lineNumber:250,columnNumber:9},this)},void 0,!1,{fileName:Jc,lineNumber:249,columnNumber:7},this),(0,L.jsxDEV)(Io,{},void 0,!1,{fileName:Jc,lineNumber:373,columnNumber:7},this)]},void 0,!0,{fileName:Jc,lineNumber:84,columnNumber:5},this)}var R=`/home/diogenes/Projects/keating/web/src/pages/Tutorial.tsx`,$c=[{id:`browser`,label:`[BROWSER]`},{id:`ollama`,label:`[OLLAMA]`},{id:`llamacpp`,label:`[LLAMA.CPP]`},{id:`litellm`,label:`[LITELLM]`},{id:`cloud`,label:`[CLOUD]`}];function el(){qc({title:`Keating Tutorial — Getting Started`,description:`Learn how to use Keating: Socratic AI tutoring with lesson plans, concept maps, quizzes, and local or cloud model support.`,canonical:`https://keating.help/tutorial`});let[e,t]=(0,F.useState)(`browser`);return(0,L.jsxDEV)(`div`,{className:`retro-layout retro-page`,children:[(0,L.jsxDEV)(Po,{},void 0,!1,{fileName:R,lineNumber:26,columnNumber:7},this),(0,L.jsxDEV)(`main`,{className:`pt-6 pb-16 px-6`,children:(0,L.jsxDEV)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-8 mb-8`,children:[(0,L.jsxDEV)(`h1`,{className:`text-3xl md:text-4xl font-bold mb-2`,children:`Getting Started with Keating`},void 0,!1,{fileName:R,lineNumber:31,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-muted-foreground font-terminal`,children:`How to learn, plan, and assess with your AI tutor`},void 0,!1,{fileName:R,lineNumber:32,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:30,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`paper-fold distressed-border p-6 mb-8`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-4`,children:`What Is Keating?`},void 0,!1,{fileName:R,lineNumber:37,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Keating is a Socratic AI tutor. It does not give answers — it forces you to reconstruct understanding from memory through questions, struggle, and guided correction. Named after John Keating from `,(0,L.jsxDEV)(`em`,{children:`Dead Poets Society`},void 0,!1,{fileName:R,lineNumber:41,columnNumber:57},this),`, it treats learning as an active process.`]},void 0,!0,{fileName:R,lineNumber:38,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`grid md:grid-cols-4 gap-4 mb-4`,children:[{step:`1`,label:`Diagnose`,desc:`Keating probes what you already know before explaining anything.`},{step:`2`,label:`Struggle`,desc:`You answer freely. Mistakes are expected and useful.`},{step:`3`,label:`Check`,desc:`Keating verifies your reasoning against correct understanding.`},{step:`4`,label:`Build`,desc:`Missing pieces are filled in through targeted explanation.`}].map(e=>(0,L.jsxDEV)(`div`,{className:`border border-border/30 rounded p-4`,children:[(0,L.jsxDEV)(`div`,{className:`font-terminal text-[#d44a3d] mb-1`,children:[e.step,`. `,e.label.toUpperCase()]},void 0,!0,{fileName:R,lineNumber:52,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:e.desc},void 0,!1,{fileName:R,lineNumber:53,columnNumber:19},this)]},e.step,!0,{fileName:R,lineNumber:51,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:44,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The system has 19 teaching tools — from lesson plans to concept maps to quizzes and benchmarked self-improvement. You drive the conversation. Keating responds.`},void 0,!1,{fileName:R,lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:36,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`paper-fold distressed-border p-6 mb-8`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-4`,children:`Suggested Prompts`},void 0,!1,{fileName:R,lineNumber:65,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground mb-4`,children:`Click any prompt to copy it. Paste it into the chat to get started.`},void 0,!1,{fileName:R,lineNumber:66,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`space-y-5`,children:[{category:`Learn`,color:`#10b981`,prompts:[`Explain quantum entanglement like I'm 12 years old.`,`Why does gradient descent work? Walk me through the intuition.`,`Teach me the fundamentals of supply and demand using a real-world example.`]},{category:`Plan`,color:`#6366f1`,prompts:[`Plan a 4-week course on machine learning fundamentals for a beginner.`,`Create a study roadmap for passing the AWS Solutions Architect exam.`,`Map out the prerequisites I need to understand transformers before reading the Attention Is All You Need paper.`]},{category:`Map`,color:`#d97706`,prompts:[`Draw a concept map connecting special relativity, general relativity, and cosmology.`,`Map the evolution of web development from HTML to modern React frameworks.`,`Show me how probability, statistics, and linear algebra connect in data science.`]},{category:`Assess`,color:`#d44a3d`,prompts:[`Quiz me on the Krebs cycle. Ask questions that test deeper understanding, not memorization.`,`Evaluate my understanding of async/await in JavaScript by asking me to explain it from scratch.`,`Benchmark my knowledge of classical mechanics. Push until you find the gaps.`]},{category:`Create`,color:`#ec4899`,prompts:[`Animate how DNS resolution works step by step.`,`Create a verification checklist for a secure web API design.`,`Generate a set of spaced-repetition flashcards for Spanish verb conjugations.`]}].map(e=>(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2 mb-2`,children:(0,L.jsxDEV)(`span`,{className:`font-terminal text-sm`,style:{color:e.color},children:[`[`,e.category.toUpperCase(),`]`]},void 0,!0,{fileName:R,lineNumber:119,columnNumber:21},this)},void 0,!1,{fileName:R,lineNumber:118,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:e.prompts.map(e=>(0,L.jsxDEV)(`button`,{className:`text-left text-sm border border-border/20 rounded-md px-3 py-2 hover:bg-foreground/5 transition-colors break-words`,title:`Click to copy`,onClick:()=>{navigator.clipboard.writeText(e)},children:e},e,!1,{fileName:R,lineNumber:125,columnNumber:23},this))},void 0,!1,{fileName:R,lineNumber:123,columnNumber:19},this)]},e.category,!0,{fileName:R,lineNumber:117,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:69,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:64,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`paper-fold distressed-border p-6 mb-8`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-4`,children:`Tool Commands`},void 0,!1,{fileName:R,lineNumber:144,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground mb-4`,children:`Keating can invoke tools directly. Prefix your message with a command or ask Keating to use a specific tool.`},void 0,!1,{fileName:R,lineNumber:145,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`grid sm:grid-cols-2 gap-3 text-sm`,children:[[`/plan`,`Generate a structured lesson plan on a topic`],[`/map`,`Create a concept map or knowledge graph`],[`/animate`,`Produce a step-by-step animation of a process`],[`/verify`,`Run a pedagogical verification checklist`],[`/bench`,`Benchmark understanding and identify gaps`],[`/evolve`,`Iteratively improve a teaching approach`],[`/quiz`,`Generate a quiz with rubric and answer key`],[`/feedback`,`Record learner feedback signals`],[`/due`,`List upcoming work and deadlines`],[`/timeline`,`Show learning progress over time`]].map(([e,t])=>(0,L.jsxDEV)(`div`,{className:`flex gap-3 items-start`,children:[(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1.5 py-0.5 rounded shrink-0 text-xs`,children:e},void 0,!1,{fileName:R,lineNumber:163,columnNumber:19},this),(0,L.jsxDEV)(`span`,{className:`text-muted-foreground`,children:t},void 0,!1,{fileName:R,lineNumber:164,columnNumber:19},this)]},e,!0,{fileName:R,lineNumber:162,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:149,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:143,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`grid md:grid-cols-2 gap-6 mb-8`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-6 border-l-4 border-l-[#10b981]`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-2 flex items-center gap-2`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#10b981]`,children:`BROWSER`},void 0,!1,{fileName:R,lineNumber:174,columnNumber:17},this),(0,L.jsxDEV)(`span`,{className:`text-xs bg-[#10b981]/10 text-[#10b981] px-2 py-1 rounded`,children:`ZERO SETUP`},void 0,!1,{fileName:R,lineNumber:175,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:173,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-sm mb-3`,children:`Runs entirely in your browser using WebGPU. No installation, no API keys, no server. Just open and chat.`},void 0,!1,{fileName:R,lineNumber:179,columnNumber:15},this),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-1 text-muted-foreground`,children:[(0,L.jsxDEV)(`li`,{children:`- Uses Transformers.js + ONNX models`},void 0,!1,{fileName:R,lineNumber:184,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Model cached in browser (~5GB)`},void 0,!1,{fileName:R,lineNumber:185,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Works offline after first load`},void 0,!1,{fileName:R,lineNumber:186,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Privacy: data never leaves device`},void 0,!1,{fileName:R,lineNumber:187,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:183,columnNumber:15},this)]},void 0,!0,{fileName:R,lineNumber:172,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-6 border-l-4 border-l-[#6366f1]`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-2 flex items-center gap-2`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#6366f1]`,children:`LOCAL`},void 0,!1,{fileName:R,lineNumber:193,columnNumber:17},this),(0,L.jsxDEV)(`span`,{className:`text-xs bg-[#6366f1]/10 text-[#6366f1] px-2 py-1 rounded`,children:`REQUIRES SETUP`},void 0,!1,{fileName:R,lineNumber:194,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:192,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-sm mb-3`,children:`Run any model locally with Ollama, llama.cpp, LiteLLM, or llmfit. More model choices, better performance.`},void 0,!1,{fileName:R,lineNumber:198,columnNumber:15},this),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-1 text-muted-foreground`,children:[(0,L.jsxDEV)(`li`,{children:`- Use any GGUF model`},void 0,!1,{fileName:R,lineNumber:203,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- GPU acceleration (CUDA/Metal)`},void 0,!1,{fileName:R,lineNumber:204,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- No internet required`},void 0,!1,{fileName:R,lineNumber:205,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Set endpoint in settings`},void 0,!1,{fileName:R,lineNumber:206,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:202,columnNumber:15},this)]},void 0,!0,{fileName:R,lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:171,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border overflow-hidden`,children:[(0,L.jsxDEV)(`div`,{className:`flex border-b-2 border-border overflow-x-auto`,children:$c.map(n=>(0,L.jsxDEV)(`button`,{className:`tab-btn font-terminal px-6 py-3 border-r-2 border-border whitespace-nowrap ${e===n.id?`active`:``}`,onClick:()=>t(n.id),children:n.label},n.id,!1,{fileName:R,lineNumber:215,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:213,columnNumber:13},this),e===`browser`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`Browser WebGPU (Zero Setup)`},void 0,!1,{fileName:R,lineNumber:230,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`The simplest option — just use Keating in a supported browser. No installation required.`},void 0,!1,{fileName:R,lineNumber:231,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Requirements:`},void 0,!1,{fileName:R,lineNumber:237,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`ml-4 break-words`,children:`Chrome 113+ / Edge 113+ / Firefox Nightly (WebGPU flag)`},void 0,!1,{fileName:R,lineNumber:238,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`ml-4`,children:`GPU with WebGPU support (most modern GPUs)`},void 0,!1,{fileName:R,lineNumber:239,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`ml-4`,children:`~5GB free disk space for model cache`},void 0,!1,{fileName:R,lineNumber:240,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:236,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[`Open Keating web app in Chrome or Edge`,`Select "Gemma 4 E4B (Browser)" as model`,`Wait for model to download and cache (~5GB, one-time)`,`Chat! Works offline for future sessions`].map((e,t)=>(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:[`0`,t+1,`.`]},void 0,!0,{fileName:R,lineNumber:251,columnNumber:23},this),(0,L.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:R,lineNumber:254,columnNumber:23},this)]},t,!0,{fileName:R,lineNumber:250,columnNumber:21},this))},void 0,!1,{fileName:R,lineNumber:243,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#10b981]/10 border-l-4 border-[#10b981]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#10b981]`,children:`NO_API_KEY_REQUIRED`},void 0,!1,{fileName:R,lineNumber:260,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:`Your conversations never leave your device. Completely private.`},void 0,!1,{fileName:R,lineNumber:261,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:259,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:229,columnNumber:15},this),e===`ollama`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`Ollama`},void 0,!1,{fileName:R,lineNumber:271,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Popular local LLM runner with excellent GPU support. Works with any GGUF model.`},void 0,!1,{fileName:R,lineNumber:272,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Install Ollama:`},void 0,!1,{fileName:R,lineNumber:277,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea] break-all`,children:`curl -fsSL https://ollama.com/install.sh | sh`},void 0,!1,{fileName:R,lineNumber:278,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Pull a model:`},void 0,!1,{fileName:R,lineNumber:279,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`ollama pull gemma3:4b`},void 0,!1,{fileName:R,lineNumber:280,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Start server (runs on port 11434):`},void 0,!1,{fileName:R,lineNumber:281,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`ollama serve`},void 0,!1,{fileName:R,lineNumber:282,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:276,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`01.`},void 0,!1,{fileName:R,lineNumber:287,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Install Ollama from`,` `,(0,L.jsxDEV)(`a`,{href:`https://ollama.com`,target:`_blank`,rel:`noreferrer`,className:`text-[#6366f1] underline`,children:`ollama.com`},void 0,!1,{fileName:R,lineNumber:290,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:288,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:286,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`02.`},void 0,!1,{fileName:R,lineNumber:301,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Pull your preferred model:`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`ollama pull gemma3:4b`},void 0,!1,{fileName:R,lineNumber:304,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:302,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:300,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`03.`},void 0,!1,{fileName:R,lineNumber:310,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`In Keating settings, add custom provider:`},void 0,!1,{fileName:R,lineNumber:311,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:309,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:285,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-4 ml-8 terminal-window p-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00]`,children:`Provider: ollama`},void 0,!1,{fileName:R,lineNumber:316,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00]`,children:`Base URL: http://localhost:11434`},void 0,!1,{fileName:R,lineNumber:317,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00]`,children:`Model: gemma3:4b (or your model name)`},void 0,!1,{fileName:R,lineNumber:318,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:315,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#6366f1]/10 border-l-4 border-[#6366f1]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#6366f1]`,children:`GPU_ACCELERATION`},void 0,!1,{fileName:R,lineNumber:322,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:`Ollama auto-detects CUDA (NVIDIA) and Metal (macOS). No API key needed for local.`},void 0,!1,{fileName:R,lineNumber:323,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:321,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:270,columnNumber:15},this),e===`llamacpp`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`llama.cpp`},void 0,!1,{fileName:R,lineNumber:334,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Lightweight C++ inference. Maximum control and performance. Runs any GGUF model.`},void 0,!1,{fileName:R,lineNumber:335,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Clone and build:`},void 0,!1,{fileName:R,lineNumber:340,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`git clone https://github.com/ggerganov/llama.cpp`},void 0,!1,{fileName:R,lineNumber:341,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`cd llama.cpp && make`},void 0,!1,{fileName:R,lineNumber:342,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Download a GGUF model:`},void 0,!1,{fileName:R,lineNumber:343,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea] break-all`,children:`wget https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF/resolve/main/gemma-4-E4B-it-UD-Q4_K_XL.gguf`},void 0,!1,{fileName:R,lineNumber:344,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Run server:`},void 0,!1,{fileName:R,lineNumber:348,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`./llama-server -m gemma-4-E4B-it-UD-Q4_K_XL.gguf --port 8080`},void 0,!1,{fileName:R,lineNumber:349,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:339,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`01.`},void 0,!1,{fileName:R,lineNumber:356,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Build llama.cpp from`,` `,(0,L.jsxDEV)(`a`,{href:`https://github.com/ggerganov/llama.cpp`,target:`_blank`,rel:`noreferrer`,className:`text-[#6366f1] underline`,children:`GitHub`},void 0,!1,{fileName:R,lineNumber:359,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:357,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:355,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`02.`},void 0,!1,{fileName:R,lineNumber:370,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`Download a GGUF model from HuggingFace`},void 0,!1,{fileName:R,lineNumber:371,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:369,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`03.`},void 0,!1,{fileName:R,lineNumber:374,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`Start the server with your model`},void 0,!1,{fileName:R,lineNumber:375,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:373,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`04.`},void 0,!1,{fileName:R,lineNumber:378,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`In Keating settings, add custom provider pointing to`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`http://localhost:8080`},void 0,!1,{fileName:R,lineNumber:381,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:379,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:377,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:354,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#d97706]/10 border-l-4 border-[#d97706]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#d97706]`,children:`TIP`},void 0,!1,{fileName:R,lineNumber:389,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:[`Use`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`-ngl 99`},void 0,!1,{fileName:R,lineNumber:392,columnNumber:21},this),` to offload all layers to GPU. Use`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`-c 8192`},void 0,!1,{fileName:R,lineNumber:394,columnNumber:21},this),` for larger context.`]},void 0,!0,{fileName:R,lineNumber:390,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:388,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:333,columnNumber:15},this),e===`litellm`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`LiteLLM`},void 0,!1,{fileName:R,lineNumber:404,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Unified API proxy that works with 100+ LLM providers. Exposes an OpenAI-compatible endpoint.`},void 0,!1,{fileName:R,lineNumber:405,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Install:`},void 0,!1,{fileName:R,lineNumber:411,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`pip install litellm`},void 0,!1,{fileName:R,lineNumber:412,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Run with a local model:`},void 0,!1,{fileName:R,lineNumber:413,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`litellm --model ollama/gemma3:4b`},void 0,!1,{fileName:R,lineNumber:414,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Or with API keys (env vars):`},void 0,!1,{fileName:R,lineNumber:415,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`export OPENAI_API_KEY=sk-...`},void 0,!1,{fileName:R,lineNumber:416,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`export ANTHROPIC_API_KEY=sk-ant-...`},void 0,!1,{fileName:R,lineNumber:417,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`litellm --port 4000`},void 0,!1,{fileName:R,lineNumber:418,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:410,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`01.`},void 0,!1,{fileName:R,lineNumber:423,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Install:`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`pip install litellm`},void 0,!1,{fileName:R,lineNumber:426,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:424,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:422,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`02.`},void 0,!1,{fileName:R,lineNumber:430,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`Set API keys as environment variables (if using cloud providers)`},void 0,!1,{fileName:R,lineNumber:431,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:429,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`03.`},void 0,!1,{fileName:R,lineNumber:436,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Start proxy:`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`litellm --port 4000`},void 0,!1,{fileName:R,lineNumber:439,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:437,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:435,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`04.`},void 0,!1,{fileName:R,lineNumber:445,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Point Keating to`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`http://localhost:4000`},void 0,!1,{fileName:R,lineNumber:448,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:446,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:444,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:421,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#10b981]/10 border-l-4 border-[#10b981]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#10b981]`,children:`UNIFIED_API`},void 0,!1,{fileName:R,lineNumber:456,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:`LiteLLM gives you one OpenAI-compatible endpoint that can route to any provider (local or cloud).`},void 0,!1,{fileName:R,lineNumber:457,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:455,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:403,columnNumber:15},this),e===`cloud`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`Cloud Providers`},void 0,!1,{fileName:R,lineNumber:468,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Use managed AI services for best performance and model variety. Requires API keys.`},void 0,!1,{fileName:R,lineNumber:469,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mb-6 p-4 bg-[#4285f4]/5 border border-[#4285f4]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#4285f4] mb-2`,children:`Google AI Studio (Gemini)`},void 0,!1,{fileName:R,lineNumber:474,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:[`1. Go to`,` `,(0,L.jsxDEV)(`a`,{href:`https://aistudio.google.com/app/apikey`,target:`_blank`,rel:`noreferrer`,className:`text-[#4285f4] underline`,children:`aistudio.google.com/app/apikey`},void 0,!1,{fileName:R,lineNumber:478,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:476,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`2. Sign in and click "Create API Key"`},void 0,!1,{fileName:R,lineNumber:487,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`3. Copy key (starts with "AIza...")`},void 0,!1,{fileName:R,lineNumber:488,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`4. Paste in Keating settings`},void 0,!1,{fileName:R,lineNumber:489,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:475,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Free tier: 15 req/min, 1M tokens/day`},void 0,!1,{fileName:R,lineNumber:491,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:473,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mb-6 p-4 bg-[#d44a3d]/5 border border-[#d44a3d]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#d44a3d] mb-2`,children:`Synthetic`},void 0,!1,{fileName:R,lineNumber:497,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:`1. Create or copy your Synthetic API key`},void 0,!1,{fileName:R,lineNumber:499,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:[`2. In Keating settings, add a custom provider named`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`synthetic`},void 0,!1,{fileName:R,lineNumber:502,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:500,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:[`3. Set the provider type to`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`Synthetic (OpenAI Compatible)`},void 0,!1,{fileName:R,lineNumber:506,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:504,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:[`4. Use`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`https://api.synthetic.new/openai/v1`},void 0,!1,{fileName:R,lineNumber:512,columnNumber:23},this),` `,`as the base URL`]},void 0,!0,{fileName:R,lineNumber:510,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:498,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Use this when you want Synthetic's hosted models through an OpenAI-compatible endpoint.`},void 0,!1,{fileName:R,lineNumber:518,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:496,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mb-6 p-4 bg-[#d97706]/5 border border-[#d97706]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#d97706] mb-2`,children:`Anthropic (Claude)`},void 0,!1,{fileName:R,lineNumber:525,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:[`1. Go to`,` `,(0,L.jsxDEV)(`a`,{href:`https://console.anthropic.com/`,target:`_blank`,rel:`noreferrer`,className:`text-[#d97706] underline`,children:`console.anthropic.com`},void 0,!1,{fileName:R,lineNumber:529,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:527,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`2. Create account and navigate to API Keys`},void 0,!1,{fileName:R,lineNumber:538,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`3. Click "Create Key" and copy`},void 0,!1,{fileName:R,lineNumber:539,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`4. Paste in Keating settings`},void 0,!1,{fileName:R,lineNumber:540,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:526,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Pricing: Claude Sonnet $3/M input, $15/M output`},void 0,!1,{fileName:R,lineNumber:542,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:524,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`p-4 bg-[#10a37f]/5 border border-[#10a37f]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#10a37f] mb-2`,children:`OpenAI (GPT)`},void 0,!1,{fileName:R,lineNumber:548,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:[`1. Go to`,` `,(0,L.jsxDEV)(`a`,{href:`https://platform.openai.com/api-keys`,target:`_blank`,rel:`noreferrer`,className:`text-[#10a37f] underline`,children:`platform.openai.com/api-keys`},void 0,!1,{fileName:R,lineNumber:552,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:550,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`2. Create account and click "Create new secret key"`},void 0,!1,{fileName:R,lineNumber:561,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`3. Copy immediately (shown only once)`},void 0,!1,{fileName:R,lineNumber:562,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`4. Paste in Keating settings`},void 0,!1,{fileName:R,lineNumber:563,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:549,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Pricing: GPT-4o $2.50/M input, $10/M output`},void 0,!1,{fileName:R,lineNumber:565,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:547,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:467,columnNumber:15},this)]},void 0,!0,{fileName:R,lineNumber:212,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`mt-8 bg-[#1a1a1a] text-[#f4f1ea] p-6 border-l-4 border-[#d44a3d]`,children:[(0,L.jsxDEV)(`h3`,{className:`font-terminal text-xl text-[#d44a3d] mb-3`,children:`SECURITY_NOTE`},void 0,!1,{fileName:R,lineNumber:575,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm`,children:[`API keys are stored locally in your browser's IndexedDB (web) or`,` `,(0,L.jsxDEV)(`code`,{className:`text-[#00ff00]`,children:`~/.keating/.env`},void 0,!1,{fileName:R,lineNumber:578,columnNumber:15},this),` (CLI). They never leave your device. Never commit keys to git.`]},void 0,!0,{fileName:R,lineNumber:576,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:574,columnNumber:11},this)]},void 0,!0,{fileName:R,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:R,lineNumber:28,columnNumber:7},this),(0,L.jsxDEV)(Lo,{},void 0,!1,{fileName:R,lineNumber:585,columnNumber:7},this)]},void 0,!0,{fileName:R,lineNumber:25,columnNumber:5},this)}var z=`/home/diogenes/Projects/keating/web/src/pages/Blog.tsx`,tl={fix:`bg-[#d97706]/10 text-[#d97706]`,release:`bg-[#10b981]/10 text-[#10b981]`,feature:`bg-[#10b981]/10 text-[#10b981]`,pwa:`bg-[#6366f1]/10 text-[#6366f1]`,update:`bg-[#d97706]/10 text-[#d97706]`,tech:`bg-[#6366f1]/10 text-[#6366f1]`,devlog:`bg-[#d97706]/10 text-[#d97706]`};function nl({children:e}){return(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#f4f1ea] px-1 rounded text-sm`,children:e},void 0,!1,{fileName:z,lineNumber:36,columnNumber:5},this)}function rl({children:e}){return(0,L.jsxDEV)(`div`,{className:`code-block mb-4 overflow-x-auto`,children:(0,L.jsxDEV)(`pre`,{className:`whitespace-pre-wrap break-words`,children:e},void 0,!1,{fileName:z,lineNumber:43,columnNumber:7},this)},void 0,!1,{fileName:z,lineNumber:42,columnNumber:5},this)}function il(e){return e.split(`.`).slice(0,2).join(`.`)}var al=[{date:`2026-05-19`,badge:{label:`FEATURE`,color:`feature`},title:`v0.3.8 — Chat Attachments and Vision-Aware Image Uploads`,version:`0.3.8`,summary:`The web chat composer now has a paperclip button for local file and image attachments. Images are routed to vision-capable models, text/code files are folded into the prompt as readable attachment blocks, and text-only models now fail clearly with a suggestion to switch models instead of silently dropping pictures.`,sections:[{id:`paperclip-composer`,title:`Paperclip Composer`},{id:`attachment-routing`,title:`Attachment Routing`},{id:`vision-guard`,title:`Vision Model Guard`},{id:`transcript-rendering`,title:`Transcript Rendering`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:[`0.3.8 makes the chat composer feel like a real working surface. The prompt bar now includes a standard `,(0,L.jsxDEV)(nl,{children:`Paperclip`},void 0,!1,{fileName:z,lineNumber:77,columnNumber:39},void 0),` control, selected files appear as removable chips before send, and the agent receives the attachment content instead of a placeholder string.`]},void 0,!0,{fileName:z,lineNumber:75,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`paperclip-composer`,className:`font-bold mt-4 mb-2`,children:`Paperclip Composer`},void 0,!1,{fileName:z,lineNumber:82,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat panel now enables the `,(0,L.jsxDEV)(nl,{children:`@assistant-ui/react`},void 0,!1,{fileName:z,lineNumber:84,columnNumber:42},void 0),` attachment adapter on the external-store runtime. `,(0,L.jsxDEV)(nl,{children:`ComposerPrimitive.AddAttachment`},void 0,!1,{fileName:z,lineNumber:85,columnNumber:42},void 0),` opens the browser file picker, accepts multiple files, and renders a familiar paperclip icon beside the input. `,(0,L.jsxDEV)(nl,{children:`ComposerPrimitive.Attachments`},void 0,!1,{fileName:z,lineNumber:87,columnNumber:34},void 0),` shows each pending attachment as a compact chip with a remove button.`]},void 0,!0,{fileName:z,lineNumber:83,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`attachment-routing`,className:`font-bold mt-4 mb-2`,children:`Attachment Routing`},void 0,!1,{fileName:z,lineNumber:91,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Image files are read locally as data URLs and converted into Pi's image-content shape: `,(0,L.jsxDEV)(nl,{children:`{ type: "image", mimeType, data }`},void 0,!1,{fileName:z,lineNumber:94,columnNumber:18},void 0),`. Text-like files, including markdown, JSON, CSV, code, YAML, and plain text, are read in the browser and wrapped in named attachment blocks so the model can inspect them directly. Unsupported binary files are rejected before they reach the model.`]},void 0,!0,{fileName:z,lineNumber:92,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`vision-guard`,className:`font-bold mt-4 mb-2`,children:`Vision Model Guard`},void 0,!1,{fileName:z,lineNumber:100,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The send path now checks `,(0,L.jsxDEV)(nl,{children:`model.input.includes("image")`},void 0,!1,{fileName:z,lineNumber:102,columnNumber:36},void 0),` before dispatching an image message. If the active model is text-only, Keating records the user's attempted message and immediately shows a chat error telling the user to switch to a vision-capable model such as Gemini Flash/Pro or GPT-4o, then send the image again.`]},void 0,!0,{fileName:z,lineNumber:101,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`transcript-rendering`,className:`font-bold mt-4 mb-2`,children:`Transcript Rendering`},void 0,!1,{fileName:z,lineNumber:109,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Sent images render inline in the user transcript. Text file attachments show a short `,(0,L.jsxDEV)(nl,{children:`[attached file: name]`},void 0,!1,{fileName:z,lineNumber:112,columnNumber:17},void 0),` summary in the message bubble while the full file contents remain available in the actual model context. That keeps chat history readable without weakening the prompt.`]},void 0,!0,{fileName:z,lineNumber:110,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-17`,badge:{label:`FEATURE`,color:`feature`},title:`v0.3.7 — Pluggable Speech Providers, Usage Charts, and Model-Generated Session Titles`,version:`0.3.7`,summary:`Speech is now a provider abstraction with Gemini Live, OpenAI TTS, OpenAI Realtime (preview), local Supertonic-3 (experimental), and a user-defined custom-TTS form. The Usage page gained five charts, the chat header now lets the model rename the current session, and the responsive layout finally keeps every setting reachable from sm to lg.`,sections:[{id:`session-title`,title:`Model-Generated Session Titles`},{id:`speech-providers`,title:`Speech & Voice — New Tab, New Providers`},{id:`usage-charts`,title:`Usage Charts`},{id:`responsive-fixes`,title:`Responsive Layout & Settings Navigation`},{id:`suggested-prompts`,title:`Suggested-Prompts Auto-Load-More`},{id:`honest-status`,title:`Honest Status: Preview vs. Experimental`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:[`0.3.7 is a layout-and-voice release. The chat header keeps every action visible across `,(0,L.jsxDEV)(nl,{children:`sm`},void 0,!1,{fileName:z,lineNumber:138,columnNumber:18},void 0),`, `,(0,L.jsxDEV)(nl,{children:`md`},void 0,!1,{fileName:z,lineNumber:138,columnNumber:35},void 0),`, and `,(0,L.jsxDEV)(nl,{children:`lg`},void 0,!1,{fileName:z,lineNumber:138,columnNumber:56},void 0),`, the Settings dialog gets a wider sidebar and in-tab sub-navigation, speech grows from a single Gemini Live path into a pluggable provider system, and the Usage page learns to draw charts.`]},void 0,!0,{fileName:z,lineNumber:136,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`session-title`,className:`font-bold mt-4 mb-2`,children:`Model-Generated Session Titles`},void 0,!1,{fileName:z,lineNumber:143,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A new `,(0,L.jsxDEV)(nl,{children:`Sparkles`},void 0,!1,{fileName:z,lineNumber:145,columnNumber:17},void 0),` button in the chat header (and a matching mobile-menu entry) asks the active model to rename the current session based on its content. The handler snapshots the live messages, feeds a preview to the model with a minimal-reasoning configuration, and writes the cleaned title back via`,` `,(0,L.jsxDEV)(nl,{children:`sessions.updateTitle`},void 0,!1,{fileName:z,lineNumber:149,columnNumber:11},void 0),`. Tooltip feedback reports`,` `,(0,L.jsxDEV)(`em`,{children:`"Generating title…"`},void 0,!1,{fileName:z,lineNumber:150,columnNumber:11},void 0),`, `,(0,L.jsxDEV)(`em`,{children:`"Renamed to …"`},void 0,!1,{fileName:z,lineNumber:150,columnNumber:41},void 0),`, or the error message.`]},void 0,!0,{fileName:z,lineNumber:144,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`speech-providers`,className:`font-bold mt-4 mb-2`,children:`Speech & Voice — New Tab, New Providers`},void 0,!1,{fileName:z,lineNumber:153,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Speech is now its own Settings tab, and`,` `,(0,L.jsxDEV)(nl,{children:`src/keating/speech.ts`},void 0,!1,{fileName:z,lineNumber:156,columnNumber:11},void 0),` exposes a `,(0,L.jsxDEV)(nl,{children:`SpeechProvider`},void 0,!1,{fileName:z,lineNumber:156,columnNumber:56},void 0),` interface backed by a lazy registry. Built-in providers:`]},void 0,!0,{fileName:z,lineNumber:154,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm mb-4 list-disc pl-6 space-y-1`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Gemini Live`},void 0,!1,{fileName:z,lineNumber:160,columnNumber:15},void 0),` — existing audio-out path, refactored behind the interface. Stable.`]},void 0,!0,{fileName:z,lineNumber:160,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`OpenAI TTS`},void 0,!1,{fileName:z,lineNumber:161,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`gpt-4o-mini-tts`},void 0,!1,{fileName:z,lineNumber:161,columnNumber:45},void 0),`, `,(0,L.jsxDEV)(nl,{children:`tts-1`},void 0,!1,{fileName:z,lineNumber:161,columnNumber:75},void 0),`, and `,(0,L.jsxDEV)(nl,{children:`tts-1-hd`},void 0,!1,{fileName:z,lineNumber:161,columnNumber:99},void 0),` via `,(0,L.jsxDEV)(nl,{children:`/v1/audio/speech`},void 0,!1,{fileName:z,lineNumber:161,columnNumber:125},void 0),`, with steerable affect/pace on the mini model. Stable.`]},void 0,!0,{fileName:z,lineNumber:161,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`OpenAI Realtime`},void 0,!1,{fileName:z,lineNumber:162,columnNumber:15},void 0),` — full WebRTC duplex: mints an ephemeral session, exchanges SDP, attaches the mic when enabled, and plays the remote audio track. Flagged `,(0,L.jsxDEV)(`strong`,{children:`preview`},void 0,!1,{fileName:z,lineNumber:162,columnNumber:186},void 0),` (per-utterance session, untested against your account).`]},void 0,!0,{fileName:z,lineNumber:162,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Supertonic-3 (local)`},void 0,!1,{fileName:z,lineNumber:163,columnNumber:15},void 0),` — wires `,(0,L.jsxDEV)(nl,{children:`onnxruntime-web`},void 0,!1,{fileName:z,lineNumber:163,columnNumber:61},void 0),` and downloads the 4 ONNX files plus `,(0,L.jsxDEV)(nl,{children:`tts.json`},void 0,!1,{fileName:z,lineNumber:163,columnNumber:126},void 0),` and `,(0,L.jsxDEV)(nl,{children:`unicode_indexer.json`},void 0,!1,{fileName:z,lineNumber:163,columnNumber:152},void 0),` from the Hugging Face repo. Flagged `,(0,L.jsxDEV)(`strong`,{children:`experimental`},void 0,!1,{fileName:z,lineNumber:163,columnNumber:222},void 0),`: sessions load and warm up, but the text→tokens→duration→vectors→vocoder synthesis pipeline still needs to be ported from the Python `,(0,L.jsxDEV)(nl,{children:`supertonic`},void 0,!1,{fileName:z,lineNumber:163,columnNumber:385},void 0),` package.`]},void 0,!0,{fileName:z,lineNumber:163,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Custom TTS`},void 0,!1,{fileName:z,lineNumber:164,columnNumber:15},void 0),` — paste any OpenAI-compatible `,(0,L.jsxDEV)(nl,{children:`/v1/audio/speech`},void 0,!1,{fileName:z,lineNumber:164,columnNumber:73},void 0),` endpoint: label, base URL, model id, voice, provider-key name, and optional API path.`]},void 0,!0,{fileName:z,lineNumber:164,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:159,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A microphone toggle in the same tab is honored by duplex providers like OpenAI Realtime. The voice tool the agent calls (`,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:168,columnNumber:53},void 0),`) dispatches to the active provider through the registry instead of hard-coding Gemini.`]},void 0,!0,{fileName:z,lineNumber:166,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`usage-charts`,className:`font-bold mt-4 mb-2`,children:`Usage Charts`},void 0,!1,{fileName:z,lineNumber:172,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The Usage page now includes five panels powered by`,` `,(0,L.jsxDEV)(nl,{children:`src/components/UsageCharts.tsx`},void 0,!1,{fileName:z,lineNumber:175,columnNumber:11},void 0),`:`]},void 0,!0,{fileName:z,lineNumber:173,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm mb-4 list-disc pl-6 space-y-1`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Topic mix donut`},void 0,!1,{fileName:z,lineNumber:178,columnNumber:15},void 0),` — artifacts grouped by topic, recharts `,(0,L.jsxDEV)(nl,{children:`PieChart`},void 0,!1,{fileName:z,lineNumber:178,columnNumber:87},void 0),` with a shared palette.`]},void 0,!0,{fileName:z,lineNumber:178,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Feedback signal donut`},void 0,!1,{fileName:z,lineNumber:179,columnNumber:15},void 0),` — confident / off-track / confused from `,(0,L.jsxDEV)(nl,{children:`learnerState.feedbackHistory`},void 0,!1,{fileName:z,lineNumber:179,columnNumber:94},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:179,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Curriculum timeline`},void 0,!1,{fileName:z,lineNumber:180,columnNumber:15},void 0),` — a hand-rolled SVG Gantt across `,(0,L.jsxDEV)(nl,{children:`learnerState.sessions`},void 0,!1,{fileName:z,lineNumber:180,columnNumber:85},void 0),` (start/end + topics covered), color-matched to the donut.`]},void 0,!0,{fileName:z,lineNumber:180,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Daily activity heatmap`},void 0,!1,{fileName:z,lineNumber:181,columnNumber:15},void 0),` — 12 weeks of sessions/day, GitHub-style grid (also hand-rolled SVG).`]},void 0,!0,{fileName:z,lineNumber:181,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Coming up`},void 0,!1,{fileName:z,lineNumber:182,columnNumber:15},void 0),` — open `,(0,L.jsxDEV)(nl,{children:`Verification`},void 0,!1,{fileName:z,lineNumber:182,columnNumber:49},void 0),` checklists plus `,(0,L.jsxDEV)(nl,{children:`learnerState.weaknesses[]`},void 0,!1,{fileName:z,lineNumber:182,columnNumber:91},void 0),` / `,(0,L.jsxDEV)(nl,{children:`strengths[]`},void 0,!1,{fileName:z,lineNumber:182,columnNumber:132},void 0),`. Honest stand-in for "due" work since storage has no SRS field yet.`]},void 0,!0,{fileName:z,lineNumber:182,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:177,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`responsive-fixes`,className:`font-bold mt-4 mb-2`,children:`Responsive Layout & Settings Navigation`},void 0,!1,{fileName:z,lineNumber:185,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`At the `,(0,L.jsxDEV)(nl,{children:`md`},void 0,!1,{fileName:z,lineNumber:187,columnNumber:18},void 0),` breakpoint the chat header was silently dropping Settings, New Session, History, Speech, and Artifacts: the hamburger was hidden (`,(0,L.jsxDEV)(nl,{children:`md:hidden`},void 0,!1,{fileName:z,lineNumber:189,columnNumber:12},void 0),`) before the inline icons started showing. All seven action icons now render together from `,(0,L.jsxDEV)(nl,{children:`sm`},void 0,!1,{fileName:z,lineNumber:190,columnNumber:49},void 0),` upward and the hamburger collapses to `,(0,L.jsxDEV)(nl,{children:`xs`},void 0,!1,{fileName:z,lineNumber:191,columnNumber:24},void 0),` only; the mobile dropdown gained the missing New Session / Session history entries.`]},void 0,!0,{fileName:z,lineNumber:186,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The Settings dialog widened to `,(0,L.jsxDEV)(nl,{children:`max-w-5xl`},void 0,!1,{fileName:z,lineNumber:195,columnNumber:42},void 0),` with a wider sidebar on md/lg, and the heavy `,(0,L.jsxDEV)(`strong`,{children:`Providers & Models`},void 0,!1,{fileName:z,lineNumber:196,columnNumber:32},void 0),` tab gained a sticky chip-style sub-section navigator (Cloud / Visibility / My Models / Custom Providers) with `,(0,L.jsxDEV)(nl,{children:`scrollIntoView`},void 0,!1,{fileName:z,lineNumber:198,columnNumber:27},void 0),` jumps and per-section`,` `,(0,L.jsxDEV)(nl,{children:`scroll-mt-20`},void 0,!1,{fileName:z,lineNumber:199,columnNumber:11},void 0),`. The Speech & Voice tab uses the same pattern.`]},void 0,!0,{fileName:z,lineNumber:194,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`suggested-prompts`,className:`font-bold mt-4 mb-2`,children:`Suggested-Prompts Auto-Load-More`},void 0,!1,{fileName:z,lineNumber:202,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The suggested-prompts strip used to randomize three items and only let the "More" pill swap them out. Pressing the right-arrow at the end of the list now appends fresh suggestions filtered against what's already been shown, growing the strip until the underlying pool is exhausted. The "More" pill follows the same semantics and hides once nothing new is left.`},void 0,!1,{fileName:z,lineNumber:203,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`honest-status`,className:`font-bold mt-4 mb-2`,children:`Honest Status: Preview vs. Experimental`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The Speech tab uses badge color to tell you exactly where each provider stands. Stable providers ship no badge. `,(0,L.jsxDEV)(`em`,{children:`Preview`},void 0,!1,{fileName:z,lineNumber:214,columnNumber:43},void 0),` means the integration is wired end-to-end but hasn't been validated against a live account in this release — OpenAI Realtime falls here because the per-utterance session pattern needs to mature into a persistent duplex channel. `,(0,L.jsxDEV)(`em`,{children:`Experimental`},void 0,!1,{fileName:z,lineNumber:217,columnNumber:52},void 0),` means the wiring deliberately stops short of a working call — Supertonic-3 falls here because the four ONNX models load fine in browser, but reproducing the Python`,` `,(0,L.jsxDEV)(nl,{children:`supertonic`},void 0,!1,{fileName:z,lineNumber:220,columnNumber:11},void 0),` package's tokenization, duration alignment, voice-style conditioning, and vocoder windowing in JS is its own follow-up. Picking either provider surfaces a clear error rather than a silent failure.`]},void 0,!0,{fileName:z,lineNumber:212,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-12`,badge:{label:`FIX`,color:`fix`},title:`v0.3.5 — Standalone Installer Fix: Tarball Structure and Node.js Entry Point`,version:`0.3.5`,summary:`The curl | bash installer was broken: the release tarball lacked its top-level directory and the wrapper tried to exec a nonexistent binary. Both are fixed — install now works end-to-end on Linux and macOS.`,sections:[{id:`broken-install`,title:`What Was Broken`},{id:`tarball-structure`,title:`Tarball Structure Fix`},{id:`node-entry-point`,title:`Node.js Entry Point Fix`},{id:`early-node-check`,title:`Early Node.js Check`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:[`If you ran `,(0,L.jsxDEV)(nl,{children:`curl -fsSL https://keating.help/install | bash`},void 0,!1,{fileName:z,lineNumber:243,columnNumber:22},void 0),` and then typed `,(0,L.jsxDEV)(nl,{children:`keating`},void 0,!1,{fileName:z,lineNumber:244,columnNumber:22},void 0),`, you got a confusing "No such file or directory" error. The installer reported success — it downloaded, extracted, and linked — but the resulting binary could not run. Two independent bugs caused this.`]},void 0,!0,{fileName:z,lineNumber:242,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`broken-install`,className:`font-bold mt-4 mb-2`,children:`What Was Broken`},void 0,!1,{fileName:z,lineNumber:248,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The GitHub Actions release workflow archived the bundle contents without a top-level versioned directory. The install script extracted the tarball into `,(0,L.jsxDEV)(nl,{children:`~/.local/share/keating/`},void 0,!1,{fileName:z,lineNumber:252,columnNumber:16},void 0),` and expected a subdirectory called `,(0,L.jsxDEV)(nl,{children:`keating-0.3.3-linux-x64/`},void 0,!1,{fileName:z,lineNumber:253,columnNumber:18},void 0),`, but the files landed directly in the parent directory. On top of that, the wrapper script at `,(0,L.jsxDEV)(nl,{children:`~/.local/bin/keating`},void 0,!1,{fileName:z,lineNumber:255,columnNumber:14},void 0),` tried to `,(0,L.jsxDEV)(nl,{children:`exec`},void 0,!1,{fileName:z,lineNumber:255,columnNumber:57},void 0),` a standalone binary called `,(0,L.jsxDEV)(nl,{children:`keating`},void 0,!1,{fileName:z,lineNumber:256,columnNumber:36},void 0),` — but the tarball contains a Node.js project where the real entry point is `,(0,L.jsxDEV)(nl,{children:`bin/keating.js`},void 0,!1,{fileName:z,lineNumber:258,columnNumber:14},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:249,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`tarball-structure`,className:`font-bold mt-4 mb-2`,children:`Tarball Structure Fix`},void 0,!1,{fileName:z,lineNumber:260,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The release workflow now stages all bundle files inside a versioned `,(0,L.jsxDEV)(nl,{children:`keating-VERSION-OS-ARCH/`},void 0,!1,{fileName:z,lineNumber:263,columnNumber:21},void 0),` directory before running `,(0,L.jsxDEV)(nl,{children:`tar`},void 0,!1,{fileName:z,lineNumber:264,columnNumber:19},void 0),`. This means the tarball root is`,(0,L.jsxDEV)(nl,{children:`keating-0.3.5-linux-x64/`},void 0,!1,{fileName:z,lineNumber:265,columnNumber:11},void 0),`, which matches the path the install script constructs and expects.`]},void 0,!0,{fileName:z,lineNumber:261,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`# Before (broken): tar archived bundle contents flat
|
|
274
|
+
`,(0,L.jsxDEV)(`span`,{className:`text-[#888]`,children:`# Standalone install. No package manager needed.`},void 0,!1,{fileName:Jc,lineNumber:332,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:330,columnNumber:15},this),t===`agent`&&(0,L.jsxDEV)(`div`,{className:`font-terminal text-base leading-relaxed break-words`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`$ cat AGENT_INSTRUCTIONS.txt`},void 0,!1,{fileName:Jc,lineNumber:339,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea] mb-4`,children:`Install Keating hyperteacher CLI with one of these methods. All require setting a Google API key for the AI backend.`},void 0,!1,{fileName:Jc,lineNumber:340,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 1: NPM (most common)`},void 0,!1,{fileName:Jc,lineNumber:344,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`npm install -g keating`},void 0,!1,{fileName:Jc,lineNumber:345,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 2: Bun (fastest)`},void 0,!1,{fileName:Jc,lineNumber:346,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`bun add -g keating`},void 0,!1,{fileName:Jc,lineNumber:347,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 3: PNPM (disk efficient)`},void 0,!1,{fileName:Jc,lineNumber:348,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`pnpm add -g keating`},void 0,!1,{fileName:Jc,lineNumber:349,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-accent mb-1`,children:`Option 4: Curl (standalone)`},void 0,!1,{fileName:Jc,lineNumber:350,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-3 ml-4`,children:`curl -fsSL .../install.sh | bash`},void 0,!1,{fileName:Jc,lineNumber:351,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-1`,children:`Required: API Key Setup`},void 0,!1,{fileName:Jc,lineNumber:354,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-1 ml-4`,children:`1. Get a Gemini API key from Google AI Studio`},void 0,!1,{fileName:Jc,lineNumber:355,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 mb-1 ml-4`,children:`2. Create ~/.keating/.env with: GEMINI_API_KEY=your_key`},void 0,!1,{fileName:Jc,lineNumber:356,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]/80 ml-4`,children:`3. Or set GEMINI_API_KEY as environment variable`},void 0,!1,{fileName:Jc,lineNumber:359,columnNumber:17},this)]},void 0,!0,{fileName:Jc,lineNumber:338,columnNumber:15},this)]},void 0,!0,{fileName:Jc,lineNumber:286,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`marquee border-y-2 border-foreground py-2 bg-foreground text-background`,children:(0,L.jsxDEV)(`span`,{className:`font-terminal`,children:`*** AVAILABLE FOR macOS AND LINUX *** YOUR API KEYS STAY LOCAL *** NO CLOUD DEPENDENCY *** FREE AND OPEN SOURCE ***`},void 0,!1,{fileName:Jc,lineNumber:365,columnNumber:13},this)},void 0,!1,{fileName:Jc,lineNumber:364,columnNumber:11},this)]},void 0,!0,{fileName:Jc,lineNumber:250,columnNumber:9},this)},void 0,!1,{fileName:Jc,lineNumber:249,columnNumber:7},this),(0,L.jsxDEV)(Io,{},void 0,!1,{fileName:Jc,lineNumber:373,columnNumber:7},this)]},void 0,!0,{fileName:Jc,lineNumber:84,columnNumber:5},this)}var R=`/home/diogenes/Projects/keating/web/src/pages/Tutorial.tsx`,$c=[{id:`browser`,label:`[BROWSER]`},{id:`ollama`,label:`[OLLAMA]`},{id:`llamacpp`,label:`[LLAMA.CPP]`},{id:`litellm`,label:`[LITELLM]`},{id:`cloud`,label:`[CLOUD]`}];function el(){qc({title:`Keating Tutorial — Getting Started`,description:`Learn how to use Keating: Socratic AI tutoring with lesson plans, concept maps, quizzes, and local or cloud model support.`,canonical:`https://keating.help/tutorial`});let[e,t]=(0,F.useState)(`browser`);return(0,L.jsxDEV)(`div`,{className:`retro-layout retro-page`,children:[(0,L.jsxDEV)(Po,{},void 0,!1,{fileName:R,lineNumber:26,columnNumber:7},this),(0,L.jsxDEV)(`main`,{className:`pt-6 pb-16 px-6`,children:(0,L.jsxDEV)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-8 mb-8`,children:[(0,L.jsxDEV)(`h1`,{className:`text-3xl md:text-4xl font-bold mb-2`,children:`Getting Started with Keating`},void 0,!1,{fileName:R,lineNumber:31,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-muted-foreground font-terminal`,children:`How to learn, plan, and assess with your AI tutor`},void 0,!1,{fileName:R,lineNumber:32,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:30,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`paper-fold distressed-border p-6 mb-8`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-4`,children:`What Is Keating?`},void 0,!1,{fileName:R,lineNumber:37,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Keating is a Socratic AI tutor. It does not give answers — it forces you to reconstruct understanding from memory through questions, struggle, and guided correction. Named after John Keating from `,(0,L.jsxDEV)(`em`,{children:`Dead Poets Society`},void 0,!1,{fileName:R,lineNumber:41,columnNumber:57},this),`, it treats learning as an active process.`]},void 0,!0,{fileName:R,lineNumber:38,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`grid md:grid-cols-4 gap-4 mb-4`,children:[{step:`1`,label:`Diagnose`,desc:`Keating probes what you already know before explaining anything.`},{step:`2`,label:`Struggle`,desc:`You answer freely. Mistakes are expected and useful.`},{step:`3`,label:`Check`,desc:`Keating verifies your reasoning against correct understanding.`},{step:`4`,label:`Build`,desc:`Missing pieces are filled in through targeted explanation.`}].map(e=>(0,L.jsxDEV)(`div`,{className:`border border-border/30 rounded p-4`,children:[(0,L.jsxDEV)(`div`,{className:`font-terminal text-[#d44a3d] mb-1`,children:[e.step,`. `,e.label.toUpperCase()]},void 0,!0,{fileName:R,lineNumber:52,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:e.desc},void 0,!1,{fileName:R,lineNumber:53,columnNumber:19},this)]},e.step,!0,{fileName:R,lineNumber:51,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:44,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The system has 19 teaching tools — from lesson plans to concept maps to quizzes and benchmarked self-improvement. You drive the conversation. Keating responds.`},void 0,!1,{fileName:R,lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:36,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`paper-fold distressed-border p-6 mb-8`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-4`,children:`Suggested Prompts`},void 0,!1,{fileName:R,lineNumber:65,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground mb-4`,children:`Click any prompt to copy it. Paste it into the chat to get started.`},void 0,!1,{fileName:R,lineNumber:66,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`space-y-5`,children:[{category:`Learn`,color:`#10b981`,prompts:[`Explain quantum entanglement like I'm 12 years old.`,`Why does gradient descent work? Walk me through the intuition.`,`Teach me the fundamentals of supply and demand using a real-world example.`]},{category:`Plan`,color:`#6366f1`,prompts:[`Plan a 4-week course on machine learning fundamentals for a beginner.`,`Create a study roadmap for passing the AWS Solutions Architect exam.`,`Map out the prerequisites I need to understand transformers before reading the Attention Is All You Need paper.`]},{category:`Map`,color:`#d97706`,prompts:[`Draw a concept map connecting special relativity, general relativity, and cosmology.`,`Map the evolution of web development from HTML to modern React frameworks.`,`Show me how probability, statistics, and linear algebra connect in data science.`]},{category:`Assess`,color:`#d44a3d`,prompts:[`Quiz me on the Krebs cycle. Ask questions that test deeper understanding, not memorization.`,`Evaluate my understanding of async/await in JavaScript by asking me to explain it from scratch.`,`Benchmark my knowledge of classical mechanics. Push until you find the gaps.`]},{category:`Create`,color:`#ec4899`,prompts:[`Animate how DNS resolution works step by step.`,`Create a verification checklist for a secure web API design.`,`Generate a set of spaced-repetition flashcards for Spanish verb conjugations.`]}].map(e=>(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2 mb-2`,children:(0,L.jsxDEV)(`span`,{className:`font-terminal text-sm`,style:{color:e.color},children:[`[`,e.category.toUpperCase(),`]`]},void 0,!0,{fileName:R,lineNumber:119,columnNumber:21},this)},void 0,!1,{fileName:R,lineNumber:118,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:e.prompts.map(e=>(0,L.jsxDEV)(`button`,{className:`text-left text-sm border border-border/20 rounded-md px-3 py-2 hover:bg-foreground/5 transition-colors break-words`,title:`Click to copy`,onClick:()=>{navigator.clipboard.writeText(e)},children:e},e,!1,{fileName:R,lineNumber:125,columnNumber:23},this))},void 0,!1,{fileName:R,lineNumber:123,columnNumber:19},this)]},e.category,!0,{fileName:R,lineNumber:117,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:69,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:64,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`paper-fold distressed-border p-6 mb-8`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-4`,children:`Tool Commands`},void 0,!1,{fileName:R,lineNumber:144,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground mb-4`,children:`Keating can invoke tools directly. Prefix your message with a command or ask Keating to use a specific tool.`},void 0,!1,{fileName:R,lineNumber:145,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`grid sm:grid-cols-2 gap-3 text-sm`,children:[[`/plan`,`Generate a structured lesson plan on a topic`],[`/map`,`Create a concept map or knowledge graph`],[`/animate`,`Produce a step-by-step animation of a process`],[`/verify`,`Run a pedagogical verification checklist`],[`/bench`,`Benchmark understanding and identify gaps`],[`/evolve`,`Iteratively improve a teaching approach`],[`/quiz`,`Generate a quiz with rubric and answer key`],[`/feedback`,`Record learner feedback signals`],[`/due`,`List upcoming work and deadlines`],[`/timeline`,`Show learning progress over time`]].map(([e,t])=>(0,L.jsxDEV)(`div`,{className:`flex gap-3 items-start`,children:[(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1.5 py-0.5 rounded shrink-0 text-xs`,children:e},void 0,!1,{fileName:R,lineNumber:163,columnNumber:19},this),(0,L.jsxDEV)(`span`,{className:`text-muted-foreground`,children:t},void 0,!1,{fileName:R,lineNumber:164,columnNumber:19},this)]},e,!0,{fileName:R,lineNumber:162,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:149,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:143,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`grid md:grid-cols-2 gap-6 mb-8`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-6 border-l-4 border-l-[#10b981]`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-2 flex items-center gap-2`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#10b981]`,children:`BROWSER`},void 0,!1,{fileName:R,lineNumber:174,columnNumber:17},this),(0,L.jsxDEV)(`span`,{className:`text-xs bg-[#10b981]/10 text-[#10b981] px-2 py-1 rounded`,children:`ZERO SETUP`},void 0,!1,{fileName:R,lineNumber:175,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:173,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-sm mb-3`,children:`Runs entirely in your browser using WebGPU. No installation, no API keys, no server. Just open and chat.`},void 0,!1,{fileName:R,lineNumber:179,columnNumber:15},this),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-1 text-muted-foreground`,children:[(0,L.jsxDEV)(`li`,{children:`- Uses Transformers.js + ONNX models`},void 0,!1,{fileName:R,lineNumber:184,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Model cached in browser (~5GB)`},void 0,!1,{fileName:R,lineNumber:185,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Works offline after first load`},void 0,!1,{fileName:R,lineNumber:186,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Privacy: data never leaves device`},void 0,!1,{fileName:R,lineNumber:187,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:183,columnNumber:15},this)]},void 0,!0,{fileName:R,lineNumber:172,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-6 border-l-4 border-l-[#6366f1]`,children:[(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-2 flex items-center gap-2`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#6366f1]`,children:`LOCAL`},void 0,!1,{fileName:R,lineNumber:193,columnNumber:17},this),(0,L.jsxDEV)(`span`,{className:`text-xs bg-[#6366f1]/10 text-[#6366f1] px-2 py-1 rounded`,children:`REQUIRES SETUP`},void 0,!1,{fileName:R,lineNumber:194,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:192,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-sm mb-3`,children:`Run any model locally with Ollama, llama.cpp, LiteLLM, or llmfit. More model choices, better performance.`},void 0,!1,{fileName:R,lineNumber:198,columnNumber:15},this),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-1 text-muted-foreground`,children:[(0,L.jsxDEV)(`li`,{children:`- Use any GGUF model`},void 0,!1,{fileName:R,lineNumber:203,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- GPU acceleration (CUDA/Metal)`},void 0,!1,{fileName:R,lineNumber:204,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- No internet required`},void 0,!1,{fileName:R,lineNumber:205,columnNumber:17},this),(0,L.jsxDEV)(`li`,{children:`- Set endpoint in settings`},void 0,!1,{fileName:R,lineNumber:206,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:202,columnNumber:15},this)]},void 0,!0,{fileName:R,lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:171,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border overflow-hidden`,children:[(0,L.jsxDEV)(`div`,{className:`flex border-b-2 border-border overflow-x-auto`,children:$c.map(n=>(0,L.jsxDEV)(`button`,{className:`tab-btn font-terminal px-6 py-3 border-r-2 border-border whitespace-nowrap ${e===n.id?`active`:``}`,onClick:()=>t(n.id),children:n.label},n.id,!1,{fileName:R,lineNumber:215,columnNumber:17},this))},void 0,!1,{fileName:R,lineNumber:213,columnNumber:13},this),e===`browser`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`Browser WebGPU (Zero Setup)`},void 0,!1,{fileName:R,lineNumber:230,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`The simplest option — just use Keating in a supported browser. No installation required.`},void 0,!1,{fileName:R,lineNumber:231,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Requirements:`},void 0,!1,{fileName:R,lineNumber:237,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`ml-4 break-words`,children:`Chrome 113+ / Edge 113+ / Firefox Nightly (WebGPU flag)`},void 0,!1,{fileName:R,lineNumber:238,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`ml-4`,children:`GPU with WebGPU support (most modern GPUs)`},void 0,!1,{fileName:R,lineNumber:239,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`ml-4`,children:`~5GB free disk space for model cache`},void 0,!1,{fileName:R,lineNumber:240,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:236,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[`Open Keating web app in Chrome or Edge`,`Select "Gemma 4 E4B (Browser)" as model`,`Wait for model to download and cache (~5GB, one-time)`,`Chat! Works offline for future sessions`].map((e,t)=>(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:[`0`,t+1,`.`]},void 0,!0,{fileName:R,lineNumber:251,columnNumber:23},this),(0,L.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:R,lineNumber:254,columnNumber:23},this)]},t,!0,{fileName:R,lineNumber:250,columnNumber:21},this))},void 0,!1,{fileName:R,lineNumber:243,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#10b981]/10 border-l-4 border-[#10b981]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#10b981]`,children:`NO_API_KEY_REQUIRED`},void 0,!1,{fileName:R,lineNumber:260,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:`Your conversations never leave your device. Completely private.`},void 0,!1,{fileName:R,lineNumber:261,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:259,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:229,columnNumber:15},this),e===`ollama`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`Ollama`},void 0,!1,{fileName:R,lineNumber:271,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Popular local LLM runner with excellent GPU support. Works with any GGUF model.`},void 0,!1,{fileName:R,lineNumber:272,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Install Ollama:`},void 0,!1,{fileName:R,lineNumber:277,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea] break-all`,children:`curl -fsSL https://ollama.com/install.sh | sh`},void 0,!1,{fileName:R,lineNumber:278,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Pull a model:`},void 0,!1,{fileName:R,lineNumber:279,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`ollama pull gemma3:4b`},void 0,!1,{fileName:R,lineNumber:280,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Start server (runs on port 11434):`},void 0,!1,{fileName:R,lineNumber:281,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`ollama serve`},void 0,!1,{fileName:R,lineNumber:282,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:276,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`01.`},void 0,!1,{fileName:R,lineNumber:287,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Install Ollama from`,` `,(0,L.jsxDEV)(`a`,{href:`https://ollama.com`,target:`_blank`,rel:`noreferrer`,className:`text-[#6366f1] underline`,children:`ollama.com`},void 0,!1,{fileName:R,lineNumber:290,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:288,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:286,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`02.`},void 0,!1,{fileName:R,lineNumber:301,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Pull your preferred model:`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`ollama pull gemma3:4b`},void 0,!1,{fileName:R,lineNumber:304,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:302,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:300,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`03.`},void 0,!1,{fileName:R,lineNumber:310,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`In Keating settings, add custom provider:`},void 0,!1,{fileName:R,lineNumber:311,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:309,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:285,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-4 ml-8 terminal-window p-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00]`,children:`Provider: ollama`},void 0,!1,{fileName:R,lineNumber:316,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00]`,children:`Base URL: http://localhost:11434`},void 0,!1,{fileName:R,lineNumber:317,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00]`,children:`Model: gemma3:4b (or your model name)`},void 0,!1,{fileName:R,lineNumber:318,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:315,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#6366f1]/10 border-l-4 border-[#6366f1]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#6366f1]`,children:`GPU_ACCELERATION`},void 0,!1,{fileName:R,lineNumber:322,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:`Ollama auto-detects CUDA (NVIDIA) and Metal (macOS). No API key needed for local.`},void 0,!1,{fileName:R,lineNumber:323,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:321,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:270,columnNumber:15},this),e===`llamacpp`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`llama.cpp`},void 0,!1,{fileName:R,lineNumber:334,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Lightweight C++ inference. Maximum control and performance. Runs any GGUF model.`},void 0,!1,{fileName:R,lineNumber:335,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Clone and build:`},void 0,!1,{fileName:R,lineNumber:340,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`git clone https://github.com/ggerganov/llama.cpp`},void 0,!1,{fileName:R,lineNumber:341,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`cd llama.cpp && make`},void 0,!1,{fileName:R,lineNumber:342,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Download a GGUF model:`},void 0,!1,{fileName:R,lineNumber:343,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea] break-all`,children:`wget https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF/resolve/main/gemma-4-E4B-it-UD-Q4_K_XL.gguf`},void 0,!1,{fileName:R,lineNumber:344,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Run server:`},void 0,!1,{fileName:R,lineNumber:348,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`./llama-server -m gemma-4-E4B-it-UD-Q4_K_XL.gguf --port 8080`},void 0,!1,{fileName:R,lineNumber:349,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:339,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`01.`},void 0,!1,{fileName:R,lineNumber:356,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Build llama.cpp from`,` `,(0,L.jsxDEV)(`a`,{href:`https://github.com/ggerganov/llama.cpp`,target:`_blank`,rel:`noreferrer`,className:`text-[#6366f1] underline`,children:`GitHub`},void 0,!1,{fileName:R,lineNumber:359,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:357,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:355,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`02.`},void 0,!1,{fileName:R,lineNumber:370,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`Download a GGUF model from HuggingFace`},void 0,!1,{fileName:R,lineNumber:371,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:369,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`03.`},void 0,!1,{fileName:R,lineNumber:374,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`Start the server with your model`},void 0,!1,{fileName:R,lineNumber:375,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:373,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`04.`},void 0,!1,{fileName:R,lineNumber:378,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`In Keating settings, add custom provider pointing to`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`http://localhost:8080`},void 0,!1,{fileName:R,lineNumber:381,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:379,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:377,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:354,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#d97706]/10 border-l-4 border-[#d97706]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#d97706]`,children:`TIP`},void 0,!1,{fileName:R,lineNumber:389,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:[`Use`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`-ngl 99`},void 0,!1,{fileName:R,lineNumber:392,columnNumber:21},this),` to offload all layers to GPU. Use`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`-c 8192`},void 0,!1,{fileName:R,lineNumber:394,columnNumber:21},this),` for larger context.`]},void 0,!0,{fileName:R,lineNumber:390,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:388,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:333,columnNumber:15},this),e===`litellm`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`LiteLLM`},void 0,!1,{fileName:R,lineNumber:404,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Unified API proxy that works with 100+ LLM providers. Exposes an OpenAI-compatible endpoint.`},void 0,!1,{fileName:R,lineNumber:405,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`terminal-window p-4 mb-4 text-sm overflow-x-auto`,children:[(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mb-2`,children:`# Install:`},void 0,!1,{fileName:R,lineNumber:411,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`pip install litellm`},void 0,!1,{fileName:R,lineNumber:412,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Run with a local model:`},void 0,!1,{fileName:R,lineNumber:413,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`litellm --model ollama/gemma3:4b`},void 0,!1,{fileName:R,lineNumber:414,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#00ff00] mt-3 mb-2`,children:`# Or with API keys (env vars):`},void 0,!1,{fileName:R,lineNumber:415,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`export OPENAI_API_KEY=sk-...`},void 0,!1,{fileName:R,lineNumber:416,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`export ANTHROPIC_API_KEY=sk-ant-...`},void 0,!1,{fileName:R,lineNumber:417,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-[#f4f1ea]`,children:`litellm --port 4000`},void 0,!1,{fileName:R,lineNumber:418,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:410,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`01.`},void 0,!1,{fileName:R,lineNumber:423,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Install:`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`pip install litellm`},void 0,!1,{fileName:R,lineNumber:426,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:424,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:422,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`02.`},void 0,!1,{fileName:R,lineNumber:430,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:`Set API keys as environment variables (if using cloud providers)`},void 0,!1,{fileName:R,lineNumber:431,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:429,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`03.`},void 0,!1,{fileName:R,lineNumber:436,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Start proxy:`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`litellm --port 4000`},void 0,!1,{fileName:R,lineNumber:439,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:437,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:435,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d] shrink-0`,children:`04.`},void 0,!1,{fileName:R,lineNumber:445,columnNumber:21},this),(0,L.jsxDEV)(`span`,{children:[`Point Keating to`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`http://localhost:4000`},void 0,!1,{fileName:R,lineNumber:448,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:446,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:444,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:421,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mt-6 p-4 bg-[#10b981]/10 border-l-4 border-[#10b981]`,children:[(0,L.jsxDEV)(`p`,{className:`font-terminal text-[#10b981]`,children:`UNIFIED_API`},void 0,!1,{fileName:R,lineNumber:456,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-sm mt-1`,children:`LiteLLM gives you one OpenAI-compatible endpoint that can route to any provider (local or cloud).`},void 0,!1,{fileName:R,lineNumber:457,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:455,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:403,columnNumber:15},this),e===`cloud`&&(0,L.jsxDEV)(`div`,{className:`p-6`,children:[(0,L.jsxDEV)(`h3`,{className:`text-xl font-bold mb-4`,children:`Cloud Providers`},void 0,!1,{fileName:R,lineNumber:468,columnNumber:17},this),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Use managed AI services for best performance and model variety. Requires API keys.`},void 0,!1,{fileName:R,lineNumber:469,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mb-6 p-4 bg-[#4285f4]/5 border border-[#4285f4]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#4285f4] mb-2`,children:`Google AI Studio (Gemini)`},void 0,!1,{fileName:R,lineNumber:474,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:[`1. Go to`,` `,(0,L.jsxDEV)(`a`,{href:`https://aistudio.google.com/app/apikey`,target:`_blank`,rel:`noreferrer`,className:`text-[#4285f4] underline`,children:`aistudio.google.com/app/apikey`},void 0,!1,{fileName:R,lineNumber:478,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:476,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`2. Sign in and click "Create API Key"`},void 0,!1,{fileName:R,lineNumber:487,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`3. Copy key (starts with "AIza...")`},void 0,!1,{fileName:R,lineNumber:488,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`4. Paste in Keating settings`},void 0,!1,{fileName:R,lineNumber:489,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:475,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Free tier: 15 req/min, 1M tokens/day`},void 0,!1,{fileName:R,lineNumber:491,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:473,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mb-6 p-4 bg-[#d44a3d]/5 border border-[#d44a3d]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#d44a3d] mb-2`,children:`Synthetic`},void 0,!1,{fileName:R,lineNumber:497,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:`1. Create or copy your Synthetic API key`},void 0,!1,{fileName:R,lineNumber:499,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:[`2. In Keating settings, add a custom provider named`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`synthetic`},void 0,!1,{fileName:R,lineNumber:502,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:500,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:[`3. Set the provider type to`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`Synthetic (OpenAI Compatible)`},void 0,!1,{fileName:R,lineNumber:506,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:504,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:[`4. Use`,` `,(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#00ff00] px-1`,children:`https://api.synthetic.new/openai/v1`},void 0,!1,{fileName:R,lineNumber:512,columnNumber:23},this),` `,`as the base URL`]},void 0,!0,{fileName:R,lineNumber:510,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:498,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Use this when you want Synthetic's hosted models through an OpenAI-compatible endpoint.`},void 0,!1,{fileName:R,lineNumber:518,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:496,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`mb-6 p-4 bg-[#d97706]/5 border border-[#d97706]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#d97706] mb-2`,children:`Anthropic (Claude)`},void 0,!1,{fileName:R,lineNumber:525,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:[`1. Go to`,` `,(0,L.jsxDEV)(`a`,{href:`https://console.anthropic.com/`,target:`_blank`,rel:`noreferrer`,className:`text-[#d97706] underline`,children:`console.anthropic.com`},void 0,!1,{fileName:R,lineNumber:529,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:527,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`2. Create account and navigate to API Keys`},void 0,!1,{fileName:R,lineNumber:538,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`3. Click "Create Key" and copy`},void 0,!1,{fileName:R,lineNumber:539,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`4. Paste in Keating settings`},void 0,!1,{fileName:R,lineNumber:540,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:526,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Pricing: Claude Sonnet $3/M input, $15/M output`},void 0,!1,{fileName:R,lineNumber:542,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:524,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`p-4 bg-[#10a37f]/5 border border-[#10a37f]/20`,children:[(0,L.jsxDEV)(`h4`,{className:`font-bold text-[#10a37f] mb-2`,children:`OpenAI (GPT)`},void 0,!1,{fileName:R,lineNumber:548,columnNumber:19},this),(0,L.jsxDEV)(`ol`,{className:`space-y-2 text-sm`,children:[(0,L.jsxDEV)(`li`,{children:[`1. Go to`,` `,(0,L.jsxDEV)(`a`,{href:`https://platform.openai.com/api-keys`,target:`_blank`,rel:`noreferrer`,className:`text-[#10a37f] underline`,children:`platform.openai.com/api-keys`},void 0,!1,{fileName:R,lineNumber:552,columnNumber:23},this)]},void 0,!0,{fileName:R,lineNumber:550,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`2. Create account and click "Create new secret key"`},void 0,!1,{fileName:R,lineNumber:561,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`3. Copy immediately (shown only once)`},void 0,!1,{fileName:R,lineNumber:562,columnNumber:21},this),(0,L.jsxDEV)(`li`,{children:`4. Paste in Keating settings`},void 0,!1,{fileName:R,lineNumber:563,columnNumber:21},this)]},void 0,!0,{fileName:R,lineNumber:549,columnNumber:19},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`Pricing: GPT-4o $2.50/M input, $10/M output`},void 0,!1,{fileName:R,lineNumber:565,columnNumber:19},this)]},void 0,!0,{fileName:R,lineNumber:547,columnNumber:17},this)]},void 0,!0,{fileName:R,lineNumber:467,columnNumber:15},this)]},void 0,!0,{fileName:R,lineNumber:212,columnNumber:11},this),(0,L.jsxDEV)(`section`,{className:`mt-8 bg-[#1a1a1a] text-[#f4f1ea] p-6 border-l-4 border-[#d44a3d]`,children:[(0,L.jsxDEV)(`h3`,{className:`font-terminal text-xl text-[#d44a3d] mb-3`,children:`SECURITY_NOTE`},void 0,!1,{fileName:R,lineNumber:575,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm`,children:[`API keys are stored locally in your browser's IndexedDB (web) or`,` `,(0,L.jsxDEV)(`code`,{className:`text-[#00ff00]`,children:`~/.keating/.env`},void 0,!1,{fileName:R,lineNumber:578,columnNumber:15},this),` (CLI). They never leave your device. Never commit keys to git.`]},void 0,!0,{fileName:R,lineNumber:576,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:574,columnNumber:11},this)]},void 0,!0,{fileName:R,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:R,lineNumber:28,columnNumber:7},this),(0,L.jsxDEV)(Lo,{},void 0,!1,{fileName:R,lineNumber:585,columnNumber:7},this)]},void 0,!0,{fileName:R,lineNumber:25,columnNumber:5},this)}var z=`/home/diogenes/Projects/keating/web/src/pages/Blog.tsx`,tl={fix:`bg-[#d97706]/10 text-[#d97706]`,release:`bg-[#10b981]/10 text-[#10b981]`,feature:`bg-[#10b981]/10 text-[#10b981]`,pwa:`bg-[#6366f1]/10 text-[#6366f1]`,update:`bg-[#d97706]/10 text-[#d97706]`,tech:`bg-[#6366f1]/10 text-[#6366f1]`,devlog:`bg-[#d97706]/10 text-[#d97706]`};function nl({children:e}){return(0,L.jsxDEV)(`code`,{className:`bg-[#1a1a1a] text-[#f4f1ea] px-1 rounded text-sm`,children:e},void 0,!1,{fileName:z,lineNumber:36,columnNumber:5},this)}function rl({children:e}){return(0,L.jsxDEV)(`div`,{className:`code-block mb-4 overflow-x-auto`,children:(0,L.jsxDEV)(`pre`,{className:`whitespace-pre-wrap break-words`,children:e},void 0,!1,{fileName:z,lineNumber:43,columnNumber:7},this)},void 0,!1,{fileName:z,lineNumber:42,columnNumber:5},this)}function il(e){return e.split(`.`).slice(0,2).join(`.`)}var al=[{date:`2026-05-21`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.9 — Streaming Replies and Live Reasoning Panels`,version:`0.3.9`,summary:`Assistant replies now render live from the in-flight stream instead of appearing all at once at the end. When a reasoning-capable model emits thinking chunks, Keating now shows them in a live collapsible Reasoning panel while the answer is still being written.`,sections:[{id:`live-reply-stream`,title:`Live Reply Stream`},{id:`thinking-stream`,title:`Thinking Stream`},{id:`prefill-state`,title:`Prefill State`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`0.3.9 fixes the biggest remaining mismatch between Keating's chat UI and the underlying model stream. Assistant replies no longer wait for the final committed message before appearing in the transcript: the thread now renders the live partial assistant message as it arrives.`},void 0,!1,{fileName:z,lineNumber:74,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`live-reply-stream`,className:`font-bold mt-4 mb-2`,children:`Live Reply Stream`},void 0,!1,{fileName:z,lineNumber:81,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat panel now merges `,(0,L.jsxDEV)(nl,{children:`agent.state.streamingMessage`},void 0,!1,{fileName:z,lineNumber:83,columnNumber:37},void 0),` into the visible transcript while a run is active. That means token streaming works for the browser model path and for provider-backed models that already emit normal text deltas through `,(0,L.jsxDEV)(nl,{children:`@mariozechner/pi-ai`},void 0,!1,{fileName:z,lineNumber:86,columnNumber:31},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:82,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`thinking-stream`,className:`font-bold mt-4 mb-2`,children:`Thinking Stream`},void 0,!1,{fileName:z,lineNumber:89,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Keating already had a dedicated Reasoning renderer for assistant content parts of type `,(0,L.jsxDEV)(nl,{children:`thinking`},void 0,!1,{fileName:z,lineNumber:92,columnNumber:19},void 0),`. 0.3.9 connects that renderer to the live stream, so models that emit `,(0,L.jsxDEV)(nl,{children:`thinking_start`},void 0,!1,{fileName:z,lineNumber:93,columnNumber:31},void 0),`, `,(0,L.jsxDEV)(nl,{children:`thinking_delta`},void 0,!1,{fileName:z,lineNumber:93,columnNumber:60},void 0),`, and `,(0,L.jsxDEV)(nl,{children:`thinking_end`},void 0,!1,{fileName:z,lineNumber:94,columnNumber:15},void 0),` events now reveal their in-progress reasoning in real time instead of only after the assistant turn finishes.`]},void 0,!0,{fileName:z,lineNumber:90,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`prefill-state`,className:`font-bold mt-4 mb-2`,children:`Prefill State`},void 0,!1,{fileName:z,lineNumber:98,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Before the first streamed text or reasoning chunk arrives, the thread keeps a lightweight rotating status line in place. Once the stream contains real content, Keating swaps that placeholder for the live assistant bubble rather than flashing an empty panel.`},void 0,!1,{fileName:z,lineNumber:99,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-19`,badge:{label:`FEATURE`,color:`feature`},title:`v0.3.8 — Chat Attachments and Vision-Aware Image Uploads`,version:`0.3.8`,summary:`The web chat composer now has a paperclip button for local file and image attachments. Images are routed to vision-capable models, text/code files are folded into the prompt as readable attachment blocks, and text-only models now fail clearly with a suggestion to switch models instead of silently dropping pictures.`,sections:[{id:`paperclip-composer`,title:`Paperclip Composer`},{id:`attachment-routing`,title:`Attachment Routing`},{id:`vision-guard`,title:`Vision Model Guard`},{id:`transcript-rendering`,title:`Transcript Rendering`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:[`0.3.8 makes the chat composer feel like a real working surface. The prompt bar now includes a standard `,(0,L.jsxDEV)(nl,{children:`Paperclip`},void 0,!1,{fileName:z,lineNumber:125,columnNumber:39},void 0),` control, selected files appear as removable chips before send, and the agent receives the attachment content instead of a placeholder string.`]},void 0,!0,{fileName:z,lineNumber:123,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`paperclip-composer`,className:`font-bold mt-4 mb-2`,children:`Paperclip Composer`},void 0,!1,{fileName:z,lineNumber:130,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat panel now enables the `,(0,L.jsxDEV)(nl,{children:`@assistant-ui/react`},void 0,!1,{fileName:z,lineNumber:132,columnNumber:42},void 0),` attachment adapter on the external-store runtime. `,(0,L.jsxDEV)(nl,{children:`ComposerPrimitive.AddAttachment`},void 0,!1,{fileName:z,lineNumber:133,columnNumber:42},void 0),` opens the browser file picker, accepts multiple files, and renders a familiar paperclip icon beside the input. `,(0,L.jsxDEV)(nl,{children:`ComposerPrimitive.Attachments`},void 0,!1,{fileName:z,lineNumber:135,columnNumber:34},void 0),` shows each pending attachment as a compact chip with a remove button.`]},void 0,!0,{fileName:z,lineNumber:131,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`attachment-routing`,className:`font-bold mt-4 mb-2`,children:`Attachment Routing`},void 0,!1,{fileName:z,lineNumber:139,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Image files are read locally as data URLs and converted into Pi's image-content shape: `,(0,L.jsxDEV)(nl,{children:`{ type: "image", mimeType, data }`},void 0,!1,{fileName:z,lineNumber:142,columnNumber:18},void 0),`. Text-like files, including markdown, JSON, CSV, code, YAML, and plain text, are read in the browser and wrapped in named attachment blocks so the model can inspect them directly. Unsupported binary files are rejected before they reach the model.`]},void 0,!0,{fileName:z,lineNumber:140,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`vision-guard`,className:`font-bold mt-4 mb-2`,children:`Vision Model Guard`},void 0,!1,{fileName:z,lineNumber:148,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The send path now checks `,(0,L.jsxDEV)(nl,{children:`model.input.includes("image")`},void 0,!1,{fileName:z,lineNumber:150,columnNumber:36},void 0),` before dispatching an image message. If the active model is text-only, Keating records the user's attempted message and immediately shows a chat error telling the user to switch to a vision-capable model such as Gemini Flash/Pro or GPT-4o, then send the image again.`]},void 0,!0,{fileName:z,lineNumber:149,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`transcript-rendering`,className:`font-bold mt-4 mb-2`,children:`Transcript Rendering`},void 0,!1,{fileName:z,lineNumber:157,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Sent images render inline in the user transcript. Text file attachments show a short `,(0,L.jsxDEV)(nl,{children:`[attached file: name]`},void 0,!1,{fileName:z,lineNumber:160,columnNumber:17},void 0),` summary in the message bubble while the full file contents remain available in the actual model context. That keeps chat history readable without weakening the prompt.`]},void 0,!0,{fileName:z,lineNumber:158,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-17`,badge:{label:`FEATURE`,color:`feature`},title:`v0.3.7 — Pluggable Speech Providers, Usage Charts, and Model-Generated Session Titles`,version:`0.3.7`,summary:`Speech is now a provider abstraction with Gemini Live, OpenAI TTS, OpenAI Realtime (preview), local Supertonic-3 (experimental), and a user-defined custom-TTS form. The Usage page gained five charts, the chat header now lets the model rename the current session, and the responsive layout finally keeps every setting reachable from sm to lg.`,sections:[{id:`session-title`,title:`Model-Generated Session Titles`},{id:`speech-providers`,title:`Speech & Voice — New Tab, New Providers`},{id:`usage-charts`,title:`Usage Charts`},{id:`responsive-fixes`,title:`Responsive Layout & Settings Navigation`},{id:`suggested-prompts`,title:`Suggested-Prompts Auto-Load-More`},{id:`honest-status`,title:`Honest Status: Preview vs. Experimental`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:[`0.3.7 is a layout-and-voice release. The chat header keeps every action visible across `,(0,L.jsxDEV)(nl,{children:`sm`},void 0,!1,{fileName:z,lineNumber:186,columnNumber:18},void 0),`, `,(0,L.jsxDEV)(nl,{children:`md`},void 0,!1,{fileName:z,lineNumber:186,columnNumber:35},void 0),`, and `,(0,L.jsxDEV)(nl,{children:`lg`},void 0,!1,{fileName:z,lineNumber:186,columnNumber:56},void 0),`, the Settings dialog gets a wider sidebar and in-tab sub-navigation, speech grows from a single Gemini Live path into a pluggable provider system, and the Usage page learns to draw charts.`]},void 0,!0,{fileName:z,lineNumber:184,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`session-title`,className:`font-bold mt-4 mb-2`,children:`Model-Generated Session Titles`},void 0,!1,{fileName:z,lineNumber:191,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A new `,(0,L.jsxDEV)(nl,{children:`Sparkles`},void 0,!1,{fileName:z,lineNumber:193,columnNumber:17},void 0),` button in the chat header (and a matching mobile-menu entry) asks the active model to rename the current session based on its content. The handler snapshots the live messages, feeds a preview to the model with a minimal-reasoning configuration, and writes the cleaned title back via`,` `,(0,L.jsxDEV)(nl,{children:`sessions.updateTitle`},void 0,!1,{fileName:z,lineNumber:197,columnNumber:11},void 0),`. Tooltip feedback reports`,` `,(0,L.jsxDEV)(`em`,{children:`"Generating title…"`},void 0,!1,{fileName:z,lineNumber:198,columnNumber:11},void 0),`, `,(0,L.jsxDEV)(`em`,{children:`"Renamed to …"`},void 0,!1,{fileName:z,lineNumber:198,columnNumber:41},void 0),`, or the error message.`]},void 0,!0,{fileName:z,lineNumber:192,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`speech-providers`,className:`font-bold mt-4 mb-2`,children:`Speech & Voice — New Tab, New Providers`},void 0,!1,{fileName:z,lineNumber:201,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Speech is now its own Settings tab, and`,` `,(0,L.jsxDEV)(nl,{children:`src/keating/speech.ts`},void 0,!1,{fileName:z,lineNumber:204,columnNumber:11},void 0),` exposes a `,(0,L.jsxDEV)(nl,{children:`SpeechProvider`},void 0,!1,{fileName:z,lineNumber:204,columnNumber:56},void 0),` interface backed by a lazy registry. Built-in providers:`]},void 0,!0,{fileName:z,lineNumber:202,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm mb-4 list-disc pl-6 space-y-1`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Gemini Live`},void 0,!1,{fileName:z,lineNumber:208,columnNumber:15},void 0),` — existing audio-out path, refactored behind the interface. Stable.`]},void 0,!0,{fileName:z,lineNumber:208,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`OpenAI TTS`},void 0,!1,{fileName:z,lineNumber:209,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`gpt-4o-mini-tts`},void 0,!1,{fileName:z,lineNumber:209,columnNumber:45},void 0),`, `,(0,L.jsxDEV)(nl,{children:`tts-1`},void 0,!1,{fileName:z,lineNumber:209,columnNumber:75},void 0),`, and `,(0,L.jsxDEV)(nl,{children:`tts-1-hd`},void 0,!1,{fileName:z,lineNumber:209,columnNumber:99},void 0),` via `,(0,L.jsxDEV)(nl,{children:`/v1/audio/speech`},void 0,!1,{fileName:z,lineNumber:209,columnNumber:125},void 0),`, with steerable affect/pace on the mini model. Stable.`]},void 0,!0,{fileName:z,lineNumber:209,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`OpenAI Realtime`},void 0,!1,{fileName:z,lineNumber:210,columnNumber:15},void 0),` — full WebRTC duplex: mints an ephemeral session, exchanges SDP, attaches the mic when enabled, and plays the remote audio track. Flagged `,(0,L.jsxDEV)(`strong`,{children:`preview`},void 0,!1,{fileName:z,lineNumber:210,columnNumber:186},void 0),` (per-utterance session, untested against your account).`]},void 0,!0,{fileName:z,lineNumber:210,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Supertonic-3 (local)`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:15},void 0),` — wires `,(0,L.jsxDEV)(nl,{children:`onnxruntime-web`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:61},void 0),` and downloads the 4 ONNX files plus `,(0,L.jsxDEV)(nl,{children:`tts.json`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:126},void 0),` and `,(0,L.jsxDEV)(nl,{children:`unicode_indexer.json`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:152},void 0),` from the Hugging Face repo. Flagged `,(0,L.jsxDEV)(`strong`,{children:`experimental`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:222},void 0),`: sessions load and warm up, but the text→tokens→duration→vectors→vocoder synthesis pipeline still needs to be ported from the Python `,(0,L.jsxDEV)(nl,{children:`supertonic`},void 0,!1,{fileName:z,lineNumber:211,columnNumber:385},void 0),` package.`]},void 0,!0,{fileName:z,lineNumber:211,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Custom TTS`},void 0,!1,{fileName:z,lineNumber:212,columnNumber:15},void 0),` — paste any OpenAI-compatible `,(0,L.jsxDEV)(nl,{children:`/v1/audio/speech`},void 0,!1,{fileName:z,lineNumber:212,columnNumber:73},void 0),` endpoint: label, base URL, model id, voice, provider-key name, and optional API path.`]},void 0,!0,{fileName:z,lineNumber:212,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:207,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A microphone toggle in the same tab is honored by duplex providers like OpenAI Realtime. The voice tool the agent calls (`,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:216,columnNumber:53},void 0),`) dispatches to the active provider through the registry instead of hard-coding Gemini.`]},void 0,!0,{fileName:z,lineNumber:214,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`usage-charts`,className:`font-bold mt-4 mb-2`,children:`Usage Charts`},void 0,!1,{fileName:z,lineNumber:220,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The Usage page now includes five panels powered by`,` `,(0,L.jsxDEV)(nl,{children:`src/components/UsageCharts.tsx`},void 0,!1,{fileName:z,lineNumber:223,columnNumber:11},void 0),`:`]},void 0,!0,{fileName:z,lineNumber:221,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm mb-4 list-disc pl-6 space-y-1`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Topic mix donut`},void 0,!1,{fileName:z,lineNumber:226,columnNumber:15},void 0),` — artifacts grouped by topic, recharts `,(0,L.jsxDEV)(nl,{children:`PieChart`},void 0,!1,{fileName:z,lineNumber:226,columnNumber:87},void 0),` with a shared palette.`]},void 0,!0,{fileName:z,lineNumber:226,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Feedback signal donut`},void 0,!1,{fileName:z,lineNumber:227,columnNumber:15},void 0),` — confident / off-track / confused from `,(0,L.jsxDEV)(nl,{children:`learnerState.feedbackHistory`},void 0,!1,{fileName:z,lineNumber:227,columnNumber:94},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:227,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Curriculum timeline`},void 0,!1,{fileName:z,lineNumber:228,columnNumber:15},void 0),` — a hand-rolled SVG Gantt across `,(0,L.jsxDEV)(nl,{children:`learnerState.sessions`},void 0,!1,{fileName:z,lineNumber:228,columnNumber:85},void 0),` (start/end + topics covered), color-matched to the donut.`]},void 0,!0,{fileName:z,lineNumber:228,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Daily activity heatmap`},void 0,!1,{fileName:z,lineNumber:229,columnNumber:15},void 0),` — 12 weeks of sessions/day, GitHub-style grid (also hand-rolled SVG).`]},void 0,!0,{fileName:z,lineNumber:229,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Coming up`},void 0,!1,{fileName:z,lineNumber:230,columnNumber:15},void 0),` — open `,(0,L.jsxDEV)(nl,{children:`Verification`},void 0,!1,{fileName:z,lineNumber:230,columnNumber:49},void 0),` checklists plus `,(0,L.jsxDEV)(nl,{children:`learnerState.weaknesses[]`},void 0,!1,{fileName:z,lineNumber:230,columnNumber:91},void 0),` / `,(0,L.jsxDEV)(nl,{children:`strengths[]`},void 0,!1,{fileName:z,lineNumber:230,columnNumber:132},void 0),`. Honest stand-in for "due" work since storage has no SRS field yet.`]},void 0,!0,{fileName:z,lineNumber:230,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:225,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`responsive-fixes`,className:`font-bold mt-4 mb-2`,children:`Responsive Layout & Settings Navigation`},void 0,!1,{fileName:z,lineNumber:233,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`At the `,(0,L.jsxDEV)(nl,{children:`md`},void 0,!1,{fileName:z,lineNumber:235,columnNumber:18},void 0),` breakpoint the chat header was silently dropping Settings, New Session, History, Speech, and Artifacts: the hamburger was hidden (`,(0,L.jsxDEV)(nl,{children:`md:hidden`},void 0,!1,{fileName:z,lineNumber:237,columnNumber:12},void 0),`) before the inline icons started showing. All seven action icons now render together from `,(0,L.jsxDEV)(nl,{children:`sm`},void 0,!1,{fileName:z,lineNumber:238,columnNumber:49},void 0),` upward and the hamburger collapses to `,(0,L.jsxDEV)(nl,{children:`xs`},void 0,!1,{fileName:z,lineNumber:239,columnNumber:24},void 0),` only; the mobile dropdown gained the missing New Session / Session history entries.`]},void 0,!0,{fileName:z,lineNumber:234,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The Settings dialog widened to `,(0,L.jsxDEV)(nl,{children:`max-w-5xl`},void 0,!1,{fileName:z,lineNumber:243,columnNumber:42},void 0),` with a wider sidebar on md/lg, and the heavy `,(0,L.jsxDEV)(`strong`,{children:`Providers & Models`},void 0,!1,{fileName:z,lineNumber:244,columnNumber:32},void 0),` tab gained a sticky chip-style sub-section navigator (Cloud / Visibility / My Models / Custom Providers) with `,(0,L.jsxDEV)(nl,{children:`scrollIntoView`},void 0,!1,{fileName:z,lineNumber:246,columnNumber:27},void 0),` jumps and per-section`,` `,(0,L.jsxDEV)(nl,{children:`scroll-mt-20`},void 0,!1,{fileName:z,lineNumber:247,columnNumber:11},void 0),`. The Speech & Voice tab uses the same pattern.`]},void 0,!0,{fileName:z,lineNumber:242,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`suggested-prompts`,className:`font-bold mt-4 mb-2`,children:`Suggested-Prompts Auto-Load-More`},void 0,!1,{fileName:z,lineNumber:250,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The suggested-prompts strip used to randomize three items and only let the "More" pill swap them out. Pressing the right-arrow at the end of the list now appends fresh suggestions filtered against what's already been shown, growing the strip until the underlying pool is exhausted. The "More" pill follows the same semantics and hides once nothing new is left.`},void 0,!1,{fileName:z,lineNumber:251,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`honest-status`,className:`font-bold mt-4 mb-2`,children:`Honest Status: Preview vs. Experimental`},void 0,!1,{fileName:z,lineNumber:259,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The Speech tab uses badge color to tell you exactly where each provider stands. Stable providers ship no badge. `,(0,L.jsxDEV)(`em`,{children:`Preview`},void 0,!1,{fileName:z,lineNumber:262,columnNumber:43},void 0),` means the integration is wired end-to-end but hasn't been validated against a live account in this release — OpenAI Realtime falls here because the per-utterance session pattern needs to mature into a persistent duplex channel. `,(0,L.jsxDEV)(`em`,{children:`Experimental`},void 0,!1,{fileName:z,lineNumber:265,columnNumber:52},void 0),` means the wiring deliberately stops short of a working call — Supertonic-3 falls here because the four ONNX models load fine in browser, but reproducing the Python`,` `,(0,L.jsxDEV)(nl,{children:`supertonic`},void 0,!1,{fileName:z,lineNumber:268,columnNumber:11},void 0),` package's tokenization, duration alignment, voice-style conditioning, and vocoder windowing in JS is its own follow-up. Picking either provider surfaces a clear error rather than a silent failure.`]},void 0,!0,{fileName:z,lineNumber:260,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-12`,badge:{label:`FIX`,color:`fix`},title:`v0.3.5 — Standalone Installer Fix: Tarball Structure and Node.js Entry Point`,version:`0.3.5`,summary:`The curl | bash installer was broken: the release tarball lacked its top-level directory and the wrapper tried to exec a nonexistent binary. Both are fixed — install now works end-to-end on Linux and macOS.`,sections:[{id:`broken-install`,title:`What Was Broken`},{id:`tarball-structure`,title:`Tarball Structure Fix`},{id:`node-entry-point`,title:`Node.js Entry Point Fix`},{id:`early-node-check`,title:`Early Node.js Check`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:[`If you ran `,(0,L.jsxDEV)(nl,{children:`curl -fsSL https://keating.help/install | bash`},void 0,!1,{fileName:z,lineNumber:291,columnNumber:22},void 0),` and then typed `,(0,L.jsxDEV)(nl,{children:`keating`},void 0,!1,{fileName:z,lineNumber:292,columnNumber:22},void 0),`, you got a confusing "No such file or directory" error. The installer reported success — it downloaded, extracted, and linked — but the resulting binary could not run. Two independent bugs caused this.`]},void 0,!0,{fileName:z,lineNumber:290,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`broken-install`,className:`font-bold mt-4 mb-2`,children:`What Was Broken`},void 0,!1,{fileName:z,lineNumber:296,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The GitHub Actions release workflow archived the bundle contents without a top-level versioned directory. The install script extracted the tarball into `,(0,L.jsxDEV)(nl,{children:`~/.local/share/keating/`},void 0,!1,{fileName:z,lineNumber:300,columnNumber:16},void 0),` and expected a subdirectory called `,(0,L.jsxDEV)(nl,{children:`keating-0.3.3-linux-x64/`},void 0,!1,{fileName:z,lineNumber:301,columnNumber:18},void 0),`, but the files landed directly in the parent directory. On top of that, the wrapper script at `,(0,L.jsxDEV)(nl,{children:`~/.local/bin/keating`},void 0,!1,{fileName:z,lineNumber:303,columnNumber:14},void 0),` tried to `,(0,L.jsxDEV)(nl,{children:`exec`},void 0,!1,{fileName:z,lineNumber:303,columnNumber:57},void 0),` a standalone binary called `,(0,L.jsxDEV)(nl,{children:`keating`},void 0,!1,{fileName:z,lineNumber:304,columnNumber:36},void 0),` — but the tarball contains a Node.js project where the real entry point is `,(0,L.jsxDEV)(nl,{children:`bin/keating.js`},void 0,!1,{fileName:z,lineNumber:306,columnNumber:14},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:297,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`tarball-structure`,className:`font-bold mt-4 mb-2`,children:`Tarball Structure Fix`},void 0,!1,{fileName:z,lineNumber:308,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The release workflow now stages all bundle files inside a versioned `,(0,L.jsxDEV)(nl,{children:`keating-VERSION-OS-ARCH/`},void 0,!1,{fileName:z,lineNumber:311,columnNumber:21},void 0),` directory before running `,(0,L.jsxDEV)(nl,{children:`tar`},void 0,!1,{fileName:z,lineNumber:312,columnNumber:19},void 0),`. This means the tarball root is`,(0,L.jsxDEV)(nl,{children:`keating-0.3.5-linux-x64/`},void 0,!1,{fileName:z,lineNumber:313,columnNumber:11},void 0),`, which matches the path the install script constructs and expects.`]},void 0,!0,{fileName:z,lineNumber:309,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`# Before (broken): tar archived bundle contents flat
|
|
275
275
|
tar -czf "\${BUNDLE_NAME}.tar.gz" -C bundle .
|
|
276
276
|
|
|
277
277
|
# After (fixed): tar archives the versioned directory
|
|
278
|
-
tar -czf "\${BUNDLE_NAME}.tar.gz" "\${STAGE_DIR}"`},void 0,!1,{fileName:z,lineNumber:
|
|
278
|
+
tar -czf "\${BUNDLE_NAME}.tar.gz" "\${STAGE_DIR}"`},void 0,!1,{fileName:z,lineNumber:316,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`node-entry-point`,className:`font-bold mt-4 mb-2`,children:`Node.js Entry Point Fix`},void 0,!1,{fileName:z,lineNumber:321,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The install wrapper now launches Keating through Node.js instead of trying to exec a standalone binary:`},void 0,!1,{fileName:z,lineNumber:322,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`# Before (broken):
|
|
279
279
|
exec "$INSTALL_APP_DIR/$bundle_name/keating" "$@"
|
|
280
280
|
|
|
281
281
|
# After (fixed):
|
|
282
|
-
exec node "$INSTALL_APP_DIR/$bundle_name/bin/keating.js" "$@"`},void 0,!1,{fileName:z,lineNumber:278,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`early-node-check`,className:`font-bold mt-4 mb-2`,children:`Early Node.js Check`},void 0,!1,{fileName:z,lineNumber:283,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The install script now checks for `,(0,L.jsxDEV)(nl,{children:`node`},void 0,!1,{fileName:z,lineNumber:285,columnNumber:45},void 0),` alongside `,(0,L.jsxDEV)(nl,{children:`tar`},void 0,!1,{fileName:z,lineNumber:285,columnNumber:73},void 0),` and`,(0,L.jsxDEV)(nl,{children:`mktemp`},void 0,!1,{fileName:z,lineNumber:286,columnNumber:11},void 0),`. If Node.js is not on `,(0,L.jsxDEV)(nl,{children:`PATH`},void 0,!1,{fileName:z,lineNumber:286,columnNumber:53},void 0),`, the installer exits immediately with a clear message instead of waiting until runtime to discover the missing dependency.`]},void 0,!0,{fileName:z,lineNumber:284,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:[`Reinstall with the updated script to get a working binary:\xA0`,(0,L.jsxDEV)(nl,{children:`curl -fsSL https://keating.help/install | bash`},void 0,!1,{fileName:z,lineNumber:292,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:290,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-10`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.4 — Markdown Tables and LaTeX Math in Chat`,version:`0.3.4`,summary:`Chat now renders GitHub-flavored markdown tables and LaTeX math expressions. Inline math via $...$ and block math via $$...$$ are properly typeset with KaTeX.`,sections:[{id:`markdown-tables`,title:`Markdown Table Support`},{id:`latex-math`,title:`LaTeX Math Rendering`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.4 improves the chat rendering pipeline with two long-requested features: properly formatted markdown tables and LaTeX math expressions.`},void 0,!1,{fileName:z,lineNumber:310,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`markdown-tables`,className:`font-bold mt-4 mb-2`,children:`Markdown Table Support`},void 0,!1,{fileName:z,lineNumber:314,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat panel now includes `,(0,L.jsxDEV)(nl,{children:`remark-gfm`},void 0,!1,{fileName:z,lineNumber:316,columnNumber:39},void 0),` so GitHub-flavored markdown tables render correctly. Inline table components use theme-aware borders and spacing so data is readable in both light and dark modes.`]},void 0,!0,{fileName:z,lineNumber:315,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`latex-math`,className:`font-bold mt-4 mb-2`,children:`LaTeX Math Rendering`},void 0,!1,{fileName:z,lineNumber:320,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The `,(0,L.jsxDEV)(nl,{children:`react-markdown`},void 0,!1,{fileName:z,lineNumber:322,columnNumber:15},void 0),` renderer now includes `,(0,L.jsxDEV)(nl,{children:`remark-math`},void 0,!1,{fileName:z,lineNumber:322,columnNumber:65},void 0),` `,`and `,(0,L.jsxDEV)(nl,{children:`rehype-katex`},void 0,!1,{fileName:z,lineNumber:323,columnNumber:20},void 0),` plugins. Inline math delimited by`,` `,(0,L.jsxDEV)(nl,{children:`$...$`},void 0,!1,{fileName:z,lineNumber:324,columnNumber:11},void 0),` and block math delimited by `,(0,L.jsxDEV)(nl,{children:`$$...$$`},void 0,!1,{fileName:z,lineNumber:324,columnNumber:58},void 0),` are passed through KaTeX for proper typesetting. The KaTeX stylesheet is loaded in the app entry point so expressions render consistently across the UI.`]},void 0,!0,{fileName:z,lineNumber:321,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The v0.3.4 build compiles cleanly and all 18 tests pass.`},void 0,!1,{fileName:z,lineNumber:328,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-09`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.3 — Interactive Quizzes, Scene Storyboards, and Dark Mode Fixes`,version:`0.3.3`,summary:`Quizzes render as live forms inside chat. Animation storyboards become navigable scene cards. Dark mode contrast fixed across retro pages. Chat viewport no longer overflows.`,sections:[{id:`quiz-ui`,title:`Interactive Quiz Tool UI`},{id:`scene-renderer`,title:`Scene Storyboard Renderer`},{id:`dark-mode-fix`,title:`Dark Mode Contrast Fix`},{id:`chat-viewport`,title:`Chat Viewport Fix`},{id:`version-sync`,title:`Version Sync Script`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.3 brings interactive teaching artifacts directly into the chat stream. Quizzes render as live forms with multiple-choice, fill-in-the-blank, true/false, and open-ended questions. Animation storyboards become navigable scene cards. Dark mode on the retro landing pages no longer shows black-on-black text.`},void 0,!1,{fileName:z,lineNumber:350,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`quiz-ui`,className:`font-bold mt-4 mb-2`,children:`Interactive Quiz Tool UI`},void 0,!1,{fileName:z,lineNumber:357,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`When the model calls `,(0,L.jsxDEV)(nl,{children:`quiz`},void 0,!1,{fileName:z,lineNumber:359,columnNumber:32},void 0),`, the returned content now includes an inline `,(0,L.jsxDEV)(nl,{children:`<keating-quiz />`},void 0,!1,{fileName:z,lineNumber:360,columnNumber:30},void 0),` tag that the chat panel parses and renders into a live form. Each question type is handled with the right interaction pattern:`]},void 0,!0,{fileName:z,lineNumber:358,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Multiple choice:`},void 0,!1,{fileName:z,lineNumber:365,columnNumber:15},void 0),` radio-style options`]},void 0,!0,{fileName:z,lineNumber:365,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Fill in the blank:`},void 0,!1,{fileName:z,lineNumber:366,columnNumber:15},void 0),` textareas that strip and compare against the correct answer`]},void 0,!0,{fileName:z,lineNumber:366,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`True / False:`},void 0,!1,{fileName:z,lineNumber:367,columnNumber:15},void 0),` paired toggle buttons`]},void 0,!0,{fileName:z,lineNumber:367,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Short answer / transfer:`},void 0,!1,{fileName:z,lineNumber:368,columnNumber:15},void 0),` open text fields with rubrics shown after submission`]},void 0,!0,{fileName:z,lineNumber:368,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:364,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`After pressing Submit, every question shows whether the answer is correct, reveals the right answer, displays the explanation, and surfaces the rubric. A Retake button resets the form. The quiz engine now generates `,(0,L.jsxDEV)(nl,{children:`fill_in`},void 0,!1,{fileName:z,lineNumber:374,columnNumber:25},void 0),` and `,(0,L.jsxDEV)(nl,{children:`true_false`},void 0,!1,{fileName:z,lineNumber:374,columnNumber:50},void 0),`questions alongside the existing types so the UI sees real variety.`]},void 0,!0,{fileName:z,lineNumber:370,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`scene-renderer`,className:`font-bold mt-4 mb-2`,children:`Scene Storyboard Renderer`},void 0,!1,{fileName:z,lineNumber:377,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The `,(0,L.jsxDEV)(nl,{children:`animate`},void 0,!1,{fileName:z,lineNumber:379,columnNumber:15},void 0),` tool emits a `,(0,L.jsxDEV)(nl,{children:`<keating-scene />`},void 0,!1,{fileName:z,lineNumber:379,columnNumber:49},void 0),`tag alongside its markdown. The new `,(0,L.jsxDEV)(nl,{children:`SceneRenderer`},void 0,!1,{fileName:z,lineNumber:380,columnNumber:47},void 0),`component parses the storyboard into a set of scene cards with duration, visual descriptions, audio cues, transitions, and highlights. Users can click through the timeline or use prev/next arrows.`]},void 0,!0,{fileName:z,lineNumber:378,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`dark-mode-fix`,className:`font-bold mt-4 mb-2`,children:`Dark Mode Contrast Fix`},void 0,!1,{fileName:z,lineNumber:385,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Hardcoded hex colors (`,(0,L.jsxDEV)(nl,{children:`#1a1a1a`},void 0,!1,{fileName:z,lineNumber:387,columnNumber:33},void 0),`, `,(0,L.jsxDEV)(nl,{children:`#64748b`},void 0,!1,{fileName:z,lineNumber:387,columnNumber:55},void 0),`,`,(0,L.jsxDEV)(nl,{children:`#f4f1ea`},void 0,!1,{fileName:z,lineNumber:388,columnNumber:11},void 0),`) on the landing, tutorial, blog, paper, and footer pages have been replaced with theme-aware Tailwind classes (`,(0,L.jsxDEV)(nl,{children:`border-border`},void 0,!1,{fileName:z,lineNumber:390,columnNumber:12},void 0),`, `,(0,L.jsxDEV)(nl,{children:`text-muted-foreground`},void 0,!1,{fileName:z,lineNumber:390,columnNumber:40},void 0),`, etc.). Text and dividers now adapt automatically between light and dark modes.`]},void 0,!0,{fileName:z,lineNumber:386,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`chat-viewport`,className:`font-bold mt-4 mb-2`,children:`Chat Viewport Fix`},void 0,!1,{fileName:z,lineNumber:394,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The `,(0,L.jsxDEV)(nl,{children:`.chat-page-panel`},void 0,!1,{fileName:z,lineNumber:396,columnNumber:15},void 0),` was `,(0,L.jsxDEV)(nl,{children:`display: block`},void 0,!1,{fileName:z,lineNumber:396,columnNumber:49},void 0),`, which broke flex height propagation. Messages pushed the composer outside the viewport. Switched to `,(0,L.jsxDEV)(nl,{children:`display: flex; flex-direction: column; height: 100%`},void 0,!1,{fileName:z,lineNumber:398,columnNumber:45},void 0),` so the scroll area stays bounded.`]},void 0,!0,{fileName:z,lineNumber:395,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`version-sync`,className:`font-bold mt-4 mb-2`,children:`Version Sync Script`},void 0,!1,{fileName:z,lineNumber:401,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A new `,(0,L.jsxDEV)(nl,{children:`scripts/sync-version.mjs`},void 0,!1,{fileName:z,lineNumber:403,columnNumber:17},void 0),` utility reads the root`,(0,L.jsxDEV)(nl,{children:`package.json`},void 0,!1,{fileName:z,lineNumber:404,columnNumber:11},void 0),` version and enforces it across the web package, the CLI extension, and hardcoded web strings. Run it with`,(0,L.jsxDEV)(nl,{children:`--check`},void 0,!1,{fileName:z,lineNumber:406,columnNumber:11},void 0),` in CI or without flags to auto-update.`]},void 0,!0,{fileName:z,lineNumber:402,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The v0.3.3 build compiles cleanly, all 18 tests pass, and the monorepo version strings are aligned.`},void 0,!1,{fileName:z,lineNumber:408,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-09`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.2 — Chat Rewrite Stabilizes: Forks, Feedback, and Mobile`,version:`0.3.2`,summary:`The Assistant UI rewrite from Lit to React has stabilized with mobile layout refinements, artifact chips in messages, CLI theme parity, React #310 crash fix, and per-message fork/feedback actions.`,sections:[{id:`rewrite-matures`,title:`Chat Rewrite Matures`},{id:`mobile`,title:`Mobile Responsiveness`},{id:`artifacts-chat`,title:`Artifacts in Conversation`},{id:`cli-theme`,title:`CLI Theme Refresh`},{id:`crash-fix`,title:`React #310 Crash Fix`},{id:`fork-feedback`,title:`Per-Message Fork and Feedback`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`The Assistant UI rewrite has stabilized. After migrating the chat layer from Lit to React, a series of refinements landed across mobile layout, artifact integration, CLI theming, and crash prevention. This release also introduces per-message fork and feedback actions.`},void 0,!1,{fileName:z,lineNumber:432,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`rewrite-matures`,className:`font-bold mt-4 mb-2`,children:`Chat Rewrite Matures`},void 0,!1,{fileName:z,lineNumber:437,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat UI is now built on `,(0,L.jsxDEV)(nl,{children:`@assistant-ui/react`},void 0,!1,{fileName:z,lineNumber:439,columnNumber:39},void 0),` instead of the previous Lit-based message list. This gives us better streaming message handling, built-in composer primitives, and a cleaner React integration. The migration took several iterations — text rendering fixes, prose layout adjustments, mobile toolbar improvements — but the result is a more reliable chat experience.`]},void 0,!0,{fileName:z,lineNumber:438,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`mobile`,className:`font-bold mt-4 mb-2`,children:`Mobile Responsiveness`},void 0,!1,{fileName:z,lineNumber:445,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:`Adaptive toolbar buttons that show/hide based on viewport size`},void 0,!1,{fileName:z,lineNumber:447,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`Touch-friendly targets across the header, model selector, and settings`},void 0,!1,{fileName:z,lineNumber:448,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`Responsive message bubbles and composer layout`},void 0,!1,{fileName:z,lineNumber:449,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:446,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`artifacts-chat`,className:`font-bold mt-4 mb-2`,children:`Artifacts in Conversation`},void 0,!1,{fileName:z,lineNumber:451,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Lesson plans, concept maps, animations, and benchmark outputs generated during chat now appear as clickable artifact chips inside assistant messages. Clicking a chip opens the artifact browser directly to that item.`},void 0,!1,{fileName:z,lineNumber:452,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`cli-theme`,className:`font-bold mt-4 mb-2`,children:`CLI Theme Refresh`},void 0,!1,{fileName:z,lineNumber:457,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The shell palette now matches the web retro-green terminal theme. The boot screen, ASCII headers, and progress indicators share the same dark mode-aware palette.`},void 0,!1,{fileName:z,lineNumber:458,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`crash-fix`,className:`font-bold mt-4 mb-2`,children:`React #310 Crash Fix`},void 0,!1,{fileName:z,lineNumber:462,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A hook-count mismatch crash (React error #310) was traced to `,(0,L.jsxDEV)(nl,{children:`@assistant-ui/react`},void 0,!1,{fileName:z,lineNumber:464,columnNumber:72},void 0),`'s internal use of conditional hooks. The library calls `,(0,L.jsxDEV)(nl,{children:`useRef`},void 0,!1,{fileName:z,lineNumber:465,columnNumber:64},void 0),` and `,(0,L.jsxDEV)(nl,{children:`useState`},void 0,!1,{fileName:z,lineNumber:465,columnNumber:88},void 0),`inside conditional blocks (annotated with biome-ignore). Under React 19 StrictMode's double-render, these conditions flipped between renders, violating React's hook rules. Removing StrictMode eliminates the crash path while the adapter object is now memoized for additional stability.`]},void 0,!0,{fileName:z,lineNumber:463,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`fork-feedback`,className:`font-bold mt-4 mb-2`,children:`Per-Message Fork and Feedback`},void 0,!1,{fileName:z,lineNumber:471,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Each assistant message now shows three action buttons:`},void 0,!1,{fileName:z,lineNumber:472,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Thumbs Up:`},void 0,!1,{fileName:z,lineNumber:476,columnNumber:15},void 0),` Open a modal for optional positive feedback comments`]},void 0,!0,{fileName:z,lineNumber:476,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Thumbs Down:`},void 0,!1,{fileName:z,lineNumber:477,columnNumber:15},void 0),` Open a modal for optional improvement suggestions`]},void 0,!0,{fileName:z,lineNumber:477,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Fork:`},void 0,!1,{fileName:z,lineNumber:478,columnNumber:15},void 0),` Create a copy of the current session starting from this message`]},void 0,!0,{fileName:z,lineNumber:478,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:475,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The v0.3.2 web build compiles cleanly with all TypeScript checks passing and 18 tests green.`},void 0,!1,{fileName:z,lineNumber:480,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-08`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.1 — Sessions, Artifacts, Tool Schemas, and Provider Proxying`,version:`0.3.1`,summary:`Web reliability release with persistent sessions, artifact browsing from chat, real tool JSON schemas for all 19 tools, and a same-origin backend proxy eliminating CORS failures.`,sections:[{id:`session-continuity`,title:`Session Continuity`},{id:`artifacts-chat-031`,title:`Artifacts in Chat`},{id:`provider-proxy`,title:`Provider Proxy Fixes`},{id:`tool-schemas-031`,title:`Tool Schemas`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.1 is a web reliability release: saved sessions are easier to resume and manage, generated teaching artifacts are reachable from chat, the browser model gets real tool schemas, and custom providers no longer make direct cross-origin discovery calls from the page.`},void 0,!1,{fileName:z,lineNumber:501,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`session-continuity`,className:`font-bold mt-4 mb-2`,children:`Session Continuity`},void 0,!1,{fileName:z,lineNumber:507,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Persistent storage prompt:`},void 0,!1,{fileName:z,lineNumber:510,columnNumber:13},void 0),` Keating asks once for durable browser storage so longer learning histories are less likely to be evicted.`]},void 0,!0,{fileName:z,lineNumber:509,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Auto-resume:`},void 0,!1,{fileName:z,lineNumber:513,columnNumber:13},void 0),` returning to chat now restores the latest saved session instead of always opening an empty conversation.`]},void 0,!0,{fileName:z,lineNumber:512,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Session manager:`},void 0,!1,{fileName:z,lineNumber:516,columnNumber:13},void 0),` the history dialog can load, rename, and delete saved sessions.`]},void 0,!0,{fileName:z,lineNumber:515,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Session-end recording:`},void 0,!1,{fileName:z,lineNumber:519,columnNumber:13},void 0),` switching sessions or starting a new one records the end of the current learner session.`]},void 0,!0,{fileName:z,lineNumber:518,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:508,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`artifacts-chat-031`,className:`font-bold mt-4 mb-2`,children:`Artifacts in Chat`},void 0,!1,{fileName:z,lineNumber:522,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The chat header now includes an Artifacts button. It opens a side overlay for browsing lesson plans, maps, animations, benchmark reports, and evolution outputs without leaving the current conversation.`},void 0,!1,{fileName:z,lineNumber:523,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`provider-proxy`,className:`font-bold mt-4 mb-2`,children:`Provider Proxy Fixes`},void 0,!1,{fileName:z,lineNumber:528,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Custom-provider model discovery now calls Keating's same-origin backend proxy before reaching servers like Ollama, llama.cpp, vLLM, LM Studio, Synthetic, or Anthropic-compatible endpoints. That prevents browser CORS failures such as a direct request to`,` `,(0,L.jsxDEV)(nl,{children:`http://localhost:11434/api/tags`},void 0,!1,{fileName:z,lineNumber:533,columnNumber:11},void 0),` from `,(0,L.jsxDEV)(nl,{children:`https://keating.help`},void 0,!1,{fileName:z,lineNumber:533,columnNumber:61},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:529,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The same proxy path now handles both discovery GET requests and chat POST requests, so non-standard custom providers and Anthropic-compatible endpoints share one backend route.`},void 0,!1,{fileName:z,lineNumber:535,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`tool-schemas-031`,className:`font-bold mt-4 mb-2`,children:`Tool Schemas`},void 0,!1,{fileName:z,lineNumber:539,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The web model still gets the full 19-tool Keating surface, but now each tool exposes real JSON Schema parameters instead of empty `,(0,L.jsxDEV)(nl,{children:`properties`},void 0,!1,{fileName:z,lineNumber:542,columnNumber:51},void 0),` objects. The result is a teacher that can call planning, mapping, verification, benchmarking, prompt evaluation, due-work, timeline, feedback, and voice tools with valid arguments.`]},void 0,!0,{fileName:z,lineNumber:540,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Version strings, package metadata, changelog, and the web build are aligned for v0.3.1.`},void 0,!1,{fileName:z,lineNumber:546,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-07`,badge:{label:`FIX`,color:`fix`},title:`All 19 Keating Web Tools Now Expose Real Parameter Schemas`,version:`0.3.1`,summary:`The fix that landed in 0.3.1: all tool registrations now describe real JSON Schema parameters so the model can actually supply arguments instead of guessing.`,sections:[{id:`what-changed-schemas`,title:`What Changed`},{id:`why-it-matters`,title:`Why It Matters`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating's web model now receives the full teaching tool surface with proper JSON Schema parameter definitions. The important fix was replacing createSimpleTool, which produced empty properties objects, with createTool registrations that describe each tool's actual arguments.`},void 0,!1,{fileName:z,lineNumber:565,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`what-changed-schemas`,className:`font-bold mt-4 mb-2`,children:`What Changed`},void 0,!1,{fileName:z,lineNumber:571,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`All 19 Keating tools are now available to the web model with schemas it can actually call. Topic-driven tools expose `,(0,L.jsxDEV)(nl,{children:`topic`},void 0,!1,{fileName:z,lineNumber:574,columnNumber:52},void 0),`, feedback exposes a constrained `,(0,L.jsxDEV)(nl,{children:`signal`},void 0,!1,{fileName:z,lineNumber:575,columnNumber:25},void 0),`, prompt evaluation requires `,(0,L.jsxDEV)(nl,{children:`prompt`},void 0,!1,{fileName:z,lineNumber:575,columnNumber:73},void 0),`, and the optional speech path exposes the full `,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:576,columnNumber:57},void 0),` shape.`]},void 0,!0,{fileName:z,lineNumber:572,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`mb-4 overflow-x-auto`,children:(0,L.jsxDEV)(`table`,{className:`w-full min-w-[520px] border-collapse text-sm`,children:[(0,L.jsxDEV)(`thead`,{children:(0,L.jsxDEV)(`tr`,{className:`border-b border-border text-left`,children:[(0,L.jsxDEV)(`th`,{className:`py-2 pr-4 font-bold`,children:`Tool`},void 0,!1,{fileName:z,lineNumber:582,columnNumber:17},void 0),(0,L.jsxDEV)(`th`,{className:`py-2 font-bold`,children:`Parameters`},void 0,!1,{fileName:z,lineNumber:583,columnNumber:17},void 0)]},void 0,!0,{fileName:z,lineNumber:581,columnNumber:15},void 0)},void 0,!1,{fileName:z,lineNumber:580,columnNumber:13},void 0),(0,L.jsxDEV)(`tbody`,{children:[[`plan`,`topic`],[`map`,`topic`],[`animate`,`topic`],[`verify`,`topic`],[`bench`,`topic (optional)`],[`evolve`,`topic (optional)`],[`quiz`,`topic`],[`feedback`,`signal (up/down/confused), topic`],[`policy`,`none`],[`outputs`,`none`],[`learner_state`,`none`],[`auto_improve`,`topic (optional)`],[`improve`,`action (optional)`],[`trace`,`type (optional)`],[`prompt_evolve`,`name (optional)`],[`prompt_eval`,`prompt`],[`timeline`,`none`],[`due`,`none`],[`keating_voice`,`text, tags, voice, pace, affect`]].map(([e,t])=>(0,L.jsxDEV)(`tr`,{className:`border-b border-border/30`,children:[(0,L.jsxDEV)(`td`,{className:`py-2 pr-4 align-top`,children:(0,L.jsxDEV)(nl,{children:e},void 0,!1,{fileName:z,lineNumber:610,columnNumber:21},void 0)},void 0,!1,{fileName:z,lineNumber:609,columnNumber:19},void 0),(0,L.jsxDEV)(`td`,{className:`py-2 align-top`,children:t},void 0,!1,{fileName:z,lineNumber:612,columnNumber:19},void 0)]},e,!0,{fileName:z,lineNumber:608,columnNumber:17},void 0))},void 0,!1,{fileName:z,lineNumber:586,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:579,columnNumber:11},void 0)},void 0,!1,{fileName:z,lineNumber:578,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`why-it-matters`,className:`font-bold mt-4 mb-2`,children:`Why It Matters`},void 0,!1,{fileName:z,lineNumber:618,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Empty tool schemas make the model guess at invisible arguments. With real schemas, the web teacher can reliably choose the right tool and pass valid arguments for lessons, checks, benchmarks, learner feedback, prompt evaluation, due work, timelines, and voice output.`},void 0,!1,{fileName:z,lineNumber:619,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The web build compiles successfully with the new tool definitions.`},void 0,!1,{fileName:z,lineNumber:625,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-01`,badge:{label:`FEATURE`,color:`feature`},title:`Optional Speech: Gemini Live Voice for the Web`,version:`0.3.1`,summary:`An opt-in speech layer using Gemini Live. The model gains a keating_voice tool for short utterances while reasoning stays in the normal text loop.`,sections:[{id:`speech-how`,title:`How It Works`},{id:`shell-support`,title:`Shell Support`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating now has an optional speech layer. The teacher still thinks, verifies, plans, and steers through the normal model/tool loop, but it can hand short learner-facing moments to a dedicated voice tool when speech is useful.`},void 0,!1,{fileName:z,lineNumber:644,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`speech-how`,className:`font-bold mt-4 mb-2`,children:`How It Works`},void 0,!1,{fileName:z,lineNumber:649,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Opt-in by design:`},void 0,!1,{fileName:z,lineNumber:652,columnNumber:13},void 0),` Speech stays disabled until you turn it on. In the web app, use the speaker button in the chat header.`]},void 0,!0,{fileName:z,lineNumber:651,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Voice tool:`},void 0,!1,{fileName:z,lineNumber:655,columnNumber:13},void 0),` When enabled, the model gets `,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:655,columnNumber:71},void 0),` for short questions, redirects, recaps, and encouragement.`]},void 0,!0,{fileName:z,lineNumber:654,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Gemini Live path:`},void 0,!1,{fileName:z,lineNumber:658,columnNumber:13},void 0),` The browser route uses `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-flash-live-preview`},void 0,!1,{fileName:z,lineNumber:658,columnNumber:71},void 0),` with the Google API key stored in Settings.`]},void 0,!0,{fileName:z,lineNumber:657,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Normal model remains in charge:`},void 0,!1,{fileName:z,lineNumber:661,columnNumber:13},void 0),` Reasoning, verification, and correction still happen through the regular teaching tools instead of being hidden inside the voice layer.`]},void 0,!0,{fileName:z,lineNumber:660,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:650,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`shell-support`,className:`font-bold mt-4 mb-2`,children:`Shell Support`},void 0,!1,{fileName:z,lineNumber:664,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The CLI config now includes a disabled-by-default `,(0,L.jsxDEV)(nl,{children:`speech`},void 0,!1,{fileName:z,lineNumber:666,columnNumber:61},void 0),` block. When enabled, the Pi extension registers `,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:667,columnNumber:38},void 0),` and emits transcript-safe voice tags:`]},void 0,!0,{fileName:z,lineNumber:665,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`[voice voice=conversational tags=question,verify pace=normal affect=curious] What would you expect to happen next?`},void 0,!1,{fileName:z,lineNumber:669,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The first shell version is provider-neutral and tag-based. The web version is the first audio-backed path.`},void 0,!1,{fileName:z,lineNumber:670,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-30`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.0 — Pedagogical Engines, a Sharper Logo, and Recorded Workflows`,version:`0.3.0`,summary:`Flashcards, quizzes, mastery tracking, and long-horizon projects. Brand polish with rebuilt ASCII logo. VHS workflow tapes for demos.`,sections:[{id:`ped-engines`,title:`New Pedagogical Engines`},{id:`sharper-logo`,title:`A Sharper KEATING`},{id:`recorded-workflows`,title:`Recorded Workflows`},{id:`quality-checks`,title:`Quality Checks`},{id:`plumbing`,title:`Plumbing`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.0 is out. This release lays the groundwork for a much richer learning loop: flashcards, quizzes, mastery tracking, and multi-week projects. It also gives the brand a long-overdue polish at both ends of the stack.`},void 0,!1,{fileName:z,lineNumber:692,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`ped-engines`,className:`font-bold mt-4 mb-2`,children:`New Pedagogical Engines`},void 0,!1,{fileName:z,lineNumber:697,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-3 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Flashcards:`},void 0,!1,{fileName:z,lineNumber:700,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Spaced-repetition decks with definitions, intuitions, common misconceptions, transfer prompts, and optional mnemonics, generated per topic.`},void 0,!1,{fileName:z,lineNumber:701,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:699,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Quizzes & Workbooks:`},void 0,!1,{fileName:z,lineNumber:707,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Structured question sets across recall, comprehension, application, analysis, and transfer levels, with rubrics for short-answer items and a generated answer key.`},void 0,!1,{fileName:z,lineNumber:708,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:706,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Mastery Tracking:`},void 0,!1,{fileName:z,lineNumber:714,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Longitudinal mastery curves so the system can decide what to revisit and when, instead of treating every session as fresh.`},void 0,!1,{fileName:z,lineNumber:715,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:713,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Long-Horizon Projects:`},void 0,!1,{fileName:z,lineNumber:721,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Multi-stage assignments with milestones, deliverables, and rubrics: the path from one-off lessons toward weeks-long studio work.`},void 0,!1,{fileName:z,lineNumber:722,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:720,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:698,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`sharper-logo`,className:`font-bold mt-4 mb-2`,children:`A Sharper KEATING`},void 0,!1,{fileName:z,lineNumber:728,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The CLI logo was misaligned (the "T" was lopsided and the rows drifted). It has been rebuilt in the ANSI Shadow font so the shell now matches the web. The web boot screen also picked up a vertical emerald gradient and a subtle CRT-style glow.`},void 0,!1,{fileName:z,lineNumber:729,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`recorded-workflows`,className:`font-bold mt-4 mb-2`,children:`Recorded Workflows`},void 0,!1,{fileName:z,lineNumber:735,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Four new `,(0,L.jsxDEV)(nl,{children:`vhs`},void 0,!1,{fileName:z,lineNumber:737,columnNumber:20},void 0),` tapes live in `,(0,L.jsxDEV)(nl,{children:`docs/`},void 0,!1,{fileName:z,lineNumber:737,columnNumber:51},void 0),` and record the workflows we actually demo. The rendered videos:`]},void 0,!0,{fileName:z,lineNumber:736,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`space-y-5 mb-4`,children:[(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`intro.tape`},void 0,!1,{fileName:z,lineNumber:743,columnNumber:15},void 0),` — boot the Keating shell, show the refreshed logo, list commands.`]},void 0,!0,{fileName:z,lineNumber:742,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/intro.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:745,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:741,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`learning-flow.tape`},void 0,!1,{fileName:z,lineNumber:749,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`plan → map → animate → verify → trace`},void 0,!1,{fileName:z,lineNumber:749,columnNumber:49},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:748,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/learning-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:751,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:747,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`improve-flow.tape`},void 0,!1,{fileName:z,lineNumber:755,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`bench → evolve → prompt-evolve → improve`},void 0,!1,{fileName:z,lineNumber:755,columnNumber:48},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:754,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/improve-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:757,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:753,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`feedback-flow.tape`},void 0,!1,{fileName:z,lineNumber:761,columnNumber:15},void 0),` — record signals, then `,(0,L.jsxDEV)(nl,{children:`due`},void 0,!1,{fileName:z,lineNumber:761,columnNumber:70},void 0),` and `,(0,L.jsxDEV)(nl,{children:`timeline`},void 0,!1,{fileName:z,lineNumber:761,columnNumber:91},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:760,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/feedback-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:763,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:759,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`teacher-flow.tape`},void 0,!1,{fileName:z,lineNumber:767,columnNumber:15},void 0),` — generate a plan, inspect it, then verify the output.`]},void 0,!0,{fileName:z,lineNumber:766,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/teacher-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:769,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:765,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`session-flow.tape`},void 0,!1,{fileName:z,lineNumber:773,columnNumber:15},void 0),` — launch the shell, check policy, browse outputs, send feedback.`]},void 0,!0,{fileName:z,lineNumber:772,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/session-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:775,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:771,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:740,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`quality-checks`,className:`font-bold mt-4 mb-2`,children:`Quality Checks`},void 0,!1,{fileName:z,lineNumber:778,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`space-y-5 mb-4`,children:[(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`doctor.tape`},void 0,!1,{fileName:z,lineNumber:782,columnNumber:15},void 0),` — run `,(0,L.jsxDEV)(nl,{children:`mise run doctor`},void 0,!1,{fileName:z,lineNumber:782,columnNumber:46},void 0),` to check your setup.`]},void 0,!0,{fileName:z,lineNumber:781,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/doctor.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:784,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:780,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`tests.tape`},void 0,!1,{fileName:z,lineNumber:788,columnNumber:15},void 0),` — run `,(0,L.jsxDEV)(nl,{children:`mise run test`},void 0,!1,{fileName:z,lineNumber:788,columnNumber:45},void 0),` to exercise the suite.`]},void 0,!0,{fileName:z,lineNumber:787,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/tests.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:790,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:786,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:779,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-2`,children:`Render any of them yourself with:`},void 0,!1,{fileName:z,lineNumber:793,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`vhs docs/learning-flow.tape`},void 0,!1,{fileName:z,lineNumber:794,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`plumbing`,className:`font-bold mt-4 mb-2`,children:`Plumbing`},void 0,!1,{fileName:z,lineNumber:795,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Command Spec Registry`},void 0,!1,{fileName:z,lineNumber:797,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`core/commands.ts`},void 0,!1,{fileName:z,lineNumber:797,columnNumber:56},void 0),` is now the single source of truth for CLI/shell command surfaces.`]},void 0,!0,{fileName:z,lineNumber:797,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Terminal & Theme Modules`},void 0,!1,{fileName:z,lineNumber:798,columnNumber:15},void 0),` — palette, ASCII headers, and section helpers extracted to `,(0,L.jsxDEV)(nl,{children:`core/terminal.ts`},void 0,!1,{fileName:z,lineNumber:798,columnNumber:120},void 0),` and `,(0,L.jsxDEV)(nl,{children:`core/theme.ts`},void 0,!1,{fileName:z,lineNumber:798,columnNumber:154},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:798,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Browser Tools / Storage`},void 0,!1,{fileName:z,lineNumber:799,columnNumber:15},void 0),` — broader tool surfaces and persistence improvements in `,(0,L.jsxDEV)(nl,{children:`web/src/keating/`},void 0,!1,{fileName:z,lineNumber:799,columnNumber:112},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:799,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:796,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm italic text-muted-foreground mt-6`,children:`The new engines ship as libraries first; CLI subcommands and web UI surfaces will land behind them in the next point releases.`},void 0,!1,{fileName:z,lineNumber:801,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-10`,badge:{label:`RELEASE`,color:`release`},title:`From Stubs to Reality: AI-Powered Pedagogical Verification`,version:`0.3.0`,summary:`Moved from deterministic stubs to AI-powered verification: real-time animation generation, realistic teaching simulations, dynamic learner profiles, and a dedicated PAPER section.`,sections:[{id:`whats-new-stubs`,title:`What's New?`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Today we've completed a major architectural shift: moving from deterministic mathematical stubs to true AI-powered verification across our core pedagogical engines.`},void 0,!1,{fileName:z,lineNumber:820,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`whats-new-stubs`,className:`font-bold mt-4 mb-2`,children:`What's New?`},void 0,!1,{fileName:z,lineNumber:824,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-4 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Real-Time Animation Generation:`},void 0,!1,{fileName:z,lineNumber:827,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`The animation engine no longer relies on hardcoded ManimJS templates. It now uses the pi agent to generate custom, context-aware visual teaching beats for any topic.`},void 0,!1,{fileName:z,lineNumber:828,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:826,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Realistic Teaching Simulations:`},void 0,!1,{fileName:z,lineNumber:834,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Our synthetic benchmarks now use LLM-backed simulations to evaluate teaching outcomes (mastery, retention, confusion) instead of algebraic approximations.`},void 0,!1,{fileName:z,lineNumber:835,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:833,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Dynamic Learner Profiles:`},void 0,!1,{fileName:z,lineNumber:841,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Learner state updates are now driven by AI-inferred pedagogical shifts based on historical performance and feedback.`},void 0,!1,{fileName:z,lineNumber:842,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:840,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Research Paper Integration:`},void 0,!1,{fileName:z,lineNumber:848,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`The formal account of the Keating metaharness is now served directly in the web application with a dedicated [PAPER] section and PDF download.`},void 0,!1,{fileName:z,lineNumber:849,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:847,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:825,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`my-4`,children:(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`teacher-flow.tape`},void 0,!1,{fileName:z,lineNumber:858,columnNumber:15},void 0),` — generate a plan, then verify the output.`]},void 0,!0,{fileName:z,lineNumber:857,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/teacher-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:860,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:856,columnNumber:11},void 0)},void 0,!1,{fileName:z,lineNumber:855,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm italic text-muted-foreground mt-6`,children:`These changes ensure that Keating's self-improvement loop is grounded in actual semantic understanding rather than pre-baked formulas.`},void 0,!1,{fileName:z,lineNumber:863,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-10`,badge:{label:`TECH`,color:`tech`},title:`Power Move: Migrating to Nitro + Vite`,summary:`Server stack migrated to Nitro for universal deployment (Node, Bun, edge workers) with Vite integration for a unified build pipeline.`,sections:[{id:`why-nitro`,title:`Why Nitro?`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`We've leveled up the Keating server stack by migrating to `,(0,L.jsxDEV)(nl,{children:`Nitro`},void 0,!1,{fileName:z,lineNumber:882,columnNumber:74},void 0),` and`,` `,(0,L.jsxDEV)(nl,{children:`Vite`},void 0,!1,{fileName:z,lineNumber:883,columnNumber:11},void 0),`. This provides a high-performance, completely runtime-agnostic engine that integrates directly with our build pipeline.`]},void 0,!0,{fileName:z,lineNumber:881,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`why-nitro`,className:`font-bold mt-4 mb-2`,children:`Why Nitro?`},void 0,!1,{fileName:z,lineNumber:886,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Universal Deployment:`},void 0,!1,{fileName:z,lineNumber:889,columnNumber:13},void 0),` Nitro allows Keating to run seamlessly on Node.js, Bun, or even edge workers with zero code changes.`]},void 0,!0,{fileName:z,lineNumber:888,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Vite Integration:`},void 0,!1,{fileName:z,lineNumber:893,columnNumber:13},void 0),` The server and client now share a unified build process, making the developer experience much smoother.`]},void 0,!0,{fileName:z,lineNumber:892,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Optimized Output:`},void 0,!1,{fileName:z,lineNumber:897,columnNumber:13},void 0),` The new build generates a standalone`,` `,(0,L.jsxDEV)(nl,{children:`.output`},void 0,!1,{fileName:z,lineNumber:898,columnNumber:13},void 0),` directory that bundle everything needed to run the Web UI, reducing overhead.`]},void 0,!0,{fileName:z,lineNumber:896,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:887,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:[`The CLI has been updated to launch this new engine automatically—just run`,` `,(0,L.jsxDEV)(nl,{children:`keating web`},void 0,!1,{fileName:z,lineNumber:904,columnNumber:11},void 0),` and experience the speed.`]},void 0,!0,{fileName:z,lineNumber:902,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-09`,badge:{label:`FIX`,color:`fix`},title:`Chat Model Selector Now Reflects the Actual Choice`,version:`0.1.3`,summary:`Fixed the model selector showing a stale gemini placeholder after picking a different model. State now syncs directly to the active agent.`,sections:[{id:`model-selector-changed`,title:`What Changed`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Fixed the web UI bug where the chat window kept showing`,` `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-pro-preview`},void 0,!1,{fileName:z,lineNumber:923,columnNumber:11},void 0),` even after picking a different model. The selected model now updates the agent state directly, so the chat button and the runtime stay in sync.`]},void 0,!0,{fileName:z,lineNumber:921,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`model-selector-changed`,className:`font-bold mt-4 mb-2`,children:`What Changed`},void 0,!1,{fileName:z,lineNumber:927,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`State Sync:`},void 0,!1,{fileName:z,lineNumber:930,columnNumber:13},void 0),` Selecting a model now writes the chosen model back into the active agent state instead of leaving the old Gemini placeholder in place.`]},void 0,!0,{fileName:z,lineNumber:929,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Immediate Rerender:`},void 0,!1,{fileName:z,lineNumber:934,columnNumber:13},void 0),` The model button in the chat window refreshes as soon as a new model is chosen.`]},void 0,!0,{fileName:z,lineNumber:933,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Browser Path:`},void 0,!1,{fileName:z,lineNumber:938,columnNumber:13},void 0),` The local browser model is now represented as a real model object, so the UI can display it explicitly instead of pretending everything is Gemini.`]},void 0,!0,{fileName:z,lineNumber:937,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:928,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`This fixes the mismatch between the picker and the chat header, which made it look like model changes were being ignored.`},void 0,!1,{fileName:z,lineNumber:943,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-09`,badge:{label:`RELEASE`,color:`release`},title:`v0.1.3 — Synthetic Provider Support and Mobile UI Polish`,version:`0.1.3`,summary:`Synthetic added as a first-class custom provider. Mobile touch targets and spacing improved across homepage, selector, settings, and install tabs.`,sections:[{id:`key-changes-013`,title:`Key Changes`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Keating now exposes Synthetic as a first-class custom provider in the Pi settings flow. The provider is configured as an OpenAI-compatible endpoint at`,` `,(0,L.jsxDEV)(nl,{children:`https://api.synthetic.new/openai/v1`},void 0,!1,{fileName:z,lineNumber:965,columnNumber:11},void 0),`, with matching setup guidance in the tutorial.`]},void 0,!0,{fileName:z,lineNumber:962,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`key-changes-013`,className:`font-bold mt-4 mb-2`,children:`Key Changes`},void 0,!1,{fileName:z,lineNumber:968,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Synthetic Provider:`},void 0,!1,{fileName:z,lineNumber:971,columnNumber:13},void 0),` Added a dedicated custom-provider entry so users can select Synthetic directly from the provider picker.`]},void 0,!0,{fileName:z,lineNumber:970,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Setup Guide:`},void 0,!1,{fileName:z,lineNumber:975,columnNumber:13},void 0),` Updated the tutorial with the exact provider name, type, and base URL.`]},void 0,!0,{fileName:z,lineNumber:974,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Mobile Polish:`},void 0,!1,{fileName:z,lineNumber:979,columnNumber:13},void 0),` Increased touch targets and spacing across the homepage, model selector, settings dialog, and install tabs.`]},void 0,!0,{fileName:z,lineNumber:978,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:969,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`This release keeps the UI consistent with the current provider flow while making the browser experience less cramped on small screens.`},void 0,!1,{fileName:z,lineNumber:983,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-04-05`,badge:{label:`FIX`,color:`fix`},title:`Chat Panel Fix & Model Loading Animation`,summary:`Fixed text disappearing after sending messages by separating the Lit header from the dynamic chat panel. Added a one-time model loading overlay.`,sections:[{id:`chat-panel-lifecycle`,title:`Bug Fix: Chat Panel Lifecycle`},{id:`model-loading-overlay`,title:`New: Model Loading Overlay`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Fixed the text disappearing issue in the chat panel that occurred after sending messages. Also added a one-time model loading animation when the browser model initializes.`},void 0,!1,{fileName:z,lineNumber:1002,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`chat-panel-lifecycle`,className:`font-bold mt-4 mb-2`,children:`Bug Fix: Chat Panel Lifecycle`},void 0,!1,{fileName:z,lineNumber:1007,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`The root cause was Lit re-rendering replacing the ChatPanel element on every state update. Separated the static header from the dynamic chat panel with distinct DOM containers. The header renders via Lit's templating, while the ChatPanel is appended once and never replaced.`},void 0,!1,{fileName:z,lineNumber:1008,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`model-loading-overlay`,className:`font-bold mt-4 mb-2`,children:`New: Model Loading Overlay`},void 0,!1,{fileName:z,lineNumber:1014,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`When using the browser model (Gemma 4 E4B), a loading overlay now appears showing real-time download progress. This only shows once — the first time the model is loaded. Subsequent visits skip the overlay since the model is cached locally.`},void 0,!1,{fileName:z,lineNumber:1015,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`// Model loading state communicated via custom events
|
|
282
|
+
exec node "$INSTALL_APP_DIR/$bundle_name/bin/keating.js" "$@"`},void 0,!1,{fileName:z,lineNumber:326,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`early-node-check`,className:`font-bold mt-4 mb-2`,children:`Early Node.js Check`},void 0,!1,{fileName:z,lineNumber:331,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The install script now checks for `,(0,L.jsxDEV)(nl,{children:`node`},void 0,!1,{fileName:z,lineNumber:333,columnNumber:45},void 0),` alongside `,(0,L.jsxDEV)(nl,{children:`tar`},void 0,!1,{fileName:z,lineNumber:333,columnNumber:73},void 0),` and`,(0,L.jsxDEV)(nl,{children:`mktemp`},void 0,!1,{fileName:z,lineNumber:334,columnNumber:11},void 0),`. If Node.js is not on `,(0,L.jsxDEV)(nl,{children:`PATH`},void 0,!1,{fileName:z,lineNumber:334,columnNumber:53},void 0),`, the installer exits immediately with a clear message instead of waiting until runtime to discover the missing dependency.`]},void 0,!0,{fileName:z,lineNumber:332,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:[`Reinstall with the updated script to get a working binary:\xA0`,(0,L.jsxDEV)(nl,{children:`curl -fsSL https://keating.help/install | bash`},void 0,!1,{fileName:z,lineNumber:340,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:338,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-10`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.4 — Markdown Tables and LaTeX Math in Chat`,version:`0.3.4`,summary:`Chat now renders GitHub-flavored markdown tables and LaTeX math expressions. Inline math via $...$ and block math via $$...$$ are properly typeset with KaTeX.`,sections:[{id:`markdown-tables`,title:`Markdown Table Support`},{id:`latex-math`,title:`LaTeX Math Rendering`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.4 improves the chat rendering pipeline with two long-requested features: properly formatted markdown tables and LaTeX math expressions.`},void 0,!1,{fileName:z,lineNumber:358,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`markdown-tables`,className:`font-bold mt-4 mb-2`,children:`Markdown Table Support`},void 0,!1,{fileName:z,lineNumber:362,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat panel now includes `,(0,L.jsxDEV)(nl,{children:`remark-gfm`},void 0,!1,{fileName:z,lineNumber:364,columnNumber:39},void 0),` so GitHub-flavored markdown tables render correctly. Inline table components use theme-aware borders and spacing so data is readable in both light and dark modes.`]},void 0,!0,{fileName:z,lineNumber:363,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`latex-math`,className:`font-bold mt-4 mb-2`,children:`LaTeX Math Rendering`},void 0,!1,{fileName:z,lineNumber:368,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The `,(0,L.jsxDEV)(nl,{children:`react-markdown`},void 0,!1,{fileName:z,lineNumber:370,columnNumber:15},void 0),` renderer now includes `,(0,L.jsxDEV)(nl,{children:`remark-math`},void 0,!1,{fileName:z,lineNumber:370,columnNumber:65},void 0),` `,`and `,(0,L.jsxDEV)(nl,{children:`rehype-katex`},void 0,!1,{fileName:z,lineNumber:371,columnNumber:20},void 0),` plugins. Inline math delimited by`,` `,(0,L.jsxDEV)(nl,{children:`$...$`},void 0,!1,{fileName:z,lineNumber:372,columnNumber:11},void 0),` and block math delimited by `,(0,L.jsxDEV)(nl,{children:`$$...$$`},void 0,!1,{fileName:z,lineNumber:372,columnNumber:58},void 0),` are passed through KaTeX for proper typesetting. The KaTeX stylesheet is loaded in the app entry point so expressions render consistently across the UI.`]},void 0,!0,{fileName:z,lineNumber:369,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The v0.3.4 build compiles cleanly and all 18 tests pass.`},void 0,!1,{fileName:z,lineNumber:376,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-09`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.3 — Interactive Quizzes, Scene Storyboards, and Dark Mode Fixes`,version:`0.3.3`,summary:`Quizzes render as live forms inside chat. Animation storyboards become navigable scene cards. Dark mode contrast fixed across retro pages. Chat viewport no longer overflows.`,sections:[{id:`quiz-ui`,title:`Interactive Quiz Tool UI`},{id:`scene-renderer`,title:`Scene Storyboard Renderer`},{id:`dark-mode-fix`,title:`Dark Mode Contrast Fix`},{id:`chat-viewport`,title:`Chat Viewport Fix`},{id:`version-sync`,title:`Version Sync Script`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.3 brings interactive teaching artifacts directly into the chat stream. Quizzes render as live forms with multiple-choice, fill-in-the-blank, true/false, and open-ended questions. Animation storyboards become navigable scene cards. Dark mode on the retro landing pages no longer shows black-on-black text.`},void 0,!1,{fileName:z,lineNumber:398,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`quiz-ui`,className:`font-bold mt-4 mb-2`,children:`Interactive Quiz Tool UI`},void 0,!1,{fileName:z,lineNumber:405,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`When the model calls `,(0,L.jsxDEV)(nl,{children:`quiz`},void 0,!1,{fileName:z,lineNumber:407,columnNumber:32},void 0),`, the returned content now includes an inline `,(0,L.jsxDEV)(nl,{children:`<keating-quiz />`},void 0,!1,{fileName:z,lineNumber:408,columnNumber:30},void 0),` tag that the chat panel parses and renders into a live form. Each question type is handled with the right interaction pattern:`]},void 0,!0,{fileName:z,lineNumber:406,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Multiple choice:`},void 0,!1,{fileName:z,lineNumber:413,columnNumber:15},void 0),` radio-style options`]},void 0,!0,{fileName:z,lineNumber:413,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Fill in the blank:`},void 0,!1,{fileName:z,lineNumber:414,columnNumber:15},void 0),` textareas that strip and compare against the correct answer`]},void 0,!0,{fileName:z,lineNumber:414,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`True / False:`},void 0,!1,{fileName:z,lineNumber:415,columnNumber:15},void 0),` paired toggle buttons`]},void 0,!0,{fileName:z,lineNumber:415,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Short answer / transfer:`},void 0,!1,{fileName:z,lineNumber:416,columnNumber:15},void 0),` open text fields with rubrics shown after submission`]},void 0,!0,{fileName:z,lineNumber:416,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:412,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`After pressing Submit, every question shows whether the answer is correct, reveals the right answer, displays the explanation, and surfaces the rubric. A Retake button resets the form. The quiz engine now generates `,(0,L.jsxDEV)(nl,{children:`fill_in`},void 0,!1,{fileName:z,lineNumber:422,columnNumber:25},void 0),` and `,(0,L.jsxDEV)(nl,{children:`true_false`},void 0,!1,{fileName:z,lineNumber:422,columnNumber:50},void 0),`questions alongside the existing types so the UI sees real variety.`]},void 0,!0,{fileName:z,lineNumber:418,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`scene-renderer`,className:`font-bold mt-4 mb-2`,children:`Scene Storyboard Renderer`},void 0,!1,{fileName:z,lineNumber:425,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The `,(0,L.jsxDEV)(nl,{children:`animate`},void 0,!1,{fileName:z,lineNumber:427,columnNumber:15},void 0),` tool emits a `,(0,L.jsxDEV)(nl,{children:`<keating-scene />`},void 0,!1,{fileName:z,lineNumber:427,columnNumber:49},void 0),`tag alongside its markdown. The new `,(0,L.jsxDEV)(nl,{children:`SceneRenderer`},void 0,!1,{fileName:z,lineNumber:428,columnNumber:47},void 0),`component parses the storyboard into a set of scene cards with duration, visual descriptions, audio cues, transitions, and highlights. Users can click through the timeline or use prev/next arrows.`]},void 0,!0,{fileName:z,lineNumber:426,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`dark-mode-fix`,className:`font-bold mt-4 mb-2`,children:`Dark Mode Contrast Fix`},void 0,!1,{fileName:z,lineNumber:433,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Hardcoded hex colors (`,(0,L.jsxDEV)(nl,{children:`#1a1a1a`},void 0,!1,{fileName:z,lineNumber:435,columnNumber:33},void 0),`, `,(0,L.jsxDEV)(nl,{children:`#64748b`},void 0,!1,{fileName:z,lineNumber:435,columnNumber:55},void 0),`,`,(0,L.jsxDEV)(nl,{children:`#f4f1ea`},void 0,!1,{fileName:z,lineNumber:436,columnNumber:11},void 0),`) on the landing, tutorial, blog, paper, and footer pages have been replaced with theme-aware Tailwind classes (`,(0,L.jsxDEV)(nl,{children:`border-border`},void 0,!1,{fileName:z,lineNumber:438,columnNumber:12},void 0),`, `,(0,L.jsxDEV)(nl,{children:`text-muted-foreground`},void 0,!1,{fileName:z,lineNumber:438,columnNumber:40},void 0),`, etc.). Text and dividers now adapt automatically between light and dark modes.`]},void 0,!0,{fileName:z,lineNumber:434,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`chat-viewport`,className:`font-bold mt-4 mb-2`,children:`Chat Viewport Fix`},void 0,!1,{fileName:z,lineNumber:442,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The `,(0,L.jsxDEV)(nl,{children:`.chat-page-panel`},void 0,!1,{fileName:z,lineNumber:444,columnNumber:15},void 0),` was `,(0,L.jsxDEV)(nl,{children:`display: block`},void 0,!1,{fileName:z,lineNumber:444,columnNumber:49},void 0),`, which broke flex height propagation. Messages pushed the composer outside the viewport. Switched to `,(0,L.jsxDEV)(nl,{children:`display: flex; flex-direction: column; height: 100%`},void 0,!1,{fileName:z,lineNumber:446,columnNumber:45},void 0),` so the scroll area stays bounded.`]},void 0,!0,{fileName:z,lineNumber:443,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`version-sync`,className:`font-bold mt-4 mb-2`,children:`Version Sync Script`},void 0,!1,{fileName:z,lineNumber:449,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A new `,(0,L.jsxDEV)(nl,{children:`scripts/sync-version.mjs`},void 0,!1,{fileName:z,lineNumber:451,columnNumber:17},void 0),` utility reads the root`,(0,L.jsxDEV)(nl,{children:`package.json`},void 0,!1,{fileName:z,lineNumber:452,columnNumber:11},void 0),` version and enforces it across the web package, the CLI extension, and hardcoded web strings. Run it with`,(0,L.jsxDEV)(nl,{children:`--check`},void 0,!1,{fileName:z,lineNumber:454,columnNumber:11},void 0),` in CI or without flags to auto-update.`]},void 0,!0,{fileName:z,lineNumber:450,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The v0.3.3 build compiles cleanly, all 18 tests pass, and the monorepo version strings are aligned.`},void 0,!1,{fileName:z,lineNumber:456,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-09`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.2 — Chat Rewrite Stabilizes: Forks, Feedback, and Mobile`,version:`0.3.2`,summary:`The Assistant UI rewrite from Lit to React has stabilized with mobile layout refinements, artifact chips in messages, CLI theme parity, React #310 crash fix, and per-message fork/feedback actions.`,sections:[{id:`rewrite-matures`,title:`Chat Rewrite Matures`},{id:`mobile`,title:`Mobile Responsiveness`},{id:`artifacts-chat`,title:`Artifacts in Conversation`},{id:`cli-theme`,title:`CLI Theme Refresh`},{id:`crash-fix`,title:`React #310 Crash Fix`},{id:`fork-feedback`,title:`Per-Message Fork and Feedback`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`The Assistant UI rewrite has stabilized. After migrating the chat layer from Lit to React, a series of refinements landed across mobile layout, artifact integration, CLI theming, and crash prevention. This release also introduces per-message fork and feedback actions.`},void 0,!1,{fileName:z,lineNumber:480,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`rewrite-matures`,className:`font-bold mt-4 mb-2`,children:`Chat Rewrite Matures`},void 0,!1,{fileName:z,lineNumber:485,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The chat UI is now built on `,(0,L.jsxDEV)(nl,{children:`@assistant-ui/react`},void 0,!1,{fileName:z,lineNumber:487,columnNumber:39},void 0),` instead of the previous Lit-based message list. This gives us better streaming message handling, built-in composer primitives, and a cleaner React integration. The migration took several iterations — text rendering fixes, prose layout adjustments, mobile toolbar improvements — but the result is a more reliable chat experience.`]},void 0,!0,{fileName:z,lineNumber:486,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`mobile`,className:`font-bold mt-4 mb-2`,children:`Mobile Responsiveness`},void 0,!1,{fileName:z,lineNumber:493,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:`Adaptive toolbar buttons that show/hide based on viewport size`},void 0,!1,{fileName:z,lineNumber:495,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`Touch-friendly targets across the header, model selector, and settings`},void 0,!1,{fileName:z,lineNumber:496,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`Responsive message bubbles and composer layout`},void 0,!1,{fileName:z,lineNumber:497,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:494,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`artifacts-chat`,className:`font-bold mt-4 mb-2`,children:`Artifacts in Conversation`},void 0,!1,{fileName:z,lineNumber:499,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Lesson plans, concept maps, animations, and benchmark outputs generated during chat now appear as clickable artifact chips inside assistant messages. Clicking a chip opens the artifact browser directly to that item.`},void 0,!1,{fileName:z,lineNumber:500,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`cli-theme`,className:`font-bold mt-4 mb-2`,children:`CLI Theme Refresh`},void 0,!1,{fileName:z,lineNumber:505,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The shell palette now matches the web retro-green terminal theme. The boot screen, ASCII headers, and progress indicators share the same dark mode-aware palette.`},void 0,!1,{fileName:z,lineNumber:506,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`crash-fix`,className:`font-bold mt-4 mb-2`,children:`React #310 Crash Fix`},void 0,!1,{fileName:z,lineNumber:510,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`A hook-count mismatch crash (React error #310) was traced to `,(0,L.jsxDEV)(nl,{children:`@assistant-ui/react`},void 0,!1,{fileName:z,lineNumber:512,columnNumber:72},void 0),`'s internal use of conditional hooks. The library calls `,(0,L.jsxDEV)(nl,{children:`useRef`},void 0,!1,{fileName:z,lineNumber:513,columnNumber:64},void 0),` and `,(0,L.jsxDEV)(nl,{children:`useState`},void 0,!1,{fileName:z,lineNumber:513,columnNumber:88},void 0),`inside conditional blocks (annotated with biome-ignore). Under React 19 StrictMode's double-render, these conditions flipped between renders, violating React's hook rules. Removing StrictMode eliminates the crash path while the adapter object is now memoized for additional stability.`]},void 0,!0,{fileName:z,lineNumber:511,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`fork-feedback`,className:`font-bold mt-4 mb-2`,children:`Per-Message Fork and Feedback`},void 0,!1,{fileName:z,lineNumber:519,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Each assistant message now shows three action buttons:`},void 0,!1,{fileName:z,lineNumber:520,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Thumbs Up:`},void 0,!1,{fileName:z,lineNumber:524,columnNumber:15},void 0),` Open a modal for optional positive feedback comments`]},void 0,!0,{fileName:z,lineNumber:524,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Thumbs Down:`},void 0,!1,{fileName:z,lineNumber:525,columnNumber:15},void 0),` Open a modal for optional improvement suggestions`]},void 0,!0,{fileName:z,lineNumber:525,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Fork:`},void 0,!1,{fileName:z,lineNumber:526,columnNumber:15},void 0),` Create a copy of the current session starting from this message`]},void 0,!0,{fileName:z,lineNumber:526,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:523,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The v0.3.2 web build compiles cleanly with all TypeScript checks passing and 18 tests green.`},void 0,!1,{fileName:z,lineNumber:528,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-08`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.1 — Sessions, Artifacts, Tool Schemas, and Provider Proxying`,version:`0.3.1`,summary:`Web reliability release with persistent sessions, artifact browsing from chat, real tool JSON schemas for all 19 tools, and a same-origin backend proxy eliminating CORS failures.`,sections:[{id:`session-continuity`,title:`Session Continuity`},{id:`artifacts-chat-031`,title:`Artifacts in Chat`},{id:`provider-proxy`,title:`Provider Proxy Fixes`},{id:`tool-schemas-031`,title:`Tool Schemas`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.1 is a web reliability release: saved sessions are easier to resume and manage, generated teaching artifacts are reachable from chat, the browser model gets real tool schemas, and custom providers no longer make direct cross-origin discovery calls from the page.`},void 0,!1,{fileName:z,lineNumber:549,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`session-continuity`,className:`font-bold mt-4 mb-2`,children:`Session Continuity`},void 0,!1,{fileName:z,lineNumber:555,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Persistent storage prompt:`},void 0,!1,{fileName:z,lineNumber:558,columnNumber:13},void 0),` Keating asks once for durable browser storage so longer learning histories are less likely to be evicted.`]},void 0,!0,{fileName:z,lineNumber:557,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Auto-resume:`},void 0,!1,{fileName:z,lineNumber:561,columnNumber:13},void 0),` returning to chat now restores the latest saved session instead of always opening an empty conversation.`]},void 0,!0,{fileName:z,lineNumber:560,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Session manager:`},void 0,!1,{fileName:z,lineNumber:564,columnNumber:13},void 0),` the history dialog can load, rename, and delete saved sessions.`]},void 0,!0,{fileName:z,lineNumber:563,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Session-end recording:`},void 0,!1,{fileName:z,lineNumber:567,columnNumber:13},void 0),` switching sessions or starting a new one records the end of the current learner session.`]},void 0,!0,{fileName:z,lineNumber:566,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:556,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`artifacts-chat-031`,className:`font-bold mt-4 mb-2`,children:`Artifacts in Chat`},void 0,!1,{fileName:z,lineNumber:570,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The chat header now includes an Artifacts button. It opens a side overlay for browsing lesson plans, maps, animations, benchmark reports, and evolution outputs without leaving the current conversation.`},void 0,!1,{fileName:z,lineNumber:571,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`provider-proxy`,className:`font-bold mt-4 mb-2`,children:`Provider Proxy Fixes`},void 0,!1,{fileName:z,lineNumber:576,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Custom-provider model discovery now calls Keating's same-origin backend proxy before reaching servers like Ollama, llama.cpp, vLLM, LM Studio, Synthetic, or Anthropic-compatible endpoints. That prevents browser CORS failures such as a direct request to`,` `,(0,L.jsxDEV)(nl,{children:`http://localhost:11434/api/tags`},void 0,!1,{fileName:z,lineNumber:581,columnNumber:11},void 0),` from `,(0,L.jsxDEV)(nl,{children:`https://keating.help`},void 0,!1,{fileName:z,lineNumber:581,columnNumber:61},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:577,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The same proxy path now handles both discovery GET requests and chat POST requests, so non-standard custom providers and Anthropic-compatible endpoints share one backend route.`},void 0,!1,{fileName:z,lineNumber:583,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`tool-schemas-031`,className:`font-bold mt-4 mb-2`,children:`Tool Schemas`},void 0,!1,{fileName:z,lineNumber:587,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The web model still gets the full 19-tool Keating surface, but now each tool exposes real JSON Schema parameters instead of empty `,(0,L.jsxDEV)(nl,{children:`properties`},void 0,!1,{fileName:z,lineNumber:590,columnNumber:51},void 0),` objects. The result is a teacher that can call planning, mapping, verification, benchmarking, prompt evaluation, due-work, timeline, feedback, and voice tools with valid arguments.`]},void 0,!0,{fileName:z,lineNumber:588,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Version strings, package metadata, changelog, and the web build are aligned for v0.3.1.`},void 0,!1,{fileName:z,lineNumber:594,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-07`,badge:{label:`FIX`,color:`fix`},title:`All 19 Keating Web Tools Now Expose Real Parameter Schemas`,version:`0.3.1`,summary:`The fix that landed in 0.3.1: all tool registrations now describe real JSON Schema parameters so the model can actually supply arguments instead of guessing.`,sections:[{id:`what-changed-schemas`,title:`What Changed`},{id:`why-it-matters`,title:`Why It Matters`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating's web model now receives the full teaching tool surface with proper JSON Schema parameter definitions. The important fix was replacing createSimpleTool, which produced empty properties objects, with createTool registrations that describe each tool's actual arguments.`},void 0,!1,{fileName:z,lineNumber:613,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`what-changed-schemas`,className:`font-bold mt-4 mb-2`,children:`What Changed`},void 0,!1,{fileName:z,lineNumber:619,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`All 19 Keating tools are now available to the web model with schemas it can actually call. Topic-driven tools expose `,(0,L.jsxDEV)(nl,{children:`topic`},void 0,!1,{fileName:z,lineNumber:622,columnNumber:52},void 0),`, feedback exposes a constrained `,(0,L.jsxDEV)(nl,{children:`signal`},void 0,!1,{fileName:z,lineNumber:623,columnNumber:25},void 0),`, prompt evaluation requires `,(0,L.jsxDEV)(nl,{children:`prompt`},void 0,!1,{fileName:z,lineNumber:623,columnNumber:73},void 0),`, and the optional speech path exposes the full `,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:624,columnNumber:57},void 0),` shape.`]},void 0,!0,{fileName:z,lineNumber:620,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`mb-4 overflow-x-auto`,children:(0,L.jsxDEV)(`table`,{className:`w-full min-w-[520px] border-collapse text-sm`,children:[(0,L.jsxDEV)(`thead`,{children:(0,L.jsxDEV)(`tr`,{className:`border-b border-border text-left`,children:[(0,L.jsxDEV)(`th`,{className:`py-2 pr-4 font-bold`,children:`Tool`},void 0,!1,{fileName:z,lineNumber:630,columnNumber:17},void 0),(0,L.jsxDEV)(`th`,{className:`py-2 font-bold`,children:`Parameters`},void 0,!1,{fileName:z,lineNumber:631,columnNumber:17},void 0)]},void 0,!0,{fileName:z,lineNumber:629,columnNumber:15},void 0)},void 0,!1,{fileName:z,lineNumber:628,columnNumber:13},void 0),(0,L.jsxDEV)(`tbody`,{children:[[`plan`,`topic`],[`map`,`topic`],[`animate`,`topic`],[`verify`,`topic`],[`bench`,`topic (optional)`],[`evolve`,`topic (optional)`],[`quiz`,`topic`],[`feedback`,`signal (up/down/confused), topic`],[`policy`,`none`],[`outputs`,`none`],[`learner_state`,`none`],[`auto_improve`,`topic (optional)`],[`improve`,`action (optional)`],[`trace`,`type (optional)`],[`prompt_evolve`,`name (optional)`],[`prompt_eval`,`prompt`],[`timeline`,`none`],[`due`,`none`],[`keating_voice`,`text, tags, voice, pace, affect`]].map(([e,t])=>(0,L.jsxDEV)(`tr`,{className:`border-b border-border/30`,children:[(0,L.jsxDEV)(`td`,{className:`py-2 pr-4 align-top`,children:(0,L.jsxDEV)(nl,{children:e},void 0,!1,{fileName:z,lineNumber:658,columnNumber:21},void 0)},void 0,!1,{fileName:z,lineNumber:657,columnNumber:19},void 0),(0,L.jsxDEV)(`td`,{className:`py-2 align-top`,children:t},void 0,!1,{fileName:z,lineNumber:660,columnNumber:19},void 0)]},e,!0,{fileName:z,lineNumber:656,columnNumber:17},void 0))},void 0,!1,{fileName:z,lineNumber:634,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:627,columnNumber:11},void 0)},void 0,!1,{fileName:z,lineNumber:626,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`why-it-matters`,className:`font-bold mt-4 mb-2`,children:`Why It Matters`},void 0,!1,{fileName:z,lineNumber:666,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`Empty tool schemas make the model guess at invisible arguments. With real schemas, the web teacher can reliably choose the right tool and pass valid arguments for lessons, checks, benchmarks, learner feedback, prompt evaluation, due work, timelines, and voice output.`},void 0,!1,{fileName:z,lineNumber:667,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The web build compiles successfully with the new tool definitions.`},void 0,!1,{fileName:z,lineNumber:673,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-05-01`,badge:{label:`FEATURE`,color:`feature`},title:`Optional Speech: Gemini Live Voice for the Web`,version:`0.3.1`,summary:`An opt-in speech layer using Gemini Live. The model gains a keating_voice tool for short utterances while reasoning stays in the normal text loop.`,sections:[{id:`speech-how`,title:`How It Works`},{id:`shell-support`,title:`Shell Support`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating now has an optional speech layer. The teacher still thinks, verifies, plans, and steers through the normal model/tool loop, but it can hand short learner-facing moments to a dedicated voice tool when speech is useful.`},void 0,!1,{fileName:z,lineNumber:692,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`speech-how`,className:`font-bold mt-4 mb-2`,children:`How It Works`},void 0,!1,{fileName:z,lineNumber:697,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Opt-in by design:`},void 0,!1,{fileName:z,lineNumber:700,columnNumber:13},void 0),` Speech stays disabled until you turn it on. In the web app, use the speaker button in the chat header.`]},void 0,!0,{fileName:z,lineNumber:699,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Voice tool:`},void 0,!1,{fileName:z,lineNumber:703,columnNumber:13},void 0),` When enabled, the model gets `,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:703,columnNumber:71},void 0),` for short questions, redirects, recaps, and encouragement.`]},void 0,!0,{fileName:z,lineNumber:702,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Gemini Live path:`},void 0,!1,{fileName:z,lineNumber:706,columnNumber:13},void 0),` The browser route uses `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-flash-live-preview`},void 0,!1,{fileName:z,lineNumber:706,columnNumber:71},void 0),` with the Google API key stored in Settings.`]},void 0,!0,{fileName:z,lineNumber:705,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Normal model remains in charge:`},void 0,!1,{fileName:z,lineNumber:709,columnNumber:13},void 0),` Reasoning, verification, and correction still happen through the regular teaching tools instead of being hidden inside the voice layer.`]},void 0,!0,{fileName:z,lineNumber:708,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:698,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`shell-support`,className:`font-bold mt-4 mb-2`,children:`Shell Support`},void 0,!1,{fileName:z,lineNumber:712,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`The CLI config now includes a disabled-by-default `,(0,L.jsxDEV)(nl,{children:`speech`},void 0,!1,{fileName:z,lineNumber:714,columnNumber:61},void 0),` block. When enabled, the Pi extension registers `,(0,L.jsxDEV)(nl,{children:`keating_voice`},void 0,!1,{fileName:z,lineNumber:715,columnNumber:38},void 0),` and emits transcript-safe voice tags:`]},void 0,!0,{fileName:z,lineNumber:713,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`[voice voice=conversational tags=question,verify pace=normal affect=curious] What would you expect to happen next?`},void 0,!1,{fileName:z,lineNumber:717,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The first shell version is provider-neutral and tag-based. The web version is the first audio-backed path.`},void 0,!1,{fileName:z,lineNumber:718,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-30`,badge:{label:`RELEASE`,color:`release`},title:`v0.3.0 — Pedagogical Engines, a Sharper Logo, and Recorded Workflows`,version:`0.3.0`,summary:`Flashcards, quizzes, mastery tracking, and long-horizon projects. Brand polish with rebuilt ASCII logo. VHS workflow tapes for demos.`,sections:[{id:`ped-engines`,title:`New Pedagogical Engines`},{id:`sharper-logo`,title:`A Sharper KEATING`},{id:`recorded-workflows`,title:`Recorded Workflows`},{id:`quality-checks`,title:`Quality Checks`},{id:`plumbing`,title:`Plumbing`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Keating 0.3.0 is out. This release lays the groundwork for a much richer learning loop: flashcards, quizzes, mastery tracking, and multi-week projects. It also gives the brand a long-overdue polish at both ends of the stack.`},void 0,!1,{fileName:z,lineNumber:740,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`ped-engines`,className:`font-bold mt-4 mb-2`,children:`New Pedagogical Engines`},void 0,!1,{fileName:z,lineNumber:745,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-3 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Flashcards:`},void 0,!1,{fileName:z,lineNumber:748,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Spaced-repetition decks with definitions, intuitions, common misconceptions, transfer prompts, and optional mnemonics, generated per topic.`},void 0,!1,{fileName:z,lineNumber:749,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:747,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Quizzes & Workbooks:`},void 0,!1,{fileName:z,lineNumber:755,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Structured question sets across recall, comprehension, application, analysis, and transfer levels, with rubrics for short-answer items and a generated answer key.`},void 0,!1,{fileName:z,lineNumber:756,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:754,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Mastery Tracking:`},void 0,!1,{fileName:z,lineNumber:762,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Longitudinal mastery curves so the system can decide what to revisit and when, instead of treating every session as fresh.`},void 0,!1,{fileName:z,lineNumber:763,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:761,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Long-Horizon Projects:`},void 0,!1,{fileName:z,lineNumber:769,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Multi-stage assignments with milestones, deliverables, and rubrics: the path from one-off lessons toward weeks-long studio work.`},void 0,!1,{fileName:z,lineNumber:770,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:768,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:746,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`sharper-logo`,className:`font-bold mt-4 mb-2`,children:`A Sharper KEATING`},void 0,!1,{fileName:z,lineNumber:776,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:`The CLI logo was misaligned (the "T" was lopsided and the rows drifted). It has been rebuilt in the ANSI Shadow font so the shell now matches the web. The web boot screen also picked up a vertical emerald gradient and a subtle CRT-style glow.`},void 0,!1,{fileName:z,lineNumber:777,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`recorded-workflows`,className:`font-bold mt-4 mb-2`,children:`Recorded Workflows`},void 0,!1,{fileName:z,lineNumber:783,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-4`,children:[`Four new `,(0,L.jsxDEV)(nl,{children:`vhs`},void 0,!1,{fileName:z,lineNumber:785,columnNumber:20},void 0),` tapes live in `,(0,L.jsxDEV)(nl,{children:`docs/`},void 0,!1,{fileName:z,lineNumber:785,columnNumber:51},void 0),` and record the workflows we actually demo. The rendered videos:`]},void 0,!0,{fileName:z,lineNumber:784,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`space-y-5 mb-4`,children:[(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`intro.tape`},void 0,!1,{fileName:z,lineNumber:791,columnNumber:15},void 0),` — boot the Keating shell, show the refreshed logo, list commands.`]},void 0,!0,{fileName:z,lineNumber:790,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/intro.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:793,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:789,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`learning-flow.tape`},void 0,!1,{fileName:z,lineNumber:797,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`plan → map → animate → verify → trace`},void 0,!1,{fileName:z,lineNumber:797,columnNumber:49},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:796,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/learning-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:799,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:795,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`improve-flow.tape`},void 0,!1,{fileName:z,lineNumber:803,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`bench → evolve → prompt-evolve → improve`},void 0,!1,{fileName:z,lineNumber:803,columnNumber:48},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:802,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/improve-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:805,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:801,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`feedback-flow.tape`},void 0,!1,{fileName:z,lineNumber:809,columnNumber:15},void 0),` — record signals, then `,(0,L.jsxDEV)(nl,{children:`due`},void 0,!1,{fileName:z,lineNumber:809,columnNumber:70},void 0),` and `,(0,L.jsxDEV)(nl,{children:`timeline`},void 0,!1,{fileName:z,lineNumber:809,columnNumber:91},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:808,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/feedback-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:811,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:807,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`teacher-flow.tape`},void 0,!1,{fileName:z,lineNumber:815,columnNumber:15},void 0),` — generate a plan, inspect it, then verify the output.`]},void 0,!0,{fileName:z,lineNumber:814,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/teacher-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:817,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:813,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`session-flow.tape`},void 0,!1,{fileName:z,lineNumber:821,columnNumber:15},void 0),` — launch the shell, check policy, browse outputs, send feedback.`]},void 0,!0,{fileName:z,lineNumber:820,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/session-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:823,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:819,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:788,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`quality-checks`,className:`font-bold mt-4 mb-2`,children:`Quality Checks`},void 0,!1,{fileName:z,lineNumber:826,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`space-y-5 mb-4`,children:[(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`doctor.tape`},void 0,!1,{fileName:z,lineNumber:830,columnNumber:15},void 0),` — run `,(0,L.jsxDEV)(nl,{children:`mise run doctor`},void 0,!1,{fileName:z,lineNumber:830,columnNumber:46},void 0),` to check your setup.`]},void 0,!0,{fileName:z,lineNumber:829,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/doctor.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:832,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:828,columnNumber:11},void 0),(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`tests.tape`},void 0,!1,{fileName:z,lineNumber:836,columnNumber:15},void 0),` — run `,(0,L.jsxDEV)(nl,{children:`mise run test`},void 0,!1,{fileName:z,lineNumber:836,columnNumber:45},void 0),` to exercise the suite.`]},void 0,!0,{fileName:z,lineNumber:835,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/tests.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:838,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:834,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:827,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm mb-2`,children:`Render any of them yourself with:`},void 0,!1,{fileName:z,lineNumber:841,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`vhs docs/learning-flow.tape`},void 0,!1,{fileName:z,lineNumber:842,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`plumbing`,className:`font-bold mt-4 mb-2`,children:`Plumbing`},void 0,!1,{fileName:z,lineNumber:843,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Command Spec Registry`},void 0,!1,{fileName:z,lineNumber:845,columnNumber:15},void 0),` — `,(0,L.jsxDEV)(nl,{children:`core/commands.ts`},void 0,!1,{fileName:z,lineNumber:845,columnNumber:56},void 0),` is now the single source of truth for CLI/shell command surfaces.`]},void 0,!0,{fileName:z,lineNumber:845,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Terminal & Theme Modules`},void 0,!1,{fileName:z,lineNumber:846,columnNumber:15},void 0),` — palette, ASCII headers, and section helpers extracted to `,(0,L.jsxDEV)(nl,{children:`core/terminal.ts`},void 0,!1,{fileName:z,lineNumber:846,columnNumber:120},void 0),` and `,(0,L.jsxDEV)(nl,{children:`core/theme.ts`},void 0,!1,{fileName:z,lineNumber:846,columnNumber:154},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:846,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Browser Tools / Storage`},void 0,!1,{fileName:z,lineNumber:847,columnNumber:15},void 0),` — broader tool surfaces and persistence improvements in `,(0,L.jsxDEV)(nl,{children:`web/src/keating/`},void 0,!1,{fileName:z,lineNumber:847,columnNumber:112},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:847,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:844,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm italic text-muted-foreground mt-6`,children:`The new engines ship as libraries first; CLI subcommands and web UI surfaces will land behind them in the next point releases.`},void 0,!1,{fileName:z,lineNumber:849,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-10`,badge:{label:`RELEASE`,color:`release`},title:`From Stubs to Reality: AI-Powered Pedagogical Verification`,version:`0.3.0`,summary:`Moved from deterministic stubs to AI-powered verification: real-time animation generation, realistic teaching simulations, dynamic learner profiles, and a dedicated PAPER section.`,sections:[{id:`whats-new-stubs`,title:`What's New?`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4 leading-6`,children:`Today we've completed a major architectural shift: moving from deterministic mathematical stubs to true AI-powered verification across our core pedagogical engines.`},void 0,!1,{fileName:z,lineNumber:868,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`whats-new-stubs`,className:`font-bold mt-4 mb-2`,children:`What's New?`},void 0,!1,{fileName:z,lineNumber:872,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-4 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Real-Time Animation Generation:`},void 0,!1,{fileName:z,lineNumber:875,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`The animation engine no longer relies on hardcoded ManimJS templates. It now uses the pi agent to generate custom, context-aware visual teaching beats for any topic.`},void 0,!1,{fileName:z,lineNumber:876,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:874,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Realistic Teaching Simulations:`},void 0,!1,{fileName:z,lineNumber:882,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Our synthetic benchmarks now use LLM-backed simulations to evaluate teaching outcomes (mastery, retention, confusion) instead of algebraic approximations.`},void 0,!1,{fileName:z,lineNumber:883,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:881,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Dynamic Learner Profiles:`},void 0,!1,{fileName:z,lineNumber:889,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`Learner state updates are now driven by AI-inferred pedagogical shifts based on historical performance and feedback.`},void 0,!1,{fileName:z,lineNumber:890,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:888,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`div`,{className:`font-bold mb-1 underline decoration-[#d44a3d]`,children:`Research Paper Integration:`},void 0,!1,{fileName:z,lineNumber:896,columnNumber:13},void 0),(0,L.jsxDEV)(`p`,{children:`The formal account of the Keating metaharness is now served directly in the web application with a dedicated [PAPER] section and PDF download.`},void 0,!1,{fileName:z,lineNumber:897,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:895,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:873,columnNumber:9},void 0),(0,L.jsxDEV)(`div`,{className:`my-4`,children:(0,L.jsxDEV)(`figure`,{children:[(0,L.jsxDEV)(`figcaption`,{className:`text-xs text-muted-foreground mb-1`,children:[(0,L.jsxDEV)(nl,{children:`teacher-flow.tape`},void 0,!1,{fileName:z,lineNumber:906,columnNumber:15},void 0),` — generate a plan, then verify the output.`]},void 0,!0,{fileName:z,lineNumber:905,columnNumber:13},void 0),(0,L.jsxDEV)(`video`,{src:`/tapes/teacher-flow.mp4`,controls:!0,muted:!0,loop:!0,playsInline:!0,className:`w-full rounded border border-border`},void 0,!1,{fileName:z,lineNumber:908,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:904,columnNumber:11},void 0)},void 0,!1,{fileName:z,lineNumber:903,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm italic text-muted-foreground mt-6`,children:`These changes ensure that Keating's self-improvement loop is grounded in actual semantic understanding rather than pre-baked formulas.`},void 0,!1,{fileName:z,lineNumber:911,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-10`,badge:{label:`TECH`,color:`tech`},title:`Power Move: Migrating to Nitro + Vite`,summary:`Server stack migrated to Nitro for universal deployment (Node, Bun, edge workers) with Vite integration for a unified build pipeline.`,sections:[{id:`why-nitro`,title:`Why Nitro?`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`We've leveled up the Keating server stack by migrating to `,(0,L.jsxDEV)(nl,{children:`Nitro`},void 0,!1,{fileName:z,lineNumber:930,columnNumber:74},void 0),` and`,` `,(0,L.jsxDEV)(nl,{children:`Vite`},void 0,!1,{fileName:z,lineNumber:931,columnNumber:11},void 0),`. This provides a high-performance, completely runtime-agnostic engine that integrates directly with our build pipeline.`]},void 0,!0,{fileName:z,lineNumber:929,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`why-nitro`,className:`font-bold mt-4 mb-2`,children:`Why Nitro?`},void 0,!1,{fileName:z,lineNumber:934,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Universal Deployment:`},void 0,!1,{fileName:z,lineNumber:937,columnNumber:13},void 0),` Nitro allows Keating to run seamlessly on Node.js, Bun, or even edge workers with zero code changes.`]},void 0,!0,{fileName:z,lineNumber:936,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Vite Integration:`},void 0,!1,{fileName:z,lineNumber:941,columnNumber:13},void 0),` The server and client now share a unified build process, making the developer experience much smoother.`]},void 0,!0,{fileName:z,lineNumber:940,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Optimized Output:`},void 0,!1,{fileName:z,lineNumber:945,columnNumber:13},void 0),` The new build generates a standalone`,` `,(0,L.jsxDEV)(nl,{children:`.output`},void 0,!1,{fileName:z,lineNumber:946,columnNumber:13},void 0),` directory that bundle everything needed to run the Web UI, reducing overhead.`]},void 0,!0,{fileName:z,lineNumber:944,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:935,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:[`The CLI has been updated to launch this new engine automatically—just run`,` `,(0,L.jsxDEV)(nl,{children:`keating web`},void 0,!1,{fileName:z,lineNumber:952,columnNumber:11},void 0),` and experience the speed.`]},void 0,!0,{fileName:z,lineNumber:950,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-09`,badge:{label:`FIX`,color:`fix`},title:`Chat Model Selector Now Reflects the Actual Choice`,version:`0.1.3`,summary:`Fixed the model selector showing a stale gemini placeholder after picking a different model. State now syncs directly to the active agent.`,sections:[{id:`model-selector-changed`,title:`What Changed`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Fixed the web UI bug where the chat window kept showing`,` `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-pro-preview`},void 0,!1,{fileName:z,lineNumber:971,columnNumber:11},void 0),` even after picking a different model. The selected model now updates the agent state directly, so the chat button and the runtime stay in sync.`]},void 0,!0,{fileName:z,lineNumber:969,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`model-selector-changed`,className:`font-bold mt-4 mb-2`,children:`What Changed`},void 0,!1,{fileName:z,lineNumber:975,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`State Sync:`},void 0,!1,{fileName:z,lineNumber:978,columnNumber:13},void 0),` Selecting a model now writes the chosen model back into the active agent state instead of leaving the old Gemini placeholder in place.`]},void 0,!0,{fileName:z,lineNumber:977,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Immediate Rerender:`},void 0,!1,{fileName:z,lineNumber:982,columnNumber:13},void 0),` The model button in the chat window refreshes as soon as a new model is chosen.`]},void 0,!0,{fileName:z,lineNumber:981,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Browser Path:`},void 0,!1,{fileName:z,lineNumber:986,columnNumber:13},void 0),` The local browser model is now represented as a real model object, so the UI can display it explicitly instead of pretending everything is Gemini.`]},void 0,!0,{fileName:z,lineNumber:985,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:976,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`This fixes the mismatch between the picker and the chat header, which made it look like model changes were being ignored.`},void 0,!1,{fileName:z,lineNumber:991,columnNumber:9},void 0)]},void 0,!0)},{date:`2026-04-09`,badge:{label:`RELEASE`,color:`release`},title:`v0.1.3 — Synthetic Provider Support and Mobile UI Polish`,version:`0.1.3`,summary:`Synthetic added as a first-class custom provider. Mobile touch targets and spacing improved across homepage, selector, settings, and install tabs.`,sections:[{id:`key-changes-013`,title:`Key Changes`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Keating now exposes Synthetic as a first-class custom provider in the Pi settings flow. The provider is configured as an OpenAI-compatible endpoint at`,` `,(0,L.jsxDEV)(nl,{children:`https://api.synthetic.new/openai/v1`},void 0,!1,{fileName:z,lineNumber:1013,columnNumber:11},void 0),`, with matching setup guidance in the tutorial.`]},void 0,!0,{fileName:z,lineNumber:1010,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`key-changes-013`,className:`font-bold mt-4 mb-2`,children:`Key Changes`},void 0,!1,{fileName:z,lineNumber:1016,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Synthetic Provider:`},void 0,!1,{fileName:z,lineNumber:1019,columnNumber:13},void 0),` Added a dedicated custom-provider entry so users can select Synthetic directly from the provider picker.`]},void 0,!0,{fileName:z,lineNumber:1018,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Setup Guide:`},void 0,!1,{fileName:z,lineNumber:1023,columnNumber:13},void 0),` Updated the tutorial with the exact provider name, type, and base URL.`]},void 0,!0,{fileName:z,lineNumber:1022,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Mobile Polish:`},void 0,!1,{fileName:z,lineNumber:1027,columnNumber:13},void 0),` Increased touch targets and spacing across the homepage, model selector, settings dialog, and install tabs.`]},void 0,!0,{fileName:z,lineNumber:1026,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:1017,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`This release keeps the UI consistent with the current provider flow while making the browser experience less cramped on small screens.`},void 0,!1,{fileName:z,lineNumber:1031,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-04-05`,badge:{label:`FIX`,color:`fix`},title:`Chat Panel Fix & Model Loading Animation`,summary:`Fixed text disappearing after sending messages by separating the Lit header from the dynamic chat panel. Added a one-time model loading overlay.`,sections:[{id:`chat-panel-lifecycle`,title:`Bug Fix: Chat Panel Lifecycle`},{id:`model-loading-overlay`,title:`New: Model Loading Overlay`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Fixed the text disappearing issue in the chat panel that occurred after sending messages. Also added a one-time model loading animation when the browser model initializes.`},void 0,!1,{fileName:z,lineNumber:1050,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`chat-panel-lifecycle`,className:`font-bold mt-4 mb-2`,children:`Bug Fix: Chat Panel Lifecycle`},void 0,!1,{fileName:z,lineNumber:1055,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`The root cause was Lit re-rendering replacing the ChatPanel element on every state update. Separated the static header from the dynamic chat panel with distinct DOM containers. The header renders via Lit's templating, while the ChatPanel is appended once and never replaced.`},void 0,!1,{fileName:z,lineNumber:1056,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`model-loading-overlay`,className:`font-bold mt-4 mb-2`,children:`New: Model Loading Overlay`},void 0,!1,{fileName:z,lineNumber:1062,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`When using the browser model (Gemma 4 E4B), a loading overlay now appears showing real-time download progress. This only shows once — the first time the model is loaded. Subsequent visits skip the overlay since the model is cached locally.`},void 0,!1,{fileName:z,lineNumber:1063,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`// Model loading state communicated via custom events
|
|
283
283
|
localModel.subscribe((state) => {
|
|
284
284
|
if (state.loading) showLoadingOverlay(state.loadingProgress);
|
|
285
285
|
if (state.loaded) hideLoadingOverlay();
|
|
286
|
-
});`},void 0,!1,{fileName:z,lineNumber:
|
|
286
|
+
});`},void 0,!1,{fileName:z,lineNumber:1068,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The overlay includes a progress bar, percentage display, and explains that the ~2GB download only happens once.`},void 0,!1,{fileName:z,lineNumber:1073,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-04-05`,badge:{label:`FEATURE`,color:`feature`},title:`Installable PWA with Full Browser Model Integration`,version:`0.1.0`,summary:`Keating is now an installable PWA that works offline with the browser model. WebGPU-powered Gemma 4 E4B streams tokens in real-time.`,sections:[{id:`pwa-key-changes`,title:`Key Changes`},{id:`pwa-how`,title:`How It Works`}],body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Keating is now a fully installable Progressive Web App. Install it from your browser and run it offline with the browser model. The WebGPU-powered Gemma 4 E4B model streams tokens in real-time directly in your browser.`},void 0,!1,{fileName:z,lineNumber:1093,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`pwa-key-changes`,className:`font-bold mt-4 mb-2`,children:`Key Changes`},void 0,!1,{fileName:z,lineNumber:1098,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-2 ml-4 mb-4`,children:[(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Browser Model → Agent:`},void 0,!1,{fileName:z,lineNumber:1101,columnNumber:13},void 0),` The local Gemma model is now fully wired into the Agent infrastructure. Token streaming works via a custom stream function that dispatches between WebGPU and cloud providers.`]},void 0,!0,{fileName:z,lineNumber:1100,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Automatic Fallback:`},void 0,!1,{fileName:z,lineNumber:1106,columnNumber:13},void 0),` On load, the app checks for WebGPU support. If unavailable, it automatically falls back to `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-pro-preview`},void 0,!1,{fileName:z,lineNumber:1107,columnNumber:57},void 0),`.`]},void 0,!0,{fileName:z,lineNumber:1105,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`Model Selector:`},void 0,!1,{fileName:z,lineNumber:1110,columnNumber:13},void 0),` The model selector now shows WebGPU status in real-time. Browser option is disabled with a clear message when WebGPU isn't available.`]},void 0,!0,{fileName:z,lineNumber:1109,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:[(0,L.jsxDEV)(`strong`,{children:`PWA Manifest:`},void 0,!1,{fileName:z,lineNumber:1115,columnNumber:13},void 0),` Added service worker with intelligent caching for WASM files and model weights from HuggingFace CDN.`]},void 0,!0,{fileName:z,lineNumber:1114,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:1099,columnNumber:9},void 0),(0,L.jsxDEV)(`h3`,{id:`pwa-how`,className:`font-bold mt-4 mb-2`,children:`How It Works`},void 0,!1,{fileName:z,lineNumber:1119,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`// Hybrid stream function dispatches based on model selection
|
|
287
287
|
const hybridStreamFn = async (model, context, options) => {
|
|
288
288
|
if (selectedModelId === 'browser' && webGpuAvailable) {
|
|
289
289
|
return createBrowserStreamFn()(model, context, options);
|
|
290
290
|
}
|
|
291
291
|
return streamSimple(model, context, options);
|
|
292
|
-
};`},void 0,!1,{fileName:z,lineNumber:
|
|
292
|
+
};`},void 0,!1,{fileName:z,lineNumber:1120,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Install: Visit keating.help in Chrome/Edge and click "Install" in the address bar, or use the browser's menu → "Install app".`},void 0,!1,{fileName:z,lineNumber:1127,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-04-05`,badge:{label:`UPDATE`,color:`update`},title:`Default Cloud Model: Gemini 3.1 Pro Preview`,summary:`Updated the default cloud model to gemini-3.1-pro-preview for latest Gemini capabilities when WebGPU is unavailable.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:[`Updated the default cloud model from `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-pro-preview`},void 0,!1,{fileName:z,lineNumber:1143,columnNumber:48},void 0),` to`,` `,(0,L.jsxDEV)(nl,{children:`gemini-3.1-pro-preview`},void 0,!1,{fileName:z,lineNumber:1144,columnNumber:11},void 0),`. This gives access to the latest Gemini capabilities when WebGPU is unavailable.`]},void 0,!0,{fileName:z,lineNumber:1142,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`The model selector UI has been updated to reflect this change, showing "Gemini 3.1 Pro Preview" instead of the previous version.`},void 0,!1,{fileName:z,lineNumber:1147,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-04-05`,badge:{label:`TECH`,color:`tech`},title:`Robust WebGPU Detection`,summary:`Async WebGPU detection before rendering prevents showing the browser model option when it won't actually work.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`The model selector now performs async WebGPU detection before rendering. This prevents the UI from showing the browser option when it won't actually work.`},void 0,!1,{fileName:z,lineNumber:1162,columnNumber:9},void 0),(0,L.jsxDEV)(rl,{children:`async checkWebGpu(): Promise<boolean> {
|
|
293
293
|
if (!navigator.gpu) return false;
|
|
294
294
|
try {
|
|
295
295
|
const adapter = await navigator.gpu.requestAdapter();
|
|
@@ -297,7 +297,7 @@ const hybridStreamFn = async (model, context, options) => {
|
|
|
297
297
|
} catch {
|
|
298
298
|
return false;
|
|
299
299
|
}
|
|
300
|
-
}`},void 0,!1,{fileName:z,lineNumber:1118,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`If WebGPU is unavailable, the browser model option shows "WebGPU not available" and is grayed out.`},void 0,!1,{fileName:z,lineNumber:1127,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-01-15`,badge:{label:`FEATURE`,color:`feature`},title:`Local Model Support via WebGPU`,summary:`Run Gemma 4 E4B entirely in browser using WebGPU — no API keys, progressively loaded, locally cached.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Keating now runs entirely in your browser using WebGPU. Run Gemma 4 E4B locally without any API keys. The model loads progressively and caches in your browser for subsequent sessions.`},void 0,!1,{fileName:z,lineNumber:1142,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Requires Chrome 113+ or Edge 113+ with WebGPU support. Model size: ~5GB cached locally.`},void 0,!1,{fileName:z,lineNumber:1147,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-01-10`,badge:{label:`RELEASE`,color:`release`},title:`v0.1.0 — Initial Public Release`,version:`0.1.0`,summary:`First public release. Socratic AI tutor built on Pi agent framework with multi-provider support, local persistence, and dark mode.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`First public release of Keating hyperteacher. Built on the Pi agent framework with support for Google Gemini, Anthropic Claude, and OpenAI GPT models. Features Socratic teaching methodology with diagnostic-first approach.`},void 0,!1,{fileName:z,lineNumber:1163,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-1 ml-4`,children:[(0,L.jsxDEV)(`li`,{children:`- Chat-based teaching interface`},void 0,!1,{fileName:z,lineNumber:1169,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`- Multi-provider support`},void 0,!1,{fileName:z,lineNumber:1170,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`- Local session persistence`},void 0,!1,{fileName:z,lineNumber:1171,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`- Dark mode support`},void 0,!1,{fileName:z,lineNumber:1172,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:1168,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-01-05`,badge:{label:`DEV LOG`,color:`devlog`},title:`The Hyperteacher Philosophy`,summary:`Why Keating is named after John Keating from Dead Poets Society. Education should ignite minds, not fill them.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Keating is named after John Keating from Dead Poets Society, who taught that the purpose of education is not to fill minds but to ignite them. Our AI doesn't give answers — it forces you to reconstruct understanding from memory.`},void 0,!1,{fileName:z,lineNumber:1185,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Core principle: struggle is the feature, not the bug. Neural pathways form through effort.`},void 0,!1,{fileName:z,lineNumber:1190,columnNumber:9},void 0)]},void 0,!0)}];function ol(e){let t=new Map;for(let n of e){let e=n.version??`other`,r=e===`other`?`other`:il(e);t.has(r)||t.set(r,[]),t.get(r).push(n)}let n=[];for(let[e,r]of t)n.push({version:e===`other`?`Other`:`v${e}`,posts:r});return n.sort((e,t)=>e.version===`Other`?1:t.version===`Other`?-1:t.version.localeCompare(e.version,void 0,{numeric:!0}))}function sl({post:e,expanded:t,onToggle:n}){return(0,L.jsxDEV)(`article`,{id:e.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/-+$/,``),className:`paper-fold distressed-border p-6 post-card scroll-mt-28`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d]`,children:e.date},void 0,!1,{fileName:z,lineNumber:1231,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`text-xs px-2 py-1 rounded ${tl[e.badge.color]}`,children:e.badge.label},void 0,!1,{fileName:z,lineNumber:1232,columnNumber:9},this),e.version&&(0,L.jsxDEV)(`span`,{className:`text-xs font-terminal text-muted-foreground`,children:[`v`,e.version]},void 0,!0,{fileName:z,lineNumber:1236,columnNumber:11},this)]},void 0,!0,{fileName:z,lineNumber:1230,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-2`,children:e.title},void 0,!1,{fileName:z,lineNumber:1240,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`text-sm leading-6 ${t?``:`line-clamp-2`}`,children:e.summary},void 0,!1,{fileName:z,lineNumber:1242,columnNumber:7},this),t&&e.sections&&e.sections.length>0&&(0,L.jsxDEV)(`div`,{className:`mt-3 mb-4 rounded-md bg-muted/30 border border-border p-3`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:[(0,L.jsxDEV)(Ka,{size:12},void 0,!1,{fileName:z,lineNumber:1248,columnNumber:13},this),`Contents`]},void 0,!0,{fileName:z,lineNumber:1247,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:e.sections.map(e=>(0,L.jsxDEV)(`a`,{href:`#${e.id}`,className:`text-xs px-2 py-1 rounded border border-border bg-background hover:border-primary hover:text-primary transition-colors`,children:e.title},e.id,!1,{fileName:z,lineNumber:1253,columnNumber:15},this))},void 0,!1,{fileName:z,lineNumber:1251,columnNumber:11},this)]},void 0,!0,{fileName:z,lineNumber:1246,columnNumber:9},this),t&&(0,L.jsxDEV)(`div`,{className:`mt-4`,children:e.body},void 0,!1,{fileName:z,lineNumber:1265,columnNumber:20},this),(0,L.jsxDEV)(`button`,{onClick:n,className:`mt-4 inline-flex items-center gap-1.5 text-xs font-terminal text-muted-foreground hover:text-foreground transition-colors`,children:t?(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(Aa,{size:14},void 0,!1,{fileName:z,lineNumber:1273,columnNumber:13},this),` Collapse`]},void 0,!0):(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(Da,{size:14},void 0,!1,{fileName:z,lineNumber:1277,columnNumber:13},this),` Read more`]},void 0,!0)},void 0,!1,{fileName:z,lineNumber:1267,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:1229,columnNumber:5},this)}function cl({groups:e,expandedMap:t,onJump:n}){return(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-5 sticky top-20`,children:[(0,L.jsxDEV)(`h3`,{className:`font-terminal text-sm mb-3 text-accent`,children:`$ cat CHANGELOG`},void 0,!1,{fileName:z,lineNumber:1288,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`space-y-3`,children:e.map(e=>(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`font-terminal text-xs text-muted-foreground mb-1 uppercase tracking-wider`,children:e.version},void 0,!1,{fileName:z,lineNumber:1292,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`space-y-1`,children:e.posts.map(e=>(e.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/-+$/,``),(0,L.jsxDEV)(`button`,{onClick:()=>n(e),className:`w-full text-left text-xs leading-4 px-1.5 py-1 rounded transition-colors ${t.has(e.title)?`bg-primary/10 text-primary border border-primary/20`:`text-foreground/80 hover:bg-muted/50`}`,children:e.title.replace(/^v\d+\.\d+\.\d+\s*[-—]\s*/,``)},e.title,!1,{fileName:z,lineNumber:1300,columnNumber:19},this)))},void 0,!1,{fileName:z,lineNumber:1295,columnNumber:13},this)]},e.version,!0,{fileName:z,lineNumber:1291,columnNumber:11},this))},void 0,!1,{fileName:z,lineNumber:1289,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:1287,columnNumber:5},this)}function ll(){qc({title:`Keating Blog — Changelog & Release Notes`,description:`Latest updates, release notes, and development news for Keating — the Pi-powered hyperteacher for Socratic AI tutoring.`,canonical:`https://keating.help/blog`});let[e,t]=(0,F.useState)(new Set),n=e=>{t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},r=e=>{let n=e.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/-+$/,``),r=document.getElementById(n);r&&(r.scrollIntoView({behavior:`smooth`,block:`start`}),t(t=>new Set(t).add(e.title)))},i=(0,F.useMemo)(()=>ol(al),[]);return(0,L.jsxDEV)(`div`,{className:`retro-layout retro-page`,children:[(0,L.jsxDEV)(Po,{},void 0,!1,{fileName:z,lineNumber:1353,columnNumber:7},this),(0,L.jsxDEV)(`main`,{className:`pt-6 pb-16 px-6`,children:(0,L.jsxDEV)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-8 mb-8`,children:[(0,L.jsxDEV)(`h1`,{className:`text-3xl md:text-4xl font-bold mb-2`,children:`Keating Updates`},void 0,!1,{fileName:z,lineNumber:1359,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-muted-foreground font-terminal`,children:`Development log and release notes`},void 0,!1,{fileName:z,lineNumber:1360,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:1358,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`flex flex-col lg:flex-row gap-8`,children:[(0,L.jsxDEV)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:al.map(t=>(0,L.jsxDEV)(sl,{post:t,expanded:e.has(t.title),onToggle:()=>n(t.title)},t.title,!1,{fileName:z,lineNumber:1367,columnNumber:17},this))},void 0,!1,{fileName:z,lineNumber:1365,columnNumber:13},this),(0,L.jsxDEV)(`aside`,{className:`lg:w-64 shrink-0`,children:(0,L.jsxDEV)(cl,{groups:i,expandedMap:e,onJump:r},void 0,!1,{fileName:z,lineNumber:1378,columnNumber:15},this)},void 0,!1,{fileName:z,lineNumber:1377,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:1363,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`mt-12 p-6 bg-foreground text-background`,children:[(0,L.jsxDEV)(`h3`,{className:`font-terminal text-lg mb-2`,children:`STAY_UPDATED`},void 0,!1,{fileName:z,lineNumber:1387,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-background/70`,children:[`Follow development on`,` `,(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,className:`text-[#d44a3d] underline`,children:`GitHub`},void 0,!1,{fileName:z,lineNumber:1390,columnNumber:15},this),` `,`or watch the repository for release notifications.`]},void 0,!0,{fileName:z,lineNumber:1388,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:1386,columnNumber:11},this)]},void 0,!0,{fileName:z,lineNumber:1356,columnNumber:9},this)},void 0,!1,{fileName:z,lineNumber:1355,columnNumber:7},this),(0,L.jsxDEV)(Lo,{},void 0,!1,{fileName:z,lineNumber:1402,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:1352,columnNumber:5},this)}function ul(e){return vl(e)&&!dl(e)&&!Sl(e)&&Symbol.asyncIterator in e}function dl(e){return Array.isArray(e)}function fl(e){return typeof e==`bigint`}function pl(e){return typeof e==`boolean`}function ml(e){return e instanceof globalThis.Date}function aee(e){return typeof e==`function`}function hl(e){return vl(e)&&!dl(e)&&!Sl(e)&&Symbol.iterator in e}function gl(e){return e===null}function _l(e){return typeof e==`number`}function vl(e){return typeof e==`object`&&!!e}function yl(e){return e instanceof globalThis.RegExp}function bl(e){return typeof e==`string`}function xl(e){return typeof e==`symbol`}function Sl(e){return e instanceof globalThis.Uint8Array}function Cl(e){return e===void 0}function wl(e){return e.map(e=>kl(e))}function Tl(e){return new Date(e.getTime())}function El(e){return new Uint8Array(e)}function Dl(e){return new RegExp(e.source,e.flags)}function Ol(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=kl(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=kl(e[n]);return t}function kl(e){return dl(e)?wl(e):ml(e)?Tl(e):Sl(e)?El(e):yl(e)?Dl(e):vl(e)?Ol(e):e}function Al(e){return kl(e)}function jl(e,t){return Al(t===void 0?e:{...t,...e})}function oee(e){return typeof e==`object`&&!!e}function Ml(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function Nl(e){return e===void 0}function Pl(e){return typeof e==`number`}var Fl;(function(e){e.InstanceMode=`default`,e.ExactOptionalPropertyTypes=!1,e.AllowArrayObject=!1,e.AllowNaN=!1,e.AllowNullVoid=!1;function t(t,n){return e.ExactOptionalPropertyTypes?n in t:t[n]!==void 0}e.IsExactOptionalProperty=t;function n(t){let n=oee(t);return e.AllowArrayObject?n:n&&!Ml(t)}e.IsObjectLike=n;function r(e){return n(e)&&!(e instanceof Date)&&!(e instanceof Uint8Array)}e.IsRecordLike=r;function i(t){return e.AllowNaN?Pl(t):Number.isFinite(t)}e.IsNumberLike=i;function a(t){let n=Nl(t);return e.AllowNullVoid?n||t===null:n}e.IsVoidLike=a})(Fl||={});function Il(e){return globalThis.Object.freeze(e).map(e=>zl(e))}function see(e){return e}function cee(e){return e}function Ll(e){return e}function Rl(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=zl(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=zl(e[n]);return globalThis.Object.freeze(t)}function zl(e){return dl(e)?Il(e):ml(e)?see(e):Sl(e)?cee(e):yl(e)?Ll(e):vl(e)?Rl(e):e}function Bl(e,t){let n=t===void 0?e:{...t,...e};switch(Fl.InstanceMode){case`freeze`:return zl(n);case`clone`:return Al(n);default:return n}}var Vl=class extends Error{constructor(e){super(e)}},Hl=Symbol.for(`TypeBox.Transform`),Ul=Symbol.for(`TypeBox.Readonly`),Wl=Symbol.for(`TypeBox.Optional`),Gl=Symbol.for(`TypeBox.Hint`),Kl=Symbol.for(`TypeBox.Kind`);function ql(e){return vl(e)&&e[Ul]===`Readonly`}function Jl(e){return vl(e)&&e[Wl]===`Optional`}function Yl(e){return cu(e,`Any`)}function Xl(e){return cu(e,`Argument`)}function Zl(e){return cu(e,`Array`)}function Ql(e){return cu(e,`AsyncIterator`)}function $l(e){return cu(e,`BigInt`)}function eu(e){return cu(e,`Boolean`)}function tu(e){return cu(e,`Computed`)}function nu(e){return cu(e,`Constructor`)}function ru(e){return cu(e,`Date`)}function iu(e){return cu(e,`Function`)}function au(e){return cu(e,`Integer`)}function ou(e){return cu(e,`Intersect`)}function su(e){return cu(e,`Iterator`)}function cu(e,t){return vl(e)&&Kl in e&&e[Kl]===t}function lu(e){return pl(e)||_l(e)||bl(e)}function uu(e){return cu(e,`Literal`)}function du(e){return cu(e,`MappedKey`)}function fu(e){return cu(e,`MappedResult`)}function pu(e){return cu(e,`Never`)}function mu(e){return cu(e,`Not`)}function hu(e){return cu(e,`Null`)}function gu(e){return cu(e,`Number`)}function _u(e){return cu(e,`Object`)}function vu(e){return cu(e,`Promise`)}function yu(e){return cu(e,`Record`)}function bu(e){return cu(e,`Ref`)}function xu(e){return cu(e,`RegExp`)}function Su(e){return cu(e,`String`)}function Cu(e){return cu(e,`Symbol`)}function wu(e){return cu(e,`TemplateLiteral`)}function Tu(e){return cu(e,`This`)}function Eu(e){return vl(e)&&Hl in e}function Du(e){return cu(e,`Tuple`)}function Ou(e){return cu(e,`Undefined`)}function ku(e){return cu(e,`Union`)}function Au(e){return cu(e,`Uint8Array`)}function ju(e){return cu(e,`Unknown`)}function Mu(e){return cu(e,`Unsafe`)}function Nu(e){return cu(e,`Void`)}function Pu(e){return vl(e)&&Kl in e&&bl(e[Kl])}function Fu(e){return Yl(e)||Xl(e)||Zl(e)||eu(e)||$l(e)||Ql(e)||tu(e)||nu(e)||ru(e)||iu(e)||au(e)||ou(e)||su(e)||uu(e)||du(e)||fu(e)||pu(e)||mu(e)||hu(e)||gu(e)||_u(e)||vu(e)||yu(e)||bu(e)||xu(e)||Su(e)||Cu(e)||wu(e)||Tu(e)||Du(e)||Ou(e)||ku(e)||Au(e)||ju(e)||Mu(e)||Nu(e)||Pu(e)}var Iu=`Argument.Any.Array.AsyncIterator.BigInt.Boolean.Computed.Constructor.Date.Enum.Function.Integer.Intersect.Iterator.Literal.MappedKey.MappedResult.Not.Null.Number.Object.Promise.Record.Ref.RegExp.String.Symbol.TemplateLiteral.This.Tuple.Undefined.Union.Uint8Array.Unknown.Void`.split(`.`);function Lu(e){try{return new RegExp(e),!0}catch{return!1}}function Ru(e){if(!bl(e))return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n>=7&&n<=13||n===27||n===127)return!1}return!0}function zu(e){return Hu(e)||Fd(e)}function Bu(e){return Cl(e)||fl(e)}function Vu(e){return Cl(e)||_l(e)}function Hu(e){return Cl(e)||pl(e)}function Uu(e){return Cl(e)||bl(e)}function Wu(e){return Cl(e)||bl(e)&&Ru(e)&&Lu(e)}function lee(e){return Cl(e)||bl(e)&&Ru(e)}function Gu(e){return Cl(e)||Fd(e)}function Ku(e){return vl(e)&&e[Wl]===`Optional`}function qu(e){return ad(e,`Any`)&&Uu(e.$id)}function uee(e){return ad(e,`Argument`)&&_l(e.index)}function Ju(e){return ad(e,`Array`)&&e.type===`array`&&Uu(e.$id)&&Fd(e.items)&&Vu(e.minItems)&&Vu(e.maxItems)&&Hu(e.uniqueItems)&&Gu(e.contains)&&Vu(e.minContains)&&Vu(e.maxContains)}function Yu(e){return ad(e,`AsyncIterator`)&&e.type===`AsyncIterator`&&Uu(e.$id)&&Fd(e.items)}function Xu(e){return ad(e,`BigInt`)&&e.type===`bigint`&&Uu(e.$id)&&Bu(e.exclusiveMaximum)&&Bu(e.exclusiveMinimum)&&Bu(e.maximum)&&Bu(e.minimum)&&Bu(e.multipleOf)}function Zu(e){return ad(e,`Boolean`)&&e.type===`boolean`&&Uu(e.$id)}function dee(e){return ad(e,`Computed`)&&bl(e.target)&&dl(e.parameters)&&e.parameters.every(e=>Fd(e))}function Qu(e){return ad(e,`Constructor`)&&e.type===`Constructor`&&Uu(e.$id)&&dl(e.parameters)&&e.parameters.every(e=>Fd(e))&&Fd(e.returns)}function $u(e){return ad(e,`Date`)&&e.type===`Date`&&Uu(e.$id)&&Vu(e.exclusiveMaximumTimestamp)&&Vu(e.exclusiveMinimumTimestamp)&&Vu(e.maximumTimestamp)&&Vu(e.minimumTimestamp)&&Vu(e.multipleOfTimestamp)}function ed(e){return ad(e,`Function`)&&e.type===`Function`&&Uu(e.$id)&&dl(e.parameters)&&e.parameters.every(e=>Fd(e))&&Fd(e.returns)}function td(e){return ad(e,`Integer`)&&e.type===`integer`&&Uu(e.$id)&&Vu(e.exclusiveMaximum)&&Vu(e.exclusiveMinimum)&&Vu(e.maximum)&&Vu(e.minimum)&&Vu(e.multipleOf)}function nd(e){return vl(e)&&Object.entries(e).every(([e,t])=>Ru(e)&&Fd(t))}function rd(e){return ad(e,`Intersect`)&&!(bl(e.type)&&e.type!==`object`)&&dl(e.allOf)&&e.allOf.every(e=>Fd(e)&&!Ed(e))&&Uu(e.type)&&(Hu(e.unevaluatedProperties)||Gu(e.unevaluatedProperties))&&Uu(e.$id)}function id(e){return ad(e,`Iterator`)&&e.type===`Iterator`&&Uu(e.$id)&&Fd(e.items)}function ad(e,t){return vl(e)&&Kl in e&&e[Kl]===t}function od(e){return ld(e)&&bl(e.const)}function sd(e){return ld(e)&&_l(e.const)}function cd(e){return ld(e)&&pl(e.const)}function ld(e){return ad(e,`Literal`)&&Uu(e.$id)&&ud(e.const)}function ud(e){return pl(e)||_l(e)||bl(e)}function dd(e){return ad(e,`MappedKey`)&&dl(e.keys)&&e.keys.every(e=>_l(e)||bl(e))}function fd(e){return ad(e,`MappedResult`)&&nd(e.properties)}function pd(e){return ad(e,`Never`)&&vl(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function md(e){return ad(e,`Not`)&&Fd(e.not)}function hd(e){return ad(e,`Null`)&&e.type===`null`&&Uu(e.$id)}function gd(e){return ad(e,`Number`)&&e.type===`number`&&Uu(e.$id)&&Vu(e.exclusiveMaximum)&&Vu(e.exclusiveMinimum)&&Vu(e.maximum)&&Vu(e.minimum)&&Vu(e.multipleOf)}function _d(e){return ad(e,`Object`)&&e.type===`object`&&Uu(e.$id)&&nd(e.properties)&&zu(e.additionalProperties)&&Vu(e.minProperties)&&Vu(e.maxProperties)}function vd(e){return ad(e,`Promise`)&&e.type===`Promise`&&Uu(e.$id)&&Fd(e.item)}function yd(e){return ad(e,`Record`)&&e.type===`object`&&Uu(e.$id)&&zu(e.additionalProperties)&&vl(e.patternProperties)&&(e=>{let t=Object.getOwnPropertyNames(e.patternProperties);return t.length===1&&Lu(t[0])&&vl(e.patternProperties)&&Fd(e.patternProperties[t[0]])})(e)}function bd(e){return ad(e,`Ref`)&&Uu(e.$id)&&bl(e.$ref)}function xd(e){return ad(e,`RegExp`)&&Uu(e.$id)&&bl(e.source)&&bl(e.flags)&&Vu(e.maxLength)&&Vu(e.minLength)}function Sd(e){return ad(e,`String`)&&e.type===`string`&&Uu(e.$id)&&Vu(e.minLength)&&Vu(e.maxLength)&&Wu(e.pattern)&&lee(e.format)}function Cd(e){return ad(e,`Symbol`)&&e.type===`symbol`&&Uu(e.$id)}function wd(e){return ad(e,`TemplateLiteral`)&&e.type===`string`&&bl(e.pattern)&&e.pattern[0]===`^`&&e.pattern[e.pattern.length-1]===`$`}function Td(e){return ad(e,`This`)&&Uu(e.$id)&&bl(e.$ref)}function Ed(e){return vl(e)&&Hl in e}function Dd(e){return ad(e,`Tuple`)&&e.type===`array`&&Uu(e.$id)&&_l(e.minItems)&&_l(e.maxItems)&&e.minItems===e.maxItems&&(Cl(e.items)&&Cl(e.additionalItems)&&e.minItems===0||dl(e.items)&&e.items.every(e=>Fd(e)))}function Od(e){return ad(e,`Undefined`)&&e.type===`undefined`&&Uu(e.$id)}function kd(e){return ad(e,`Union`)&&Uu(e.$id)&&vl(e)&&dl(e.anyOf)&&e.anyOf.every(e=>Fd(e))}function Ad(e){return ad(e,`Uint8Array`)&&e.type===`Uint8Array`&&Uu(e.$id)&&Vu(e.minByteLength)&&Vu(e.maxByteLength)}function jd(e){return ad(e,`Unknown`)&&Uu(e.$id)}function Md(e){return ad(e,`Unsafe`)}function Nd(e){return ad(e,`Void`)&&e.type===`void`&&Uu(e.$id)}function Pd(e){return vl(e)&&Kl in e&&bl(e[Kl])&&!Iu.includes(e[Kl])}function Fd(e){return vl(e)&&(qu(e)||uee(e)||Ju(e)||Zu(e)||Xu(e)||Yu(e)||dee(e)||Qu(e)||$u(e)||ed(e)||td(e)||rd(e)||id(e)||ld(e)||dd(e)||fd(e)||pd(e)||md(e)||hd(e)||gd(e)||_d(e)||vd(e)||yd(e)||bd(e)||xd(e)||Sd(e)||Cd(e)||wd(e)||Td(e)||Dd(e)||Od(e)||kd(e)||Ad(e)||jd(e)||Md(e)||Nd(e)||Pd(e))}var Id=`(true|false)`,Ld=`(0|[1-9][0-9]*)`,Rd=`(.*)`,zd=`(?!.*)`;`${Id}`;var Bd=`^${Ld}$`,Vd=`^${Rd}$`,Hd=`^${zd}$`;function Ud(e,t){return e.includes(t)}function Wd(e){return[...new Set(e)]}function Gd(e,t){return e.filter(e=>t.includes(e))}function Kd(e,t){return e.reduce((e,t)=>Gd(e,t),t)}function qd(e){return e.length===1?e[0]:e.length>1?Kd(e.slice(1),e[0]):[]}function Jd(e){let t=[];for(let n of e)t.push(...n);return t}function Yd(e){return Bl({[Kl]:`Any`},e)}function Xd(e,t){return Bl({[Kl]:`Array`,type:`array`,items:e},t)}function Zd(e){return Bl({[Kl]:`Argument`,index:e})}function Qd(e,t){return Bl({[Kl]:`AsyncIterator`,type:`AsyncIterator`,items:e},t)}function $d(e,t,n){return Bl({[Kl]:`Computed`,target:e,parameters:t},n)}function ef(e,t){let{[t]:n,...r}=e;return r}function tf(e,t){return t.reduce((e,t)=>ef(e,t),e)}function nf(e){return Bl({[Kl]:`Never`,not:{}},e)}function rf(e){return Bl({[Kl]:`MappedResult`,properties:e})}function af(e,t,n){return Bl({[Kl]:`Constructor`,type:`Constructor`,parameters:e,returns:t},n)}function of(e,t,n){return Bl({[Kl]:`Function`,type:`Function`,parameters:e,returns:t},n)}function sf(e,t){return Bl({[Kl]:`Union`,anyOf:e},t)}function cf(e){return e.some(e=>Jl(e))}function lf(e){return e.map(e=>Jl(e)?uf(e):e)}function uf(e){return tf(e,[Wl])}function df(e,t){return cf(e)?Yp(sf(lf(e),t)):sf(lf(e),t)}function ff(e,t){return e.length===1?Bl(e[0],t):e.length===0?nf(t):df(e,t)}function pf(e,t){return e.length===0?nf(t):e.length===1?Bl(e[0],t):sf(e,t)}var mf=class extends Vl{};function hf(e){return e.replace(/\\\$/g,`$`).replace(/\\\*/g,`*`).replace(/\\\^/g,`^`).replace(/\\\|/g,`|`).replace(/\\\(/g,`(`).replace(/\\\)/g,`)`)}function gf(e,t,n){return e[t]===n&&e.charCodeAt(t-1)!==92}function _f(e,t){return gf(e,t,`(`)}function vf(e,t){return gf(e,t,`)`)}function yf(e,t){return gf(e,t,`|`)}function bf(e){if(!(_f(e,0)&&vf(e,e.length-1)))return!1;let t=0;for(let n=0;n<e.length;n++)if(_f(e,n)&&(t+=1),vf(e,n)&&--t,t===0&&n!==e.length-1)return!1;return!0}function xf(e){return e.slice(1,e.length-1)}function Sf(e){let t=0;for(let n=0;n<e.length;n++)if(_f(e,n)&&(t+=1),vf(e,n)&&--t,yf(e,n)&&t===0)return!0;return!1}function Cf(e){for(let t=0;t<e.length;t++)if(_f(e,t))return!0;return!1}function wf(e){let[t,n]=[0,0],r=[];for(let i=0;i<e.length;i++)if(_f(e,i)&&(t+=1),vf(e,i)&&--t,yf(e,i)&&t===0){let t=e.slice(n,i);t.length>0&&r.push(Ef(t)),n=i+1}let i=e.slice(n);return i.length>0&&r.push(Ef(i)),r.length===0?{type:`const`,const:``}:r.length===1?r[0]:{type:`or`,expr:r}}function Tf(e){function t(e,t){if(!_f(e,t))throw new mf(`TemplateLiteralParser: Index must point to open parens`);let n=0;for(let r=t;r<e.length;r++)if(_f(e,r)&&(n+=1),vf(e,r)&&--n,n===0)return[t,r];throw new mf(`TemplateLiteralParser: Unclosed group parens in expression`)}function n(e,t){for(let n=t;n<e.length;n++)if(_f(e,n))return[t,n];return[t,e.length]}let r=[];for(let i=0;i<e.length;i++)if(_f(e,i)){let[n,a]=t(e,i),o=e.slice(n,a+1);r.push(Ef(o)),i=a}else{let[t,a]=n(e,i),o=e.slice(t,a);o.length>0&&r.push(Ef(o)),i=a-1}return r.length===0?{type:`const`,const:``}:r.length===1?r[0]:{type:`and`,expr:r}}function Ef(e){return bf(e)?Ef(xf(e)):Sf(e)?wf(e):Cf(e)?Tf(e):{type:`const`,const:hf(e)}}function Df(e){return Ef(e.slice(1,e.length-1))}var Of=class extends Vl{};function kf(e){return e.type===`or`&&e.expr.length===2&&e.expr[0].type===`const`&&e.expr[0].const===`0`&&e.expr[1].type===`const`&&e.expr[1].const===`[1-9][0-9]*`}function Af(e){return e.type===`or`&&e.expr.length===2&&e.expr[0].type===`const`&&e.expr[0].const===`true`&&e.expr[1].type===`const`&&e.expr[1].const===`false`}function jf(e){return e.type===`const`&&e.const===`.*`}function Mf(e){return kf(e)||jf(e)?!1:Af(e)?!0:e.type===`and`||e.type===`or`?e.expr.every(e=>Mf(e)):e.type===`const`?!0:(()=>{throw new Of(`Unknown expression type`)})()}function Nf(e){return Mf(Df(e.pattern))}var Pf=class extends Vl{};function*Ff(e){if(e.length===1)return yield*e[0];for(let t of e[0])for(let n of Ff(e.slice(1)))yield`${t}${n}`}function*If(e){return yield*Ff(e.expr.map(e=>[...zf(e)]))}function*Lf(e){for(let t of e.expr)yield*zf(t)}function*Rf(e){return yield e.const}function*zf(e){return e.type===`and`?yield*If(e):e.type===`or`?yield*Lf(e):e.type===`const`?yield*Rf(e):(()=>{throw new Pf(`Unknown expression`)})()}function Bf(e){let t=Df(e.pattern);return Mf(t)?[...zf(t)]:[]}function Vf(e,t){return Bl({[Kl]:`Literal`,const:e,type:typeof e},t)}function Hf(e){return Bl({[Kl]:`Boolean`,type:`boolean`},e)}function Uf(e){return Bl({[Kl]:`BigInt`,type:`bigint`},e)}function Wf(e){return Bl({[Kl]:`Number`,type:`number`},e)}function Gf(e){return Bl({[Kl]:`String`,type:`string`},e)}function*Kf(e){let t=e.trim().replace(/"|'/g,``);return t===`boolean`?yield Hf():t===`number`?yield Wf():t===`bigint`?yield Uf():t===`string`?yield Gf():yield(()=>{let e=t.split(`|`).map(e=>Vf(e.trim()));return e.length===0?nf():e.length===1?e[0]:ff(e)})()}function*qf(e){if(e[1]!==`{`)return yield*[Vf(`$`),...Jf(e.slice(1))];for(let t=2;t<e.length;t++)if(e[t]===`}`){let n=Kf(e.slice(2,t)),r=Jf(e.slice(t+1));return yield*[...n,...r]}yield Vf(e)}function*Jf(e){for(let t=0;t<e.length;t++)if(e[t]===`$`)return yield*[Vf(e.slice(0,t)),...qf(e.slice(t))];yield Vf(e)}function Yf(e){return[...Jf(e)]}var Xf=class extends Vl{};function Zf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Qf(e,t){return wu(e)?e.pattern.slice(1,e.pattern.length-1):ku(e)?`(${e.anyOf.map(e=>Qf(e,t)).join(`|`)})`:gu(e)||au(e)||$l(e)?`${t}${Ld}`:Su(e)?`${t}${Rd}`:uu(e)?`${t}${Zf(e.const.toString())}`:eu(e)?`${t}${Id}`:(()=>{throw new Xf(`Unexpected Kind '${e[Kl]}'`)})()}function $f(e){return`^${e.map(e=>Qf(e,``)).join(``)}\$`}function ep(e){return ff(Bf(e).map(e=>Vf(e)))}function tp(e,t){let n=bl(e)?$f(Yf(e)):$f(e);return Bl({[Kl]:`TemplateLiteral`,type:`string`,pattern:n},t)}function np(e){return Bf(e).map(e=>e.toString())}function rp(e){let t=[];for(let n of e)t.push(...ap(n));return t}function ip(e){return[e.toString()]}function ap(e){return[...new Set(wu(e)?np(e):ku(e)?rp(e.anyOf):uu(e)?ip(e.const):gu(e)||au(e)?[`[number]`]:[])]}function op(e,t,n){let r={};for(let i of Object.getOwnPropertyNames(t))r[i]=bp(e,ap(t[i]),n);return r}function sp(e,t,n){return op(e,t.properties,n)}function cp(e,t,n){return rf(sp(e,t,n))}function lp(e,t){return e.map(e=>_p(e,t))}function up(e){return e.filter(e=>!pu(e))}function dp(e,t){return im(up(lp(e,t)))}function fp(e){return e.some(e=>pu(e))?[]:e}function pp(e,t){return ff(fp(lp(e,t)))}function mp(e,t){return t in e?e[t]:t===`[number]`?ff(e):nf()}function hp(e,t){return t===`[number]`?e:nf()}function gp(e,t){return t in e?e[t]:nf()}function _p(e,t){return ou(e)?dp(e.allOf,t):ku(e)?pp(e.anyOf,t):Du(e)?mp(e.items??[],t):Zl(e)?hp(e.items,t):_u(e)?gp(e.properties,t):nf()}function vp(e,t){return t.map(t=>_p(e,t))}function yp(e,t){return ff(vp(e,t))}function bp(e,t,n){if(bu(e)||bu(t)){if(!Fu(e)||!Fu(t))throw new Vl(`Index types using Ref parameters require both Type and Key to be of TSchema`);return $d(`Index`,[e,t])}return fu(t)?cp(e,t,n):du(t)?wp(e,t,n):Bl(Fu(t)?yp(e,ap(t)):yp(e,t),n)}function xp(e,t,n){return{[t]:bp(e,[t],Al(n))}}function Sp(e,t,n){return t.reduce((t,r)=>({...t,...xp(e,r,n)}),{})}function Cp(e,t,n){return Sp(e,t.keys,n)}function wp(e,t,n){return rf(Cp(e,t,n))}function Tp(e,t){return Bl({[Kl]:`Iterator`,type:`Iterator`,items:e},t)}function fee(e){return globalThis.Object.keys(e).filter(t=>!Jl(e[t]))}function pee(e,t){let n=fee(e);return Bl(n.length>0?{[Kl]:`Object`,type:`object`,required:n,properties:e}:{[Kl]:`Object`,type:`object`,properties:e},t)}var Ep=pee;function Dp(e,t){return Bl({[Kl]:`Promise`,type:`Promise`,item:e},t)}function Op(e){return Bl(tf(e,[Ul]))}function kp(e){return Bl({...e,[Ul]:`Readonly`})}function Ap(e,t){return t===!1?Op(e):kp(e)}function jp(e,t){let n=t??!0;return fu(e)?Pp(e,n):Ap(e,n)}function Mp(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=jp(e[r],t);return n}function Np(e,t){return Mp(e.properties,t)}function Pp(e,t){return rf(Np(e,t))}function Fp(e,t){return Bl(e.length>0?{[Kl]:`Tuple`,type:`array`,items:e,additionalItems:!1,minItems:e.length,maxItems:e.length}:{[Kl]:`Tuple`,type:`array`,minItems:e.length,maxItems:e.length},t)}function Ip(e,t){return e in t?Up(e,t[e]):rf(t)}function Lp(e){return{[e]:Vf(e)}}function Rp(e){let t={};for(let n of e)t[n]=Vf(n);return t}function zp(e,t){return Ud(t,e)?Lp(e):Rp(t)}function Bp(e,t){return Ip(e,zp(e,t))}function Vp(e,t){return t.map(t=>Up(e,t))}function Hp(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(t))n[r]=Up(e,t[r]);return n}function Up(e,t){let n={...t};return Jl(t)?Yp(Up(e,tf(t,[Wl]))):ql(t)?jp(Up(e,tf(t,[Ul]))):fu(t)?Ip(e,t.properties):du(t)?Bp(e,t.keys):nu(t)?af(Vp(e,t.parameters),Up(e,t.returns),n):iu(t)?of(Vp(e,t.parameters),Up(e,t.returns),n):Ql(t)?Qd(Up(e,t.items),n):su(t)?Tp(Up(e,t.items),n):ou(t)?am(Vp(e,t.allOf),n):ku(t)?pf(Vp(e,t.anyOf),n):Du(t)?Fp(Vp(e,t.items??[]),n):_u(t)?Ep(Hp(e,t.properties),n):Zl(t)?Xd(Up(e,t.items),n):vu(t)?Dp(Up(e,t.item),n):t}function Wp(e,t){let n={};for(let r of e)n[r]=Up(r,t);return n}function Gp(e,t,n){let r=Fu(e)?ap(e):e;return Ep(Wp(r,t({[Kl]:`MappedKey`,keys:r})),n)}function Kp(e){return Bl(tf(e,[Wl]))}function qp(e){return Bl({...e,[Wl]:`Optional`})}function Jp(e,t){return t===!1?Kp(e):qp(e)}function Yp(e,t){let n=t??!0;return fu(e)?Qp(e,n):Jp(e,n)}function Xp(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=Yp(e[r],t);return n}function Zp(e,t){return Xp(e.properties,t)}function Qp(e,t){return rf(Zp(e,t))}function $p(e,t={}){let n=e.every(e=>_u(e)),r=Fu(t.unevaluatedProperties)?{unevaluatedProperties:t.unevaluatedProperties}:{};return Bl(t.unevaluatedProperties===!1||Fu(t.unevaluatedProperties)||n?{...r,[Kl]:`Intersect`,type:`object`,allOf:e}:{...r,[Kl]:`Intersect`,allOf:e},t)}function em(e){return e.every(e=>Jl(e))}function tm(e){return tf(e,[Wl])}function nm(e){return e.map(e=>Jl(e)?tm(e):e)}function rm(e,t){return em(e)?Yp($p(nm(e),t)):$p(nm(e),t)}function im(e,t={}){if(e.length===1)return Bl(e[0],t);if(e.length===0)return nf(t);if(e.some(e=>Eu(e)))throw Error(`Cannot intersect transform types`);return rm(e,t)}function am(e,t){if(e.length===1)return Bl(e[0],t);if(e.length===0)return nf(t);if(e.some(e=>Eu(e)))throw Error(`Cannot intersect transform types`);return $p(e,t)}function om(...e){let[t,n]=typeof e[0]==`string`?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof t!=`string`)throw new Vl(`Ref: $ref must be a string`);return Bl({[Kl]:`Ref`,$ref:t},n)}function sm(e,t){return $d(`Awaited`,[$d(e,t)])}function cm(e){return $d(`Awaited`,[om(e)])}function lm(e){return am(fm(e))}function um(e){return pf(fm(e))}function dm(e){return pm(e)}function fm(e){return e.map(e=>pm(e))}function pm(e,t){return Bl(tu(e)?sm(e.target,e.parameters):ou(e)?lm(e.allOf):ku(e)?um(e.anyOf):vu(e)?dm(e.item):bu(e)?cm(e.$ref):e,t)}function mm(e){let t=[];for(let n of e)t.push(ym(n));return t}function mee(e){return Jd(mm(e))}function hee(e){return qd(mm(e))}function hm(e){return e.map((e,t)=>t.toString())}function gm(e){return[`[number]`]}function _m(e){return globalThis.Object.getOwnPropertyNames(e)}function vm(e){return bm?globalThis.Object.getOwnPropertyNames(e).map(e=>e[0]===`^`&&e[e.length-1]===`$`?e.slice(1,e.length-1):e):[]}function ym(e){return ou(e)?mee(e.allOf):ku(e)?hee(e.anyOf):Du(e)?hm(e.items??[]):Zl(e)?gm(e.items):_u(e)?_m(e.properties):yu(e)?vm(e.patternProperties):[]}var bm=!1;function xm(e,t){return $d(`KeyOf`,[$d(e,t)])}function Sm(e){return $d(`KeyOf`,[om(e)])}function gee(e,t){return Bl(ff(Cm(ym(e))),t)}function Cm(e){return e.map(e=>e===`[number]`?Wf():Vf(e))}function wm(e,t){return tu(e)?xm(e.target,e.parameters):bu(e)?Sm(e.$ref):fu(e)?Dm(e,t):gee(e,t)}function Tm(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=wm(e[r],Al(t));return n}function Em(e,t){return Tm(e.properties,t)}function Dm(e,t){return rf(Em(e,t))}function Om(e){let t=[];for(let n of e)t.push(...ym(n));return Wd(t)}function km(e){return e.filter(e=>!pu(e))}function Am(e,t){let n=[];for(let r of e)n.push(...vp(r,[t]));return km(n)}function jm(e,t){let n={};for(let r of t)n[r]=im(Am(e,r));return n}function Mm(e,t){return Ep(jm(e,Om(e)),t)}function Nm(e){return Bl({[Kl]:`Date`,type:`Date`},e)}function Pm(e){return Bl({[Kl]:`Null`,type:`null`},e)}function Fm(e){return Bl({[Kl]:`Symbol`,type:`symbol`},e)}function Im(e){return Bl({[Kl]:`Undefined`,type:`undefined`},e)}function Lm(e){return Bl({[Kl]:`Uint8Array`,type:`Uint8Array`},e)}function Rm(e){return Bl({[Kl]:`Unknown`},e)}function zm(e){return e.map(e=>Hm(e,!1))}function Bm(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=jp(Hm(e[n],!1));return t}function Vm(e,t){return t===!0?e:jp(e)}function Hm(e,t){return ul(e)||hl(e)?Vm(Yd(),t):dl(e)?jp(Fp(zm(e))):Sl(e)?Lm():ml(e)?Nm():vl(e)?Vm(Ep(Bm(e)),t):aee(e)?Vm(of([],Rm()),t):Cl(e)?Im():gl(e)?Pm():xl(e)?Fm():fl(e)?Uf():_l(e)||pl(e)||bl(e)?Vf(e):Ep({})}function Um(e,t){return Bl(Hm(e,!0),t)}function Wm(e,t){return nu(e)?Fp(e.parameters,t):nf(t)}function Gm(e,t){if(Cl(e))throw Error(`Enum undefined or empty`);let n=globalThis.Object.getOwnPropertyNames(e).filter(e=>isNaN(e)).map(t=>e[t]);return pf([...new Set(n)].map(e=>Vf(e)),{...t,[Gl]:`Enum`})}var Km=class extends Vl{},qm;(function(e){e[e.Union=0]=`Union`,e[e.True=1]=`True`,e[e.False=2]=`False`})(qm||={});function Jm(e){return e===qm.False?e:qm.True}function Ym(e){throw new Km(e)}function Xm(e){return pd(e)||rd(e)||kd(e)||jd(e)||qu(e)}function Zm(e,t){return pd(t)?hh(e,t):rd(t)?dh(e,t):kd(t)?Xh(e,t):jd(t)?Qh(e,t):qu(t)?Qm(e,t):Ym(`StructuralRight`)}function Qm(e,t){return qm.True}function $m(e,t){return rd(t)?dh(e,t):kd(t)&&t.anyOf.some(e=>qu(e)||jd(e))?qm.True:kd(t)?qm.Union:jd(t)||qu(t)?qm.True:qm.Union}function eh(e,t){return jd(e)?qm.False:qu(e)?qm.Union:pd(e)?qm.True:qm.False}function th(e,t){return _d(t)&&Ah(t)?qm.True:Xm(t)?Zm(e,t):Ju(t)?Jm(ng(e.items,t.items)):qm.False}function nh(e,t){return Xm(t)?Zm(e,t):Yu(t)?Jm(ng(e.items,t.items)):qm.False}function rh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Xu(t)?qm.True:qm.False}function ih(e,t){return cd(e)||Zu(e)?qm.True:qm.False}function ah(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Zu(t)?qm.True:qm.False}function oh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):Qu(t)?e.parameters.length>t.parameters.length?qm.False:e.parameters.every((e,n)=>Jm(ng(t.parameters[n],e))===qm.True)?Jm(ng(e.returns,t.returns)):qm.False:qm.False}function sh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):$u(t)?qm.True:qm.False}function ch(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):ed(t)?e.parameters.length>t.parameters.length?qm.False:e.parameters.every((e,n)=>Jm(ng(t.parameters[n],e))===qm.True)?Jm(ng(e.returns,t.returns)):qm.False:qm.False}function lh(e,t){return ld(e)&&_l(e.const)||gd(e)||td(e)?qm.True:qm.False}function uh(e,t){return td(t)||gd(t)?qm.True:Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):qm.False}function dh(e,t){return t.allOf.every(t=>ng(e,t)===qm.True)?qm.True:qm.False}function fh(e,t){return e.allOf.some(e=>ng(e,t)===qm.True)?qm.True:qm.False}function ph(e,t){return Xm(t)?Zm(e,t):id(t)?Jm(ng(e.items,t.items)):qm.False}function mh(e,t){return ld(t)&&t.const===e.const?qm.True:Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Sd(t)?Vh(e,t):gd(t)?yh(e,t):td(t)?lh(e,t):Zu(t)?ih(e,t):qm.False}function hh(e,t){return qm.False}function gh(e,t){return qm.True}function _h(e){let[t,n]=[e,0];for(;md(t);)t=t.not,n+=1;return n%2==0?t:Rm()}function vh(e,t){return md(e)?ng(_h(e),t):md(t)?ng(e,_h(t)):Ym(`Invalid fallthrough for Not`)}function _ee(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):hd(t)?qm.True:qm.False}function yh(e,t){return sd(e)||gd(e)||td(e)?qm.True:qm.False}function bh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):td(t)||gd(t)?qm.True:qm.False}function xh(e,t){return Object.getOwnPropertyNames(e.properties).length===t}function Sh(e){return Ah(e)}function Ch(e){return xh(e,0)||xh(e,1)&&`description`in e.properties&&kd(e.properties.description)&&e.properties.description.anyOf.length===2&&(Sd(e.properties.description.anyOf[0])&&Od(e.properties.description.anyOf[1])||Sd(e.properties.description.anyOf[1])&&Od(e.properties.description.anyOf[0]))}function wh(e){return xh(e,0)}function Th(e){return xh(e,0)}function Eh(e){return xh(e,0)}function Dh(e){return xh(e,0)}function Oh(e){return Ah(e)}function vee(e){let t=Wf();return xh(e,0)||xh(e,1)&&`length`in e.properties&&Jm(ng(e.properties.length,t))===qm.True}function kh(e){return xh(e,0)}function Ah(e){let t=Wf();return xh(e,0)||xh(e,1)&&`length`in e.properties&&Jm(ng(e.properties.length,t))===qm.True}function jh(e){let t=of([Yd()],Yd());return xh(e,0)||xh(e,1)&&`then`in e.properties&&Jm(ng(e.properties.then,t))===qm.True}function Mh(e,t){return ng(e,t)===qm.False||Ku(e)&&!Ku(t)?qm.False:qm.True}function Nh(e,t){return jd(e)?qm.False:qu(e)?qm.Union:pd(e)||od(e)&&Sh(t)||sd(e)&&wh(t)||cd(e)&&Th(t)||Cd(e)&&Ch(t)||Xu(e)&&Eh(t)||Sd(e)&&Sh(t)||Cd(e)&&Ch(t)||gd(e)&&wh(t)||td(e)&&wh(t)||Zu(e)&&Th(t)||Ad(e)&&Oh(t)||$u(e)&&Dh(t)||Qu(e)&&kh(t)||ed(e)&&vee(t)?qm.True:yd(e)&&Sd(Ih(e))?t[Gl]===`Record`?qm.True:qm.False:yd(e)&&gd(Ih(e))&&xh(t,0)?qm.True:qm.False}function Ph(e,t){return Xm(t)?Zm(e,t):yd(t)?Rh(e,t):_d(t)?(()=>{for(let n of Object.getOwnPropertyNames(t.properties)){if(!(n in e.properties)&&!Ku(t.properties[n]))return qm.False;if(Ku(t.properties[n]))return qm.True;if(Mh(e.properties[n],t.properties[n])===qm.False)return qm.False}return qm.True})():qm.False}function Fh(e,t){return Xm(t)?Zm(e,t):_d(t)&&jh(t)?qm.True:vd(t)?Jm(ng(e.item,t.item)):qm.False}function Ih(e){return Bd in e.patternProperties?Wf():Vd in e.patternProperties?Gf():Ym(`Unknown record key pattern`)}function Lh(e){return Bd in e.patternProperties?e.patternProperties[Bd]:Vd in e.patternProperties?e.patternProperties[Vd]:Ym(`Unable to get record value schema`)}function Rh(e,t){let[n,r]=[Ih(t),Lh(t)];return od(e)&&gd(n)&&Jm(ng(e,r))===qm.True?qm.True:Ad(e)&&gd(n)||Sd(e)&&gd(n)||Ju(e)&&gd(n)?ng(e,r):_d(e)?(()=>{for(let t of Object.getOwnPropertyNames(e.properties))if(Mh(r,e.properties[t])===qm.False)return qm.False;return qm.True})():qm.False}function zh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?ng(Lh(e),Lh(t)):qm.False}function Bh(e,t){return ng(xd(e)?Gf():e,xd(t)?Gf():t)}function Vh(e,t){return ld(e)&&bl(e.const)||Sd(e)?qm.True:qm.False}function Hh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Sd(t)?qm.True:qm.False}function Uh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Cd(t)?qm.True:qm.False}function Wh(e,t){return wd(e)?ng(ep(e),t):wd(t)?ng(e,ep(t)):Ym(`Invalid fallthrough for TemplateLiteral`)}function Gh(e,t){return Ju(t)&&e.items!==void 0&&e.items.every(e=>ng(e,t.items)===qm.True)}function Kh(e,t){return pd(e)?qm.True:jd(e)?qm.False:qu(e)?qm.Union:qm.False}function qh(e,t){return Xm(t)?Zm(e,t):_d(t)&&Ah(t)||Ju(t)&&Gh(e,t)?qm.True:Dd(t)?Cl(e.items)&&!Cl(t.items)||!Cl(e.items)&&Cl(t.items)?qm.False:Cl(e.items)&&!Cl(t.items)||e.items.every((e,n)=>ng(e,t.items[n])===qm.True)?qm.True:qm.False:qm.False}function Jh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Ad(t)?qm.True:qm.False}function Yh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Nd(t)?eg(e,t):Od(t)?qm.True:qm.False}function Xh(e,t){return t.anyOf.some(t=>ng(e,t)===qm.True)?qm.True:qm.False}function Zh(e,t){return e.anyOf.every(e=>ng(e,t)===qm.True)?qm.True:qm.False}function Qh(e,t){return qm.True}function $h(e,t){return pd(t)?hh(e,t):rd(t)?dh(e,t):kd(t)?Xh(e,t):qu(t)?Qm(e,t):Sd(t)?Vh(e,t):gd(t)?yh(e,t):td(t)?lh(e,t):Zu(t)?ih(e,t):Ju(t)?eh(e,t):Dd(t)?Kh(e,t):_d(t)?Nh(e,t):jd(t)?qm.True:qm.False}function eg(e,t){return Od(e)||Od(e)?qm.True:qm.False}function tg(e,t){return rd(t)?dh(e,t):kd(t)?Xh(e,t):jd(t)?Qh(e,t):qu(t)?Qm(e,t):_d(t)?Nh(e,t):Nd(t)?qm.True:qm.False}function ng(e,t){return wd(e)||wd(t)?Wh(e,t):xd(e)||xd(t)?Bh(e,t):md(e)||md(t)?vh(e,t):qu(e)?$m(e,t):Ju(e)?th(e,t):Xu(e)?rh(e,t):Zu(e)?ah(e,t):Yu(e)?nh(e,t):Qu(e)?oh(e,t):$u(e)?sh(e,t):ed(e)?ch(e,t):td(e)?uh(e,t):rd(e)?fh(e,t):id(e)?ph(e,t):ld(e)?mh(e,t):pd(e)?gh(e,t):hd(e)?_ee(e,t):gd(e)?bh(e,t):_d(e)?Ph(e,t):yd(e)?zh(e,t):Sd(e)?Hh(e,t):Cd(e)?Uh(e,t):Dd(e)?qh(e,t):vd(e)?Fh(e,t):Ad(e)?Jh(e,t):Od(e)?Yh(e,t):kd(e)?Zh(e,t):jd(e)?$h(e,t):Nd(e)?tg(e,t):Ym(`Unknown left type operand '${e[Kl]}'`)}function rg(e,t){return ng(e,t)}function ig(e,t,n,r,i){let a={};for(let o of globalThis.Object.getOwnPropertyNames(e))a[o]=cg(e[o],t,n,r,Al(i));return a}function ag(e,t,n,r,i){return ig(e.properties,t,n,r,i)}function og(e,t,n,r,i){return rf(ag(e,t,n,r,i))}function sg(e,t,n,r){let i=rg(e,t);return i===qm.Union?pf([n,r]):i===qm.True?n:r}function cg(e,t,n,r,i){return fu(e)?og(e,t,n,r,i):du(e)?Bl(fg(e,t,n,r,i)):Bl(sg(e,t,n,r),i)}function lg(e,t,n,r,i){return{[e]:cg(Vf(e),t,n,r,Al(i))}}function ug(e,t,n,r,i){return e.reduce((e,a)=>({...e,...lg(a,t,n,r,i)}),{})}function dg(e,t,n,r,i){return ug(e.keys,t,n,r,i)}function fg(e,t,n,r,i){return rf(dg(e,t,n,r,i))}function pg(e,t){return hg(ep(e),t)}function mg(e,t){let n=e.filter(e=>rg(e,t)===qm.False);return n.length===1?n[0]:pf(n)}function hg(e,t,n={}){return wu(e)?Bl(pg(e,t),n):fu(e)?Bl(vg(e,t),n):Bl(ku(e)?mg(e.anyOf,t):rg(e,t)===qm.False?e:nf(),n)}function gg(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=hg(e[r],t);return n}function _g(e,t){return gg(e.properties,t)}function vg(e,t){return rf(_g(e,t))}function yg(e,t){return xg(ep(e),t)}function bg(e,t){let n=e.filter(e=>rg(e,t)!==qm.False);return n.length===1?n[0]:pf(n)}function xg(e,t,n){return wu(e)?Bl(yg(e,t),n):fu(e)?Bl(wg(e,t),n):Bl(ku(e)?bg(e.anyOf,t):rg(e,t)===qm.False?nf():e,n)}function Sg(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=xg(e[r],t);return n}function Cg(e,t){return Sg(e.properties,t)}function wg(e,t){return rf(Cg(e,t))}function Tg(e,t){return nu(e)?Bl(e.returns,t):nf(t)}function Eg(e){return jp(Yp(e))}function Dg(e,t,n){return Bl({[Kl]:`Record`,type:`object`,patternProperties:{[e]:t}},n)}function Og(e,t,n){let r={};for(let n of e)r[n]=t;return Ep(r,{...n,[Gl]:`Record`})}function kg(e,t,n){return Nf(e)?Og(ap(e),t,n):Dg(e.pattern,t,n)}function Ag(e,t,n){return Og(ap(pf(e)),t,n)}function jg(e,t,n){return Og([e.toString()],t,n)}function Mg(e,t,n){return Dg(e.source,t,n)}function Ng(e,t,n){return Dg(Cl(e.pattern)?Vd:e.pattern,t,n)}function Pg(e,t,n){return Dg(Vd,t,n)}function Fg(e,t,n){return Dg(Hd,t,n)}function Ig(e,t,n){return Ep({true:t,false:t},n)}function Lg(e,t,n){return Dg(Bd,t,n)}function Rg(e,t,n){return Dg(Bd,t,n)}function zg(e,t,n={}){return ku(e)?Ag(e.anyOf,t,n):wu(e)?kg(e,t,n):uu(e)?jg(e.const,t,n):eu(e)?Ig(e,t,n):au(e)?Lg(e,t,n):gu(e)?Rg(e,t,n):xu(e)?Mg(e,t,n):Su(e)?Ng(e,t,n):Yl(e)?Pg(e,t,n):pu(e)?Fg(e,t,n):nf(n)}function Bg(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function Vg(e){let t=Bg(e);return t===Vd?Gf():t===Bd?Wf():Gf({pattern:t})}function Hg(e){return e.patternProperties[Bg(e)]}function Ug(e,t){return t.parameters=n_(e,t.parameters),t.returns=r_(e,t.returns),t}function Wg(e,t){return t.parameters=n_(e,t.parameters),t.returns=r_(e,t.returns),t}function Gg(e,t){return t.allOf=n_(e,t.allOf),t}function Kg(e,t){return t.anyOf=n_(e,t.anyOf),t}function qg(e,t){return Cl(t.items)||(t.items=n_(e,t.items)),t}function Jg(e,t){return t.items=r_(e,t.items),t}function Yg(e,t){return t.items=r_(e,t.items),t}function Xg(e,t){return t.items=r_(e,t.items),t}function Zg(e,t){return t.item=r_(e,t.item),t}function Qg(e,t){let n=t_(e,t.properties);return{...t,...Ep(n)}}function $g(e,t){let n=zg(r_(e,Vg(t)),r_(e,Hg(t)));return{...t,...n}}function yee(e,t){return t.index in e?e[t.index]:Rm()}function e_(e,t){let n=ql(t),r=Jl(t),i=r_(e,t);return n&&r?Eg(i):n&&!r?jp(i):!n&&r?Yp(i):i}function t_(e,t){return globalThis.Object.getOwnPropertyNames(t).reduce((n,r)=>({...n,[r]:e_(e,t[r])}),{})}function n_(e,t){return t.map(t=>r_(e,t))}function r_(e,t){return nu(t)?Ug(e,t):iu(t)?Wg(e,t):ou(t)?Gg(e,t):ku(t)?Kg(e,t):Du(t)?qg(e,t):Zl(t)?Jg(e,t):Ql(t)?Yg(e,t):su(t)?Xg(e,t):vu(t)?Zg(e,t):_u(t)?Qg(e,t):yu(t)?$g(e,t):Xl(t)?yee(e,t):t}function i_(e,t){return r_(t,jl(e))}function a_(e){return Bl({[Kl]:`Integer`,type:`integer`},e)}function o_(e,t,n){return{[e]:__(Vf(e),t,Al(n))}}function s_(e,t,n){return e.reduce((e,r)=>({...e,...o_(r,t,n)}),{})}function c_(e,t,n){return s_(e.keys,t,n)}function l_(e,t,n){return rf(c_(e,t,n))}function u_(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(),n].join(``)}function d_(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(),n].join(``)}function f_(e){return e.toUpperCase()}function p_(e){return e.toLowerCase()}function m_(e,t,n){let r=Df(e.pattern);return Mf(r)?tp([pf(g_([...zf(r)].map(e=>Vf(e)),t))],n):{...e,pattern:h_(e.pattern,t)}}function h_(e,t){return typeof e==`string`?t===`Uncapitalize`?u_(e):t===`Capitalize`?d_(e):t===`Uppercase`?f_(e):t===`Lowercase`?p_(e):e:e.toString()}function g_(e,t){return e.map(e=>__(e,t))}function __(e,t,n={}){return du(e)?l_(e,t,n):wu(e)?m_(e,t,n):ku(e)?pf(g_(e.anyOf,t),n):uu(e)?Vf(h_(e.const,t),n):Bl(e,n)}function v_(e,t={}){return __(e,`Capitalize`,t)}function y_(e,t={}){return __(e,`Lowercase`,t)}function b_(e,t={}){return __(e,`Uncapitalize`,t)}function x_(e,t={}){return __(e,`Uppercase`,t)}function S_(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=M_(e[i],t,Al(n));return r}function C_(e,t,n){return S_(e.properties,t,n)}function w_(e,t,n){return rf(C_(e,t,n))}function T_(e,t){return e.map(e=>j_(e,t))}function E_(e,t){return e.map(e=>j_(e,t))}function D_(e,t){let{[t]:n,...r}=e;return r}function O_(e,t){return t.reduce((e,t)=>D_(e,t),e)}function k_(e,t,n){let r=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep(O_(n,t),r)}function A_(e){return pf(e.reduce((e,t)=>lu(t)?[...e,Vf(t)]:e,[]))}function j_(e,t){return ou(e)?am(T_(e.allOf,t)):ku(e)?pf(E_(e.anyOf,t)):_u(e)?k_(e,t,e.properties):Ep({})}function M_(e,t,n){let r=dl(t)?A_(t):t,i=Fu(t)?ap(t):t,a=bu(e),o=bu(t);return fu(e)?w_(e,i,n):du(t)?I_(e,t,n):a&&o||!a&&o||a&&!o?$d(`Omit`,[e,r],n):Bl({...j_(e,i),...n})}function N_(e,t,n){return{[t]:M_(e,[t],Al(n))}}function P_(e,t,n){return t.reduce((t,r)=>({...t,...N_(e,r,n)}),{})}function F_(e,t,n){return P_(e,t.keys,n)}function I_(e,t,n){return rf(F_(e,t,n))}function L_(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=K_(e[i],t,Al(n));return r}function R_(e,t,n){return L_(e.properties,t,n)}function z_(e,t,n){return rf(R_(e,t,n))}function B_(e,t){return e.map(e=>G_(e,t))}function V_(e,t){return e.map(e=>G_(e,t))}function H_(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function U_(e,t,n){let r=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep(H_(n,t),r)}function W_(e){return pf(e.reduce((e,t)=>lu(t)?[...e,Vf(t)]:e,[]))}function G_(e,t){return ou(e)?am(B_(e.allOf,t)):ku(e)?pf(V_(e.anyOf,t)):_u(e)?U_(e,t,e.properties):Ep({})}function K_(e,t,n){let r=dl(t)?W_(t):t,i=Fu(t)?ap(t):t,a=bu(e),o=bu(t);return fu(e)?z_(e,i,n):du(t)?X_(e,t,n):a&&o||!a&&o||a&&!o?$d(`Pick`,[e,r],n):Bl({...G_(e,i),...n})}function q_(e,t,n){return{[t]:K_(e,[t],Al(n))}}function J_(e,t,n){return t.reduce((t,r)=>({...t,...q_(e,r,n)}),{})}function Y_(e,t,n){return J_(e,t.keys,n)}function X_(e,t,n){return rf(Y_(e,t,n))}function Z_(e,t){return $d(`Partial`,[$d(e,t)])}function Q_(e){return $d(`Partial`,[om(e)])}function $_(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=Yp(e[n]);return t}function ev(e,t){let n=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep($_(t),n)}function tv(e){return e.map(e=>nv(e))}function nv(e){return tu(e)?Z_(e.target,e.parameters):bu(e)?Q_(e.$ref):ou(e)?am(tv(e.allOf)):ku(e)?pf(tv(e.anyOf)):_u(e)?ev(e,e.properties):$l(e)||eu(e)||au(e)||uu(e)||hu(e)||gu(e)||Su(e)||Cu(e)||Ou(e)?e:Ep({})}function rv(e,t){return fu(e)?ov(e,t):Bl({...nv(e),...t})}function iv(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=rv(e[r],Al(t));return n}function av(e,t){return iv(e.properties,t)}function ov(e,t){return rf(av(e,t))}function sv(e,t){return $d(`Required`,[$d(e,t)])}function cv(e){return $d(`Required`,[om(e)])}function lv(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=tf(e[n],[Wl]);return t}function uv(e,t){let n=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep(lv(t),n)}function dv(e){return e.map(e=>fv(e))}function fv(e){return tu(e)?sv(e.target,e.parameters):bu(e)?cv(e.$ref):ou(e)?am(dv(e.allOf)):ku(e)?pf(dv(e.anyOf)):_u(e)?uv(e,e.properties):$l(e)||eu(e)||au(e)||uu(e)||hu(e)||gu(e)||Su(e)||Cu(e)||Ou(e)?e:Ep({})}function pv(e,t){return fu(e)?gv(e,t):Bl({...fv(e),...t})}function mv(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=pv(e[r],t);return n}function hv(e,t){return mv(e.properties,t)}function gv(e,t){return rf(hv(e,t))}function _v(e,t){return t.map(t=>bu(t)?vv(e,t.$ref):zv(e,t))}function vv(e,t){return t in e?bu(e[t])?vv(e,e[t].$ref):zv(e,e[t]):nf()}function yv(e){return pm(e[0])}function bv(e){return bp(e[0],e[1])}function xv(e){return wm(e[0])}function Sv(e){return rv(e[0])}function Cv(e){return M_(e[0],e[1])}function wv(e){return K_(e[0],e[1])}function Tv(e){return pv(e[0])}function Ev(e,t,n){let r=_v(e,n);return t===`Awaited`?yv(r):t===`Index`?bv(r):t===`KeyOf`?xv(r):t===`Partial`?Sv(r):t===`Omit`?Cv(r):t===`Pick`?wv(r):t===`Required`?Tv(r):nf()}function Dv(e,t){return Xd(zv(e,t))}function Ov(e,t){return Qd(zv(e,t))}function kv(e,t,n){return af(Rv(e,t),zv(e,n))}function Av(e,t,n){return of(Rv(e,t),zv(e,n))}function jv(e,t){return am(Rv(e,t))}function Mv(e,t){return Tp(zv(e,t))}function Nv(e,t){return Ep(globalThis.Object.keys(t).reduce((n,r)=>({...n,[r]:zv(e,t[r])}),{}))}function Pv(e,t){let[n,r]=[zv(e,Hg(t)),Bg(t)],i=jl(t);return i.patternProperties[r]=n,i}function Fv(e,t){return bu(t)?{...vv(e,t.$ref),[Hl]:t[Hl]}:t}function Iv(e,t){return Fp(Rv(e,t))}function Lv(e,t){return pf(Rv(e,t))}function Rv(e,t){return t.map(t=>zv(e,t))}function zv(e,t){return Jl(t)?Bl(zv(e,tf(t,[Wl])),t):ql(t)?Bl(zv(e,tf(t,[Ul])),t):Eu(t)?Bl(Fv(e,t),t):Zl(t)?Bl(Dv(e,t.items),t):Ql(t)?Bl(Ov(e,t.items),t):tu(t)?Bl(Ev(e,t.target,t.parameters)):nu(t)?Bl(kv(e,t.parameters,t.returns),t):iu(t)?Bl(Av(e,t.parameters,t.returns),t):ou(t)?Bl(jv(e,t.allOf),t):su(t)?Bl(Mv(e,t.items),t):_u(t)?Bl(Nv(e,t.properties),t):yu(t)?Bl(Pv(e,t)):Du(t)?Bl(Iv(e,t.items||[]),t):ku(t)?Bl(Lv(e,t.anyOf),t):t}function Bv(e,t){return t in e?zv(e,e[t]):nf()}function Vv(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:Bv(e,n)}),{})}var Hv=class{constructor(e){let t=Vv(e);this.$defs=this.WithIdentifiers(t)}Import(e,t){let n={...this.$defs,[e]:Bl(this.$defs[e],t)};return Bl({[Kl]:`Import`,$defs:n,$ref:e})}WithIdentifiers(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:{...e[n],$id:n}}),{})}};function Uv(e){return new Hv(e)}function Wv(e,t){return Bl({[Kl]:`Not`,not:e},t)}function Gv(e,t){return iu(e)?Fp(e.parameters,t):nf()}var Kv=0;function qv(e,t={}){Cl(t.$id)&&(t.$id=`T${Kv++}`);let n=jl(e({[Kl]:`This`,$ref:`${t.$id}`}));return n.$id=t.$id,Bl({[Gl]:`Recursive`,...n},t)}function Jv(e,t){let n=bl(e)?new globalThis.RegExp(e):e;return Bl({[Kl]:`RegExp`,type:`RegExp`,source:n.source,flags:n.flags},t)}function Yv(e){return ou(e)?e.allOf:ku(e)?e.anyOf:Du(e)?e.items??[]:[]}function Xv(e){return Yv(e)}function Zv(e,t){return iu(e)?Bl(e.returns,t):nf(t)}var Qv=class{constructor(e){this.schema=e}Decode(e){return new $v(this.schema,e)}},$v=class{constructor(e,t){this.schema=e,this.decode=t}EncodeTransform(e,t){let n={Encode:n=>t[Hl].Encode(e(n)),Decode:e=>this.decode(t[Hl].Decode(e))};return{...t,[Hl]:n}}EncodeSchema(e,t){let n={Decode:this.decode,Encode:e};return{...t,[Hl]:n}}Encode(e){return Eu(this.schema)?this.EncodeTransform(e,this.schema):this.EncodeSchema(e,this.schema)}};function ey(e){return new Qv(e)}function ty(e={}){return Bl({[Kl]:e[Kl]??`Unsafe`},e)}function ny(e){return Bl({[Kl]:`Void`,type:`void`},e)}var ry=r({Any:()=>Yd,Argument:()=>Zd,Array:()=>Xd,AsyncIterator:()=>Qd,Awaited:()=>pm,BigInt:()=>Uf,Boolean:()=>Hf,Capitalize:()=>v_,Composite:()=>Mm,Const:()=>Um,Constructor:()=>af,ConstructorParameters:()=>Wm,Date:()=>Nm,Enum:()=>Gm,Exclude:()=>hg,Extends:()=>cg,Extract:()=>xg,Function:()=>of,Index:()=>bp,InstanceType:()=>Tg,Instantiate:()=>i_,Integer:()=>a_,Intersect:()=>am,Iterator:()=>Tp,KeyOf:()=>wm,Literal:()=>Vf,Lowercase:()=>y_,Mapped:()=>Gp,Module:()=>Uv,Never:()=>nf,Not:()=>Wv,Null:()=>Pm,Number:()=>Wf,Object:()=>Ep,Omit:()=>M_,Optional:()=>Yp,Parameters:()=>Gv,Partial:()=>rv,Pick:()=>K_,Promise:()=>Dp,Readonly:()=>jp,ReadonlyOptional:()=>Eg,Record:()=>zg,Recursive:()=>qv,Ref:()=>om,RegExp:()=>Jv,Required:()=>pv,Rest:()=>Xv,ReturnType:()=>Zv,String:()=>Gf,Symbol:()=>Fm,TemplateLiteral:()=>tp,Transform:()=>ey,Tuple:()=>Fp,Uint8Array:()=>Lm,Uncapitalize:()=>b_,Undefined:()=>Im,Union:()=>pf,Unknown:()=>Rm,Unsafe:()=>ty,Uppercase:()=>x_,Void:()=>ny}),iy=new Map;function ay(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function oy(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function sy(e,t){iy.set(e.api,{provider:{api:e.api,stream:ay(e.api,e.stream),streamSimple:oy(e.api,e.streamSimple)},sourceId:t})}function cy(e){return iy.get(e)?.provider}var ly=e=>o(()=>import(e),[]),uy,dy,fy,py,my,hy,gy,_y,vy,yy,by;function xy(e,t){(async()=>{for await(let n of t)e.push(n);e.end()})()}function Sy(e,t){return{role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function Cy(e){return(t,n,r)=>{let i=new f;return e().then(e=>{xy(i,e.stream(t,n,r))}).catch(e=>{let n=Sy(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function wy(e){return(t,n,r)=>{let i=new f;return e().then(e=>{xy(i,e.streamSimple(t,n,r))}).catch(e=>{let n=Sy(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function Ty(){return uy||=o(()=>import(`./anthropic-mDOoXVZn.js`).then(e=>{let t=e;return{stream:t.streamAnthropic,streamSimple:t.streamSimpleAnthropic}}),__vite__mapDeps([0,1,2,3,4,5,6,7])),uy}function B(){return dy||=o(()=>import(`./azure-openai-responses-lDjfaDoj.js`).then(e=>{let t=e;return{stream:t.streamAzureOpenAIResponses,streamSimple:t.streamSimpleAzureOpenAIResponses}}),__vite__mapDeps([8,1,2,3,9,5,10,6,7,11])),dy}function Ey(){return fy||=o(()=>import(`./google-BdS4iTyC.js`).then(e=>{let t=e;return{stream:t.streamGoogle,streamSimple:t.streamSimpleGoogle}}),__vite__mapDeps([12,13,7,1,2,3,14,5])),fy}function Dy(){return py||=o(()=>import(`./google-gemini-cli-ECA0sP3z.js`).then(e=>{let t=e;return{stream:t.streamGoogleGeminiCli,streamSimple:t.streamSimpleGoogleGeminiCli}}),__vite__mapDeps([15,3,14,13,7,5])),py}function Oy(){return my||=o(()=>import(`./google-vertex-Duei77qD.js`).then(e=>{let t=e;return{stream:t.streamGoogleVertex,streamSimple:t.streamSimpleGoogleVertex}}),__vite__mapDeps([16,13,7,3,14,5])),my}function ky(){return hy||=o(()=>import(`./mistral-BCIirCkW.js`).then(e=>{let t=e;return{stream:t.streamMistral,streamSimple:t.streamSimpleMistral}}),__vite__mapDeps([17,7,1,2,3,5,10,6])),hy}function Ay(){return gy||=o(()=>import(`./openai-codex-responses-BgRTWVD_.js`).then(e=>{let t=e;return{stream:t.streamOpenAICodexResponses,streamSimple:t.streamSimpleOpenAICodexResponses}}),__vite__mapDeps([18,2,1,3,9,5,10,6,7])),gy}function jy(){return _y||=o(()=>import(`./openai-completions-D5AUQEua.js`).then(e=>{let t=e;return{stream:t.streamOpenAICompletions,streamSimple:t.streamSimpleOpenAICompletions}}),__vite__mapDeps([19,1,2,3,4,5,6,7,11])),_y}function My(){return vy||=o(()=>import(`./openai-responses-CTlQ1a-G.js`).then(e=>{let t=e;return{stream:t.streamOpenAIResponses,streamSimple:t.streamSimpleOpenAIResponses}}),__vite__mapDeps([20,1,2,3,4,9,5,10,6,7,11])),vy}function Ny(){return yy?Promise.resolve(yy):(by||=ly(`./amazon-bedrock.js`).then(e=>{let t=e;return{stream:t.streamBedrock,streamSimple:t.streamSimpleBedrock}}),by)}var Py=Cy(Ty),Fy=wy(Ty),Iy=Cy(B),Ly=wy(B),Ry=Cy(Ey),zy=wy(Ey),By=Cy(Dy),Vy=wy(Dy),Hy=Cy(Oy),Uy=wy(Oy),Wy=Cy(ky),Gy=wy(ky),Ky=Cy(Ay),qy=wy(Ay),Jy=Cy(jy),Yy=wy(jy),Xy=Cy(My),Zy=wy(My),Qy=Cy(Ny),$y=wy(Ny);function eb(){sy({api:`anthropic-messages`,stream:Py,streamSimple:Fy}),sy({api:`openai-completions`,stream:Jy,streamSimple:Yy}),sy({api:`mistral-conversations`,stream:Wy,streamSimple:Gy}),sy({api:`openai-responses`,stream:Xy,streamSimple:Zy}),sy({api:`azure-openai-responses`,stream:Iy,streamSimple:Ly}),sy({api:`openai-codex-responses`,stream:Ky,streamSimple:qy}),sy({api:`google-generative-ai`,stream:Ry,streamSimple:zy}),sy({api:`google-gemini-cli`,stream:By,streamSimple:Vy}),sy({api:`google-vertex`,stream:Hy,streamSimple:Uy}),sy({api:`bedrock-converse-stream`,stream:Qy,streamSimple:$y})}eb();function tb(e){let t=cy(e);if(!t)throw Error(`No API provider registered for api: ${e}`);return t}function nb(e,t,n){return tb(e.api).stream(e,t,n)}async function rb(e,t,n){return nb(e,t,n).result()}function ib(e,t,n){return tb(e.api).streamSimple(e,t,n)}function ab(e,t){return ry.Unsafe({type:`string`,enum:e,...t?.description&&{description:t.description},...t?.default&&{default:t.default}})}var ob=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var n=class extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=n;var r=class extends t{constructor(e){super(),this._items=typeof e==`string`?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===``||e===`""`}get str(){return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){return this._names??=this._items.reduce((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=r,e.nil=new r(``);function i(e,...t){let n=[e[0]],i=0;for(;i<t.length;)s(n,t[i]),n.push(e[++i]);return new r(n)}e._=i;var a=new r(`+`);function o(e,...t){let n=[p(e[0])],i=0;for(;i<t.length;)n.push(a),s(n,t[i]),n.push(a,p(e[++i]));return c(n),new r(n)}e.str=o;function s(e,t){t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push(d(t))}e.addCodeArg=s;function c(e){let t=1;for(;t<e.length-1;){if(e[t]===a){let n=l(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]=`+`}t++}}function l(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof n||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof n))return`"${e}${t.slice(1)}`}function u(e,t){return t.emptyStr()?e:e.emptyStr()?t:o`${e}${t}`}e.strConcat=u;function d(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:p(Array.isArray(e)?e.join(`,`):e)}function f(e){return new r(p(e))}e.stringify=f;function p(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=p;function m(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new r(`.${t}`):i`[${t}]`}e.getProperty=m;function h(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new r(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=h;function g(e){return new r(e.toString())}e.regexpCode=g})),sb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=ob(),n=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name(`const`),let:new t.Name(`let`),var:new t.Name(`var`)};var i=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=i;var a=class extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=(0,t._)`.${new t.Name(n)}[${r}]`}};e.ValueScopeName=a;var o=(0,t._)`\n`;e.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?o:t.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let n=this.toName(e),{prefix:r}=n,i=t.key??t.ref,a=this._values[r];if(a){let e=a.get(i);if(e)return e}else a=this._values[r]=new Map;a.set(i,n);let o=this._scope[r]||(this._scope[r]=[]),s=o.length;return o[s]=t.ref,n.setValue(t,{property:r,itemIndex:s}),n}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,n=>{if(n.scopePath===void 0)throw Error(`CodeGen: name "${n}" has no value`);return(0,t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(i,a,o={},s){let c=t.nil;for(let l in i){let u=i[l];if(!u)continue;let d=o[l]=o[l]||new Map;u.forEach(i=>{if(d.has(i))return;d.set(i,r.Started);let o=a(i);if(o){let n=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${n} ${i} = ${o};${this.opts._n}`}else if(o=s?.(i))c=(0,t._)`${c}${o}${this.opts._n}`;else throw new n(i);d.set(i,r.Completed)})}return c}}})),cb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=ob(),n=sb(),r=ob();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,`strConcat`,{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,`getProperty`,{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,`regexpCode`,{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return r.Name}});var i=sb();Object.defineProperty(e,`Scope`,{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(e,`ValueScope`,{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(e,`ValueScopeName`,{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(e,`varKinds`,{enumerable:!0,get:function(){return i.varKinds}}),e.operators={GT:new t._Code(`>`),GTE:new t._Code(`>=`),LT:new t._Code(`<`),LTE:new t._Code(`<=`),EQ:new t._Code(`===`),NEQ:new t._Code(`!==`),NOT:new t._Code(`!`),OR:new t._Code(`||`),AND:new t._Code(`&&`),ADD:new t._Code(`+`)};var a=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},o=class extends a{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let r=e?n.varKinds.var:this.varKind,i=this.rhs===void 0?``:` = ${this.rhs}`;return`${r} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=k(this.rhs,e,t),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},s=class extends a{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=k(this.rhs,e,n),this}get names(){return O(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}},c=class extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},u=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},d=class extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},f=class extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=k(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},p=class extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(A(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>D(e,t.names),{})}},m=class extends p{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},h=class extends p{},g=class extends m{};g.kind=`else`;var _=class e extends m{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let e=n.optimizeNodes();n=this.else=Array.isArray(e)?new g(e):e}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(ee(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(e,t){if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=k(this.condition,e,t),this}get names(){let e=super.names;return O(e,this.condition),this.else&&D(e,this.else.names),e}};_.kind=`if`;var v=class extends m{};v.kind=`for`;var y=class extends v{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=k(this.iteration,e,t),this}get names(){return D(super.names,this.iteration.names)}},b=class extends v{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?n.varKinds.var:this.varKind,{name:r,from:i,to:a}=this;return`for(${t} ${r}=${i}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){return O(O(super.names,this.from),this.to)}},x=class extends v{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=k(this.iterable,e,t),this}get names(){return D(super.names,this.iterable.names)}},S=class extends m{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};S.kind=`func`;var C=class extends p{render(e){return`return `+super.render(e)}};C.kind=`return`;var w=class extends m{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)==null||e.optimizeNodes(),(t=this.finally)==null||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),(n=this.catch)==null||n.optimizeNames(e,t),(r=this.finally)==null||r.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&D(e,this.catch.names),this.finally&&D(e,this.finally.names),e}},T=class extends m{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};T.kind=`catch`;var E=class extends m{render(e){return`finally`+super.render(e)}};E.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
|
300
|
+
}`},void 0,!1,{fileName:z,lineNumber:1166,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`If WebGPU is unavailable, the browser model option shows "WebGPU not available" and is grayed out.`},void 0,!1,{fileName:z,lineNumber:1175,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-01-15`,badge:{label:`FEATURE`,color:`feature`},title:`Local Model Support via WebGPU`,summary:`Run Gemma 4 E4B entirely in browser using WebGPU — no API keys, progressively loaded, locally cached.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Keating now runs entirely in your browser using WebGPU. Run Gemma 4 E4B locally without any API keys. The model loads progressively and caches in your browser for subsequent sessions.`},void 0,!1,{fileName:z,lineNumber:1190,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Requires Chrome 113+ or Edge 113+ with WebGPU support. Model size: ~5GB cached locally.`},void 0,!1,{fileName:z,lineNumber:1195,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-01-10`,badge:{label:`RELEASE`,color:`release`},title:`v0.1.0 — Initial Public Release`,version:`0.1.0`,summary:`First public release. Socratic AI tutor built on Pi agent framework with multi-provider support, local persistence, and dark mode.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`First public release of Keating hyperteacher. Built on the Pi agent framework with support for Google Gemini, Anthropic Claude, and OpenAI GPT models. Features Socratic teaching methodology with diagnostic-first approach.`},void 0,!1,{fileName:z,lineNumber:1211,columnNumber:9},void 0),(0,L.jsxDEV)(`ul`,{className:`text-sm space-y-1 ml-4`,children:[(0,L.jsxDEV)(`li`,{children:`- Chat-based teaching interface`},void 0,!1,{fileName:z,lineNumber:1217,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`- Multi-provider support`},void 0,!1,{fileName:z,lineNumber:1218,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`- Local session persistence`},void 0,!1,{fileName:z,lineNumber:1219,columnNumber:11},void 0),(0,L.jsxDEV)(`li`,{children:`- Dark mode support`},void 0,!1,{fileName:z,lineNumber:1220,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:1216,columnNumber:9},void 0)]},void 0,!0)},{date:`2025-01-05`,badge:{label:`DEV LOG`,color:`devlog`},title:`The Hyperteacher Philosophy`,summary:`Why Keating is named after John Keating from Dead Poets Society. Education should ignite minds, not fill them.`,body:(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`p`,{className:`mb-4`,children:`Keating is named after John Keating from Dead Poets Society, who taught that the purpose of education is not to fill minds but to ignite them. Our AI doesn't give answers — it forces you to reconstruct understanding from memory.`},void 0,!1,{fileName:z,lineNumber:1233,columnNumber:9},void 0),(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground`,children:`Core principle: struggle is the feature, not the bug. Neural pathways form through effort.`},void 0,!1,{fileName:z,lineNumber:1238,columnNumber:9},void 0)]},void 0,!0)}];function ol(e){let t=new Map;for(let n of e){let e=n.version??`other`,r=e===`other`?`other`:il(e);t.has(r)||t.set(r,[]),t.get(r).push(n)}let n=[];for(let[e,r]of t)n.push({version:e===`other`?`Other`:`v${e}`,posts:r});return n.sort((e,t)=>e.version===`Other`?1:t.version===`Other`?-1:t.version.localeCompare(e.version,void 0,{numeric:!0}))}function sl({post:e,expanded:t,onToggle:n}){return(0,L.jsxDEV)(`article`,{id:e.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/-+$/,``),className:`paper-fold distressed-border p-6 post-card scroll-mt-28`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-[#d44a3d]`,children:e.date},void 0,!1,{fileName:z,lineNumber:1279,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`text-xs px-2 py-1 rounded ${tl[e.badge.color]}`,children:e.badge.label},void 0,!1,{fileName:z,lineNumber:1280,columnNumber:9},this),e.version&&(0,L.jsxDEV)(`span`,{className:`text-xs font-terminal text-muted-foreground`,children:[`v`,e.version]},void 0,!0,{fileName:z,lineNumber:1284,columnNumber:11},this)]},void 0,!0,{fileName:z,lineNumber:1278,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-xl font-bold mb-2`,children:e.title},void 0,!1,{fileName:z,lineNumber:1288,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`text-sm leading-6 ${t?``:`line-clamp-2`}`,children:e.summary},void 0,!1,{fileName:z,lineNumber:1290,columnNumber:7},this),t&&e.sections&&e.sections.length>0&&(0,L.jsxDEV)(`div`,{className:`mt-3 mb-4 rounded-md bg-muted/30 border border-border p-3`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:[(0,L.jsxDEV)(Ka,{size:12},void 0,!1,{fileName:z,lineNumber:1296,columnNumber:13},this),`Contents`]},void 0,!0,{fileName:z,lineNumber:1295,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:e.sections.map(e=>(0,L.jsxDEV)(`a`,{href:`#${e.id}`,className:`text-xs px-2 py-1 rounded border border-border bg-background hover:border-primary hover:text-primary transition-colors`,children:e.title},e.id,!1,{fileName:z,lineNumber:1301,columnNumber:15},this))},void 0,!1,{fileName:z,lineNumber:1299,columnNumber:11},this)]},void 0,!0,{fileName:z,lineNumber:1294,columnNumber:9},this),t&&(0,L.jsxDEV)(`div`,{className:`mt-4`,children:e.body},void 0,!1,{fileName:z,lineNumber:1313,columnNumber:20},this),(0,L.jsxDEV)(`button`,{onClick:n,className:`mt-4 inline-flex items-center gap-1.5 text-xs font-terminal text-muted-foreground hover:text-foreground transition-colors`,children:t?(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(Aa,{size:14},void 0,!1,{fileName:z,lineNumber:1321,columnNumber:13},this),` Collapse`]},void 0,!0):(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(Da,{size:14},void 0,!1,{fileName:z,lineNumber:1325,columnNumber:13},this),` Read more`]},void 0,!0)},void 0,!1,{fileName:z,lineNumber:1315,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:1277,columnNumber:5},this)}function cl({groups:e,expandedMap:t,onJump:n}){return(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-5 sticky top-20`,children:[(0,L.jsxDEV)(`h3`,{className:`font-terminal text-sm mb-3 text-accent`,children:`$ cat CHANGELOG`},void 0,!1,{fileName:z,lineNumber:1336,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`space-y-3`,children:e.map(e=>(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`font-terminal text-xs text-muted-foreground mb-1 uppercase tracking-wider`,children:e.version},void 0,!1,{fileName:z,lineNumber:1340,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`space-y-1`,children:e.posts.map(e=>(e.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/-+$/,``),(0,L.jsxDEV)(`button`,{onClick:()=>n(e),className:`w-full text-left text-xs leading-4 px-1.5 py-1 rounded transition-colors ${t.has(e.title)?`bg-primary/10 text-primary border border-primary/20`:`text-foreground/80 hover:bg-muted/50`}`,children:e.title.replace(/^v\d+\.\d+\.\d+\s*[-—]\s*/,``)},e.title,!1,{fileName:z,lineNumber:1348,columnNumber:19},this)))},void 0,!1,{fileName:z,lineNumber:1343,columnNumber:13},this)]},e.version,!0,{fileName:z,lineNumber:1339,columnNumber:11},this))},void 0,!1,{fileName:z,lineNumber:1337,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:1335,columnNumber:5},this)}function ll(){qc({title:`Keating Blog — Changelog & Release Notes`,description:`Latest updates, release notes, and development news for Keating — the Pi-powered hyperteacher for Socratic AI tutoring.`,canonical:`https://keating.help/blog`});let[e,t]=(0,F.useState)(new Set),n=e=>{t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},r=e=>{let n=e.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/-+$/,``),r=document.getElementById(n);r&&(r.scrollIntoView({behavior:`smooth`,block:`start`}),t(t=>new Set(t).add(e.title)))},i=(0,F.useMemo)(()=>ol(al),[]);return(0,L.jsxDEV)(`div`,{className:`retro-layout retro-page`,children:[(0,L.jsxDEV)(Po,{},void 0,!1,{fileName:z,lineNumber:1401,columnNumber:7},this),(0,L.jsxDEV)(`main`,{className:`pt-6 pb-16 px-6`,children:(0,L.jsxDEV)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-8 mb-8`,children:[(0,L.jsxDEV)(`h1`,{className:`text-3xl md:text-4xl font-bold mb-2`,children:`Keating Updates`},void 0,!1,{fileName:z,lineNumber:1407,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-muted-foreground font-terminal`,children:`Development log and release notes`},void 0,!1,{fileName:z,lineNumber:1408,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:1406,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`flex flex-col lg:flex-row gap-8`,children:[(0,L.jsxDEV)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:al.map(t=>(0,L.jsxDEV)(sl,{post:t,expanded:e.has(t.title),onToggle:()=>n(t.title)},t.title,!1,{fileName:z,lineNumber:1415,columnNumber:17},this))},void 0,!1,{fileName:z,lineNumber:1413,columnNumber:13},this),(0,L.jsxDEV)(`aside`,{className:`lg:w-64 shrink-0`,children:(0,L.jsxDEV)(cl,{groups:i,expandedMap:e,onJump:r},void 0,!1,{fileName:z,lineNumber:1426,columnNumber:15},this)},void 0,!1,{fileName:z,lineNumber:1425,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:1411,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`mt-12 p-6 bg-foreground text-background`,children:[(0,L.jsxDEV)(`h3`,{className:`font-terminal text-lg mb-2`,children:`STAY_UPDATED`},void 0,!1,{fileName:z,lineNumber:1435,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-sm text-background/70`,children:[`Follow development on`,` `,(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,className:`text-[#d44a3d] underline`,children:`GitHub`},void 0,!1,{fileName:z,lineNumber:1438,columnNumber:15},this),` `,`or watch the repository for release notifications.`]},void 0,!0,{fileName:z,lineNumber:1436,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:1434,columnNumber:11},this)]},void 0,!0,{fileName:z,lineNumber:1404,columnNumber:9},this)},void 0,!1,{fileName:z,lineNumber:1403,columnNumber:7},this),(0,L.jsxDEV)(Lo,{},void 0,!1,{fileName:z,lineNumber:1450,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:1400,columnNumber:5},this)}function ul(e){return vl(e)&&!dl(e)&&!Sl(e)&&Symbol.asyncIterator in e}function dl(e){return Array.isArray(e)}function fl(e){return typeof e==`bigint`}function pl(e){return typeof e==`boolean`}function ml(e){return e instanceof globalThis.Date}function aee(e){return typeof e==`function`}function hl(e){return vl(e)&&!dl(e)&&!Sl(e)&&Symbol.iterator in e}function gl(e){return e===null}function _l(e){return typeof e==`number`}function vl(e){return typeof e==`object`&&!!e}function yl(e){return e instanceof globalThis.RegExp}function bl(e){return typeof e==`string`}function xl(e){return typeof e==`symbol`}function Sl(e){return e instanceof globalThis.Uint8Array}function Cl(e){return e===void 0}function wl(e){return e.map(e=>kl(e))}function Tl(e){return new Date(e.getTime())}function El(e){return new Uint8Array(e)}function Dl(e){return new RegExp(e.source,e.flags)}function Ol(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=kl(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=kl(e[n]);return t}function kl(e){return dl(e)?wl(e):ml(e)?Tl(e):Sl(e)?El(e):yl(e)?Dl(e):vl(e)?Ol(e):e}function Al(e){return kl(e)}function jl(e,t){return Al(t===void 0?e:{...t,...e})}function oee(e){return typeof e==`object`&&!!e}function Ml(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function Nl(e){return e===void 0}function Pl(e){return typeof e==`number`}var Fl;(function(e){e.InstanceMode=`default`,e.ExactOptionalPropertyTypes=!1,e.AllowArrayObject=!1,e.AllowNaN=!1,e.AllowNullVoid=!1;function t(t,n){return e.ExactOptionalPropertyTypes?n in t:t[n]!==void 0}e.IsExactOptionalProperty=t;function n(t){let n=oee(t);return e.AllowArrayObject?n:n&&!Ml(t)}e.IsObjectLike=n;function r(e){return n(e)&&!(e instanceof Date)&&!(e instanceof Uint8Array)}e.IsRecordLike=r;function i(t){return e.AllowNaN?Pl(t):Number.isFinite(t)}e.IsNumberLike=i;function a(t){let n=Nl(t);return e.AllowNullVoid?n||t===null:n}e.IsVoidLike=a})(Fl||={});function Il(e){return globalThis.Object.freeze(e).map(e=>zl(e))}function see(e){return e}function cee(e){return e}function Ll(e){return e}function Rl(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=zl(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=zl(e[n]);return globalThis.Object.freeze(t)}function zl(e){return dl(e)?Il(e):ml(e)?see(e):Sl(e)?cee(e):yl(e)?Ll(e):vl(e)?Rl(e):e}function Bl(e,t){let n=t===void 0?e:{...t,...e};switch(Fl.InstanceMode){case`freeze`:return zl(n);case`clone`:return Al(n);default:return n}}var Vl=class extends Error{constructor(e){super(e)}},Hl=Symbol.for(`TypeBox.Transform`),Ul=Symbol.for(`TypeBox.Readonly`),Wl=Symbol.for(`TypeBox.Optional`),Gl=Symbol.for(`TypeBox.Hint`),Kl=Symbol.for(`TypeBox.Kind`);function ql(e){return vl(e)&&e[Ul]===`Readonly`}function Jl(e){return vl(e)&&e[Wl]===`Optional`}function Yl(e){return cu(e,`Any`)}function Xl(e){return cu(e,`Argument`)}function Zl(e){return cu(e,`Array`)}function Ql(e){return cu(e,`AsyncIterator`)}function $l(e){return cu(e,`BigInt`)}function eu(e){return cu(e,`Boolean`)}function tu(e){return cu(e,`Computed`)}function nu(e){return cu(e,`Constructor`)}function ru(e){return cu(e,`Date`)}function iu(e){return cu(e,`Function`)}function au(e){return cu(e,`Integer`)}function ou(e){return cu(e,`Intersect`)}function su(e){return cu(e,`Iterator`)}function cu(e,t){return vl(e)&&Kl in e&&e[Kl]===t}function lu(e){return pl(e)||_l(e)||bl(e)}function uu(e){return cu(e,`Literal`)}function du(e){return cu(e,`MappedKey`)}function fu(e){return cu(e,`MappedResult`)}function pu(e){return cu(e,`Never`)}function mu(e){return cu(e,`Not`)}function hu(e){return cu(e,`Null`)}function gu(e){return cu(e,`Number`)}function _u(e){return cu(e,`Object`)}function vu(e){return cu(e,`Promise`)}function yu(e){return cu(e,`Record`)}function bu(e){return cu(e,`Ref`)}function xu(e){return cu(e,`RegExp`)}function Su(e){return cu(e,`String`)}function Cu(e){return cu(e,`Symbol`)}function wu(e){return cu(e,`TemplateLiteral`)}function Tu(e){return cu(e,`This`)}function Eu(e){return vl(e)&&Hl in e}function Du(e){return cu(e,`Tuple`)}function Ou(e){return cu(e,`Undefined`)}function ku(e){return cu(e,`Union`)}function Au(e){return cu(e,`Uint8Array`)}function ju(e){return cu(e,`Unknown`)}function Mu(e){return cu(e,`Unsafe`)}function Nu(e){return cu(e,`Void`)}function Pu(e){return vl(e)&&Kl in e&&bl(e[Kl])}function Fu(e){return Yl(e)||Xl(e)||Zl(e)||eu(e)||$l(e)||Ql(e)||tu(e)||nu(e)||ru(e)||iu(e)||au(e)||ou(e)||su(e)||uu(e)||du(e)||fu(e)||pu(e)||mu(e)||hu(e)||gu(e)||_u(e)||vu(e)||yu(e)||bu(e)||xu(e)||Su(e)||Cu(e)||wu(e)||Tu(e)||Du(e)||Ou(e)||ku(e)||Au(e)||ju(e)||Mu(e)||Nu(e)||Pu(e)}var Iu=`Argument.Any.Array.AsyncIterator.BigInt.Boolean.Computed.Constructor.Date.Enum.Function.Integer.Intersect.Iterator.Literal.MappedKey.MappedResult.Not.Null.Number.Object.Promise.Record.Ref.RegExp.String.Symbol.TemplateLiteral.This.Tuple.Undefined.Union.Uint8Array.Unknown.Void`.split(`.`);function Lu(e){try{return new RegExp(e),!0}catch{return!1}}function Ru(e){if(!bl(e))return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n>=7&&n<=13||n===27||n===127)return!1}return!0}function zu(e){return Hu(e)||Fd(e)}function Bu(e){return Cl(e)||fl(e)}function Vu(e){return Cl(e)||_l(e)}function Hu(e){return Cl(e)||pl(e)}function Uu(e){return Cl(e)||bl(e)}function Wu(e){return Cl(e)||bl(e)&&Ru(e)&&Lu(e)}function lee(e){return Cl(e)||bl(e)&&Ru(e)}function Gu(e){return Cl(e)||Fd(e)}function Ku(e){return vl(e)&&e[Wl]===`Optional`}function qu(e){return ad(e,`Any`)&&Uu(e.$id)}function uee(e){return ad(e,`Argument`)&&_l(e.index)}function Ju(e){return ad(e,`Array`)&&e.type===`array`&&Uu(e.$id)&&Fd(e.items)&&Vu(e.minItems)&&Vu(e.maxItems)&&Hu(e.uniqueItems)&&Gu(e.contains)&&Vu(e.minContains)&&Vu(e.maxContains)}function Yu(e){return ad(e,`AsyncIterator`)&&e.type===`AsyncIterator`&&Uu(e.$id)&&Fd(e.items)}function Xu(e){return ad(e,`BigInt`)&&e.type===`bigint`&&Uu(e.$id)&&Bu(e.exclusiveMaximum)&&Bu(e.exclusiveMinimum)&&Bu(e.maximum)&&Bu(e.minimum)&&Bu(e.multipleOf)}function Zu(e){return ad(e,`Boolean`)&&e.type===`boolean`&&Uu(e.$id)}function dee(e){return ad(e,`Computed`)&&bl(e.target)&&dl(e.parameters)&&e.parameters.every(e=>Fd(e))}function Qu(e){return ad(e,`Constructor`)&&e.type===`Constructor`&&Uu(e.$id)&&dl(e.parameters)&&e.parameters.every(e=>Fd(e))&&Fd(e.returns)}function $u(e){return ad(e,`Date`)&&e.type===`Date`&&Uu(e.$id)&&Vu(e.exclusiveMaximumTimestamp)&&Vu(e.exclusiveMinimumTimestamp)&&Vu(e.maximumTimestamp)&&Vu(e.minimumTimestamp)&&Vu(e.multipleOfTimestamp)}function ed(e){return ad(e,`Function`)&&e.type===`Function`&&Uu(e.$id)&&dl(e.parameters)&&e.parameters.every(e=>Fd(e))&&Fd(e.returns)}function td(e){return ad(e,`Integer`)&&e.type===`integer`&&Uu(e.$id)&&Vu(e.exclusiveMaximum)&&Vu(e.exclusiveMinimum)&&Vu(e.maximum)&&Vu(e.minimum)&&Vu(e.multipleOf)}function nd(e){return vl(e)&&Object.entries(e).every(([e,t])=>Ru(e)&&Fd(t))}function rd(e){return ad(e,`Intersect`)&&!(bl(e.type)&&e.type!==`object`)&&dl(e.allOf)&&e.allOf.every(e=>Fd(e)&&!Ed(e))&&Uu(e.type)&&(Hu(e.unevaluatedProperties)||Gu(e.unevaluatedProperties))&&Uu(e.$id)}function id(e){return ad(e,`Iterator`)&&e.type===`Iterator`&&Uu(e.$id)&&Fd(e.items)}function ad(e,t){return vl(e)&&Kl in e&&e[Kl]===t}function od(e){return ld(e)&&bl(e.const)}function sd(e){return ld(e)&&_l(e.const)}function cd(e){return ld(e)&&pl(e.const)}function ld(e){return ad(e,`Literal`)&&Uu(e.$id)&&ud(e.const)}function ud(e){return pl(e)||_l(e)||bl(e)}function dd(e){return ad(e,`MappedKey`)&&dl(e.keys)&&e.keys.every(e=>_l(e)||bl(e))}function fd(e){return ad(e,`MappedResult`)&&nd(e.properties)}function pd(e){return ad(e,`Never`)&&vl(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function md(e){return ad(e,`Not`)&&Fd(e.not)}function hd(e){return ad(e,`Null`)&&e.type===`null`&&Uu(e.$id)}function gd(e){return ad(e,`Number`)&&e.type===`number`&&Uu(e.$id)&&Vu(e.exclusiveMaximum)&&Vu(e.exclusiveMinimum)&&Vu(e.maximum)&&Vu(e.minimum)&&Vu(e.multipleOf)}function _d(e){return ad(e,`Object`)&&e.type===`object`&&Uu(e.$id)&&nd(e.properties)&&zu(e.additionalProperties)&&Vu(e.minProperties)&&Vu(e.maxProperties)}function vd(e){return ad(e,`Promise`)&&e.type===`Promise`&&Uu(e.$id)&&Fd(e.item)}function yd(e){return ad(e,`Record`)&&e.type===`object`&&Uu(e.$id)&&zu(e.additionalProperties)&&vl(e.patternProperties)&&(e=>{let t=Object.getOwnPropertyNames(e.patternProperties);return t.length===1&&Lu(t[0])&&vl(e.patternProperties)&&Fd(e.patternProperties[t[0]])})(e)}function bd(e){return ad(e,`Ref`)&&Uu(e.$id)&&bl(e.$ref)}function xd(e){return ad(e,`RegExp`)&&Uu(e.$id)&&bl(e.source)&&bl(e.flags)&&Vu(e.maxLength)&&Vu(e.minLength)}function Sd(e){return ad(e,`String`)&&e.type===`string`&&Uu(e.$id)&&Vu(e.minLength)&&Vu(e.maxLength)&&Wu(e.pattern)&&lee(e.format)}function Cd(e){return ad(e,`Symbol`)&&e.type===`symbol`&&Uu(e.$id)}function wd(e){return ad(e,`TemplateLiteral`)&&e.type===`string`&&bl(e.pattern)&&e.pattern[0]===`^`&&e.pattern[e.pattern.length-1]===`$`}function Td(e){return ad(e,`This`)&&Uu(e.$id)&&bl(e.$ref)}function Ed(e){return vl(e)&&Hl in e}function Dd(e){return ad(e,`Tuple`)&&e.type===`array`&&Uu(e.$id)&&_l(e.minItems)&&_l(e.maxItems)&&e.minItems===e.maxItems&&(Cl(e.items)&&Cl(e.additionalItems)&&e.minItems===0||dl(e.items)&&e.items.every(e=>Fd(e)))}function Od(e){return ad(e,`Undefined`)&&e.type===`undefined`&&Uu(e.$id)}function kd(e){return ad(e,`Union`)&&Uu(e.$id)&&vl(e)&&dl(e.anyOf)&&e.anyOf.every(e=>Fd(e))}function Ad(e){return ad(e,`Uint8Array`)&&e.type===`Uint8Array`&&Uu(e.$id)&&Vu(e.minByteLength)&&Vu(e.maxByteLength)}function jd(e){return ad(e,`Unknown`)&&Uu(e.$id)}function Md(e){return ad(e,`Unsafe`)}function Nd(e){return ad(e,`Void`)&&e.type===`void`&&Uu(e.$id)}function Pd(e){return vl(e)&&Kl in e&&bl(e[Kl])&&!Iu.includes(e[Kl])}function Fd(e){return vl(e)&&(qu(e)||uee(e)||Ju(e)||Zu(e)||Xu(e)||Yu(e)||dee(e)||Qu(e)||$u(e)||ed(e)||td(e)||rd(e)||id(e)||ld(e)||dd(e)||fd(e)||pd(e)||md(e)||hd(e)||gd(e)||_d(e)||vd(e)||yd(e)||bd(e)||xd(e)||Sd(e)||Cd(e)||wd(e)||Td(e)||Dd(e)||Od(e)||kd(e)||Ad(e)||jd(e)||Md(e)||Nd(e)||Pd(e))}var Id=`(true|false)`,Ld=`(0|[1-9][0-9]*)`,Rd=`(.*)`,zd=`(?!.*)`;`${Id}`;var Bd=`^${Ld}$`,Vd=`^${Rd}$`,Hd=`^${zd}$`;function Ud(e,t){return e.includes(t)}function Wd(e){return[...new Set(e)]}function Gd(e,t){return e.filter(e=>t.includes(e))}function Kd(e,t){return e.reduce((e,t)=>Gd(e,t),t)}function qd(e){return e.length===1?e[0]:e.length>1?Kd(e.slice(1),e[0]):[]}function Jd(e){let t=[];for(let n of e)t.push(...n);return t}function Yd(e){return Bl({[Kl]:`Any`},e)}function Xd(e,t){return Bl({[Kl]:`Array`,type:`array`,items:e},t)}function Zd(e){return Bl({[Kl]:`Argument`,index:e})}function Qd(e,t){return Bl({[Kl]:`AsyncIterator`,type:`AsyncIterator`,items:e},t)}function $d(e,t,n){return Bl({[Kl]:`Computed`,target:e,parameters:t},n)}function ef(e,t){let{[t]:n,...r}=e;return r}function tf(e,t){return t.reduce((e,t)=>ef(e,t),e)}function nf(e){return Bl({[Kl]:`Never`,not:{}},e)}function rf(e){return Bl({[Kl]:`MappedResult`,properties:e})}function af(e,t,n){return Bl({[Kl]:`Constructor`,type:`Constructor`,parameters:e,returns:t},n)}function of(e,t,n){return Bl({[Kl]:`Function`,type:`Function`,parameters:e,returns:t},n)}function sf(e,t){return Bl({[Kl]:`Union`,anyOf:e},t)}function cf(e){return e.some(e=>Jl(e))}function lf(e){return e.map(e=>Jl(e)?uf(e):e)}function uf(e){return tf(e,[Wl])}function df(e,t){return cf(e)?Yp(sf(lf(e),t)):sf(lf(e),t)}function ff(e,t){return e.length===1?Bl(e[0],t):e.length===0?nf(t):df(e,t)}function pf(e,t){return e.length===0?nf(t):e.length===1?Bl(e[0],t):sf(e,t)}var mf=class extends Vl{};function hf(e){return e.replace(/\\\$/g,`$`).replace(/\\\*/g,`*`).replace(/\\\^/g,`^`).replace(/\\\|/g,`|`).replace(/\\\(/g,`(`).replace(/\\\)/g,`)`)}function gf(e,t,n){return e[t]===n&&e.charCodeAt(t-1)!==92}function _f(e,t){return gf(e,t,`(`)}function vf(e,t){return gf(e,t,`)`)}function yf(e,t){return gf(e,t,`|`)}function bf(e){if(!(_f(e,0)&&vf(e,e.length-1)))return!1;let t=0;for(let n=0;n<e.length;n++)if(_f(e,n)&&(t+=1),vf(e,n)&&--t,t===0&&n!==e.length-1)return!1;return!0}function xf(e){return e.slice(1,e.length-1)}function Sf(e){let t=0;for(let n=0;n<e.length;n++)if(_f(e,n)&&(t+=1),vf(e,n)&&--t,yf(e,n)&&t===0)return!0;return!1}function Cf(e){for(let t=0;t<e.length;t++)if(_f(e,t))return!0;return!1}function wf(e){let[t,n]=[0,0],r=[];for(let i=0;i<e.length;i++)if(_f(e,i)&&(t+=1),vf(e,i)&&--t,yf(e,i)&&t===0){let t=e.slice(n,i);t.length>0&&r.push(Ef(t)),n=i+1}let i=e.slice(n);return i.length>0&&r.push(Ef(i)),r.length===0?{type:`const`,const:``}:r.length===1?r[0]:{type:`or`,expr:r}}function Tf(e){function t(e,t){if(!_f(e,t))throw new mf(`TemplateLiteralParser: Index must point to open parens`);let n=0;for(let r=t;r<e.length;r++)if(_f(e,r)&&(n+=1),vf(e,r)&&--n,n===0)return[t,r];throw new mf(`TemplateLiteralParser: Unclosed group parens in expression`)}function n(e,t){for(let n=t;n<e.length;n++)if(_f(e,n))return[t,n];return[t,e.length]}let r=[];for(let i=0;i<e.length;i++)if(_f(e,i)){let[n,a]=t(e,i),o=e.slice(n,a+1);r.push(Ef(o)),i=a}else{let[t,a]=n(e,i),o=e.slice(t,a);o.length>0&&r.push(Ef(o)),i=a-1}return r.length===0?{type:`const`,const:``}:r.length===1?r[0]:{type:`and`,expr:r}}function Ef(e){return bf(e)?Ef(xf(e)):Sf(e)?wf(e):Cf(e)?Tf(e):{type:`const`,const:hf(e)}}function Df(e){return Ef(e.slice(1,e.length-1))}var Of=class extends Vl{};function kf(e){return e.type===`or`&&e.expr.length===2&&e.expr[0].type===`const`&&e.expr[0].const===`0`&&e.expr[1].type===`const`&&e.expr[1].const===`[1-9][0-9]*`}function Af(e){return e.type===`or`&&e.expr.length===2&&e.expr[0].type===`const`&&e.expr[0].const===`true`&&e.expr[1].type===`const`&&e.expr[1].const===`false`}function jf(e){return e.type===`const`&&e.const===`.*`}function Mf(e){return kf(e)||jf(e)?!1:Af(e)?!0:e.type===`and`||e.type===`or`?e.expr.every(e=>Mf(e)):e.type===`const`?!0:(()=>{throw new Of(`Unknown expression type`)})()}function Nf(e){return Mf(Df(e.pattern))}var Pf=class extends Vl{};function*Ff(e){if(e.length===1)return yield*e[0];for(let t of e[0])for(let n of Ff(e.slice(1)))yield`${t}${n}`}function*If(e){return yield*Ff(e.expr.map(e=>[...zf(e)]))}function*Lf(e){for(let t of e.expr)yield*zf(t)}function*Rf(e){return yield e.const}function*zf(e){return e.type===`and`?yield*If(e):e.type===`or`?yield*Lf(e):e.type===`const`?yield*Rf(e):(()=>{throw new Pf(`Unknown expression`)})()}function Bf(e){let t=Df(e.pattern);return Mf(t)?[...zf(t)]:[]}function Vf(e,t){return Bl({[Kl]:`Literal`,const:e,type:typeof e},t)}function Hf(e){return Bl({[Kl]:`Boolean`,type:`boolean`},e)}function Uf(e){return Bl({[Kl]:`BigInt`,type:`bigint`},e)}function Wf(e){return Bl({[Kl]:`Number`,type:`number`},e)}function Gf(e){return Bl({[Kl]:`String`,type:`string`},e)}function*Kf(e){let t=e.trim().replace(/"|'/g,``);return t===`boolean`?yield Hf():t===`number`?yield Wf():t===`bigint`?yield Uf():t===`string`?yield Gf():yield(()=>{let e=t.split(`|`).map(e=>Vf(e.trim()));return e.length===0?nf():e.length===1?e[0]:ff(e)})()}function*qf(e){if(e[1]!==`{`)return yield*[Vf(`$`),...Jf(e.slice(1))];for(let t=2;t<e.length;t++)if(e[t]===`}`){let n=Kf(e.slice(2,t)),r=Jf(e.slice(t+1));return yield*[...n,...r]}yield Vf(e)}function*Jf(e){for(let t=0;t<e.length;t++)if(e[t]===`$`)return yield*[Vf(e.slice(0,t)),...qf(e.slice(t))];yield Vf(e)}function Yf(e){return[...Jf(e)]}var Xf=class extends Vl{};function Zf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Qf(e,t){return wu(e)?e.pattern.slice(1,e.pattern.length-1):ku(e)?`(${e.anyOf.map(e=>Qf(e,t)).join(`|`)})`:gu(e)||au(e)||$l(e)?`${t}${Ld}`:Su(e)?`${t}${Rd}`:uu(e)?`${t}${Zf(e.const.toString())}`:eu(e)?`${t}${Id}`:(()=>{throw new Xf(`Unexpected Kind '${e[Kl]}'`)})()}function $f(e){return`^${e.map(e=>Qf(e,``)).join(``)}\$`}function ep(e){return ff(Bf(e).map(e=>Vf(e)))}function tp(e,t){let n=bl(e)?$f(Yf(e)):$f(e);return Bl({[Kl]:`TemplateLiteral`,type:`string`,pattern:n},t)}function np(e){return Bf(e).map(e=>e.toString())}function rp(e){let t=[];for(let n of e)t.push(...ap(n));return t}function ip(e){return[e.toString()]}function ap(e){return[...new Set(wu(e)?np(e):ku(e)?rp(e.anyOf):uu(e)?ip(e.const):gu(e)||au(e)?[`[number]`]:[])]}function op(e,t,n){let r={};for(let i of Object.getOwnPropertyNames(t))r[i]=bp(e,ap(t[i]),n);return r}function sp(e,t,n){return op(e,t.properties,n)}function cp(e,t,n){return rf(sp(e,t,n))}function lp(e,t){return e.map(e=>_p(e,t))}function up(e){return e.filter(e=>!pu(e))}function dp(e,t){return im(up(lp(e,t)))}function fp(e){return e.some(e=>pu(e))?[]:e}function pp(e,t){return ff(fp(lp(e,t)))}function mp(e,t){return t in e?e[t]:t===`[number]`?ff(e):nf()}function hp(e,t){return t===`[number]`?e:nf()}function gp(e,t){return t in e?e[t]:nf()}function _p(e,t){return ou(e)?dp(e.allOf,t):ku(e)?pp(e.anyOf,t):Du(e)?mp(e.items??[],t):Zl(e)?hp(e.items,t):_u(e)?gp(e.properties,t):nf()}function vp(e,t){return t.map(t=>_p(e,t))}function yp(e,t){return ff(vp(e,t))}function bp(e,t,n){if(bu(e)||bu(t)){if(!Fu(e)||!Fu(t))throw new Vl(`Index types using Ref parameters require both Type and Key to be of TSchema`);return $d(`Index`,[e,t])}return fu(t)?cp(e,t,n):du(t)?wp(e,t,n):Bl(Fu(t)?yp(e,ap(t)):yp(e,t),n)}function xp(e,t,n){return{[t]:bp(e,[t],Al(n))}}function Sp(e,t,n){return t.reduce((t,r)=>({...t,...xp(e,r,n)}),{})}function Cp(e,t,n){return Sp(e,t.keys,n)}function wp(e,t,n){return rf(Cp(e,t,n))}function Tp(e,t){return Bl({[Kl]:`Iterator`,type:`Iterator`,items:e},t)}function fee(e){return globalThis.Object.keys(e).filter(t=>!Jl(e[t]))}function pee(e,t){let n=fee(e);return Bl(n.length>0?{[Kl]:`Object`,type:`object`,required:n,properties:e}:{[Kl]:`Object`,type:`object`,properties:e},t)}var Ep=pee;function Dp(e,t){return Bl({[Kl]:`Promise`,type:`Promise`,item:e},t)}function Op(e){return Bl(tf(e,[Ul]))}function kp(e){return Bl({...e,[Ul]:`Readonly`})}function Ap(e,t){return t===!1?Op(e):kp(e)}function jp(e,t){let n=t??!0;return fu(e)?Pp(e,n):Ap(e,n)}function Mp(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=jp(e[r],t);return n}function Np(e,t){return Mp(e.properties,t)}function Pp(e,t){return rf(Np(e,t))}function Fp(e,t){return Bl(e.length>0?{[Kl]:`Tuple`,type:`array`,items:e,additionalItems:!1,minItems:e.length,maxItems:e.length}:{[Kl]:`Tuple`,type:`array`,minItems:e.length,maxItems:e.length},t)}function Ip(e,t){return e in t?Up(e,t[e]):rf(t)}function Lp(e){return{[e]:Vf(e)}}function Rp(e){let t={};for(let n of e)t[n]=Vf(n);return t}function zp(e,t){return Ud(t,e)?Lp(e):Rp(t)}function Bp(e,t){return Ip(e,zp(e,t))}function Vp(e,t){return t.map(t=>Up(e,t))}function Hp(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(t))n[r]=Up(e,t[r]);return n}function Up(e,t){let n={...t};return Jl(t)?Yp(Up(e,tf(t,[Wl]))):ql(t)?jp(Up(e,tf(t,[Ul]))):fu(t)?Ip(e,t.properties):du(t)?Bp(e,t.keys):nu(t)?af(Vp(e,t.parameters),Up(e,t.returns),n):iu(t)?of(Vp(e,t.parameters),Up(e,t.returns),n):Ql(t)?Qd(Up(e,t.items),n):su(t)?Tp(Up(e,t.items),n):ou(t)?am(Vp(e,t.allOf),n):ku(t)?pf(Vp(e,t.anyOf),n):Du(t)?Fp(Vp(e,t.items??[]),n):_u(t)?Ep(Hp(e,t.properties),n):Zl(t)?Xd(Up(e,t.items),n):vu(t)?Dp(Up(e,t.item),n):t}function Wp(e,t){let n={};for(let r of e)n[r]=Up(r,t);return n}function Gp(e,t,n){let r=Fu(e)?ap(e):e;return Ep(Wp(r,t({[Kl]:`MappedKey`,keys:r})),n)}function Kp(e){return Bl(tf(e,[Wl]))}function qp(e){return Bl({...e,[Wl]:`Optional`})}function Jp(e,t){return t===!1?Kp(e):qp(e)}function Yp(e,t){let n=t??!0;return fu(e)?Qp(e,n):Jp(e,n)}function Xp(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=Yp(e[r],t);return n}function Zp(e,t){return Xp(e.properties,t)}function Qp(e,t){return rf(Zp(e,t))}function $p(e,t={}){let n=e.every(e=>_u(e)),r=Fu(t.unevaluatedProperties)?{unevaluatedProperties:t.unevaluatedProperties}:{};return Bl(t.unevaluatedProperties===!1||Fu(t.unevaluatedProperties)||n?{...r,[Kl]:`Intersect`,type:`object`,allOf:e}:{...r,[Kl]:`Intersect`,allOf:e},t)}function em(e){return e.every(e=>Jl(e))}function tm(e){return tf(e,[Wl])}function nm(e){return e.map(e=>Jl(e)?tm(e):e)}function rm(e,t){return em(e)?Yp($p(nm(e),t)):$p(nm(e),t)}function im(e,t={}){if(e.length===1)return Bl(e[0],t);if(e.length===0)return nf(t);if(e.some(e=>Eu(e)))throw Error(`Cannot intersect transform types`);return rm(e,t)}function am(e,t){if(e.length===1)return Bl(e[0],t);if(e.length===0)return nf(t);if(e.some(e=>Eu(e)))throw Error(`Cannot intersect transform types`);return $p(e,t)}function om(...e){let[t,n]=typeof e[0]==`string`?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof t!=`string`)throw new Vl(`Ref: $ref must be a string`);return Bl({[Kl]:`Ref`,$ref:t},n)}function sm(e,t){return $d(`Awaited`,[$d(e,t)])}function cm(e){return $d(`Awaited`,[om(e)])}function lm(e){return am(fm(e))}function um(e){return pf(fm(e))}function dm(e){return pm(e)}function fm(e){return e.map(e=>pm(e))}function pm(e,t){return Bl(tu(e)?sm(e.target,e.parameters):ou(e)?lm(e.allOf):ku(e)?um(e.anyOf):vu(e)?dm(e.item):bu(e)?cm(e.$ref):e,t)}function mm(e){let t=[];for(let n of e)t.push(ym(n));return t}function mee(e){return Jd(mm(e))}function hee(e){return qd(mm(e))}function hm(e){return e.map((e,t)=>t.toString())}function gm(e){return[`[number]`]}function _m(e){return globalThis.Object.getOwnPropertyNames(e)}function vm(e){return bm?globalThis.Object.getOwnPropertyNames(e).map(e=>e[0]===`^`&&e[e.length-1]===`$`?e.slice(1,e.length-1):e):[]}function ym(e){return ou(e)?mee(e.allOf):ku(e)?hee(e.anyOf):Du(e)?hm(e.items??[]):Zl(e)?gm(e.items):_u(e)?_m(e.properties):yu(e)?vm(e.patternProperties):[]}var bm=!1;function xm(e,t){return $d(`KeyOf`,[$d(e,t)])}function Sm(e){return $d(`KeyOf`,[om(e)])}function gee(e,t){return Bl(ff(Cm(ym(e))),t)}function Cm(e){return e.map(e=>e===`[number]`?Wf():Vf(e))}function wm(e,t){return tu(e)?xm(e.target,e.parameters):bu(e)?Sm(e.$ref):fu(e)?Dm(e,t):gee(e,t)}function Tm(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=wm(e[r],Al(t));return n}function Em(e,t){return Tm(e.properties,t)}function Dm(e,t){return rf(Em(e,t))}function Om(e){let t=[];for(let n of e)t.push(...ym(n));return Wd(t)}function km(e){return e.filter(e=>!pu(e))}function Am(e,t){let n=[];for(let r of e)n.push(...vp(r,[t]));return km(n)}function jm(e,t){let n={};for(let r of t)n[r]=im(Am(e,r));return n}function Mm(e,t){return Ep(jm(e,Om(e)),t)}function Nm(e){return Bl({[Kl]:`Date`,type:`Date`},e)}function Pm(e){return Bl({[Kl]:`Null`,type:`null`},e)}function Fm(e){return Bl({[Kl]:`Symbol`,type:`symbol`},e)}function Im(e){return Bl({[Kl]:`Undefined`,type:`undefined`},e)}function Lm(e){return Bl({[Kl]:`Uint8Array`,type:`Uint8Array`},e)}function Rm(e){return Bl({[Kl]:`Unknown`},e)}function zm(e){return e.map(e=>Hm(e,!1))}function Bm(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=jp(Hm(e[n],!1));return t}function Vm(e,t){return t===!0?e:jp(e)}function Hm(e,t){return ul(e)||hl(e)?Vm(Yd(),t):dl(e)?jp(Fp(zm(e))):Sl(e)?Lm():ml(e)?Nm():vl(e)?Vm(Ep(Bm(e)),t):aee(e)?Vm(of([],Rm()),t):Cl(e)?Im():gl(e)?Pm():xl(e)?Fm():fl(e)?Uf():_l(e)||pl(e)||bl(e)?Vf(e):Ep({})}function Um(e,t){return Bl(Hm(e,!0),t)}function Wm(e,t){return nu(e)?Fp(e.parameters,t):nf(t)}function Gm(e,t){if(Cl(e))throw Error(`Enum undefined or empty`);let n=globalThis.Object.getOwnPropertyNames(e).filter(e=>isNaN(e)).map(t=>e[t]);return pf([...new Set(n)].map(e=>Vf(e)),{...t,[Gl]:`Enum`})}var Km=class extends Vl{},qm;(function(e){e[e.Union=0]=`Union`,e[e.True=1]=`True`,e[e.False=2]=`False`})(qm||={});function Jm(e){return e===qm.False?e:qm.True}function Ym(e){throw new Km(e)}function Xm(e){return pd(e)||rd(e)||kd(e)||jd(e)||qu(e)}function Zm(e,t){return pd(t)?hh(e,t):rd(t)?dh(e,t):kd(t)?Xh(e,t):jd(t)?Qh(e,t):qu(t)?Qm(e,t):Ym(`StructuralRight`)}function Qm(e,t){return qm.True}function $m(e,t){return rd(t)?dh(e,t):kd(t)&&t.anyOf.some(e=>qu(e)||jd(e))?qm.True:kd(t)?qm.Union:jd(t)||qu(t)?qm.True:qm.Union}function eh(e,t){return jd(e)?qm.False:qu(e)?qm.Union:pd(e)?qm.True:qm.False}function th(e,t){return _d(t)&&Ah(t)?qm.True:Xm(t)?Zm(e,t):Ju(t)?Jm(ng(e.items,t.items)):qm.False}function nh(e,t){return Xm(t)?Zm(e,t):Yu(t)?Jm(ng(e.items,t.items)):qm.False}function rh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Xu(t)?qm.True:qm.False}function ih(e,t){return cd(e)||Zu(e)?qm.True:qm.False}function ah(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Zu(t)?qm.True:qm.False}function oh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):Qu(t)?e.parameters.length>t.parameters.length?qm.False:e.parameters.every((e,n)=>Jm(ng(t.parameters[n],e))===qm.True)?Jm(ng(e.returns,t.returns)):qm.False:qm.False}function sh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):$u(t)?qm.True:qm.False}function ch(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):ed(t)?e.parameters.length>t.parameters.length?qm.False:e.parameters.every((e,n)=>Jm(ng(t.parameters[n],e))===qm.True)?Jm(ng(e.returns,t.returns)):qm.False:qm.False}function lh(e,t){return ld(e)&&_l(e.const)||gd(e)||td(e)?qm.True:qm.False}function uh(e,t){return td(t)||gd(t)?qm.True:Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):qm.False}function dh(e,t){return t.allOf.every(t=>ng(e,t)===qm.True)?qm.True:qm.False}function fh(e,t){return e.allOf.some(e=>ng(e,t)===qm.True)?qm.True:qm.False}function ph(e,t){return Xm(t)?Zm(e,t):id(t)?Jm(ng(e.items,t.items)):qm.False}function mh(e,t){return ld(t)&&t.const===e.const?qm.True:Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Sd(t)?Vh(e,t):gd(t)?yh(e,t):td(t)?lh(e,t):Zu(t)?ih(e,t):qm.False}function hh(e,t){return qm.False}function gh(e,t){return qm.True}function _h(e){let[t,n]=[e,0];for(;md(t);)t=t.not,n+=1;return n%2==0?t:Rm()}function vh(e,t){return md(e)?ng(_h(e),t):md(t)?ng(e,_h(t)):Ym(`Invalid fallthrough for Not`)}function _ee(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):hd(t)?qm.True:qm.False}function yh(e,t){return sd(e)||gd(e)||td(e)?qm.True:qm.False}function bh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):td(t)||gd(t)?qm.True:qm.False}function xh(e,t){return Object.getOwnPropertyNames(e.properties).length===t}function Sh(e){return Ah(e)}function Ch(e){return xh(e,0)||xh(e,1)&&`description`in e.properties&&kd(e.properties.description)&&e.properties.description.anyOf.length===2&&(Sd(e.properties.description.anyOf[0])&&Od(e.properties.description.anyOf[1])||Sd(e.properties.description.anyOf[1])&&Od(e.properties.description.anyOf[0]))}function wh(e){return xh(e,0)}function Th(e){return xh(e,0)}function Eh(e){return xh(e,0)}function Dh(e){return xh(e,0)}function Oh(e){return Ah(e)}function vee(e){let t=Wf();return xh(e,0)||xh(e,1)&&`length`in e.properties&&Jm(ng(e.properties.length,t))===qm.True}function kh(e){return xh(e,0)}function Ah(e){let t=Wf();return xh(e,0)||xh(e,1)&&`length`in e.properties&&Jm(ng(e.properties.length,t))===qm.True}function jh(e){let t=of([Yd()],Yd());return xh(e,0)||xh(e,1)&&`then`in e.properties&&Jm(ng(e.properties.then,t))===qm.True}function Mh(e,t){return ng(e,t)===qm.False||Ku(e)&&!Ku(t)?qm.False:qm.True}function Nh(e,t){return jd(e)?qm.False:qu(e)?qm.Union:pd(e)||od(e)&&Sh(t)||sd(e)&&wh(t)||cd(e)&&Th(t)||Cd(e)&&Ch(t)||Xu(e)&&Eh(t)||Sd(e)&&Sh(t)||Cd(e)&&Ch(t)||gd(e)&&wh(t)||td(e)&&wh(t)||Zu(e)&&Th(t)||Ad(e)&&Oh(t)||$u(e)&&Dh(t)||Qu(e)&&kh(t)||ed(e)&&vee(t)?qm.True:yd(e)&&Sd(Ih(e))?t[Gl]===`Record`?qm.True:qm.False:yd(e)&&gd(Ih(e))&&xh(t,0)?qm.True:qm.False}function Ph(e,t){return Xm(t)?Zm(e,t):yd(t)?Rh(e,t):_d(t)?(()=>{for(let n of Object.getOwnPropertyNames(t.properties)){if(!(n in e.properties)&&!Ku(t.properties[n]))return qm.False;if(Ku(t.properties[n]))return qm.True;if(Mh(e.properties[n],t.properties[n])===qm.False)return qm.False}return qm.True})():qm.False}function Fh(e,t){return Xm(t)?Zm(e,t):_d(t)&&jh(t)?qm.True:vd(t)?Jm(ng(e.item,t.item)):qm.False}function Ih(e){return Bd in e.patternProperties?Wf():Vd in e.patternProperties?Gf():Ym(`Unknown record key pattern`)}function Lh(e){return Bd in e.patternProperties?e.patternProperties[Bd]:Vd in e.patternProperties?e.patternProperties[Vd]:Ym(`Unable to get record value schema`)}function Rh(e,t){let[n,r]=[Ih(t),Lh(t)];return od(e)&&gd(n)&&Jm(ng(e,r))===qm.True?qm.True:Ad(e)&&gd(n)||Sd(e)&&gd(n)||Ju(e)&&gd(n)?ng(e,r):_d(e)?(()=>{for(let t of Object.getOwnPropertyNames(e.properties))if(Mh(r,e.properties[t])===qm.False)return qm.False;return qm.True})():qm.False}function zh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?ng(Lh(e),Lh(t)):qm.False}function Bh(e,t){return ng(xd(e)?Gf():e,xd(t)?Gf():t)}function Vh(e,t){return ld(e)&&bl(e.const)||Sd(e)?qm.True:qm.False}function Hh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Sd(t)?qm.True:qm.False}function Uh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Cd(t)?qm.True:qm.False}function Wh(e,t){return wd(e)?ng(ep(e),t):wd(t)?ng(e,ep(t)):Ym(`Invalid fallthrough for TemplateLiteral`)}function Gh(e,t){return Ju(t)&&e.items!==void 0&&e.items.every(e=>ng(e,t.items)===qm.True)}function Kh(e,t){return pd(e)?qm.True:jd(e)?qm.False:qu(e)?qm.Union:qm.False}function qh(e,t){return Xm(t)?Zm(e,t):_d(t)&&Ah(t)||Ju(t)&&Gh(e,t)?qm.True:Dd(t)?Cl(e.items)&&!Cl(t.items)||!Cl(e.items)&&Cl(t.items)?qm.False:Cl(e.items)&&!Cl(t.items)||e.items.every((e,n)=>ng(e,t.items[n])===qm.True)?qm.True:qm.False:qm.False}function Jh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Ad(t)?qm.True:qm.False}function Yh(e,t){return Xm(t)?Zm(e,t):_d(t)?Nh(e,t):yd(t)?Rh(e,t):Nd(t)?eg(e,t):Od(t)?qm.True:qm.False}function Xh(e,t){return t.anyOf.some(t=>ng(e,t)===qm.True)?qm.True:qm.False}function Zh(e,t){return e.anyOf.every(e=>ng(e,t)===qm.True)?qm.True:qm.False}function Qh(e,t){return qm.True}function $h(e,t){return pd(t)?hh(e,t):rd(t)?dh(e,t):kd(t)?Xh(e,t):qu(t)?Qm(e,t):Sd(t)?Vh(e,t):gd(t)?yh(e,t):td(t)?lh(e,t):Zu(t)?ih(e,t):Ju(t)?eh(e,t):Dd(t)?Kh(e,t):_d(t)?Nh(e,t):jd(t)?qm.True:qm.False}function eg(e,t){return Od(e)||Od(e)?qm.True:qm.False}function tg(e,t){return rd(t)?dh(e,t):kd(t)?Xh(e,t):jd(t)?Qh(e,t):qu(t)?Qm(e,t):_d(t)?Nh(e,t):Nd(t)?qm.True:qm.False}function ng(e,t){return wd(e)||wd(t)?Wh(e,t):xd(e)||xd(t)?Bh(e,t):md(e)||md(t)?vh(e,t):qu(e)?$m(e,t):Ju(e)?th(e,t):Xu(e)?rh(e,t):Zu(e)?ah(e,t):Yu(e)?nh(e,t):Qu(e)?oh(e,t):$u(e)?sh(e,t):ed(e)?ch(e,t):td(e)?uh(e,t):rd(e)?fh(e,t):id(e)?ph(e,t):ld(e)?mh(e,t):pd(e)?gh(e,t):hd(e)?_ee(e,t):gd(e)?bh(e,t):_d(e)?Ph(e,t):yd(e)?zh(e,t):Sd(e)?Hh(e,t):Cd(e)?Uh(e,t):Dd(e)?qh(e,t):vd(e)?Fh(e,t):Ad(e)?Jh(e,t):Od(e)?Yh(e,t):kd(e)?Zh(e,t):jd(e)?$h(e,t):Nd(e)?tg(e,t):Ym(`Unknown left type operand '${e[Kl]}'`)}function rg(e,t){return ng(e,t)}function ig(e,t,n,r,i){let a={};for(let o of globalThis.Object.getOwnPropertyNames(e))a[o]=cg(e[o],t,n,r,Al(i));return a}function ag(e,t,n,r,i){return ig(e.properties,t,n,r,i)}function og(e,t,n,r,i){return rf(ag(e,t,n,r,i))}function sg(e,t,n,r){let i=rg(e,t);return i===qm.Union?pf([n,r]):i===qm.True?n:r}function cg(e,t,n,r,i){return fu(e)?og(e,t,n,r,i):du(e)?Bl(fg(e,t,n,r,i)):Bl(sg(e,t,n,r),i)}function lg(e,t,n,r,i){return{[e]:cg(Vf(e),t,n,r,Al(i))}}function ug(e,t,n,r,i){return e.reduce((e,a)=>({...e,...lg(a,t,n,r,i)}),{})}function dg(e,t,n,r,i){return ug(e.keys,t,n,r,i)}function fg(e,t,n,r,i){return rf(dg(e,t,n,r,i))}function pg(e,t){return hg(ep(e),t)}function mg(e,t){let n=e.filter(e=>rg(e,t)===qm.False);return n.length===1?n[0]:pf(n)}function hg(e,t,n={}){return wu(e)?Bl(pg(e,t),n):fu(e)?Bl(vg(e,t),n):Bl(ku(e)?mg(e.anyOf,t):rg(e,t)===qm.False?e:nf(),n)}function gg(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=hg(e[r],t);return n}function _g(e,t){return gg(e.properties,t)}function vg(e,t){return rf(_g(e,t))}function yg(e,t){return xg(ep(e),t)}function bg(e,t){let n=e.filter(e=>rg(e,t)!==qm.False);return n.length===1?n[0]:pf(n)}function xg(e,t,n){return wu(e)?Bl(yg(e,t),n):fu(e)?Bl(wg(e,t),n):Bl(ku(e)?bg(e.anyOf,t):rg(e,t)===qm.False?nf():e,n)}function Sg(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=xg(e[r],t);return n}function Cg(e,t){return Sg(e.properties,t)}function wg(e,t){return rf(Cg(e,t))}function Tg(e,t){return nu(e)?Bl(e.returns,t):nf(t)}function Eg(e){return jp(Yp(e))}function Dg(e,t,n){return Bl({[Kl]:`Record`,type:`object`,patternProperties:{[e]:t}},n)}function Og(e,t,n){let r={};for(let n of e)r[n]=t;return Ep(r,{...n,[Gl]:`Record`})}function kg(e,t,n){return Nf(e)?Og(ap(e),t,n):Dg(e.pattern,t,n)}function Ag(e,t,n){return Og(ap(pf(e)),t,n)}function jg(e,t,n){return Og([e.toString()],t,n)}function Mg(e,t,n){return Dg(e.source,t,n)}function Ng(e,t,n){return Dg(Cl(e.pattern)?Vd:e.pattern,t,n)}function Pg(e,t,n){return Dg(Vd,t,n)}function Fg(e,t,n){return Dg(Hd,t,n)}function Ig(e,t,n){return Ep({true:t,false:t},n)}function Lg(e,t,n){return Dg(Bd,t,n)}function Rg(e,t,n){return Dg(Bd,t,n)}function zg(e,t,n={}){return ku(e)?Ag(e.anyOf,t,n):wu(e)?kg(e,t,n):uu(e)?jg(e.const,t,n):eu(e)?Ig(e,t,n):au(e)?Lg(e,t,n):gu(e)?Rg(e,t,n):xu(e)?Mg(e,t,n):Su(e)?Ng(e,t,n):Yl(e)?Pg(e,t,n):pu(e)?Fg(e,t,n):nf(n)}function Bg(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function Vg(e){let t=Bg(e);return t===Vd?Gf():t===Bd?Wf():Gf({pattern:t})}function Hg(e){return e.patternProperties[Bg(e)]}function Ug(e,t){return t.parameters=n_(e,t.parameters),t.returns=r_(e,t.returns),t}function Wg(e,t){return t.parameters=n_(e,t.parameters),t.returns=r_(e,t.returns),t}function Gg(e,t){return t.allOf=n_(e,t.allOf),t}function Kg(e,t){return t.anyOf=n_(e,t.anyOf),t}function qg(e,t){return Cl(t.items)||(t.items=n_(e,t.items)),t}function Jg(e,t){return t.items=r_(e,t.items),t}function Yg(e,t){return t.items=r_(e,t.items),t}function Xg(e,t){return t.items=r_(e,t.items),t}function Zg(e,t){return t.item=r_(e,t.item),t}function Qg(e,t){let n=t_(e,t.properties);return{...t,...Ep(n)}}function $g(e,t){let n=zg(r_(e,Vg(t)),r_(e,Hg(t)));return{...t,...n}}function yee(e,t){return t.index in e?e[t.index]:Rm()}function e_(e,t){let n=ql(t),r=Jl(t),i=r_(e,t);return n&&r?Eg(i):n&&!r?jp(i):!n&&r?Yp(i):i}function t_(e,t){return globalThis.Object.getOwnPropertyNames(t).reduce((n,r)=>({...n,[r]:e_(e,t[r])}),{})}function n_(e,t){return t.map(t=>r_(e,t))}function r_(e,t){return nu(t)?Ug(e,t):iu(t)?Wg(e,t):ou(t)?Gg(e,t):ku(t)?Kg(e,t):Du(t)?qg(e,t):Zl(t)?Jg(e,t):Ql(t)?Yg(e,t):su(t)?Xg(e,t):vu(t)?Zg(e,t):_u(t)?Qg(e,t):yu(t)?$g(e,t):Xl(t)?yee(e,t):t}function i_(e,t){return r_(t,jl(e))}function a_(e){return Bl({[Kl]:`Integer`,type:`integer`},e)}function o_(e,t,n){return{[e]:__(Vf(e),t,Al(n))}}function s_(e,t,n){return e.reduce((e,r)=>({...e,...o_(r,t,n)}),{})}function c_(e,t,n){return s_(e.keys,t,n)}function l_(e,t,n){return rf(c_(e,t,n))}function u_(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(),n].join(``)}function d_(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(),n].join(``)}function f_(e){return e.toUpperCase()}function p_(e){return e.toLowerCase()}function m_(e,t,n){let r=Df(e.pattern);return Mf(r)?tp([pf(g_([...zf(r)].map(e=>Vf(e)),t))],n):{...e,pattern:h_(e.pattern,t)}}function h_(e,t){return typeof e==`string`?t===`Uncapitalize`?u_(e):t===`Capitalize`?d_(e):t===`Uppercase`?f_(e):t===`Lowercase`?p_(e):e:e.toString()}function g_(e,t){return e.map(e=>__(e,t))}function __(e,t,n={}){return du(e)?l_(e,t,n):wu(e)?m_(e,t,n):ku(e)?pf(g_(e.anyOf,t),n):uu(e)?Vf(h_(e.const,t),n):Bl(e,n)}function v_(e,t={}){return __(e,`Capitalize`,t)}function y_(e,t={}){return __(e,`Lowercase`,t)}function b_(e,t={}){return __(e,`Uncapitalize`,t)}function x_(e,t={}){return __(e,`Uppercase`,t)}function S_(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=M_(e[i],t,Al(n));return r}function C_(e,t,n){return S_(e.properties,t,n)}function w_(e,t,n){return rf(C_(e,t,n))}function T_(e,t){return e.map(e=>j_(e,t))}function E_(e,t){return e.map(e=>j_(e,t))}function D_(e,t){let{[t]:n,...r}=e;return r}function O_(e,t){return t.reduce((e,t)=>D_(e,t),e)}function k_(e,t,n){let r=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep(O_(n,t),r)}function A_(e){return pf(e.reduce((e,t)=>lu(t)?[...e,Vf(t)]:e,[]))}function j_(e,t){return ou(e)?am(T_(e.allOf,t)):ku(e)?pf(E_(e.anyOf,t)):_u(e)?k_(e,t,e.properties):Ep({})}function M_(e,t,n){let r=dl(t)?A_(t):t,i=Fu(t)?ap(t):t,a=bu(e),o=bu(t);return fu(e)?w_(e,i,n):du(t)?I_(e,t,n):a&&o||!a&&o||a&&!o?$d(`Omit`,[e,r],n):Bl({...j_(e,i),...n})}function N_(e,t,n){return{[t]:M_(e,[t],Al(n))}}function P_(e,t,n){return t.reduce((t,r)=>({...t,...N_(e,r,n)}),{})}function F_(e,t,n){return P_(e,t.keys,n)}function I_(e,t,n){return rf(F_(e,t,n))}function L_(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=K_(e[i],t,Al(n));return r}function R_(e,t,n){return L_(e.properties,t,n)}function z_(e,t,n){return rf(R_(e,t,n))}function B_(e,t){return e.map(e=>G_(e,t))}function V_(e,t){return e.map(e=>G_(e,t))}function H_(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function U_(e,t,n){let r=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep(H_(n,t),r)}function W_(e){return pf(e.reduce((e,t)=>lu(t)?[...e,Vf(t)]:e,[]))}function G_(e,t){return ou(e)?am(B_(e.allOf,t)):ku(e)?pf(V_(e.anyOf,t)):_u(e)?U_(e,t,e.properties):Ep({})}function K_(e,t,n){let r=dl(t)?W_(t):t,i=Fu(t)?ap(t):t,a=bu(e),o=bu(t);return fu(e)?z_(e,i,n):du(t)?X_(e,t,n):a&&o||!a&&o||a&&!o?$d(`Pick`,[e,r],n):Bl({...G_(e,i),...n})}function q_(e,t,n){return{[t]:K_(e,[t],Al(n))}}function J_(e,t,n){return t.reduce((t,r)=>({...t,...q_(e,r,n)}),{})}function Y_(e,t,n){return J_(e,t.keys,n)}function X_(e,t,n){return rf(Y_(e,t,n))}function Z_(e,t){return $d(`Partial`,[$d(e,t)])}function Q_(e){return $d(`Partial`,[om(e)])}function $_(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=Yp(e[n]);return t}function ev(e,t){let n=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep($_(t),n)}function tv(e){return e.map(e=>nv(e))}function nv(e){return tu(e)?Z_(e.target,e.parameters):bu(e)?Q_(e.$ref):ou(e)?am(tv(e.allOf)):ku(e)?pf(tv(e.anyOf)):_u(e)?ev(e,e.properties):$l(e)||eu(e)||au(e)||uu(e)||hu(e)||gu(e)||Su(e)||Cu(e)||Ou(e)?e:Ep({})}function rv(e,t){return fu(e)?ov(e,t):Bl({...nv(e),...t})}function iv(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=rv(e[r],Al(t));return n}function av(e,t){return iv(e.properties,t)}function ov(e,t){return rf(av(e,t))}function sv(e,t){return $d(`Required`,[$d(e,t)])}function cv(e){return $d(`Required`,[om(e)])}function lv(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=tf(e[n],[Wl]);return t}function uv(e,t){let n=tf(e,[Hl,`$id`,`required`,`properties`]);return Ep(lv(t),n)}function dv(e){return e.map(e=>fv(e))}function fv(e){return tu(e)?sv(e.target,e.parameters):bu(e)?cv(e.$ref):ou(e)?am(dv(e.allOf)):ku(e)?pf(dv(e.anyOf)):_u(e)?uv(e,e.properties):$l(e)||eu(e)||au(e)||uu(e)||hu(e)||gu(e)||Su(e)||Cu(e)||Ou(e)?e:Ep({})}function pv(e,t){return fu(e)?gv(e,t):Bl({...fv(e),...t})}function mv(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=pv(e[r],t);return n}function hv(e,t){return mv(e.properties,t)}function gv(e,t){return rf(hv(e,t))}function _v(e,t){return t.map(t=>bu(t)?vv(e,t.$ref):zv(e,t))}function vv(e,t){return t in e?bu(e[t])?vv(e,e[t].$ref):zv(e,e[t]):nf()}function yv(e){return pm(e[0])}function bv(e){return bp(e[0],e[1])}function xv(e){return wm(e[0])}function Sv(e){return rv(e[0])}function Cv(e){return M_(e[0],e[1])}function wv(e){return K_(e[0],e[1])}function Tv(e){return pv(e[0])}function Ev(e,t,n){let r=_v(e,n);return t===`Awaited`?yv(r):t===`Index`?bv(r):t===`KeyOf`?xv(r):t===`Partial`?Sv(r):t===`Omit`?Cv(r):t===`Pick`?wv(r):t===`Required`?Tv(r):nf()}function Dv(e,t){return Xd(zv(e,t))}function Ov(e,t){return Qd(zv(e,t))}function kv(e,t,n){return af(Rv(e,t),zv(e,n))}function Av(e,t,n){return of(Rv(e,t),zv(e,n))}function jv(e,t){return am(Rv(e,t))}function Mv(e,t){return Tp(zv(e,t))}function Nv(e,t){return Ep(globalThis.Object.keys(t).reduce((n,r)=>({...n,[r]:zv(e,t[r])}),{}))}function Pv(e,t){let[n,r]=[zv(e,Hg(t)),Bg(t)],i=jl(t);return i.patternProperties[r]=n,i}function Fv(e,t){return bu(t)?{...vv(e,t.$ref),[Hl]:t[Hl]}:t}function Iv(e,t){return Fp(Rv(e,t))}function Lv(e,t){return pf(Rv(e,t))}function Rv(e,t){return t.map(t=>zv(e,t))}function zv(e,t){return Jl(t)?Bl(zv(e,tf(t,[Wl])),t):ql(t)?Bl(zv(e,tf(t,[Ul])),t):Eu(t)?Bl(Fv(e,t),t):Zl(t)?Bl(Dv(e,t.items),t):Ql(t)?Bl(Ov(e,t.items),t):tu(t)?Bl(Ev(e,t.target,t.parameters)):nu(t)?Bl(kv(e,t.parameters,t.returns),t):iu(t)?Bl(Av(e,t.parameters,t.returns),t):ou(t)?Bl(jv(e,t.allOf),t):su(t)?Bl(Mv(e,t.items),t):_u(t)?Bl(Nv(e,t.properties),t):yu(t)?Bl(Pv(e,t)):Du(t)?Bl(Iv(e,t.items||[]),t):ku(t)?Bl(Lv(e,t.anyOf),t):t}function Bv(e,t){return t in e?zv(e,e[t]):nf()}function Vv(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:Bv(e,n)}),{})}var Hv=class{constructor(e){let t=Vv(e);this.$defs=this.WithIdentifiers(t)}Import(e,t){let n={...this.$defs,[e]:Bl(this.$defs[e],t)};return Bl({[Kl]:`Import`,$defs:n,$ref:e})}WithIdentifiers(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:{...e[n],$id:n}}),{})}};function Uv(e){return new Hv(e)}function Wv(e,t){return Bl({[Kl]:`Not`,not:e},t)}function Gv(e,t){return iu(e)?Fp(e.parameters,t):nf()}var Kv=0;function qv(e,t={}){Cl(t.$id)&&(t.$id=`T${Kv++}`);let n=jl(e({[Kl]:`This`,$ref:`${t.$id}`}));return n.$id=t.$id,Bl({[Gl]:`Recursive`,...n},t)}function Jv(e,t){let n=bl(e)?new globalThis.RegExp(e):e;return Bl({[Kl]:`RegExp`,type:`RegExp`,source:n.source,flags:n.flags},t)}function Yv(e){return ou(e)?e.allOf:ku(e)?e.anyOf:Du(e)?e.items??[]:[]}function Xv(e){return Yv(e)}function Zv(e,t){return iu(e)?Bl(e.returns,t):nf(t)}var Qv=class{constructor(e){this.schema=e}Decode(e){return new $v(this.schema,e)}},$v=class{constructor(e,t){this.schema=e,this.decode=t}EncodeTransform(e,t){let n={Encode:n=>t[Hl].Encode(e(n)),Decode:e=>this.decode(t[Hl].Decode(e))};return{...t,[Hl]:n}}EncodeSchema(e,t){let n={Decode:this.decode,Encode:e};return{...t,[Hl]:n}}Encode(e){return Eu(this.schema)?this.EncodeTransform(e,this.schema):this.EncodeSchema(e,this.schema)}};function ey(e){return new Qv(e)}function ty(e={}){return Bl({[Kl]:e[Kl]??`Unsafe`},e)}function ny(e){return Bl({[Kl]:`Void`,type:`void`},e)}var ry=r({Any:()=>Yd,Argument:()=>Zd,Array:()=>Xd,AsyncIterator:()=>Qd,Awaited:()=>pm,BigInt:()=>Uf,Boolean:()=>Hf,Capitalize:()=>v_,Composite:()=>Mm,Const:()=>Um,Constructor:()=>af,ConstructorParameters:()=>Wm,Date:()=>Nm,Enum:()=>Gm,Exclude:()=>hg,Extends:()=>cg,Extract:()=>xg,Function:()=>of,Index:()=>bp,InstanceType:()=>Tg,Instantiate:()=>i_,Integer:()=>a_,Intersect:()=>am,Iterator:()=>Tp,KeyOf:()=>wm,Literal:()=>Vf,Lowercase:()=>y_,Mapped:()=>Gp,Module:()=>Uv,Never:()=>nf,Not:()=>Wv,Null:()=>Pm,Number:()=>Wf,Object:()=>Ep,Omit:()=>M_,Optional:()=>Yp,Parameters:()=>Gv,Partial:()=>rv,Pick:()=>K_,Promise:()=>Dp,Readonly:()=>jp,ReadonlyOptional:()=>Eg,Record:()=>zg,Recursive:()=>qv,Ref:()=>om,RegExp:()=>Jv,Required:()=>pv,Rest:()=>Xv,ReturnType:()=>Zv,String:()=>Gf,Symbol:()=>Fm,TemplateLiteral:()=>tp,Transform:()=>ey,Tuple:()=>Fp,Uint8Array:()=>Lm,Uncapitalize:()=>b_,Undefined:()=>Im,Union:()=>pf,Unknown:()=>Rm,Unsafe:()=>ty,Uppercase:()=>x_,Void:()=>ny}),iy=new Map;function ay(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function oy(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function sy(e,t){iy.set(e.api,{provider:{api:e.api,stream:ay(e.api,e.stream),streamSimple:oy(e.api,e.streamSimple)},sourceId:t})}function cy(e){return iy.get(e)?.provider}var ly=e=>o(()=>import(e),[]),uy,dy,fy,py,my,hy,gy,_y,vy,yy,by;function xy(e,t){(async()=>{for await(let n of t)e.push(n);e.end()})()}function Sy(e,t){return{role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function Cy(e){return(t,n,r)=>{let i=new f;return e().then(e=>{xy(i,e.stream(t,n,r))}).catch(e=>{let n=Sy(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function wy(e){return(t,n,r)=>{let i=new f;return e().then(e=>{xy(i,e.streamSimple(t,n,r))}).catch(e=>{let n=Sy(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function Ty(){return uy||=o(()=>import(`./anthropic-mDOoXVZn.js`).then(e=>{let t=e;return{stream:t.streamAnthropic,streamSimple:t.streamSimpleAnthropic}}),__vite__mapDeps([0,1,2,3,4,5,6,7])),uy}function B(){return dy||=o(()=>import(`./azure-openai-responses-lDjfaDoj.js`).then(e=>{let t=e;return{stream:t.streamAzureOpenAIResponses,streamSimple:t.streamSimpleAzureOpenAIResponses}}),__vite__mapDeps([8,1,2,3,9,5,10,6,7,11])),dy}function Ey(){return fy||=o(()=>import(`./google-BdS4iTyC.js`).then(e=>{let t=e;return{stream:t.streamGoogle,streamSimple:t.streamSimpleGoogle}}),__vite__mapDeps([12,13,7,1,2,3,14,5])),fy}function Dy(){return py||=o(()=>import(`./google-gemini-cli-ECA0sP3z.js`).then(e=>{let t=e;return{stream:t.streamGoogleGeminiCli,streamSimple:t.streamSimpleGoogleGeminiCli}}),__vite__mapDeps([15,3,14,13,7,5])),py}function Oy(){return my||=o(()=>import(`./google-vertex-Duei77qD.js`).then(e=>{let t=e;return{stream:t.streamGoogleVertex,streamSimple:t.streamSimpleGoogleVertex}}),__vite__mapDeps([16,13,7,3,14,5])),my}function ky(){return hy||=o(()=>import(`./mistral-BCIirCkW.js`).then(e=>{let t=e;return{stream:t.streamMistral,streamSimple:t.streamSimpleMistral}}),__vite__mapDeps([17,7,1,2,3,5,10,6])),hy}function Ay(){return gy||=o(()=>import(`./openai-codex-responses-BgRTWVD_.js`).then(e=>{let t=e;return{stream:t.streamOpenAICodexResponses,streamSimple:t.streamSimpleOpenAICodexResponses}}),__vite__mapDeps([18,2,1,3,9,5,10,6,7])),gy}function jy(){return _y||=o(()=>import(`./openai-completions-D5AUQEua.js`).then(e=>{let t=e;return{stream:t.streamOpenAICompletions,streamSimple:t.streamSimpleOpenAICompletions}}),__vite__mapDeps([19,1,2,3,4,5,6,7,11])),_y}function My(){return vy||=o(()=>import(`./openai-responses-CTlQ1a-G.js`).then(e=>{let t=e;return{stream:t.streamOpenAIResponses,streamSimple:t.streamSimpleOpenAIResponses}}),__vite__mapDeps([20,1,2,3,4,9,5,10,6,7,11])),vy}function Ny(){return yy?Promise.resolve(yy):(by||=ly(`./amazon-bedrock.js`).then(e=>{let t=e;return{stream:t.streamBedrock,streamSimple:t.streamSimpleBedrock}}),by)}var Py=Cy(Ty),Fy=wy(Ty),Iy=Cy(B),Ly=wy(B),Ry=Cy(Ey),zy=wy(Ey),By=Cy(Dy),Vy=wy(Dy),Hy=Cy(Oy),Uy=wy(Oy),Wy=Cy(ky),Gy=wy(ky),Ky=Cy(Ay),qy=wy(Ay),Jy=Cy(jy),Yy=wy(jy),Xy=Cy(My),Zy=wy(My),Qy=Cy(Ny),$y=wy(Ny);function eb(){sy({api:`anthropic-messages`,stream:Py,streamSimple:Fy}),sy({api:`openai-completions`,stream:Jy,streamSimple:Yy}),sy({api:`mistral-conversations`,stream:Wy,streamSimple:Gy}),sy({api:`openai-responses`,stream:Xy,streamSimple:Zy}),sy({api:`azure-openai-responses`,stream:Iy,streamSimple:Ly}),sy({api:`openai-codex-responses`,stream:Ky,streamSimple:qy}),sy({api:`google-generative-ai`,stream:Ry,streamSimple:zy}),sy({api:`google-gemini-cli`,stream:By,streamSimple:Vy}),sy({api:`google-vertex`,stream:Hy,streamSimple:Uy}),sy({api:`bedrock-converse-stream`,stream:Qy,streamSimple:$y})}eb();function tb(e){let t=cy(e);if(!t)throw Error(`No API provider registered for api: ${e}`);return t}function nb(e,t,n){return tb(e.api).stream(e,t,n)}async function rb(e,t,n){return nb(e,t,n).result()}function ib(e,t,n){return tb(e.api).streamSimple(e,t,n)}function ab(e,t){return ry.Unsafe({type:`string`,enum:e,...t?.description&&{description:t.description},...t?.default&&{default:t.default}})}var ob=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var n=class extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=n;var r=class extends t{constructor(e){super(),this._items=typeof e==`string`?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===``||e===`""`}get str(){return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){return this._names??=this._items.reduce((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=r,e.nil=new r(``);function i(e,...t){let n=[e[0]],i=0;for(;i<t.length;)s(n,t[i]),n.push(e[++i]);return new r(n)}e._=i;var a=new r(`+`);function o(e,...t){let n=[p(e[0])],i=0;for(;i<t.length;)n.push(a),s(n,t[i]),n.push(a,p(e[++i]));return c(n),new r(n)}e.str=o;function s(e,t){t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push(d(t))}e.addCodeArg=s;function c(e){let t=1;for(;t<e.length-1;){if(e[t]===a){let n=l(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]=`+`}t++}}function l(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof n||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof n))return`"${e}${t.slice(1)}`}function u(e,t){return t.emptyStr()?e:e.emptyStr()?t:o`${e}${t}`}e.strConcat=u;function d(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:p(Array.isArray(e)?e.join(`,`):e)}function f(e){return new r(p(e))}e.stringify=f;function p(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=p;function m(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new r(`.${t}`):i`[${t}]`}e.getProperty=m;function h(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new r(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=h;function g(e){return new r(e.toString())}e.regexpCode=g})),sb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=ob(),n=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name(`const`),let:new t.Name(`let`),var:new t.Name(`var`)};var i=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=i;var a=class extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=(0,t._)`.${new t.Name(n)}[${r}]`}};e.ValueScopeName=a;var o=(0,t._)`\n`;e.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?o:t.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let n=this.toName(e),{prefix:r}=n,i=t.key??t.ref,a=this._values[r];if(a){let e=a.get(i);if(e)return e}else a=this._values[r]=new Map;a.set(i,n);let o=this._scope[r]||(this._scope[r]=[]),s=o.length;return o[s]=t.ref,n.setValue(t,{property:r,itemIndex:s}),n}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,n=>{if(n.scopePath===void 0)throw Error(`CodeGen: name "${n}" has no value`);return(0,t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(i,a,o={},s){let c=t.nil;for(let l in i){let u=i[l];if(!u)continue;let d=o[l]=o[l]||new Map;u.forEach(i=>{if(d.has(i))return;d.set(i,r.Started);let o=a(i);if(o){let n=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${n} ${i} = ${o};${this.opts._n}`}else if(o=s?.(i))c=(0,t._)`${c}${o}${this.opts._n}`;else throw new n(i);d.set(i,r.Completed)})}return c}}})),cb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=ob(),n=sb(),r=ob();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,`strConcat`,{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,`getProperty`,{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,`regexpCode`,{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return r.Name}});var i=sb();Object.defineProperty(e,`Scope`,{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(e,`ValueScope`,{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(e,`ValueScopeName`,{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(e,`varKinds`,{enumerable:!0,get:function(){return i.varKinds}}),e.operators={GT:new t._Code(`>`),GTE:new t._Code(`>=`),LT:new t._Code(`<`),LTE:new t._Code(`<=`),EQ:new t._Code(`===`),NEQ:new t._Code(`!==`),NOT:new t._Code(`!`),OR:new t._Code(`||`),AND:new t._Code(`&&`),ADD:new t._Code(`+`)};var a=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},o=class extends a{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let r=e?n.varKinds.var:this.varKind,i=this.rhs===void 0?``:` = ${this.rhs}`;return`${r} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=k(this.rhs,e,t),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},s=class extends a{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=k(this.rhs,e,n),this}get names(){return O(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}},c=class extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},u=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},d=class extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},f=class extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=k(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},p=class extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(A(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>D(e,t.names),{})}},m=class extends p{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},h=class extends p{},g=class extends m{};g.kind=`else`;var _=class e extends m{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let e=n.optimizeNodes();n=this.else=Array.isArray(e)?new g(e):e}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(ee(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(e,t){if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=k(this.condition,e,t),this}get names(){let e=super.names;return O(e,this.condition),this.else&&D(e,this.else.names),e}};_.kind=`if`;var v=class extends m{};v.kind=`for`;var y=class extends v{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=k(this.iteration,e,t),this}get names(){return D(super.names,this.iteration.names)}},b=class extends v{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?n.varKinds.var:this.varKind,{name:r,from:i,to:a}=this;return`for(${t} ${r}=${i}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){return O(O(super.names,this.from),this.to)}},x=class extends v{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=k(this.iterable,e,t),this}get names(){return D(super.names,this.iterable.names)}},S=class extends m{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};S.kind=`func`;var C=class extends p{render(e){return`return `+super.render(e)}};C.kind=`return`;var w=class extends m{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)==null||e.optimizeNodes(),(t=this.finally)==null||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),(n=this.catch)==null||n.optimizeNames(e,t),(r=this.finally)==null||r.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&D(e,this.catch.names),this.finally&&D(e,this.finally.names),e}},T=class extends m{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};T.kind=`catch`;var E=class extends m{render(e){return`finally`+super.render(e)}};E.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
|
301
301
|
`:``},this._extScope=e,this._scope=new n.Scope({parent:e}),this._nodes=[new h]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){let i=this._scope.toName(t);return n!==void 0&&r&&(this._constants[i.str]=n),this._leafNode(new o(e,i,n)),i}const(e,t,r){return this._def(n.varKinds.const,e,t,r)}let(e,t,r){return this._def(n.varKinds.let,e,t,r)}var(e,t,r){return this._def(n.varKinds.var,e,t,r)}assign(e,t,n){return this._leafNode(new s(e,t,n))}add(t,n){return this._leafNode(new c(t,e.operators.ADD,n))}code(e){return typeof e==`function`?e():e!==t.nil&&this._leafNode(new f(e)),this}object(...e){let n=[`{`];for(let[r,i]of e)n.length>1&&n.push(`,`),n.push(r),(r!==i||this.opts.es5)&&(n.push(`:`),(0,t.addCodeArg)(n,i));return n.push(`}`),new t._Code(n)}if(e,t,n){if(this._blockNode(new _(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw Error(`CodeGen: "else" body without "then" body`);return this}elseIf(e){return this._elseNode(new _(e))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(_,g)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new y(e),t)}forRange(e,t,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.let){let o=this._scope.toName(e);return this._for(new b(a,o,t,r),()=>i(o))}forOf(e,r,i,a=n.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let e=r instanceof t.Name?r:this.var(`_arr`,r);return this.forRange(`_i`,0,(0,t._)`${e}.length`,n=>{this.var(o,(0,t._)`${e}[${n}]`),i(o)})}return this._for(new x(`of`,a,o,r),()=>i(o))}forIn(e,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,t._)`Object.keys(${r})`,i);let o=this._scope.toName(e);return this._for(new x(`in`,a,o,r),()=>i(o))}endFor(){return this._endBlockNode(v)}label(e){return this._leafNode(new l(e))}break(e){return this._leafNode(new u(e))}return(e){let t=new C;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error(`CodeGen: "return" should have one node`);return this._endBlockNode(C)}try(e,t,n){if(!t&&!n)throw Error(`CodeGen: "try" without "catch" and "finally"`);let r=new w;if(this._blockNode(r),this.code(e),t){let e=this.name(`e`);this._currNode=r.catch=new T(e),t(e)}return n&&(this._currNode=r.finally=new E,this.code(n)),this._endBlockNode(T,E)}throw(e){return this._leafNode(new d(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error(`CodeGen: not in self-balancing block`);let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,n=t.nil,r,i){return this._blockNode(new S(e,n,r)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(S)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof _))throw Error(`CodeGen: "else" without "if"`);return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};function D(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function O(e,n){return n instanceof t._CodeOrName?D(e,n.names):e}function k(e,n,r){if(e instanceof t.Name)return i(e);if(!a(e))return e;return new t._Code(e._items.reduce((e,n)=>(n instanceof t.Name&&(n=i(n)),n instanceof t._Code?e.push(...n._items):e.push(n),e),[]));function i(e){let t=r[e.str];return t===void 0||n[e.str]!==1?e:(delete n[e.str],t)}function a(e){return e instanceof t._Code&&e._items.some(e=>e instanceof t.Name&&n[e.str]===1&&r[e.str]!==void 0)}}function A(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function ee(e){return typeof e==`boolean`||typeof e==`number`||e===null?!e:(0,t._)`!${re(e)}`}e.not=ee;var j=N(e.operators.AND);function M(...e){return e.reduce(j)}e.and=M;var te=N(e.operators.OR);function ne(...e){return e.reduce(te)}e.or=ne;function N(e){return(n,r)=>n===t.nil?r:r===t.nil?n:(0,t._)`${re(n)} ${e} ${re(r)}`}function re(e){return e instanceof t.Name?e:(0,t._)`(${e})`}})),lb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;var t=cb(),n=ob();function r(e){let t={};for(let n of e)t[n]=!0;return t}e.toHash=r;function i(e,t){return typeof t==`boolean`?t:Object.keys(t).length===0?!0:(a(e,t),!o(t,e.self.RULES.all))}e.alwaysValidSchema=i;function a(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t==`boolean`)return;let i=r.RULES.keywords;for(let n in t)i[n]||x(e,`unknown keyword: "${n}"`)}e.checkUnknownRules=a;function o(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(t[n])return!0;return!1}e.schemaHasRules=o;function s(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(n!==`$ref`&&t.all[n])return!0;return!1}e.schemaHasRulesButRef=s;function c({topSchemaRef:e,schemaPath:n},r,i,a){if(!a){if(typeof r==`number`||typeof r==`boolean`)return r;if(typeof r==`string`)return(0,t._)`${r}`}return(0,t._)`${e}${n}${(0,t.getProperty)(i)}`}e.schemaRefOrVal=c;function l(e){return f(decodeURIComponent(e))}e.unescapeFragment=l;function u(e){return encodeURIComponent(d(e))}e.escapeFragment=u;function d(e){return typeof e==`number`?`${e}`:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}e.escapeJsonPointer=d;function f(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}e.unescapeJsonPointer=f;function p(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}e.eachItem=p;function m({mergeNames:e,mergeToName:n,mergeValues:r,resultToName:i}){return(a,o,s,c)=>{let l=s===void 0?o:s instanceof t.Name?(o instanceof t.Name?e(a,o,s):n(a,o,s),s):o instanceof t.Name?(n(a,s,o),o):r(o,s);return c===t.Name&&!(l instanceof t.Name)?i(a,l):l}}e.mergeEvaluated={props:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>{e.if((0,t._)`${n} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,t._)`${r} || {}`).code((0,t._)`Object.assign(${r}, ${n})`))}),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>{n===!0?e.assign(r,!0):(e.assign(r,(0,t._)`${r} || {}`),g(e,r,n))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:h}),items:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>e.assign(r,(0,t._)`${n} === true ? true : ${r} > ${n} ? ${r} : ${n}`)),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>e.assign(r,n===!0?!0:(0,t._)`${r} > ${n} ? ${r} : ${n}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var(`items`,t)})};function h(e,n){if(n===!0)return e.var(`props`,!0);let r=e.var(`props`,(0,t._)`{}`);return n!==void 0&&g(e,r,n),r}e.evaluatedPropsToName=h;function g(e,n,r){Object.keys(r).forEach(r=>e.assign((0,t._)`${n}${(0,t.getProperty)(r)}`,!0))}e.setEvaluated=g;var _={};function v(e,t){return e.scopeValue(`func`,{ref:t,code:_[t.code]||(_[t.code]=new n._Code(t.code))})}e.useFunc=v;var y;(function(e){e[e.Num=0]=`Num`,e[e.Str=1]=`Str`})(y||(e.Type=y={}));function b(e,n,r){if(e instanceof t.Name){let i=n===y.Num;return r?i?(0,t._)`"[" + ${e} + "]"`:(0,t._)`"['" + ${e} + "']"`:i?(0,t._)`"/" + ${e}`:(0,t._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,t.getProperty)(e).toString():`/`+d(e)}e.getErrorPath=b;function x(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw Error(t);e.self.logger.warn(t)}}e.checkStrictMode=x})),ub=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=cb();e.default={data:new t.Name(`data`),valCxt:new t.Name(`valCxt`),instancePath:new t.Name(`instancePath`),parentData:new t.Name(`parentData`),parentDataProperty:new t.Name(`parentDataProperty`),rootData:new t.Name(`rootData`),dynamicAnchors:new t.Name(`dynamicAnchors`),vErrors:new t.Name(`vErrors`),errors:new t.Name(`errors`),this:new t.Name(`this`),self:new t.Name(`self`),scope:new t.Name(`scope`),json:new t.Name(`json`),jsonPos:new t.Name(`jsonPos`),jsonLen:new t.Name(`jsonLen`),jsonPart:new t.Name(`jsonPart`)}})),db=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;var t=cb(),n=lb(),r=ub();e.keywordError={message:({keyword:e})=>(0,t.str)`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:n})=>n?(0,t.str)`"${e}" keyword must be ${n} ($data)`:(0,t.str)`"${e}" keyword is invalid ($data)`};function i(n,r=e.keywordError,i,a){let{it:o}=n,{gen:s,compositeRule:u,allErrors:f}=o,p=d(n,r,i);a??(u||f)?c(s,p):l(o,(0,t._)`[${p}]`)}e.reportError=i;function a(t,n=e.keywordError,i){let{it:a}=t,{gen:o,compositeRule:s,allErrors:u}=a;c(o,d(t,n,i)),s||u||l(a,r.default.vErrors)}e.reportExtraError=a;function o(e,n){e.assign(r.default.errors,n),e.if((0,t._)`${r.default.vErrors} !== null`,()=>e.if(n,()=>e.assign((0,t._)`${r.default.vErrors}.length`,n),()=>e.assign(r.default.vErrors,null)))}e.resetErrorsCount=o;function s({gen:e,keyword:n,schemaValue:i,data:a,errsCount:o,it:s}){if(o===void 0)throw Error(`ajv implementation error`);let c=e.name(`err`);e.forRange(`i`,o,r.default.errors,o=>{e.const(c,(0,t._)`${r.default.vErrors}[${o}]`),e.if((0,t._)`${c}.instancePath === undefined`,()=>e.assign((0,t._)`${c}.instancePath`,(0,t.strConcat)(r.default.instancePath,s.errorPath))),e.assign((0,t._)`${c}.schemaPath`,(0,t.str)`${s.errSchemaPath}/${n}`),s.opts.verbose&&(e.assign((0,t._)`${c}.schema`,i),e.assign((0,t._)`${c}.data`,a))})}e.extendErrors=s;function c(e,n){let i=e.const(`err`,n);e.if((0,t._)`${r.default.vErrors} === null`,()=>e.assign(r.default.vErrors,(0,t._)`[${i}]`),(0,t._)`${r.default.vErrors}.push(${i})`),e.code((0,t._)`${r.default.errors}++`)}function l(e,n){let{gen:r,validateName:i,schemaEnv:a}=e;a.$async?r.throw((0,t._)`new ${e.ValidationError}(${n})`):(r.assign((0,t._)`${i}.errors`,n),r.return(!1))}var u={keyword:new t.Name(`keyword`),schemaPath:new t.Name(`schemaPath`),params:new t.Name(`params`),propertyName:new t.Name(`propertyName`),message:new t.Name(`message`),schema:new t.Name(`schema`),parentSchema:new t.Name(`parentSchema`)};function d(e,n,r){let{createErrors:i}=e.it;return i===!1?(0,t._)`{}`:f(e,n,r)}function f(e,t,n={}){let{gen:r,it:i}=e,a=[p(i,n),m(e,n)];return h(e,t,a),r.object(...a)}function p({errorPath:e},{instancePath:i}){let a=i?(0,t.str)`${e}${(0,n.getErrorPath)(i,n.Type.Str)}`:e;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,a)]}function m({keyword:e,it:{errSchemaPath:r}},{schemaPath:i,parentSchema:a}){let o=a?r:(0,t.str)`${r}/${e}`;return i&&(o=(0,t.str)`${o}${(0,n.getErrorPath)(i,n.Type.Str)}`),[u.schemaPath,o]}function h(e,{params:n,message:i},a){let{keyword:o,data:s,schemaValue:c,it:l}=e,{opts:d,propertyName:f,topSchemaRef:p,schemaPath:m}=l;a.push([u.keyword,o],[u.params,typeof n==`function`?n(e):n||(0,t._)`{}`]),d.messages&&a.push([u.message,typeof i==`function`?i(e):i]),d.verbose&&a.push([u.schema,c],[u.parentSchema,(0,t._)`${p}${m}`],[r.default.data,s]),f&&a.push([u.propertyName,f])}})),fb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;var t=db(),n=cb(),r=ub(),i={message:`boolean schema is false`};function a(e){let{gen:t,schema:i,validateName:a}=e;i===!1?s(e,!1):typeof i==`object`&&i.$async===!0?t.return(r.default.data):(t.assign((0,n._)`${a}.errors`,null),t.return(!0))}e.topBoolOrEmptySchema=a;function o(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),s(e)):n.var(t,!0)}e.boolOrEmptySchema=o;function s(e,n){let{gen:r,data:a}=e,o={gen:r,keyword:`false schema`,data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,t.reportError)(o,i,void 0,n)}})),pb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getRules=e.isJSONType=void 0;var t=new Set([`string`,`number`,`integer`,`boolean`,`null`,`object`,`array`]);function n(e){return typeof e==`string`&&t.has(e)}e.isJSONType=n;function r(){let e={number:{type:`number`,rules:[]},string:{type:`string`,rules:[]},array:{type:`array`,rules:[]},object:{type:`object`,rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}e.getRules=r})),mb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.shouldUseRule=e.shouldUseGroup=e.schemaHasRulesForType=void 0;function t({schema:e,self:t},r){let i=t.RULES.types[r];return i&&i!==!0&&n(e,i)}e.schemaHasRulesForType=t;function n(e,t){return t.rules.some(t=>r(e,t))}e.shouldUseGroup=n;function r(e,t){return e[t.keyword]!==void 0||t.definition.implements?.some(t=>e[t]!==void 0)}e.shouldUseRule=r})),hb=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;var t=pb(),n=mb(),r=db(),i=cb(),a=lb(),o;(function(e){e[e.Correct=0]=`Correct`,e[e.Wrong=1]=`Wrong`})(o||(e.DataType=o={}));function s(e){let t=c(e.type);if(t.includes(`null`)){if(e.nullable===!1)throw Error(`type: null contradicts nullable: false`)}else{if(!t.length&&e.nullable!==void 0)throw Error(`"nullable" cannot be used without "type"`);e.nullable===!0&&t.push(`null`)}return t}e.getSchemaTypes=s;function c(e){let n=Array.isArray(e)?e:e?[e]:[];if(n.every(t.isJSONType))return n;throw Error(`type must be JSONType or JSONType[]: `+n.join(`,`))}e.getJSONTypes=c;function l(e,t){let{gen:r,data:i,opts:a}=e,s=d(t,a.coerceTypes),c=t.length>0&&!(s.length===0&&t.length===1&&(0,n.schemaHasRulesForType)(e,t[0]));if(c){let n=h(t,i,a.strictNumbers,o.Wrong);r.if(n,()=>{s.length?f(e,t,s):_(e)})}return c}e.coerceAndCheckDataType=l;var u=new Set([`string`,`number`,`integer`,`boolean`,`null`]);function d(e,t){return t?e.filter(e=>u.has(e)||t===`array`&&e===`array`):[]}function f(e,t,n){let{gen:r,data:a,opts:o}=e,s=r.let(`dataType`,(0,i._)`typeof ${a}`),c=r.let(`coerced`,(0,i._)`undefined`);o.coerceTypes===`array`&&r.if((0,i._)`${s} == 'object' && Array.isArray(${a}) && ${a}.length == 1`,()=>r.assign(a,(0,i._)`${a}[0]`).assign(s,(0,i._)`typeof ${a}`).if(h(t,a,o.strictNumbers),()=>r.assign(c,a))),r.if((0,i._)`${c} !== undefined`);for(let e of n)(u.has(e)||e===`array`&&o.coerceTypes===`array`)&&l(e);r.else(),_(e),r.endIf(),r.if((0,i._)`${c} !== undefined`,()=>{r.assign(a,c),p(e,c)});function l(e){switch(e){case`string`:r.elseIf((0,i._)`${s} == "number" || ${s} == "boolean"`).assign(c,(0,i._)`"" + ${a}`).elseIf((0,i._)`${a} === null`).assign(c,(0,i._)`""`);return;case`number`:r.elseIf((0,i._)`${s} == "boolean" || ${a} === null
|
|
302
302
|
|| (${s} == "string" && ${a} && ${a} == +${a})`).assign(c,(0,i._)`+${a}`);return;case`integer`:r.elseIf((0,i._)`${s} === "boolean" || ${a} === null
|
|
303
303
|
|| (${s} === "string" && ${a} && ${a} == +${a} && !(${a} % 1))`).assign(c,(0,i._)`+${a}`);return;case`boolean`:r.elseIf((0,i._)`${a} === "false" || ${a} === 0 || ${a} === null`).assign(c,!1).elseIf((0,i._)`${a} === "true" || ${a} === 1`).assign(c,!0);return;case`null`:r.elseIf((0,i._)`${a} === "" || ${a} === 0 || ${a} === false`),r.assign(c,null);return;case`array`:r.elseIf((0,i._)`${s} === "string" || ${s} === "number"
|
|
@@ -3080,7 +3080,7 @@ ${a}
|
|
|
3080
3080
|
█████╔╝ █████╗ ███████║ ██║ ██║██╔██╗ ██║██║ ███╗
|
|
3081
3081
|
██╔═██╗ ██╔══╝ ██╔══██║ ██║ ██║██║╚██╗██║██║ ██║
|
|
3082
3082
|
██║ ██╗███████╗██║ ██║ ██║ ██║██║ ╚████║╚██████╔╝
|
|
3083
|
-
╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝`,JJ=[{text:`INIT SEQUENCE v0.3.
|
|
3083
|
+
╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝`,JJ=[{text:`INIT SEQUENCE v0.3.9`,delay:100},{text:`─────────────────────────────────────────`,delay:200},{text:`model : gemini-3-flash-preview`,delay:300},{text:`policy : keating-default`,delay:400},{text:`system : Socratic teaching engine`,delay:500},{text:`tools : plan, map, verify, animate, bench, evolve`,delay:600},{text:``,delay:700},{text:`▸ Type a topic to begin learning`,delay:800},{text:`▸ Available: /plan /map /verify /animate /bench /evolve`,delay:900},{text:``,delay:1e3},{text:`"That the powerful play goes on, and you may contribute a verse."`,delay:1200},{text:` — Whitman`,delay:1300}];function BAe({onDismiss:e}){let[t,n]=(0,F.useState)(0),[r,i]=(0,F.useState)(!1);return(0,F.useEffect)(()=>{let e=[];return JJ.forEach((t,r)=>{let a=window.setTimeout(()=>{n(r+1),r===JJ.length-1&&window.setTimeout(()=>i(!0),400)},t.delay);e.push(a)}),()=>e.forEach(clearTimeout)},[]),(0,L.jsxDEV)(`div`,{className:`w-full h-full bg-[#0c0c0c] text-[#00ff00] font-terminal overflow-auto p-6 sm:p-8`,children:[(0,L.jsxDEV)(`div`,{className:`crt max-w-2xl mx-auto`,children:[(0,L.jsxDEV)(`pre`,{className:`text-[0.55rem] sm:text-xs md:text-sm leading-[1.05] mb-4 whitespace-pre font-bold tracking-tight`,style:{background:`linear-gradient(180deg, #34d399 0%, #10b981 55%, #059669 100%)`,WebkitBackgroundClip:`text`,WebkitTextFillColor:`transparent`,backgroundClip:`text`,textShadow:`0 0 18px rgba(16,185,129,0.35)`,filter:`drop-shadow(0 0 6px rgba(16,185,129,0.25))`},children:zAe},void 0,!1,{fileName:qJ,lineNumber:49,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`text-sm sm:text-base leading-relaxed space-y-0.5`,children:JJ.slice(0,t).map((e,t)=>(0,L.jsxDEV)(`div`,{className:`boot-line font-terminal`,style:{opacity:1},children:e.text?e.text.startsWith(`▸`)?(0,L.jsxDEV)(`span`,{className:`text-[#10b981]`,children:e.text},void 0,!1,{fileName:qJ,lineNumber:73,columnNumber:19},this):e.text.startsWith(`"`)?(0,L.jsxDEV)(`span`,{className:`text-[#888]`,children:e.text},void 0,!1,{fileName:qJ,lineNumber:75,columnNumber:19},this):e.text.startsWith(`—`)?(0,L.jsxDEV)(`span`,{className:`text-[#666]`,children:e.text},void 0,!1,{fileName:qJ,lineNumber:77,columnNumber:19},this):e.text:(0,L.jsxDEV)(`br`,{},void 0,!1,{fileName:qJ,lineNumber:82,columnNumber:17},this)},t,!1,{fileName:qJ,lineNumber:66,columnNumber:13},this))},void 0,!1,{fileName:qJ,lineNumber:64,columnNumber:9},this),r&&(0,L.jsxDEV)(`div`,{className:`mt-4 flex items-center gap-3`,children:[(0,L.jsxDEV)(`span`,{className:`cursor-blink`,children:`_`},void 0,!1,{fileName:qJ,lineNumber:91,columnNumber:13},this),(0,L.jsxDEV)(`span`,{className:`text-[#666] text-sm animate-pulse`,children:`Press getting started below to begin your session...`},void 0,!1,{fileName:qJ,lineNumber:92,columnNumber:13},this)]},void 0,!0,{fileName:qJ,lineNumber:90,columnNumber:11},this)]},void 0,!0,{fileName:qJ,lineNumber:47,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`fixed inset-0 pointer-events-none z-10`,style:{background:`repeating-linear-gradient(0deg, rgba(0,0,0,0.03), rgba(0,0,0,0.03) 1px, transparent 1px, transparent 2px)`}},void 0,!1,{fileName:qJ,lineNumber:100,columnNumber:7},this)]},void 0,!0,{fileName:qJ,lineNumber:46,columnNumber:5},this)}var YJ=`/home/diogenes/Projects/keating/web/src/components/MermaidRenderer.tsx`,XJ=new Map;function ZJ({content:e,className:t}){let n=(0,F.useRef)(null),r=(0,F.useRef)(null),[i,a]=(0,F.useState)(null),[s,c]=(0,F.useState)(!0),[l,u]=(0,F.useState)(null);return(0,F.useEffect)(()=>{let t=!1;async function n(){if(!e){c(!1);return}let n=e.slice(0,100);if(XJ.has(n)){t||(u(XJ.get(n)),c(!1),a(null));return}try{let i=await o(()=>import(`./mermaid.core-BHCT6V24.js`),__vite__mapDeps([23,2,24,25,7,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45]));i.default.initialize({startOnLoad:!1,theme:document.documentElement.classList.contains(`dark`)?`dark`:`default`,securityLevel:`loose`,flowchart:{useMaxWidth:!0,htmlLabels:!0}});let s=e,l=e.match(/```mermaid\n([\s\S]*?)\n```/);l&&(s=l[1]);let d=`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`;r.current||(r.current=document.createElement(`div`),r.current.style.position=`absolute`,r.current.style.left=`-9999px`,r.current.style.top=`-9999px`,r.current.style.visibility=`hidden`,document.body.appendChild(r.current)),r.current.innerHTML=``;let{svg:f}=await i.default.render(d,s,r.current);XJ.set(n,f),t||(u(f),c(!1),a(null))}catch(e){t||(a(e instanceof Error?e.message:`Failed to render diagram`),c(!1))}}return c(!0),a(null),n(),()=>{if(t=!0,r.current){try{document.body.removeChild(r.current)}catch{}r.current=null}}},[e]),i?(0,L.jsxDEV)(`div`,{className:`p-4 bg-red-500/10 border border-red-500/30 rounded-lg ${t}`,children:[(0,L.jsxDEV)(`p`,{className:`text-red-400 text-sm`,children:[`Failed to render diagram: `,i]},void 0,!0,{fileName:YJ,lineNumber:118,columnNumber:5},this),(0,L.jsxDEV)(`pre`,{className:`mt-2 text-xs text-muted-foreground overflow-auto`,children:e},void 0,!1,{fileName:YJ,lineNumber:119,columnNumber:5},this)]},void 0,!0,{fileName:YJ,lineNumber:117,columnNumber:4},this):(0,L.jsxDEV)(`div`,{ref:n,className:`mermaid-container ${t} ${s?`animate-pulse bg-muted/20 rounded-lg`:``}`,children:s?(0,L.jsxDEV)(`div`,{className:`p-8 text-center text-muted-foreground`,children:`Rendering diagram...`},void 0,!1,{fileName:YJ,lineNumber:130,columnNumber:5},this):l?(0,L.jsxDEV)(`div`,{dangerouslySetInnerHTML:{__html:l}},void 0,!1,{fileName:YJ,lineNumber:132,columnNumber:5},this):null},void 0,!1,{fileName:YJ,lineNumber:125,columnNumber:3},this)}var QJ=`/home/diogenes/Projects/keating/web/src/components/AnimationPlayer.tsx`;function VAe({scene:e,manifest:t,storyboard:n,className:r}){(0,F.useRef)(null);let[i,a]=(0,F.useState)(null),[o,s]=(0,F.useState)(0),[c,l]=(0,F.useState)(!1),[u,d]=(0,F.useState)(!0),f=null;if(t)try{f=JSON.parse(t)}catch{}let p=n?n.split(/##\s+Scene/).filter(e=>e.trim()).map(e=>{let t=e.trim().split(`
|
|
3084
3084
|
`);return{title:(t[0]||``).match(/\d+:\s*(.+?)\s*\(/)?.[1]||`Scene`,content:t.slice(1).join(`
|
|
3085
3085
|
`)}}):[];return(0,F.useEffect)(()=>{},[e,t]),(0,L.jsxDEV)(`div`,{className:`animation-player bg-muted/20 rounded-lg overflow-hidden ${r}`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-muted/30 border-b border-border`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsxDEV)(`span`,{className:`text-sm font-medium`,children:`🎬 Animation`},void 0,!1,{fileName:QJ,lineNumber:60,columnNumber:6},this),f&&(0,L.jsxDEV)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,f.topic,`)`]},void 0,!0,{fileName:QJ,lineNumber:61,columnNumber:23},this)]},void 0,!0,{fileName:QJ,lineNumber:59,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:(0,L.jsxDEV)(`button`,{onClick:()=>d(!u),className:`text-xs px-2 py-1 rounded bg-muted hover:bg-muted/80 transition-colors`,children:[u?`Hide`:`Show`,` Storyboard`]},void 0,!0,{fileName:QJ,lineNumber:64,columnNumber:6},this)},void 0,!1,{fileName:QJ,lineNumber:63,columnNumber:5},this)]},void 0,!0,{fileName:QJ,lineNumber:58,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`flex`,children:[u&&n&&(0,L.jsxDEV)(`div`,{className:`w-80 border-r border-border bg-muted/10 max-h-96 overflow-auto`,children:[(0,L.jsxDEV)(`div`,{className:`p-2 text-xs font-medium text-muted-foreground border-b border-border sticky top-0 bg-muted/30`,children:[`Storyboard (`,p.length,` scenes)`]},void 0,!0,{fileName:QJ,lineNumber:78,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`p-2 space-y-2`,children:p.map((e,t)=>(0,L.jsxDEV)(`button`,{onClick:()=>s(t),className:`w-full text-left p-2 rounded text-xs transition-colors ${o===t?`bg-primary/20 text-foreground`:`hover:bg-muted/50`}`,children:[(0,L.jsxDEV)(`div`,{className:`font-medium`,children:e.title},void 0,!1,{fileName:QJ,lineNumber:92,columnNumber:10},this),(0,L.jsxDEV)(`div`,{className:`text-muted-foreground line-clamp-2 mt-1`,children:[e.content.slice(0,50),`...`]},void 0,!0,{fileName:QJ,lineNumber:93,columnNumber:10},this)]},t,!0,{fileName:QJ,lineNumber:83,columnNumber:9},this))},void 0,!1,{fileName:QJ,lineNumber:81,columnNumber:7},this)]},void 0,!0,{fileName:QJ,lineNumber:77,columnNumber:6},this),(0,L.jsxDEV)(`div`,{className:`flex-1 p-4`,children:p[o]?(0,L.jsxDEV)(`div`,{className:`space-y-3`,children:[(0,L.jsxDEV)(`h3`,{className:`font-medium`,children:p[o].title},void 0,!1,{fileName:QJ,lineNumber:104,columnNumber:8},this),(0,L.jsxDEV)(`pre`,{className:`text-xs text-muted-foreground whitespace-pre-wrap bg-muted/30 p-3 rounded overflow-auto max-h-64`,children:p[o].content},void 0,!1,{fileName:QJ,lineNumber:105,columnNumber:8},this)]},void 0,!0,{fileName:QJ,lineNumber:103,columnNumber:7},this):e?(0,L.jsxDEV)(`div`,{className:`space-y-3`,children:[(0,L.jsxDEV)(`h3`,{className:`font-medium`,children:`Scene Code`},void 0,!1,{fileName:QJ,lineNumber:111,columnNumber:8},this),(0,L.jsxDEV)(`pre`,{className:`text-xs text-muted-foreground whitespace-pre-wrap bg-muted/30 p-3 rounded overflow-auto max-h-64`,children:e},void 0,!1,{fileName:QJ,lineNumber:112,columnNumber:8},this)]},void 0,!0,{fileName:QJ,lineNumber:110,columnNumber:7},this):(0,L.jsxDEV)(`div`,{className:`text-center text-muted-foreground py-8`,children:`No animation loaded`},void 0,!1,{fileName:QJ,lineNumber:117,columnNumber:7},this)},void 0,!1,{fileName:QJ,lineNumber:101,columnNumber:5},this)]},void 0,!0,{fileName:QJ,lineNumber:74,columnNumber:4},this),f&&(0,L.jsxDEV)(`div`,{className:`px-4 py-2 bg-muted/30 border-t border-border text-xs text-muted-foreground`,children:[(0,L.jsxDEV)(`span`,{className:`mr-4`,children:[`Duration: `,f.duration,`s`]},void 0,!0,{fileName:QJ,lineNumber:125,columnNumber:6},this),(0,L.jsxDEV)(`span`,{children:[`Scenes: `,f.scenes.length]},void 0,!0,{fileName:QJ,lineNumber:126,columnNumber:6},this)]},void 0,!0,{fileName:QJ,lineNumber:124,columnNumber:5},this),i&&(0,L.jsxDEV)(`div`,{className:`px-4 py-2 bg-red-500/20 text-red-400 text-xs border-t border-red-500/30`,children:i},void 0,!1,{fileName:QJ,lineNumber:131,columnNumber:5},this)]},void 0,!0,{fileName:QJ,lineNumber:56,columnNumber:3},this)}var HAe=class extends Error{name=`Assertion`;code=`ERR_ASSERTION`;constructor(e,t,n,r,i){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.actual=t,this.expected=n,this.generated=i,this.operator=r}};function J(e,t){eY(!!e,!1,!0,`ok`,`Expected value to be truthy`,t)}function $J(e){eY(!1,!1,!0,`ok`,`Unreachable`,e)}function eY(e,t,n,r,i,a){if(!e)throw a instanceof Error?a:new HAe(a||i,t,n,r,!a)}function tY(e){let t=[],n=String(e||``),r=n.indexOf(`,`),i=0,a=!1;for(;!a;){r===-1&&(r=n.length,a=!0);let e=n.slice(i,r).trim();(e||!a)&&t.push(e),i=r+1,r=n.indexOf(`,`,i)}return t}function UAe(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var WAe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,GAe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,KAe={};function nY(e,t){return((t||KAe).jsx?GAe:WAe).test(e)}var qAe=/[ \t\n\f\r]/g;function JAe(e){return typeof e==`object`?e.type===`text`?rY(e.value):!1:rY(e)}function rY(e){return e.replace(qAe,``)===``}var iY=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};iY.prototype.normal={},iY.prototype.property={},iY.prototype.space=void 0;function aY(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new iY(n,r,t)}function oY(e){return e.toLowerCase()}var sY=class{constructor(e,t){this.attribute=t,this.property=e}};sY.prototype.attribute=``,sY.prototype.booleanish=!1,sY.prototype.boolean=!1,sY.prototype.commaOrSpaceSeparated=!1,sY.prototype.commaSeparated=!1,sY.prototype.defined=!1,sY.prototype.mustUseProperty=!1,sY.prototype.number=!1,sY.prototype.overloadedBoolean=!1,sY.prototype.property=``,sY.prototype.spaceSeparated=!1,sY.prototype.space=void 0;var cY=r({boolean:()=>lY,booleanish:()=>uY,commaOrSpaceSeparated:()=>hY,commaSeparated:()=>mY,number:()=>fY,overloadedBoolean:()=>dY,spaceSeparated:()=>pY}),YAe=0,lY=gY(),uY=gY(),dY=gY(),fY=gY(),pY=gY(),mY=gY(),hY=gY();function gY(){return 2**++YAe}var _Y=Object.keys(cY),vY=class extends sY{constructor(e,t,n,r){let i=-1;if(super(e,t),yY(this,`space`,r),typeof n==`number`)for(;++i<_Y.length;){let e=_Y[i];yY(this,_Y[i],(n&cY[e])===cY[e])}}};vY.prototype.defined=!0;function yY(e,t,n){n&&(e[t]=n)}function bY(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new vY(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[oY(r)]=r,n[oY(a.attribute)]=r}return new iY(t,n,e.space)}var xY=bY({properties:{ariaActiveDescendant:null,ariaAtomic:uY,ariaAutoComplete:null,ariaBusy:uY,ariaChecked:uY,ariaColCount:fY,ariaColIndex:fY,ariaColSpan:fY,ariaControls:pY,ariaCurrent:null,ariaDescribedBy:pY,ariaDetails:null,ariaDisabled:uY,ariaDropEffect:pY,ariaErrorMessage:null,ariaExpanded:uY,ariaFlowTo:pY,ariaGrabbed:uY,ariaHasPopup:null,ariaHidden:uY,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:pY,ariaLevel:fY,ariaLive:null,ariaModal:uY,ariaMultiLine:uY,ariaMultiSelectable:uY,ariaOrientation:null,ariaOwns:pY,ariaPlaceholder:null,ariaPosInSet:fY,ariaPressed:uY,ariaReadOnly:uY,ariaRelevant:null,ariaRequired:uY,ariaRoleDescription:pY,ariaRowCount:fY,ariaRowIndex:fY,ariaRowSpan:fY,ariaSelected:uY,ariaSetSize:fY,ariaSort:null,ariaValueMax:fY,ariaValueMin:fY,ariaValueNow:fY,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function SY(e,t){return t in e?e[t]:t}function CY(e,t){return SY(e,t.toLowerCase())}var XAe=bY({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:mY,acceptCharset:pY,accessKey:pY,action:null,allow:null,allowFullScreen:lY,allowPaymentRequest:lY,allowUserMedia:lY,alt:null,as:null,async:lY,autoCapitalize:null,autoComplete:pY,autoFocus:lY,autoPlay:lY,blocking:pY,capture:null,charSet:null,checked:lY,cite:null,className:pY,cols:fY,colSpan:null,content:null,contentEditable:uY,controls:lY,controlsList:pY,coords:fY|mY,crossOrigin:null,data:null,dateTime:null,decoding:null,default:lY,defer:lY,dir:null,dirName:null,disabled:lY,download:dY,draggable:uY,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:lY,formTarget:null,headers:pY,height:fY,hidden:dY,high:fY,href:null,hrefLang:null,htmlFor:pY,httpEquiv:pY,id:null,imageSizes:null,imageSrcSet:null,inert:lY,inputMode:null,integrity:null,is:null,isMap:lY,itemId:null,itemProp:pY,itemRef:pY,itemScope:lY,itemType:pY,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:lY,low:fY,manifest:null,max:null,maxLength:fY,media:null,method:null,min:null,minLength:fY,multiple:lY,muted:lY,name:null,nonce:null,noModule:lY,noValidate:lY,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:lY,optimum:fY,pattern:null,ping:pY,placeholder:null,playsInline:lY,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:lY,referrerPolicy:null,rel:pY,required:lY,reversed:lY,rows:fY,rowSpan:fY,sandbox:pY,scope:null,scoped:lY,seamless:lY,selected:lY,shadowRootClonable:lY,shadowRootDelegatesFocus:lY,shadowRootMode:null,shape:null,size:fY,sizes:null,slot:null,span:fY,spellCheck:uY,src:null,srcDoc:null,srcLang:null,srcSet:null,start:fY,step:null,style:null,tabIndex:fY,target:null,title:null,translate:null,type:null,typeMustMatch:lY,useMap:null,value:uY,width:fY,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:pY,axis:null,background:null,bgColor:null,border:fY,borderColor:null,bottomMargin:fY,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:lY,declare:lY,event:null,face:null,frame:null,frameBorder:null,hSpace:fY,leftMargin:fY,link:null,longDesc:null,lowSrc:null,marginHeight:fY,marginWidth:fY,noResize:lY,noHref:lY,noShade:lY,noWrap:lY,object:null,profile:null,prompt:null,rev:null,rightMargin:fY,rules:null,scheme:null,scrolling:uY,standby:null,summary:null,text:null,topMargin:fY,valueType:null,version:null,vAlign:null,vLink:null,vSpace:fY,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:lY,disableRemotePlayback:lY,prefix:null,property:null,results:fY,security:null,unselectable:null},space:`html`,transform:CY}),ZAe=bY({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`,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:hY,accentHeight:fY,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:fY,amplitude:fY,arabicForm:null,ascent:fY,attributeName:null,attributeType:null,azimuth:fY,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:fY,by:null,calcMode:null,capHeight:fY,className:pY,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:fY,diffuseConstant:fY,direction:null,display:null,dur:null,divisor:fY,dominantBaseline:null,download:lY,dx:null,dy:null,edgeMode:null,editable:null,elevation:fY,enableBackground:null,end:null,event:null,exponent:fY,externalResourcesRequired:null,fill:null,fillOpacity:fY,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:mY,g2:mY,glyphName:mY,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:fY,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:fY,horizOriginX:fY,horizOriginY:fY,id:null,ideographic:fY,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:fY,k:fY,k1:fY,k2:fY,k3:fY,k4:fY,kernelMatrix:hY,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:fY,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:fY,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:fY,overlineThickness:fY,paintOrder:null,panose1:null,path:null,pathLength:fY,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:pY,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:fY,pointsAtY:fY,pointsAtZ:fY,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:hY,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:hY,rev:hY,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:hY,requiredFeatures:hY,requiredFonts:hY,requiredFormats:hY,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:fY,specularExponent:fY,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:fY,strikethroughThickness:fY,string:null,stroke:null,strokeDashArray:hY,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:fY,strokeOpacity:fY,strokeWidth:null,style:null,surfaceScale:fY,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:hY,tabIndex:fY,tableValues:null,target:null,targetX:fY,targetY:fY,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:hY,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:fY,underlineThickness:fY,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:fY,values:null,vAlphabetic:fY,vMathematical:fY,vectorEffect:null,vHanging:fY,vIdeographic:fY,version:null,vertAdvY:fY,vertOriginX:fY,vertOriginY:fY,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:fY,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:SY}),wY=bY({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()}}),TY=bY({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:CY}),EY=bY({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),QAe={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`},$Ae=/[A-Z]/g,DY=/-[a-z]/g,eje=/^data[-\w.:]+$/i;function OY(e,t){let n=oY(t),r=t,i=sY;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&eje.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(DY,nje);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!DY.test(e)){let n=e.replace($Ae,tje);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=vY}return new i(r,t)}function tje(e){return`-`+e.toLowerCase()}function nje(e){return e.charAt(1).toUpperCase()}var kY=aY([xY,XAe,wY,TY,EY],`html`),AY=aY([xY,ZAe,wY,TY,EY],`svg`);function jY(e){let t=String(e||``).trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function rje(e){return e.join(` `).trim()}var ije=a(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g,u=`
|
|
3086
3086
|
`,d=`/`,f=`*`,p=``,m=`comment`,h=`declaration`;function g(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,g=1;function v(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(u);g=~n?e.length-n:g+e.length}function y(){var e={line:l,column:g};return function(t){return t.position=new b(e),C(),t}}function b(e){this.start=e,this.end={line:l,column:g},this.source=t.source}b.prototype.content=e;function x(n){var r=Error(t.source+`:`+l+`:`+g+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=g,r.source=e,!t.silent)throw r}function S(t){var n=t.exec(e);if(n){var r=n[0];return v(r),e=e.slice(r.length),n}}function C(){S(i)}function w(e){var t;for(e||=[];t=T();)t!==!1&&e.push(t);return e}function T(){var t=y();if(!(d!=e.charAt(0)||f!=e.charAt(1))){for(var n=2;p!=e.charAt(n)&&(f!=e.charAt(n)||d!=e.charAt(n+1));)++n;if(n+=2,p===e.charAt(n-1))return x(`End of comment missing`);var r=e.slice(2,n-2);return g+=2,v(r),e=e.slice(n),g+=2,t({type:m,comment:r})}}function E(){var e=y(),t=S(a);if(t){if(T(),!S(o))return x(`property missing ':'`);var r=S(s),i=e({type:h,property:_(t[0].replace(n,p)),value:r?_(r[0].replace(n,p)):p});return S(c),i}}function D(){var e=[];w(e);for(var t;t=E();)t!==!1&&(e.push(t),w(e));return e}return C(),D()}function _(e){return e?e.replace(l,p):p}t.exports=g})),aje=a((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,`__esModule`,{value:!0}),e.default=r;var n=t(ije());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),oje=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),sje=a(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(aje()),r=oje();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),MY=PY(`end`),NY=PY(`start`);function PY(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function cje(e){let t=NY(e),n=MY(e);if(t&&n)return{start:t,end:n}}function FY(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?LY(e.position):`start`in e||`end`in e?LY(e):`line`in e||`column`in e?IY(e):``}function IY(e){return RY(e&&e.line)+`:`+RY(e&&e.column)}function LY(e){return IY(e&&e.start)+`-`+IY(e&&e.end)}function RY(e){return e&&typeof e==`number`?e:1}var zY=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=FY(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};zY.prototype.file=``,zY.prototype.name=``,zY.prototype.reason=``,zY.prototype.message=``,zY.prototype.stack=``,zY.prototype.column=void 0,zY.prototype.line=void 0,zY.prototype.ancestors=void 0,zY.prototype.cause=void 0,zY.prototype.fatal=void 0,zY.prototype.place=void 0,zY.prototype.ruleId=void 0,zY.prototype.source=void 0;var lje=i(sje(),1),BY={}.hasOwnProperty,uje=new Map,dje=/[A-Z]/g,fje=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),pje=new Set([`td`,`th`]),VY=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`;function mje(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Sje(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=xje(n,t.jsx,t.jsxs)}let i={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`?AY:kY,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=HY(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function HY(e,t,n){if(t.type===`element`)return hje(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return gje(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return vje(e,t,n);if(t.type===`mdxjsEsm`)return _je(e,t);if(t.type===`root`)return yje(e,t,n);if(t.type===`text`)return bje(e,t)}function hje(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=AY,e.schema=i),e.ancestors.push(t);let a=KY(e,t.tagName,!1),o=Cje(e,t),s=GY(e,t);return fje.has(t.tagName)&&(s=s.filter(function(e){return typeof e==`string`?!JAe(e):!0})),UY(e,o,a,t),WY(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function gje(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return J(n.type===`ExpressionStatement`),e.evaluater.evaluateExpression(n.expression)}qY(e,t.position)}function _je(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);qY(e,t.position)}function vje(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=AY,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:KY(e,t.name,!0),o=wje(e,t),s=GY(e,t);return UY(e,o,a,t),WY(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function yje(e,t,n){let r={};return WY(r,GY(e,t)),e.create(t,e.Fragment,r,n)}function bje(e,t){return t.value}function UY(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function WY(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function xje(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function Sje(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=NY(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function Cje(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&BY.call(t.properties,i)){let a=Tje(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&pje.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function wje(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];J(t.type===`ExpressionStatement`);let i=t.expression;J(i.type===`ObjectExpression`);let a=i.properties[0];J(a.type===`SpreadElement`),Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else qY(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];J(t.type===`ExpressionStatement`),a=e.evaluater.evaluateExpression(t.expression)}else qY(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function GY(e,t){let n=[],r=-1,i=e.passKeys?new Map:uje;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=HY(e,a,o);s!==void 0&&n.push(s)}return n}function Tje(e,t,n){let r=OY(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?UAe(n):rje(n)),r.property===`style`){let t=typeof n==`object`?n:Eje(e,String(n));return e.stylePropertyNameCase===`css`&&(t=Dje(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?QAe[r.property]||r.property:r.attribute,n]}}function Eje(e,t){try{return(0,lje.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new zY("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=VY+`#cannot-parse-style-attribute`,r}}function KY(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=nY(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}J(i,`always a result`),r=i}else r=nY(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return BY.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);qY(e)}function qY(e,t){let n=new zY("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=VY+`#cannot-handle-mdx-estrees-without-createevaluater`,n}function Dje(e){let t={},n;for(n in e)BY.call(e,n)&&(t[Oje(n)]=e[n]);return t}function Oje(e){let t=e.replace(dje,kje);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function kje(e){return`-`+e.toLowerCase()}var JY={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`]},Aje={};function YY(e,t){let n=t||Aje;return XY(e,typeof n.includeImageAlt==`boolean`?n.includeImageAlt:!0,typeof n.includeHtml==`boolean`?n.includeHtml:!0)}function XY(e,t,n){if(jje(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 ZY(e.children,t,n)}return Array.isArray(e)?ZY(e,t,n):``}function ZY(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=XY(e[i],t,n);return r.join(``)}function jje(e){return!!(e&&typeof e==`object`)}var QY=document.createElement(`i`);function $Y(e){let t=`&`+e+`;`;QY.innerHTML=t;let n=QY.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}var Y={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533},eX={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:`CDATA[`,characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:`content`,contentTypeDocument:`document`,contentTypeFlow:`flow`,contentTypeString:`string`,contentTypeText:`text`,hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4},X={data:`data`,whitespace:`whitespace`,lineEnding:`lineEnding`,lineEndingBlank:`lineEndingBlank`,linePrefix:`linePrefix`,lineSuffix:`lineSuffix`,atxHeading:`atxHeading`,atxHeadingSequence:`atxHeadingSequence`,atxHeadingText:`atxHeadingText`,autolink:`autolink`,autolinkEmail:`autolinkEmail`,autolinkMarker:`autolinkMarker`,autolinkProtocol:`autolinkProtocol`,characterEscape:`characterEscape`,characterEscapeValue:`characterEscapeValue`,characterReference:`characterReference`,characterReferenceMarker:`characterReferenceMarker`,characterReferenceMarkerNumeric:`characterReferenceMarkerNumeric`,characterReferenceMarkerHexadecimal:`characterReferenceMarkerHexadecimal`,characterReferenceValue:`characterReferenceValue`,codeFenced:`codeFenced`,codeFencedFence:`codeFencedFence`,codeFencedFenceSequence:`codeFencedFenceSequence`,codeFencedFenceInfo:`codeFencedFenceInfo`,codeFencedFenceMeta:`codeFencedFenceMeta`,codeFlowValue:`codeFlowValue`,codeIndented:`codeIndented`,codeText:`codeText`,codeTextData:`codeTextData`,codeTextPadding:`codeTextPadding`,codeTextSequence:`codeTextSequence`,content:`content`,definition:`definition`,definitionDestination:`definitionDestination`,definitionDestinationLiteral:`definitionDestinationLiteral`,definitionDestinationLiteralMarker:`definitionDestinationLiteralMarker`,definitionDestinationRaw:`definitionDestinationRaw`,definitionDestinationString:`definitionDestinationString`,definitionLabel:`definitionLabel`,definitionLabelMarker:`definitionLabelMarker`,definitionLabelString:`definitionLabelString`,definitionMarker:`definitionMarker`,definitionTitle:`definitionTitle`,definitionTitleMarker:`definitionTitleMarker`,definitionTitleString:`definitionTitleString`,emphasis:`emphasis`,emphasisSequence:`emphasisSequence`,emphasisText:`emphasisText`,escapeMarker:`escapeMarker`,hardBreakEscape:`hardBreakEscape`,hardBreakTrailing:`hardBreakTrailing`,htmlFlow:`htmlFlow`,htmlFlowData:`htmlFlowData`,htmlText:`htmlText`,htmlTextData:`htmlTextData`,image:`image`,label:`label`,labelText:`labelText`,labelLink:`labelLink`,labelImage:`labelImage`,labelMarker:`labelMarker`,labelImageMarker:`labelImageMarker`,labelEnd:`labelEnd`,link:`link`,paragraph:`paragraph`,reference:`reference`,referenceMarker:`referenceMarker`,referenceString:`referenceString`,resource:`resource`,resourceDestination:`resourceDestination`,resourceDestinationLiteral:`resourceDestinationLiteral`,resourceDestinationLiteralMarker:`resourceDestinationLiteralMarker`,resourceDestinationRaw:`resourceDestinationRaw`,resourceDestinationString:`resourceDestinationString`,resourceMarker:`resourceMarker`,resourceTitle:`resourceTitle`,resourceTitleMarker:`resourceTitleMarker`,resourceTitleString:`resourceTitleString`,setextHeading:`setextHeading`,setextHeadingText:`setextHeadingText`,setextHeadingLine:`setextHeadingLine`,setextHeadingLineSequence:`setextHeadingLineSequence`,strong:`strong`,strongSequence:`strongSequence`,strongText:`strongText`,thematicBreak:`thematicBreak`,thematicBreakSequence:`thematicBreakSequence`,blockQuote:`blockQuote`,blockQuotePrefix:`blockQuotePrefix`,blockQuoteMarker:`blockQuoteMarker`,blockQuotePrefixWhitespace:`blockQuotePrefixWhitespace`,listOrdered:`listOrdered`,listUnordered:`listUnordered`,listItemIndent:`listItemIndent`,listItemMarker:`listItemMarker`,listItemPrefix:`listItemPrefix`,listItemPrefixWhitespace:`listItemPrefixWhitespace`,listItemValue:`listItemValue`,chunkDocument:`chunkDocument`,chunkContent:`chunkContent`,chunkFlow:`chunkFlow`,chunkText:`chunkText`,chunkString:`chunkString`},tX={ht:` `,lf:`
|
|
@@ -3132,56 +3132,56 @@ ${e.hypothesis}`},void 0,!1,{fileName:a$,lineNumber:402,columnNumber:9},this)}fu
|
|
|
3132
3132
|
`),$1=mze(`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,7),Bze=`__optimistic__`,Vze=()=>`${Bze}${$1()}`,e0=Symbol(`autoStatus`),Hze=Object.freeze(Object.assign({type:`running`},{[e0]:!0})),Uze=Object.freeze(Object.assign({type:`complete`,reason:`unknown`},{[e0]:!0})),Wze=Object.freeze(Object.assign({type:`requires-action`,reason:`tool-calls`},{[e0]:!0})),Gze=Object.freeze(Object.assign({type:`requires-action`,reason:`interrupt`},{[e0]:!0})),Kze=e=>e[e0]===!0,t0=(e,t,n,r,i)=>e&&i?Object.assign({type:`incomplete`,reason:`error`,error:i},{[e0]:!0}):e&&t?Hze:n?Gze:r?Wze:Uze,n0=(e,t)=>{if(e.startsWith(`data-`))return{type:`data`,name:e.substring(5),data:t}},r0=(e,t,n)=>{let{role:r,id:i,createdAt:a,attachments:o,status:s,metadata:c}=e,l={id:i??t,createdAt:a??new Date},u=typeof e.content==`string`?[{type:`text`,text:e.content}]:e.content,d=({image:e,...t})=>e.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.*)$/)?{...t,image:e}:(console.warn(`Invalid image data format detected`),null);if(r!==`user`&&o?.length)throw Error(`attachments are only supported for user messages`);if(r!==`assistant`&&s)throw Error(`status is only supported for assistant messages`);if(r!==`assistant`&&c?.steps)throw Error(`metadata.steps is only supported for assistant messages`);switch(r){case`assistant`:return{...l,role:r,content:u.map(e=>{let t=e.type;switch(t){case`text`:case`reasoning`:return e.text.trim().length===0?null:e;case`file`:case`source`:return e;case`image`:return d(e);case`data`:return e;case`tool-call`:{let{parentId:t,messages:n,...r}=e,i={...r,toolCallId:e.toolCallId??`tool-${$1()}`,...t!==void 0&&{parentId:t},...n!==void 0&&{messages:n}};return e.args?{...i,args:e.args,argsText:e.argsText??JSON.stringify(e.args)}:{...i,args:pze(e.argsText??``)??{},argsText:e.argsText??``}}default:{let n=n0(t,e.data);if(n)return n;throw Error(`Unsupported assistant message part type: ${t}`)}}}).filter(e=>!!e),status:s??n,metadata:{unstable_state:c?.unstable_state??null,unstable_annotations:c?.unstable_annotations??[],unstable_data:c?.unstable_data??[],custom:c?.custom??{},steps:c?.steps??[],...c?.timing&&{timing:c.timing},...c?.submittedFeedback&&{submittedFeedback:c.submittedFeedback}}};case`user`:return{...l,role:r,content:u.map(e=>{let t=e.type;switch(t){case`text`:case`image`:case`audio`:case`file`:case`data`:return e;default:{let n=n0(t,e.data);if(n)return n;throw Error(`Unsupported user message part type: ${t}`)}}}),attachments:(o??[]).map(e=>({...e,content:e.content.map(e=>n0(e.type,e.data)??e)})),metadata:{custom:c?.custom??{}}};case`system`:if(u.length!==1||u[0].type!==`text`)throw Error(`System messages must have exactly one text message part.`);return{...l,role:r,content:u,metadata:{custom:c?.custom??{}}};default:throw Error(`Unknown message role: ${r}`)}},i0={fromArray:e=>{let t=e.map(e=>r0(e,$1(),t0(!1,!1,!1,!1,void 0)));return{messages:t.map((e,n)=>({parentId:n>0?t[n-1].id:null,message:e}))}},fromBranchableArray:(e,t)=>{let n=t0(!1,!1,!1,!1,void 0);return{...t?.headId===void 0?void 0:{headId:t.headId},messages:e.map(({message:e,parentId:t})=>{if(!e.id)throw Error(`ExportedMessageRepository.fromBranchableArray: Each message must have an 'id' field set.`);return{parentId:t,message:r0(e,e.id,n)}})}}},a0=e=>e.next?a0(e.next):`current`in e?e:null,qze=class{func;_value=null;constructor(e){this.func=e}get value(){return this._value===null&&(this._value=this.func()),this._value}dirty(){this._value=null}},o0=class{messages=new Map;head=null;root={children:[],next:null};updateLevels(e,t){e.level=t;for(let n of e.children){let e=this.messages.get(n);e&&this.updateLevels(e,t+1)}}performOp(e,t,n){let r=t.prev??this.root,i=e??this.root;if(!(n===`relink`&&r===i)){if(n!==`link`&&(r.children=r.children.filter(e=>e!==t.current.id),r.next===t)){let e=r.children.at(-1),t=e?this.messages.get(e):null;if(t===void 0)throw Error(`MessageRepository(performOp/cut): Fallback sibling message not found. This is likely an internal bug in assistant-ui.`);r.next=t}if(n!==`cut`){for(let n=e;n;n=n.prev)if(n.current.id===t.current.id)throw Error(`MessageRepository(performOp/link): A message with the same id already exists in the parent tree. This error occurs if the same message id is found multiple times. This is likely an internal bug in assistant-ui.`);i.children=[...i.children,t.current.id],(a0(t)===this.head||i.next===null)&&(i.next=t),t.prev=e;let n=e?e.level+1:0;this.updateLevels(t,n)}}}_messages=new qze(()=>{let e=Array((this.head?.level??-1)+1);for(let t=this.head;t;t=t.prev)e[t.level]=t.current;return e});get headId(){return this.head?.current.id??null}getMessages(e){if(e===void 0||e===this.head?.current.id)return this._messages.value;let t=this.messages.get(e);if(!t)throw Error(`MessageRepository(getMessages): Head message not found. This is likely an internal bug in assistant-ui.`);let n=Array(t.level+1);for(let e=t;e;e=e.prev)n[e.level]=e.current;return n}addOrUpdateMessage(e,t){let n=this.messages.get(t.id),r=e?this.messages.get(e):null;if(r===void 0)throw Error(`MessageRepository(addOrUpdateMessage): Parent message not found. This is likely an internal bug in assistant-ui.`);if(n){n.current=t,this.performOp(r,n,`relink`),this._messages.dirty();return}let i={prev:r,current:t,next:null,children:[],level:r?r.level+1:0};this.messages.set(t.id,i),this.performOp(r,i,`link`),this.head===r&&(this.head=i),this._messages.dirty()}getMessage(e){let t=this.messages.get(e);if(!t)throw Error(`MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui.`);return{parentId:t.prev?.current.id??null,message:t.current,index:t.level}}appendOptimisticMessage(e,t){let n;do n=Vze();while(this.messages.has(n));return this.addOrUpdateMessage(e,r0(t,n,{type:`running`})),n}deleteMessage(e,t){let n=this.messages.get(e);if(!n)throw Error(`MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.`);let r=t===void 0?n.prev:t===null?null:this.messages.get(t);if(r===void 0)throw Error(`MessageRepository(deleteMessage): Replacement not found. This is likely an internal bug in assistant-ui.`);for(let e of n.children){let t=this.messages.get(e);if(!t)throw Error(`MessageRepository(deleteMessage): Child message not found. This is likely an internal bug in assistant-ui.`);this.performOp(r,t,`relink`)}this.performOp(null,n,`cut`),this.messages.delete(e),this.head===n&&(this.head=a0(r??this.root)),this._messages.dirty()}getBranches(e){let t=this.messages.get(e);if(!t)throw Error(`MessageRepository(getBranches): Message not found. This is likely an internal bug in assistant-ui.`);let{children:n}=t.prev??this.root;return n}switchToBranch(e){let t=this.messages.get(e);if(!t)throw Error(`MessageRepository(switchToBranch): Branch not found. This is likely an internal bug in assistant-ui.`);let n=t.prev??this.root;n.next=t,this.head=a0(t),this._messages.dirty()}resetHead(e){if(e===null){this.clear();return}let t=this.messages.get(e);if(!t)throw Error(`MessageRepository(resetHead): Branch not found. This is likely an internal bug in assistant-ui.`);if(t.children.length>0){let e=t=>{for(let n of t.children){let t=this.messages.get(n);t&&(e(t),this.messages.delete(n))}};e(t),t.children=[],t.next=null}this.head=t;for(let e=t;e;e=e.prev)e.prev?e.prev.next=e:this.root.next=e;this._messages.dirty()}clear(){this.messages.clear(),this.head=null,this.root={children:[],next:null},this._messages.dirty()}export(){let e=[];for(let[,t]of this.messages)e.push({message:t.current,parentId:t.prev?.current.id??null});return{headId:this.head?.current.id??null,messages:e}}import({headId:e,messages:t}){for(let{message:e,parentId:n}of t)this.addOrUpdateMessage(n,e);this.resetHead(e??t.at(-1)?.message.id??null)}};function s0(e,t){if(t===`*`)return!0;let n=t.split(`,`).map(e=>e.trim().toLowerCase()),r=`.${e.name.split(`.`).pop().toLowerCase()}`,i=e.type.toLowerCase();for(let e of n){if(e.startsWith(`.`)&&e===r||e.includes(`/`)&&e===i)return!0;if(e.endsWith(`/*`)){let t=e.split(`/`)[0];if(i.startsWith(`${t}/`))return!0}}return!1}function Jze(e,t){return e.length===t.length?e.every((e,n)=>e.id===t[n].id):!1}function Yze(e){let t=$1();return e.type===`image`?{id:t,type:`image`,name:e.filename??`image`,content:[e],status:{type:`complete`}}:e.type===`file`?{id:t,type:`document`,name:e.filename??`document`,contentType:e.mimeType,content:[e],status:{type:`complete`}}:e.type===`audio`?{id:t,type:`audio`,name:`audio.${e.audio.format}`,contentType:`audio/${e.audio.format}`,content:[e],status:{type:`complete`}}:{id:t,type:`data`,name:e.name,content:[e],status:{type:`complete`}}}function Xze(e){let t=[];for(let n of e)n.type!==`text`&&t.push(Yze(n));return t}var c0=e=>e.status.type===`complete`,l0=class extends Rze{isEditing=!0;get attachmentAccept(){return this.getAttachmentAdapter()?.accept??`*`}_attachments=[];get attachments(){return this._attachments}setAttachments(e){this._attachments=e,this._notifySubscribers()}get isEmpty(){return!this.text.trim()&&!this.attachments.length}_text=``;get text(){return this._text}_role=`user`;get role(){return this._role}_runConfig={};get runConfig(){return this._runConfig}_quote=void 0;get quote(){return this._quote}setQuote(e){this._quote!==e&&(this._quote=e,this._notifySubscribers())}setText(e){if(this._text!==e){if(this._text=e,this._dictation){this._dictationBaseText=e,this._currentInterimText=``;let{status:t,inputDisabled:n}=this._dictation;this._dictation=n?{status:t,inputDisabled:n}:{status:t}}this._notifySubscribers()}}setRole(e){this._role!==e&&(this._role=e,this._notifySubscribers())}setRunConfig(e){this._runConfig!==e&&(this._runConfig=e,this._notifySubscribers())}_emptyTextAndAttachments(){this._attachments=[],this._text=``,this._notifySubscribers()}async _onClearAttachments(){let e=this.getAttachmentAdapter();if(e){let t=this._attachments.filter(e=>!c0(e));await Promise.all(t.map(t=>e.remove(t)))}}async reset(){if(this._attachments.length===0&&this._text===``&&this._role===`user`&&Object.keys(this._runConfig).length===0&&this._quote===void 0)return;this._role=`user`,this._runConfig={},this._quote=void 0;let e=this._onClearAttachments();this._emptyTextAndAttachments(),await e}async clearAttachments(){let e=this._onClearAttachments();this.setAttachments([]),await e}async send(e){if(this.isEmpty)return;this._dictationSession&&(this._dictationSession.cancel(),this._cleanupDictation());let t=this.getAttachmentAdapter(),n=this.attachments.length>0?Promise.all(this.attachments.map(async e=>{if(c0(e))return e;if(!t)throw Error(`Attachments are not supported`);return await t.send(e)})):[],r=this.text,i=this._quote;this._quote=void 0,this._emptyTextAndAttachments();let a={createdAt:new Date,role:this.role,content:r?[{type:`text`,text:r}]:[],attachments:await n,runConfig:this.runConfig,metadata:{custom:{...i?{quote:i}:{}}}};this.handleSend(a,e),this._notifyEventSubscribers(`send`,{})}cancel(){this.handleCancel()}async addAttachment(e){if(!(e instanceof File)){let t=this.getAttachmentAdapter();if(t&&!s0({name:e.name,type:e.contentType??``},t.accept)){let n=`File type ${e.contentType||`unknown`} is not accepted. Accepted types: ${t.accept}`,r=Error(n);throw this._safeEmitAttachmentAddError(`not-accepted`,n,void 0,r),r}let n={id:e.id??$1(),type:e.type??`document`,name:e.name,contentType:e.contentType,content:e.content,status:{type:`complete`}};this._attachments=[...this._attachments,n],this._notifySubscribers(),this._notifyEventSubscribers(`attachmentAdd`,{});return}let t=e=>{let t=this._attachments.findIndex(t=>t.id===e.id);t===-1?this._attachments=[...this._attachments,e]:this._attachments=[...this._attachments.slice(0,t),e,...this._attachments.slice(t+1)],this._notifySubscribers()},n=this.getAttachmentAdapter();if(!n){let e=`Attachments are not supported`,t=Error(e);throw this._safeEmitAttachmentAddError(`no-adapter`,e,void 0,t),t}if(!s0({name:e.name,type:e.type},n.accept)){let t=`File type ${e.type||`unknown`} is not accepted. Accepted types: ${n.accept}`,r=Error(t);throw this._safeEmitAttachmentAddError(`not-accepted`,t,void 0,r),r}let r;try{let i=n.add({file:e});if(Symbol.asyncIterator in i)for await(let e of i)r=e,t(e);else r=await i,t(r)}catch(e){throw r&&t({...r,status:{type:`incomplete`,reason:`error`}}),this._safeEmitAttachmentAddError(`adapter-error`,e instanceof Error?e.message:String(e),r?.id,e instanceof Error?e:void 0),e}r?.status.type===`incomplete`&&r.status.reason===`error`?this._safeEmitAttachmentAddError(`adapter-error`,`Attachment upload did not complete successfully.`,r?.id):this._notifyEventSubscribers(`attachmentAdd`,{})}_safeEmitAttachmentAddError(e,t,n,r){try{this._notifyEventSubscribers(`attachmentAddError`,{reason:e,message:t,...n!==void 0&&{attachmentId:n},...r!==void 0&&{error:r}})}catch(e){console.error(`[assistant-ui] attachmentAddError subscriber threw:`,e)}}async removeAttachment(e){let t=this._attachments.findIndex(t=>t.id===e);if(t===-1)throw Error(`Attachment not found`);let n=this._attachments[t];if(!c0(n)){let e=this.getAttachmentAdapter();if(!e)throw Error(`Attachments are not supported`);await e.remove(n)}this._attachments=this._attachments.filter(t=>t.id!==e),this._notifySubscribers()}_dictation;_dictationSession;_dictationUnsubscribes=[];_dictationBaseText=``;_currentInterimText=``;_dictationSessionIdCounter=0;_activeDictationSessionId;_isCleaningDictation=!1;get dictation(){return this._dictation}_isActiveSession(e,t){return this._activeDictationSessionId===e&&this._dictationSession===t}startDictation(){let e=this.getDictationAdapter();if(!e)throw Error(`Dictation adapter not configured`);if(this._dictationSession){for(let e of this._dictationUnsubscribes)e();this._dictationUnsubscribes=[],this._dictationSession.stop().catch(()=>{}),this._dictationSession=void 0}let t=e.disableInputDuringDictation??!1;this._dictationBaseText=this._text,this._currentInterimText=``;let n=e.listen();this._dictationSession=n;let r=++this._dictationSessionIdCounter;this._activeDictationSessionId=r,this._dictation={status:n.status,inputDisabled:t},this._notifySubscribers();let i=n.onSpeech(e=>{if(!this._isActiveSession(r,n))return;let t=e.isFinal!==!1,i=this._dictationBaseText&&!this._dictationBaseText.endsWith(` `)&&e.transcript?` `:``;if(t){if(this._dictationBaseText=this._dictationBaseText+i+e.transcript,this._currentInterimText=``,this._text=this._dictationBaseText,this._dictation){let{transcript:e,...t}=this._dictation;this._dictation=t}this._notifySubscribers()}else this._currentInterimText=i+e.transcript,this._text=this._dictationBaseText+this._currentInterimText,this._dictation&&={...this._dictation,transcript:e.transcript},this._notifySubscribers()});this._dictationUnsubscribes.push(i);let a=n.onSpeechStart(()=>{this._isActiveSession(r,n)&&(this._dictation={status:{type:`running`},inputDisabled:t,...this._dictation?.transcript&&{transcript:this._dictation.transcript}},this._notifySubscribers())});this._dictationUnsubscribes.push(a);let o=n.onSpeechEnd(()=>{this._cleanupDictation({sessionId:r})});this._dictationUnsubscribes.push(o);let s=setInterval(()=>{this._isActiveSession(r,n)&&n.status.type===`ended`&&this._cleanupDictation({sessionId:r})},100);this._dictationUnsubscribes.push(()=>clearInterval(s))}stopDictation(){if(!this._dictationSession)return;let e=this._dictationSession,t=this._activeDictationSessionId;e.stop().finally(()=>{this._cleanupDictation({sessionId:t})})}_cleanupDictation(e){if(!(e?.sessionId!==void 0&&e.sessionId!==this._activeDictationSessionId||this._isCleaningDictation)){this._isCleaningDictation=!0;try{for(let e of this._dictationUnsubscribes)e();this._dictationUnsubscribes=[],this._dictationSession=void 0,this._activeDictationSessionId=void 0,this._dictation=void 0,this._dictationBaseText=``,this._currentInterimText=``,this._notifySubscribers()}finally{this._isCleaningDictation=!1}}}_eventSubscribers=new Map;_notifyEventSubscribers(e,t){let n=this._eventSubscribers.get(e);if(n)for(let e of n)e(t)}unstable_on(e,t){let n=t,r=this._eventSubscribers.get(e);return r||(r=new Set,this._eventSubscribers.set(e,r)),r.add(n),()=>{this._eventSubscribers.get(e)?.delete(n)}}},Zze=class extends l0{runtime;_canCancel=!1;get canCancel(){return this._canCancel}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}constructor(e){super(),this.runtime=e,this.connect()}connect(){return this.runtime.subscribe(()=>{this.canCancel!==this.runtime.capabilities.cancel&&(this._canCancel=this.runtime.capabilities.cancel,this._notifySubscribers())})}async handleSend(e,t){this.runtime.append({...e,parentId:this.runtime.messages.at(-1)?.id??null,sourceId:null,startRun:t?.startRun})}async handleCancel(){this.runtime.cancelRun()}},Qze=class extends l0{runtime;endEditCallback;get canCancel(){return!0}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}_previousText;_previousAttachments;_nonTextPassthrough;_parentId;_sourceId;constructor(e,t,{parentId:n,message:r}){super(),this.runtime=e,this.endEditCallback=t,this._parentId=n,this._sourceId=r.id,this._previousText=Q1(r),this.setText(this._previousText),this.setRole(r.role),r.role===`user`?(this._previousAttachments=[...r.attachments??[],...Xze(r.content)],this._nonTextPassthrough=[]):(this._previousAttachments=r.attachments??[],this._nonTextPassthrough=r.content.filter(e=>e.type!==`text`)),this.setAttachments(this._previousAttachments),this.setRunConfig({...e.composer.runConfig})}get parentId(){return this._parentId}get sourceId(){return this._sourceId}async handleSend(e,t){let n=Q1(e),r=!Jze(e.attachments??[],this._previousAttachments);if(n!==this._previousText||r||t?.startRun){let n=this._nonTextPassthrough.length>0?[...e.content,...this._nonTextPassthrough]:e.content;this.runtime.append({...e,content:n,parentId:this._parentId,sourceId:this._sourceId,startRun:t?.startRun})}this.handleCancel()}handleCancel(){this.endEditCallback(),this._notifySubscribers()}},$ze=class{_contextProvider;_subscriptions=new Set;_isInitialized=!1;repository=new o0;_voiceMessages=[];_voiceGeneration=0;_cachedMergedMessages=null;_cachedVoiceGeneration=-1;_cachedMergedBase=null;_markVoiceMessagesDirty(){this._voiceGeneration++,this._cachedMergedMessages=null}_getBaseMessages(){return this.repository.getMessages()}get messages(){if(this._voiceMessages.length===0)return this._getBaseMessages();let e=this._getBaseMessages();return(this._cachedVoiceGeneration!==this._voiceGeneration||this._cachedMergedBase!==e)&&(this._cachedMergedMessages=[...e,...this._voiceMessages],this._cachedVoiceGeneration=this._voiceGeneration,this._cachedMergedBase=e),this._cachedMergedMessages}get state(){let e;for(let t of this.messages)t.role===`assistant`&&(e=t);return e?.metadata.unstable_state??null}composer=new Zze(this);constructor(e){this._contextProvider=e}getModelContext(){return this._contextProvider.getModelContext()}_editComposers=new Map;getEditComposer(e){return this._editComposers.get(e)}beginEdit(e){if(this._editComposers.has(e))throw Error(`Edit already in progress`);this._editComposers.set(e,new Qze(this,()=>this._editComposers.delete(e),this.repository.getMessage(e))),this._notifySubscribers()}getMessageById(e){try{return this.repository.getMessage(e)}catch{let t=this.repository.getMessages(),n=this._voiceMessages.findIndex(t=>t.id===e);return n===-1?void 0:{parentId:n>0?this._voiceMessages[n-1].id:t.at(-1)?.id??null,message:this._voiceMessages[n],index:t.length+n}}}getBranches(e){return this._voiceMessages.some(t=>t.id===e)?[]:this.repository.getBranches(e)}switchToBranch(e){this.repository.switchToBranch(e),this._notifySubscribers()}_notifySubscribers(){for(let e of this._subscriptions)e()}_notifyEventSubscribers(e,t){let n=this._eventSubscribers.get(e);if(n)for(let e of n)e(t)}subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}submitFeedback({messageId:e,type:t}){let n=this.adapters?.feedback;if(!n)throw Error(`Feedback adapter not configured`);let{message:r,parentId:i}=this.repository.getMessage(e);if(n.submit({message:r,type:t}),r.role===`assistant`){let e={...r,metadata:{...r.metadata,submittedFeedback:{type:t}}};this.repository.addOrUpdateMessage(i,e)}this._notifySubscribers()}_stopSpeaking;speech;speak(e){let t=this.adapters?.speech;if(!t)throw Error(`Speech adapter not configured`);let{message:n}=this.repository.getMessage(e);this._stopSpeaking?.();let r=t.speak(Q1(n)),i=r.subscribe(()=>{r.status.type===`ended`?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:e,status:r.status},this._notifySubscribers()});this.speech={messageId:e,status:r.status},this._notifySubscribers(),this._stopSpeaking=()=>{r.cancel(),i(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw Error(`No message is being spoken`);this._stopSpeaking(),this._notifySubscribers()}_voiceSession;_voiceUnsubs=[];voice;_voiceVolume=0;_voiceVolumeSubscribers=new Set;getVoiceVolume=()=>this._voiceVolume;subscribeVoiceVolume=e=>(this._voiceVolumeSubscribers.add(e),()=>this._voiceVolumeSubscribers.delete(e));connectVoice(){let e=this.adapters?.voice;if(!e)throw Error(`Voice adapter not configured`);this.disconnectVoice();let t=e.connect({});this._voiceSession=t;let n=[],r=`listening`;this.voice={status:t.status,isMuted:t.isMuted,mode:r},this._voiceVolume=0,this._notifySubscribers(),n.push(t.onStatusChange(e=>{e.type===`ended`?(this._finishVoiceAssistantMessage(),this._voiceSession=void 0,this.voice=void 0):this.voice={status:e,isMuted:t.isMuted,mode:r},this._notifySubscribers()})),n.push(t.onModeChange(e=>{r=e,this.voice&&(this.voice={...this.voice,mode:e},this._notifySubscribers())})),n.push(t.onVolumeChange(e=>{this._voiceVolume=e;for(let e of this._voiceVolumeSubscribers)e()})),n.push(t.onTranscript(e=>{this._handleVoiceTranscript(e)})),this._voiceUnsubs=n}_currentAssistantMsg=null;_handleVoiceTranscript(e){if(this.ensureInitialized(),e.role===`user`)this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null,e.isFinal&&(this._voiceMessages.push({id:$1(),role:`user`,content:[{type:`text`,text:e.text}],metadata:{custom:{}},createdAt:new Date,status:{type:`complete`,reason:`unknown`},attachments:[]}),this._markVoiceMessagesDirty(),this._notifySubscribers());else{if(!this._currentAssistantMsg)this._currentAssistantMsg={id:$1(),role:`assistant`,content:[{type:`text`,text:e.text}],metadata:{unstable_state:this.state,unstable_annotations:[],unstable_data:[],steps:[],custom:{}},status:{type:`running`},createdAt:new Date},this._voiceMessages.push(this._currentAssistantMsg);else{let t=this._voiceMessages.indexOf(this._currentAssistantMsg);if(t===-1)return;let n={...this._currentAssistantMsg,content:[{type:`text`,text:e.text}],...e.isFinal?{status:{type:`complete`,reason:`stop`}}:{}};this._voiceMessages[t]=n,this._currentAssistantMsg=n}e.isFinal&&(this._currentAssistantMsg=null),this._markVoiceMessagesDirty(),this._notifySubscribers()}}_finishVoiceAssistantMessage(){let e=this._voiceMessages.at(-1);if(e?.role===`assistant`&&e.status.type===`running`){let t=this._voiceMessages.length-1;this._voiceMessages[t]={...e,status:{type:`complete`,reason:`stop`}},this._markVoiceMessagesDirty(),this._notifySubscribers()}}disconnectVoice(){this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null;for(let e of this._voiceUnsubs)e();this._voiceUnsubs=[],this._voiceSession?.disconnect(),this._voiceSession=void 0,this.voice=void 0,this._voiceVolume=0;for(let e of this._voiceVolumeSubscribers)e();this._voiceMessages=[],this._markVoiceMessagesDirty(),this._notifySubscribers()}muteVoice(){if(!this._voiceSession)throw Error(`No active voice session`);this._voiceSession.mute(),this.voice={...this.voice,isMuted:!0},this._notifySubscribers()}unmuteVoice(){if(!this._voiceSession)throw Error(`No active voice session`);this._voiceSession.unmute(),this.voice={...this.voice,isMuted:!1},this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers(`initialize`,{}))}export(){return this.repository.export()}import(e){this.ensureInitialized(),this.repository.clear(),this.repository.import(e),this._notifySubscribers()}reset(e){this.import(i0.fromArray(e??[]))}_eventSubscribers=new Map;unstable_on(e,t){let n=t;if(e===`modelContextUpdate`)return this._contextProvider.subscribe?.(()=>n({}))??(()=>{});let r=this._eventSubscribers.get(e);return r||(r=new Set,this._eventSubscribers.set(e,r)),r.add(n),()=>{this._eventSubscribers.get(e)?.delete(n)}}},u0=class{_core;_threadListBinding;get path(){return this._core.path}constructor(e,t){this._core=e,this._threadListBinding=t,this.__internal_bindMethods()}__internal_bindMethods(){this.switchTo=this.switchTo.bind(this),this.rename=this.rename.bind(this),this.archive=this.archive.bind(this),this.unarchive=this.unarchive.bind(this),this.delete=this.delete.bind(this),this.initialize=this.initialize.bind(this),this.generateTitle=this.generateTitle.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getState=this.getState.bind(this),this.detach=this.detach.bind(this)}getState(){return this._core.getState()}switchTo(){let e=this._core.getState();return this._threadListBinding.switchToThread(e.id)}rename(e){let t=this._core.getState();return this._threadListBinding.rename(t.id,e)}archive(){let e=this._core.getState();return this._threadListBinding.archive(e.id)}unarchive(){let e=this._core.getState();return this._threadListBinding.unarchive(e.id)}delete(){let e=this._core.getState();return this._threadListBinding.delete(e.id)}initialize(){let e=this._core.getState();return this._threadListBinding.initialize(e.id)}generateTitle(){let e=this._core.getState();return this._threadListBinding.generateTitle(e.id)}unstable_on(e,t){let n=this._core.getState().isMain,r=this._core.getState().id;return this.subscribe(()=>{let i=this._core.getState(),a=i.isMain,o=i.id;n===a&&r===o||(n=a,r=o,!(e===`switchedTo`&&!a)&&(e===`switchedAway`&&a||t({})))})}subscribe(e){return this._core.subscribe(e)}detach(){let e=this._core.getState();this._threadListBinding.detach(e.id)}__internal_getRuntime(){return this}},d0=Symbol(`innerMessage`),f0=Symbol(`innerMessages`),eBe=[],tBe=(e,t)=>{d0 in e||(e[d0]=t)},nBe=e=>{let t=`messages`in e?e.messages:e,n=t[f0]||t[d0];return n?Array.isArray(n)?n:(t[f0]=[n],t[f0]):eBe},p0=class{_core;get path(){return this._core.path}constructor(e){this._core=e,this.__internal_bindMethods()}__internal_bindMethods(){this.getState=this.getState.bind(this),this.remove=this.remove.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this._core.getState()}subscribe(e){return this._core.subscribe(e)}},m0=class extends p0{_composerApi;constructor(e,t){super(e),this._composerApi=t}remove(){let e=this._composerApi.getState();if(!e)throw Error(`Composer is not available`);return e.removeAttachment(this.getState().id)}},rBe=class extends m0{get source(){return`thread-composer`}},iBe=class extends m0{get source(){return`edit-composer`}},aBe=class extends p0{get source(){return`message`}remove(){throw Error(`Message attachments cannot be removed`)}},h0=Object.freeze([]),g0=Object.freeze({}),oBe=e=>Object.freeze({type:`thread`,isEditing:e?.isEditing??!1,canCancel:e?.canCancel??!1,isEmpty:e?.isEmpty??!0,attachments:e?.attachments??h0,text:e?.text??``,role:e?.role??`user`,runConfig:e?.runConfig??g0,attachmentAccept:e?.attachmentAccept??``,dictation:e?.dictation,quote:e?.quote,value:e?.text??``}),sBe=e=>Object.freeze({type:`edit`,isEditing:e?.isEditing??!1,canCancel:e?.canCancel??!1,isEmpty:e?.isEmpty??!0,text:e?.text??``,role:e?.role??`user`,attachments:e?.attachments??h0,runConfig:e?.runConfig??g0,attachmentAccept:e?.attachmentAccept??``,dictation:e?.dictation,quote:e?.quote,parentId:e?.parentId??null,sourceId:e?.sourceId??null,value:e?.text??``}),_0=class{_core;get path(){return this._core.path}constructor(e){this._core=e}__internal_bindMethods(){this.setText=this.setText.bind(this),this.setRunConfig=this.setRunConfig.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.addAttachment=this.addAttachment.bind(this),this.reset=this.reset.bind(this),this.clearAttachments=this.clearAttachments.bind(this),this.send=this.send.bind(this),this.cancel=this.cancel.bind(this),this.setRole=this.setRole.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.startDictation=this.startDictation.bind(this),this.stopDictation=this.stopDictation.bind(this),this.setQuote=this.setQuote.bind(this),this.unstable_on=this.unstable_on.bind(this)}setText(e){let t=this._core.getState();if(!t)throw Error(`Composer is not available`);t.setText(e)}setRunConfig(e){let t=this._core.getState();if(!t)throw Error(`Composer is not available`);t.setRunConfig(e)}addAttachment(e){let t=this._core.getState();if(!t)throw Error(`Composer is not available`);return t.addAttachment(e)}reset(){let e=this._core.getState();if(!e)throw Error(`Composer is not available`);return e.reset()}clearAttachments(){let e=this._core.getState();if(!e)throw Error(`Composer is not available`);return e.clearAttachments()}send(e){let t=this._core.getState();if(!t)throw Error(`Composer is not available`);t.send(e)}cancel(){let e=this._core.getState();if(!e)throw Error(`Composer is not available`);e.cancel()}setRole(e){let t=this._core.getState();if(!t)throw Error(`Composer is not available`);t.setRole(e)}startDictation(){let e=this._core.getState();if(!e)throw Error(`Composer is not available`);e.startDictation()}stopDictation(){let e=this._core.getState();if(!e)throw Error(`Composer is not available`);e.stopDictation()}setQuote(e){let t=this._core.getState();if(!t)throw Error(`Composer is not available`);t.setQuote(e)}subscribe(e){return this._core.subscribe(e)}_eventSubscriptionSubjects=new Map;unstable_on(e,t){let n=this._eventSubscriptionSubjects.get(e);return n||(n=new Z1({event:e,binding:this._core}),this._eventSubscriptionSubjects.set(e,n)),n.subscribe(t)}},cBe=class extends _0{get path(){return this._core.path}get type(){return`thread`}_getState;constructor(e){let t=new Y1({path:e.path,getState:()=>oBe(e.getState()),subscribe:t=>e.subscribe(t)});super({path:e.path,getState:()=>e.getState(),subscribe:e=>t.subscribe(e)}),this._getState=t.getState.bind(t),this.__internal_bindMethods()}getState(){return this._getState()}getAttachmentByIndex(e){return new rBe(new J1({path:{...this.path,attachmentSource:`thread-composer`,attachmentSelector:{type:`index`,index:e},ref:`${this.path.ref}.attachments[${e}]`},getState:()=>{let t=this.getState().attachments[e];return t?{...t,source:`thread-composer`}:K1},subscribe:e=>this._core.subscribe(e)}),this._core)}},lBe=class extends _0{_beginEdit;get path(){return this._core.path}get type(){return`edit`}_getState;constructor(e,t){let n=new Y1({path:e.path,getState:()=>sBe(e.getState()),subscribe:t=>e.subscribe(t)});super({path:e.path,getState:()=>e.getState(),subscribe:e=>n.subscribe(e)}),this._beginEdit=t,this._getState=n.getState.bind(n),this.__internal_bindMethods()}__internal_bindMethods(){super.__internal_bindMethods(),this.beginEdit=this.beginEdit.bind(this)}getState(){return this._getState()}beginEdit(){this._beginEdit()}getAttachmentByIndex(e){return new iBe(new J1({path:{...this.path,attachmentSource:`edit-composer`,attachmentSelector:{type:`index`,index:e},ref:`${this.path.ref}.attachments[${e}]`},getState:()=>{let t=this.getState().attachments[e];return t?{...t,source:`edit-composer`}:K1},subscribe:e=>this._core.subscribe(e)}),this._core)}},v0=class{contentBinding;messageApi;threadApi;get path(){return this.contentBinding.path}constructor(e,t,n){this.contentBinding=e,this.messageApi=t,this.threadApi=n,this.__internal_bindMethods()}__internal_bindMethods(){this.addToolResult=this.addToolResult.bind(this),this.resumeToolCall=this.resumeToolCall.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this.contentBinding.getState()}addToolResult(e){let t=this.contentBinding.getState();if(!t)throw Error(`Message part is not available`);if(t.type!==`tool-call`)throw Error(`Tried to add tool result to non-tool message part`);if(!this.messageApi)throw Error(`Message API is not available. This is likely a bug in assistant-ui.`);if(!this.threadApi)throw Error(`Thread API is not available`);let n=this.messageApi.getState();if(!n)throw Error(`Message is not available`);let r=t.toolName,i=t.toolCallId,a=Sze.toResponse(e);this.threadApi.getState().addToolResult({messageId:n.id,toolName:r,toolCallId:i,result:a.result,artifact:a.artifact,isError:a.isError})}resumeToolCall(e){let t=this.contentBinding.getState();if(!t)throw Error(`Message part is not available`);if(t.type!==`tool-call`)throw Error(`Tried to resume tool call on non-tool message part`);if(!this.threadApi)throw Error(`Thread API is not available`);let n=t.toolCallId;this.threadApi.getState().resumeToolCall({toolCallId:n,payload:e})}subscribe(e){return this.contentBinding.subscribe(e)}},y0=Object.freeze({type:`complete`}),uBe=(e,t,n)=>{if(e.role!==`assistant`)return y0;if(n.type===`tool-call`)return n.result?y0:e.status;let r=t===Math.max(0,e.content.length-1);return e.status.type===`requires-action`?y0:r?e.status:y0},b0=(e,t)=>{let n=e.content[t];if(!n)return K1;let r=uBe(e,t,n);return Object.freeze({...n,[d0]:n[d0],status:r})},dBe=class{_core;_threadBinding;get path(){return this._core.path}constructor(e,t){this._core=e,this._threadBinding=t,this.composer=new lBe(new X1({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:`edit`},getState:this._getEditComposerRuntimeCore,subscribe:e=>this._threadBinding.subscribe(e)}),()=>this._threadBinding.getState().beginEdit(this._core.getState().id)),this.__internal_bindMethods()}__internal_bindMethods(){this.reload=this.reload.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getMessagePartByIndex=this.getMessagePartByIndex.bind(this),this.getMessagePartByToolCallId=this.getMessagePartByToolCallId.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.unstable_getCopyText=this.unstable_getCopyText.bind(this),this.speak=this.speak.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.submitFeedback=this.submitFeedback.bind(this),this.switchToBranch=this.switchToBranch.bind(this)}composer;_getEditComposerRuntimeCore=()=>this._threadBinding.getState().getEditComposer(this._core.getState().id);getState(){return this._core.getState()}reload(e={}){let t=this._getEditComposerRuntimeCore(),n=t??this._threadBinding.getState().composer,r=t??n,{runConfig:i=r.runConfig}=e,a=this._core.getState();if(a.role!==`assistant`)throw Error(`Can only reload assistant messages`);this._threadBinding.getState().startRun({parentId:a.parentId,sourceId:a.id,runConfig:i})}speak(){let e=this._core.getState();return this._threadBinding.getState().speak(e.id)}stopSpeaking(){let e=this._core.getState();if(this._threadBinding.getState().speech?.messageId===e.id)this._threadBinding.getState().stopSpeaking();else throw Error(`Message is not being spoken`)}submitFeedback({type:e}){let t=this._core.getState();this._threadBinding.getState().submitFeedback({messageId:t.id,type:e})}switchToBranch({position:e,branchId:t}){let n=this._core.getState();if(t&&e)throw Error(`May not specify both branchId and position`);if(!t&&!e)throw Error(`Must specify either branchId or position`);let r=this._threadBinding.getState().getBranches(n.id),i=t;if(e===`previous`?i=r[n.branchNumber-2]:e===`next`&&(i=r[n.branchNumber]),!i)throw Error(`Branch not found`);this._threadBinding.getState().switchToBranch(i)}unstable_getCopyText(){return Q1(this.getState())}subscribe(e){return this._core.subscribe(e)}getMessagePartByIndex(e){if(e<0)throw Error(`Message part index must be >= 0`);return new v0(new J1({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.content[${e}]`,messagePartSelector:{type:`index`,index:e}},getState:()=>b0(this.getState(),e),subscribe:e=>this._core.subscribe(e)}),this._core,this._threadBinding)}getMessagePartByToolCallId(e){return new v0(new J1({path:{...this.path,ref:this.path.ref+`${this.path.ref}.content[toolCallId=${JSON.stringify(e)}]`,messagePartSelector:{type:`toolCallId`,toolCallId:e}},getState:()=>{let t=this._core.getState(),n=t.content.findIndex(t=>t.type===`tool-call`&&t.toolCallId===e);return n===-1?K1:b0(t,n)},subscribe:e=>this._core.subscribe(e)}),this._core,this._threadBinding)}getAttachmentByIndex(e){return new aBe(new J1({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.attachments[${e}]`,attachmentSource:`message`,attachmentSelector:{type:`index`,index:e}},getState:()=>{let t=this.getState().attachments?.[e];return t?{...t,source:`message`}:K1},subscribe:e=>this._core.subscribe(e)}))}},fBe=e=>({parentId:e.parentId??null,sourceId:e.sourceId??null,runConfig:e.runConfig??{},...e.stream?{stream:e.stream}:{}}),pBe=e=>({parentId:e.parentId??null,sourceId:e.sourceId??null,runConfig:e.runConfig??{}}),mBe=(e,t)=>typeof t==`string`?{createdAt:new Date,parentId:e.at(-1)?.id??null,sourceId:null,runConfig:{},role:`user`,content:[{type:`text`,text:t}],attachments:[],metadata:{custom:{}}}:{createdAt:t.createdAt??new Date,parentId:t.parentId??e.at(-1)?.id??null,sourceId:t.sourceId??null,role:t.role??`user`,content:t.content,attachments:t.attachments??[],metadata:t.metadata??{custom:{}},runConfig:t.runConfig??{},startRun:t.startRun},hBe=(e,t)=>{let n=e.messages.at(-1);return Object.freeze({threadId:t.id,metadata:t,capabilities:e.capabilities,isDisabled:e.isDisabled,isLoading:e.isLoading,isRunning:e.isRunning??(n?.role===`assistant`?n.status.type===`running`:!1),messages:e.messages,state:e.state,suggestions:e.suggestions,extras:e.extras,speech:e.speech,voice:e.voice})},gBe=class{get path(){return this._threadBinding.path}get __internal_threadBinding(){return this._threadBinding}_threadBinding;constructor(e,t){let n=new J1({path:e.path,getState:()=>hBe(e.getState(),t.getState()),subscribe:n=>{let r=e.subscribe(n),i=t.subscribe(n);return()=>{r(),i()}}});this._threadBinding={path:e.path,getState:()=>e.getState(),getStateState:()=>n.getState(),outerSubscribe:t=>e.outerSubscribe(t),subscribe:t=>e.subscribe(t)},this.composer=new cBe(new X1({path:{...this.path,ref:`${this.path.ref}.composer`,composerSource:`thread`},getState:()=>this._threadBinding.getState().composer,subscribe:e=>this._threadBinding.subscribe(e)})),this.__internal_bindMethods()}__internal_bindMethods(){this.append=this.append.bind(this),this.resumeRun=this.resumeRun.bind(this),this.importExternalState=this.importExternalState.bind(this),this.exportExternalState=this.exportExternalState.bind(this),this.startRun=this.startRun.bind(this),this.cancelRun=this.cancelRun.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.connectVoice=this.connectVoice.bind(this),this.disconnectVoice=this.disconnectVoice.bind(this),this.muteVoice=this.muteVoice.bind(this),this.unmuteVoice=this.unmuteVoice.bind(this),this.getVoiceVolume=this.getVoiceVolume.bind(this),this.subscribeVoiceVolume=this.subscribeVoiceVolume.bind(this),this.export=this.export.bind(this),this.import=this.import.bind(this),this.reset=this.reset.bind(this),this.getMessageByIndex=this.getMessageByIndex.bind(this),this.getMessageById=this.getMessageById.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getModelContext=this.getModelContext.bind(this),this.getState=this.getState.bind(this)}composer;getState(){return this._threadBinding.getStateState()}append(e){this._threadBinding.getState().append(mBe(this._threadBinding.getState().messages,e))}subscribe(e){return this._threadBinding.subscribe(e)}getModelContext(){return this._threadBinding.getState().getModelContext()}startRun(e){return this._threadBinding.getState().startRun(pBe(e))}resumeRun(e){return this._threadBinding.getState().resumeRun(fBe(e))}exportExternalState(){return this._threadBinding.getState().exportExternalState()}importExternalState(e){this._threadBinding.getState().importExternalState(e)}cancelRun(){this._threadBinding.getState().cancelRun()}stopSpeaking(){return this._threadBinding.getState().stopSpeaking()}connectVoice(){this._threadBinding.getState().connectVoice()}disconnectVoice(){this._threadBinding.getState().disconnectVoice()}getVoiceVolume(){return this._threadBinding.getState().getVoiceVolume()}subscribeVoiceVolume(e){return this._threadBinding.getState().subscribeVoiceVolume(e)}muteVoice(){this._threadBinding.getState().muteVoice()}unmuteVoice(){this._threadBinding.getState().unmuteVoice()}export(){return this._threadBinding.getState().export()}import(e){this._threadBinding.getState().import(e)}reset(e){this._threadBinding.getState().reset(e)}getMessageByIndex(e){if(e<0)throw Error(`Message index must be >= 0`);return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[${e}]`,messageSelector:{type:`index`,index:e}},()=>{let t=this._threadBinding.getState().messages,n=t[e];if(n)return{message:n,parentId:t[e-1]?.id??null,index:e}})}getMessageById(e){return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[messageId=${JSON.stringify(e)}]`,messageSelector:{type:`messageId`,messageId:e}},()=>this._threadBinding.getState().getMessageById(e))}_getMessageRuntime(e,t){return new dBe(new J1({path:e,getState:()=>{let{message:e,parentId:n,index:r}=t()??{},{messages:i,speech:a}=this._threadBinding.getState();if(!e||n===void 0||r===void 0)return K1;let o=this._threadBinding.getState().getBranches(e.id);return{...e,[d0]:e[d0],index:r,isLast:i.at(-1)?.id===e.id,parentId:n,branchNumber:o.indexOf(e.id)+1,branchCount:o.length,speech:a?.messageId===e.id?a:void 0}},subscribe:e=>this._threadBinding.subscribe(e)}),this._threadBinding)}_eventSubscriptionSubjects=new Map;unstable_on(e,t){let n=this._eventSubscriptionSubjects.get(e);return n||(n=new Z1({event:e,binding:this._threadBinding}),this._eventSubscriptionSubjects.set(e,n)),n.subscribe(t)}},x0=Promise.resolve(),_Be=e=>({mainThreadId:e.mainThreadId,newThreadId:e.newThreadId,threadIds:e.threadIds,archivedThreadIds:e.archivedThreadIds,isLoading:e.isLoading,isLoadingMore:e.isLoadingMore??!1,hasMore:e.hasMore??!1,threadItems:e.threadItems}),S0=(e,t)=>{if(t===void 0)return K1;let n=e.getItemById(t);return n?{id:n.id,remoteId:n.remoteId,externalId:n.externalId,title:n.title,status:n.status,custom:n.custom,isMain:n.id===e.mainThreadId}:K1},vBe=class{_core;_runtimeFactory;_getState;constructor(e,t=gBe){this._core=e,this._runtimeFactory=t;let n=new Y1({path:{},getState:()=>_Be(e),subscribe:t=>e.subscribe(t)});this._getState=n.getState.bind(n),this._mainThreadListItemRuntime=new u0(new J1({path:{ref:`threadItems[main]`,threadSelector:{type:`main`}},getState:()=>S0(this._core,this._core.mainThreadId),subscribe:e=>this._core.subscribe(e)}),this._core),this.main=new t(new X1({path:{ref:`threads.main`,threadSelector:{type:`main`}},getState:()=>e.getMainThreadRuntimeCore(),subscribe:t=>e.subscribe(t)}),this._mainThreadListItemRuntime),this.__internal_bindMethods()}__internal_bindMethods(){this.switchToThread=this.switchToThread.bind(this),this.switchToNewThread=this.switchToNewThread.bind(this),this.getLoadThreadsPromise=this.getLoadThreadsPromise.bind(this),this.reload=this.reload.bind(this),this.loadMore=this.loadMore.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getById=this.getById.bind(this),this.getItemById=this.getItemById.bind(this),this.getItemByIndex=this.getItemByIndex.bind(this),this.getArchivedItemByIndex=this.getArchivedItemByIndex.bind(this)}switchToThread(e){return this._core.switchToThread(e)}switchToNewThread(){return this._core.switchToNewThread()}getLoadThreadsPromise(){return this._core.getLoadThreadsPromise()}reload(){return this._core.reload?.()??x0}loadMore(){return this._core.loadMore?.()??x0}getState(){return this._getState()}subscribe(e){return this._core.subscribe(e)}_mainThreadListItemRuntime;main;get mainItem(){return this._mainThreadListItemRuntime}getById(e){return new this._runtimeFactory(new X1({path:{ref:`threads[threadId=${JSON.stringify(e)}]`,threadSelector:{type:`threadId`,threadId:e}},getState:()=>this._core.getThreadRuntimeCore(e),subscribe:e=>this._core.subscribe(e)}),this.mainItem)}getItemByIndex(e){return new u0(new J1({path:{ref:`threadItems[${e}]`,threadSelector:{type:`index`,index:e}},getState:()=>S0(this._core,this._core.threadIds[e]),subscribe:e=>this._core.subscribe(e)}),this._core)}getArchivedItemByIndex(e){return new u0(new J1({path:{ref:`archivedThreadItems[${e}]`,threadSelector:{type:`archiveIndex`,index:e}},getState:()=>S0(this._core,this._core.archivedThreadIds[e]),subscribe:e=>this._core.subscribe(e)}),this._core)}getItemById(e){return new u0(new J1({path:{ref:`threadItems[threadId=${e}]`,threadSelector:{type:`threadId`,threadId:e}},getState:()=>S0(this._core,e),subscribe:e=>this._core.subscribe(e)}),this._core)}},yBe=class{_core;threads;_thread;constructor(e){this._core=e,this.threads=new vBe(e.threads),this._thread=this.threads.main,this.__internal_bindMethods()}__internal_bindMethods(){this.registerModelContextProvider=this.registerModelContextProvider.bind(this)}get thread(){return this._thread}registerModelContextProvider(e){return this._core.registerModelContextProvider(e)}},C0=k$(e=>V$(Nze(e)));h1(C0,(e,t)=>{Pze(e,t),!e.tools&&t.tools.source===null&&(e.tools=L1({})),!e.dataRenderers&&t.dataRenderers.source===null&&(e.dataRenderers=xze())});var bBe=(0,F.createContext)(null),xBe=()=>(0,F.useContext)(bBe),w0=Object.freeze([]),T0=`DEFAULT_THREAD_ID`,SBe=Object.freeze([T0]),E0=Object.freeze({id:T0,remoteId:void 0,externalId:void 0,status:`regular`}),CBe=Promise.resolve(),D0=Object.freeze({[T0]:E0}),wBe=class{threadFactory;_mainThreadId=T0;_threads=SBe;_archivedThreads=w0;_threadData=D0;adapter={};get isLoading(){return this.adapter.isLoading??!1}get newThreadId(){}get threadIds(){return this._threads}get archivedThreadIds(){return this._archivedThreads}get threadItems(){return this._threadData}getLoadThreadsPromise(){return CBe}_mainThread;get mainThreadId(){return this._mainThreadId}constructor(e={},t){this.threadFactory=t,this.__internal_setAdapter(e,!0)}getMainThreadRuntimeCore(){return this._mainThread}getThreadRuntimeCore(){throw Error(`Method not implemented.`)}getItemById(e){for(let t of this.adapter.threads??[])if(t.id===e)return t;for(let t of this.adapter.archivedThreads??[])if(t.id===e)return t;if(e===T0)return E0}__internal_setAdapter(e,t=!1){let n=this.adapter;this.adapter=e;let r=e.threadId??T0,i=e.threads??w0,a=e.archivedThreads??w0,o=n.threadId??T0,s=n.threads??w0,c=n.archivedThreads??w0;!t&&o===r&&s===i&&c===a||((s!==i||c!==a)&&(this._threadData={...D0,...Object.fromEntries(e.threads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:`regular`}])??[]),...Object.fromEntries(e.archivedThreads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:`archived`}])??[])}),s!==i&&(this._threads=this.adapter.threads?.map(e=>e.id)??w0),c!==a&&(this._archivedThreads=this.adapter.archivedThreads?.map(e=>e.id)??w0),(t||o!==r)&&(this._mainThreadId=r,this._mainThread=this.threadFactory()),this._notifySubscribers())}async switchToThread(e){if(this._mainThreadId===e)return;let t=this.adapter.onSwitchToThread;if(!t)throw Error(`External store adapter does not support switching to thread`);await t(e)}async switchToNewThread(){let e=this.adapter.onSwitchToNewThread;if(!e)throw Error(`External store adapter does not support switching to new thread`);await e()}async rename(e,t){let n=this.adapter.onRename;if(!n)throw Error(`External store adapter does not support renaming`);await n(e,t)}async detach(){}async archive(e){let t=this.adapter.onArchive;if(!t)throw Error(`External store adapter does not support archiving`);await t(e)}async unarchive(e){let t=this.adapter.onUnarchive;if(!t)throw Error(`External store adapter does not support unarchiving`);await t(e)}async delete(e){let t=this.adapter.onDelete;if(!t)throw Error(`External store adapter does not support deleting`);await t(e)}initialize(e){return Promise.resolve({remoteId:e,externalId:void 0})}generateTitle(){throw Error(`Method not implemented.`)}_subscriptions=new Set;subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}_notifySubscribers(){for(let e of this._subscriptions)e()}},O0=class{cache=new WeakMap;convertMessages(e,t){return e.map((e,n)=>{let r=t(this.cache.get(e),e,n);return this.cache.set(e,r),r})}},TBe=Object.freeze([]),k0=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0},EBe=(e,t)=>e&&t[t.length-1]?.role!==`assistant`,DBe=class extends $ze{_assistantOptimisticId=null;_capabilities={switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,dictation:!1,voice:!1,attachments:!1,feedback:!1,queue:!1};get capabilities(){return this._capabilities}_messages;isDisabled;get isLoading(){return this._store.isLoading??!1}get isRunning(){return this._store.isRunning}_getBaseMessages(){return this._messages}get state(){return this._store.state??super.state}get adapters(){return this._store.adapters}suggestions=[];extras=void 0;_converter=new O0;_store;beginEdit(e){if(!this._store.onEdit)throw Error(`Runtime does not support editing.`);super.beginEdit(e)}constructor(e,t){super(e),this.__internal_setAdapter(t)}__internal_setAdapter(e){if(this._store===e)return;let t=e.isRunning??!1;this.isDisabled=e.isDisabled??!1;let n=this._store;this._store=e,this.extras!==e.extras&&(this.extras=e.extras);let r=e.suggestions??TBe;k0(this.suggestions,r)||(this.suggestions=r);let i={switchToBranch:this._store.setMessages!==void 0,switchBranchDuringRun:!1,edit:this._store.onEdit!==void 0,reload:this._store.onReload!==void 0,cancel:this._store.onCancel!==void 0,speech:this._store.adapters?.speech!==void 0,dictation:this._store.adapters?.dictation!==void 0,voice:this._store.adapters?.voice!==void 0,unstable_copy:this._store.unstable_capabilities?.copy!==!1,attachments:!!this._store.adapters?.attachments,feedback:!!this._store.adapters?.feedback,queue:!1};k0(this._capabilities,i)||(this._capabilities=i);let a;if(e.messageRepository){if(n&&n.isRunning===e.isRunning&&n.messageRepository===e.messageRepository){this._notifySubscribers();return}this.repository.clear(),this._assistantOptimisticId=null,this.repository.import(e.messageRepository),a=this.repository.getMessages()}else if(e.messages){if(n){if(n.convertMessage!==e.convertMessage)this._converter=new O0;else if(n.isRunning===e.isRunning&&n.messages===e.messages){this._notifySubscribers();return}}a=e.convertMessage?this._converter.convertMessages(e.messages,(n,r,i)=>{if(!e.convertMessage)return r;let a=t0(i===(e.messages?.length??0)-1,t,!1,!1,void 0);if(n&&(n.role!==`assistant`||!Kze(n.status)||n.status===a))return n;let o=r0(e.convertMessage(r,i),i.toString(),a);return tBe(o,r),o}):e.messages;for(let e=0;e<a.length;e++){let t=a[e],n=a[e-1];this.repository.addOrUpdateMessage(n?.id??null,t)}}else throw Error(`ExternalStoreAdapter must provide either 'messages' or 'messageRepository'`);a.length>0&&this.ensureInitialized(),(n?.isRunning??!1)!==(e.isRunning??!1)&&(e.isRunning?this._notifyEventSubscribers(`runStart`,{}):this._notifyEventSubscribers(`runEnd`,{})),this._assistantOptimisticId&&=(this.repository.deleteMessage(this._assistantOptimisticId),null),EBe(t,a)&&(this._assistantOptimisticId=this.repository.appendOptimisticMessage(a.at(-1)?.id??null,{role:`assistant`,content:[]})),this.repository.resetHead(this._assistantOptimisticId??a.at(-1)?.id??null),this._messages=this.repository.getMessages(),this._notifySubscribers()}switchToBranch(e){if(!this._store.setMessages)throw Error(`Runtime does not support switching branches.`);this._store.isRunning||(this.repository.switchToBranch(e),this.updateMessages(this.repository.getMessages()))}async append(e){if(e.parentId!==(this.messages.at(-1)?.id??null)){if(!this._store.onEdit)throw Error(`Runtime does not support editing messages.`);await this._store.onEdit(e)}else await this._store.onNew(e)}async startRun(e){if(!this._store.onReload)throw Error(`Runtime does not support reloading messages.`);await this._store.onReload(e.parentId,e)}async resumeRun(e){if(!this._store.onResume)throw Error(`Runtime does not support resuming runs.`);await this._store.onResume(e)}exportExternalState(){if(!this._store.onExportExternalState)throw Error(`Runtime does not support exporting external states.`);return this._store.onExportExternalState()}importExternalState(e){if(!this._store.onLoadExternalState)throw Error(`Runtime does not support importing external states.`);this._store.onLoadExternalState(e)}cancelRun(){if(!this._store.onCancel)throw Error(`Runtime does not support cancelling runs.`);this._store.onCancel(),this._assistantOptimisticId&&=(this.repository.deleteMessage(this._assistantOptimisticId),null);let e=this.repository.getMessages(),t=e[e.length-1];t?.role===`user`&&t.id===e.at(-1)?.id?(this.repository.deleteMessage(t.id),this.composer.text.trim()||this.composer.setText(Q1(t)),e=this.repository.getMessages()):this._notifySubscribers(),setTimeout(()=>{this.updateMessages(e)},0)}addToolResult(e){if(!this._store.onAddToolResult&&!this._store.onAddToolResult)throw Error(`Runtime does not support tool results.`);this._store.onAddToolResult?.(e)}resumeToolCall(e){if(!this._store.onResumeToolCall)throw Error(`Runtime does not support resuming tool calls.`);this._store.onResumeToolCall(e)}reset(e){let t=new o0;t.import(i0.fromArray(e??[])),this.updateMessages(t.getMessages())}import(e){this._assistantOptimisticId=null,super.import(e),this._store.onImport&&this._store.onImport(this.repository.getMessages())}updateMessages=e=>{this._store.convertMessage===void 0?this._store.setMessages?.(e):this._store.setMessages?.(e.flatMap(nBe))}},A0=e=>e.adapters?.threadList??{},OBe=class extends zze{threads;constructor(e){super(),this.threads=new wBe(A0(e),()=>new DBe(this._contextProvider,e))}setAdapter(e){this.threads.__internal_setAdapter(A0(e)),this.threads.getMainThreadRuntimeCore().__internal_setAdapter(e)}},kBe=e=>{let[t]=(0,F.useState)(()=>new OBe(e));(0,F.useEffect)(()=>{t.setAdapter(e)});let{modelContext:n}=xBe()??{};return(0,F.useEffect)(()=>{if(n)return t.registerModelContextProvider(n)},[n,t]),(0,F.useMemo)(()=>new yBe(t),[t])},ABe=e=>e._core?.RenderComponent,jBe=(0,F.memo)(({runtime:e,aui:t=null,children:n})=>{let r=w1({threads:C0(e)},{parent:t}),i=ABe(e);return(0,I.jsxs)(f1,{value:r,children:[i&&(0,I.jsx)(i,{}),n]})}),j0=(e,t)=>e.Message===t.Message&&e.EditComposer===t.EditComposer&&e.UserEditComposer===t.UserEditComposer&&e.AssistantEditComposer===t.AssistantEditComposer&&e.SystemEditComposer===t.SystemEditComposer&&e.UserMessage===t.UserMessage&&e.AssistantMessage===t.AssistantMessage&&e.SystemMessage===t.SystemMessage,MBe=()=>null,NBe=(e,t,n)=>{switch(t){case`user`:return n?e.UserEditComposer??e.EditComposer??e.UserMessage??e.Message:e.UserMessage??e.Message;case`assistant`:return n?e.AssistantEditComposer??e.EditComposer??e.AssistantMessage??e.Message:e.AssistantMessage??e.Message;case`system`:return n?e.SystemEditComposer??e.EditComposer??e.SystemMessage??e.Message:e.SystemMessage??e.Message??MBe;default:throw Error(`Unknown message role: ${t}`)}},M0=({components:e})=>(0,I.jsx)(NBe(e,T1(e=>e.message.role),T1(e=>e.message.composer.isEditing)),{}),PBe=(0,F.memo)(({index:e,components:t})=>(0,I.jsx)(U1,{index:e,children:(0,I.jsx)(M0,{components:t})}),(e,t)=>e.index===t.index&&j0(e.components,t.components));PBe.displayName=`ThreadPrimitive.MessageByIndex`;var N0=({children:e})=>{let t=T1(e=>e.thread.messages.length);return(0,F.useMemo)(()=>t===0?null:Array.from({length:t},(t,n)=>(0,I.jsx)(U1,{index:n,children:(0,I.jsx)(O1,{getItemState:e=>e.thread().message({index:n}).getState(),children:t=>e({get message(){return t()}})})},n)),[t,e])},P0=({components:e,children:t})=>e?(0,I.jsx)(N0,{children:()=>(0,I.jsx)(M0,{components:e})}):(0,I.jsx)(N0,{children:t});P0.displayName=`ThreadPrimitive.Messages`;var FBe=(0,F.memo)(P0,(e,t)=>e.children||t.children?e.children===t.children:j0(e.components,t.components)),IBe=e=>{let t=e.message.metadata;if(!(!t||typeof t!=`object`))return t.custom?.quote},F0=e=>Symbol.iterator in e,I0=e=>`entries`in e,L0=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},LBe=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function RBe(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:F0(e)&&F0(t)?I0(e)&&I0(t)?L0(e,t):LBe(e,t):L0({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function zBe(e){let t=F.useRef(void 0);return n=>{let r=e(n);return RBe(t.current,r)?t.current:t.current=r}}var R0=e=>{let t=-1;return{startGroup:e=>{t===-1&&(t=e)},endGroup:(n,r)=>{t!==-1&&(r.push({type:e,startIndex:t,endIndex:n}),t=-1)},finalize:(n,r)=>{t!==-1&&r.push({type:e,startIndex:t,endIndex:n})}}},BBe=(e,t)=>{let n=[];if(t){let t=R0(`chainOfThoughtGroup`);for(let r=0;r<e.length;r++){let i=e[r];i===`tool-call`||i===`reasoning`?t.startGroup(r):(t.endGroup(r-1,n),n.push({type:`single`,index:r}))}t.finalize(e.length-1,n)}else{let t=R0(`toolGroup`),r=R0(`reasoningGroup`);for(let i=0;i<e.length;i++){let a=e[i];a===`tool-call`?(r.endGroup(i-1,n),t.startGroup(i)):a===`reasoning`?(t.endGroup(i-1,n),r.startGroup(i)):(t.endGroup(i-1,n),r.endGroup(i-1,n),n.push({type:`single`,index:i}))}t.finalize(e.length-1,n),r.finalize(e.length-1,n)}return n},VBe=e=>{let t=T1(zBe(e=>e.message.parts.map(e=>e.type)));return(0,F.useMemo)(()=>t.length===0?[]:BBe(t,e),[t,e])},HBe=({Fallback:e,...t})=>{let n=T1(n=>{let r=n.tools.tools[t.toolName]??e;return Array.isArray(r)?r[0]??e:r});return n?(0,I.jsx)(n,{...t}):null},z0=(e,t,n)=>e.renderers[t]?.[0]||(e.fallbacks[0]??n),UBe=({Fallback:e,...t})=>{let n=T1(n=>z0(n.dataRenderers,t.name,e));return n?(0,I.jsx)(n,{...t}):null},B0={Text:()=>null,Reasoning:()=>null,Source:()=>null,Image:()=>null,File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:e})=>e,ReasoningGroup:({children:e})=>e},WBe=({components:{Text:e=B0.Text,Reasoning:t=B0.Reasoning,Image:n=B0.Image,Source:r=B0.Source,File:i=B0.File,Unstable_Audio:a=B0.Unstable_Audio,tools:o={},data:s}={}})=>{let c=w1(),l=T1(e=>e.part),u=l.type;if(u===`tool-call`){let e=c.part().addToolResult,t=c.part().resumeToolCall;if(`Override`in o)return(0,I.jsx)(o.Override,{...l,addResult:e,resume:t});let n=o.by_name?.[l.toolName]??o.Fallback;return(0,I.jsx)(HBe,{...l,Fallback:n,addResult:e,resume:t})}if(l.status?.type===`requires-action`)throw Error(`Encountered unexpected requires-action status`);switch(u){case`text`:return(0,I.jsx)(e,{...l});case`reasoning`:return(0,I.jsx)(t,{...l});case`source`:return(0,I.jsx)(r,{...l});case`image`:return(0,I.jsx)(n,{...l});case`file`:return(0,I.jsx)(i,{...l});case`audio`:return(0,I.jsx)(a,{...l});case`data`:{let e=s?.by_name?.[l.name]??s?.Fallback;return(0,I.jsx)(UBe,{...l,Fallback:e})}default:return console.warn(`Unknown message part type: ${u}`),null}},V0=(0,F.memo)(({index:e,components:t})=>(0,I.jsx)(W1,{index:e,children:(0,I.jsx)(WBe,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Text===t.components?.Text&&e.components?.Reasoning===t.components?.Reasoning&&e.components?.Source===t.components?.Source&&e.components?.Image===t.components?.Image&&e.components?.File===t.components?.File&&e.components?.Unstable_Audio===t.components?.Unstable_Audio&&e.components?.tools===t.components?.tools&&e.components?.data===t.components?.data&&e.components?.ToolGroup===t.components?.ToolGroup&&e.components?.ReasoningGroup===t.components?.ReasoningGroup);V0.displayName=`MessagePrimitive.PartByIndex`;var GBe=({status:e,component:t})=>(0,I.jsx)(G1,{text:``,isRunning:e.type===`running`,children:(0,I.jsx)(t,{type:`text`,text:``,status:e})}),KBe=Object.freeze({type:`complete`}),qBe=Object.freeze({type:`running`}),H0=(0,F.memo)(({components:e})=>{let t=T1(e=>e.message.status??KBe);return e?.Empty?(0,I.jsx)(e.Empty,{status:t}):t.type===`running`?(0,I.jsx)(GBe,{status:t,component:e?.Text??B0.Text}):null},(e,t)=>e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),JBe=(0,F.memo)(({components:e,enabled:t})=>T1(e=>{if(!t||e.message.parts.length===0)return!1;let n=e.message.parts[e.message.parts.length-1];return n?.type!==`text`&&n?.type!==`reasoning`})?(0,I.jsx)(H0,{components:e}):null,(e,t)=>e.enabled===t.enabled&&e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),YBe=(0,F.memo)(({Quote:e})=>{let t=T1(IBe);return t?(0,I.jsx)(e,{text:t.text,messageId:t.messageId}):null}),U0=()=>{let e=w1(),t=T1(e=>e.part),n=T1(e=>{if(e.part.type!==`tool-call`)return null;let t=e.tools.tools[e.part.toolName];return Array.isArray(t)?t[0]??null:t??null});return!n||t.type!==`tool-call`?null:(0,I.jsx)(n,{...t,addResult:e.part().addToolResult,resume:e.part().resumeToolCall})},W0=()=>{let e=T1(e=>e.part),t=T1(e=>e.part.type===`data`?z0(e.dataRenderers,e.part.name,void 0)??null:null);return!t||e.type!==`data`?null:(0,I.jsx)(t,{...e})},XBe=()=>{let e=T1(e=>e.part.type);return e===`tool-call`?(0,I.jsx)(U0,{}):e===`data`?(0,I.jsx)(W0,{}):null},ZBe=Object.freeze({type:`text`,text:``,status:qBe}),QBe=({index:e,children:t})=>{let n=w1(),r=T1(e=>e.dataRenderers);return(0,I.jsx)(W1,{index:e,children:(0,I.jsx)(O1,{getItemState:t=>t.message().part({index:e}).getState(),children:i=>t({get part(){let t=i();if(t.type===`tool-call`){let r=n.tools().getState().tools[t.toolName],i=Array.isArray(r)?!!r[0]:!!r,a=n.message().part({index:e});return{...t,toolUI:i?(0,I.jsx)(U0,{}):null,addResult:a.addToolResult,resume:a.resumeToolCall}}if(t.type===`data`){let e=z0(r,t.name,void 0)!==void 0;return{...t,dataRendererUI:e?(0,I.jsx)(W0,{}):null}}return t}})})})},$Be=({children:e})=>{let t=T1(e=>e.message.parts.length),n=T1(e=>(e.message.status?.type??`complete`)===`running`);return t===0?t===0&&n?(0,I.jsx)(G1,{text:``,isRunning:!0,children:e({part:ZBe})}):null:(0,I.jsx)(I.Fragment,{children:Array.from({length:t},(t,n)=>(0,I.jsx)(QBe,{index:n,children:t=>e(t)??(0,I.jsx)(XBe,{})},n))})},G0=({components:e,unstable_showEmptyOnNonTextEnd:t=!0,children:n})=>n?(0,I.jsx)($Be,{children:n}):(0,I.jsx)(eVe,{components:e,unstable_showEmptyOnNonTextEnd:t});G0.displayName=`MessagePrimitive.Parts`;var eVe=({components:e,unstable_showEmptyOnNonTextEnd:t})=>{let n=T1(e=>e.message.parts.length),r=VBe(!!e?.ChainOfThought),i=(0,F.useMemo)(()=>n===0?(0,I.jsx)(H0,{components:e}):r.map(t=>{if(t.type===`single`)return(0,I.jsx)(V0,{index:t.index,components:e},t.index);if(t.type===`chainOfThoughtGroup`){let n=e?.ChainOfThought;return n?(0,I.jsx)(Ize,{startIndex:t.startIndex,endIndex:t.endIndex,children:(0,I.jsx)(n,{})},`chainOfThought-${t.startIndex}`):null}else if(t.type===`toolGroup`)return(0,I.jsx)(e?.ToolGroup??B0.ToolGroup,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(n,r)=>(0,I.jsx)(V0,{index:t.startIndex+r,components:e},r))},`tool-${t.startIndex}`);else return(0,I.jsx)(e?.ReasoningGroup??B0.ReasoningGroup,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(n,r)=>(0,I.jsx)(V0,{index:t.startIndex+r,components:e},r))},`reasoning-${t.startIndex}`)}),[r,e,n]);return(0,I.jsxs)(I.Fragment,{children:[e?.Quote&&(0,I.jsx)(YBe,{Quote:e.Quote}),i,(0,I.jsx)(JBe,{components:e,enabled:t})]})},K0=(e,t)=>{switch(t.type){case`image`:return e?.Image??e?.Attachment;case`document`:return e?.Document??e?.Attachment;case`file`:return e?.File??e?.Attachment;default:return e?.Attachment}},tVe=({components:e})=>{let t=T1(e=>e.attachment);if(!t)return null;let n=K0(e,t);return n?(0,I.jsx)(n,{}):null},nVe=(0,F.memo)(({index:e,components:t})=>(0,I.jsx)(z1,{index:e,children:(0,I.jsx)(tVe,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Image===t.components?.Image&&e.components?.Document===t.components?.Document&&e.components?.File===t.components?.File&&e.components?.Attachment===t.components?.Attachment);nVe.displayName=`ComposerPrimitive.AttachmentByIndex`;var q0=({children:e})=>{let t=T1(e=>e.composer.attachments.length);return(0,F.useMemo)(()=>Array.from({length:t},(t,n)=>(0,I.jsx)(z1,{index:n,children:(0,I.jsx)(O1,{getItemState:e=>e.composer().attachment({index:n}).getState(),children:t=>e({get attachment(){return t()}})})},n)),[t,e])},J0=({components:e,children:t})=>e?(0,I.jsx)(q0,{children:({attachment:t})=>{let n=K0(e,t);return n?(0,I.jsx)(n,{}):null}}):(0,I.jsx)(q0,{children:t});J0.displayName=`ComposerPrimitive.Attachments`;var rVe=()=>{let e=w1(),t=T1(e=>e.thread.isRunning&&!e.thread.capabilities.queue||!e.composer.isEditing||e.composer.isEmpty);return{send:(0,F.useCallback)(t=>{e.composer().send(t)},[e]),disabled:t}},iVe=()=>{let e=w1(),t=T1(e=>!e.composer.canCancel);return{cancel:(0,F.useCallback)(()=>{e.composer().cancel()},[e]),disabled:t}},aVe=()=>{let e=w1(),t=T1(e=>!e.composer.isEditing);return{addAttachment:(0,F.useCallback)(t=>e.composer().addAttachment(t),[e]),disabled:t}},Y0=e=>{let t=new Map,n=()=>{let n=0;for(let e of t.values())n+=e;e(n)};return{register:()=>{let e=Symbol();return t.set(e,0),{setHeight:r=>{t.get(e)!==r&&(t.set(e,r),n())},unregister:()=>{t.delete(e),n()}}}}},oVe=(e={})=>{let t=new Set,n=Y0(e=>{a.setState({height:{...a.getState().height,viewport:e}})}),r=Y0(e=>{a.setState({height:{...a.getState().height,inset:e}})}),i=(e,t)=>(a.setState({element:{...a.getState().element,[e]:t}}),()=>{a.getState().element[e]===t&&a.setState({element:{...a.getState().element,[e]:null}})}),a=uze(()=>({isAtBottom:!0,scrollToBottom:({behavior:e=`auto`}={})=>{for(let n of t)n({behavior:e})},onScrollToBottom:e=>(t.add(e),()=>{t.delete(e)}),turnAnchor:e.turnAnchor??`bottom`,topAnchorMessageClamp:{tallerThan:e.topAnchorMessageClamp?.tallerThan??`10em`,visibleHeight:e.topAnchorMessageClamp?.visibleHeight??`6em`},height:{viewport:0,inset:0},element:{viewport:null,anchor:null,target:null},targetConfig:null,topAnchorTurn:null,registerViewport:n.register,registerContentInset:r.register,registerViewportElement:e=>i(`viewport`,e),registerAnchorElement:e=>i(`anchor`,e),registerAnchorTargetElement:(e,t)=>(a.setState({element:{...a.getState().element,target:e},targetConfig:e&&t?t:null}),()=>{a.getState().element.target===e&&a.setState({element:{...a.getState().element,target:null},targetConfig:null})}),setTopAnchorTurn:e=>{a.setState({topAnchorTurn:e})}}));return a};function sVe(e,t){function n(n){let r=(0,F.useContext)(e);if(!n?.optional&&!r)throw Error(`This component must be used within ${t}.`);return r}return n}function cVe(e,t){function n(n){let r=e(n);return r?r[t]:null}function r(e){let t=!1,r;typeof e==`function`?r=e:e&&typeof e==`object`&&(t=!!e.optional,r=e.selector);let i=n({optional:t});return i?r?i(r):i():null}return{[t]:r,[`${t}Store`]:n}}var X0=(0,F.createContext)(null),{useThreadViewport:Z0,useThreadViewportStore:Q0}=cVe(sVe(X0,`ThreadPrimitive.Viewport`),`useThreadViewport`),$0=e=>e,lVe=e=>{let t=Q0({optional:!0}),[n]=(0,F.useState)(()=>oVe(e));return(0,F.useEffect)(()=>t?.getState().onScrollToBottom(()=>{n.getState().scrollToBottom()}),[t,n]),(0,F.useEffect)(()=>{if(t)return n.subscribe(e=>{t.getState().isAtBottom!==e.isAtBottom&&$0(t).setState({isAtBottom:e.isAtBottom})})},[n,t]),n},e2=({children:e,options:t={}})=>{let n=lVe(t),[r]=(0,F.useState)(()=>({useThreadViewport:n}));return(0,I.jsx)(X0.Provider,{value:r,children:e})},t2,n2=()=>{if(t2)return t2;let e=()=>({apis:new Map,nextId:0,listeners:new Set});if(typeof window>`u`)return t2=e(),t2;let t=window.__ASSISTANT_UI_DEVTOOLS_HOOK__;if(t)return t2=t,t;let n=e();return window.__ASSISTANT_UI_DEVTOOLS_HOOK__=n,t2=n,n},uVe=class e{static MAX_EVENT_LOGS_PER_API=200;static register(t){let n=n2();for(let e of n.apis.values())if(e.api===t)return()=>{};let r=n.nextId++,i={api:t,logs:[]},a=t.on?.(`*`,t=>{let i=n.apis.get(r);i&&(i.logs.push({time:new Date,event:t.event,data:t.payload}),i.logs.length>e.MAX_EVENT_LOGS_PER_API&&(i.logs=i.logs.slice(-e.MAX_EVENT_LOGS_PER_API)),e.notifyListeners(r))}),o=t.subscribe?.(()=>{e.notifyListeners(r)});return n.apis.set(r,i),e.notifyListeners(r),()=>{let t=n2();t.apis.get(r)&&(a?.(),o?.(),t.apis.delete(r),e.notifyListeners(r))}}static notifyListeners(e){n2().listeners.forEach(t=>t(e))}},dVe=()=>{let e=w1();return(0,F.useEffect)(()=>{if(!(typeof process>`u`))return uVe.register(e)},[e]),null},fVe=(0,F.memo)(({children:e,aui:t,runtime:n})=>(0,I.jsxs)(jBe,{runtime:n,aui:t??null,children:[(0,I.jsx)(dVe,{}),(0,I.jsx)(e2,{children:e})]})),r2=(e,t)=>{let n=Object.getOwnPropertyNames(t).filter(n=>{let r=Object.getOwnPropertyDescriptor(t,n),i=r&&typeof r.value==`function`;if(!i)return!1;let a=n;return i&&!a.startsWith(`_`)&&a!==`constructor`&&t[a]===e[a]});if(n.length>0)throw Error(`The following methods are not bound: ${JSON.stringify(n)}`);let r=Object.getPrototypeOf(t);r&&r!==Object.prototype&&r2(e,r)},pVe=e=>{let t=e;t.__isBound||(t.__internal_bindMethods?.(),t.__isBound=!0,r2(t,Object.getPrototypeOf(t)))};function mVe(e,t=hVe){pVe(e);let n=(0,F.useSyncExternalStore)(e.subscribe,()=>t(e.getState()),()=>t(e.getState()));return(0,F.useDebugValue)(n),n}var hVe=e=>e;function gVe(e){function t(t){let n=!1,r;typeof t==`function`?r=t:t&&(n=!!t.optional,r=t.selector);let i=e({optional:n});return i?mVe(i,r):null}return t}function _Ve(e){let t=w1(),n=T1(()=>t.message.source?t.message().__internal_getRuntime?.()??null:null);if(!n&&!e?.optional)throw Error(`MessageRuntime is not available`);return n}var vVe=gVe(_Ve);function i2(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function a2(...e){return t=>{let n=!1,r=e.map(e=>{let r=i2(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():i2(e[t],null)}}}}function o2(...e){return F.useCallback(a2(...e),e)}var yVe=Symbol.for(`react.lazy`),s2=F.use;function bVe(e){return typeof e==`object`&&!!e&&`then`in e}function c2(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===yVe&&`_payload`in e&&bVe(e._payload)}function xVe(e){let t=SVe(e),n=F.forwardRef((e,n)=>{let{children:r,...i}=e;c2(r)&&typeof s2==`function`&&(r=s2(r._payload));let a=F.Children.toArray(r),o=a.find(wVe);if(o){let e=o.props.children,r=a.map(t=>t===o?F.Children.count(e)>1?F.Children.only(null):F.isValidElement(e)?e.props.children:null:t);return(0,I.jsx)(t,{...i,ref:n,children:F.isValidElement(e)?F.cloneElement(e,void 0,r):null})}return(0,I.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function SVe(e){let t=F.forwardRef((e,t)=>{let{children:n,...r}=e;if(c2(n)&&typeof s2==`function`&&(n=s2(n._payload)),F.isValidElement(n)){let e=EVe(n),i=TVe(r,n.props);return n.type!==F.Fragment&&(i.ref=t?a2(t,e):e),F.cloneElement(n,i)}return F.Children.count(n)>1?F.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var CVe=Symbol(`radix.slottable`);function wVe(e){return F.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===CVe}function TVe(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function EVe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var DVe=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=xVe(`Primitive.${t}`),r=F.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,I.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),OVe=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`];function kVe(e){let t=(0,F.forwardRef)(({render:t,asChild:n,children:r,...i},a)=>{let o=e;if(t&&(0,F.isValidElement)(t)){let e=r===void 0?t.props.children:r;return(0,I.jsx)(o,{...i,asChild:!0,ref:a,children:(0,F.cloneElement)(t,void 0,e)})}return(0,I.jsx)(o,{...i,asChild:n,ref:a,children:r})});return t.displayName=typeof e==`string`?e:e.displayName??e.name??`Component`,t}function AVe(e){let t=DVe[e],n=kVe(t);return n.displayName=`Primitive.${e}`,n}var l2=OVe.reduce((e,t)=>(e[t]=AVe(t),e),{});typeof window<`u`&&window.document&&window.document.createElement;function u2(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var d2=(e,t,n=[])=>{let r=(0,F.forwardRef)((e,r)=>{let i={},a={};Object.keys(e).forEach(t=>{n.includes(t)?i[t]=e[t]:a[t]=e[t]});let o=t(i)??void 0;return(0,I.jsx)(l2.button,{...a,type:`button`,ref:r,disabled:a.disabled||!o,onClick:u2(a.onClick,o)})});return r.displayName=e,r};function f2(e){let t=F.useRef(e);return F.useEffect(()=>{t.current=e}),F.useMemo(()=>(...e)=>t.current?.(...e),[])}function jVe(e,t=globalThis?.document){let n=f2(e);F.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}function MVe(e){let t=NVe(e),n=F.forwardRef((e,n)=>{let{children:r,...i}=e,a=F.Children.toArray(r),o=a.find(FVe);if(o){let e=o.props.children,r=a.map(t=>t===o?F.Children.count(e)>1?F.Children.only(null):F.isValidElement(e)?e.props.children:null:t);return(0,I.jsx)(t,{...i,ref:n,children:F.isValidElement(e)?F.cloneElement(e,void 0,r):null})}return(0,I.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var p2=MVe(`Slot`);function NVe(e){let t=F.forwardRef((e,t)=>{let{children:n,...r}=e;if(F.isValidElement(n)){let e=LVe(n),i=IVe(r,n.props);return n.type!==F.Fragment&&(i.ref=t?a2(t,e):e),F.cloneElement(n,i)}return F.Children.count(n)>1?F.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var PVe=Symbol(`radix.slottable`);function FVe(e){return F.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===PVe}function IVe(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function LVe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var RVe=d2(`AttachmentPrimitive.Remove`,()=>{let e=w1();return(0,F.useCallback)(()=>{e.attachment().remove()},[e])}),m2=()=>{let{disabled:e,send:t}=rVe(),n=(0,F.useCallback)(()=>t(),[t]);return e?null:n},zVe=d2(`ComposerPrimitive.Send`,m2),h2=(0,F.forwardRef)(({onSubmit:e,...t},n)=>{let r=m2(),i=e=>{e.preventDefault(),r&&r()};return(0,I.jsx)(l2.form,{...t,ref:n,onSubmit:u2(e,i)})});h2.displayName=`ComposerPrimitive.Root`;function g2(){return g2=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},g2.apply(null,arguments)}function BVe(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}var VVe=F.useLayoutEffect,HVe=function(e){var t=F.useRef(e);return VVe(function(){t.current=e}),t},_2=function(e,t){if(typeof e==`function`){e(t);return}e.current=t},UVe=function(e,t){var n=F.useRef();return F.useCallback(function(r){e.current=r,n.current&&_2(n.current,null),n.current=t,t&&_2(t,r)},[t])},v2={"min-height":`0`,"max-height":`none`,height:`0`,visibility:`hidden`,overflow:`hidden`,position:`absolute`,"z-index":`-1000`,top:`0`,right:`0`,display:`block`},y2=function(e){Object.keys(v2).forEach(function(t){e.style.setProperty(t,v2[t],`important`)})},b2=null,x2=function(e,t){var n=e.scrollHeight;return t.sizingStyle.boxSizing===`border-box`?n+t.borderSize:n-t.paddingSize};function WVe(e,t,n,r){n===void 0&&(n=1),r===void 0&&(r=1/0),b2||(b2=document.createElement(`textarea`),b2.setAttribute(`tabindex`,`-1`),b2.setAttribute(`aria-hidden`,`true`),y2(b2)),b2.parentNode===null&&document.body.appendChild(b2);var i=e.paddingSize,a=e.borderSize,o=e.sizingStyle,s=o.boxSizing;Object.keys(o).forEach(function(e){var t=e;b2.style[t]=o[t]}),y2(b2),b2.value=t;var c=x2(b2,e);b2.value=t,c=x2(b2,e),b2.value=`x`;var l=b2.scrollHeight-i,u=l*n;s===`border-box`&&(u=u+i+a),c=Math.max(u,c);var d=l*r;return s===`border-box`&&(d=d+i+a),c=Math.min(d,c),[c,l]}var S2=function(){},GVe=function(e,t){return e.reduce(function(e,n){return e[n]=t[n],e},{})},KVe=[`borderBottomWidth`,`borderLeftWidth`,`borderRightWidth`,`borderTopWidth`,`boxSizing`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`letterSpacing`,`lineHeight`,`paddingBottom`,`paddingLeft`,`paddingRight`,`paddingTop`,`tabSize`,`textIndent`,`textRendering`,`textTransform`,`width`,`wordBreak`,`wordSpacing`,`scrollbarGutter`],qVe=!!document.documentElement.currentStyle,JVe=function(e){var t=window.getComputedStyle(e);if(t===null)return null;var n=GVe(KVe,t),r=n.boxSizing;return r===``?null:(qVe&&r===`border-box`&&(n.width=parseFloat(n.width)+parseFloat(n.borderRightWidth)+parseFloat(n.borderLeftWidth)+parseFloat(n.paddingRight)+parseFloat(n.paddingLeft)+`px`),{sizingStyle:n,paddingSize:parseFloat(n.paddingBottom)+parseFloat(n.paddingTop),borderSize:parseFloat(n.borderBottomWidth)+parseFloat(n.borderTopWidth)})};function C2(e,t,n){var r=HVe(n);F.useLayoutEffect(function(){var n=function(e){return r.current(e)};if(e)return e.addEventListener(t,n),function(){return e.removeEventListener(t,n)}},[])}var YVe=function(e,t){C2(document.body,`reset`,function(n){e.current.form===n.target&&t(n)})},XVe=function(e){C2(window,`resize`,e)},ZVe=function(e){C2(document.fonts,`loadingdone`,e)},QVe=[`cacheMeasurements`,`maxRows`,`minRows`,`onChange`,`onHeightChange`],$Ve=F.forwardRef(function(e,t){var n=e.cacheMeasurements,r=e.maxRows,i=e.minRows,a=e.onChange,o=a===void 0?S2:a,s=e.onHeightChange,c=s===void 0?S2:s,l=BVe(e,QVe);if(l.style){if(`maxHeight`in l.style)throw Error("Using `style.maxHeight` for <TextareaAutosize/> is not supported. Please use `maxRows`.");if(`minHeight`in l.style)throw Error("Using `style.minHeight` for <TextareaAutosize/> is not supported. Please use `minRows`.")}var u=l.value!==void 0,d=F.useRef(null),f=UVe(d,t),p=F.useRef(0),m=F.useRef(),h=function(){var e=d.current,t=n&&m.current?m.current:JVe(e);if(t){m.current=t;var a=WVe(t,e.value||e.placeholder||`x`,i,r),o=a[0],s=a[1];p.current!==o&&(p.current=o,e.style.setProperty(`height`,o+`px`,`important`),c(o,{rowHeight:s}))}};return F.useLayoutEffect(h),YVe(d,function(){if(!u){var e=d.current.value;requestAnimationFrame(function(){var t=d.current;t&&e!==t.value&&h()})}}),XVe(h),ZVe(h),F.createElement(`textarea`,g2({},l,{onChange:function(e){u||h(),o(e)},ref:f}))}),w2=e=>{let t=f2(e),n=Z0(e=>e.onScrollToBottom);(0,F.useEffect)(()=>n(t),[n,t])},eHe=(0,F.createContext)(null),tHe=()=>(0,F.useContext)(eHe),T2=(0,F.forwardRef)(({autoFocus:e=!1,asChild:t,render:n,disabled:r,onChange:i,onKeyDown:a,onPaste:o,onSelect:s,submitOnEnter:c,submitMode:l,cancelOnEscape:u=!0,unstable_focusOnRunStart:d=!0,unstable_focusOnScrollToBottom:f=!0,unstable_focusOnThreadSwitched:p=!0,addAttachmentOnPaste:m=!0,...h},g)=>{let _=w1(),v=tHe(),y=l??(c===!1?`none`:`enter`),b=T1(e=>e.composer.isEditing?e.composer.text:``),x=T1(e=>e.thread.isDisabled||e.composer.dictation?.inputDisabled)||r,S=(0,F.useRef)(null),C=o2(g,S),w=(0,F.useRef)(!1);jVe(e=>{if(!S.current?.contains(e.target))return;if(v){for(let t of v.getPlugins())if(t.handleKeyDown(e))return}if(!u)return;let t=_.composer();t.getState().canCancel&&(t.cancel(),e.preventDefault())});let T=e=>{if(!x&&!e.nativeEvent.isComposing){if(v){for(let t of v.getPlugins())if(t.handleKeyDown(e))return}if(e.key===`Enter`){let t=_.thread().getState(),n=t.capabilities.queue;if(e.shiftKey&&(e.ctrlKey||e.metaKey)&&n&&y!==`none`&&!_.composer().getState().isEmpty){e.preventDefault(),_.composer().send({steer:!0});return}if(e.shiftKey||t.isRunning&&!n)return;let r=!1;y===`ctrlEnter`?r=e.ctrlKey||e.metaKey:y===`enter`&&(r=!0),r&&(e.preventDefault(),S.current?.closest(`form`)?.requestSubmit())}}},E=async e=>{if(!m)return;let t=_.thread().getState().capabilities,n=Array.from(e.clipboardData?.files||[]);if(t.attachments&&n.length>0)try{e.preventDefault(),await Promise.all(n.map(e=>_.composer().addAttachment(e)))}catch(e){console.error(`Error adding attachment:`,e)}},D=e&&!x,O=(0,F.useCallback)(()=>{let e=S.current;!e||!D||(e.focus({preventScroll:!0}),e.setSelectionRange(e.value.length,e.value.length))},[D]);(0,F.useEffect)(()=>O(),[O]),w2(()=>{_.composer().getState().type===`thread`&&f&&O()}),(0,F.useEffect)(()=>{if(!(_.composer().getState().type!==`thread`||!d))return _.on(`thread.runStart`,O)},[d,O,_]),(0,F.useEffect)(()=>{if(!(_.composer().getState().type!==`thread`||!p))return _.on(`threadListItem.switchedTo`,O)},[p,O,_]);let k={name:`input`,value:b,...h,ref:C,disabled:x,onChange:u2(i,e=>{if(!_.composer().getState().isEditing)return;let t=e.nativeEvent.isComposing===!0;w.current&&!t&&(w.current=!1);let n=t||w.current;if(G$(()=>{_.composer().setText(e.target.value)}),n)return;let r=e.target.selectionStart??e.target.value.length;if(v)for(let e of v.getPlugins())e.setCursorPosition(r)}),onKeyDown:u2(a,T),onCompositionStart:u2(h.onCompositionStart,()=>{w.current=!0}),onCompositionEnd:u2(h.onCompositionEnd,e=>{if(w.current=!1,!_.composer().getState().isEditing)return;let t=e.target;G$(()=>{_.composer().setText(t.value)});let n=t.selectionStart??t.value.length;if(v)for(let e of v.getPlugins())e.setCursorPosition(n)}),onSelect:u2(s,e=>{if(w.current)return;let t=e.target,n=t.selectionStart??t.value.length;if(v)for(let e of v.getPlugins())e.setCursorPosition(n)}),onPaste:u2(o,E)};if(n&&(0,F.isValidElement)(n)){let e=h.children===void 0?n.props.children:h.children;return(0,I.jsx)(p2,{...k,children:(0,F.cloneElement)(n,void 0,e)})}return(0,I.jsx)(t?p2:$Ve,{...k})});T2.displayName=`ComposerPrimitive.Input`;var nHe=d2(`ComposerPrimitive.Cancel`,()=>{let{disabled:e,cancel:t}=iVe();return e?null:t}),rHe=d2(`ComposerPrimitive.AddAttachment`,({multiple:e=!0}={})=>{let{disabled:t,addAttachment:n}=aVe(),r=w1(),i=(0,F.useCallback)(()=>{let t=document.createElement(`input`);t.type=`file`,t.multiple=e,t.hidden=!0;let i=r.composer().getState().attachmentAccept;i!==`*`&&(t.accept=i),document.body.appendChild(t),t.onchange=e=>{let r=e.target.files;if(r){for(let e of r)n(e);document.body.removeChild(t)}},t.oncancel=()=>{(!t.files||t.files.length===0)&&document.body.removeChild(t)},t.click()},[r,e,n]);return t?null:i},[`multiple`]),iHe=()=>T1(e=>{if(e.part.type!==`text`&&e.part.type!==`reasoning`)throw Error(`MessagePartText can only be used inside text or reasoning message parts.`);return e.part}),aHe=(0,F.createContext)(null);function oHe(e){let t=(0,F.useContext)(aHe);if(!e?.optional&&!t)throw Error(`This component must be used within a SmoothContextProvider.`);return t}var{useSmoothStatus:sHe,useSmoothStatusStore:cHe}=cVe(oHe,`useSmoothStatus`),lHe=class{currentText;setText;animationFrameId=null;lastUpdateTime=Date.now();targetText=``;constructor(e,t){this.currentText=e,this.setText=t}start(){this.animationFrameId===null&&(this.lastUpdateTime=Date.now(),this.animate())}stop(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}animate=()=>{let e=Date.now(),t=e-this.lastUpdateTime,n=this.targetText.length-this.currentText.length,r=Math.min(5,250/n),i=0;for(;t>=r&&i<n;)i++,t-=r;i===n?this.animationFrameId=null:this.animationFrameId=requestAnimationFrame(this.animate),i!==0&&(this.currentText=this.targetText.slice(0,this.currentText.length+i),this.lastUpdateTime=e-t,this.setText(this.currentText))}},E2=Object.freeze({type:`running`}),uHe=(e,t=!1)=>{let{text:n}=e,r=T1(e=>e.message.id),i=(0,F.useRef)(r),[a,o]=(0,F.useState)(e.status.type===`running`?``:n),s=cHe({optional:!0}),c=f2(t=>{if(o(t),s){let n=a!==t||e.status.type===`running`?E2:e.status;$0(s).setState(n,!0)}});(0,F.useEffect)(()=>{if(s){let r=t&&(a!==n||e.status.type===`running`)?E2:e.status;$0(s).setState(r,!0)}},[s,t,n,a,e.status]);let[l]=(0,F.useState)(new lHe(a,c));return(0,F.useEffect)(()=>{if(!t){l.stop();return}if(i.current!==r||!n.startsWith(l.targetText)){i.current=r,e.status.type===`running`?(c(``),l.currentText=``,l.targetText=n,l.start()):(c(n),l.currentText=n,l.targetText=n,l.stop());return}l.targetText=n,l.start()},[c,l,r,t,n,e.status.type]),(0,F.useEffect)(()=>()=>{l.stop()},[l]),(0,F.useMemo)(()=>t?{type:`text`,text:a,status:n===a?e.status:E2}:e,[t,a,e,n])},D2=(0,F.forwardRef)(({smooth:e=!0,component:t=`span`,...n},r)=>{let{text:i,status:a}=uHe(iHe(),e);return(0,I.jsx)(t,{"data-status":a.type,...n,ref:r,children:i})});D2.displayName=`MessagePartPrimitive.Text`;var dHe=()=>T1(e=>{if(e.part.type!==`image`)throw Error(`MessagePartImage can only be used inside image message parts.`);return e.part}),O2=(0,F.forwardRef)((e,t)=>{let{image:n}=dHe();return(0,I.jsx)(l2.img,{src:n,...e,ref:t})});O2.displayName=`MessagePartPrimitive.Image`;var k2=({children:e})=>T1(e=>e.part.status.type===`running`)?e:null;k2.displayName=`MessagePartPrimitive.InProgress`;var A2=e=>{let t=(0,F.useRef)(void 0);return(0,F.useCallback)(n=>{t.current&&=(t.current(),void 0),n&&(t.current=e(n))},[e])},j2=(e,t)=>{let n=e.trim().match(/^(\d+(?:\.\d+)?|\.\d+)(em|px|rem)$/);if(!n)return 1/0;let r=Number(n[1]),i=n[2];return i===`px`?r:i===`em`?r*(parseFloat(getComputedStyle(t).fontSize)||16):i===`rem`?r*(parseFloat(getComputedStyle(document.documentElement).fontSize)||16):1/0},fHe=e=>e.dataset.messageId,pHe=()=>{let e=document.createElement(`div`);return e.dataset.auiTopAnchorReserve=``,e.style.height=`0px`,e.style.flexShrink=`0`,e.style.pointerEvents=`none`,e.setAttribute(`aria-hidden`,`true`),e},M2=(e,t)=>{let n=`${t}px`;return e.style.height===n?!1:(e.style.height=n,!0)},mHe=e=>{let t=window.devicePixelRatio||1;return Math.round(e*t)/t},N2=()=>{let e=w1(),t=T1(()=>e.message());return A2((0,F.useCallback)(e=>{let n=()=>{t.setIsHovering(!0)},r=()=>{t.setIsHovering(!1)};return e.addEventListener(`mouseenter`,n),e.addEventListener(`mouseleave`,r),e.matches(`:hover`)&&queueMicrotask(()=>t.setIsHovering(!0)),()=>{e.removeEventListener(`mouseenter`,n),e.removeEventListener(`mouseleave`,r),t.setIsHovering(!1)}},[t]))},hHe=()=>{let e=Z0(e=>e.topAnchorTurn?.anchorId);return T1(t=>t.message.role===`user`&&t.message.index>0&&t.message.index===t.thread.messages.length-2&&t.thread.messages.at(-1)?.role===`assistant`&&(t.message.id===e||t.thread.isRunning))},gHe=()=>{let e=Z0(e=>e.topAnchorTurn?.targetId);return T1(t=>t.message.isLast&&t.message.role===`assistant`&&t.message.index>=1&&t.thread.messages.at(t.message.index-1)?.role===`user`&&(t.message.id===e||t.thread.isRunning))},_He=(e,t)=>A2((0,F.useCallback)(n=>{if(e)return t.getState().registerAnchorElement(n)},[e,t])),vHe=({active:e,threadViewportStore:t})=>A2((0,F.useCallback)(n=>{if(!e)return;let r=t.getState(),i=r.topAnchorMessageClamp;return r.registerAnchorTargetElement(n,{tallerThan:j2(i.tallerThan,n),visibleHeight:j2(i.visibleHeight,n)})},[e,t])),yHe=({forwardedRef:e,...t})=>{let n=o2(e,N2()),r=T1(e=>e.message.id);return(0,I.jsx)(l2.div,{...t,ref:n,"data-message-id":r})},bHe=({forwardedRef:e,threadViewportStore:t,...n})=>{let r=N2(),i=hHe(),a=gHe(),o=o2(e,r,_He(i,t),vHe({active:a,threadViewportStore:t})),s=T1(e=>e.message.id);return(0,I.jsx)(l2.div,{...n,ref:o,"data-message-id":s,"data-aui-top-anchor-user":i?``:void 0,"data-aui-top-anchor-target":a?``:void 0})},P2=(0,F.forwardRef)((e,t)=>{let n=Q0();return n.getState().turnAnchor===`top`?(0,I.jsx)(bHe,{...e,forwardedRef:t,threadViewportStore:n}):(0,I.jsx)(yHe,{...e,forwardedRef:t})});P2.displayName=`MessagePrimitive.Root`;var F2={...B0,Text:()=>(0,I.jsxs)(`p`,{style:{whiteSpace:`pre-line`},children:[(0,I.jsx)(D2,{}),(0,I.jsx)(k2,{children:(0,I.jsx)(`span`,{style:{fontFamily:`revert`},children:` ●`})})]}),Image:()=>(0,I.jsx)(O2,{})},I2=e=>{if(`children`in e)return(0,I.jsx)(G0,{children:e.children});let{components:t,...n}=e;return(0,I.jsx)(G0,{components:t?{Text:t.Text??F2.Text,Image:t.Image??F2.Image,Reasoning:t.Reasoning??B0.Reasoning,Source:t.Source??B0.Source,File:t.File??B0.File,Unstable_Audio:t.Unstable_Audio??B0.Unstable_Audio,...`ChainOfThought`in t?{ChainOfThought:t.ChainOfThought}:{tools:t.tools,data:t.data,ToolGroup:t.ToolGroup??B0.ToolGroup,ReasoningGroup:t.ReasoningGroup??B0.ReasoningGroup},Empty:t.Empty,Quote:t.Quote}:F2,...n})};I2.displayName=`MessagePrimitive.Parts`;var L2=(0,F.forwardRef)((e,t)=>(0,I.jsx)(l2.div,{...e,ref:t}));L2.displayName=`ThreadPrimitive.Root`;var xHe=e=>{let t=f2(e);return A2((0,F.useCallback)(e=>{let n=new ResizeObserver(()=>{t()}),r=new MutationObserver(e=>{e.some(e=>e.type!==`attributes`||e.attributeName!==`style`)&&t()});return n.observe(e),r.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{n.disconnect(),r.disconnect()}},[t]))},SHe=({autoScroll:e,scrollToBottomOnRunStart:t=!0,scrollToBottomOnInitialize:n=!0,scrollToBottomOnThreadSwitch:r=!0})=>{let i=(0,F.useRef)(null),a=Q0();e===void 0&&(e=a.getState().turnAnchor!==`top`);let o=(0,F.useRef)(0),s=(0,F.useRef)(null),c=(0,F.useCallback)(e=>{let t=i.current;t&&(s.current=e,t.scrollTo({top:t.scrollHeight,behavior:e}))},[]),l=(0,F.useCallback)(()=>{let e=a.getState();return e.turnAnchor===`top`&&e.element.viewport===i.current&&e.element.anchor!==null},[a]),u=()=>{let e=i.current;if(!e)return;let t=a.getState().isAtBottom,n=Math.abs(e.scrollHeight-e.scrollTop-e.clientHeight)<1||e.scrollHeight<=e.clientHeight;!n&&o.current<e.scrollTop||(n&&(s.current=null),(n||s.current===null)&&n!==t&&$0(a).setState({isAtBottom:n})),o.current=e.scrollTop},d=xHe(()=>{let t=s.current;t&&l()?s.current=null:t?c(t):e&&a.getState().isAtBottom&&c(`instant`),u()}),f=A2(e=>(e.addEventListener(`scroll`,u),()=>{e.removeEventListener(`scroll`,u)}));return w2(({behavior:e})=>{c(e)}),D1(`thread.runStart`,()=>{t&&a.getState().turnAnchor!==`top`&&(s.current=`auto`,requestAnimationFrame(()=>{c(`auto`)}))}),D1(`thread.initialize`,()=>{n&&(s.current=`instant`,requestAnimationFrame(()=>{c(`instant`)}))}),D1(`threadListItem.switchedTo`,()=>{r&&(s.current=`instant`,requestAnimationFrame(()=>{c(`instant`)}))}),o2(d,f,i)},R2=(e,t)=>A2((0,F.useCallback)(n=>{if(!e)return;let r=e(),i=()=>{let e=t?t(n):n.offsetHeight;r.setHeight(e)},a=new ResizeObserver(i);return a.observe(n),i(),()=>{a.disconnect(),r.unregister()}},[e,t])),z2=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},CHe=(e,t)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return r===t?n:z2(e)-z2(t)},B2=({viewport:e,anchor:t,tallerThan:n,visibleHeight:r})=>{let i=CHe(t,e),a=t.offsetHeight;return i+Math.max(0,a-(a<=n?a:r))},wHe=({scrollHeight:e,...t})=>{let{viewport:n}=t,r=B2(t)+n.clientHeight;return Math.max(0,r-e)},THe=({viewport:e,reserve:t,...n})=>wHe({viewport:e,...n,scrollHeight:e.scrollHeight-t.offsetHeight}),EHe=e=>{let t=new ResizeObserver(e),n=new MutationObserver(e),r=null,i=null,a=null,o=()=>{t.disconnect(),n.disconnect(),r=null,i=null,a=null};return{target:(e,s,c)=>{r===e&&i===s&&a===c||(o(),t.observe(e),t.observe(s),t.observe(c),n.observe(c,{childList:!0,subtree:!0,characterData:!0}),r=e,i=s,a=c)},disconnect:o}},DHe=e=>{let t=null;return{schedule:()=>{t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))},cancel:()=>{t!==null&&(cancelAnimationFrame(t),t=null)}}},OHe=e=>{let t=null,n;function r(){let r=e.getState(),{viewport:o,anchor:s,target:c}=r.element,l=r.targetConfig;if(r.turnAnchor!==`top`||!o||!s||!c||!l){a.disconnect(),t&&(M2(t,0),t.remove());return}if(t??=pHe(),(t.parentElement!==c.parentElement||t.previousElementSibling!==c)&&c.after(t),a.target(o,s,c),M2(t,THe({viewport:o,anchor:s,reserve:t,...l}))){i.schedule();return}let u=fHe(s);if(u!==void 0&&n===u)return;let d=mHe(B2({viewport:o,anchor:s,...l}));Math.abs(o.scrollTop-d)>1&&o.scrollTo({top:d,behavior:`smooth`}),u!==void 0&&(n=u)}let i=DHe(r),a=EHe(i.schedule);i.schedule();let o=e.subscribe(i.schedule);return()=>{i.cancel(),o(),a.disconnect(),t?.remove()}},kHe=e=>{let t=Q0();(0,F.useLayoutEffect)(()=>{if(e)return OHe(t)},[e,t])},V2=({isRunning:e,messages:t})=>{if(!e)return null;let n=t.at(-1),r=t.at(-2);return r?.role!==`user`||n?.role!==`assistant`?null:{anchorId:r.id,targetId:n.id}},AHe=e=>V2(e)?.anchorId,jHe=e=>V2(e)?.targetId,MHe=()=>R2(Z0(e=>e.registerViewport),(0,F.useCallback)(e=>e.clientHeight,[])),NHe=()=>A2(Z0(e=>e.registerViewportElement)),PHe=e=>{let t=Q0(),n=T1(t=>{if(e)return AHe(t.thread)}),r=T1(t=>{if(e)return jHe(t.thread)}),i=(0,F.useMemo)(()=>!n||!r?null:{anchorId:n,targetId:r},[n,r]);(0,F.useLayoutEffect)(()=>{if(!i)return;let e=t.getState(),n=e.topAnchorTurn;n?.anchorId===i.anchorId&&n.targetId===i.targetId||e.setTopAnchorTurn(i)},[i,t]);let a=(0,F.useCallback)(()=>{t.getState().setTopAnchorTurn(null)},[t]);D1(`thread.initialize`,a),D1(`threadListItem.switchedTo`,a)},H2=(0,F.forwardRef)(({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r,children:i,...a},o)=>{let s=SHe({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r}),c=MHe(),l=NHe(),u=Q0().getState().turnAnchor===`top`;PHe(u),kHe(u);let d=o2(o,s,c,l);return(0,I.jsx)(l2.div,{...a,ref:d,children:i})});H2.displayName=`ThreadPrimitive.ViewportScrollable`;var U2=(0,F.forwardRef)(({turnAnchor:e,topAnchorMessageClamp:t,...n},r)=>(0,I.jsx)(e2,{options:{turnAnchor:e,topAnchorMessageClamp:t},children:(0,I.jsx)(H2,{...n,ref:r})}));U2.displayName=`ThreadPrimitive.Viewport`;var W2=(0,F.forwardRef)((e,t)=>{let n=o2(t,R2(Z0(e=>e.registerContentInset),(0,F.useCallback)(e=>{let t=parseFloat(getComputedStyle(e).marginTop)||0;return e.offsetHeight+t},[])));return(0,I.jsx)(l2.div,{...e,ref:n})});W2.displayName=`ThreadPrimitive.ViewportFooter`;var G2=`/home/diogenes/Projects/keating/web/src/components/QuizRenderer.tsx`;function K2({label:e,selected:t,onClick:n,disabled:r,status:i}){return(0,L.jsxDEV)(`label`,{className:`flex items-center gap-3 rounded-lg border-2 px-4 py-3 text-sm transition-all cursor-pointer ${i===`correct`?`border-emerald-500/60 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:i===`wrong`?`border-destructive/60 bg-destructive/10 text-destructive`:t?`border-primary bg-primary/10 text-primary`:`border-border bg-background hover:border-primary/50`} ${r?`cursor-not-allowed opacity-70`:``}`,onClick:()=>!r&&n(),children:[i===`correct`?(0,L.jsxDEV)(Ma,{size:16},void 0,!1,{fileName:G2,lineNumber:41,columnNumber:5},this):i===`wrong`?(0,L.jsxDEV)(Na,{size:16},void 0,!1,{fileName:G2,lineNumber:43,columnNumber:5},this):t?(0,L.jsxDEV)(Ma,{size:16},void 0,!1,{fileName:G2,lineNumber:45,columnNumber:5},this):(0,L.jsxDEV)(Pa,{size:16},void 0,!1,{fileName:G2,lineNumber:47,columnNumber:5},this),(0,L.jsxDEV)(`span`,{className:`flex-1`,children:e},void 0,!1,{fileName:G2,lineNumber:49,columnNumber:4},this)]},void 0,!0,{fileName:G2,lineNumber:36,columnNumber:3},this)}function FHe({q:e,index:t,answer:n,onChange:r,revealed:i}){let a=i&&n.trim().toLowerCase()===e.correctAnswer.trim().toLowerCase(),o=i&&n.trim()&&!a;return(0,L.jsxDEV)(`div`,{className:`rounded-lg border border-border bg-muted/20 p-4 space-y-3`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsxDEV)(`span`,{className:`font-terminal text-xs text-accent shrink-0 mt-1`,children:[`[`,t+1,`/`,e.level.toUpperCase(),`]`]},void 0,!0,{fileName:G2,lineNumber:73,columnNumber:5},this),(0,L.jsxDEV)(`p`,{className:`text-sm font-medium leading-6`,children:e.question},void 0,!1,{fileName:G2,lineNumber:76,columnNumber:5},this)]},void 0,!0,{fileName:G2,lineNumber:72,columnNumber:4},this),e.type===`multiple_choice`&&e.options&&(0,L.jsxDEV)(`div`,{className:`space-y-2`,children:e.options.map(t=>{let a=n===t,o;return i&&(t===e.correctAnswer?o=`correct`:a&&(o=`wrong`)),(0,L.jsxDEV)(K2,{label:t,selected:a,onClick:()=>r(t),disabled:i,status:o},t,!1,{fileName:G2,lineNumber:89,columnNumber:8},this)})},void 0,!1,{fileName:G2,lineNumber:80,columnNumber:5},this),(e.type===`short_answer`||e.type===`fill_in`||e.type===`transfer`)&&(0,L.jsxDEV)(`div`,{className:`space-y-2`,children:[(0,L.jsxDEV)(`textarea`,{className:`w-full rounded-md border bg-background px-3 py-2 text-sm outline-none resize-none min-h-[80px] placeholder:text-muted-foreground ${o?`border-destructive/60 bg-destructive/5`:a?`border-emerald-500/60 bg-emerald-500/5`:`border-border`}`,placeholder:e.type===`fill_in`?`Fill in the blank...`:`Type your answer...`,value:n,onChange:e=>r(e.target.value),disabled:i},void 0,!1,{fileName:G2,lineNumber:104,columnNumber:6},this),i&&(0,L.jsxDEV)(`div`,{className:`flex items-start gap-2 text-xs text-muted-foreground bg-muted/50 rounded p-2`,children:[(0,L.jsxDEV)(Xa,{size:14,className:`shrink-0 mt-0.5 text-accent`},void 0,!1,{fileName:G2,lineNumber:119,columnNumber:8},this),(0,L.jsxDEV)(`div`,{className:`space-y-1`,children:[(0,L.jsxDEV)(`p`,{children:[(0,L.jsxDEV)(`span`,{className:`font-medium`,children:`Correct:`},void 0,!1,{fileName:G2,lineNumber:122,columnNumber:10},this),` `,e.correctAnswer]},void 0,!0,{fileName:G2,lineNumber:121,columnNumber:9},this),e.explanation&&(0,L.jsxDEV)(`p`,{children:e.explanation},void 0,!1,{fileName:G2,lineNumber:124,columnNumber:27},this),e.rubric&&(0,L.jsxDEV)(`p`,{className:`text-[10px] opacity-70`,children:e.rubric},void 0,!1,{fileName:G2,lineNumber:125,columnNumber:22},this)]},void 0,!0,{fileName:G2,lineNumber:120,columnNumber:8},this)]},void 0,!0,{fileName:G2,lineNumber:118,columnNumber:7},this)]},void 0,!0,{fileName:G2,lineNumber:103,columnNumber:5},this),e.type===`true_false`&&(0,L.jsxDEV)(`div`,{className:`flex gap-3`,children:[`True`,`False`].map(t=>{let a=n===t,o;return i&&(t===e.correctAnswer?o=`correct`:a&&(o=`wrong`)),(0,L.jsxDEV)(K2,{label:t,selected:a,onClick:()=>r(t),disabled:i,status:o},t,!1,{fileName:G2,lineNumber:142,columnNumber:8},this)})},void 0,!1,{fileName:G2,lineNumber:133,columnNumber:5},this)]},void 0,!0,{fileName:G2,lineNumber:71,columnNumber:3},this)}q2.displayName=`QuizRenderer`;function q2({quiz:e,onSubmit:t}){let[n,r]=(0,F.useState)({}),[i,a]=(0,F.useState)(!1),o=(0,F.useCallback)((e,t)=>{r(n=>({...n,[e]:t}))},[]),s=(0,F.useMemo)(()=>{let t=0;for(let r of e.questions)(n[r.id]||``).trim().toLowerCase()===r.correctAnswer.trim().toLowerCase()&&t++;return t},[n,e.questions]),c=Math.round(s/e.questions.length*100),l=(0,F.useCallback)(()=>{a(!0),t?.(n,s)},[n,s,t]),u=(0,F.useCallback)(()=>{r({}),a(!1)},[]);return(0,L.jsxDEV)(`div`,{className:`rounded-xl border-2 border-border bg-background p-4 sm:p-5 space-y-4 my-3 shadow-sm`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`h3`,{className:`text-base font-bold`,children:e.topic},void 0,!1,{fileName:G2,lineNumber:193,columnNumber:6},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground font-terminal`,children:[e.questions.length,` QUESTIONS // `,e.totalPoints,` POINTS`]},void 0,!0,{fileName:G2,lineNumber:194,columnNumber:6},this)]},void 0,!0,{fileName:G2,lineNumber:192,columnNumber:5},this),i&&(0,L.jsxDEV)(`div`,{className:`text-right`,children:[(0,L.jsxDEV)(`div`,{className:`text-2xl font-bold font-terminal ${c>=70?`text-emerald-600 dark:text-emerald-400`:c>=40?`text-amber-600 dark:text-amber-400`:`text-destructive`}`,children:[s,`/`,e.questions.length]},void 0,!0,{fileName:G2,lineNumber:200,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`text-[10px] text-muted-foreground uppercase`,children:[c,`%`]},void 0,!0,{fileName:G2,lineNumber:203,columnNumber:7},this)]},void 0,!0,{fileName:G2,lineNumber:199,columnNumber:6},this)]},void 0,!0,{fileName:G2,lineNumber:191,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`space-y-3`,children:e.questions.map((e,t)=>(0,L.jsxDEV)(FHe,{q:e,index:t,answer:n[e.id]||``,onChange:t=>o(e.id,t),revealed:i},e.id,!1,{fileName:G2,lineNumber:210,columnNumber:6},this))},void 0,!1,{fileName:G2,lineNumber:208,columnNumber:4},this),i?(0,L.jsxDEV)(`button`,{onClick:u,className:`w-full flex items-center justify-center gap-2 rounded-lg border-2 border-border bg-background px-4 py-2.5 text-sm font-medium hover:bg-accent transition-colors`,children:[(0,L.jsxDEV)(so,{size:14},void 0,!1,{fileName:G2,lineNumber:235,columnNumber:6},this),`Retake`]},void 0,!0,{fileName:G2,lineNumber:231,columnNumber:5},this):(0,L.jsxDEV)(`button`,{onClick:l,disabled:Object.keys(n).length<e.questions.length,className:`w-full flex items-center justify-center gap-2 rounded-lg border-2 border-primary bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-40 disabled:pointer-events-none transition-colors`,children:[(0,L.jsxDEV)(lo,{size:14},void 0,!1,{fileName:G2,lineNumber:227,columnNumber:6},this),`Submit Quiz`]},void 0,!0,{fileName:G2,lineNumber:222,columnNumber:5},this)]},void 0,!0,{fileName:G2,lineNumber:190,columnNumber:3},this)}var J2=`/home/diogenes/Projects/keating/web/src/components/SceneRenderer.tsx`;function IHe(e){let t=e.split(`
|
|
3133
3133
|
`),n=[],r=``,i={},a=0;for(let e of t){let t=e.match(/^# Animation Storyboard: (.+)$/);if(t){r=t[1];continue}let o=e.match(/^## Scene (\d+): (.+) \((.+)\)$/);if(o){i.title&&n.push(i);let[,e,t,r]=o,s=parseInt(r.replace(`s`,``),10)||0;a+=s,i={number:parseInt(e,10),title:t,duration:r};continue}let s=e.match(/^- \*\*Visual\*\*: (.+)$/);s&&(i.visual=s[1]);let c=e.match(/^- \*\*Audio\*\*: (.+)$/);c&&(i.audio=c[1]);let l=e.match(/^- \*\*Narration\*\*: (.+)$/);l&&(i.audio=l[1]);let u=e.match(/^- \*\*Transition\*\*: (.+)$/);u&&(i.transition=u[1]);let d=e.match(/^- \*\*Duration\*\*: (\d+)s$/);if(d){i.duration=`${d[1]}s`;let e=parseInt(d[1],10);a+=e}let f=e.match(/^- \*\*Highlight\*\*: (.+)$/);f&&(i.highlight=f[1]);let p=e.match(/^- \*\*Overlay\*\*: (.+)$/);p&&(i.highlight=p[1]);let m=e.match(/^- \*\*Step-through\*\*: (.+)$/);m&&(i.highlight=m[1])}return i.title&&n.push(i),{title:r,scenes:n,totalDuration:a}}function LHe({title:e}){let t=e.toLowerCase();return t.includes(`intro`)||t.includes(`title`)?(0,L.jsxDEV)(Sa,{size:18},void 0,!1,{fileName:J2,lineNumber:76,columnNumber:57},this):t.includes(`intuition`)?(0,L.jsxDEV)(Xa,{size:18},void 0,!1,{fileName:J2,lineNumber:77,columnNumber:38},this):t.includes(`miscon`)?(0,L.jsxDEV)(So,{size:18},void 0,!1,{fileName:J2,lineNumber:78,columnNumber:35},this):t.includes(`transfer`)?(0,L.jsxDEV)(ba,{size:18},void 0,!1,{fileName:J2,lineNumber:79,columnNumber:37},this):t.includes(`example`)?(0,L.jsxDEV)(Va,{size:18},void 0,!1,{fileName:J2,lineNumber:80,columnNumber:36},this):t.includes(`formal`)?(0,L.jsxDEV)(Sa,{size:18},void 0,!1,{fileName:J2,lineNumber:81,columnNumber:35},this):(0,L.jsxDEV)(Va,{size:18},void 0,!1,{fileName:J2,lineNumber:82,columnNumber:9},this)}function RHe({scene:e,isActive:t,progress:n}){return(0,L.jsxDEV)(`div`,{className:`rounded-lg border-2 p-4 transition-all ${t?`border-primary bg-primary/5 shadow-sm`:`border-border bg-muted/20 opacity-90`}`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,L.jsxDEV)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full ${t?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`}`,children:(0,L.jsxDEV)(LHe,{title:e.title},void 0,!1,{fileName:J2,lineNumber:104,columnNumber:6},this)},void 0,!1,{fileName:J2,lineNumber:103,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,L.jsxDEV)(`span`,{className:`text-sm font-semibold truncate`,children:e.title},void 0,!1,{fileName:J2,lineNumber:108,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground font-terminal`,children:[(0,L.jsxDEV)(Ia,{size:12},void 0,!1,{fileName:J2,lineNumber:110,columnNumber:8},this),e.duration]},void 0,!0,{fileName:J2,lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:J2,lineNumber:107,columnNumber:6},this),t&&(0,L.jsxDEV)(`div`,{className:`mt-1 h-1 w-full rounded-full bg-muted overflow-hidden`,children:(0,L.jsxDEV)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${n}%`}},void 0,!1,{fileName:J2,lineNumber:116,columnNumber:8},this)},void 0,!1,{fileName:J2,lineNumber:115,columnNumber:7},this)]},void 0,!0,{fileName:J2,lineNumber:106,columnNumber:5},this)]},void 0,!0,{fileName:J2,lineNumber:102,columnNumber:4},this),e.visual&&(0,L.jsxDEV)(`div`,{className:`rounded-md bg-muted/50 p-3 mb-2`,children:(0,L.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsxDEV)(Va,{size:14,className:`shrink-0 mt-0.5 text-muted-foreground`},void 0,!1,{fileName:J2,lineNumber:128,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`text-xs leading-5`,children:e.visual},void 0,!1,{fileName:J2,lineNumber:129,columnNumber:7},this)]},void 0,!0,{fileName:J2,lineNumber:127,columnNumber:6},this)},void 0,!1,{fileName:J2,lineNumber:126,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1`,children:[e.audio&&(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,L.jsxDEV)(wo,{size:12},void 0,!1,{fileName:J2,lineNumber:137,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`truncate max-w-[240px]`,children:e.audio},void 0,!1,{fileName:J2,lineNumber:138,columnNumber:7},this)]},void 0,!0,{fileName:J2,lineNumber:136,columnNumber:6},this),e.transition&&(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,L.jsxDEV)(ba,{size:12},void 0,!1,{fileName:J2,lineNumber:143,columnNumber:7},this),(0,L.jsxDEV)(`span`,{children:e.transition},void 0,!1,{fileName:J2,lineNumber:144,columnNumber:7},this)]},void 0,!0,{fileName:J2,lineNumber:142,columnNumber:6},this),e.highlight&&(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1 text-xs text-accent`,children:[(0,L.jsxDEV)(Xa,{size:12},void 0,!1,{fileName:J2,lineNumber:149,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`truncate max-w-[200px]`,children:e.highlight},void 0,!1,{fileName:J2,lineNumber:150,columnNumber:7},this)]},void 0,!0,{fileName:J2,lineNumber:148,columnNumber:6},this)]},void 0,!0,{fileName:J2,lineNumber:134,columnNumber:4},this)]},void 0,!0,{fileName:J2,lineNumber:95,columnNumber:3},this)}function zHe({storyboard:e}){let{title:t,scenes:n,totalDuration:r}=(0,F.useMemo)(()=>IHe(e),[e]),[i,a]=(0,F.useState)(0);if(!n.length)return null;let o=n[i];return(0,L.jsxDEV)(`div`,{className:`rounded-xl border-2 border-border bg-background p-4 sm:p-5 space-y-4 my-3 shadow-sm`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`h3`,{className:`text-base font-bold`,children:t||`Animation Storyboard`},void 0,!1,{fileName:J2,lineNumber:170,columnNumber:6},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground font-terminal`,children:[n.length,` SCENES // `,r,`s TOTAL`]},void 0,!0,{fileName:J2,lineNumber:171,columnNumber:6},this)]},void 0,!0,{fileName:J2,lineNumber:169,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[(0,L.jsxDEV)(`button`,{onClick:()=>a(e=>Math.max(0,e-1)),disabled:i===0,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border text-muted-foreground hover:bg-accent disabled:opacity-30 transition-colors`,children:(0,L.jsxDEV)(Oa,{size:16},void 0,!1,{fileName:J2,lineNumber:181,columnNumber:7},this)},void 0,!1,{fileName:J2,lineNumber:176,columnNumber:6},this),(0,L.jsxDEV)(`span`,{className:`text-xs font-terminal min-w-[3rem] text-center`,children:[i+1,`/`,n.length]},void 0,!0,{fileName:J2,lineNumber:183,columnNumber:6},this),(0,L.jsxDEV)(`button`,{onClick:()=>a(e=>Math.min(n.length-1,e+1)),disabled:i===n.length-1,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border text-muted-foreground hover:bg-accent disabled:opacity-30 transition-colors`,children:(0,L.jsxDEV)(ka,{size:16},void 0,!1,{fileName:J2,lineNumber:191,columnNumber:7},this)},void 0,!1,{fileName:J2,lineNumber:186,columnNumber:6},this)]},void 0,!0,{fileName:J2,lineNumber:175,columnNumber:5},this)]},void 0,!0,{fileName:J2,lineNumber:168,columnNumber:4},this),(0,L.jsxDEV)(RHe,{scene:o,isActive:!0,progress:60},void 0,!1,{fileName:J2,lineNumber:196,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`space-y-2`,children:n.map((e,t)=>(0,L.jsxDEV)(`button`,{onClick:()=>a(t),className:`w-full flex items-center gap-3 rounded-md px-3 py-2 text-left transition-all ${t===i?`bg-primary/10 border border-primary/30`:`bg-muted/30 border border-transparent hover:bg-muted/50`}`,children:[(0,L.jsxDEV)(`div`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground text-[10px] font-bold`,children:e.number},void 0,!1,{fileName:J2,lineNumber:209,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`text-xs font-medium truncate flex-1`,children:e.title},void 0,!1,{fileName:J2,lineNumber:212,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`text-[10px] text-muted-foreground font-terminal`,children:e.duration},void 0,!1,{fileName:J2,lineNumber:213,columnNumber:7},this)]},e.number,!0,{fileName:J2,lineNumber:200,columnNumber:6},this))},void 0,!1,{fileName:J2,lineNumber:198,columnNumber:4},this)]},void 0,!0,{fileName:J2,lineNumber:167,columnNumber:3},this)}var Z=`/home/diogenes/Projects/keating/web/src/components/AssistantChatPanel.tsx`,Y2=(0,F.createContext)(()=>Promise.resolve(!1)),X2=`\0__KEATING_ERROR__\0`,Z2=[`Reading the board before answering...`,`Finding the bridge from what you know...`,`Sketching the lesson path...`,`Checking the example that will do the most work...`,`Setting up the next question...`],Q2=`text/*,application/json,application/xml,application/javascript,application/typescript,application/x-javascript,.txt,.md,.markdown,.csv,.json,.xml,.html,.css,.js,.jsx,.ts,.tsx,.py,.rb,.go,.rs,.java,.c,.cpp,.h,.hpp,.toml,.yaml,.yml`.split(`,`).join(`,`);function BHe(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(r.error??Error(`Could not read ${e.name}`)),r.readAsText(e)})}function VHe(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(r.error??Error(`Could not read ${e.name}`)),r.readAsDataURL(e)})}function HHe(e,t){if(t===`*`)return!0;let n=e.name.includes(`.`)?`.${e.name.split(`.`).pop().toLowerCase()}`:``,r=e.type.toLowerCase();return t.split(`,`).some(e=>{let t=e.trim().toLowerCase();return t?t.startsWith(`.`)&&n===t?!0:t.endsWith(`/*`)?r.startsWith(`${t.slice(0,-2)}/`):r===t:!1})}var UHe={accept:`image/*,${Q2}`,async add({file:e}){return{id:`${e.name}-${e.size}-${e.lastModified}`,type:e.type.startsWith(`image/`)?`image`:`document`,name:e.name,contentType:e.type,file:e,status:{type:`requires-action`,reason:`composer-send`}}},async send(e){let t=e.file;if(t.type.startsWith(`image/`))return{...e,type:`image`,status:{type:`complete`},content:[{type:`image`,image:await VHe(t),filename:t.name}]};if(!HHe(t,Q2))throw Error(`${t.name} is not a readable text or image attachment.`);return{...e,type:`document`,status:{type:`complete`},content:[{type:`text`,text:`<attachment name="${t.name}" type="${t.type||`text/plain`}">\n${await BHe(t)}\n</attachment>`}]}},async remove(){}};function WHe({text:e,status:t,showRawErrors:n}){let r=e.startsWith(X2),i=r?e.slice(19):e,[a,o]=(0,F.useState)(i),s=(0,F.useRef)(i.length),c=(0,F.useRef)(i);return(0,F.useEffect)(()=>{let e=i.startsWith(c.current),n=t?.type===`running`&&i.length>s.current&&e;if(c.current=i,!n){s.current=i.length,o(i);return}let r=!1,a=()=>{r||(s.current=Math.min(i.length,s.current+3),o(i.slice(0,s.current)),s.current<i.length&&window.setTimeout(a,18))};return a(),()=>{r=!0}},[t?.type,i]),r?(0,L.jsxDEV)(i4,{classified:r4(a),rawMessage:a,showRaw:!!n},void 0,!1,{fileName:Z,lineNumber:267,columnNumber:7},this):(0,L.jsxDEV)(nUe,{text:a,isRunning:t?.type===`running`&&a.length>=i.length},void 0,!1,{fileName:Z,lineNumber:276,columnNumber:5},this)}var $2=/\[artifact:\/\/([^/]+)\/([^\]]+)\]/g;function GHe(e){return e.replace($2,``).trim()}var e4=/authentication_error|invalid.api.key|unauthorized|401|api.secret.key|auth.*fail|login.fail|key.*invalid|key.*expired/i,t4=/keating_voice|gemini live speech|voice layer|speech model|speech failed|speech timed out/i,n4=/\b(4[0-9]{2}|5[0-9]{2})\b/,KHe={400:{title:`Bad Request`,description:`The request was malformed or invalid.`,icon:ja,category:`unknown`},401:{title:`Unauthorized`,description:`Authentication is required to access this resource.`,icon:Qa,category:`auth`},403:{title:`Forbidden`,description:`You don't have permission to access this resource.`,icon:mo,category:`permission`},404:{title:`Not Found`,description:`The requested resource does not exist.`,icon:ja,category:`not-found`},408:{title:`Request Timeout`,description:`The server took too long to respond.`,icon:Eo,category:`network`},409:{title:`Conflict`,description:`The request conflicts with the current state.`,icon:ja,category:`unknown`},422:{title:`Unprocessable`,description:`The request was understood but couldn't be processed.`,icon:ja,category:`unknown`},429:{title:`Too Many Requests`,description:`Rate limit exceeded. Please wait and try again.`,icon:Eo,category:`rate-limit`},500:{title:`Internal Server Error`,description:`Something went wrong on the server side.`,icon:uo,category:`server`},502:{title:`Bad Gateway`,description:`The server received an invalid response from an upstream service.`,icon:uo,category:`server`},503:{title:`Service Unavailable`,description:`The server is temporarily unavailable. Try again later.`,icon:uo,category:`server`},504:{title:`Gateway Timeout`,description:`The server didn't respond in time.`,icon:Eo,category:`network`}},qHe={ECONNREFUSED:{title:`Connection Refused`,description:`Could not connect to the server.`,icon:Eo,category:`network`},ECONNRESET:{title:`Connection Reset`,description:`The connection was unexpectedly closed.`,icon:Eo,category:`network`},ETIMEDOUT:{title:`Connection Timeout`,description:`The connection timed out.`,icon:Eo,category:`network`},ENOTFOUND:{title:`DNS Error`,description:`Could not resolve the server address.`,icon:Eo,category:`network`},FETCH_ERROR:{title:`Network Error`,description:`A network error occurred while making the request.`,icon:Eo,category:`network`}};function r4(e){let t=t4.test(e);if(t&&e4.test(e))return{statusCode:e.match(n4)?parseInt(e.match(n4)[1],10):null,title:`Voice Authentication Failed`,description:`The speech model rejected its credentials. The main chat model may still be working.`,icon:Ja,category:`speech`};if(t)return{statusCode:null,title:`Voice Model Error`,description:`The optional speech layer failed. The main chat model may still be working.`,icon:Eo,category:`speech`};let n=e.match(n4);if(n){let e=parseInt(n[1],10),t=KHe[e];if(t)return{...t,statusCode:e};if(e>=400&&e<500)return{statusCode:e,title:`Client Error (${e})`,description:`The request could not be processed.`,icon:ja,category:`unknown`};if(e>=500)return{statusCode:e,title:`Server Error (${e})`,description:`An error occurred on the server.`,icon:uo,category:`server`}}for(let[t,n]of Object.entries(qHe))if(e.toUpperCase().includes(t))return{...n,statusCode:null};return e4.test(e)?{statusCode:null,title:`Authentication Failed`,description:`The selected model provider rejected its credentials.`,icon:Ja,category:`auth`}:{statusCode:null,title:`Error`,description:`An unexpected error occurred.`,icon:ja,category:`unknown`}}function i4({classified:e,rawMessage:t,showRaw:n}){let r=e.icon;return(0,L.jsxDEV)(`div`,{className:`space-y-1.5`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,L.jsxDEV)(r,{size:13},void 0,!1,{fileName:Z,lineNumber:508,columnNumber:9},this),(0,L.jsxDEV)(`span`,{children:e.title},void 0,!1,{fileName:Z,lineNumber:509,columnNumber:9},this),e.statusCode&&(0,L.jsxDEV)(`span`,{className:`rounded bg-background/70 px-1.5 py-0.5 font-mono text-[10px]`,children:e.statusCode},void 0,!1,{fileName:Z,lineNumber:511,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:507,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`text-muted-foreground`,children:e.description},void 0,!1,{fileName:Z,lineNumber:516,columnNumber:7},this),n&&(0,L.jsxDEV)(`details`,{className:`mt-2`,children:[(0,L.jsxDEV)(`summary`,{className:`flex cursor-pointer list-none items-center gap-1 text-muted-foreground hover:text-foreground`,children:[(0,L.jsxDEV)(ka,{size:13},void 0,!1,{fileName:Z,lineNumber:520,columnNumber:13},this),`Raw details`]},void 0,!0,{fileName:Z,lineNumber:519,columnNumber:11},this),(0,L.jsxDEV)(`pre`,{className:`mt-2 max-h-44 overflow-auto whitespace-pre-wrap text-[11px] text-muted-foreground`,children:t},void 0,!1,{fileName:Z,lineNumber:523,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:518,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:506,columnNumber:5},this)}function JHe({image:e,filename:t}){return(0,L.jsxDEV)(`figure`,{className:`my-2 overflow-hidden rounded-md border border-border bg-background/60`,children:[(0,L.jsxDEV)(`img`,{src:e,alt:t??`Attached image`,className:`max-h-80 w-full object-contain`},void 0,!1,{fileName:Z,lineNumber:535,columnNumber:7},this),t?(0,L.jsxDEV)(`figcaption`,{className:`border-t border-border px-2 py-1 text-[11px] text-muted-foreground`,children:t},void 0,!1,{fileName:Z,lineNumber:541,columnNumber:9},this):null]},void 0,!0,{fileName:Z,lineNumber:534,columnNumber:5},this)}function YHe({filename:e,mimeType:t}){return(0,L.jsxDEV)(`div`,{className:`my-2 inline-flex max-w-full items-center gap-2 rounded-md border border-border bg-background/60 px-2 py-1 text-xs`,children:[(0,L.jsxDEV)(ro,{size:13,className:`shrink-0 text-muted-foreground`},void 0,!1,{fileName:Z,lineNumber:558,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`truncate`,children:e??`attachment`},void 0,!1,{fileName:Z,lineNumber:559,columnNumber:7},this),t?(0,L.jsxDEV)(`span`,{className:`shrink-0 text-muted-foreground`,children:t},void 0,!1,{fileName:Z,lineNumber:561,columnNumber:9},this):null]},void 0,!0,{fileName:Z,lineNumber:557,columnNumber:5},this)}function XHe({attachment:e}){let t=e.type===`image`;return(0,L.jsxDEV)(`div`,{className:`inline-flex max-w-48 items-center gap-1.5 rounded-md border border-border bg-muted/40 px-2 py-1 text-xs text-foreground`,children:[(0,L.jsxDEV)(ro,{size:12,className:`shrink-0 text-muted-foreground`},void 0,!1,{fileName:Z,lineNumber:575,columnNumber:7},this),(0,L.jsxDEV)(`span`,{className:`truncate`,children:e.name},void 0,!1,{fileName:Z,lineNumber:576,columnNumber:7},this),t?(0,L.jsxDEV)(`span`,{className:`shrink-0 text-muted-foreground`,children:`image`},void 0,!1,{fileName:Z,lineNumber:578,columnNumber:9},this):null,(0,L.jsxDEV)(RVe,{className:`ml-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground`,"aria-label":`Remove ${e.name}`,title:`Remove attachment`,children:(0,L.jsxDEV)(Oo,{size:12},void 0,!1,{fileName:Z,lineNumber:585,columnNumber:9},this)},void 0,!1,{fileName:Z,lineNumber:580,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:574,columnNumber:5},this)}function ZHe(e){if(e.role!==`assistant`||e.stopReason!==`error`)return null;let t=e.errorMessage??``;return!e4.test(t)||t4.test(t)?null:{provider:e.provider??e.model?.provider??e.model?.split?.(`/`,2)?.[0]??`unknown`,error:t}}function QHe({text:e}){let t=Array.from(e.matchAll($2));return t.length===0?null:(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2 mb-3`,children:t.map((e,t)=>{let n=e[1],r=e[2],i=n.replace(/-/g,` `);return(0,L.jsxDEV)(`button`,{className:`inline-flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-xs font-medium text-primary hover:bg-primary/20 transition-colors`,onClick:()=>window.dispatchEvent(new CustomEvent(`keating:open-artifact`,{detail:{type:n,id:r}})),title:`View ${i}`,children:[(0,L.jsxDEV)(Ya,{size:12},void 0,!1,{fileName:Z,lineNumber:628,columnNumber:13},this),(0,L.jsxDEV)(`span`,{className:`capitalize`,children:i},void 0,!1,{fileName:Z,lineNumber:629,columnNumber:13},this)]},t,!0,{fileName:Z,lineNumber:616,columnNumber:11},this)})},void 0,!1,{fileName:Z,lineNumber:610,columnNumber:5},this)}var $He=/<keating-quiz\s+json=([^>]+)\s*\/>/g,eUe=/<keating-scene\s+markdown=([^>]+)\s*\/>/g;function tUe(e){let t=[],n=0;for(let r of e.matchAll($He))r.index!==void 0&&r.index>n&&t.push({type:`text`,content:e.slice(n,r.index)}),t.push({type:`quiz`,json:r[1]}),n=r.index+r[0].length;let r=e.slice(n),i=0;for(let e of r.matchAll(eUe))e.index!==void 0&&e.index>i&&t.push({type:`text`,content:r.slice(i,e.index)}),t.push({type:`scene`,markdown:JSON.parse(e[1])}),i=e.index+e[0].length;return i<r.length&&t.push({type:`text`,content:r.slice(i)}),t.length===0&&t.push({type:`text`,content:e}),t}function nUe({text:e,isRunning:t}){let n=tUe(GHe(e));return(0,L.jsxDEV)(`div`,{className:`break-words text-sm leading-6`,children:[(0,L.jsxDEV)(QHe,{text:e},void 0,!1,{fileName:Z,lineNumber:694,columnNumber:7},this),n.map((e,t)=>{if(e.type===`quiz`)try{let n=JSON.parse(JSON.parse(e.json));return(0,L.jsxDEV)(q2,{quiz:n,onSubmit:(e,t)=>{window.dispatchEvent(new CustomEvent(`keating:quiz-submitted`,{detail:{quizId:n.slug,answers:e,score:t}}))}},t,!1,{fileName:Z,lineNumber:700,columnNumber:15},this)}catch{return null}return e.type===`scene`?(0,L.jsxDEV)(zHe,{storyboard:e.markdown},t,!1,{fileName:Z,lineNumber:717,columnNumber:18},this):(0,L.jsxDEV)(zZ,{remarkPlugins:[MQ,FQ],rehypePlugins:[n$],components:{pre:({children:e})=>(0,L.jsxDEV)(`pre`,{className:`overflow-x-auto rounded-md bg-muted p-3 text-xs`,children:e},void 0,!1,{fileName:Z,lineNumber:727,columnNumber:17},this),code:({className:e,children:t,...n})=>e?.includes(`language-`)?(0,L.jsxDEV)(`code`,{className:`font-mono text-sm`,...n,children:t},void 0,!1,{fileName:Z,lineNumber:745,columnNumber:19},this):(0,L.jsxDEV)(`code`,{className:`rounded bg-muted px-1.5 py-0.5 text-sm font-mono`,...n,children:t},void 0,!1,{fileName:Z,lineNumber:736,columnNumber:21},this),p:({children:e})=>(0,L.jsxDEV)(`p`,{className:`mb-3 last:mb-0`,children:e},void 0,!1,{fileName:Z,lineNumber:752,columnNumber:17},this),ul:({children:e})=>(0,L.jsxDEV)(`ul`,{className:`mb-3 list-disc pl-5`,children:e},void 0,!1,{fileName:Z,lineNumber:756,columnNumber:17},this),ol:({children:e})=>(0,L.jsxDEV)(`ol`,{className:`mb-3 list-decimal pl-5`,children:e},void 0,!1,{fileName:Z,lineNumber:760,columnNumber:17},this),li:({children:e})=>(0,L.jsxDEV)(`li`,{className:`mb-1`,children:e},void 0,!1,{fileName:Z,lineNumber:763,columnNumber:42},this),h1:({children:e})=>(0,L.jsxDEV)(`h1`,{className:`mb-2 mt-4 text-lg font-semibold`,children:e},void 0,!1,{fileName:Z,lineNumber:766,columnNumber:17},this),h2:({children:e})=>(0,L.jsxDEV)(`h2`,{className:`mb-2 mt-3 text-base font-semibold`,children:e},void 0,!1,{fileName:Z,lineNumber:770,columnNumber:17},this),h3:({children:e})=>(0,L.jsxDEV)(`h3`,{className:`mb-1 mt-2 text-sm font-semibold`,children:e},void 0,!1,{fileName:Z,lineNumber:776,columnNumber:17},this),strong:({children:e})=>(0,L.jsxDEV)(`strong`,{className:`font-semibold`,children:e},void 0,!1,{fileName:Z,lineNumber:780,columnNumber:17},this),em:({children:e})=>(0,L.jsxDEV)(`em`,{className:`italic`,children:e},void 0,!1,{fileName:Z,lineNumber:783,columnNumber:42},this),a:({children:e,href:t})=>(0,L.jsxDEV)(`a`,{href:t,className:`text-primary underline text-green-600`,target:`_blank`,rel:`noreferrer`,children:e},void 0,!1,{fileName:Z,lineNumber:786,columnNumber:17},this),blockquote:({children:e})=>(0,L.jsxDEV)(`blockquote`,{className:`my-2 border-l-2 border-border pl-3 text-muted-foreground`,children:e},void 0,!1,{fileName:Z,lineNumber:797,columnNumber:17},this),table:({children:e})=>(0,L.jsxDEV)(`table`,{className:`mb-3 w-full border-collapse text-sm`,children:e},void 0,!1,{fileName:Z,lineNumber:803,columnNumber:17},this),thead:({children:e})=>(0,L.jsxDEV)(`thead`,{className:`border-b border-border bg-muted/50`,children:e},void 0,!1,{fileName:Z,lineNumber:809,columnNumber:17},this),th:({children:e})=>(0,L.jsxDEV)(`th`,{className:`px-3 py-2 text-left font-semibold`,children:e},void 0,!1,{fileName:Z,lineNumber:815,columnNumber:17},this),td:({children:e})=>(0,L.jsxDEV)(`td`,{className:`border-b border-border px-3 py-2`,children:e},void 0,!1,{fileName:Z,lineNumber:821,columnNumber:17},this)},children:e.content},t,!1,{fileName:Z,lineNumber:720,columnNumber:11},this)}),t?(0,L.jsxDEV)(`span`,{className:`ml-0.5 animate-pulse`,children:`|`},void 0,!1,{fileName:Z,lineNumber:829,columnNumber:20},this):null]},void 0,!0,{fileName:Z,lineNumber:693,columnNumber:5},this)}function rUe({text:e}){let[t,n]=(0,F.useState)(!0);return e.trim()?(0,L.jsxDEV)(`details`,{open:t,onToggle:e=>n(e.currentTarget.open),className:`mb-3 rounded-md border border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground`,children:[(0,L.jsxDEV)(`summary`,{className:`cursor-pointer font-medium`,children:`Reasoning`},void 0,!1,{fileName:Z,lineNumber:843,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`mt-2 whitespace-pre-wrap`,children:e},void 0,!1,{fileName:Z,lineNumber:844,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:838,columnNumber:5},this):null}function iUe(e){if(e===void 0)return``;if(typeof e==`string`)return e;if(Array.isArray(e)){let t=e.map(e=>e?.type===`text`&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
|
|
3134
3134
|
`);if(t)return t}return JSON.stringify(e,null,2)}function aUe({toolName:e,args:t,result:n,isError:r,status:i,showDetails:a,showRawErrors:o}){let s=iUe(n),c=n===void 0?`running`:r?`error`:`success`,l=c===`error`?`border-destructive/60 bg-destructive/10 text-destructive`:c===`running`?`border-amber-500/60 bg-amber-500/10 text-amber-600 dark:text-amber-300`:`border-emerald-500/60 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`,u=c===`error`?ja:c===`running`?Za:Ma,d=c===`error`?r4(s):null;return(0,L.jsxDEV)(`div`,{className:`my-2 rounded-md border-l-4 px-3 py-2 text-xs ${l}`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsxDEV)(u,{size:14,className:c===`running`?`animate-spin`:``},void 0,!1,{fileName:Z,lineNumber:904,columnNumber:9},this),(0,L.jsxDEV)(Do,{size:13},void 0,!1,{fileName:Z,lineNumber:908,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`font-medium`,children:`Tool`},void 0,!1,{fileName:Z,lineNumber:909,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`rounded bg-background/70 px-1.5 py-0.5 font-mono text-foreground`,children:e},void 0,!1,{fileName:Z,lineNumber:910,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`ml-auto uppercase tracking-wide`,children:c},void 0,!1,{fileName:Z,lineNumber:913,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:903,columnNumber:7},this),a&&t!==void 0&&Object.keys(t).length>0?(0,L.jsxDEV)(`details`,{className:`mt-2 text-foreground/80`,children:[(0,L.jsxDEV)(`summary`,{className:`flex cursor-pointer list-none items-center gap-1`,children:[(0,L.jsxDEV)(ka,{size:13},void 0,!1,{fileName:Z,lineNumber:920,columnNumber:13},this),`Arguments`]},void 0,!0,{fileName:Z,lineNumber:919,columnNumber:11},this),(0,L.jsxDEV)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap text-muted-foreground`,children:JSON.stringify(t,null,2)},void 0,!1,{fileName:Z,lineNumber:923,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:918,columnNumber:9},this):null,c===`error`&&d?(0,L.jsxDEV)(`div`,{className:`mt-2`,children:(0,L.jsxDEV)(i4,{classified:d,rawMessage:s,showRaw:!!o},void 0,!1,{fileName:Z,lineNumber:930,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:929,columnNumber:9},this):a&&s?(0,L.jsxDEV)(`div`,{className:`mt-2 text-foreground`,children:(0,L.jsxDEV)(`pre`,{className:`max-h-44 overflow-auto whitespace-pre-wrap font-sans leading-5`,children:s},void 0,!1,{fileName:Z,lineNumber:938,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:937,columnNumber:9},this):null]},void 0,!0,{fileName:Z,lineNumber:900,columnNumber:5},this)}function oUe(e,t){return{Text:e=>(0,L.jsxDEV)(WHe,{...e,showRawErrors:t},void 0,!1,{fileName:Z,lineNumber:950,columnNumber:7},this),Image:JHe,File:YHe,Reasoning:rUe,tools:{Fallback:n=>(0,L.jsxDEV)(aUe,{...n,showDetails:e,showRawErrors:t},void 0,!1,{fileName:Z,lineNumber:957,columnNumber:9},this)}}}function a4(e){let t=e.match(/^data:([^;,]+);base64,(.*)$/);return t?{type:`image`,mimeType:t[1],data:t[2]}:null}function sUe(e){let t=e?.input;return Array.isArray(t)&&t.includes(`image`)}function cUe(e){let t=e;return t?.name??t?.id??`The selected model`}function lUe(e){return`${cUe(e)} cannot read image attachments. Choose a vision-capable model from the model selector, such as Gemini Flash/Pro or GPT-4o, then send the image again.`}function uUe(e){let t=e.match(/^<attachment name="([^"]+)"/);return t?`[attached file: ${t[1]}]`:e}function dUe(e){let t=[];for(let n of e.content)if(n.type===`text`&&n.text.trim())t.push({type:`text`,text:n.text});else if(n.type===`image`){let e=a4(n.image);e&&t.push(e)}else n.type===`file`&&t.push({type:`text`,text:`[file: ${n.filename??`attachment`}]\n${n.data}`});for(let n of e.attachments??[])for(let e of n.content??[])if(e.type===`text`&&e.text.trim())t.push({type:`text`,text:e.text});else if(e.type===`image`){let n=a4(e.image);n&&t.push(n)}else e.type===`file`&&t.push({type:`text`,text:`[file: ${e.filename??n.name}]\n${e.data}`});return t}function fUe(e){return typeof e==`string`?[{type:`text`,text:e}]:Array.isArray(e)?e.map(e=>e?.type===`text`?{type:`text`,text:uUe(e.text??``)}:e?.type===`image`?{type:`image`,image:`data:${e.mimeType};base64,${e.data}`,filename:e.filename}:{type:`text`,text:o4([e])}).filter(e=>e.type!==`text`||e.text):[{type:`text`,text:``}]}function o4(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>e?.type===`text`&&typeof e.text==`string`?e.text:e?.type===`thinking`&&typeof e.thinking==`string`?e.thinking:e?.type===`image`?`[image]`:e?.type===`toolCall`?`[tool: ${e.name??`unknown`}]`:``).filter(Boolean).join(`
|
|
3135
|
-
`):``}function pUe(e){let t=[],n=new Map;for(let r of e){let e=r;if(e.role===`assistant`&&Array.isArray(e.content)){let r={...e,content:e.content.map(e=>({...e}))};for(let e of r.content)e?.type===`toolCall`&&e.id&&n.set(e.id,e);t.push(r);continue}if(e.role===`toolResult`){let t=n.get(e.toolCallId);if(t){t.__toolResult=e.content,t.__toolDetails=e.details,t.__toolError=e.isError;continue}}t.push(r)}return t}function mUe(e,t){return t?e:e.map(e=>{let t=e;if(t.role===`toolResult`&&t.toolName===`keating_voice`)return null;if(t.role!==`assistant`||!Array.isArray(t.content))return e;let n=t.content.filter(e=>!(e?.type===`toolCall`&&e.name===`keating_voice`));return n.length===t.content.length?e:{...t,content:n}}).filter(e=>e!==null)}function hUe(e,t){if(!e)return[];let n=[...e.state.messages],r=e.state.streamingMessage;return r?.role===`assistant`&&n.push({...r,__keatingStreaming:!0,content:Array.isArray(r.content)?r.content.map(e=>({...e})):r.content}),pUe(mUe(n,t))}function gUe(e,t,n,r){let i=e,a=typeof i.timestamp==`number`?new Date(i.timestamp):new Date,o=t===n-1,s=i.stopReason!=null,c=r&&i.role===`assistant`&&o&&(i.__keatingStreaming===!0||!s)?{type:`running`}:i.stopReason===`error`?{type:`incomplete`,reason:`error`,error:i.errorMessage??`Assistant response failed`}:i.stopReason===`aborted`?{type:`incomplete`,reason:`cancelled`}:{type:`complete`,reason:`stop`};if(i.role===`assistant`){let e=Array.isArray(i.content)?i.content.map(e=>e?.type===`thinking`?{type:`reasoning`,text:e.thinking??``}:e?.type===`toolCall`?{type:`tool-call`,toolCallId:e.id??`tool-${t}`,toolName:e.name??`tool`,args:e.arguments??{},argsText:JSON.stringify(e.arguments??{}),result:e.__toolResult??e.__toolDetails,isError:e.__toolError}:{type:`text`,text:e?.text??``}):[{type:`text`,text:o4(i.content)}],n=`assistant-${t}-${i.timestamp??``}`;if(c.type===`incomplete`&&c.reason===`error`){let t=i.errorMessage??`Assistant response failed`;e.some(e=>e.type===`text`&&e.text)||e.unshift({type:`text`,text:`${X2}${t}`})}let r=ZHe(i);return{id:n,role:`assistant`,createdAt:a,status:c,content:e,metadata:r?{custom:{keatingAuthError:r}}:void 0}}if(i.role===`toolResult`){let e=o4(i.content)||JSON.stringify(i.details??{},null,2),n=`tool-${t}-${i.toolCallId??``}`,r=i.isError?X2:``;return{id:n,role:`assistant`,createdAt:a,status:i.isError?{type:`incomplete`,reason:`error`,error:e}:{type:`complete`,reason:`stop`},content:[{type:`text`,text:`${r}Tool ${i.toolName??`result`}:\n${e}`}]}}return{id:`user-${t}-${i.timestamp??``}`,role:`user`,createdAt:a,content:fUe(i.content)}}function _Ue(e){let t=dUe(e);return t.length===0?null:{role:`user`,content:t,timestamp:Date.now()}}function vUe(e,t){return{role:`assistant`,content:[],api:e.state.model.api,provider:e.state.model.provider,model:e.state.model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t,timestamp:Date.now()}}function yUe(e,t){return{role:`assistant`,content:[{type:`text`,text:Z2[t%Z2.length]}],api:e.state.model.api,provider:e.state.model.provider,model:e.state.model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},timestamp:Date.now()}}var s4=[{label:`Learn`,text:`Explain quantum entanglement simply`},{label:`Learn`,text:`Why does gradient descent work?`},{label:`Plan`,text:`Plan a 4-week ML course`},{label:`Plan`,text:`Study roadmap for AWS cert`},{label:`Map`,text:`Map probability to statistics`},{label:`Map`,text:`Map web dev from HTML to React`},{label:`Assess`,text:`Quiz me on the Krebs cycle`},{label:`Assess`,text:`Test my async/await knowledge`},{label:`Create`,text:`Animate how DNS works`},{label:`Create`,text:`Flashcards for Spanish verbs`}];function c4(e,t){let n=[...e].sort(()=>Math.random()-.5);return n.slice(0,Math.min(t,n.length))}function bUe({onSelect:e}){let[t,n]=(0,F.useState)(()=>c4(s4,3)),r=(0,F.useRef)(null),i=s4.filter(e=>!t.some(t=>t.text===e.text)),a=i.length===0,o=(e=3)=>i.length===0?!1:(n(t=>[...t,...c4(i,e)]),!0),s=e=>{let t=r.current;if(t){if(e===`right`&&t.scrollLeft+t.clientWidth>=t.scrollWidth-4&&o()){requestAnimationFrame(()=>{r.current?.scrollBy({left:220,behavior:`smooth`})});return}t.scrollBy({left:e===`left`?-220:220,behavior:`smooth`})}};return(0,L.jsxDEV)(`div`,{className:`mx-auto flex h-full max-w-3xl flex-col items-center justify-center gap-3 px-4`,children:[(0,L.jsxDEV)(`div`,{className:`text-sm text-muted-foreground font-terminal`,children:`Start a conversation`},void 0,!1,{fileName:Z,lineNumber:1372,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`flex w-full items-center gap-1`,children:[(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>s(`left`),className:`shrink-0 inline-flex h-8 w-8 items-center justify-center rounded-full border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,"aria-label":`Scroll left`,children:(0,L.jsxDEV)(ka,{size:14,className:`rotate-180`},void 0,!1,{fileName:Z,lineNumber:1382,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1376,columnNumber:9},this),(0,L.jsxDEV)(`div`,{ref:r,className:`flex-1 flex gap-2 overflow-x-auto scroll-smooth snap-x snap-mandatory scrollbar-hide py-1`,style:{scrollbarWidth:`none`},children:[t.map(t=>(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>e(t.text),className:`snap-start shrink-0 w-52 rounded-lg border border-border bg-muted/30 px-3 py-2.5 text-left transition-all hover:border-primary hover:bg-primary/10 hover:text-primary hover:shadow-sm active:scale-[0.98]`,children:[(0,L.jsxDEV)(`span`,{className:`block text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-1`,children:t.label},void 0,!1,{fileName:Z,lineNumber:1396,columnNumber:15},this),(0,L.jsxDEV)(`span`,{className:`block text-xs leading-snug`,children:t.text},void 0,!1,{fileName:Z,lineNumber:1399,columnNumber:15},this)]},t.text,!0,{fileName:Z,lineNumber:1390,columnNumber:13},this)),!a&&(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>o(),className:`snap-start shrink-0 w-20 rounded-lg border border-dashed border-border text-muted-foreground hover:border-primary hover:text-primary hover:bg-primary/5 transition-all flex items-center justify-center`,children:(0,L.jsxDEV)(`span`,{className:`text-xs`,children:`More`},void 0,!1,{fileName:Z,lineNumber:1408,columnNumber:15},this)},void 0,!1,{fileName:Z,lineNumber:1403,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:1384,columnNumber:9},this),(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>s(`right`),title:a?`No more suggestions`:`Scroll right`,className:`shrink-0 inline-flex h-8 w-8 items-center justify-center rounded-full border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,"aria-label":`Scroll right`,children:(0,L.jsxDEV)(ka,{size:14},void 0,!1,{fileName:Z,lineNumber:1419,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1412,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1375,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:1371,columnNumber:5},this)}var l4=[{value:`off`,label:`Off`,short:`Off`},{value:`minimal`,label:`Minimal`,short:`Min`},{value:`low`,label:`Low`,short:`Low`},{value:`medium`,label:`Medium`,short:`Med`},{value:`high`,label:`High`,short:`High`},{value:`xhigh`,label:`Max`,short:`Max`}];function xUe({level:e,onChange:t,disabled:n}){let[r,i]=(0,F.useState)(!1),a=l4.find(t=>t.value===e)??l4[3],o=(0,F.useRef)(null);return(0,F.useEffect)(()=>{if(!r)return;let e=e=>{o.current&&!o.current.contains(e.target)&&i(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),(0,L.jsxDEV)(`div`,{ref:o,className:`relative`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`mb-1 hidden sm:inline-flex shrink-0 items-center gap-1 rounded-md border border-border px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50 ${e===`off`?``:`border-primary/50 text-primary`}`,disabled:n,title:`Reasoning: ${a.label}`,onClick:()=>i(e=>!e),children:[(0,L.jsxDEV)(Xa,{size:12},void 0,!1,{fileName:Z,lineNumber:1472,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`font-medium`,children:a.short},void 0,!1,{fileName:Z,lineNumber:1473,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1465,columnNumber:7},this),r&&(0,L.jsxDEV)(`div`,{className:`absolute bottom-full right-0 z-50 mb-1 w-40 rounded-md border border-border bg-background shadow-lg font-terminal`,children:(0,L.jsxDEV)(`div`,{className:`flex flex-col p-1`,children:[(0,L.jsxDEV)(`div`,{className:`px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Reasoning`},void 0,!1,{fileName:Z,lineNumber:1478,columnNumber:13},this),l4.map(n=>(0,L.jsxDEV)(`button`,{type:`button`,className:`flex items-center gap-2 rounded px-2 py-1.5 text-xs text-left transition-colors ${n.value===e?`bg-primary/10 text-primary font-medium`:`text-foreground hover:bg-accent hover:text-accent-foreground`}`,onClick:()=>{t(n.value),i(!1)},children:[(0,L.jsxDEV)(`span`,{className:`w-2 h-2 rounded-full`,style:{background:n.value===`off`?`var(--muted-foreground, #888)`:n.value===`xhigh`?`#dc2626`:n.value===`high`?`#ea580c`:n.value===`medium`?`#10b981`:`#3b82f6`}},void 0,!1,{fileName:Z,lineNumber:1491,columnNumber:17},this),n.label]},n.value,!0,{fileName:Z,lineNumber:1482,columnNumber:15},this))]},void 0,!0,{fileName:Z,lineNumber:1477,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1476,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1464,columnNumber:5},this)}function SUe({agent:e,callbacks:t,version:n,speechEnabled:r}){let[i,a]=(0,F.useState)(()=>Dq()),[o,s]=(0,F.useState)(0),[c,l]=(0,F.useState)(0),u=e?.state.isStreaming??!1,d=(0,F.useMemo)(()=>{let t=hUe(e,r),n=t.at(-1);return e&&u&&n?.role===`user`?[...t,yUe(e,c)]:t},[e,n,o,r,u,c]),f=(0,F.useMemo)(()=>oUe(i.showToolUi,i.showRawErrors),[i.showToolUi,i.showRawErrors]),p=(0,F.useRef)(e?.state.model);e&&(p.current=e.state.model);let m=d.length,h=(0,F.useCallback)((e,t)=>gUe(e,t,m,u),[m,u]),g=(0,F.useCallback)(async n=>{if(!e||!n.trim())return;let r=e.state.model.provider;t.onApiKeyRequired&&!await t.onApiKeyRequired(r)||(await t.onBeforeSend?.(),await e.prompt(n))},[e,t]),_=(0,F.useCallback)(async n=>{if(!e)return;let r=_Ue(n);if(!r)return;let i=r.content;if(Array.isArray(i)&&i.some(e=>e?.type===`image`)&&!sUe(e.state.model)){e.state.messages.push(r),e.state.messages.push(vUe(e,lUe(e.state.model))),s(e=>e+1);return}let a=e.state.model.provider;t.onApiKeyRequired&&!await t.onApiKeyRequired(a)||(await t.onBeforeSend?.(),await e.prompt(r))},[e,t]),v=(0,F.useCallback)(async()=>{e?.abort()},[e]),y=kBe((0,F.useMemo)(()=>({messages:d,isRunning:u,convertMessage:h,onNew:_,onCancel:v,adapters:{attachments:UHe}}),[d,u,h,_,v])),b=p.current?.name??p.current?.id??`Model`;(0,F.useEffect)(()=>kq(a),[]),(0,F.useEffect)(()=>{if(!u){l(0);return}let e=window.setInterval(()=>l(e=>e+1),2200);return()=>window.clearInterval(e)},[u]);let x=(0,F.useCallback)(()=>(0,L.jsxDEV)(CUe,{components:f},void 0,!1,{fileName:Z,lineNumber:1642,columnNumber:11},this),[f]),S=(0,F.useCallback)(()=>(0,L.jsxDEV)(TUe,{components:f,onFork:t.onFork},void 0,!1,{fileName:Z,lineNumber:1647,columnNumber:7},this),[f,t.onFork]),C=(0,F.useMemo)(()=>({UserMessage:x,AssistantMessage:S}),[x,S]);return(0,L.jsxDEV)(Y2.Provider,{value:t.onAuthError??(()=>Promise.resolve(!1)),children:(0,L.jsxDEV)(fVe,{runtime:y,children:(0,L.jsxDEV)(L2,{className:`flex h-full min-h-0 flex-col bg-background text-foreground`,children:(0,L.jsxDEV)(U2,{className:`min-h-0 flex-1 overflow-y-auto px-3 py-4 sm:px-4 sm:py-6`,children:[(0,L.jsxDEV)(k1,{condition:e=>e.thread.isEmpty,children:(0,L.jsxDEV)(bUe,{onSelect:g},void 0,!1,{fileName:Z,lineNumber:1667,columnNumber:15},this)},void 0,!1,{fileName:Z,lineNumber:1666,columnNumber:13},this),(0,L.jsxDEV)(FBe,{components:C},void 0,!1,{fileName:Z,lineNumber:1669,columnNumber:13},this),(0,L.jsxDEV)(W2,{className:`sticky bottom-0 bg-background/95 pt-3 backdrop-blur`,children:(0,L.jsxDEV)(h2,{className:`composer-root mx-auto flex w-full max-w-3xl flex-col gap-2 rounded-lg border border-border bg-background p-2 shadow-sm`,children:[(0,L.jsxDEV)(J0,{children:({attachment:e})=>(0,L.jsxDEV)(XHe,{attachment:e},void 0,!1,{fileName:Z,lineNumber:1674,columnNumber:21},this)},void 0,!1,{fileName:Z,lineNumber:1672,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`flex w-full items-end gap-1.5 sm:gap-2`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`mb-1 inline-flex max-w-20 shrink-0 truncate rounded-md border border-border px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50 sm:max-w-36`,disabled:!t.onModelSelect,onClick:()=>t.onModelSelect?.(),title:b,children:b},void 0,!1,{fileName:Z,lineNumber:1678,columnNumber:19},this),(0,L.jsxDEV)(xUe,{level:e?.state.thinkingLevel??t.thinkingLevel??`medium`,onChange:t.onThinkingLevelChange??(()=>{}),disabled:u},void 0,!1,{fileName:Z,lineNumber:1688,columnNumber:19},this),(0,L.jsxDEV)(rHe,{multiple:!0,className:`mb-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50`,title:`Attach files or images`,"aria-label":`Attach files or images`,children:(0,L.jsxDEV)(ro,{size:16},void 0,!1,{fileName:Z,lineNumber:1703,columnNumber:21},this)},void 0,!1,{fileName:Z,lineNumber:1697,columnNumber:19},this),(0,L.jsxDEV)(T2,{className:`max-h-40 min-h-11 flex-1 resize-none bg-transparent px-2 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground`,placeholder:`Message Keating`,rows:1},void 0,!1,{fileName:Z,lineNumber:1705,columnNumber:19},this),u?(0,L.jsxDEV)(nHe,{className:`inline-flex h-9 w-9 items-center justify-center rounded-md border-2 border-destructive text-destructive hover:bg-destructive hover:text-destructive-foreground animate-pulse`,children:(0,L.jsxDEV)(go,{size:16},void 0,!1,{fileName:Z,lineNumber:1713,columnNumber:23},this)},void 0,!1,{fileName:Z,lineNumber:1712,columnNumber:21},this):(0,L.jsxDEV)(zVe,{className:`inline-flex h-9 w-9 items-center justify-center rounded-md bg-primary text-primary-foreground disabled:opacity-50`,children:(0,L.jsxDEV)(lo,{size:16},void 0,!1,{fileName:Z,lineNumber:1717,columnNumber:23},this)},void 0,!1,{fileName:Z,lineNumber:1716,columnNumber:21},this)]},void 0,!0,{fileName:Z,lineNumber:1677,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:1671,columnNumber:15},this)},void 0,!1,{fileName:Z,lineNumber:1670,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:1665,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1664,columnNumber:9},this)},void 0,!1,{fileName:Z,lineNumber:1663,columnNumber:7},this)},void 0,!1,{fileName:Z,lineNumber:1660,columnNumber:5},this)}function CUe({components:e}){return(0,L.jsxDEV)(P2,{className:`mx-auto mb-4 flex max-w-3xl justify-end`,children:(0,L.jsxDEV)(`div`,{className:`flex max-w-[88%] gap-3 rounded-lg border-2 border-primary bg-primary px-4 py-3 text-sm text-primary-foreground sm:max-w-[82%]`,children:[(0,L.jsxDEV)(Co,{className:`mt-0.5 h-4 w-4 shrink-0`},void 0,!1,{fileName:Z,lineNumber:1738,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 whitespace-pre-wrap leading-6`,children:(0,L.jsxDEV)(I2,{components:e},void 0,!1,{fileName:Z,lineNumber:1740,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1739,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1737,columnNumber:7},this)},void 0,!1,{fileName:Z,lineNumber:1736,columnNumber:5},this)}function wUe({open:e,type:t,onClose:n,onSubmit:r}){let[i,a]=(0,F.useState)(``);return(0,F.useEffect)(()=>{e&&a(``)},[e]),e?(0,L.jsxDEV)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm px-4`,onClick:n,children:(0,L.jsxDEV)(`div`,{className:`w-full max-w-md rounded-lg border border-border bg-background p-5 shadow-lg`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,L.jsxDEV)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t===`up`?`What was helpful?`:`What could be improved?`},void 0,!1,{fileName:Z,lineNumber:1776,columnNumber:11},this),(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground`,onClick:n,"aria-label":`Close`,children:(0,L.jsxDEV)(Oo,{size:14},void 0,!1,{fileName:Z,lineNumber:1785,columnNumber:13},this)},void 0,!1,{fileName:Z,lineNumber:1779,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:1775,columnNumber:9},this),(0,L.jsxDEV)(`textarea`,{className:`w-full rounded-md border border-border bg-muted/30 px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground resize-none`,rows:4,placeholder:`Optional comment...`,value:i,onChange:e=>a(e.target.value),autoFocus:!0},void 0,!1,{fileName:Z,lineNumber:1788,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`mt-3 flex justify-end gap-2`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground`,onClick:n,children:`Skip`},void 0,!1,{fileName:Z,lineNumber:1797,columnNumber:11},this),(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-8 items-center justify-center rounded-md bg-primary px-3 text-xs text-primary-foreground hover:bg-primary/90`,onClick:()=>r(t,i),children:`Submit`},void 0,!1,{fileName:Z,lineNumber:1804,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:1796,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1771,columnNumber:7},this)},void 0,!1,{fileName:Z,lineNumber:1767,columnNumber:5},this):null}function TUe({components:e,onFork:t}){let[n,r]=(0,F.useState)(null),[i,a]=(0,F.useState)(!1),[o,s]=(0,F.useState)(`up`),c=(0,F.useContext)(Y2),l=vVe(e=>e.metadata.custom?.keatingAuthError),[u,d]=(0,F.useState)(!1),f=e=>{s(e),a(!0)};return(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(P2,{className:`group mx-auto mb-4 flex max-w-3xl justify-start`,children:(0,L.jsxDEV)(`div`,{className:`flex max-w-[94%] gap-3 rounded-lg border-2 border-border bg-muted/30 px-4 py-3 text-sm text-foreground shadow-sm sm:max-w-[90%]`,children:[(0,L.jsxDEV)(Ca,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`},void 0,!1,{fileName:Z,lineNumber:1864,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 leading-6 flex-1`,children:[(0,L.jsxDEV)(I2,{components:e},void 0,!1,{fileName:Z,lineNumber:1866,columnNumber:13},this),l&&(0,L.jsxDEV)(`div`,{className:`my-2 rounded-lg border border-destructive/50 bg-destructive/10 p-3 text-sm`,children:(0,L.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsxDEV)(Ja,{size:16,className:`mt-0.5 shrink-0 text-destructive`},void 0,!1,{fileName:Z,lineNumber:1870,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxDEV)(`p`,{className:`font-medium text-destructive mb-1`,children:`Authentication failed`},void 0,!1,{fileName:Z,lineNumber:1875,columnNumber:21},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mb-2`,children:l.error},void 0,!1,{fileName:Z,lineNumber:1878,columnNumber:21},this),(0,L.jsxDEV)(`button`,{type:`button`,onClick:async()=>{l&&(d(!0),await c(l.provider),d(!1))},disabled:u,className:`inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50`,children:[u?(0,L.jsxDEV)(Za,{size:12,className:`animate-spin`},void 0,!1,{fileName:Z,lineNumber:1888,columnNumber:25},this):(0,L.jsxDEV)(Ja,{size:12},void 0,!1,{fileName:Z,lineNumber:1890,columnNumber:25},this),`Re-enter API key`]},void 0,!0,{fileName:Z,lineNumber:1881,columnNumber:21},this)]},void 0,!0,{fileName:Z,lineNumber:1874,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:1869,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:1868,columnNumber:15},this),(0,L.jsxDEV)(`div`,{className:`mt-2 flex items-center gap-1`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-6 w-6 items-center justify-center rounded-md transition-colors ${n===`up`?`bg-primary/20 text-primary`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`}`,title:`Helpful`,onClick:()=>f(`up`),"aria-pressed":n===`up`,children:(0,L.jsxDEV)(yo,{size:13},void 0,!1,{fileName:Z,lineNumber:1910,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:1899,columnNumber:15},this),(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-6 w-6 items-center justify-center rounded-md transition-colors ${n===`down`?`bg-destructive/20 text-destructive`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`}`,title:`Not helpful`,onClick:()=>f(`down`),"aria-pressed":n===`down`,children:(0,L.jsxDEV)(vo,{size:13},void 0,!1,{fileName:Z,lineNumber:1923,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:1912,columnNumber:15},this),t&&(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all opacity-0 group-hover:opacity-100`,title:`Fork session`,onClick:t,"aria-label":`Fork session`,children:(0,L.jsxDEV)(La,{size:13},void 0,!1,{fileName:Z,lineNumber:1933,columnNumber:19},this)},void 0,!1,{fileName:Z,lineNumber:1926,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:1898,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:1865,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:1863,columnNumber:9},this)},void 0,!1,{fileName:Z,lineNumber:1862,columnNumber:7},this),(0,L.jsxDEV)(wUe,{open:i,type:o,onClose:()=>a(!1),onSubmit:(e,t)=>{r(e),a(!1);try{window.dispatchEvent(new CustomEvent(`keating:message-feedback`,{detail:{type:e,comment:t}}))}catch{}}},void 0,!1,{fileName:Z,lineNumber:1940,columnNumber:7},this)]},void 0,!0)}var u4=(0,F.forwardRef)(({className:e,speechEnabled:t=!1},n)=>{let[r,i]=(0,F.useState)(null),[a,o]=(0,F.useState)({}),[s,c]=(0,F.useState)(0),l=(0,F.useCallback)(()=>c(e=>e+1),[]);return(0,F.useImperativeHandle)(n,()=>({async setAgent(e,t={}){i(e),o(t),l()}}),[l]),(0,L.jsxDEV)(`div`,{className:e,children:[(0,L.jsxDEV)(EUe,{agent:r,onChange:l},void 0,!1,{fileName:Z,lineNumber:1974,columnNumber:7},void 0),(0,L.jsxDEV)(SUe,{agent:r,callbacks:a,version:s,speechEnabled:t},void 0,!1,{fileName:Z,lineNumber:1975,columnNumber:7},void 0)]},void 0,!0,{fileName:Z,lineNumber:1973,columnNumber:5},void 0)});u4.displayName=`AssistantChatPanel`;function EUe({agent:e,onChange:t}){return(0,F.useEffect)(()=>{if(!e)return;let n=e.subscribe(()=>t());return t(),n},[e,t]),null}var d4=`/home/diogenes/Projects/keating/web/src/pages/Chat.tsx`;function DUe(){qc({title:`Keating Chat — Socratic AI Tutor Session`,description:`Start a Socratic tutoring session with Keating. Diagnose what you know, reconstruct understanding from memory, and test transfer to new contexts.`,canonical:`https://keating.help/chat`});let e=Ci(),{isPending:t,openSettings:n,openSessions:r,newSession:i,shareSession:a,chatPanelRef:o,dialogs:s,speechEnabled:c,persistentStorageStatus:l,toggleSpeech:u,generateCurrentSessionTitle:d}=RAe(),[f,p]=(0,F.useState)(`idle`),[m,h]=(0,F.useState)(``),g=async()=>{if(f!==`loading`){p(`loading`),h(``);try{h(`Renamed to "${await d()}"`),p(`renamed`),window.setTimeout(()=>p(`idle`),2400)}catch(e){h(e instanceof Error?e.message:`Could not generate a title.`),p(`error`),window.setTimeout(()=>p(`idle`),2800)}}},[_,v]=(0,F.useState)(()=>sessionStorage.getItem(`keating_chat_intro`)===`dismissed`),[y,b]=(0,F.useState)(!1),[x,S]=(0,F.useState)(()=>typeof window<`u`&&window.matchMedia(`(min-width: 1024px)`).matches),[C,w]=(0,F.useState)(()=>Dq()),[T,E]=(0,F.useState)(`idle`),[D,O]=(0,F.useState)(null),[k,A]=(0,F.useState)(null),[ee,j]=(0,F.useState)(!1),M=(0,F.useRef)(null);(0,F.useEffect)(()=>{if(!ee)return;let e=e=>{e.key===`Escape`&&j(!1)},t=e=>{M.current&&!M.current.contains(e.target)&&j(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[ee]);let te=()=>{v(!0),sessionStorage.setItem(`keating_chat_intro`,`dismissed`)};(0,F.useEffect)(()=>kq(w),[]),(0,F.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(min-width: 1024px)`),t=e=>S(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let[ne,N]=(0,F.useState)(void 0);(0,F.useEffect)(()=>{let e=()=>{C.autoOpenArtifacts&&b(!0)},t=e=>{let t=e.detail;t?.id&&(N(t.id),b(!0))};return window.addEventListener(`keating:artifact-created`,e),window.addEventListener(`keating:open-artifact`,t),()=>{window.removeEventListener(`keating:artifact-created`,e),window.removeEventListener(`keating:open-artifact`,t)}},[C.autoOpenArtifacts]);let re=async()=>{E(`sharing`),A(null);try{O(await a()),A(`Share link ready. It was copied if your browser allowed clipboard access.`),E(`copied`),window.setTimeout(()=>E(`idle`),1600)}catch(e){console.warn(`Failed to share session:`,e),A(e instanceof Error?e.message:`Could not create a share link yet.`),E(`error`),window.setTimeout(()=>E(`idle`),2200)}},ie=`chat-action-button inline-flex shrink-0 items-center justify-center roundeinline d-md text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,ae=l===`declined`;return(0,L.jsxDEV)(`div`,{className:`chat-page-shell w-full flex flex-col bg-background text-foreground overflow-hidden`,children:[(0,L.jsxDEV)(`div`,{className:`chat-header flex items-center gap-2 border-b border-border shrink-0 px-2 sm:px-4 py-2 h-14 relative`,children:[(0,L.jsxDEV)(Li,{to:`/`,className:`chat-brand inline-flex min-w-0 shrink-0 items-center gap-2 rounded-md px-2 py-1 hover:bg-accent hover:text-accent-foreground`,"aria-label":`Go to Keating home`,children:[(0,L.jsxDEV)(`img`,{src:`/logo.png`,alt:`Keating`,className:`h-7 w-7 rounded object-contain`},void 0,!1,{fileName:d4,lineNumber:181,columnNumber:11},this),(0,L.jsxDEV)(`span`,{className:`hidden md:block truncate text-base font-semibold`,children:`Keating`},void 0,!1,{fileName:d4,lineNumber:186,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:176,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`chat-actions no-scrollbar ml-auto flex min-w-0 flex-1 items-center justify-end gap-1 overflow-x-auto`,children:[(0,L.jsxDEV)(Mo,{},void 0,!1,{fileName:d4,lineNumber:193,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`New session`,"aria-label":`New session`,disabled:t,onClick:i,children:(0,L.jsxDEV)(ao,{size:16},void 0,!1,{fileName:d4,lineNumber:201,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:194,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Session history`,"aria-label":`Session history`,disabled:t,onClick:r,children:(0,L.jsxDEV)(qa,{size:16},void 0,!1,{fileName:d4,lineNumber:210,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:203,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex ${f===`renamed`?`text-primary`:``} ${f===`error`?`text-destructive`:``}`,title:f===`loading`?`Generating title…`:f===`renamed`||f===`error`?m:`Generate title with model`,"aria-label":`Generate title with model`,disabled:t||f===`loading`,onClick:g,children:f===`loading`?(0,L.jsxDEV)(Za,{size:16,className:`animate-spin`},void 0,!1,{fileName:d4,lineNumber:227,columnNumber:41},this):(0,L.jsxDEV)(ho,{size:16},void 0,!1,{fileName:d4,lineNumber:227,columnNumber:90},this)},void 0,!1,{fileName:d4,lineNumber:212,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Settings`,"aria-label":`Settings`,onClick:n,children:(0,L.jsxDEV)(fo,{size:16},void 0,!1,{fileName:d4,lineNumber:235,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:229,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex ${T===`copied`?`text-primary`:``} ${T===`error`?`text-destructive`:``}`,title:T===`copied`?`Copied share link`:T===`error`?`Could not share yet`:`Share session`,"aria-label":`Share session`,disabled:t||T===`sharing`,onClick:re,children:(0,L.jsxDEV)(po,{size:16},void 0,!1,{fileName:d4,lineNumber:250,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:237,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Learning usage`,"aria-label":`Learning usage`,onClick:()=>e({to:`/usage`}),children:(0,L.jsxDEV)(Ta,{size:16},void 0,!1,{fileName:d4,lineNumber:258,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:252,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex ${c?`text-primary`:``}`,title:c?`Disable speech`:`Enable speech`,"aria-pressed":c,onClick:u,children:c?(0,L.jsxDEV)(wo,{size:16},void 0,!1,{fileName:d4,lineNumber:266,columnNumber:30},this):(0,L.jsxDEV)(To,{size:16},void 0,!1,{fileName:d4,lineNumber:266,columnNumber:54},this)},void 0,!1,{fileName:d4,lineNumber:260,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Artifacts`,"aria-label":`Artifacts`,onClick:()=>b(!0),children:(0,L.jsxDEV)(Ya,{size:16},void 0,!1,{fileName:d4,lineNumber:274,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:268,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} sm:hidden`,title:`Menu`,"aria-label":`Menu`,"aria-expanded":ee,onClick:()=>j(e=>!e),children:ee?(0,L.jsxDEV)(Oo,{size:16},void 0,!1,{fileName:d4,lineNumber:283,columnNumber:31},this):(0,L.jsxDEV)($a,{size:16},void 0,!1,{fileName:d4,lineNumber:283,columnNumber:49},this)},void 0,!1,{fileName:d4,lineNumber:276,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:192,columnNumber:9},this),ee&&(0,L.jsxDEV)(`div`,{ref:M,className:`absolute right-2 top-full z-50 mt-1 w-56 rounded-md border border-border bg-background shadow-lg font-terminal`,style:{fontSize:`0.875rem`},children:(0,L.jsxDEV)(`div`,{className:`flex flex-col p-1`,children:[(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),i()},disabled:t,children:[(0,L.jsxDEV)(ao,{size:14},void 0,!1,{fileName:d4,lineNumber:303,columnNumber:17},this),`New session`]},void 0,!0,{fileName:d4,lineNumber:295,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),r()},disabled:t,children:[(0,L.jsxDEV)(qa,{size:14},void 0,!1,{fileName:d4,lineNumber:314,columnNumber:17},this),`Session history`]},void 0,!0,{fileName:d4,lineNumber:306,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors ${f===`renamed`?`text-primary`:``} ${f===`error`?`text-destructive`:``}`,onClick:()=>{j(!1),g()},disabled:t||f===`loading`,children:[f===`loading`?(0,L.jsxDEV)(Za,{size:14,className:`animate-spin`},void 0,!1,{fileName:d4,lineNumber:325,columnNumber:45},this):(0,L.jsxDEV)(ho,{size:14},void 0,!1,{fileName:d4,lineNumber:325,columnNumber:94},this),f===`loading`?`Generating title…`:`Generate title`]},void 0,!0,{fileName:d4,lineNumber:317,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors ${T===`copied`?`text-primary`:``} ${T===`error`?`text-destructive`:``}`,onClick:()=>{j(!1),re()},disabled:t||T===`sharing`,children:[(0,L.jsxDEV)(po,{size:14},void 0,!1,{fileName:d4,lineNumber:336,columnNumber:17},this),T===`copied`?`Link copied`:`Share session`]},void 0,!0,{fileName:d4,lineNumber:328,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),e({to:`/usage`})},children:[(0,L.jsxDEV)(Ta,{size:14},void 0,!1,{fileName:d4,lineNumber:346,columnNumber:17},this),`Learning usage`]},void 0,!0,{fileName:d4,lineNumber:339,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors ${c?`text-primary`:``}`,onClick:()=>{j(!1),u()},children:[c?(0,L.jsxDEV)(wo,{size:14},void 0,!1,{fileName:d4,lineNumber:356,columnNumber:34},this):(0,L.jsxDEV)(To,{size:14},void 0,!1,{fileName:d4,lineNumber:356,columnNumber:58},this),c?`Disable speech`:`Enable speech`]},void 0,!0,{fileName:d4,lineNumber:349,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),n()},children:[(0,L.jsxDEV)(fo,{size:14},void 0,!1,{fileName:d4,lineNumber:366,columnNumber:17},this),`Settings`]},void 0,!0,{fileName:d4,lineNumber:359,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),b(!0)},children:[(0,L.jsxDEV)(Ya,{size:14},void 0,!1,{fileName:d4,lineNumber:376,columnNumber:17},this),`Artifacts`]},void 0,!0,{fileName:d4,lineNumber:369,columnNumber:15},this),(0,L.jsxDEV)(`div`,{className:`my-1 border-t border-border`},void 0,!1,{fileName:d4,lineNumber:379,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Home`},void 0,!1,{fileName:d4,lineNumber:380,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/tutorial`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Tutorial`},void 0,!1,{fileName:d4,lineNumber:387,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/blog`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Blog`},void 0,!1,{fileName:d4,lineNumber:394,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/paper`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Paper`},void 0,!1,{fileName:d4,lineNumber:401,columnNumber:15},this),(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,target:`_blank`,rel:`noreferrer`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`GitHub`},void 0,!1,{fileName:d4,lineNumber:408,columnNumber:15},this)]},void 0,!0,{fileName:d4,lineNumber:294,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:289,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:175,columnNumber:7},this),ae&&(0,L.jsxDEV)(`div`,{className:`chat-persistence-banner shrink-0 border-b border-border`,children:(0,L.jsxDEV)(`div`,{className:`chat-persistence-track px-3 py-1.5 text-[11px] font-semibold uppercase tracking-[0.25em]`,children:[(0,L.jsxDEV)(`span`,{children:`Session is not being persisted, all data will not be available outside of cache.`},void 0,!1,{fileName:d4,lineNumber:425,columnNumber:13},this),(0,L.jsxDEV)(`span`,{"aria-hidden":`true`,children:`Session is not being persisted, all data will not be available outside of cache.`},void 0,!1,{fileName:d4,lineNumber:426,columnNumber:13},this)]},void 0,!0,{fileName:d4,lineNumber:424,columnNumber:11},this)},void 0,!1,{fileName:d4,lineNumber:423,columnNumber:9},this),_?(0,L.jsxDEV)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,children:[(0,L.jsxDEV)(u4,{ref:o,className:`chat-page-panel flex-1 min-w-0`,speechEnabled:c},void 0,!1,{fileName:d4,lineNumber:433,columnNumber:11},this),x&&y&&(0,L.jsxDEV)(`div`,{className:`shrink-0 border-l border-border h-full`,children:(0,L.jsxDEV)(fRe,{open:y,artifactId:ne,onClose:()=>{b(!1),N(void 0)}},void 0,!1,{fileName:d4,lineNumber:440,columnNumber:15},this)},void 0,!1,{fileName:d4,lineNumber:439,columnNumber:13},this)]},void 0,!0,{fileName:d4,lineNumber:432,columnNumber:9},this):(0,L.jsxDEV)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,L.jsxDEV)(BAe,{},void 0,!1,{fileName:d4,lineNumber:453,columnNumber:11},this),(0,L.jsxDEV)(`button`,{onClick:te,className:`absolute bottom-6 left-1/2 -translate-x-1/2 z-20 px-6 py-2.5 border-2 border-primary text-primary font-terminal text-sm hover:bg-primary hover:text-primary-foreground transition-colors`,children:`[ GET STARTED → ]`},void 0,!1,{fileName:d4,lineNumber:454,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:452,columnNumber:9},this),(D||k)&&(0,L.jsxDEV)(`div`,{className:`border-t border-border bg-background px-4 py-3 text-sm`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex max-w-4xl flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,L.jsxDEV)(`span`,{className:T===`error`?`text-destructive`:`text-muted-foreground`,children:k},void 0,!1,{fileName:d4,lineNumber:466,columnNumber:13},this),D&&(0,L.jsxDEV)(`input`,{className:`min-w-0 flex-1 rounded-md border border-border bg-muted px-3 py-2 font-mono text-xs text-foreground`,readOnly:!0,value:D,onFocus:e=>e.currentTarget.select()},void 0,!1,{fileName:d4,lineNumber:476,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 text-xs hover:bg-accent`,onClick:()=>{O(null),A(null)},children:`Dismiss`},void 0,!1,{fileName:d4,lineNumber:483,columnNumber:13},this)]},void 0,!0,{fileName:d4,lineNumber:465,columnNumber:11},this)},void 0,!1,{fileName:d4,lineNumber:464,columnNumber:9},this),(0,L.jsxDEV)(cRe,{open:y&&!x,artifactId:ne,onClose:()=>{b(!1),N(void 0)}},void 0,!1,{fileName:d4,lineNumber:496,columnNumber:7},this),s]},void 0,!0,{fileName:d4,lineNumber:173,columnNumber:5},this)}function OUe(){return(0,L.jsxDEV)(F.Suspense,{fallback:(0,L.jsxDEV)(`div`,{className:`chat-page-shell w-full flex flex-col bg-background text-foreground overflow-hidden`,children:(0,L.jsxDEV)(`div`,{className:`flex-1 flex items-center justify-center text-muted-foreground text-sm`,children:`Initializing…`},void 0,!1,{fileName:d4,lineNumber:514,columnNumber:11},this)},void 0,!1,{fileName:d4,lineNumber:513,columnNumber:9},this),children:(0,L.jsxDEV)(DUe,{},void 0,!1,{fileName:d4,lineNumber:520,columnNumber:7},this)},void 0,!1,{fileName:d4,lineNumber:511,columnNumber:5},this)}var f4=`/home/diogenes/Projects/keating/web/src/pages/Paper.tsx`;function kUe(){return qc({title:`Keating Paper — A Metaharness for Agency-Preserving AI Instruction`,description:`The Keating paper: a metaharness for teaching, a control layer that organizes planning, prompting, retrieval, transfer, verification, and evaluation around the live teaching exchange.`,canonical:`https://keating.help/paper`}),(0,L.jsxDEV)(`div`,{className:`retro-layout retro-page`,children:[(0,L.jsxDEV)(Po,{},void 0,!1,{fileName:f4,lineNumber:14,columnNumber:7},this),(0,L.jsxDEV)(`main`,{className:`pt-6 pb-16 px-6`,children:(0,L.jsxDEV)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-8 mb-8`,children:[(0,L.jsxDEV)(`h1`,{className:`text-3xl md:text-4xl font-bold mb-4`,children:`Keating: A Metaharness for Agency-Preserving AI Instruction`},void 0,!1,{fileName:f4,lineNumber:19,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`flex flex-col md:flex-row md:items-center justify-between gap-4`,children:[(0,L.jsxDEV)(`div`,{className:`text-muted-foreground font-terminal`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#d44a3d]`,children:`AUTHOR:`},void 0,!1,{fileName:f4,lineNumber:24,columnNumber:17},this),` Dio the Debugger `,(0,L.jsxDEV)(`br`,{},void 0,!1,{fileName:f4,lineNumber:24,columnNumber:82},this),(0,L.jsxDEV)(`span`,{className:`text-[#d44a3d] leading-7`,children:`DATE:`},void 0,!1,{fileName:f4,lineNumber:25,columnNumber:17},this),` April 3, 2026`]},void 0,!0,{fileName:f4,lineNumber:23,columnNumber:15},this),(0,L.jsxDEV)(`a`,{href:`/keating-metaharness.pdf`,download:`keating-metaharness.pdf`,className:`inline-flex items-center justify-center gap-2 bg-[#d44a3d] text-[#f4f1ea] px-6 py-3 font-bold hover:bg-[#b33e33] transition-colors`,children:[(0,L.jsxDEV)(Ba,{size:20},void 0,!1,{fileName:f4,lineNumber:32,columnNumber:17},this),`DOWNLOAD PDF`]},void 0,!0,{fileName:f4,lineNumber:27,columnNumber:15},this)]},void 0,!0,{fileName:f4,lineNumber:22,columnNumber:13},this)]},void 0,!0,{fileName:f4,lineNumber:18,columnNumber:11},this),(0,L.jsxDEV)(`article`,{className:`paper-fold distressed-border p-8 md:p-12 leading-relaxed`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2 mb-8 text-muted-foreground font-terminal text-sm border-b border-border pb-4`,children:[(0,L.jsxDEV)(Ha,{size:16},void 0,!1,{fileName:f4,lineNumber:40,columnNumber:15},this),`ABSTRACT`]},void 0,!0,{fileName:f4,lineNumber:39,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-lg md:text-xl font-serif italic text-foreground/80 mb-8 leading-8`,children:`AI tutors can scale explanation, but scaling explanation is not the same as scaling learning. A tutoring system that answers fluently may still weaken the learner's own reconstruction of a concept.`},void 0,!1,{fileName:f4,lineNumber:44,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`space-y-8 text-foreground font-serif`,children:[(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`Keating is designed around that distinction. It is not a single tutoring chatbot; it is a metaharness for teaching, a control layer that organizes planning, prompting, retrieval, transfer, verification, and evaluation around the live teaching exchange.`},void 0,!1,{fileName:f4,lineNumber:51,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`The live system now also records session cadence and topic revisit urgency through an engagement timeline derived from lesson logs and retention decay estimates, although that spaced-review mechanism is not separately evaluated in the present paper.`},void 0,!1,{fileName:f4,lineNumber:58,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`We analyze two evidence layers: an archival trace set of 22 raw sessions curated to 16 topic x learner pairs, and a synthetic benchmark implemented directly in the repository. The archival set yields a normalized overall score of 0.61 (95% bootstrap interval 0.515-0.705), with strong topic heterogeneity: Special Relativity is highest at 0.75 and Stoicism lowest at 0.425.`},void 0,!1,{fileName:f4,lineNumber:65,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`The synthetic layer shows that the current Keating policy, although evolved on Derivative alone, improves the full 14-topic harness by 6.703 points over the default policy across 200/200 seeds, with derivative-only evolution improving in 29/30 reruns.`},void 0,!1,{fileName:f4,lineNumber:73,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`The contribution of this paper is therefore twofold: a formal account of a teaching metaharness and a reproducible benchmark-and-analysis stack for studying agency-preserving instruction. The present evidence supports systems and methodology claims; a human randomized trial remains the necessary next step for causal pedagogical claims.`},void 0,!1,{fileName:f4,lineNumber:80,columnNumber:15},this)]},void 0,!0,{fileName:f4,lineNumber:50,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`mt-12 pt-8 border-t border-border`,children:(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground font-terminal uppercase tracking-widest text-center`,children:`— End of Abstract —`},void 0,!1,{fileName:f4,lineNumber:90,columnNumber:15},this)},void 0,!1,{fileName:f4,lineNumber:89,columnNumber:13},this)]},void 0,!0,{fileName:f4,lineNumber:38,columnNumber:11},this)]},void 0,!0,{fileName:f4,lineNumber:17,columnNumber:9},this)},void 0,!1,{fileName:f4,lineNumber:16,columnNumber:7},this),(0,L.jsxDEV)(Lo,{},void 0,!1,{fileName:f4,lineNumber:98,columnNumber:7},this)]},void 0,!0,{fileName:f4,lineNumber:13,columnNumber:5},this)}var p4=`/home/diogenes/Projects/keating/web/src/pages/SharedSession.tsx`;function AUe(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function jUe(e){let t=e?.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>e?.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
|
|
3136
|
-
`):``}function MUe(e){return e?.role===`assistant`?`Keating`:`Learner`}function NUe(){qc({title:`Keating Shared Session`,description:`View a shared Keating tutoring session. Socratic AI conversation with lesson artifacts and learning traces.`});let e=Ci(),t=(0,F.useMemo)(()=>decodeURIComponent(window.location.pathname.split(`/`).pop()??``),[]),[n,r]=(0,F.useState)(null),[i,a]=(0,F.useState)(!1),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)(``);return(0,F.useEffect)(()=>{r(MAe(t,window.location.hash))},[t]),n?(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:[(0,L.jsxDEV)(`header`,{className:`border-b border-border`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex max-w-4xl flex-wrap items-center justify-between gap-3 px-4 py-4`,children:[(0,L.jsxDEV)(`div`,{className:`min-w-0`,children:[(0,L.jsxDEV)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:`Shared Keating session`},void 0,!1,{fileName:p4,lineNumber:95,columnNumber:7},this),(0,L.jsxDEV)(`h1`,{className:`truncate text-xl font-semibold`,children:n.title},void 0,!1,{fileName:p4,lineNumber:96,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[n.messageCount,` messages | Shared `,AUe(n.sharedAt)]},void 0,!0,{fileName:p4,lineNumber:97,columnNumber:7},this)]},void 0,!0,{fileName:p4,lineNumber:94,columnNumber:6},this),(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsxDEV)(`button`,{className:`inline-flex h-9 items-center gap-2 rounded-md border border-border px-3 text-sm hover:bg-accent`,onClick:async()=>{await navigator.clipboard?.writeText(window.location.href),a(!0),window.setTimeout(()=>a(!1),1500)},children:[(0,L.jsxDEV)(Ra,{size:16},void 0,!1,{fileName:p4,lineNumber:106,columnNumber:8},this),i?`Copied`:`Copy link`]},void 0,!0,{fileName:p4,lineNumber:102,columnNumber:7},this),(0,L.jsxDEV)(`button`,{className:`inline-flex h-9 items-center gap-2 rounded-md bg-primary px-3 text-sm text-primary-foreground hover:bg-primary/90 disabled:opacity-60`,disabled:o,onClick:async()=>{if(n){s(!0),l(``);try{await NAe(n),await e({to:`/chat`})}catch(e){l(e instanceof Error?e.message:`Failed to fork session`)}finally{s(!1)}}},children:[(0,L.jsxDEV)(Ga,{size:16},void 0,!1,{fileName:p4,lineNumber:114,columnNumber:8},this),o?`Forking`:`Start from this`]},void 0,!0,{fileName:p4,lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:p4,lineNumber:101,columnNumber:6},this)]},void 0,!0,{fileName:p4,lineNumber:93,columnNumber:5},this)},void 0,!1,{fileName:p4,lineNumber:92,columnNumber:4},this),(0,L.jsxDEV)(`main`,{className:`mx-auto max-w-4xl px-4 py-6`,children:[c?(0,L.jsxDEV)(`div`,{className:`mb-4 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:c},void 0,!1,{fileName:p4,lineNumber:123,columnNumber:6},this):null,(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:n.messages.map((e,t)=>(e.role,(0,L.jsxDEV)(`article`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,L.jsxDEV)(`div`,{className:`mb-3 text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:MUe(e)},void 0,!1,{fileName:p4,lineNumber:133,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert`,children:(0,L.jsxDEV)(i$,{content:jUe(e)},void 0,!1,{fileName:p4,lineNumber:137,columnNumber:10},this)},void 0,!1,{fileName:p4,lineNumber:136,columnNumber:9},this)]},t,!0,{fileName:p4,lineNumber:132,columnNumber:8},this)))},void 0,!1,{fileName:p4,lineNumber:128,columnNumber:5},this)]},void 0,!0,{fileName:p4,lineNumber:121,columnNumber:4},this)]},void 0,!0,{fileName:p4,lineNumber:91,columnNumber:3},this):(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex min-h-screen max-w-3xl flex-col items-center justify-center px-4 text-center`,children:[(0,L.jsxDEV)(eo,{className:`mb-4 text-muted-foreground`,size:32},void 0,!1,{fileName:p4,lineNumber:73,columnNumber:6},this),(0,L.jsxDEV)(`h1`,{className:`text-xl font-semibold`,children:`Shared session not found`},void 0,!1,{fileName:p4,lineNumber:74,columnNumber:6},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`This share link is missing its session snapshot. Ask for a fresh link or open a cached share from this browser.`},void 0,!1,{fileName:p4,lineNumber:75,columnNumber:6},this),(0,L.jsxDEV)(`button`,{className:`mt-6 inline-flex h-9 items-center gap-2 rounded-md border border-border px-3 text-sm hover:bg-accent`,onClick:()=>e({to:`/chat`}),children:[(0,L.jsxDEV)(ya,{size:16},void 0,!1,{fileName:p4,lineNumber:82,columnNumber:7},this),`Back to chat`]},void 0,!0,{fileName:p4,lineNumber:78,columnNumber:6},this)]},void 0,!0,{fileName:p4,lineNumber:72,columnNumber:5},this)},void 0,!1,{fileName:p4,lineNumber:71,columnNumber:4},this)}function PUe(){return(0,L.jsxDEV)(F.Suspense,{fallback:(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,L.jsxDEV)(`div`,{className:`flex min-h-screen items-center justify-center text-sm text-muted-foreground`,children:`Loading shared session...`},void 0,!1,{fileName:p4,lineNumber:152,columnNumber:5},this)},void 0,!1,{fileName:p4,lineNumber:151,columnNumber:4},this),children:(0,L.jsxDEV)(NUe,{},void 0,!1,{fileName:p4,lineNumber:157,columnNumber:4},this)},void 0,!1,{fileName:p4,lineNumber:150,columnNumber:3},this)}function m4(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=m4(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function h4(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=m4(e))&&(r&&(r+=` `),r+=t);return r}var FUe=`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`.split(`.`);function g4(e){return typeof e==`string`?FUe.includes(e):!1}var IUe=new Set(`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`.split(`.`));function _4(e){return typeof e==`string`?IUe.has(e):!1}function v4(e){return typeof e==`string`&&e.startsWith(`data-`)}function y4(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(_4(n)||v4(n))&&(t[n]=e[n]);return t}function b4(e){if(e==null)return null;if((0,F.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return y4(t)}return typeof e==`object`&&!Array.isArray(e)?y4(e):null}function x4(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(_4(n)||v4(n)||g4(n))&&(t[n]=e[n]);return t}var LUe=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function S4(){return S4=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},S4.apply(null,arguments)}function RUe(e,t){if(e==null)return{};var n,r,i=zUe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function zUe(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}var C4=(0,F.forwardRef)((e,t)=>{var{children:n,width:r,height:i,viewBox:a,className:o,style:s,title:c,desc:l}=e,u=RUe(e,LUe),d=a||{width:r,height:i,x:0,y:0},f=h4(`recharts-surface`,o);return F.createElement(`svg`,S4({},x4(u),{className:f,width:r,height:i,style:s,viewBox:`${d.x} ${d.y} ${d.width} ${d.height}`,ref:t}),F.createElement(`title`,null,c),F.createElement(`desc`,null,l),n)}),BUe=[`children`,`className`];function w4(){return w4=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},w4.apply(null,arguments)}function VUe(e,t){if(e==null)return{};var n,r,i=HUe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function HUe(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}var T4=F.forwardRef((e,t)=>{var{children:n,className:r}=e,i=VUe(e,BUe),a=h4(`recharts-layer`,r);return F.createElement(`g`,w4({className:a},x4(i),{ref:t}),n)}),E4=(0,F.createContext)(null),UUe=()=>(0,F.useContext)(E4);function D4(e,t,n){var r=null,i=y(!0),a=null,o=A,s=null,c=b(l);e=typeof e==`function`?e:e===void 0?oe:y(+e),t=typeof t==`function`?t:y(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?se:y(+n);function l(l){var u,d,f,p=(l=E(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return ce().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:y(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:y(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:y(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:y(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:y(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:y(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:y(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var O4={draw(e,t){let n=C(t/T);e.moveTo(n,0),e.arc(0,0,n,0,w)}},WUe={draw(e,t){let n=C(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()}},k4=C(1/3),GUe=k4*2,KUe={draw(e,t){let n=C(t/GUe),r=n*k4;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},qUe={draw(e,t){let n=C(t),r=-n/2;e.rect(r,r,n,n)}},JUe=.8908130915292852,A4=S(T/10)/S(7*T/10),YUe=S(w/10)*A4,XUe=-x(w/10)*A4,ZUe={draw(e,t){let n=C(t*JUe),r=YUe*n,i=XUe*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=w*t/5,o=x(a),s=S(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},j4=C(3),QUe={draw(e,t){let n=-C(t/(j4*3));e.moveTo(0,n*2),e.lineTo(-j4*n,-n),e.lineTo(j4*n,-n),e.closePath()}},M4=-.5,N4=C(3)/2,P4=1/C(12),$Ue=(P4/2+1)*3,eWe={draw(e,t){let n=C(t/$Ue),r=n/2,i=n*P4,a=r,o=n*P4+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(M4*r-N4*i,N4*r+M4*i),e.lineTo(M4*a-N4*o,N4*a+M4*o),e.lineTo(M4*s-N4*c,N4*s+M4*c),e.lineTo(M4*r+N4*i,M4*i-N4*r),e.lineTo(M4*a+N4*o,M4*o-N4*a),e.lineTo(M4*s+N4*c,M4*c-N4*s),e.closePath()}};function tWe(e,t){let n=null,r=b(i);e=typeof e==`function`?e:y(e||O4),t=typeof t==`function`?t:y(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:y(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:y(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function F4(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function I4(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function nWe(e,t){return e[t]}function rWe(e){let t=[];return t.key=e,t}function iWe(){var e=y([]),t=I4,n=F4,r=nWe;function i(i){var a=Array.from(e.apply(this,arguments),rWe),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=E(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:y(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:y(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?I4:typeof e==`function`?e:y(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??F4,i):n},i}function aWe(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}F4(e,t)}}function oWe(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}F4(e,t)}}function sWe(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,F4(e,t)}}var cWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e===`__proto__`}e.isUnsafeProperty=t})),L4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e.includes(`.`)||e.includes(`[`)||e.includes(`]`)}}e.isDeepKey=t})),R4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}e.toKey=t})),lWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){if(e==null)return``;if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(t).join(`,`);let n=String(e);return n===`0`&&Object.is(Number(e),-0)?`-0`:n}e.toString=t})),z4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=lWe(),n=R4();function r(e){if(Array.isArray(e))return e.map(n.toKey);if(typeof e==`symbol`)return[e];e=t.toString(e);let r=[],i=e.length;if(i===0)return r;let a=0,o=``,s=``,c=!1;for(e.charCodeAt(0)===46&&(r.push(``),a++);a<i;){let t=e[a];s?t===`\\`&&a+1<i?(a++,o+=e[a]):t===s?s=``:o+=t:c?t===`"`||t===`'`?s=t:t===`]`?(c=!1,r.push(o),o=``):o+=t:t===`[`?(c=!0,o&&=(r.push(o),``)):t===`.`?o&&=(r.push(o),``):o+=t,a++}return o&&r.push(o),r}e.toPath=r})),B4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=cWe(),n=L4(),r=R4(),i=z4();function a(e,s,c){if(e==null)return c;switch(typeof s){case`string`:{if(t.isUnsafeProperty(s))return c;let r=e[s];return r===void 0?n.isDeepKey(s)?a(e,i.toPath(s),c):c:r}case`number`:case`symbol`:{typeof s==`number`&&(s=r.toKey(s));let t=e[s];return t===void 0?c:t}default:{if(Array.isArray(s))return o(e,s,c);if(s=Object.is(s?.valueOf(),-0)?`-0`:String(s),t.isUnsafeProperty(s))return c;let n=e[s];return n===void 0?c:n}}}function o(e,n,r){if(n.length===0)return r;let i=e;for(let e=0;e<n.length;e++){if(i==null||t.isUnsafeProperty(n[e]))return r;i=i[n[e]]}return i===void 0?r:i}e.get=a})),uWe=a(((e,t)=>{t.exports=B4().get})),dWe=4;function V4(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:dWe),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function H4(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+V4(i)+n},``)}var U4=i(uWe()),W4=e=>e===0?0:e>0?1:-1,G4=e=>typeof e==`number`&&e!=+e,K4=e=>typeof e==`string`&&e.indexOf(`%`)===e.length-1,q4=e=>(typeof e==`number`||e instanceof Number)&&!G4(e),J4=e=>q4(e)||typeof e==`string`,fWe=0,Y4=e=>{var t=++fWe;return`${e||``}${t}`},X4=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!q4(e)&&typeof e!=`string`)return n;var i;if(K4(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return G4(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},pWe=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function Z4(e,t,n){return q4(e)&&q4(t)?V4(e+n*(t-e)):t}function mWe(e,t,n){if(!(!e||!e.length))return e.find(e=>e&&(typeof t==`function`?t(e):(0,U4.default)(e,t))===n)}var Q4=e=>e==null,$4=e=>Q4(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function e3(e){return e!=null}function t3(){}var hWe=[`type`,`size`,`sizeType`];function n3(){return n3=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},n3.apply(null,arguments)}function gWe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _We(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?gWe(Object(n),!0).forEach(function(t){vWe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gWe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vWe(e,t,n){return(t=yWe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yWe(e){var t=bWe(e,`string`);return typeof t==`symbol`?t:t+``}function bWe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function xWe(e,t){if(e==null)return{};var n,r,i=SWe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function SWe(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}var CWe={symbolCircle:O4,symbolCross:WUe,symbolDiamond:KUe,symbolSquare:qUe,symbolStar:ZUe,symbolTriangle:QUe,symbolWye:eWe},wWe=Math.PI/180,TWe=e=>CWe[`symbol${$4(e)}`]||O4,EWe=(e,t,n)=>{if(t===`area`)return e;switch(n){case`cross`:return 5*e*e/9;case`diamond`:return .5*e*e/Math.sqrt(3);case`square`:return e*e;case`star`:var r=18*wWe;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2);case`triangle`:return Math.sqrt(3)*e*e/4;case`wye`:return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},DWe=(e,t)=>{CWe[`symbol${$4(e)}`]=t},r3=e=>{var{type:t=`circle`,size:n=64,sizeType:r=`area`}=e,i=_We(_We({},xWe(e,hWe)),{},{type:t,size:n,sizeType:r}),a=`circle`;typeof t==`string`&&(a=t);var o=()=>{var e=TWe(a),t=tWe().type(e).size(EWe(n,r,a))();if(t!==null)return t},{className:s,cx:c,cy:l}=i,u=x4(i);return q4(c)&&q4(l)&&q4(n)?F.createElement(`path`,n3({},u,{className:h4(`recharts-symbols`,s),transform:`translate(${c}, ${l})`,d:o()})):null};r3.registerSymbol=DWe;var OWe=e=>`radius`in e&&`startAngle`in e&&`endAngle`in e,kWe=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,F.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{g4(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},AWe=(e,t,n)=>r=>(e(t,n,r),null),jWe=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];g4(i)&&typeof a==`function`&&(r||={},r[i]=AWe(a,t,n))}),r};function MWe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function NWe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?MWe(Object(n),!0).forEach(function(t){PWe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):MWe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function PWe(e,t,n){return(t=FWe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FWe(e){var t=IWe(e,`string`);return typeof t==`symbol`?t:t+``}function IWe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function i3(e,t){var n=NWe({},e),r=t;return Object.keys(t).reduce((e,t)=>(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function a3(){return a3=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},a3.apply(null,arguments)}function LWe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function RWe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?LWe(Object(n),!0).forEach(function(t){zWe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LWe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zWe(e,t,n){return(t=BWe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function BWe(e){var t=VWe(e,`string`);return typeof t==`symbol`?t:t+``}function VWe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var o3=32,HWe={align:`center`,iconSize:14,inactiveColor:`#ccc`,layout:`horizontal`,verticalAlign:`middle`,labelStyle:{}};function UWe(e){if(typeof e==`object`&&e&&`strokeDasharray`in e)return String(e.strokeDasharray)}function WWe(e){var{data:t,iconType:n,inactiveColor:r}=e,i=o3/2,a=o3/6,o=o3/3,s=t.inactive?r:t.color,c=n??t.type;if(c===`none`)return null;if(c===`plainline`)return F.createElement(`line`,{strokeWidth:4,fill:`none`,stroke:s,strokeDasharray:UWe(t.payload),x1:0,y1:i,x2:o3,y2:i,className:`recharts-legend-icon`});if(c===`line`)return F.createElement(`path`,{strokeWidth:4,fill:`none`,stroke:s,d:`M0,${i}h${o}
|
|
3135
|
+
`):``}function pUe(e){let t=[],n=new Map;for(let r of e){let e=r;if(e.role===`assistant`&&Array.isArray(e.content)){let r={...e,content:e.content.map(e=>({...e}))};for(let e of r.content)e?.type===`toolCall`&&e.id&&n.set(e.id,e);t.push(r);continue}if(e.role===`toolResult`){let t=n.get(e.toolCallId);if(t){t.__toolResult=e.content,t.__toolDetails=e.details,t.__toolError=e.isError;continue}}t.push(r)}return t}function mUe(e,t){return t?e:e.map(e=>{let t=e;if(t.role===`toolResult`&&t.toolName===`keating_voice`)return null;if(t.role!==`assistant`||!Array.isArray(t.content))return e;let n=t.content.filter(e=>!(e?.type===`toolCall`&&e.name===`keating_voice`));return n.length===t.content.length?e:{...t,content:n}}).filter(e=>e!==null)}function hUe(e){return Array.isArray(e)?e.some(e=>e?.type===`text`?typeof e.text==`string`&&e.text.trim().length>0:e?.type===`thinking`?typeof e.thinking==`string`&&e.thinking.trim().length>0:e?.type===`toolCall`||e?.type===`image`):typeof e==`string`&&e.trim().length>0}function gUe(e,t){if(!e)return[];let n=[...e.state.messages],r=e.state.streamingMessage;return r?.role===`assistant`&&hUe(r.content)&&n.push({...r,__keatingStreaming:!0,content:Array.isArray(r.content)?r.content.map(e=>({...e})):r.content}),pUe(mUe(n,t))}function _Ue(e,t,n,r){let i=e,a=typeof i.timestamp==`number`?new Date(i.timestamp):new Date,o=t===n-1,s=i.stopReason!=null,c=r&&i.role===`assistant`&&o&&(i.__keatingStreaming===!0||!s)?{type:`running`}:i.stopReason===`error`?{type:`incomplete`,reason:`error`,error:i.errorMessage??`Assistant response failed`}:i.stopReason===`aborted`?{type:`incomplete`,reason:`cancelled`}:{type:`complete`,reason:`stop`};if(i.role===`assistant`){let e=Array.isArray(i.content)?i.content.map(e=>e?.type===`thinking`?{type:`reasoning`,text:e.thinking??``}:e?.type===`toolCall`?{type:`tool-call`,toolCallId:e.id??`tool-${t}`,toolName:e.name??`tool`,args:e.arguments??{},argsText:JSON.stringify(e.arguments??{}),result:e.__toolResult??e.__toolDetails,isError:e.__toolError}:{type:`text`,text:e?.text??``}):[{type:`text`,text:o4(i.content)}],n=`assistant-${t}-${i.timestamp??``}`;if(c.type===`incomplete`&&c.reason===`error`){let t=i.errorMessage??`Assistant response failed`;e.some(e=>e.type===`text`&&e.text)||e.unshift({type:`text`,text:`${X2}${t}`})}let r=ZHe(i);return{id:n,role:`assistant`,createdAt:a,status:c,content:e,metadata:r?{custom:{keatingAuthError:r}}:void 0}}if(i.role===`toolResult`){let e=o4(i.content)||JSON.stringify(i.details??{},null,2),n=`tool-${t}-${i.toolCallId??``}`,r=i.isError?X2:``;return{id:n,role:`assistant`,createdAt:a,status:i.isError?{type:`incomplete`,reason:`error`,error:e}:{type:`complete`,reason:`stop`},content:[{type:`text`,text:`${r}Tool ${i.toolName??`result`}:\n${e}`}]}}return{id:`user-${t}-${i.timestamp??``}`,role:`user`,createdAt:a,content:fUe(i.content)}}function vUe(e){let t=dUe(e);return t.length===0?null:{role:`user`,content:t,timestamp:Date.now()}}function yUe(e,t){return{role:`assistant`,content:[],api:e.state.model.api,provider:e.state.model.provider,model:e.state.model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t,timestamp:Date.now()}}function bUe(e,t){return{role:`assistant`,content:[{type:`text`,text:Z2[t%Z2.length]}],api:e.state.model.api,provider:e.state.model.provider,model:e.state.model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},timestamp:Date.now()}}var s4=[{label:`Learn`,text:`Explain quantum entanglement simply`},{label:`Learn`,text:`Why does gradient descent work?`},{label:`Plan`,text:`Plan a 4-week ML course`},{label:`Plan`,text:`Study roadmap for AWS cert`},{label:`Map`,text:`Map probability to statistics`},{label:`Map`,text:`Map web dev from HTML to React`},{label:`Assess`,text:`Quiz me on the Krebs cycle`},{label:`Assess`,text:`Test my async/await knowledge`},{label:`Create`,text:`Animate how DNS works`},{label:`Create`,text:`Flashcards for Spanish verbs`}];function c4(e,t){let n=[...e].sort(()=>Math.random()-.5);return n.slice(0,Math.min(t,n.length))}function xUe({onSelect:e}){let[t,n]=(0,F.useState)(()=>c4(s4,3)),r=(0,F.useRef)(null),i=s4.filter(e=>!t.some(t=>t.text===e.text)),a=i.length===0,o=(e=3)=>i.length===0?!1:(n(t=>[...t,...c4(i,e)]),!0),s=e=>{let t=r.current;if(t){if(e===`right`&&t.scrollLeft+t.clientWidth>=t.scrollWidth-4&&o()){requestAnimationFrame(()=>{r.current?.scrollBy({left:220,behavior:`smooth`})});return}t.scrollBy({left:e===`left`?-220:220,behavior:`smooth`})}};return(0,L.jsxDEV)(`div`,{className:`mx-auto flex h-full max-w-3xl flex-col items-center justify-center gap-3 px-4`,children:[(0,L.jsxDEV)(`div`,{className:`text-sm text-muted-foreground font-terminal`,children:`Start a conversation`},void 0,!1,{fileName:Z,lineNumber:1386,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`flex w-full items-center gap-1`,children:[(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>s(`left`),className:`shrink-0 inline-flex h-8 w-8 items-center justify-center rounded-full border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,"aria-label":`Scroll left`,children:(0,L.jsxDEV)(ka,{size:14,className:`rotate-180`},void 0,!1,{fileName:Z,lineNumber:1396,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1390,columnNumber:9},this),(0,L.jsxDEV)(`div`,{ref:r,className:`flex-1 flex gap-2 overflow-x-auto scroll-smooth snap-x snap-mandatory scrollbar-hide py-1`,style:{scrollbarWidth:`none`},children:[t.map(t=>(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>e(t.text),className:`snap-start shrink-0 w-52 rounded-lg border border-border bg-muted/30 px-3 py-2.5 text-left transition-all hover:border-primary hover:bg-primary/10 hover:text-primary hover:shadow-sm active:scale-[0.98]`,children:[(0,L.jsxDEV)(`span`,{className:`block text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-1`,children:t.label},void 0,!1,{fileName:Z,lineNumber:1410,columnNumber:15},this),(0,L.jsxDEV)(`span`,{className:`block text-xs leading-snug`,children:t.text},void 0,!1,{fileName:Z,lineNumber:1413,columnNumber:15},this)]},t.text,!0,{fileName:Z,lineNumber:1404,columnNumber:13},this)),!a&&(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>o(),className:`snap-start shrink-0 w-20 rounded-lg border border-dashed border-border text-muted-foreground hover:border-primary hover:text-primary hover:bg-primary/5 transition-all flex items-center justify-center`,children:(0,L.jsxDEV)(`span`,{className:`text-xs`,children:`More`},void 0,!1,{fileName:Z,lineNumber:1422,columnNumber:15},this)},void 0,!1,{fileName:Z,lineNumber:1417,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:1398,columnNumber:9},this),(0,L.jsxDEV)(`button`,{type:`button`,onClick:()=>s(`right`),title:a?`No more suggestions`:`Scroll right`,className:`shrink-0 inline-flex h-8 w-8 items-center justify-center rounded-full border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,"aria-label":`Scroll right`,children:(0,L.jsxDEV)(ka,{size:14},void 0,!1,{fileName:Z,lineNumber:1433,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1426,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1389,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:1385,columnNumber:5},this)}var l4=[{value:`off`,label:`Off`,short:`Off`},{value:`minimal`,label:`Minimal`,short:`Min`},{value:`low`,label:`Low`,short:`Low`},{value:`medium`,label:`Medium`,short:`Med`},{value:`high`,label:`High`,short:`High`},{value:`xhigh`,label:`Max`,short:`Max`}];function SUe({level:e,onChange:t,disabled:n}){let[r,i]=(0,F.useState)(!1),a=l4.find(t=>t.value===e)??l4[3],o=(0,F.useRef)(null);return(0,F.useEffect)(()=>{if(!r)return;let e=e=>{o.current&&!o.current.contains(e.target)&&i(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),(0,L.jsxDEV)(`div`,{ref:o,className:`relative`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`mb-1 hidden sm:inline-flex shrink-0 items-center gap-1 rounded-md border border-border px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50 ${e===`off`?``:`border-primary/50 text-primary`}`,disabled:n,title:`Reasoning: ${a.label}`,onClick:()=>i(e=>!e),children:[(0,L.jsxDEV)(Xa,{size:12},void 0,!1,{fileName:Z,lineNumber:1486,columnNumber:9},this),(0,L.jsxDEV)(`span`,{className:`font-medium`,children:a.short},void 0,!1,{fileName:Z,lineNumber:1487,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1479,columnNumber:7},this),r&&(0,L.jsxDEV)(`div`,{className:`absolute bottom-full right-0 z-50 mb-1 w-40 rounded-md border border-border bg-background shadow-lg font-terminal`,children:(0,L.jsxDEV)(`div`,{className:`flex flex-col p-1`,children:[(0,L.jsxDEV)(`div`,{className:`px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Reasoning`},void 0,!1,{fileName:Z,lineNumber:1492,columnNumber:13},this),l4.map(n=>(0,L.jsxDEV)(`button`,{type:`button`,className:`flex items-center gap-2 rounded px-2 py-1.5 text-xs text-left transition-colors ${n.value===e?`bg-primary/10 text-primary font-medium`:`text-foreground hover:bg-accent hover:text-accent-foreground`}`,onClick:()=>{t(n.value),i(!1)},children:[(0,L.jsxDEV)(`span`,{className:`w-2 h-2 rounded-full`,style:{background:n.value===`off`?`var(--muted-foreground, #888)`:n.value===`xhigh`?`#dc2626`:n.value===`high`?`#ea580c`:n.value===`medium`?`#10b981`:`#3b82f6`}},void 0,!1,{fileName:Z,lineNumber:1505,columnNumber:17},this),n.label]},n.value,!0,{fileName:Z,lineNumber:1496,columnNumber:15},this))]},void 0,!0,{fileName:Z,lineNumber:1491,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1490,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1478,columnNumber:5},this)}function CUe({agent:e,callbacks:t,version:n,speechEnabled:r}){let[i,a]=(0,F.useState)(()=>Dq()),[o,s]=(0,F.useState)(0),[c,l]=(0,F.useState)(0),u=e?.state.isStreaming??!1,d=(0,F.useMemo)(()=>{let t=gUe(e,r),n=t.at(-1);return e&&u&&n?.role===`user`?[...t,bUe(e,c)]:t},[e,n,o,r,u,c]),f=(0,F.useMemo)(()=>oUe(i.showToolUi,i.showRawErrors),[i.showToolUi,i.showRawErrors]),p=(0,F.useRef)(e?.state.model);e&&(p.current=e.state.model);let m=d.length,h=(0,F.useCallback)((e,t)=>_Ue(e,t,m,u),[m,u]),g=(0,F.useCallback)(async n=>{if(!e||!n.trim())return;let r=e.state.model.provider;t.onApiKeyRequired&&!await t.onApiKeyRequired(r)||(await t.onBeforeSend?.(),await e.prompt(n))},[e,t]),_=(0,F.useCallback)(async n=>{if(!e)return;let r=vUe(n);if(!r)return;let i=r.content;if(Array.isArray(i)&&i.some(e=>e?.type===`image`)&&!sUe(e.state.model)){e.state.messages.push(r),e.state.messages.push(yUe(e,lUe(e.state.model))),s(e=>e+1);return}let a=e.state.model.provider;t.onApiKeyRequired&&!await t.onApiKeyRequired(a)||(await t.onBeforeSend?.(),await e.prompt(r))},[e,t]),v=(0,F.useCallback)(async()=>{e?.abort()},[e]),y=kBe((0,F.useMemo)(()=>({messages:d,isRunning:u,convertMessage:h,onNew:_,onCancel:v,adapters:{attachments:UHe}}),[d,u,h,_,v])),b=p.current?.name??p.current?.id??`Model`;(0,F.useEffect)(()=>kq(a),[]),(0,F.useEffect)(()=>{if(!u){l(0);return}let e=window.setInterval(()=>l(e=>e+1),2200);return()=>window.clearInterval(e)},[u]);let x=(0,F.useCallback)(()=>(0,L.jsxDEV)(wUe,{components:f},void 0,!1,{fileName:Z,lineNumber:1656,columnNumber:11},this),[f]),S=(0,F.useCallback)(()=>(0,L.jsxDEV)(EUe,{components:f,onFork:t.onFork},void 0,!1,{fileName:Z,lineNumber:1661,columnNumber:7},this),[f,t.onFork]),C=(0,F.useMemo)(()=>({UserMessage:x,AssistantMessage:S}),[x,S]);return(0,L.jsxDEV)(Y2.Provider,{value:t.onAuthError??(()=>Promise.resolve(!1)),children:(0,L.jsxDEV)(fVe,{runtime:y,children:(0,L.jsxDEV)(L2,{className:`flex h-full min-h-0 flex-col bg-background text-foreground`,children:(0,L.jsxDEV)(U2,{className:`min-h-0 flex-1 overflow-y-auto px-3 py-4 sm:px-4 sm:py-6`,children:[(0,L.jsxDEV)(k1,{condition:e=>e.thread.isEmpty,children:(0,L.jsxDEV)(xUe,{onSelect:g},void 0,!1,{fileName:Z,lineNumber:1681,columnNumber:15},this)},void 0,!1,{fileName:Z,lineNumber:1680,columnNumber:13},this),(0,L.jsxDEV)(FBe,{components:C},void 0,!1,{fileName:Z,lineNumber:1683,columnNumber:13},this),(0,L.jsxDEV)(W2,{className:`sticky bottom-0 bg-background/95 pt-3 backdrop-blur`,children:(0,L.jsxDEV)(h2,{className:`composer-root mx-auto flex w-full max-w-3xl flex-col gap-2 rounded-lg border border-border bg-background p-2 shadow-sm`,children:[(0,L.jsxDEV)(J0,{children:({attachment:e})=>(0,L.jsxDEV)(XHe,{attachment:e},void 0,!1,{fileName:Z,lineNumber:1688,columnNumber:21},this)},void 0,!1,{fileName:Z,lineNumber:1686,columnNumber:17},this),(0,L.jsxDEV)(`div`,{className:`flex w-full items-end gap-1.5 sm:gap-2`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`mb-1 inline-flex max-w-20 shrink-0 truncate rounded-md border border-border px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50 sm:max-w-36`,disabled:!t.onModelSelect,onClick:()=>t.onModelSelect?.(),title:b,children:b},void 0,!1,{fileName:Z,lineNumber:1692,columnNumber:19},this),(0,L.jsxDEV)(SUe,{level:e?.state.thinkingLevel??t.thinkingLevel??`medium`,onChange:t.onThinkingLevelChange??(()=>{}),disabled:u},void 0,!1,{fileName:Z,lineNumber:1702,columnNumber:19},this),(0,L.jsxDEV)(rHe,{multiple:!0,className:`mb-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50`,title:`Attach files or images`,"aria-label":`Attach files or images`,children:(0,L.jsxDEV)(ro,{size:16},void 0,!1,{fileName:Z,lineNumber:1717,columnNumber:21},this)},void 0,!1,{fileName:Z,lineNumber:1711,columnNumber:19},this),(0,L.jsxDEV)(T2,{className:`max-h-40 min-h-11 flex-1 resize-none bg-transparent px-2 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground`,placeholder:`Message Keating`,rows:1},void 0,!1,{fileName:Z,lineNumber:1719,columnNumber:19},this),u?(0,L.jsxDEV)(nHe,{className:`inline-flex h-9 w-9 items-center justify-center rounded-md border-2 border-destructive text-destructive hover:bg-destructive hover:text-destructive-foreground animate-pulse`,children:(0,L.jsxDEV)(go,{size:16},void 0,!1,{fileName:Z,lineNumber:1727,columnNumber:23},this)},void 0,!1,{fileName:Z,lineNumber:1726,columnNumber:21},this):(0,L.jsxDEV)(zVe,{className:`inline-flex h-9 w-9 items-center justify-center rounded-md bg-primary text-primary-foreground disabled:opacity-50`,children:(0,L.jsxDEV)(lo,{size:16},void 0,!1,{fileName:Z,lineNumber:1731,columnNumber:23},this)},void 0,!1,{fileName:Z,lineNumber:1730,columnNumber:21},this)]},void 0,!0,{fileName:Z,lineNumber:1691,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:1685,columnNumber:15},this)},void 0,!1,{fileName:Z,lineNumber:1684,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:1679,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1678,columnNumber:9},this)},void 0,!1,{fileName:Z,lineNumber:1677,columnNumber:7},this)},void 0,!1,{fileName:Z,lineNumber:1674,columnNumber:5},this)}function wUe({components:e}){return(0,L.jsxDEV)(P2,{className:`mx-auto mb-4 flex max-w-3xl justify-end`,children:(0,L.jsxDEV)(`div`,{className:`flex max-w-[88%] gap-3 rounded-lg border-2 border-primary bg-primary px-4 py-3 text-sm text-primary-foreground sm:max-w-[82%]`,children:[(0,L.jsxDEV)(Co,{className:`mt-0.5 h-4 w-4 shrink-0`},void 0,!1,{fileName:Z,lineNumber:1752,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 whitespace-pre-wrap leading-6`,children:(0,L.jsxDEV)(I2,{components:e},void 0,!1,{fileName:Z,lineNumber:1754,columnNumber:11},this)},void 0,!1,{fileName:Z,lineNumber:1753,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1751,columnNumber:7},this)},void 0,!1,{fileName:Z,lineNumber:1750,columnNumber:5},this)}function TUe({open:e,type:t,onClose:n,onSubmit:r}){let[i,a]=(0,F.useState)(``);return(0,F.useEffect)(()=>{e&&a(``)},[e]),e?(0,L.jsxDEV)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm px-4`,onClick:n,children:(0,L.jsxDEV)(`div`,{className:`w-full max-w-md rounded-lg border border-border bg-background p-5 shadow-lg`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,L.jsxDEV)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t===`up`?`What was helpful?`:`What could be improved?`},void 0,!1,{fileName:Z,lineNumber:1790,columnNumber:11},this),(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground`,onClick:n,"aria-label":`Close`,children:(0,L.jsxDEV)(Oo,{size:14},void 0,!1,{fileName:Z,lineNumber:1799,columnNumber:13},this)},void 0,!1,{fileName:Z,lineNumber:1793,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:1789,columnNumber:9},this),(0,L.jsxDEV)(`textarea`,{className:`w-full rounded-md border border-border bg-muted/30 px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground resize-none`,rows:4,placeholder:`Optional comment...`,value:i,onChange:e=>a(e.target.value),autoFocus:!0},void 0,!1,{fileName:Z,lineNumber:1802,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`mt-3 flex justify-end gap-2`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground`,onClick:n,children:`Skip`},void 0,!1,{fileName:Z,lineNumber:1811,columnNumber:11},this),(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-8 items-center justify-center rounded-md bg-primary px-3 text-xs text-primary-foreground hover:bg-primary/90`,onClick:()=>r(t,i),children:`Submit`},void 0,!1,{fileName:Z,lineNumber:1818,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:1810,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:1785,columnNumber:7},this)},void 0,!1,{fileName:Z,lineNumber:1781,columnNumber:5},this):null}function EUe({components:e,onFork:t}){let[n,r]=(0,F.useState)(null),[i,a]=(0,F.useState)(!1),[o,s]=(0,F.useState)(`up`),c=(0,F.useContext)(Y2),l=vVe(e=>e.metadata.custom?.keatingAuthError),[u,d]=(0,F.useState)(!1),f=e=>{s(e),a(!0)};return(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(P2,{className:`group mx-auto mb-4 flex max-w-3xl justify-start`,children:(0,L.jsxDEV)(`div`,{className:`flex max-w-[94%] gap-3 rounded-lg border-2 border-border bg-muted/30 px-4 py-3 text-sm text-foreground shadow-sm sm:max-w-[90%]`,children:[(0,L.jsxDEV)(Ca,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`},void 0,!1,{fileName:Z,lineNumber:1878,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 leading-6 flex-1`,children:[(0,L.jsxDEV)(I2,{components:e},void 0,!1,{fileName:Z,lineNumber:1880,columnNumber:13},this),l&&(0,L.jsxDEV)(`div`,{className:`my-2 rounded-lg border border-destructive/50 bg-destructive/10 p-3 text-sm`,children:(0,L.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsxDEV)(Ja,{size:16,className:`mt-0.5 shrink-0 text-destructive`},void 0,!1,{fileName:Z,lineNumber:1884,columnNumber:19},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxDEV)(`p`,{className:`font-medium text-destructive mb-1`,children:`Authentication failed`},void 0,!1,{fileName:Z,lineNumber:1889,columnNumber:21},this),(0,L.jsxDEV)(`p`,{className:`text-xs text-muted-foreground mb-2`,children:l.error},void 0,!1,{fileName:Z,lineNumber:1892,columnNumber:21},this),(0,L.jsxDEV)(`button`,{type:`button`,onClick:async()=>{l&&(d(!0),await c(l.provider),d(!1))},disabled:u,className:`inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50`,children:[u?(0,L.jsxDEV)(Za,{size:12,className:`animate-spin`},void 0,!1,{fileName:Z,lineNumber:1902,columnNumber:25},this):(0,L.jsxDEV)(Ja,{size:12},void 0,!1,{fileName:Z,lineNumber:1904,columnNumber:25},this),`Re-enter API key`]},void 0,!0,{fileName:Z,lineNumber:1895,columnNumber:21},this)]},void 0,!0,{fileName:Z,lineNumber:1888,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:1883,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:1882,columnNumber:15},this),(0,L.jsxDEV)(`div`,{className:`mt-2 flex items-center gap-1`,children:[(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-6 w-6 items-center justify-center rounded-md transition-colors ${n===`up`?`bg-primary/20 text-primary`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`}`,title:`Helpful`,onClick:()=>f(`up`),"aria-pressed":n===`up`,children:(0,L.jsxDEV)(yo,{size:13},void 0,!1,{fileName:Z,lineNumber:1924,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:1913,columnNumber:15},this),(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-6 w-6 items-center justify-center rounded-md transition-colors ${n===`down`?`bg-destructive/20 text-destructive`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`}`,title:`Not helpful`,onClick:()=>f(`down`),"aria-pressed":n===`down`,children:(0,L.jsxDEV)(vo,{size:13},void 0,!1,{fileName:Z,lineNumber:1937,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:1926,columnNumber:15},this),t&&(0,L.jsxDEV)(`button`,{type:`button`,className:`inline-flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all opacity-0 group-hover:opacity-100`,title:`Fork session`,onClick:t,"aria-label":`Fork session`,children:(0,L.jsxDEV)(La,{size:13},void 0,!1,{fileName:Z,lineNumber:1947,columnNumber:19},this)},void 0,!1,{fileName:Z,lineNumber:1940,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:1912,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:1879,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:1877,columnNumber:9},this)},void 0,!1,{fileName:Z,lineNumber:1876,columnNumber:7},this),(0,L.jsxDEV)(TUe,{open:i,type:o,onClose:()=>a(!1),onSubmit:(e,t)=>{r(e),a(!1);try{window.dispatchEvent(new CustomEvent(`keating:message-feedback`,{detail:{type:e,comment:t}}))}catch{}}},void 0,!1,{fileName:Z,lineNumber:1954,columnNumber:7},this)]},void 0,!0)}var u4=(0,F.forwardRef)(({className:e,speechEnabled:t=!1},n)=>{let[r,i]=(0,F.useState)(null),[a,o]=(0,F.useState)({}),[s,c]=(0,F.useState)(0),l=(0,F.useCallback)(()=>c(e=>e+1),[]);return(0,F.useImperativeHandle)(n,()=>({async setAgent(e,t={}){i(e),o(t),l()}}),[l]),(0,L.jsxDEV)(`div`,{className:e,children:[(0,L.jsxDEV)(DUe,{agent:r,onChange:l},void 0,!1,{fileName:Z,lineNumber:1988,columnNumber:7},void 0),(0,L.jsxDEV)(CUe,{agent:r,callbacks:a,version:s,speechEnabled:t},void 0,!1,{fileName:Z,lineNumber:1989,columnNumber:7},void 0)]},void 0,!0,{fileName:Z,lineNumber:1987,columnNumber:5},void 0)});u4.displayName=`AssistantChatPanel`;function DUe({agent:e,onChange:t}){return(0,F.useEffect)(()=>{if(!e)return;let n=e.subscribe(()=>t());return t(),n},[e,t]),null}var d4=`/home/diogenes/Projects/keating/web/src/pages/Chat.tsx`;function OUe(){qc({title:`Keating Chat — Socratic AI Tutor Session`,description:`Start a Socratic tutoring session with Keating. Diagnose what you know, reconstruct understanding from memory, and test transfer to new contexts.`,canonical:`https://keating.help/chat`});let e=Ci(),{isPending:t,openSettings:n,openSessions:r,newSession:i,shareSession:a,chatPanelRef:o,dialogs:s,speechEnabled:c,persistentStorageStatus:l,toggleSpeech:u,generateCurrentSessionTitle:d}=RAe(),[f,p]=(0,F.useState)(`idle`),[m,h]=(0,F.useState)(``),g=async()=>{if(f!==`loading`){p(`loading`),h(``);try{h(`Renamed to "${await d()}"`),p(`renamed`),window.setTimeout(()=>p(`idle`),2400)}catch(e){h(e instanceof Error?e.message:`Could not generate a title.`),p(`error`),window.setTimeout(()=>p(`idle`),2800)}}},[_,v]=(0,F.useState)(()=>sessionStorage.getItem(`keating_chat_intro`)===`dismissed`),[y,b]=(0,F.useState)(!1),[x,S]=(0,F.useState)(()=>typeof window<`u`&&window.matchMedia(`(min-width: 1024px)`).matches),[C,w]=(0,F.useState)(()=>Dq()),[T,E]=(0,F.useState)(`idle`),[D,O]=(0,F.useState)(null),[k,A]=(0,F.useState)(null),[ee,j]=(0,F.useState)(!1),M=(0,F.useRef)(null);(0,F.useEffect)(()=>{if(!ee)return;let e=e=>{e.key===`Escape`&&j(!1)},t=e=>{M.current&&!M.current.contains(e.target)&&j(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[ee]);let te=()=>{v(!0),sessionStorage.setItem(`keating_chat_intro`,`dismissed`)};(0,F.useEffect)(()=>kq(w),[]),(0,F.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(min-width: 1024px)`),t=e=>S(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let[ne,N]=(0,F.useState)(void 0);(0,F.useEffect)(()=>{let e=()=>{C.autoOpenArtifacts&&b(!0)},t=e=>{let t=e.detail;t?.id&&(N(t.id),b(!0))};return window.addEventListener(`keating:artifact-created`,e),window.addEventListener(`keating:open-artifact`,t),()=>{window.removeEventListener(`keating:artifact-created`,e),window.removeEventListener(`keating:open-artifact`,t)}},[C.autoOpenArtifacts]);let re=async()=>{E(`sharing`),A(null);try{O(await a()),A(`Share link ready. It was copied if your browser allowed clipboard access.`),E(`copied`),window.setTimeout(()=>E(`idle`),1600)}catch(e){console.warn(`Failed to share session:`,e),A(e instanceof Error?e.message:`Could not create a share link yet.`),E(`error`),window.setTimeout(()=>E(`idle`),2200)}},ie=`chat-action-button inline-flex shrink-0 items-center justify-center roundeinline d-md text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,ae=l===`declined`;return(0,L.jsxDEV)(`div`,{className:`chat-page-shell w-full flex flex-col bg-background text-foreground overflow-hidden`,children:[(0,L.jsxDEV)(`div`,{className:`chat-header flex items-center gap-2 border-b border-border shrink-0 px-2 sm:px-4 py-2 h-14 relative`,children:[(0,L.jsxDEV)(Li,{to:`/`,className:`chat-brand inline-flex min-w-0 shrink-0 items-center gap-2 rounded-md px-2 py-1 hover:bg-accent hover:text-accent-foreground`,"aria-label":`Go to Keating home`,children:[(0,L.jsxDEV)(`img`,{src:`/logo.png`,alt:`Keating`,className:`h-7 w-7 rounded object-contain`},void 0,!1,{fileName:d4,lineNumber:181,columnNumber:11},this),(0,L.jsxDEV)(`span`,{className:`hidden md:block truncate text-base font-semibold`,children:`Keating`},void 0,!1,{fileName:d4,lineNumber:186,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:176,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`chat-actions no-scrollbar ml-auto flex min-w-0 flex-1 items-center justify-end gap-1 overflow-x-auto`,children:[(0,L.jsxDEV)(Mo,{},void 0,!1,{fileName:d4,lineNumber:193,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`New session`,"aria-label":`New session`,disabled:t,onClick:i,children:(0,L.jsxDEV)(ao,{size:16},void 0,!1,{fileName:d4,lineNumber:201,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:194,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Session history`,"aria-label":`Session history`,disabled:t,onClick:r,children:(0,L.jsxDEV)(qa,{size:16},void 0,!1,{fileName:d4,lineNumber:210,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:203,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex ${f===`renamed`?`text-primary`:``} ${f===`error`?`text-destructive`:``}`,title:f===`loading`?`Generating title…`:f===`renamed`||f===`error`?m:`Generate title with model`,"aria-label":`Generate title with model`,disabled:t||f===`loading`,onClick:g,children:f===`loading`?(0,L.jsxDEV)(Za,{size:16,className:`animate-spin`},void 0,!1,{fileName:d4,lineNumber:227,columnNumber:41},this):(0,L.jsxDEV)(ho,{size:16},void 0,!1,{fileName:d4,lineNumber:227,columnNumber:90},this)},void 0,!1,{fileName:d4,lineNumber:212,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Settings`,"aria-label":`Settings`,onClick:n,children:(0,L.jsxDEV)(fo,{size:16},void 0,!1,{fileName:d4,lineNumber:235,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:229,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex ${T===`copied`?`text-primary`:``} ${T===`error`?`text-destructive`:``}`,title:T===`copied`?`Copied share link`:T===`error`?`Could not share yet`:`Share session`,"aria-label":`Share session`,disabled:t||T===`sharing`,onClick:re,children:(0,L.jsxDEV)(po,{size:16},void 0,!1,{fileName:d4,lineNumber:250,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:237,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Learning usage`,"aria-label":`Learning usage`,onClick:()=>e({to:`/usage`}),children:(0,L.jsxDEV)(Ta,{size:16},void 0,!1,{fileName:d4,lineNumber:258,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:252,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex ${c?`text-primary`:``}`,title:c?`Disable speech`:`Enable speech`,"aria-pressed":c,onClick:u,children:c?(0,L.jsxDEV)(wo,{size:16},void 0,!1,{fileName:d4,lineNumber:266,columnNumber:30},this):(0,L.jsxDEV)(To,{size:16},void 0,!1,{fileName:d4,lineNumber:266,columnNumber:54},this)},void 0,!1,{fileName:d4,lineNumber:260,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} hidden sm:inline-flex`,title:`Artifacts`,"aria-label":`Artifacts`,onClick:()=>b(!0),children:(0,L.jsxDEV)(Ya,{size:16},void 0,!1,{fileName:d4,lineNumber:274,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:268,columnNumber:11},this),(0,L.jsxDEV)(`button`,{className:`${ie} sm:hidden`,title:`Menu`,"aria-label":`Menu`,"aria-expanded":ee,onClick:()=>j(e=>!e),children:ee?(0,L.jsxDEV)(Oo,{size:16},void 0,!1,{fileName:d4,lineNumber:283,columnNumber:31},this):(0,L.jsxDEV)($a,{size:16},void 0,!1,{fileName:d4,lineNumber:283,columnNumber:49},this)},void 0,!1,{fileName:d4,lineNumber:276,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:192,columnNumber:9},this),ee&&(0,L.jsxDEV)(`div`,{ref:M,className:`absolute right-2 top-full z-50 mt-1 w-56 rounded-md border border-border bg-background shadow-lg font-terminal`,style:{fontSize:`0.875rem`},children:(0,L.jsxDEV)(`div`,{className:`flex flex-col p-1`,children:[(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),i()},disabled:t,children:[(0,L.jsxDEV)(ao,{size:14},void 0,!1,{fileName:d4,lineNumber:303,columnNumber:17},this),`New session`]},void 0,!0,{fileName:d4,lineNumber:295,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),r()},disabled:t,children:[(0,L.jsxDEV)(qa,{size:14},void 0,!1,{fileName:d4,lineNumber:314,columnNumber:17},this),`Session history`]},void 0,!0,{fileName:d4,lineNumber:306,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors ${f===`renamed`?`text-primary`:``} ${f===`error`?`text-destructive`:``}`,onClick:()=>{j(!1),g()},disabled:t||f===`loading`,children:[f===`loading`?(0,L.jsxDEV)(Za,{size:14,className:`animate-spin`},void 0,!1,{fileName:d4,lineNumber:325,columnNumber:45},this):(0,L.jsxDEV)(ho,{size:14},void 0,!1,{fileName:d4,lineNumber:325,columnNumber:94},this),f===`loading`?`Generating title…`:`Generate title`]},void 0,!0,{fileName:d4,lineNumber:317,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors ${T===`copied`?`text-primary`:``} ${T===`error`?`text-destructive`:``}`,onClick:()=>{j(!1),re()},disabled:t||T===`sharing`,children:[(0,L.jsxDEV)(po,{size:14},void 0,!1,{fileName:d4,lineNumber:336,columnNumber:17},this),T===`copied`?`Link copied`:`Share session`]},void 0,!0,{fileName:d4,lineNumber:328,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),e({to:`/usage`})},children:[(0,L.jsxDEV)(Ta,{size:14},void 0,!1,{fileName:d4,lineNumber:346,columnNumber:17},this),`Learning usage`]},void 0,!0,{fileName:d4,lineNumber:339,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors ${c?`text-primary`:``}`,onClick:()=>{j(!1),u()},children:[c?(0,L.jsxDEV)(wo,{size:14},void 0,!1,{fileName:d4,lineNumber:356,columnNumber:34},this):(0,L.jsxDEV)(To,{size:14},void 0,!1,{fileName:d4,lineNumber:356,columnNumber:58},this),c?`Disable speech`:`Enable speech`]},void 0,!0,{fileName:d4,lineNumber:349,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),n()},children:[(0,L.jsxDEV)(fo,{size:14},void 0,!1,{fileName:d4,lineNumber:366,columnNumber:17},this),`Settings`]},void 0,!0,{fileName:d4,lineNumber:359,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>{j(!1),b(!0)},children:[(0,L.jsxDEV)(Ya,{size:14},void 0,!1,{fileName:d4,lineNumber:376,columnNumber:17},this),`Artifacts`]},void 0,!0,{fileName:d4,lineNumber:369,columnNumber:15},this),(0,L.jsxDEV)(`div`,{className:`my-1 border-t border-border`},void 0,!1,{fileName:d4,lineNumber:379,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Home`},void 0,!1,{fileName:d4,lineNumber:380,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/tutorial`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Tutorial`},void 0,!1,{fileName:d4,lineNumber:387,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/blog`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Blog`},void 0,!1,{fileName:d4,lineNumber:394,columnNumber:15},this),(0,L.jsxDEV)(Li,{to:`/paper`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`Paper`},void 0,!1,{fileName:d4,lineNumber:401,columnNumber:15},this),(0,L.jsxDEV)(`a`,{href:`https://github.com/Diogenesoftoronto/keating`,target:`_blank`,rel:`noreferrer`,className:`flex items-center gap-2 rounded-md px-3 py-2 text-left text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,onClick:()=>j(!1),children:`GitHub`},void 0,!1,{fileName:d4,lineNumber:408,columnNumber:15},this)]},void 0,!0,{fileName:d4,lineNumber:294,columnNumber:13},this)},void 0,!1,{fileName:d4,lineNumber:289,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:175,columnNumber:7},this),ae&&(0,L.jsxDEV)(`div`,{className:`chat-persistence-banner shrink-0 border-b border-border`,children:(0,L.jsxDEV)(`div`,{className:`chat-persistence-track px-3 py-1.5 text-[11px] font-semibold uppercase tracking-[0.25em]`,children:[(0,L.jsxDEV)(`span`,{children:`Session is not being persisted, all data will not be available outside of cache.`},void 0,!1,{fileName:d4,lineNumber:425,columnNumber:13},this),(0,L.jsxDEV)(`span`,{"aria-hidden":`true`,children:`Session is not being persisted, all data will not be available outside of cache.`},void 0,!1,{fileName:d4,lineNumber:426,columnNumber:13},this)]},void 0,!0,{fileName:d4,lineNumber:424,columnNumber:11},this)},void 0,!1,{fileName:d4,lineNumber:423,columnNumber:9},this),_?(0,L.jsxDEV)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,children:[(0,L.jsxDEV)(u4,{ref:o,className:`chat-page-panel flex-1 min-w-0`,speechEnabled:c},void 0,!1,{fileName:d4,lineNumber:433,columnNumber:11},this),x&&y&&(0,L.jsxDEV)(`div`,{className:`shrink-0 border-l border-border h-full`,children:(0,L.jsxDEV)(fRe,{open:y,artifactId:ne,onClose:()=>{b(!1),N(void 0)}},void 0,!1,{fileName:d4,lineNumber:440,columnNumber:15},this)},void 0,!1,{fileName:d4,lineNumber:439,columnNumber:13},this)]},void 0,!0,{fileName:d4,lineNumber:432,columnNumber:9},this):(0,L.jsxDEV)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,L.jsxDEV)(BAe,{},void 0,!1,{fileName:d4,lineNumber:453,columnNumber:11},this),(0,L.jsxDEV)(`button`,{onClick:te,className:`absolute bottom-6 left-1/2 -translate-x-1/2 z-20 px-6 py-2.5 border-2 border-primary text-primary font-terminal text-sm hover:bg-primary hover:text-primary-foreground transition-colors`,children:`[ GET STARTED → ]`},void 0,!1,{fileName:d4,lineNumber:454,columnNumber:11},this)]},void 0,!0,{fileName:d4,lineNumber:452,columnNumber:9},this),(D||k)&&(0,L.jsxDEV)(`div`,{className:`border-t border-border bg-background px-4 py-3 text-sm`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex max-w-4xl flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,L.jsxDEV)(`span`,{className:T===`error`?`text-destructive`:`text-muted-foreground`,children:k},void 0,!1,{fileName:d4,lineNumber:466,columnNumber:13},this),D&&(0,L.jsxDEV)(`input`,{className:`min-w-0 flex-1 rounded-md border border-border bg-muted px-3 py-2 font-mono text-xs text-foreground`,readOnly:!0,value:D,onFocus:e=>e.currentTarget.select()},void 0,!1,{fileName:d4,lineNumber:476,columnNumber:15},this),(0,L.jsxDEV)(`button`,{className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 text-xs hover:bg-accent`,onClick:()=>{O(null),A(null)},children:`Dismiss`},void 0,!1,{fileName:d4,lineNumber:483,columnNumber:13},this)]},void 0,!0,{fileName:d4,lineNumber:465,columnNumber:11},this)},void 0,!1,{fileName:d4,lineNumber:464,columnNumber:9},this),(0,L.jsxDEV)(cRe,{open:y&&!x,artifactId:ne,onClose:()=>{b(!1),N(void 0)}},void 0,!1,{fileName:d4,lineNumber:496,columnNumber:7},this),s]},void 0,!0,{fileName:d4,lineNumber:173,columnNumber:5},this)}function kUe(){return(0,L.jsxDEV)(F.Suspense,{fallback:(0,L.jsxDEV)(`div`,{className:`chat-page-shell w-full flex flex-col bg-background text-foreground overflow-hidden`,children:(0,L.jsxDEV)(`div`,{className:`flex-1 flex items-center justify-center text-muted-foreground text-sm`,children:`Initializing…`},void 0,!1,{fileName:d4,lineNumber:514,columnNumber:11},this)},void 0,!1,{fileName:d4,lineNumber:513,columnNumber:9},this),children:(0,L.jsxDEV)(OUe,{},void 0,!1,{fileName:d4,lineNumber:520,columnNumber:7},this)},void 0,!1,{fileName:d4,lineNumber:511,columnNumber:5},this)}var f4=`/home/diogenes/Projects/keating/web/src/pages/Paper.tsx`;function AUe(){return qc({title:`Keating Paper — A Metaharness for Agency-Preserving AI Instruction`,description:`The Keating paper: a metaharness for teaching, a control layer that organizes planning, prompting, retrieval, transfer, verification, and evaluation around the live teaching exchange.`,canonical:`https://keating.help/paper`}),(0,L.jsxDEV)(`div`,{className:`retro-layout retro-page`,children:[(0,L.jsxDEV)(Po,{},void 0,!1,{fileName:f4,lineNumber:14,columnNumber:7},this),(0,L.jsxDEV)(`main`,{className:`pt-6 pb-16 px-6`,children:(0,L.jsxDEV)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,L.jsxDEV)(`div`,{className:`paper-fold distressed-border p-8 mb-8`,children:[(0,L.jsxDEV)(`h1`,{className:`text-3xl md:text-4xl font-bold mb-4`,children:`Keating: A Metaharness for Agency-Preserving AI Instruction`},void 0,!1,{fileName:f4,lineNumber:19,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`flex flex-col md:flex-row md:items-center justify-between gap-4`,children:[(0,L.jsxDEV)(`div`,{className:`text-muted-foreground font-terminal`,children:[(0,L.jsxDEV)(`span`,{className:`text-[#d44a3d]`,children:`AUTHOR:`},void 0,!1,{fileName:f4,lineNumber:24,columnNumber:17},this),` Dio the Debugger `,(0,L.jsxDEV)(`br`,{},void 0,!1,{fileName:f4,lineNumber:24,columnNumber:82},this),(0,L.jsxDEV)(`span`,{className:`text-[#d44a3d] leading-7`,children:`DATE:`},void 0,!1,{fileName:f4,lineNumber:25,columnNumber:17},this),` April 3, 2026`]},void 0,!0,{fileName:f4,lineNumber:23,columnNumber:15},this),(0,L.jsxDEV)(`a`,{href:`/keating-metaharness.pdf`,download:`keating-metaharness.pdf`,className:`inline-flex items-center justify-center gap-2 bg-[#d44a3d] text-[#f4f1ea] px-6 py-3 font-bold hover:bg-[#b33e33] transition-colors`,children:[(0,L.jsxDEV)(Ba,{size:20},void 0,!1,{fileName:f4,lineNumber:32,columnNumber:17},this),`DOWNLOAD PDF`]},void 0,!0,{fileName:f4,lineNumber:27,columnNumber:15},this)]},void 0,!0,{fileName:f4,lineNumber:22,columnNumber:13},this)]},void 0,!0,{fileName:f4,lineNumber:18,columnNumber:11},this),(0,L.jsxDEV)(`article`,{className:`paper-fold distressed-border p-8 md:p-12 leading-relaxed`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2 mb-8 text-muted-foreground font-terminal text-sm border-b border-border pb-4`,children:[(0,L.jsxDEV)(Ha,{size:16},void 0,!1,{fileName:f4,lineNumber:40,columnNumber:15},this),`ABSTRACT`]},void 0,!0,{fileName:f4,lineNumber:39,columnNumber:13},this),(0,L.jsxDEV)(`p`,{className:`text-lg md:text-xl font-serif italic text-foreground/80 mb-8 leading-8`,children:`AI tutors can scale explanation, but scaling explanation is not the same as scaling learning. A tutoring system that answers fluently may still weaken the learner's own reconstruction of a concept.`},void 0,!1,{fileName:f4,lineNumber:44,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`space-y-8 text-foreground font-serif`,children:[(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`Keating is designed around that distinction. It is not a single tutoring chatbot; it is a metaharness for teaching, a control layer that organizes planning, prompting, retrieval, transfer, verification, and evaluation around the live teaching exchange.`},void 0,!1,{fileName:f4,lineNumber:51,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`The live system now also records session cadence and topic revisit urgency through an engagement timeline derived from lesson logs and retention decay estimates, although that spaced-review mechanism is not separately evaluated in the present paper.`},void 0,!1,{fileName:f4,lineNumber:58,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`We analyze two evidence layers: an archival trace set of 22 raw sessions curated to 16 topic x learner pairs, and a synthetic benchmark implemented directly in the repository. The archival set yields a normalized overall score of 0.61 (95% bootstrap interval 0.515-0.705), with strong topic heterogeneity: Special Relativity is highest at 0.75 and Stoicism lowest at 0.425.`},void 0,!1,{fileName:f4,lineNumber:65,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`The synthetic layer shows that the current Keating policy, although evolved on Derivative alone, improves the full 14-topic harness by 6.703 points over the default policy across 200/200 seeds, with derivative-only evolution improving in 29/30 reruns.`},void 0,!1,{fileName:f4,lineNumber:73,columnNumber:15},this),(0,L.jsxDEV)(`p`,{className:`text-lg leading-7`,children:`The contribution of this paper is therefore twofold: a formal account of a teaching metaharness and a reproducible benchmark-and-analysis stack for studying agency-preserving instruction. The present evidence supports systems and methodology claims; a human randomized trial remains the necessary next step for causal pedagogical claims.`},void 0,!1,{fileName:f4,lineNumber:80,columnNumber:15},this)]},void 0,!0,{fileName:f4,lineNumber:50,columnNumber:13},this),(0,L.jsxDEV)(`div`,{className:`mt-12 pt-8 border-t border-border`,children:(0,L.jsxDEV)(`p`,{className:`text-sm text-muted-foreground font-terminal uppercase tracking-widest text-center`,children:`— End of Abstract —`},void 0,!1,{fileName:f4,lineNumber:90,columnNumber:15},this)},void 0,!1,{fileName:f4,lineNumber:89,columnNumber:13},this)]},void 0,!0,{fileName:f4,lineNumber:38,columnNumber:11},this)]},void 0,!0,{fileName:f4,lineNumber:17,columnNumber:9},this)},void 0,!1,{fileName:f4,lineNumber:16,columnNumber:7},this),(0,L.jsxDEV)(Lo,{},void 0,!1,{fileName:f4,lineNumber:98,columnNumber:7},this)]},void 0,!0,{fileName:f4,lineNumber:13,columnNumber:5},this)}var p4=`/home/diogenes/Projects/keating/web/src/pages/SharedSession.tsx`;function jUe(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function MUe(e){let t=e?.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>e?.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
|
|
3136
|
+
`):``}function NUe(e){return e?.role===`assistant`?`Keating`:`Learner`}function PUe(){qc({title:`Keating Shared Session`,description:`View a shared Keating tutoring session. Socratic AI conversation with lesson artifacts and learning traces.`});let e=Ci(),t=(0,F.useMemo)(()=>decodeURIComponent(window.location.pathname.split(`/`).pop()??``),[]),[n,r]=(0,F.useState)(null),[i,a]=(0,F.useState)(!1),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)(``);return(0,F.useEffect)(()=>{r(MAe(t,window.location.hash))},[t]),n?(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:[(0,L.jsxDEV)(`header`,{className:`border-b border-border`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex max-w-4xl flex-wrap items-center justify-between gap-3 px-4 py-4`,children:[(0,L.jsxDEV)(`div`,{className:`min-w-0`,children:[(0,L.jsxDEV)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:`Shared Keating session`},void 0,!1,{fileName:p4,lineNumber:95,columnNumber:7},this),(0,L.jsxDEV)(`h1`,{className:`truncate text-xl font-semibold`,children:n.title},void 0,!1,{fileName:p4,lineNumber:96,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[n.messageCount,` messages | Shared `,jUe(n.sharedAt)]},void 0,!0,{fileName:p4,lineNumber:97,columnNumber:7},this)]},void 0,!0,{fileName:p4,lineNumber:94,columnNumber:6},this),(0,L.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsxDEV)(`button`,{className:`inline-flex h-9 items-center gap-2 rounded-md border border-border px-3 text-sm hover:bg-accent`,onClick:async()=>{await navigator.clipboard?.writeText(window.location.href),a(!0),window.setTimeout(()=>a(!1),1500)},children:[(0,L.jsxDEV)(Ra,{size:16},void 0,!1,{fileName:p4,lineNumber:106,columnNumber:8},this),i?`Copied`:`Copy link`]},void 0,!0,{fileName:p4,lineNumber:102,columnNumber:7},this),(0,L.jsxDEV)(`button`,{className:`inline-flex h-9 items-center gap-2 rounded-md bg-primary px-3 text-sm text-primary-foreground hover:bg-primary/90 disabled:opacity-60`,disabled:o,onClick:async()=>{if(n){s(!0),l(``);try{await NAe(n),await e({to:`/chat`})}catch(e){l(e instanceof Error?e.message:`Failed to fork session`)}finally{s(!1)}}},children:[(0,L.jsxDEV)(Ga,{size:16},void 0,!1,{fileName:p4,lineNumber:114,columnNumber:8},this),o?`Forking`:`Start from this`]},void 0,!0,{fileName:p4,lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:p4,lineNumber:101,columnNumber:6},this)]},void 0,!0,{fileName:p4,lineNumber:93,columnNumber:5},this)},void 0,!1,{fileName:p4,lineNumber:92,columnNumber:4},this),(0,L.jsxDEV)(`main`,{className:`mx-auto max-w-4xl px-4 py-6`,children:[c?(0,L.jsxDEV)(`div`,{className:`mb-4 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:c},void 0,!1,{fileName:p4,lineNumber:123,columnNumber:6},this):null,(0,L.jsxDEV)(`div`,{className:`space-y-4`,children:n.messages.map((e,t)=>(e.role,(0,L.jsxDEV)(`article`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,L.jsxDEV)(`div`,{className:`mb-3 text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:NUe(e)},void 0,!1,{fileName:p4,lineNumber:133,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert`,children:(0,L.jsxDEV)(i$,{content:MUe(e)},void 0,!1,{fileName:p4,lineNumber:137,columnNumber:10},this)},void 0,!1,{fileName:p4,lineNumber:136,columnNumber:9},this)]},t,!0,{fileName:p4,lineNumber:132,columnNumber:8},this)))},void 0,!1,{fileName:p4,lineNumber:128,columnNumber:5},this)]},void 0,!0,{fileName:p4,lineNumber:121,columnNumber:4},this)]},void 0,!0,{fileName:p4,lineNumber:91,columnNumber:3},this):(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex min-h-screen max-w-3xl flex-col items-center justify-center px-4 text-center`,children:[(0,L.jsxDEV)(eo,{className:`mb-4 text-muted-foreground`,size:32},void 0,!1,{fileName:p4,lineNumber:73,columnNumber:6},this),(0,L.jsxDEV)(`h1`,{className:`text-xl font-semibold`,children:`Shared session not found`},void 0,!1,{fileName:p4,lineNumber:74,columnNumber:6},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`This share link is missing its session snapshot. Ask for a fresh link or open a cached share from this browser.`},void 0,!1,{fileName:p4,lineNumber:75,columnNumber:6},this),(0,L.jsxDEV)(`button`,{className:`mt-6 inline-flex h-9 items-center gap-2 rounded-md border border-border px-3 text-sm hover:bg-accent`,onClick:()=>e({to:`/chat`}),children:[(0,L.jsxDEV)(ya,{size:16},void 0,!1,{fileName:p4,lineNumber:82,columnNumber:7},this),`Back to chat`]},void 0,!0,{fileName:p4,lineNumber:78,columnNumber:6},this)]},void 0,!0,{fileName:p4,lineNumber:72,columnNumber:5},this)},void 0,!1,{fileName:p4,lineNumber:71,columnNumber:4},this)}function FUe(){return(0,L.jsxDEV)(F.Suspense,{fallback:(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,L.jsxDEV)(`div`,{className:`flex min-h-screen items-center justify-center text-sm text-muted-foreground`,children:`Loading shared session...`},void 0,!1,{fileName:p4,lineNumber:152,columnNumber:5},this)},void 0,!1,{fileName:p4,lineNumber:151,columnNumber:4},this),children:(0,L.jsxDEV)(PUe,{},void 0,!1,{fileName:p4,lineNumber:157,columnNumber:4},this)},void 0,!1,{fileName:p4,lineNumber:150,columnNumber:3},this)}function m4(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=m4(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function h4(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=m4(e))&&(r&&(r+=` `),r+=t);return r}var IUe=`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`.split(`.`);function g4(e){return typeof e==`string`?IUe.includes(e):!1}var LUe=new Set(`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`.split(`.`));function _4(e){return typeof e==`string`?LUe.has(e):!1}function v4(e){return typeof e==`string`&&e.startsWith(`data-`)}function y4(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(_4(n)||v4(n))&&(t[n]=e[n]);return t}function b4(e){if(e==null)return null;if((0,F.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return y4(t)}return typeof e==`object`&&!Array.isArray(e)?y4(e):null}function x4(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(_4(n)||v4(n)||g4(n))&&(t[n]=e[n]);return t}var RUe=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function S4(){return S4=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},S4.apply(null,arguments)}function zUe(e,t){if(e==null)return{};var n,r,i=BUe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function BUe(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}var C4=(0,F.forwardRef)((e,t)=>{var{children:n,width:r,height:i,viewBox:a,className:o,style:s,title:c,desc:l}=e,u=zUe(e,RUe),d=a||{width:r,height:i,x:0,y:0},f=h4(`recharts-surface`,o);return F.createElement(`svg`,S4({},x4(u),{className:f,width:r,height:i,style:s,viewBox:`${d.x} ${d.y} ${d.width} ${d.height}`,ref:t}),F.createElement(`title`,null,c),F.createElement(`desc`,null,l),n)}),VUe=[`children`,`className`];function w4(){return w4=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},w4.apply(null,arguments)}function HUe(e,t){if(e==null)return{};var n,r,i=UUe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function UUe(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}var T4=F.forwardRef((e,t)=>{var{children:n,className:r}=e,i=HUe(e,VUe),a=h4(`recharts-layer`,r);return F.createElement(`g`,w4({className:a},x4(i),{ref:t}),n)}),E4=(0,F.createContext)(null),WUe=()=>(0,F.useContext)(E4);function D4(e,t,n){var r=null,i=y(!0),a=null,o=A,s=null,c=b(l);e=typeof e==`function`?e:e===void 0?oe:y(+e),t=typeof t==`function`?t:y(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?se:y(+n);function l(l){var u,d,f,p=(l=E(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return ce().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:y(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:y(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:y(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:y(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:y(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:y(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:y(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var O4={draw(e,t){let n=C(t/T);e.moveTo(n,0),e.arc(0,0,n,0,w)}},GUe={draw(e,t){let n=C(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()}},k4=C(1/3),KUe=k4*2,qUe={draw(e,t){let n=C(t/KUe),r=n*k4;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},JUe={draw(e,t){let n=C(t),r=-n/2;e.rect(r,r,n,n)}},YUe=.8908130915292852,A4=S(T/10)/S(7*T/10),XUe=S(w/10)*A4,ZUe=-x(w/10)*A4,QUe={draw(e,t){let n=C(t*YUe),r=XUe*n,i=ZUe*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=w*t/5,o=x(a),s=S(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},j4=C(3),$Ue={draw(e,t){let n=-C(t/(j4*3));e.moveTo(0,n*2),e.lineTo(-j4*n,-n),e.lineTo(j4*n,-n),e.closePath()}},M4=-.5,N4=C(3)/2,P4=1/C(12),eWe=(P4/2+1)*3,tWe={draw(e,t){let n=C(t/eWe),r=n/2,i=n*P4,a=r,o=n*P4+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(M4*r-N4*i,N4*r+M4*i),e.lineTo(M4*a-N4*o,N4*a+M4*o),e.lineTo(M4*s-N4*c,N4*s+M4*c),e.lineTo(M4*r+N4*i,M4*i-N4*r),e.lineTo(M4*a+N4*o,M4*o-N4*a),e.lineTo(M4*s+N4*c,M4*c-N4*s),e.closePath()}};function nWe(e,t){let n=null,r=b(i);e=typeof e==`function`?e:y(e||O4),t=typeof t==`function`?t:y(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:y(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:y(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function F4(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function I4(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function rWe(e,t){return e[t]}function iWe(e){let t=[];return t.key=e,t}function aWe(){var e=y([]),t=I4,n=F4,r=rWe;function i(i){var a=Array.from(e.apply(this,arguments),iWe),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=E(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:y(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:y(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?I4:typeof e==`function`?e:y(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??F4,i):n},i}function oWe(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}F4(e,t)}}function sWe(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}F4(e,t)}}function cWe(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,F4(e,t)}}var lWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e===`__proto__`}e.isUnsafeProperty=t})),L4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e.includes(`.`)||e.includes(`[`)||e.includes(`]`)}}e.isDeepKey=t})),R4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}e.toKey=t})),uWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){if(e==null)return``;if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(t).join(`,`);let n=String(e);return n===`0`&&Object.is(Number(e),-0)?`-0`:n}e.toString=t})),z4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=uWe(),n=R4();function r(e){if(Array.isArray(e))return e.map(n.toKey);if(typeof e==`symbol`)return[e];e=t.toString(e);let r=[],i=e.length;if(i===0)return r;let a=0,o=``,s=``,c=!1;for(e.charCodeAt(0)===46&&(r.push(``),a++);a<i;){let t=e[a];s?t===`\\`&&a+1<i?(a++,o+=e[a]):t===s?s=``:o+=t:c?t===`"`||t===`'`?s=t:t===`]`?(c=!1,r.push(o),o=``):o+=t:t===`[`?(c=!0,o&&=(r.push(o),``)):t===`.`?o&&=(r.push(o),``):o+=t,a++}return o&&r.push(o),r}e.toPath=r})),B4=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=lWe(),n=L4(),r=R4(),i=z4();function a(e,s,c){if(e==null)return c;switch(typeof s){case`string`:{if(t.isUnsafeProperty(s))return c;let r=e[s];return r===void 0?n.isDeepKey(s)?a(e,i.toPath(s),c):c:r}case`number`:case`symbol`:{typeof s==`number`&&(s=r.toKey(s));let t=e[s];return t===void 0?c:t}default:{if(Array.isArray(s))return o(e,s,c);if(s=Object.is(s?.valueOf(),-0)?`-0`:String(s),t.isUnsafeProperty(s))return c;let n=e[s];return n===void 0?c:n}}}function o(e,n,r){if(n.length===0)return r;let i=e;for(let e=0;e<n.length;e++){if(i==null||t.isUnsafeProperty(n[e]))return r;i=i[n[e]]}return i===void 0?r:i}e.get=a})),dWe=a(((e,t)=>{t.exports=B4().get})),fWe=4;function V4(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:fWe),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function H4(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+V4(i)+n},``)}var U4=i(dWe()),W4=e=>e===0?0:e>0?1:-1,G4=e=>typeof e==`number`&&e!=+e,K4=e=>typeof e==`string`&&e.indexOf(`%`)===e.length-1,q4=e=>(typeof e==`number`||e instanceof Number)&&!G4(e),J4=e=>q4(e)||typeof e==`string`,pWe=0,Y4=e=>{var t=++pWe;return`${e||``}${t}`},X4=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!q4(e)&&typeof e!=`string`)return n;var i;if(K4(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return G4(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},mWe=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function Z4(e,t,n){return q4(e)&&q4(t)?V4(e+n*(t-e)):t}function hWe(e,t,n){if(!(!e||!e.length))return e.find(e=>e&&(typeof t==`function`?t(e):(0,U4.default)(e,t))===n)}var Q4=e=>e==null,$4=e=>Q4(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function e3(e){return e!=null}function t3(){}var gWe=[`type`,`size`,`sizeType`];function n3(){return n3=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},n3.apply(null,arguments)}function _We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function vWe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?_We(Object(n),!0).forEach(function(t){yWe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_We(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function yWe(e,t,n){return(t=bWe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bWe(e){var t=xWe(e,`string`);return typeof t==`symbol`?t:t+``}function xWe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function SWe(e,t){if(e==null)return{};var n,r,i=CWe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function CWe(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}var wWe={symbolCircle:O4,symbolCross:GUe,symbolDiamond:qUe,symbolSquare:JUe,symbolStar:QUe,symbolTriangle:$Ue,symbolWye:tWe},TWe=Math.PI/180,EWe=e=>wWe[`symbol${$4(e)}`]||O4,DWe=(e,t,n)=>{if(t===`area`)return e;switch(n){case`cross`:return 5*e*e/9;case`diamond`:return .5*e*e/Math.sqrt(3);case`square`:return e*e;case`star`:var r=18*TWe;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2);case`triangle`:return Math.sqrt(3)*e*e/4;case`wye`:return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},OWe=(e,t)=>{wWe[`symbol${$4(e)}`]=t},r3=e=>{var{type:t=`circle`,size:n=64,sizeType:r=`area`}=e,i=vWe(vWe({},SWe(e,gWe)),{},{type:t,size:n,sizeType:r}),a=`circle`;typeof t==`string`&&(a=t);var o=()=>{var e=EWe(a),t=nWe().type(e).size(DWe(n,r,a))();if(t!==null)return t},{className:s,cx:c,cy:l}=i,u=x4(i);return q4(c)&&q4(l)&&q4(n)?F.createElement(`path`,n3({},u,{className:h4(`recharts-symbols`,s),transform:`translate(${c}, ${l})`,d:o()})):null};r3.registerSymbol=OWe;var kWe=e=>`radius`in e&&`startAngle`in e&&`endAngle`in e,AWe=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,F.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{g4(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},jWe=(e,t,n)=>r=>(e(t,n,r),null),MWe=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];g4(i)&&typeof a==`function`&&(r||={},r[i]=jWe(a,t,n))}),r};function NWe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function PWe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?NWe(Object(n),!0).forEach(function(t){FWe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):NWe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function FWe(e,t,n){return(t=IWe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function IWe(e){var t=LWe(e,`string`);return typeof t==`symbol`?t:t+``}function LWe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function i3(e,t){var n=PWe({},e),r=t;return Object.keys(t).reduce((e,t)=>(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function a3(){return a3=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},a3.apply(null,arguments)}function RWe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zWe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?RWe(Object(n),!0).forEach(function(t){BWe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RWe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function BWe(e,t,n){return(t=VWe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VWe(e){var t=HWe(e,`string`);return typeof t==`symbol`?t:t+``}function HWe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var o3=32,UWe={align:`center`,iconSize:14,inactiveColor:`#ccc`,layout:`horizontal`,verticalAlign:`middle`,labelStyle:{}};function WWe(e){if(typeof e==`object`&&e&&`strokeDasharray`in e)return String(e.strokeDasharray)}function GWe(e){var{data:t,iconType:n,inactiveColor:r}=e,i=o3/2,a=o3/6,o=o3/3,s=t.inactive?r:t.color,c=n??t.type;if(c===`none`)return null;if(c===`plainline`)return F.createElement(`line`,{strokeWidth:4,fill:`none`,stroke:s,strokeDasharray:WWe(t.payload),x1:0,y1:i,x2:o3,y2:i,className:`recharts-legend-icon`});if(c===`line`)return F.createElement(`path`,{strokeWidth:4,fill:`none`,stroke:s,d:`M0,${i}h${o}
|
|
3137
3137
|
A${a},${a},0,1,1,${2*o},${i}
|
|
3138
3138
|
H${o3}M${2*o},${i}
|
|
3139
|
-
A${a},${a},0,1,1,${o},${i}`,className:`recharts-legend-icon`});if(c===`rect`)return F.createElement(`path`,{stroke:`none`,fill:s,d:`M0,${o3/8}h${o3}v${o3*3/4}h${-o3}z`,className:`recharts-legend-icon`});if(F.isValidElement(t.legendIcon)){var l=RWe({},t);return delete l.legendIcon,F.cloneElement(t.legendIcon,l)}return F.createElement(r3,{fill:s,cx:i,cy:i,size:o3,sizeType:`diameter`,type:c})}function GWe(e){var{payload:t,iconSize:n,layout:r,formatter:i,inactiveColor:a,iconType:o,labelStyle:s}=e,c={x:0,y:0,width:o3,height:o3},l={display:r===`horizontal`?`inline-block`:`block`,marginRight:10},u={display:`inline-block`,verticalAlign:`middle`,marginRight:4};return t.map((t,r)=>{var d=t.formatter||i,f=h4({"recharts-legend-item":!0,[`legend-item-${r}`]:!0,inactive:t.inactive});if(t.type===`none`)return null;var p=typeof s==`object`?RWe({},s):{};p.color=t.inactive?a:p.color||t.color;var m=d?d(t.value,t,r):t.value;return F.createElement(`li`,a3({className:f,style:l,key:`legend-item-${r}`},jWe(e,t,r)),F.createElement(C4,{width:n,height:n,viewBox:c,style:u,"aria-label":`${t.value} legend icon`},F.createElement(WWe,{data:t,iconType:o,inactiveColor:a})),F.createElement(`span`,{className:`recharts-legend-item-text`,style:p},m))})}var KWe=e=>{var t=i3(e,HWe),{payload:n,layout:r,align:i}=t;if(!n||!n.length)return null;var a={padding:0,margin:0,textAlign:r===`horizontal`?i:`left`};return F.createElement(`ul`,{className:`recharts-default-legend`,style:a},F.createElement(GWe,a3({},t,{payload:n})))},qWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);n.has(a)||n.set(a,i)}return Array.from(n.values())}e.uniqBy=t})),JWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t){return function(...n){return e.apply(this,n.slice(0,t))}}e.ary=t})),YWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e}e.identity=t})),XWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return Number.isSafeInteger(e)&&e>=0}e.isLength=t})),ZWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=XWe();function n(e){return e!=null&&typeof e!=`function`&&t.isLength(e.length)}e.isArrayLike=n})),QWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`object`&&!!e}e.isObjectLike=t})),$We=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=ZWe(),n=QWe();function r(e){return n.isObjectLike(e)&&t.isArrayLike(e)}e.isArrayLikeObject=r})),eGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=B4();function n(e){return function(n){return t.get(n,e)}}e.property=n})),tGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}e.isObject=t})),nGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e==null||typeof e!=`object`&&typeof e!=`function`}e.isPrimitive=t})),rGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}e.isEqualsSameValueZero=t})),iGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=tGe(),n=nGe(),r=rGe();function i(e,t,n){return typeof n==`function`?a(e,t,function e(t,r,i,o,s,c){let l=n(t,r,i,o,s,c);return l===void 0?a(t,r,e,c):!!l},new Map):i(e,t,()=>void 0)}function a(e,n,i,s){if(n===e)return!0;switch(typeof n){case`object`:return o(e,n,i,s);case`function`:return Object.keys(n).length>0?a(e,{...n},i,s):r.isEqualsSameValueZero(e,n);default:return t.isObject(e)?typeof n==`string`?n===``:!0:r.isEqualsSameValueZero(e,n)}}function o(e,t,r,i){if(t==null)return!0;if(Array.isArray(t))return c(e,t,r,i);if(t instanceof Map)return s(e,t,r,i);if(t instanceof Set)return l(e,t,r,i);let a=Object.keys(t);if(e==null||n.isPrimitive(e))return a.length===0;if(a.length===0)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let o=0;o<a.length;o++){let s=a[o];if(!n.isPrimitive(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,i))return!1}return!0}finally{i?.delete(t)}}function s(e,t,n,r){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,a]of t.entries())if(n(e.get(i),a,i,e,t,r)===!1)return!1;return!0}function c(e,t,n,r){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let a=0;a<t.length;a++){let o=t[a],s=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let l=e[c],u=!1;if(n(l,o,a,e,t,r)&&(u=!0),u){i.add(c),s=!0;break}}if(!s)return!1}return!0}function l(e,t,n,r){return t.size===0?!0:e instanceof Set?c([...e],[...t],n,r):!1}e.isMatchWith=i,e.isSetMatch=l})),aGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=iGe();function n(e,n){return t.isMatchWith(e,n,()=>void 0)}e.isMatch=n})),oGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}e.getSymbols=t})),s3=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}e.getTag=t})),sGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),e.argumentsTag=`[object Arguments]`,e.arrayBufferTag=`[object ArrayBuffer]`,e.arrayTag=`[object Array]`,e.bigInt64ArrayTag=`[object BigInt64Array]`,e.bigUint64ArrayTag=`[object BigUint64Array]`,e.booleanTag=`[object Boolean]`,e.dataViewTag=`[object DataView]`,e.dateTag=`[object Date]`,e.errorTag=`[object Error]`,e.float32ArrayTag=`[object Float32Array]`,e.float64ArrayTag=`[object Float64Array]`,e.functionTag=`[object Function]`,e.int16ArrayTag=`[object Int16Array]`,e.int32ArrayTag=`[object Int32Array]`,e.int8ArrayTag=`[object Int8Array]`,e.mapTag=`[object Map]`,e.numberTag=`[object Number]`,e.objectTag=`[object Object]`,e.regexpTag=`[object RegExp]`,e.setTag=`[object Set]`,e.stringTag=`[object String]`,e.symbolTag=`[object Symbol]`,e.uint16ArrayTag=`[object Uint16Array]`,e.uint32ArrayTag=`[object Uint32Array]`,e.uint8ArrayTag=`[object Uint8Array]`,e.uint8ClampedArrayTag=`[object Uint8ClampedArray]`})),cGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),e.globalThis=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})()||Function(`return this`)()})),lGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=cGe();function n(e){return t.globalThis.Buffer!==void 0&&t.globalThis.Buffer.isBuffer(e)}e.isBuffer=n})),uGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}e.isTypedArray=t})),dGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=oGe(),n=s3(),r=sGe(),i=lGe(),a=nGe(),o=uGe();function s(e,t){return c(e,void 0,e,new Map,t)}function c(e,t,n,r=new Map,s=void 0){let d=s?.(e,t,n,r);if(d!==void 0)return d;if(a.isPrimitive(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let i=0;i<e.length;i++)t[i]=c(e[i],i,n,r,s);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[i,a]of e)t.set(i,c(a,i,n,r,s));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let i of e)t.add(c(i,void 0,n,r,s));return t}if(i.isBuffer(e))return e.subarray();if(o.isTypedArray(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let i=0;i<e.length;i++)t[i]=c(e[i],i,n,r,s);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),l(t,e,n,r,s),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),l(t,e,n,r,s),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),l(t,e,n,r,s),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,l(t,e,n,r,s),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),l(t,e,n,r,s),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),l(t,e,n,r,s),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),l(t,e,n,r,s),t}if(typeof e==`object`&&u(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),l(t,e,n,r,s),t}return e}function l(e,n,r=e,i,a){let o=[...Object.keys(n),...t.getSymbols(n)];for(let t=0;t<o.length;t++){let s=o[t],l=Object.getOwnPropertyDescriptor(e,s);(l==null||l.writable)&&(e[s]=c(n[s],s,r,i,a))}}function u(e){switch(n.getTag(e)){case r.argumentsTag:case r.arrayTag:case r.arrayBufferTag:case r.dataViewTag:case r.booleanTag:case r.dateTag:case r.float32ArrayTag:case r.float64ArrayTag:case r.int8ArrayTag:case r.int16ArrayTag:case r.int32ArrayTag:case r.mapTag:case r.numberTag:case r.objectTag:case r.regexpTag:case r.setTag:case r.stringTag:case r.symbolTag:case r.uint8ArrayTag:case r.uint8ClampedArrayTag:case r.uint16ArrayTag:case r.uint32ArrayTag:return!0;default:return!1}}e.cloneDeepWith=s,e.cloneDeepWithImpl=c,e.copyProperties=l})),fGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=dGe();function n(e){return t.cloneDeepWithImpl(e,void 0,e,new Map,void 0)}e.cloneDeep=n})),pGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=aGe(),n=fGe();function r(e){return e=n.cloneDeep(e),n=>t.isMatch(n,e)}e.matches=r})),mGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=dGe(),n=s3(),r=sGe();function i(e,i){return t.cloneDeepWith(e,(a,o,s,c)=>{let l=i?.(a,o,s,c);if(l!==void 0)return l;if(typeof e==`object`){if(n.getTag(e)===r.objectTag&&typeof e.constructor!=`function`){let n={};return c.set(e,n),t.copyProperties(n,e,s,c),n}switch(Object.prototype.toString.call(e)){case r.numberTag:case r.stringTag:case r.booleanTag:{let n=new e.constructor(e?.valueOf());return t.copyProperties(n,e),n}case r.argumentsTag:{let n={};return t.copyProperties(n,e),n.length=e.length,n[Symbol.iterator]=e[Symbol.iterator],n}default:return}}})}e.cloneDeepWith=i})),hGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=mGe();function n(e){return t.cloneDeepWith(e)}e.cloneDeep=n})),gGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=/^(?:0|[1-9]\d*)$/;function n(e,n=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<n;case`symbol`:return!1;case`string`:return t.test(e)}}e.isIndex=n})),_Ge=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=s3();function n(e){return typeof e==`object`&&!!e&&t.getTag(e)===`[object Arguments]`}e.isArguments=n})),vGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=L4(),n=gGe(),r=_Ge(),i=z4();function a(e,a){let o;if(o=Array.isArray(a)?a:typeof a==`string`&&t.isDeepKey(a)&&e?.[a]==null?i.toPath(a):[a],o.length===0)return!1;let s=e;for(let e=0;e<o.length;e++){let t=o[e];if((s==null||!Object.hasOwn(s,t))&&!((Array.isArray(s)||r.isArguments(s))&&n.isIndex(t)&&t<s.length))return!1;s=s[t]}return!0}e.has=a})),yGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=aGe(),n=R4(),r=hGe(),i=B4(),a=vGe();function o(e,o){switch(typeof e){case`object`:Object.is(e?.valueOf(),-0)&&(e=`-0`);break;case`number`:e=n.toKey(e);break}return o=r.cloneDeep(o),function(n){let r=i.get(n,e);return r===void 0?a.has(n,e):o===void 0?r===void 0:t.isMatch(r,o)}}e.matchesProperty=o})),bGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=YWe(),n=eGe(),r=pGe(),i=yGe();function a(e){if(e==null)return t.identity;switch(typeof e){case`function`:return e;case`object`:return Array.isArray(e)&&e.length===2?i.matchesProperty(e[0],e[1]):r.matches(e);case`string`:case`symbol`:case`number`:return n.property(e)}}e.iteratee=a})),xGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=qWe(),n=JWe(),r=YWe(),i=$We(),a=bGe();function o(e,o=r.identity){return i.isArrayLikeObject(e)?t.uniqBy(Array.from(e),n.ary(a.iteratee(o),1)):[]}e.uniqBy=o})),SGe=i(a(((e,t)=>{t.exports=xGe().uniqBy}))());function CGe(e,t,n){return t===!0?(0,SGe.default)(e,n):typeof t==`function`?(0,SGe.default)(e,t):e}var c3=(0,F.createContext)(null),wGe=e=>e,l3=()=>{var e=(0,F.useContext)(c3);return e?e.store.dispatch:wGe},u3=()=>{},TGe=()=>u3,EGe=(e,t)=>e===t;function d3(e){var t=(0,F.useContext)(c3),n=(0,F.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:u3,[t,e]);return(0,mi.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:TGe,t?t.store.getState:u3,t?t.store.getState:u3,n,EGe)}var DGe=(e,t,n)=>{if(t.length===1&&t[0]===n){let t=!1;try{let n={};e(n)===n&&(t=!0)}catch{}if(t){let e;try{throw Error()}catch(t){({stack:e}=t)}console.warn(`The result function returned its own inputs without modification. e.g
|
|
3139
|
+
A${a},${a},0,1,1,${o},${i}`,className:`recharts-legend-icon`});if(c===`rect`)return F.createElement(`path`,{stroke:`none`,fill:s,d:`M0,${o3/8}h${o3}v${o3*3/4}h${-o3}z`,className:`recharts-legend-icon`});if(F.isValidElement(t.legendIcon)){var l=zWe({},t);return delete l.legendIcon,F.cloneElement(t.legendIcon,l)}return F.createElement(r3,{fill:s,cx:i,cy:i,size:o3,sizeType:`diameter`,type:c})}function KWe(e){var{payload:t,iconSize:n,layout:r,formatter:i,inactiveColor:a,iconType:o,labelStyle:s}=e,c={x:0,y:0,width:o3,height:o3},l={display:r===`horizontal`?`inline-block`:`block`,marginRight:10},u={display:`inline-block`,verticalAlign:`middle`,marginRight:4};return t.map((t,r)=>{var d=t.formatter||i,f=h4({"recharts-legend-item":!0,[`legend-item-${r}`]:!0,inactive:t.inactive});if(t.type===`none`)return null;var p=typeof s==`object`?zWe({},s):{};p.color=t.inactive?a:p.color||t.color;var m=d?d(t.value,t,r):t.value;return F.createElement(`li`,a3({className:f,style:l,key:`legend-item-${r}`},MWe(e,t,r)),F.createElement(C4,{width:n,height:n,viewBox:c,style:u,"aria-label":`${t.value} legend icon`},F.createElement(GWe,{data:t,iconType:o,inactiveColor:a})),F.createElement(`span`,{className:`recharts-legend-item-text`,style:p},m))})}var qWe=e=>{var t=i3(e,UWe),{payload:n,layout:r,align:i}=t;if(!n||!n.length)return null;var a={padding:0,margin:0,textAlign:r===`horizontal`?i:`left`};return F.createElement(`ul`,{className:`recharts-default-legend`,style:a},F.createElement(KWe,a3({},t,{payload:n})))},JWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);n.has(a)||n.set(a,i)}return Array.from(n.values())}e.uniqBy=t})),YWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t){return function(...n){return e.apply(this,n.slice(0,t))}}e.ary=t})),XWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e}e.identity=t})),ZWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return Number.isSafeInteger(e)&&e>=0}e.isLength=t})),QWe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=ZWe();function n(e){return e!=null&&typeof e!=`function`&&t.isLength(e.length)}e.isArrayLike=n})),$We=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`object`&&!!e}e.isObjectLike=t})),eGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=QWe(),n=$We();function r(e){return n.isObjectLike(e)&&t.isArrayLike(e)}e.isArrayLikeObject=r})),tGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=B4();function n(e){return function(n){return t.get(n,e)}}e.property=n})),nGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}e.isObject=t})),rGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e==null||typeof e!=`object`&&typeof e!=`function`}e.isPrimitive=t})),iGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}e.isEqualsSameValueZero=t})),aGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=nGe(),n=rGe(),r=iGe();function i(e,t,n){return typeof n==`function`?a(e,t,function e(t,r,i,o,s,c){let l=n(t,r,i,o,s,c);return l===void 0?a(t,r,e,c):!!l},new Map):i(e,t,()=>void 0)}function a(e,n,i,s){if(n===e)return!0;switch(typeof n){case`object`:return o(e,n,i,s);case`function`:return Object.keys(n).length>0?a(e,{...n},i,s):r.isEqualsSameValueZero(e,n);default:return t.isObject(e)?typeof n==`string`?n===``:!0:r.isEqualsSameValueZero(e,n)}}function o(e,t,r,i){if(t==null)return!0;if(Array.isArray(t))return c(e,t,r,i);if(t instanceof Map)return s(e,t,r,i);if(t instanceof Set)return l(e,t,r,i);let a=Object.keys(t);if(e==null||n.isPrimitive(e))return a.length===0;if(a.length===0)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let o=0;o<a.length;o++){let s=a[o];if(!n.isPrimitive(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,i))return!1}return!0}finally{i?.delete(t)}}function s(e,t,n,r){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,a]of t.entries())if(n(e.get(i),a,i,e,t,r)===!1)return!1;return!0}function c(e,t,n,r){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let a=0;a<t.length;a++){let o=t[a],s=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let l=e[c],u=!1;if(n(l,o,a,e,t,r)&&(u=!0),u){i.add(c),s=!0;break}}if(!s)return!1}return!0}function l(e,t,n,r){return t.size===0?!0:e instanceof Set?c([...e],[...t],n,r):!1}e.isMatchWith=i,e.isSetMatch=l})),oGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=aGe();function n(e,n){return t.isMatchWith(e,n,()=>void 0)}e.isMatch=n})),sGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}e.getSymbols=t})),s3=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}e.getTag=t})),cGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),e.argumentsTag=`[object Arguments]`,e.arrayBufferTag=`[object ArrayBuffer]`,e.arrayTag=`[object Array]`,e.bigInt64ArrayTag=`[object BigInt64Array]`,e.bigUint64ArrayTag=`[object BigUint64Array]`,e.booleanTag=`[object Boolean]`,e.dataViewTag=`[object DataView]`,e.dateTag=`[object Date]`,e.errorTag=`[object Error]`,e.float32ArrayTag=`[object Float32Array]`,e.float64ArrayTag=`[object Float64Array]`,e.functionTag=`[object Function]`,e.int16ArrayTag=`[object Int16Array]`,e.int32ArrayTag=`[object Int32Array]`,e.int8ArrayTag=`[object Int8Array]`,e.mapTag=`[object Map]`,e.numberTag=`[object Number]`,e.objectTag=`[object Object]`,e.regexpTag=`[object RegExp]`,e.setTag=`[object Set]`,e.stringTag=`[object String]`,e.symbolTag=`[object Symbol]`,e.uint16ArrayTag=`[object Uint16Array]`,e.uint32ArrayTag=`[object Uint32Array]`,e.uint8ArrayTag=`[object Uint8Array]`,e.uint8ClampedArrayTag=`[object Uint8ClampedArray]`})),lGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),e.globalThis=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})()||Function(`return this`)()})),uGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=lGe();function n(e){return t.globalThis.Buffer!==void 0&&t.globalThis.Buffer.isBuffer(e)}e.isBuffer=n})),dGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}e.isTypedArray=t})),fGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=sGe(),n=s3(),r=cGe(),i=uGe(),a=rGe(),o=dGe();function s(e,t){return c(e,void 0,e,new Map,t)}function c(e,t,n,r=new Map,s=void 0){let d=s?.(e,t,n,r);if(d!==void 0)return d;if(a.isPrimitive(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let i=0;i<e.length;i++)t[i]=c(e[i],i,n,r,s);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[i,a]of e)t.set(i,c(a,i,n,r,s));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let i of e)t.add(c(i,void 0,n,r,s));return t}if(i.isBuffer(e))return e.subarray();if(o.isTypedArray(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let i=0;i<e.length;i++)t[i]=c(e[i],i,n,r,s);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),l(t,e,n,r,s),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),l(t,e,n,r,s),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),l(t,e,n,r,s),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,l(t,e,n,r,s),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),l(t,e,n,r,s),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),l(t,e,n,r,s),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),l(t,e,n,r,s),t}if(typeof e==`object`&&u(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),l(t,e,n,r,s),t}return e}function l(e,n,r=e,i,a){let o=[...Object.keys(n),...t.getSymbols(n)];for(let t=0;t<o.length;t++){let s=o[t],l=Object.getOwnPropertyDescriptor(e,s);(l==null||l.writable)&&(e[s]=c(n[s],s,r,i,a))}}function u(e){switch(n.getTag(e)){case r.argumentsTag:case r.arrayTag:case r.arrayBufferTag:case r.dataViewTag:case r.booleanTag:case r.dateTag:case r.float32ArrayTag:case r.float64ArrayTag:case r.int8ArrayTag:case r.int16ArrayTag:case r.int32ArrayTag:case r.mapTag:case r.numberTag:case r.objectTag:case r.regexpTag:case r.setTag:case r.stringTag:case r.symbolTag:case r.uint8ArrayTag:case r.uint8ClampedArrayTag:case r.uint16ArrayTag:case r.uint32ArrayTag:return!0;default:return!1}}e.cloneDeepWith=s,e.cloneDeepWithImpl=c,e.copyProperties=l})),pGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=fGe();function n(e){return t.cloneDeepWithImpl(e,void 0,e,new Map,void 0)}e.cloneDeep=n})),mGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=oGe(),n=pGe();function r(e){return e=n.cloneDeep(e),n=>t.isMatch(n,e)}e.matches=r})),hGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=fGe(),n=s3(),r=cGe();function i(e,i){return t.cloneDeepWith(e,(a,o,s,c)=>{let l=i?.(a,o,s,c);if(l!==void 0)return l;if(typeof e==`object`){if(n.getTag(e)===r.objectTag&&typeof e.constructor!=`function`){let n={};return c.set(e,n),t.copyProperties(n,e,s,c),n}switch(Object.prototype.toString.call(e)){case r.numberTag:case r.stringTag:case r.booleanTag:{let n=new e.constructor(e?.valueOf());return t.copyProperties(n,e),n}case r.argumentsTag:{let n={};return t.copyProperties(n,e),n.length=e.length,n[Symbol.iterator]=e[Symbol.iterator],n}default:return}}})}e.cloneDeepWith=i})),gGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=hGe();function n(e){return t.cloneDeepWith(e)}e.cloneDeep=n})),_Ge=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=/^(?:0|[1-9]\d*)$/;function n(e,n=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<n;case`symbol`:return!1;case`string`:return t.test(e)}}e.isIndex=n})),vGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=s3();function n(e){return typeof e==`object`&&!!e&&t.getTag(e)===`[object Arguments]`}e.isArguments=n})),yGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=L4(),n=_Ge(),r=vGe(),i=z4();function a(e,a){let o;if(o=Array.isArray(a)?a:typeof a==`string`&&t.isDeepKey(a)&&e?.[a]==null?i.toPath(a):[a],o.length===0)return!1;let s=e;for(let e=0;e<o.length;e++){let t=o[e];if((s==null||!Object.hasOwn(s,t))&&!((Array.isArray(s)||r.isArguments(s))&&n.isIndex(t)&&t<s.length))return!1;s=s[t]}return!0}e.has=a})),bGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=oGe(),n=R4(),r=gGe(),i=B4(),a=yGe();function o(e,o){switch(typeof e){case`object`:Object.is(e?.valueOf(),-0)&&(e=`-0`);break;case`number`:e=n.toKey(e);break}return o=r.cloneDeep(o),function(n){let r=i.get(n,e);return r===void 0?a.has(n,e):o===void 0?r===void 0:t.isMatch(r,o)}}e.matchesProperty=o})),xGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=XWe(),n=tGe(),r=mGe(),i=bGe();function a(e){if(e==null)return t.identity;switch(typeof e){case`function`:return e;case`object`:return Array.isArray(e)&&e.length===2?i.matchesProperty(e[0],e[1]):r.matches(e);case`string`:case`symbol`:case`number`:return n.property(e)}}e.iteratee=a})),SGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=JWe(),n=YWe(),r=XWe(),i=eGe(),a=xGe();function o(e,o=r.identity){return i.isArrayLikeObject(e)?t.uniqBy(Array.from(e),n.ary(a.iteratee(o),1)):[]}e.uniqBy=o})),CGe=i(a(((e,t)=>{t.exports=SGe().uniqBy}))());function wGe(e,t,n){return t===!0?(0,CGe.default)(e,n):typeof t==`function`?(0,CGe.default)(e,t):e}var c3=(0,F.createContext)(null),TGe=e=>e,l3=()=>{var e=(0,F.useContext)(c3);return e?e.store.dispatch:TGe},u3=()=>{},EGe=()=>u3,DGe=(e,t)=>e===t;function d3(e){var t=(0,F.useContext)(c3),n=(0,F.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:u3,[t,e]);return(0,mi.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:EGe,t?t.store.getState:u3,t?t.store.getState:u3,n,DGe)}var OGe=(e,t,n)=>{if(t.length===1&&t[0]===n){let t=!1;try{let n={};e(n)===n&&(t=!0)}catch{}if(t){let e;try{throw Error()}catch(t){({stack:e}=t)}console.warn(`The result function returned its own inputs without modification. e.g
|
|
3140
3140
|
\`createSelector([state => state.todos], todos => todos)\`
|
|
3141
3141
|
This could lead to inefficient memoization and unnecessary re-renders.
|
|
3142
|
-
Ensure transformation logic is in the result function, and extraction logic is in the input selectors.`,{stack:e})}}},
|
|
3142
|
+
Ensure transformation logic is in the result function, and extraction logic is in the input selectors.`,{stack:e})}}},kGe=(e,t,n)=>{let{memoize:r,memoizeOptions:i}=t,{inputSelectorResults:a,inputSelectorResultsCopy:o}=e,s=r(()=>({}),...i);if(s.apply(null,a)!==s.apply(null,o)){let e;try{throw Error()}catch(t){({stack:e}=t)}console.warn(`An input selector returned a different result when passed same arguments.
|
|
3143
3143
|
This means your output selector will likely run more frequently than intended.
|
|
3144
3144
|
Avoid returning a new reference inside your input selector, e.g.
|
|
3145
|
-
\`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)\``,{arguments:n,firstInputs:a,secondInputs:o,stack:e})}},kGe={inputStabilityCheck:`once`,identityFunctionCheck:`once`};function AGe(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function jGe(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!=`object`)throw TypeError(t)}function MGe(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var NGe=e=>Array.isArray(e)?e:[e];function PGe(e){let t=Array.isArray(e[0])?e[0]:e;return MGe(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function FGe(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}var IGe=(e,t)=>{let{identityFunctionCheck:n,inputStabilityCheck:r}={...kGe,...t};return{identityFunctionCheck:{shouldRun:n===`always`||n===`once`&&e,run:DGe},inputStabilityCheck:{shouldRun:r===`always`||r===`once`&&e,run:OGe}}},LGe=class{constructor(e){this.value=e}deref(){return this.value}},RGe=typeof WeakRef<`u`?WeakRef:LGe,zGe=0,BGe=1;function f3(){return{s:zGe,v:void 0,o:null,p:null}}function VGe(e,t={}){let n=f3(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=f3(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=f3(),e.set(n,t)):t=r}}let s=t,c;if(t.s===BGe)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=i?.deref?.()??i;e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new RGe(c):c}return s.s=BGe,s.v=c,c}return o.clearCache=()=>{n=f3(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function HGe(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),AGe(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=VGe,argsMemoizeOptions:u=[],devModeChecks:d={}}={...n,...a},f=NGe(c),p=NGe(u),m=PGe(e),h=s(function(){return t++,o.apply(null,arguments)},...f),g=!0,_=l(function(){r++;let e=FGe(m,arguments);i=h.apply(null,e);{let{identityFunctionCheck:t,inputStabilityCheck:n}=IGe(g,d);if(t.shouldRun&&t.run(o,e,i),n.shouldRun){let t=FGe(m,arguments);n.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:s,memoizeOptions:f},arguments)}g&&=!1}return i},...p);return Object.assign(_,{resultFunc:o,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var Q=HGe(VGe),UGe=Object.assign((e,t=Q)=>{jGe(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>UGe}),WGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}e.compareValues=(e,n,r)=>{if(e!==n){let i=t(e),a=t(n);if(i===a&&i===0){if(e<n)return r===`desc`?1:-1;if(e>n)return r===`desc`?-1:1}return r===`desc`?a-i:i-a}return 0}})),GGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`symbol`||e instanceof Symbol}e.isSymbol=t})),KGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=GGe(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(e,i){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||t.isSymbol(e)?!0:typeof e==`string`&&(r.test(e)||!n.test(e))||i!=null&&Object.hasOwn(i,e)}e.isKey=i})),qGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=WGe(),n=KGe(),r=z4();function i(e,i,a,o){if(e==null)return[];a=o?void 0:a,Array.isArray(e)||(e=Object.values(e)),Array.isArray(i)||(i=i==null?[null]:[i]),i.length===0&&(i=[null]),Array.isArray(a)||(a=a==null?[]:[a]),a=a.map(e=>String(e));let s=(e,t)=>{let n=e;for(let e=0;e<t.length&&n!=null;++e)n=n[t[e]];return n},c=(e,t)=>t==null||e==null?t:typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:s(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?s(t,e):typeof t==`object`?t[e]:t,l=i.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||n.isKey(e)?e:{key:e,path:r.toPath(e)}));return e.map(e=>({original:e,criteria:l.map(t=>c(t,e))})).slice().sort((e,n)=>{for(let r=0;r<l.length;r++){let i=t.compareValues(e.criteria[r],n.criteria[r],a[r]);if(i!==0)return i}return 0}).map(e=>e.original)}e.orderBy=i})),JGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}e.flatten=t})),YGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=gGe(),n=ZWe(),r=tGe(),i=rGe();function a(e,a,o){return r.isObject(o)&&(typeof a==`number`&&n.isArrayLike(o)&&t.isIndex(a)&&a<o.length||typeof a==`string`&&a in o)?i.isEqualsSameValueZero(o[a],e):!1}e.isIterateeCall=a})),XGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=qGe(),n=JGe(),r=YGe();function i(e,...i){let a=i.length;return a>1&&r.isIterateeCall(e,i[0],i[1])?i=[]:a>2&&r.isIterateeCall(i[0],i[1],i[2])&&(i=[i[0]]),t.orderBy(e,n.flatten(i),[`asc`])}e.sortBy=i})),p3=i(a(((e,t)=>{t.exports=XGe().sortBy}))()),ZGe=e=>e.legend.settings,QGe=e=>e.legend.size,$Ge=Q([e=>e.legend.payload,ZGe],(e,t)=>{var{itemSorter:n}=t,r=e.flat(1);return n?(0,p3.default)(r,n):r});function eKe(){return d3($Ge)}var m3=1;function tKe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],[t,n]=(0,F.useState)({height:0,left:0,top:0,width:0});return[t,(0,F.useCallback)(e=>{if(e!=null){var r=e.getBoundingClientRect(),i={height:r.height,left:r.left,top:r.top,width:r.width};(Math.abs(i.height-t.height)>m3||Math.abs(i.left-t.left)>m3||Math.abs(i.top-t.top)>m3||Math.abs(i.width-t.width)>m3)&&n({height:i.height,left:i.left,top:i.top,width:i.width})}},[t.width,t.height,t.top,t.left,...e])]}var nKe=typeof Symbol==`function`&&Symbol.observable||`@@observable`,h3=()=>Math.random().toString(36).substring(7).split(``).join(`.`),g3={INIT:`@@redux/INIT${h3()}`,REPLACE:`@@redux/REPLACE${h3()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${h3()}`};function _3(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function rKe(e){if(e===void 0)return`undefined`;if(e===null)return`null`;let t=typeof e;switch(t){case`boolean`:case`string`:case`number`:case`symbol`:case`function`:return t}if(Array.isArray(e))return`array`;if(oKe(e))return`date`;if(aKe(e))return`error`;let n=iKe(e);switch(n){case`Symbol`:case`Promise`:case`WeakMap`:case`WeakSet`:case`Map`:case`Set`:return n}return Object.prototype.toString.call(e).slice(8,-1).toLowerCase().replace(/\s/g,``)}function iKe(e){return typeof e.constructor==`function`?e.constructor.name:null}function aKe(e){return e instanceof Error||typeof e.message==`string`&&e.constructor&&typeof e.constructor.stackTraceLimit==`number`}function oKe(e){return e instanceof Date?!0:typeof e.toDateString==`function`&&typeof e.getDate==`function`&&typeof e.setDate==`function`}function v3(e){let t=typeof e;return t=rKe(e),t}function sKe(e,t,n){if(typeof e!=`function`)throw Error(`Expected the root reducer to be a function. Instead, received: '${v3(e)}'`);if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(`It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.`);if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(`Expected the enhancer to be a function. Instead, received: '${v3(n)}'`);return n(sKe)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(`You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.`);return i}function d(e){if(typeof e!=`function`)throw Error(`Expected the listener to be a function. Instead, received: '${v3(e)}'`);if(c)throw Error(`You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.`);let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(`You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.`);t=!1,l(),o.delete(n),a=null}}}function f(e){if(!_3(e))throw Error(`Actions must be plain objects. Instead, the actual type was: '${v3(e)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);if(e.type===void 0)throw Error(`Actions may not have an undefined "type" property. You may have misspelled an action type string constant.`);if(typeof e.type!=`string`)throw Error(`Action "type" property must be a string. Instead, the actual type was: '${v3(e.type)}'. Value was: '${e.type}' (stringified)`);if(c)throw Error(`Reducers may not dispatch actions.`);try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(`Expected the nextReducer to be a function. Instead, received: '${v3(e)}`);r=e,f({type:g3.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(`Expected the observer to be an object. Instead, received: '${v3(t)}'`);function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[nKe](){return this}}}return f({type:g3.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[nKe]:m}}function cKe(e){typeof console<`u`&&typeof console.error==`function`&&console.error(e);try{throw Error(e)}catch{}}function lKe(e,t,n,r){let i=Object.keys(t),a=n&&n.type===g3.INIT?`preloadedState argument passed to createStore`:`previous state received by the reducer`;if(i.length===0)return`Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.`;if(!_3(e))return`The ${a} has unexpected type of "${v3(e)}". Expected argument to be an object with the following keys: "${i.join(`", "`)}"`;let o=Object.keys(e).filter(e=>!t.hasOwnProperty(e)&&!r[e]);if(o.forEach(e=>{r[e]=!0}),!(n&&n.type===g3.REPLACE)&&o.length>0)return`Unexpected ${o.length>1?`keys`:`key`} "${o.join(`", "`)}" found in ${a}. Expected to find one of the known reducer keys instead: "${i.join(`", "`)}". Unexpected keys will be ignored.`}function uKe(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:g3.INIT})===void 0)throw Error(`The slice reducer for key "${t}" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);if(n(void 0,{type:g3.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(`The slice reducer for key "${t}" returned undefined when probed with a random type. Don't try to handle '${g3.INIT}' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`)})}function dKe(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];e[i]===void 0&&cKe(`No reducer provided for key "${i}"`),typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i={},a;try{uKe(n)}catch(e){a=e}return function(e={},t){if(a)throw a;{let r=lKe(e,n,t,i);r&&cKe(r)}let o=!1,s={};for(let i=0;i<r.length;i++){let a=r[i],c=n[a],l=e[a],u=c(l,t);if(u===void 0){let e=t&&t.type;throw Error(`When called with an action of type ${e?`"${String(e)}"`:`(unknown type)`}, the slice reducer for key "${a}" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`)}s[a]=u,o||=u!==l}return o||=r.length!==Object.keys(e).length,o?s:e}}function y3(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function fKe(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(`Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.`)},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=y3(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function b3(e){return _3(e)&&`type`in e&&typeof e.type==`string`}var pKe=Symbol.for(`immer-nothing`),mKe=Symbol.for(`immer-draftable`),x3=Symbol.for(`immer-state`),hKe=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function S3(e,...t){{let n=hKe[e],r=V3(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var C3=Object,w3=C3.getPrototypeOf,T3=`constructor`,E3=`prototype`,D3=`configurable`,O3=`enumerable`,k3=`writable`,A3=`value`,j3=e=>!!e&&!!e[x3];function M3(e){return e?vKe(e)||L3(e)||!!e[mKe]||!!e[T3]?.[mKe]||R3(e)||z3(e):!1}var gKe=C3[E3][T3].toString(),_Ke=new WeakMap;function vKe(e){if(!e||!B3(e))return!1;let t=w3(e);if(t===null||t===C3[E3])return!0;let n=C3.hasOwnProperty.call(t,T3)&&t[T3];if(n===Object)return!0;if(!V3(n))return!1;let r=_Ke.get(n);return r===void 0&&(r=Function.toString.call(n),_Ke.set(n,r)),r===gKe}function N3(e,t,n=!0){P3(e)===0?(n?Reflect.ownKeys(e):C3.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function P3(e){let t=e[x3];return t?t.type_:L3(e)?1:R3(e)?2:z3(e)?3:0}var yKe=(e,t,n=P3(e))=>n===2?e.has(t):C3[E3].hasOwnProperty.call(e,t),F3=(e,t,n=P3(e))=>n===2?e.get(t):e[t],I3=(e,t,n,r=P3(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function bKe(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var L3=Array.isArray,R3=e=>e instanceof Map,z3=e=>e instanceof Set,B3=e=>typeof e==`object`,V3=e=>typeof e==`function`,H3=e=>typeof e==`boolean`;function xKe(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var U3=e=>e.copy_||e.base_,W3=e=>e.modified_?e.copy_:e.base_;function G3(e,t){if(R3(e))return new Map(e);if(z3(e))return new Set(e);if(L3(e))return Array[E3].slice.call(e);let n=vKe(e);if(t===!0||t===`class_only`&&!n){let t=C3.getOwnPropertyDescriptors(e);delete t[x3];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[k3]===!1&&(a[k3]=!0,a[D3]=!0),(a.get||a.set)&&(t[i]={[D3]:!0,[k3]:!0,[O3]:a[O3],[A3]:e[i]})}return C3.create(w3(e),t)}else{let t=w3(e);if(t!==null&&n)return{...e};let r=C3.create(t);return C3.assign(r,e)}}function K3(e,t=!1){return J3(e)||j3(e)||!M3(e)?e:(P3(e)>1&&C3.defineProperties(e,{set:q3,add:q3,clear:q3,delete:q3}),C3.freeze(e),t&&N3(e,(e,t)=>{K3(t,!0)},!1),e)}function SKe(){S3(2)}var q3={[A3]:SKe};function J3(e){return e===null||!B3(e)?!0:C3.isFrozen(e)}var Y3=`MapSet`,X3=`Patches`,CKe=`ArrayMethods`,wKe={};function Z3(e){let t=wKe[e];return t||S3(0,e),t}var TKe=e=>!!wKe[e],Q3,EKe=()=>Q3,DKe=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:TKe(Y3)?Z3(Y3):void 0,arrayMethodsPlugin_:TKe(CKe)?Z3(CKe):void 0});function OKe(e,t){t&&(e.patchPlugin_=Z3(X3),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function $3(e){e6(e),e.drafts_.forEach(AKe),e.drafts_=null}function e6(e){e===Q3&&(Q3=e.parent_)}var kKe=e=>Q3=DKe(Q3,e);function AKe(e){let t=e[x3];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function jKe(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[x3].modified_&&($3(t),S3(4)),M3(e)&&(e=MKe(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[x3].base_,e,t)}else e=MKe(t,n);return NKe(t,e,!0),$3(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===pKe?void 0:e}function MKe(e,t){if(J3(t))return t;let n=t[x3];if(!n)return n6(t,e.handledSet_,e);if(!t6(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);RKe(n,e)}return n.copy_}function NKe(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&K3(t,n)}function PKe(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var t6=(e,t)=>e.scope_===t,FKe=[];function IKe(e,t,n,r){let i=U3(e),a=e.type_;if(r!==void 0&&F3(i,r,a)===t){I3(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;N3(i,(e,n)=>{if(j3(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??FKe;for(let e of o)I3(i,e,n,a)}function LKe(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!t6(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=W3(i);IKe(e,i.draft_??i,a,n),RKe(i,r)})}function RKe(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}PKe(e)}}function zKe(e,t,n){let{scope_:r}=e;if(j3(n)){let i=n[x3];t6(i,r)&&i.callbacks_.push(function(){s6(e),IKe(e,n,W3(i),t)})}else M3(n)&&e.callbacks_.push(function(){let i=U3(e);e.type_===3?i.has(n)&&n6(n,r.handledSet_,r):F3(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&n6(F3(e.copy_,t,e.type_),r.handledSet_,r)})}function n6(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||j3(e)||t.has(e)||!M3(e)||J3(e)?e:(t.add(e),N3(e,(r,i)=>{if(j3(i)){let t=i[x3];t6(t,n)&&(I3(e,r,W3(t),e.type_),PKe(t))}else M3(i)&&n6(i,t,n)}),e)}function BKe(e,t){let n=L3(e),r={type_:+!!n,scope_:t?t.scope_:EKe(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=r6;n&&(i=[r],a=i6);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var r6={get(e,t){if(t===x3)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=U3(e);if(!yKe(i,t,e.type_))return VKe(e,i,t);let a=i[t];if(e.finalized_||!M3(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&xKe(t))return a;if(a===a6(e.base_,t)){s6(e);let n=e.type_===1?+t:t,r=c6(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in U3(e)},ownKeys(e){return Reflect.ownKeys(U3(e))},set(e,t,n){let r=HKe(U3(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=a6(U3(e),t),i=r?.[x3];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(bKe(n,r)&&(n!==void 0||yKe(e.base_,t,e.type_)))return!0;s6(e),o6(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),zKe(e,t,n),!0)},deleteProperty(e,t){return s6(e),a6(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),o6(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=U3(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[k3]:!0,[D3]:e.type_!==1||t!==`length`,[O3]:r[O3],[A3]:n[t]}},defineProperty(){S3(11)},getPrototypeOf(e){return w3(e.base_)},setPrototypeOf(){S3(12)}},i6={};for(let e in r6){let t=r6[e];i6[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}i6.deleteProperty=function(e,t){return isNaN(parseInt(t))&&S3(13),i6.set.call(this,e,t,void 0)},i6.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&S3(14),r6.set.call(this,e[0],t,n,e[0])};function a6(e,t){let n=e[x3];return(n?U3(n):e)[t]}function VKe(e,t,n){let r=HKe(t,n);return r?A3 in r?r[A3]:r.get?.call(e.draft_):void 0}function HKe(e,t){if(!(t in e))return;let n=w3(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=w3(n)}}function o6(e){e.modified_||(e.modified_=!0,e.parent_&&o6(e.parent_))}function s6(e){e.copy_||=(e.assigned_=new Map,G3(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var UKe=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(V3(e)&&!V3(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}V3(t)||S3(6),n!==void 0&&!V3(n)&&S3(7);let r;if(M3(e)){let i=kKe(this),a=c6(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?$3(i):e6(i)}return OKe(i,n),jKe(r,i)}else if(!e||!B3(e)){if(r=t(e),r===void 0&&(r=e),r===pKe&&(r=void 0),this.autoFreeze_&&K3(r,!0),n){let t=[],i=[];Z3(X3).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else S3(1,e)},this.produceWithPatches=(e,t)=>{if(V3(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},H3(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),H3(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),H3(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){M3(e)||S3(8),j3(e)&&(e=l6(e));let t=kKe(this),n=c6(t,e,void 0);return n[x3].isManual_=!0,e6(t),n}finishDraft(e,t){let n=e&&e[x3];(!n||!n.isManual_)&&S3(9);let{scope_:r}=n;return OKe(r,t),jKe(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Z3(X3).applyPatches_;return j3(e)?r(e,t):this.produce(e,e=>r(e,t))}};function c6(e,t,n,r){let[i,a]=R3(t)?Z3(Y3).proxyMap_(t,n):z3(t)?Z3(Y3).proxySet_(t,n):BKe(t,n);return(n?.scope_??EKe()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?LKe(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function l6(e){return j3(e)||S3(10,e),WKe(e)}function WKe(e){if(!M3(e)||J3(e))return e;let t=e[x3],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=G3(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=G3(e,!0);return N3(n,(e,t)=>{I3(n,e,WKe(t))},r),t&&(t.finalized_=!1),n}var GKe=new UKe().produce;function KKe(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var qKe=KKe(),JKe=KKe,YKe=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?y3:y3.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var XKe=e=>e&&typeof e.match==`function`;function u6(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(`prepareAction did not return an object`);return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>b3(t)&&t.type===e,n}function ZKe(e){return typeof e==`function`&&`type`in e&&XKe(e)}function QKe(e){let t=e?`${e}`.split(`/`):[],n=t[t.length-1]||`actionCreator`;return`Detected an action creator with type "${e||`unknown`}" being dispatched.
|
|
3146
|
-
Make sure you're calling the action creator before dispatching, i.e. \`dispatch(${n}())\` instead of \`dispatch(${n})\`. This is necessary even if the action has no payload.`}function
|
|
3145
|
+
\`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)\``,{arguments:n,firstInputs:a,secondInputs:o,stack:e})}},AGe={inputStabilityCheck:`once`,identityFunctionCheck:`once`};function jGe(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function MGe(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!=`object`)throw TypeError(t)}function NGe(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var PGe=e=>Array.isArray(e)?e:[e];function FGe(e){let t=Array.isArray(e[0])?e[0]:e;return NGe(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function IGe(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}var LGe=(e,t)=>{let{identityFunctionCheck:n,inputStabilityCheck:r}={...AGe,...t};return{identityFunctionCheck:{shouldRun:n===`always`||n===`once`&&e,run:OGe},inputStabilityCheck:{shouldRun:r===`always`||r===`once`&&e,run:kGe}}},RGe=class{constructor(e){this.value=e}deref(){return this.value}},zGe=typeof WeakRef<`u`?WeakRef:RGe,BGe=0,VGe=1;function f3(){return{s:BGe,v:void 0,o:null,p:null}}function HGe(e,t={}){let n=f3(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=f3(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=f3(),e.set(n,t)):t=r}}let s=t,c;if(t.s===VGe)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=i?.deref?.()??i;e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new zGe(c):c}return s.s=VGe,s.v=c,c}return o.clearCache=()=>{n=f3(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function UGe(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),jGe(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=HGe,argsMemoizeOptions:u=[],devModeChecks:d={}}={...n,...a},f=PGe(c),p=PGe(u),m=FGe(e),h=s(function(){return t++,o.apply(null,arguments)},...f),g=!0,_=l(function(){r++;let e=IGe(m,arguments);i=h.apply(null,e);{let{identityFunctionCheck:t,inputStabilityCheck:n}=LGe(g,d);if(t.shouldRun&&t.run(o,e,i),n.shouldRun){let t=IGe(m,arguments);n.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:s,memoizeOptions:f},arguments)}g&&=!1}return i},...p);return Object.assign(_,{resultFunc:o,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var Q=UGe(HGe),WGe=Object.assign((e,t=Q)=>{MGe(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>WGe}),GGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}e.compareValues=(e,n,r)=>{if(e!==n){let i=t(e),a=t(n);if(i===a&&i===0){if(e<n)return r===`desc`?1:-1;if(e>n)return r===`desc`?-1:1}return r===`desc`?a-i:i-a}return 0}})),KGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return typeof e==`symbol`||e instanceof Symbol}e.isSymbol=t})),qGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=KGe(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(e,i){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||t.isSymbol(e)?!0:typeof e==`string`&&(r.test(e)||!n.test(e))||i!=null&&Object.hasOwn(i,e)}e.isKey=i})),JGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=GGe(),n=qGe(),r=z4();function i(e,i,a,o){if(e==null)return[];a=o?void 0:a,Array.isArray(e)||(e=Object.values(e)),Array.isArray(i)||(i=i==null?[null]:[i]),i.length===0&&(i=[null]),Array.isArray(a)||(a=a==null?[]:[a]),a=a.map(e=>String(e));let s=(e,t)=>{let n=e;for(let e=0;e<t.length&&n!=null;++e)n=n[t[e]];return n},c=(e,t)=>t==null||e==null?t:typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:s(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?s(t,e):typeof t==`object`?t[e]:t,l=i.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||n.isKey(e)?e:{key:e,path:r.toPath(e)}));return e.map(e=>({original:e,criteria:l.map(t=>c(t,e))})).slice().sort((e,n)=>{for(let r=0;r<l.length;r++){let i=t.compareValues(e.criteria[r],n.criteria[r],a[r]);if(i!==0)return i}return 0}).map(e=>e.original)}e.orderBy=i})),YGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}e.flatten=t})),XGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=_Ge(),n=QWe(),r=nGe(),i=iGe();function a(e,a,o){return r.isObject(o)&&(typeof a==`number`&&n.isArrayLike(o)&&t.isIndex(a)&&a<o.length||typeof a==`string`&&a in o)?i.isEqualsSameValueZero(o[a],e):!1}e.isIterateeCall=a})),ZGe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=JGe(),n=YGe(),r=XGe();function i(e,...i){let a=i.length;return a>1&&r.isIterateeCall(e,i[0],i[1])?i=[]:a>2&&r.isIterateeCall(i[0],i[1],i[2])&&(i=[i[0]]),t.orderBy(e,n.flatten(i),[`asc`])}e.sortBy=i})),p3=i(a(((e,t)=>{t.exports=ZGe().sortBy}))()),QGe=e=>e.legend.settings,$Ge=e=>e.legend.size,eKe=Q([e=>e.legend.payload,QGe],(e,t)=>{var{itemSorter:n}=t,r=e.flat(1);return n?(0,p3.default)(r,n):r});function tKe(){return d3(eKe)}var m3=1;function nKe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],[t,n]=(0,F.useState)({height:0,left:0,top:0,width:0});return[t,(0,F.useCallback)(e=>{if(e!=null){var r=e.getBoundingClientRect(),i={height:r.height,left:r.left,top:r.top,width:r.width};(Math.abs(i.height-t.height)>m3||Math.abs(i.left-t.left)>m3||Math.abs(i.top-t.top)>m3||Math.abs(i.width-t.width)>m3)&&n({height:i.height,left:i.left,top:i.top,width:i.width})}},[t.width,t.height,t.top,t.left,...e])]}var rKe=typeof Symbol==`function`&&Symbol.observable||`@@observable`,h3=()=>Math.random().toString(36).substring(7).split(``).join(`.`),g3={INIT:`@@redux/INIT${h3()}`,REPLACE:`@@redux/REPLACE${h3()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${h3()}`};function _3(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function iKe(e){if(e===void 0)return`undefined`;if(e===null)return`null`;let t=typeof e;switch(t){case`boolean`:case`string`:case`number`:case`symbol`:case`function`:return t}if(Array.isArray(e))return`array`;if(sKe(e))return`date`;if(oKe(e))return`error`;let n=aKe(e);switch(n){case`Symbol`:case`Promise`:case`WeakMap`:case`WeakSet`:case`Map`:case`Set`:return n}return Object.prototype.toString.call(e).slice(8,-1).toLowerCase().replace(/\s/g,``)}function aKe(e){return typeof e.constructor==`function`?e.constructor.name:null}function oKe(e){return e instanceof Error||typeof e.message==`string`&&e.constructor&&typeof e.constructor.stackTraceLimit==`number`}function sKe(e){return e instanceof Date?!0:typeof e.toDateString==`function`&&typeof e.getDate==`function`&&typeof e.setDate==`function`}function v3(e){let t=typeof e;return t=iKe(e),t}function cKe(e,t,n){if(typeof e!=`function`)throw Error(`Expected the root reducer to be a function. Instead, received: '${v3(e)}'`);if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(`It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.`);if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(`Expected the enhancer to be a function. Instead, received: '${v3(n)}'`);return n(cKe)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(`You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.`);return i}function d(e){if(typeof e!=`function`)throw Error(`Expected the listener to be a function. Instead, received: '${v3(e)}'`);if(c)throw Error(`You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.`);let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(`You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.`);t=!1,l(),o.delete(n),a=null}}}function f(e){if(!_3(e))throw Error(`Actions must be plain objects. Instead, the actual type was: '${v3(e)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);if(e.type===void 0)throw Error(`Actions may not have an undefined "type" property. You may have misspelled an action type string constant.`);if(typeof e.type!=`string`)throw Error(`Action "type" property must be a string. Instead, the actual type was: '${v3(e.type)}'. Value was: '${e.type}' (stringified)`);if(c)throw Error(`Reducers may not dispatch actions.`);try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(`Expected the nextReducer to be a function. Instead, received: '${v3(e)}`);r=e,f({type:g3.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(`Expected the observer to be an object. Instead, received: '${v3(t)}'`);function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[rKe](){return this}}}return f({type:g3.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[rKe]:m}}function lKe(e){typeof console<`u`&&typeof console.error==`function`&&console.error(e);try{throw Error(e)}catch{}}function uKe(e,t,n,r){let i=Object.keys(t),a=n&&n.type===g3.INIT?`preloadedState argument passed to createStore`:`previous state received by the reducer`;if(i.length===0)return`Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.`;if(!_3(e))return`The ${a} has unexpected type of "${v3(e)}". Expected argument to be an object with the following keys: "${i.join(`", "`)}"`;let o=Object.keys(e).filter(e=>!t.hasOwnProperty(e)&&!r[e]);if(o.forEach(e=>{r[e]=!0}),!(n&&n.type===g3.REPLACE)&&o.length>0)return`Unexpected ${o.length>1?`keys`:`key`} "${o.join(`", "`)}" found in ${a}. Expected to find one of the known reducer keys instead: "${i.join(`", "`)}". Unexpected keys will be ignored.`}function dKe(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:g3.INIT})===void 0)throw Error(`The slice reducer for key "${t}" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);if(n(void 0,{type:g3.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(`The slice reducer for key "${t}" returned undefined when probed with a random type. Don't try to handle '${g3.INIT}' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`)})}function fKe(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];e[i]===void 0&&lKe(`No reducer provided for key "${i}"`),typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i={},a;try{dKe(n)}catch(e){a=e}return function(e={},t){if(a)throw a;{let r=uKe(e,n,t,i);r&&lKe(r)}let o=!1,s={};for(let i=0;i<r.length;i++){let a=r[i],c=n[a],l=e[a],u=c(l,t);if(u===void 0){let e=t&&t.type;throw Error(`When called with an action of type ${e?`"${String(e)}"`:`(unknown type)`}, the slice reducer for key "${a}" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`)}s[a]=u,o||=u!==l}return o||=r.length!==Object.keys(e).length,o?s:e}}function y3(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function pKe(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(`Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.`)},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=y3(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function b3(e){return _3(e)&&`type`in e&&typeof e.type==`string`}var mKe=Symbol.for(`immer-nothing`),hKe=Symbol.for(`immer-draftable`),x3=Symbol.for(`immer-state`),gKe=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function S3(e,...t){{let n=gKe[e],r=V3(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var C3=Object,w3=C3.getPrototypeOf,T3=`constructor`,E3=`prototype`,D3=`configurable`,O3=`enumerable`,k3=`writable`,A3=`value`,j3=e=>!!e&&!!e[x3];function M3(e){return e?yKe(e)||L3(e)||!!e[hKe]||!!e[T3]?.[hKe]||R3(e)||z3(e):!1}var _Ke=C3[E3][T3].toString(),vKe=new WeakMap;function yKe(e){if(!e||!B3(e))return!1;let t=w3(e);if(t===null||t===C3[E3])return!0;let n=C3.hasOwnProperty.call(t,T3)&&t[T3];if(n===Object)return!0;if(!V3(n))return!1;let r=vKe.get(n);return r===void 0&&(r=Function.toString.call(n),vKe.set(n,r)),r===_Ke}function N3(e,t,n=!0){P3(e)===0?(n?Reflect.ownKeys(e):C3.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function P3(e){let t=e[x3];return t?t.type_:L3(e)?1:R3(e)?2:z3(e)?3:0}var bKe=(e,t,n=P3(e))=>n===2?e.has(t):C3[E3].hasOwnProperty.call(e,t),F3=(e,t,n=P3(e))=>n===2?e.get(t):e[t],I3=(e,t,n,r=P3(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function xKe(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var L3=Array.isArray,R3=e=>e instanceof Map,z3=e=>e instanceof Set,B3=e=>typeof e==`object`,V3=e=>typeof e==`function`,H3=e=>typeof e==`boolean`;function SKe(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var U3=e=>e.copy_||e.base_,W3=e=>e.modified_?e.copy_:e.base_;function G3(e,t){if(R3(e))return new Map(e);if(z3(e))return new Set(e);if(L3(e))return Array[E3].slice.call(e);let n=yKe(e);if(t===!0||t===`class_only`&&!n){let t=C3.getOwnPropertyDescriptors(e);delete t[x3];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[k3]===!1&&(a[k3]=!0,a[D3]=!0),(a.get||a.set)&&(t[i]={[D3]:!0,[k3]:!0,[O3]:a[O3],[A3]:e[i]})}return C3.create(w3(e),t)}else{let t=w3(e);if(t!==null&&n)return{...e};let r=C3.create(t);return C3.assign(r,e)}}function K3(e,t=!1){return J3(e)||j3(e)||!M3(e)?e:(P3(e)>1&&C3.defineProperties(e,{set:q3,add:q3,clear:q3,delete:q3}),C3.freeze(e),t&&N3(e,(e,t)=>{K3(t,!0)},!1),e)}function CKe(){S3(2)}var q3={[A3]:CKe};function J3(e){return e===null||!B3(e)?!0:C3.isFrozen(e)}var Y3=`MapSet`,X3=`Patches`,wKe=`ArrayMethods`,TKe={};function Z3(e){let t=TKe[e];return t||S3(0,e),t}var EKe=e=>!!TKe[e],Q3,DKe=()=>Q3,OKe=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:EKe(Y3)?Z3(Y3):void 0,arrayMethodsPlugin_:EKe(wKe)?Z3(wKe):void 0});function kKe(e,t){t&&(e.patchPlugin_=Z3(X3),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function $3(e){e6(e),e.drafts_.forEach(jKe),e.drafts_=null}function e6(e){e===Q3&&(Q3=e.parent_)}var AKe=e=>Q3=OKe(Q3,e);function jKe(e){let t=e[x3];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function MKe(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[x3].modified_&&($3(t),S3(4)),M3(e)&&(e=NKe(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[x3].base_,e,t)}else e=NKe(t,n);return PKe(t,e,!0),$3(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===mKe?void 0:e}function NKe(e,t){if(J3(t))return t;let n=t[x3];if(!n)return n6(t,e.handledSet_,e);if(!t6(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);zKe(n,e)}return n.copy_}function PKe(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&K3(t,n)}function FKe(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var t6=(e,t)=>e.scope_===t,IKe=[];function LKe(e,t,n,r){let i=U3(e),a=e.type_;if(r!==void 0&&F3(i,r,a)===t){I3(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;N3(i,(e,n)=>{if(j3(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??IKe;for(let e of o)I3(i,e,n,a)}function RKe(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!t6(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=W3(i);LKe(e,i.draft_??i,a,n),zKe(i,r)})}function zKe(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}FKe(e)}}function BKe(e,t,n){let{scope_:r}=e;if(j3(n)){let i=n[x3];t6(i,r)&&i.callbacks_.push(function(){s6(e),LKe(e,n,W3(i),t)})}else M3(n)&&e.callbacks_.push(function(){let i=U3(e);e.type_===3?i.has(n)&&n6(n,r.handledSet_,r):F3(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&n6(F3(e.copy_,t,e.type_),r.handledSet_,r)})}function n6(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||j3(e)||t.has(e)||!M3(e)||J3(e)?e:(t.add(e),N3(e,(r,i)=>{if(j3(i)){let t=i[x3];t6(t,n)&&(I3(e,r,W3(t),e.type_),FKe(t))}else M3(i)&&n6(i,t,n)}),e)}function VKe(e,t){let n=L3(e),r={type_:+!!n,scope_:t?t.scope_:DKe(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=r6;n&&(i=[r],a=i6);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var r6={get(e,t){if(t===x3)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=U3(e);if(!bKe(i,t,e.type_))return HKe(e,i,t);let a=i[t];if(e.finalized_||!M3(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&SKe(t))return a;if(a===a6(e.base_,t)){s6(e);let n=e.type_===1?+t:t,r=c6(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in U3(e)},ownKeys(e){return Reflect.ownKeys(U3(e))},set(e,t,n){let r=UKe(U3(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=a6(U3(e),t),i=r?.[x3];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(xKe(n,r)&&(n!==void 0||bKe(e.base_,t,e.type_)))return!0;s6(e),o6(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),BKe(e,t,n),!0)},deleteProperty(e,t){return s6(e),a6(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),o6(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=U3(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[k3]:!0,[D3]:e.type_!==1||t!==`length`,[O3]:r[O3],[A3]:n[t]}},defineProperty(){S3(11)},getPrototypeOf(e){return w3(e.base_)},setPrototypeOf(){S3(12)}},i6={};for(let e in r6){let t=r6[e];i6[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}i6.deleteProperty=function(e,t){return isNaN(parseInt(t))&&S3(13),i6.set.call(this,e,t,void 0)},i6.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&S3(14),r6.set.call(this,e[0],t,n,e[0])};function a6(e,t){let n=e[x3];return(n?U3(n):e)[t]}function HKe(e,t,n){let r=UKe(t,n);return r?A3 in r?r[A3]:r.get?.call(e.draft_):void 0}function UKe(e,t){if(!(t in e))return;let n=w3(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=w3(n)}}function o6(e){e.modified_||(e.modified_=!0,e.parent_&&o6(e.parent_))}function s6(e){e.copy_||=(e.assigned_=new Map,G3(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var WKe=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(V3(e)&&!V3(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}V3(t)||S3(6),n!==void 0&&!V3(n)&&S3(7);let r;if(M3(e)){let i=AKe(this),a=c6(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?$3(i):e6(i)}return kKe(i,n),MKe(r,i)}else if(!e||!B3(e)){if(r=t(e),r===void 0&&(r=e),r===mKe&&(r=void 0),this.autoFreeze_&&K3(r,!0),n){let t=[],i=[];Z3(X3).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else S3(1,e)},this.produceWithPatches=(e,t)=>{if(V3(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},H3(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),H3(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),H3(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){M3(e)||S3(8),j3(e)&&(e=l6(e));let t=AKe(this),n=c6(t,e,void 0);return n[x3].isManual_=!0,e6(t),n}finishDraft(e,t){let n=e&&e[x3];(!n||!n.isManual_)&&S3(9);let{scope_:r}=n;return kKe(r,t),MKe(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Z3(X3).applyPatches_;return j3(e)?r(e,t):this.produce(e,e=>r(e,t))}};function c6(e,t,n,r){let[i,a]=R3(t)?Z3(Y3).proxyMap_(t,n):z3(t)?Z3(Y3).proxySet_(t,n):VKe(t,n);return(n?.scope_??DKe()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?RKe(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function l6(e){return j3(e)||S3(10,e),GKe(e)}function GKe(e){if(!M3(e)||J3(e))return e;let t=e[x3],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=G3(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=G3(e,!0);return N3(n,(e,t)=>{I3(n,e,GKe(t))},r),t&&(t.finalized_=!1),n}var KKe=new WKe().produce;function qKe(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var JKe=qKe(),YKe=qKe,XKe=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?y3:y3.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var ZKe=e=>e&&typeof e.match==`function`;function u6(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(`prepareAction did not return an object`);return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>b3(t)&&t.type===e,n}function QKe(e){return typeof e==`function`&&`type`in e&&ZKe(e)}function $Ke(e){let t=e?`${e}`.split(`/`):[],n=t[t.length-1]||`actionCreator`;return`Detected an action creator with type "${e||`unknown`}" being dispatched.
|
|
3146
|
+
Make sure you're calling the action creator before dispatching, i.e. \`dispatch(${n}())\` instead of \`dispatch(${n})\`. This is necessary even if the action has no payload.`}function eqe(e={}){let{isActionCreator:t=QKe}=e;return()=>e=>n=>(t(n)&&console.warn($Ke(n.type)),e(n))}function tqe(e,t){let n=0;return{measureTime(e){let t=Date.now();try{return e()}finally{n+=Date.now()-t}},warnIfExceeded(){n>e&&console.warn(`${t} took ${n}ms, which is more than the warning threshold of ${e}ms.
|
|
3147
3147
|
If your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.
|
|
3148
|
-
It is disabled in production builds, so you don't need to worry about that.`)}}}var
|
|
3148
|
+
It is disabled in production builds, so you don't need to worry about that.`)}}}var nqe=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function rqe(e){return M3(e)?KKe(e,()=>{}):e}function d6(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function iqe(e){return typeof e!=`object`||!e||Object.isFrozen(e)}function aqe(e,t,n){let r=oqe(e,t,n);return{detectMutations(){return sqe(e,t,r,n)}}}function oqe(e,t=[],n,r=``,i=new Set){let a={value:n};if(!e(n)&&!i.has(n)){i.add(n),a.children={};let o=t.length>0;for(let i in n){let s=r?r+`.`+i:i;o&&t.some(e=>e instanceof RegExp?e.test(s):s===e)||(a.children[i]=oqe(e,t,n[i],s))}}return a}function sqe(e,t=[],n,r,i=!1,a=``){let o=n?n.value:void 0,s=o===r;if(i&&!s&&!Number.isNaN(r))return{wasMutated:!0,path:a};if(e(o)||e(r))return{wasMutated:!1};let c={};for(let e in n.children)c[e]=!0;for(let e in r)c[e]=!0;let l=t.length>0;for(let i in c){let o=a?a+`.`+i:i;if(l&&t.some(e=>e instanceof RegExp?e.test(o):o===e))continue;let c=sqe(e,t,n.children[i],r[i],s,o);if(c.wasMutated)return c}return{wasMutated:!1}}function cqe(e={}){{let t=function(e,t,r,i){return JSON.stringify(e,n(t,i),r)},n=function(e,t){let n=[],r=[];return t||=function(e,t){return n[0]===t?`[Circular ~]`:`[Circular ~.`+r.slice(0,n.indexOf(t)).join(`.`)+`]`},function(i,a){if(n.length>0){var o=n.indexOf(this);~o?n.splice(o+1):n.push(this),~o?r.splice(o,1/0,i):r.push(i),~n.indexOf(a)&&(a=t.call(this,i,a))}else n.push(a);return e==null?a:e.call(this,i,a)}},{isImmutable:r=iqe,ignoredPaths:i,warnAfter:a=32}=e,o=aqe.bind(null,r,i);return({getState:e})=>{let n=e(),r=o(n),i;return s=>c=>{let l=tqe(a,`ImmutableStateInvariantMiddleware`);l.measureTime(()=>{if(n=e(),i=r.detectMutations(),r=o(n),i.wasMutated)throw Error(`A state mutation was detected between dispatches, in the path '${i.path||``}'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`)});let u=s(c);return l.measureTime(()=>{if(n=e(),i=r.detectMutations(),r=o(n),i.wasMutated)throw Error(`A state mutation was detected inside a dispatch, in the path: ${i.path||``}. Take a look at the reducer(s) handling the action ${t(c)}. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`)}),l.warnIfExceeded(),u}}}}function lqe(e){let t=typeof e;return e==null||t===`string`||t===`boolean`||t===`number`||Array.isArray(e)||_3(e)}function f6(e,t=``,n=lqe,r,i=[],a){let o;if(!n(e))return{keyPath:t||`<root>`,value:e};if(typeof e!=`object`||!e||a?.has(e))return!1;let s=r==null?Object.entries(e):r(e),c=i.length>0;for(let[e,l]of s){let s=t?t+`.`+e:e;if(!(c&&i.some(e=>e instanceof RegExp?e.test(s):s===e))){if(!n(l))return{keyPath:s,value:l};if(typeof l==`object`&&(o=f6(l,s,n,r,i,a),o))return o}}return a&&uqe(e)&&a.add(e),!1}function uqe(e){if(!Object.isFrozen(e))return!1;for(let t of Object.values(e))if(!(typeof t!=`object`||!t)&&!uqe(t))return!1;return!0}function dqe(e={}){{let{isSerializable:t=lqe,getEntries:n,ignoredActions:r=[],ignoredActionPaths:i=[`meta.arg`,`meta.baseQueryMeta`],ignoredPaths:a=[],warnAfter:o=32,ignoreState:s=!1,ignoreActions:c=!1,disableCache:l=!1}=e,u=!l&&WeakSet?new WeakSet:void 0;return e=>l=>d=>{if(!b3(d))return l(d);let f=l(d),p=tqe(o,`SerializableStateInvariantMiddleware`);return!c&&!(r.length&&r.indexOf(d.type)!==-1)&&p.measureTime(()=>{let e=f6(d,``,t,n,i,u);if(e){let{keyPath:t,value:n}=e;console.error(`A non-serializable value was detected in an action, in the path: \`${t}\`. Value:`,n,`
|
|
3149
3149
|
Take a look at the logic that dispatched this action: `,d,`
|
|
3150
3150
|
(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)`,`
|
|
3151
3151
|
(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)`)}}),s||(p.measureTime(()=>{let r=f6(e.getState(),``,t,n,a,u);if(r){let{keyPath:e,value:t}=r;console.error(`A non-serializable value was detected in the state, in the path: \`${e}\`. Value:`,t,`
|
|
3152
3152
|
Take a look at the reducer(s) handling this action type: ${d.type}.
|
|
3153
|
-
(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`)}}),p.warnIfExceeded()),f}}}function p6(e){return typeof e==`boolean`}var dqe=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new tqe;if(t&&(p6(t)?a.push(qKe):a.push(JKe(t.extraArgument))),n){let e={};p6(n)||(e=n),a.unshift(sqe(e))}if(r){let e={};p6(r)||(e=r),a.push(uqe(e))}if(i){let e={};p6(i)||(e=i),a.unshift($Ke(e))}return a},fqe=`RTK_autoBatch`,m6=()=>e=>({payload:e,meta:{[fqe]:!0}}),pqe=e=>t=>{setTimeout(t,e)},mqe=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},hqe=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?mqe(window.requestAnimationFrame,100):pqe(10):e.type===`callback`?e.queueNotification:pqe(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[fqe],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},gqe=e=>function(t){let{autoBatch:n=!0}=t??{},r=new tqe(e);return n&&r.push(hqe(typeof n==`object`?n:void 0)),r};function _qe(e){let t=dqe(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(_3(n))c=dKe(n);else throw Error("`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers");if(r&&typeof r!=`function`)throw Error("`middleware` field must be a callback");let l;if(typeof r==`function`){if(l=r(t),!Array.isArray(l))throw Error(`when using a middleware builder function, an array of middleware must be returned`)}else l=t();if(l.some(e=>typeof e!=`function`))throw Error(`each middleware provided to configureStore must be a function`);if(a){let e=new Set;l.forEach(t=>{if(e.has(t))throw Error(`Duplicate middleware references found when creating the store. Ensure that each middleware is only included once.`);e.add(t)})}let u=y3;i&&(u=YKe({trace:!0,...typeof i==`object`&&i}));let d=fKe(...l),f=gqe(d);if(s&&typeof s!=`function`)throw Error("`enhancers` field must be a callback");let p=typeof s==`function`?s(f):f();if(!Array.isArray(p))throw Error("`enhancers` callback must return an array");if(p.some(e=>typeof e!=`function`))throw Error(`each enhancer provided to configureStore must be a function`);l.length&&!p.includes(d)&&console.error("middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`");let m=u(...p);return sKe(c,o,m)}function vqe(e){let t={},n=[],r,i={addCase(e,a){if(n.length>0)throw Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`");let o=typeof e==`string`?e:e.type;if(!o)throw Error("`builder.addCase` cannot be called with an empty action type");if(o in t)throw Error(`\`builder.addCase\` cannot be called with two reducers for the same action type '${o}'`);return t[o]=a,i},addAsyncThunk(e,a){if(r)throw Error("`builder.addAsyncThunk` should only be called before calling `builder.addDefaultCase`");return a.pending&&(t[e.pending.type]=a.pending),a.rejected&&(t[e.rejected.type]=a.rejected),a.fulfilled&&(t[e.fulfilled.type]=a.fulfilled),a.settled&&n.push({matcher:e.settled,reducer:a.settled}),i},addMatcher(e,t){if(r)throw Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if(r)throw Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}function yqe(e){return typeof e==`function`}function bqe(e,t){if(typeof t==`object`)throw Error("The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer");let[n,r,i]=vqe(t),a;if(yqe(e))a=()=>nqe(e());else{let t=nqe(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n)if(j3(e)){let r=n(e,t);return r===void 0?e:r}else if(M3(e))return GKe(e,e=>n(e,t));else{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}return e},e)}return o.getInitialState=a,o}var xqe=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,Sqe=(e=21)=>{let t=``,n=e;for(;n--;)t+=xqe[Math.random()*64|0];return t},Cqe=Symbol.for(`rtk-slice-createasyncthunk`);function wqe(e,t){return`${e}/${t}`}function Tqe({creators:e}={}){let t=e?.asyncThunk?.[Cqe];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error("`name` is a required option for createSlice");typeof process<`u`&&e.initialState===void 0&&console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`");let i=(typeof e.reducers==`function`?e.reducers(Dqe()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error("`context.addCase` cannot be called with an empty action type");if(n in o.sliceCaseReducersByType)throw Error("`context.addCase` cannot be called with two reducers for the same action type: "+n);return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:wqe(n,r),createNotation:typeof e.reducers==`function`};kqe(a)?jqe(o,a,s,t):Oqe(o,a,s)});function c(){if(typeof e.extraReducers==`object`)throw Error("The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice");let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?vqe(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return bqe(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];if(i===void 0)if(n)i=d6(d,r,m);else throw Error(`selectSlice returned undefined for an uninjected slice reducer`);return i}function i(t=l){return d6(d6(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=Eqe(a,t,()=>d6(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function Eqe(e,t,n,r){function i(i,...a){let o=t(i);if(o===void 0)if(r)o=n();else throw Error(`selectState returned undefined for an uninjected slice reducer`);return e(o,...a)}return i.unwrapped=e,i}var h6=Tqe();function Dqe(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function Oqe({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!Aqe(r))throw Error("Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.");a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?u6(e,o):u6(e))}function kqe(e){return e._reducerDefinitionType===`asyncThunk`}function Aqe(e){return e._reducerDefinitionType===`reducerWithPrepare`}function jqe({type:e,reducerName:t},n,r,i){if(!i)throw Error("Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.");let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||g6,pending:s||g6,rejected:c||g6,settled:l||g6})}function g6(){}var Mqe=`task`,Nqe=`listener`,Pqe=`completed`,_6=`cancelled`,Fqe=`task-${_6}`,Iqe=`task-${Pqe}`,v6=`${Nqe}-${_6}`,Lqe=`${Nqe}-${Pqe}`,y6=class{constructor(e){this.code=e,this.message=`${Mqe} ${_6} (reason: ${e})`}code;name=`TaskAbortError`;message},b6=(e,t)=>{if(typeof e!=`function`)throw TypeError(`${t} is not a function`)},x6=()=>{},Rqe=(e,t=x6)=>(e.catch(t),e),zqe=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),S6=e=>{if(e.aborted)throw new y6(e.reason)};function Bqe(e,t){let n=x6;return new Promise((r,i)=>{let a=()=>i(new y6(e.reason));if(e.aborted){a();return}n=zqe(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=x6})}var Vqe=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof y6?`cancelled`:`rejected`,error:e}}finally{t?.()}},C6=e=>t=>Rqe(Bqe(e,t).then(t=>(S6(e),t))),Hqe=e=>{let t=C6(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:w6}=Object,Uqe={},T6=`listenerMiddleware`,Wqe=(e,t)=>{let n=t=>zqe(e,()=>t.abort(e.reason));return(r,i)=>{b6(r,`taskExecutor`);let a=new AbortController;n(a);let o=Vqe(async()=>{S6(e),S6(a.signal);let t=await r({pause:C6(a.signal),delay:Hqe(a.signal),signal:a.signal});return S6(a.signal),t},()=>a.abort(Iqe));return i?.autoJoin&&t.push(o.catch(x6)),{result:C6(e)(o),cancel(){a.abort(Fqe)}}}},Gqe=(e,t)=>{let n=async(n,r)=>{S6(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await Bqe(t,Promise.race(a));return S6(t),e}finally{i()}};return((e,t)=>Rqe(n(e,t)))},Kqe=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=u6(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(`Creating or removing a listener requires one of the known fields for matching an action`);return b6(a,`options.listener`),{predicate:i,type:t,effect:a}},qqe=w6(e=>{let{type:t,predicate:n,effect:r}=Kqe(e);return{id:Sqe(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(`Unsubscribe not initialized`)}}},{withTypes:()=>qqe}),Jqe=(e,t)=>{let{type:n,effect:r,predicate:i}=Kqe(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},E6=e=>{e.pending.forEach(e=>{e.abort(v6)})},Yqe=(e,t)=>()=>{for(let e of t.keys())E6(e);e.clear()},Xqe=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},Zqe=w6(u6(`${T6}/add`),{withTypes:()=>Zqe}),Qqe=u6(`${T6}/removeAll`),$qe=w6(u6(`${T6}/remove`),{withTypes:()=>$qe}),eJe=(...e)=>{console.error(`${T6}/error`,...e)},D6=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=eJe}=e;b6(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&E6(e)}),c=(e=>s(Jqe(t,e)??qqe(e)));w6(c,{withTypes:()=>c});let l=e=>{let n=Jqe(t,e);return n&&(n.unsubscribe(),e.cancelActive&&E6(n)),!!n};w6(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=Gqe(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,w6({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:Hqe(u.signal),pause:C6(u.signal),extra:a,signal:u.signal,fork:Wqe(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(v6),n.delete(e))})},cancel:()=>{u.abort(v6),e.pending.delete(u)},throwIfCancelled:()=>{S6(u.signal)}})))}catch(e){e instanceof y6||Xqe(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(Lqe),i(e),e.pending.delete(u)}},d=Yqe(t,n);return{middleware:e=>n=>r=>{if(!b3(r))return n(r);if(Zqe.match(r))return c(r.payload);if(Qqe.match(r)){d();return}if($qe.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===Uqe)throw Error(`${T6}: getOriginalState can only be called synchronously`);return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,Xqe(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=Uqe}return s},startListening:c,stopListening:l,clearListeners:d}},tJe=h6({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),{setMargin:nJe,setLayout:rJe,setChartSize:iJe,setScale:aJe}=tJe.actions,oJe=tJe.reducer;function sJe(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function O6(e){return Number.isFinite(e)}function k6(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function cJe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function A6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cJe(Object(n),!0).forEach(function(t){lJe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cJe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function lJe(e,t,n){return(t=uJe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uJe(e){var t=dJe(e,`string`);return typeof t==`symbol`?t:t+``}function dJe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function j6(e,t,n){return Q4(e)||Q4(t)?n:J4(t)?(0,U4.default)(e,t,n):typeof t==`function`?t(e):n}var fJe=(e,t,n)=>{if(t&&n){var{width:r,height:i}=n,{align:a,verticalAlign:o,layout:s}=t;if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&q4(e[a]))return A6(A6({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&q4(e[o]))return A6(A6({},e),{},{[o]:e[o]+(i||0)})}return e},M6=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,pJe={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0,o=0;o<t;++o){var s=e[o]?.[r];if(s!=null){var c=s[1],l=s[0],u=G4(c)?l:c;u>=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:aWe,none:F4,silhouette:oWe,wiggle:sWe,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0;a<t;++a){var o=e[a]?.[r];if(o!=null){var s=G4(o[1])?o[0]:o[1];s>=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},mJe=(e,t,n)=>{var r=pJe[n]??F4,i=iWe().keys(t).value((e,t)=>Number(j6(e,t,0))).order(I4).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=j6(e[i],t[r],0);Array.isArray(a)&&a.length===2&&q4(a[0])&&q4(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i},hJe=e=>{var t=e.flat(2).filter(q4);return[Math.min(...t),Math.max(...t)]},gJe=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],_Je=(e,t,n)=>{if(e!=null)return gJe(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var{stackedData:o}=a,s=o.reduce((e,r)=>{var i=hJe(sJe(r,t,n));return!O6(i[0])||!O6(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(s[0],r[0]),Math.max(s[1],r[1])]},[1/0,-1/0]))},vJe=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,yJe=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,bJe=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=(0,p3.default)(t,e=>e.coordinate),a=1/0,o=1,s=i.length;o<s;o++){var c=i[o],l=i[o-1];a=Math.min((c?.coordinate||0)-(l?.coordinate||0),a)}return a===1/0?0:a}return n?void 0:0};function xJe(e){var{tooltipEntrySettings:t,dataKey:n,payload:r,value:i,name:a}=e;return A6(A6({},t),{},{dataKey:n,payload:r,value:i,name:a})}function SJe(e,t){if(e)return String(e);if(typeof t==`string`)return t}var CJe=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},wJe=(e,t)=>t===`centric`?e.angle:e.radius,N6=e=>e.layout.width,P6=e=>e.layout.height,TJe=e=>e.layout.scale,EJe=e=>e.layout.margin,F6=Q(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),I6=Q(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),DJe=`data-recharts-item-index`,OJe=`data-recharts-item-id`;function kJe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?kJe(Object(n),!0).forEach(function(t){AJe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kJe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function AJe(e,t,n){return(t=jJe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jJe(e){var t=MJe(e,`string`);return typeof t==`symbol`?t:t+``}function MJe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var NJe=e=>e.brush.height;function PJe(e){return I6(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function FJe(e){return I6(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function IJe(e){return F6(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+t.height:e,0)}function LJe(e){return F6(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+t.height:e,0)}var R6=Q([N6,P6,EJe,NJe,PJe,FJe,IJe,LJe,ZGe,QGe],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=L6(L6({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=fJe(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return L6(L6({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),RJe=Q(R6,e=>({x:e.left,y:e.top,width:e.width,height:e.height}));Q(N6,P6,(e,t)=>({x:0,y:0,width:e,height:t}));var zJe=(0,F.createContext)(null),z6=()=>(0,F.useContext)(zJe)!=null,B6=e=>e.brush,V6=Q([B6,R6,EJe],(e,t,n)=>({height:e.height,x:q4(e.x)?e.x:t.left,y:q4(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:q4(e.width)?e.width:t.width})),BJe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}e.debounce=t})),VJe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=BJe();function n(e,n=0,r={}){typeof r!=`object`&&(r={});let{leading:i=!1,trailing:a=!0,maxWait:o}=r,s=[,,];i&&(s[0]=`leading`),a&&(s[1]=`trailing`);let c,l=null,u=t.debounce(function(...t){c=e.apply(this,t),l=null},n,{edges:s}),d=function(...t){return o!=null&&(l===null&&(l=Date.now()),Date.now()-l>=o)?(c=e.apply(this,t),l=Date.now(),u.cancel(),u.schedule(),c):(u.apply(this,t),c)};return d.cancel=u.cancel,d.flush=()=>(u.flush(),c),d}e.debounce=n})),HJe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=VJe();function n(e,n=0,r={}){let{leading:i=!0,trailing:a=!0}=r;return t.debounce(e,n,{leading:i,maxWait:n,trailing:a})}e.throttle=n})),UJe=a(((e,t)=>{t.exports=HJe().throttle})),WJe=!0,GJe=function(e,t){var n=[...arguments].slice(2);if(WJe&&typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}},H6={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},KJe=(e,t,n)=>{var{width:r=H6.width,height:i=H6.height,aspect:a,maxHeight:o}=n,s=K4(r)?e:Number(r),c=K4(i)?t:Number(i);return a&&a>0&&(s?c=s/a:c&&(s=c*a),o&&c!=null&&c>o&&(c=o)),{calculatedWidth:s,calculatedHeight:c}},qJe={width:0,height:0,overflow:`visible`},JJe={width:0,overflowX:`visible`},YJe={height:0,overflowY:`visible`},XJe={},ZJe=e=>{var{width:t,height:n}=e,r=K4(t),i=K4(n);return r&&i?qJe:r?JJe:i?YJe:XJe};function QJe(e){var{width:t,height:n,aspect:r}=e,i=t,a=n;return i===void 0&&a===void 0?(i=H6.width,a=H6.height):i===void 0?i=r&&r>0?void 0:H6.width:a===void 0&&(a=r&&r>0?void 0:H6.height),{width:i,height:a}}var $Je=i(UJe());function U6(){return U6=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},U6.apply(null,arguments)}function eYe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tYe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?eYe(Object(n),!0).forEach(function(t){nYe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eYe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function nYe(e,t,n){return(t=rYe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rYe(e){var t=iYe(e,`string`);return typeof t==`symbol`?t:t+``}function iYe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var aYe=(0,F.createContext)(H6.initialDimension);function oYe(e){return k6(e.width)&&k6(e.height)}function sYe(e){var{children:t,width:n,height:r}=e,i=(0,F.useMemo)(()=>({width:n,height:r}),[n,r]);return oYe(i)?F.createElement(aYe.Provider,{value:i},t):null}var W6=()=>(0,F.useContext)(aYe),cYe=(0,F.forwardRef)((e,t)=>{var{aspect:n,initialDimension:r=H6.initialDimension,width:i,height:a,minWidth:o=H6.minWidth,minHeight:s,maxHeight:c,children:l,debounce:u=H6.debounce,id:d,className:f,onResize:p,style:m={}}=e,h=(0,F.useRef)(null),g=(0,F.useRef)();g.current=p,(0,F.useImperativeHandle)(t,()=>h.current);var[_,v]=(0,F.useState)({containerWidth:r.width,containerHeight:r.height}),y=(0,F.useCallback)((e,t)=>{v(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,F.useEffect)(()=>{if(h.current==null||typeof ResizeObserver>`u`)return t3;var e=e=>{var t,n=e[0];if(n!=null){var{width:r,height:i}=n.contentRect;y(r,i),(t=g.current)==null||t.call(g,r,i)}};u>0&&(e=(0,$Je.default)(e,u,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),{width:n,height:r}=h.current.getBoundingClientRect();return y(n,r),t.observe(h.current),()=>{t.disconnect()}},[y,u]);var{containerWidth:b,containerHeight:x}=_;GJe(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var{calculatedWidth:S,calculatedHeight:C}=KJe(b,x,{width:i,height:a,aspect:n,maxHeight:c});return GJe(S!=null&&S>0||C!=null&&C>0,`The width(%s) and height(%s) of chart should be greater than 0,
|
|
3153
|
+
(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`)}}),p.warnIfExceeded()),f}}}function p6(e){return typeof e==`boolean`}var fqe=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new nqe;if(t&&(p6(t)?a.push(JKe):a.push(YKe(t.extraArgument))),n){let e={};p6(n)||(e=n),a.unshift(cqe(e))}if(r){let e={};p6(r)||(e=r),a.push(dqe(e))}if(i){let e={};p6(i)||(e=i),a.unshift(eqe(e))}return a},pqe=`RTK_autoBatch`,m6=()=>e=>({payload:e,meta:{[pqe]:!0}}),mqe=e=>t=>{setTimeout(t,e)},hqe=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},gqe=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?hqe(window.requestAnimationFrame,100):mqe(10):e.type===`callback`?e.queueNotification:mqe(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[pqe],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},_qe=e=>function(t){let{autoBatch:n=!0}=t??{},r=new nqe(e);return n&&r.push(gqe(typeof n==`object`?n:void 0)),r};function vqe(e){let t=fqe(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(_3(n))c=fKe(n);else throw Error("`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers");if(r&&typeof r!=`function`)throw Error("`middleware` field must be a callback");let l;if(typeof r==`function`){if(l=r(t),!Array.isArray(l))throw Error(`when using a middleware builder function, an array of middleware must be returned`)}else l=t();if(l.some(e=>typeof e!=`function`))throw Error(`each middleware provided to configureStore must be a function`);if(a){let e=new Set;l.forEach(t=>{if(e.has(t))throw Error(`Duplicate middleware references found when creating the store. Ensure that each middleware is only included once.`);e.add(t)})}let u=y3;i&&(u=XKe({trace:!0,...typeof i==`object`&&i}));let d=pKe(...l),f=_qe(d);if(s&&typeof s!=`function`)throw Error("`enhancers` field must be a callback");let p=typeof s==`function`?s(f):f();if(!Array.isArray(p))throw Error("`enhancers` callback must return an array");if(p.some(e=>typeof e!=`function`))throw Error(`each enhancer provided to configureStore must be a function`);l.length&&!p.includes(d)&&console.error("middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`");let m=u(...p);return cKe(c,o,m)}function yqe(e){let t={},n=[],r,i={addCase(e,a){if(n.length>0)throw Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`");let o=typeof e==`string`?e:e.type;if(!o)throw Error("`builder.addCase` cannot be called with an empty action type");if(o in t)throw Error(`\`builder.addCase\` cannot be called with two reducers for the same action type '${o}'`);return t[o]=a,i},addAsyncThunk(e,a){if(r)throw Error("`builder.addAsyncThunk` should only be called before calling `builder.addDefaultCase`");return a.pending&&(t[e.pending.type]=a.pending),a.rejected&&(t[e.rejected.type]=a.rejected),a.fulfilled&&(t[e.fulfilled.type]=a.fulfilled),a.settled&&n.push({matcher:e.settled,reducer:a.settled}),i},addMatcher(e,t){if(r)throw Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if(r)throw Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}function bqe(e){return typeof e==`function`}function xqe(e,t){if(typeof t==`object`)throw Error("The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer");let[n,r,i]=yqe(t),a;if(bqe(e))a=()=>rqe(e());else{let t=rqe(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n)if(j3(e)){let r=n(e,t);return r===void 0?e:r}else if(M3(e))return KKe(e,e=>n(e,t));else{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}return e},e)}return o.getInitialState=a,o}var Sqe=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,Cqe=(e=21)=>{let t=``,n=e;for(;n--;)t+=Sqe[Math.random()*64|0];return t},wqe=Symbol.for(`rtk-slice-createasyncthunk`);function Tqe(e,t){return`${e}/${t}`}function Eqe({creators:e}={}){let t=e?.asyncThunk?.[wqe];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error("`name` is a required option for createSlice");typeof process<`u`&&e.initialState===void 0&&console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`");let i=(typeof e.reducers==`function`?e.reducers(Oqe()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error("`context.addCase` cannot be called with an empty action type");if(n in o.sliceCaseReducersByType)throw Error("`context.addCase` cannot be called with two reducers for the same action type: "+n);return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:Tqe(n,r),createNotation:typeof e.reducers==`function`};Aqe(a)?Mqe(o,a,s,t):kqe(o,a,s)});function c(){if(typeof e.extraReducers==`object`)throw Error("The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice");let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?yqe(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return xqe(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];if(i===void 0)if(n)i=d6(d,r,m);else throw Error(`selectSlice returned undefined for an uninjected slice reducer`);return i}function i(t=l){return d6(d6(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=Dqe(a,t,()=>d6(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function Dqe(e,t,n,r){function i(i,...a){let o=t(i);if(o===void 0)if(r)o=n();else throw Error(`selectState returned undefined for an uninjected slice reducer`);return e(o,...a)}return i.unwrapped=e,i}var h6=Eqe();function Oqe(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function kqe({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!jqe(r))throw Error("Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.");a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?u6(e,o):u6(e))}function Aqe(e){return e._reducerDefinitionType===`asyncThunk`}function jqe(e){return e._reducerDefinitionType===`reducerWithPrepare`}function Mqe({type:e,reducerName:t},n,r,i){if(!i)throw Error("Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.");let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||g6,pending:s||g6,rejected:c||g6,settled:l||g6})}function g6(){}var Nqe=`task`,Pqe=`listener`,Fqe=`completed`,_6=`cancelled`,Iqe=`task-${_6}`,Lqe=`task-${Fqe}`,v6=`${Pqe}-${_6}`,Rqe=`${Pqe}-${Fqe}`,y6=class{constructor(e){this.code=e,this.message=`${Nqe} ${_6} (reason: ${e})`}code;name=`TaskAbortError`;message},b6=(e,t)=>{if(typeof e!=`function`)throw TypeError(`${t} is not a function`)},x6=()=>{},zqe=(e,t=x6)=>(e.catch(t),e),Bqe=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),S6=e=>{if(e.aborted)throw new y6(e.reason)};function Vqe(e,t){let n=x6;return new Promise((r,i)=>{let a=()=>i(new y6(e.reason));if(e.aborted){a();return}n=Bqe(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=x6})}var Hqe=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof y6?`cancelled`:`rejected`,error:e}}finally{t?.()}},C6=e=>t=>zqe(Vqe(e,t).then(t=>(S6(e),t))),Uqe=e=>{let t=C6(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:w6}=Object,Wqe={},T6=`listenerMiddleware`,Gqe=(e,t)=>{let n=t=>Bqe(e,()=>t.abort(e.reason));return(r,i)=>{b6(r,`taskExecutor`);let a=new AbortController;n(a);let o=Hqe(async()=>{S6(e),S6(a.signal);let t=await r({pause:C6(a.signal),delay:Uqe(a.signal),signal:a.signal});return S6(a.signal),t},()=>a.abort(Lqe));return i?.autoJoin&&t.push(o.catch(x6)),{result:C6(e)(o),cancel(){a.abort(Iqe)}}}},Kqe=(e,t)=>{let n=async(n,r)=>{S6(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await Vqe(t,Promise.race(a));return S6(t),e}finally{i()}};return((e,t)=>zqe(n(e,t)))},qqe=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=u6(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(`Creating or removing a listener requires one of the known fields for matching an action`);return b6(a,`options.listener`),{predicate:i,type:t,effect:a}},Jqe=w6(e=>{let{type:t,predicate:n,effect:r}=qqe(e);return{id:Cqe(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(`Unsubscribe not initialized`)}}},{withTypes:()=>Jqe}),Yqe=(e,t)=>{let{type:n,effect:r,predicate:i}=qqe(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},E6=e=>{e.pending.forEach(e=>{e.abort(v6)})},Xqe=(e,t)=>()=>{for(let e of t.keys())E6(e);e.clear()},Zqe=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},Qqe=w6(u6(`${T6}/add`),{withTypes:()=>Qqe}),$qe=u6(`${T6}/removeAll`),eJe=w6(u6(`${T6}/remove`),{withTypes:()=>eJe}),tJe=(...e)=>{console.error(`${T6}/error`,...e)},D6=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=tJe}=e;b6(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&E6(e)}),c=(e=>s(Yqe(t,e)??Jqe(e)));w6(c,{withTypes:()=>c});let l=e=>{let n=Yqe(t,e);return n&&(n.unsubscribe(),e.cancelActive&&E6(n)),!!n};w6(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=Kqe(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,w6({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:Uqe(u.signal),pause:C6(u.signal),extra:a,signal:u.signal,fork:Gqe(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(v6),n.delete(e))})},cancel:()=>{u.abort(v6),e.pending.delete(u)},throwIfCancelled:()=>{S6(u.signal)}})))}catch(e){e instanceof y6||Zqe(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(Rqe),i(e),e.pending.delete(u)}},d=Xqe(t,n);return{middleware:e=>n=>r=>{if(!b3(r))return n(r);if(Qqe.match(r))return c(r.payload);if($qe.match(r)){d();return}if(eJe.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===Wqe)throw Error(`${T6}: getOriginalState can only be called synchronously`);return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,Zqe(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=Wqe}return s},startListening:c,stopListening:l,clearListeners:d}},nJe=h6({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),{setMargin:rJe,setLayout:iJe,setChartSize:aJe,setScale:oJe}=nJe.actions,sJe=nJe.reducer;function cJe(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function O6(e){return Number.isFinite(e)}function k6(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function lJe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function A6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?lJe(Object(n),!0).forEach(function(t){uJe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lJe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function uJe(e,t,n){return(t=dJe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dJe(e){var t=fJe(e,`string`);return typeof t==`symbol`?t:t+``}function fJe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function j6(e,t,n){return Q4(e)||Q4(t)?n:J4(t)?(0,U4.default)(e,t,n):typeof t==`function`?t(e):n}var pJe=(e,t,n)=>{if(t&&n){var{width:r,height:i}=n,{align:a,verticalAlign:o,layout:s}=t;if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&q4(e[a]))return A6(A6({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&q4(e[o]))return A6(A6({},e),{},{[o]:e[o]+(i||0)})}return e},M6=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,mJe={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0,o=0;o<t;++o){var s=e[o]?.[r];if(s!=null){var c=s[1],l=s[0],u=G4(c)?l:c;u>=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:oWe,none:F4,silhouette:sWe,wiggle:cWe,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0;a<t;++a){var o=e[a]?.[r];if(o!=null){var s=G4(o[1])?o[0]:o[1];s>=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},hJe=(e,t,n)=>{var r=mJe[n]??F4,i=aWe().keys(t).value((e,t)=>Number(j6(e,t,0))).order(I4).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=j6(e[i],t[r],0);Array.isArray(a)&&a.length===2&&q4(a[0])&&q4(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i},gJe=e=>{var t=e.flat(2).filter(q4);return[Math.min(...t),Math.max(...t)]},_Je=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],vJe=(e,t,n)=>{if(e!=null)return _Je(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var{stackedData:o}=a,s=o.reduce((e,r)=>{var i=gJe(cJe(r,t,n));return!O6(i[0])||!O6(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(s[0],r[0]),Math.max(s[1],r[1])]},[1/0,-1/0]))},yJe=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,bJe=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xJe=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=(0,p3.default)(t,e=>e.coordinate),a=1/0,o=1,s=i.length;o<s;o++){var c=i[o],l=i[o-1];a=Math.min((c?.coordinate||0)-(l?.coordinate||0),a)}return a===1/0?0:a}return n?void 0:0};function SJe(e){var{tooltipEntrySettings:t,dataKey:n,payload:r,value:i,name:a}=e;return A6(A6({},t),{},{dataKey:n,payload:r,value:i,name:a})}function CJe(e,t){if(e)return String(e);if(typeof t==`string`)return t}var wJe=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},TJe=(e,t)=>t===`centric`?e.angle:e.radius,N6=e=>e.layout.width,P6=e=>e.layout.height,EJe=e=>e.layout.scale,DJe=e=>e.layout.margin,F6=Q(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),I6=Q(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),OJe=`data-recharts-item-index`,kJe=`data-recharts-item-id`;function AJe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?AJe(Object(n),!0).forEach(function(t){jJe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):AJe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jJe(e,t,n){return(t=MJe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function MJe(e){var t=NJe(e,`string`);return typeof t==`symbol`?t:t+``}function NJe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var PJe=e=>e.brush.height;function FJe(e){return I6(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function IJe(e){return I6(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function LJe(e){return F6(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+t.height:e,0)}function RJe(e){return F6(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+t.height:e,0)}var R6=Q([N6,P6,DJe,PJe,FJe,IJe,LJe,RJe,QGe,$Ge],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=L6(L6({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=pJe(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return L6(L6({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),zJe=Q(R6,e=>({x:e.left,y:e.top,width:e.width,height:e.height}));Q(N6,P6,(e,t)=>({x:0,y:0,width:e,height:t}));var BJe=(0,F.createContext)(null),z6=()=>(0,F.useContext)(BJe)!=null,B6=e=>e.brush,V6=Q([B6,R6,DJe],(e,t,n)=>({height:e.height,x:q4(e.x)?e.x:t.left,y:q4(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:q4(e.width)?e.width:t.width})),VJe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}e.debounce=t})),HJe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=VJe();function n(e,n=0,r={}){typeof r!=`object`&&(r={});let{leading:i=!1,trailing:a=!0,maxWait:o}=r,s=[,,];i&&(s[0]=`leading`),a&&(s[1]=`trailing`);let c,l=null,u=t.debounce(function(...t){c=e.apply(this,t),l=null},n,{edges:s}),d=function(...t){return o!=null&&(l===null&&(l=Date.now()),Date.now()-l>=o)?(c=e.apply(this,t),l=Date.now(),u.cancel(),u.schedule(),c):(u.apply(this,t),c)};return d.cancel=u.cancel,d.flush=()=>(u.flush(),c),d}e.debounce=n})),UJe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=HJe();function n(e,n=0,r={}){let{leading:i=!0,trailing:a=!0}=r;return t.debounce(e,n,{leading:i,maxWait:n,trailing:a})}e.throttle=n})),WJe=a(((e,t)=>{t.exports=UJe().throttle})),GJe=!0,KJe=function(e,t){var n=[...arguments].slice(2);if(GJe&&typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}},H6={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},qJe=(e,t,n)=>{var{width:r=H6.width,height:i=H6.height,aspect:a,maxHeight:o}=n,s=K4(r)?e:Number(r),c=K4(i)?t:Number(i);return a&&a>0&&(s?c=s/a:c&&(s=c*a),o&&c!=null&&c>o&&(c=o)),{calculatedWidth:s,calculatedHeight:c}},JJe={width:0,height:0,overflow:`visible`},YJe={width:0,overflowX:`visible`},XJe={height:0,overflowY:`visible`},ZJe={},QJe=e=>{var{width:t,height:n}=e,r=K4(t),i=K4(n);return r&&i?JJe:r?YJe:i?XJe:ZJe};function $Je(e){var{width:t,height:n,aspect:r}=e,i=t,a=n;return i===void 0&&a===void 0?(i=H6.width,a=H6.height):i===void 0?i=r&&r>0?void 0:H6.width:a===void 0&&(a=r&&r>0?void 0:H6.height),{width:i,height:a}}var eYe=i(WJe());function U6(){return U6=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},U6.apply(null,arguments)}function tYe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function nYe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?tYe(Object(n),!0).forEach(function(t){rYe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tYe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function rYe(e,t,n){return(t=iYe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iYe(e){var t=aYe(e,`string`);return typeof t==`symbol`?t:t+``}function aYe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var oYe=(0,F.createContext)(H6.initialDimension);function sYe(e){return k6(e.width)&&k6(e.height)}function cYe(e){var{children:t,width:n,height:r}=e,i=(0,F.useMemo)(()=>({width:n,height:r}),[n,r]);return sYe(i)?F.createElement(oYe.Provider,{value:i},t):null}var W6=()=>(0,F.useContext)(oYe),lYe=(0,F.forwardRef)((e,t)=>{var{aspect:n,initialDimension:r=H6.initialDimension,width:i,height:a,minWidth:o=H6.minWidth,minHeight:s,maxHeight:c,children:l,debounce:u=H6.debounce,id:d,className:f,onResize:p,style:m={}}=e,h=(0,F.useRef)(null),g=(0,F.useRef)();g.current=p,(0,F.useImperativeHandle)(t,()=>h.current);var[_,v]=(0,F.useState)({containerWidth:r.width,containerHeight:r.height}),y=(0,F.useCallback)((e,t)=>{v(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,F.useEffect)(()=>{if(h.current==null||typeof ResizeObserver>`u`)return t3;var e=e=>{var t,n=e[0];if(n!=null){var{width:r,height:i}=n.contentRect;y(r,i),(t=g.current)==null||t.call(g,r,i)}};u>0&&(e=(0,eYe.default)(e,u,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),{width:n,height:r}=h.current.getBoundingClientRect();return y(n,r),t.observe(h.current),()=>{t.disconnect()}},[y,u]);var{containerWidth:b,containerHeight:x}=_;KJe(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var{calculatedWidth:S,calculatedHeight:C}=qJe(b,x,{width:i,height:a,aspect:n,maxHeight:c});return KJe(S!=null&&S>0||C!=null&&C>0,`The width(%s) and height(%s) of chart should be greater than 0,
|
|
3154
3154
|
please check the style of container, or the props width(%s) and height(%s),
|
|
3155
3155
|
or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
|
|
3156
|
-
height and width.`,S,C,i,a,o,s,n),F.createElement(`div`,{id:d?`${d}`:void 0,className:h4(`recharts-responsive-container`,f),style:tYe(tYe({},m),{},{width:i,height:a,minWidth:o,minHeight:s,maxHeight:c}),ref:h},F.createElement(`div`,{style:ZJe({width:i,height:a})},F.createElement(sYe,{width:S,height:C},l)))}),lYe=(0,F.forwardRef)((e,t)=>{var n=W6();if(k6(n.width)&&k6(n.height))return e.children;var{width:r,height:i}=QJe({width:e.width,height:e.height,aspect:e.aspect}),{calculatedWidth:a,calculatedHeight:o}=KJe(void 0,void 0,{width:r,height:i,aspect:e.aspect,maxHeight:e.maxHeight});return q4(a)&&q4(o)?F.createElement(sYe,{width:a,height:o},e.children):F.createElement(cYe,U6({},e,{width:r,height:i,ref:t}))});function G6(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var K6=()=>{var e=z6(),t=d3(RJe),n=d3(V6),r=d3(B6)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},uYe={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},dYe=()=>d3(R6)??uYe,fYe=()=>d3(N6),pYe=()=>d3(P6),mYe=()=>d3(e=>e.layout.margin),q6=e=>e.layout.layoutType,J6=()=>d3(q6),hYe=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},gYe=()=>J6()!==void 0,Y6=e=>{var t=l3(),n=z6(),{width:r,height:i}=e,a=W6(),o=r,s=i;return a&&(o=a.width>0?a.width:r,s=a.height>0?a.height:i),(0,F.useEffect)(()=>{!n&&k6(o)&&k6(s)&&t(iJe({width:o,height:s}))},[t,n,o,s]),null},_Ye=Symbol.for(`immer-nothing`),vYe=Symbol.for(`immer-draftable`),X6=Symbol.for(`immer-state`),yYe=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function Z6(e,...t){{let n=yYe[e],r=typeof n==`function`?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Q6=Object.getPrototypeOf;function $6(e){return!!e&&!!e[X6]}function e8(e){return e?SYe(e)||Array.isArray(e)||!!e[vYe]||!!e.constructor?.[vYe]||i8(e)||a8(e):!1}var bYe=Object.prototype.constructor.toString(),xYe=new WeakMap;function SYe(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;let n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;if(n===Object)return!0;if(typeof n!=`function`)return!1;let r=xYe.get(n);return r===void 0&&(r=Function.toString.call(n),xYe.set(n,r)),r===bYe}function t8(e,t,n=!0){n8(e)===0?(n?Reflect.ownKeys(e):Object.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function n8(e){let t=e[X6];return t?t.type_:Array.isArray(e)?1:i8(e)?2:a8(e)?3:0}function r8(e,t){return n8(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function CYe(e,t,n){let r=n8(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function wYe(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}function i8(e){return e instanceof Map}function a8(e){return e instanceof Set}function o8(e){return e.copy_||e.base_}function s8(e,t){if(i8(e))return new Map(e);if(a8(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let n=SYe(e);if(t===!0||t===`class_only`&&!n){let t=Object.getOwnPropertyDescriptors(e);delete t[X6];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[i]})}return Object.create(Q6(e),t)}else{let t=Q6(e);return t!==null&&n?{...e}:Object.assign(Object.create(t),e)}}function c8(e,t=!1){return u8(e)||$6(e)||!e8(e)?e:(n8(e)>1&&Object.defineProperties(e,{set:l8,add:l8,clear:l8,delete:l8}),Object.freeze(e),t&&Object.values(e).forEach(e=>c8(e,!0)),e)}function TYe(){Z6(2)}var l8={value:TYe};function u8(e){return typeof e!=`object`||!e?!0:Object.isFrozen(e)}var EYe={};function d8(e){let t=EYe[e];return t||Z6(0,e),t}var f8;function DYe(){return f8}function OYe(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function kYe(e,t){t&&(d8(`Patches`),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function p8(e){m8(e),e.drafts_.forEach(jYe),e.drafts_=null}function m8(e){e===f8&&(f8=e.parent_)}function AYe(e){return f8=OYe(f8,e)}function jYe(e){let t=e[X6];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function MYe(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];return e!==void 0&&e!==n?(n[X6].modified_&&(p8(t),Z6(4)),e8(e)&&(e=h8(t,e),t.parent_||g8(t,e)),t.patches_&&d8(`Patches`).generateReplacementPatches_(n[X6].base_,e,t.patches_,t.inversePatches_)):e=h8(t,n,[]),p8(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===_Ye?void 0:e}function h8(e,t,n){if(u8(t))return t;let r=e.immer_.shouldUseStrictIteration(),i=t[X6];if(!i)return t8(t,(r,a)=>NYe(e,i,t,r,a,n),r),t;if(i.scope_!==e)return t;if(!i.modified_)return g8(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;let t=i.copy_,a=t,o=!1;i.type_===3&&(a=new Set(t),t.clear(),o=!0),t8(a,(r,a)=>NYe(e,i,t,r,a,n,o),r),g8(e,t,!1),n&&e.patches_&&d8(`Patches`).generatePatches_(i,n,e.patches_,e.inversePatches_)}return i.copy_}function NYe(e,t,n,r,i,a,o){if(i==null||typeof i!=`object`&&!o)return;let s=u8(i);if(!(s&&!o)){if(i===n&&Z6(5),$6(i)){let o=h8(e,i,a&&t&&t.type_!==3&&!r8(t.assigned_,r)?a.concat(r):void 0);if(CYe(n,r,o),$6(o))e.canAutoFreeze_=!1;else return}else o&&n.add(i);if(e8(i)&&!s){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[r]===i&&s)return;h8(e,i),(!t||!t.scope_.parent_)&&typeof r!=`symbol`&&(i8(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&g8(e,i)}}}function g8(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&c8(t,n)}function PYe(e,t){let n=Array.isArray(e),r={type_:+!!n,scope_:t?t.scope_:DYe(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},i=r,a=_8;n&&(i=[r],a=v8);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,s}var _8={get(e,t){if(t===X6)return e;let n=o8(e);if(!r8(n,t))return FYe(e,n,t);let r=n[t];return e.finalized_||!e8(r)?r:r===y8(e.base_,t)?(x8(e),e.copy_[t]=S8(r,e)):r},has(e,t){return t in o8(e)},ownKeys(e){return Reflect.ownKeys(o8(e))},set(e,t,n){let r=IYe(o8(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=y8(o8(e),t),i=r?.[X6];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(wYe(n,r)&&(n!==void 0||r8(e.base_,t)))return!0;x8(e),b8(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_[t]=!0,!0)},deleteProperty(e,t){return y8(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,x8(e),b8(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=o8(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!==`length`,enumerable:r.enumerable,value:n[t]}},defineProperty(){Z6(11)},getPrototypeOf(e){return Q6(e.base_)},setPrototypeOf(){Z6(12)}},v8={};t8(_8,(e,t)=>{v8[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),v8.deleteProperty=function(e,t){return isNaN(parseInt(t))&&Z6(13),v8.set.call(this,e,t,void 0)},v8.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&Z6(14),_8.set.call(this,e[0],t,n,e[0])};function y8(e,t){let n=e[X6];return(n?o8(n):e)[t]}function FYe(e,t,n){let r=IYe(t,n);return r?`value`in r?r.value:r.get?.call(e.draft_):void 0}function IYe(e,t){if(!(t in e))return;let n=Q6(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Q6(n)}}function b8(e){e.modified_||(e.modified_=!0,e.parent_&&b8(e.parent_))}function x8(e){e.copy_||=s8(e.base_,e.scope_.immer_.useStrictShallowCopy_)}var LYe=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,t,n)=>{if(typeof e==`function`&&typeof t!=`function`){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}typeof t!=`function`&&Z6(6),n!==void 0&&typeof n!=`function`&&Z6(7);let r;if(e8(e)){let i=AYe(this),a=S8(e,void 0),o=!0;try{r=t(a),o=!1}finally{o?p8(i):m8(i)}return kYe(i,n),MYe(r,i)}else if(!e||typeof e!=`object`){if(r=t(e),r===void 0&&(r=e),r===_Ye&&(r=void 0),this.autoFreeze_&&c8(r,!0),n){let t=[],i=[];d8(`Patches`).generateReplacementPatches_(e,r,t,i),n(t,i)}return r}else Z6(1,e)},this.produceWithPatches=(e,t)=>{if(typeof e==`function`)return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},typeof e?.autoFreeze==`boolean`&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy==`boolean`&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof e?.useStrictIteration==`boolean`&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){e8(e)||Z6(8),$6(e)&&(e=RYe(e));let t=AYe(this),n=S8(e,void 0);return n[X6].isManual_=!0,m8(t),n}finishDraft(e,t){let n=e&&e[X6];(!n||!n.isManual_)&&Z6(9);let{scope_:r}=n;return kYe(r,t),MYe(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=d8(`Patches`).applyPatches_;return $6(e)?r(e,t):this.produce(e,e=>r(e,t))}};function S8(e,t){let n=i8(e)?d8(`MapSet`).proxyMap_(e,t):a8(e)?d8(`MapSet`).proxySet_(e,t):PYe(e,t);return(t?t.scope_:DYe()).drafts_.push(n),n}function RYe(e){return $6(e)||Z6(10,e),zYe(e)}function zYe(e){if(!e8(e)||u8(e))return e;let t=e[X6],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=s8(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=s8(e,!0);return t8(n,(e,t)=>{CYe(n,e,zYe(t))},r),t&&(t.finalized_=!1),n}new LYe().produce;function C8(e){return e}var BYe=h6({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`middle`,itemSorter:`value`},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(C8(t.payload))},prepare:m6()},replaceLegendPayload:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).payload.indexOf(C8(n));i>-1&&(e.payload[i]=C8(r))},prepare:m6()},removeLegendPayload:{reducer(e,t){var n=l6(e).payload.indexOf(C8(t.payload));n>-1&&e.payload.splice(n,1)},prepare:m6()}}}),{setLegendSize:VYe,setLegendSettings:HYe,addLegendPayload:UYe,replaceLegendPayload:WYe,removeLegendPayload:GYe}=BYe.actions,KYe=BYe.reducer,qYe=a((e=>{(function(){function t(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=Je(),r=typeof Object.is==`function`?Object.is:t,i=n.useSyncExternalStore,a=n.useRef,o=n.useEffect,s=n.useMemo,c=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,l,u){var d=a(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!i){if(i=!0,a=e,e=l(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return o=t}return o=e}if(t=o,r(a,e))return t;var n=l(e);return u!==void 0&&u(t,n)?(a=e,t):(a=e,o=n)}var i=!1,a,o,s=n===void 0?null:n;return[function(){return e(t())},s===null?void 0:function(){return e(s())}]},[t,n,l,u]);var p=i(e,d[0],d[1]);return o(function(){f.hasValue=!0,f.value=p},[p]),c(p),p},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}));a(((e,t)=>{t.exports=qYe()}))();function JYe(e){e()}function YYe(){let e=null,t=null;return{clear(){e=null,t=null},notify(){JYe(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var XYe={notify(){},get:()=>[]};function ZYe(e,t){let n,r=XYe,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=YYe())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=XYe)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var QYe=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,$Ye=typeof navigator<`u`&&navigator.product===`ReactNative`,eXe=QYe||$Ye?F.useLayoutEffect:F.useEffect;function tXe(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function nXe(e,t){if(tXe(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!tXe(e[n[r]],t[n[r]]))return!1;return!0}var rXe=Symbol.for(`react-redux-context`),iXe=typeof globalThis<`u`?globalThis:{};function aXe(){if(!F.createContext)return{};let e=iXe[rXe]??=new Map,t=e.get(F.createContext);return t||(t=F.createContext(null),t.displayName=`ReactRedux`,e.set(F.createContext,t)),t}var oXe=aXe();function sXe(e){let{children:t,context:n,serverState:r,store:i}=e,a=F.useMemo(()=>{let t={store:i,subscription:ZYe(i),getServerState:r?()=>r:void 0};{let{identityFunctionCheck:n=`once`,stabilityCheck:r=`once`}=e;return Object.assign(t,{stabilityCheck:r,identityFunctionCheck:n})}},[i,r]),o=F.useMemo(()=>i.getState(),[i]);eXe(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let s=n||oXe;return F.createElement(s.Provider,{value:a},t)}var cXe=sXe,lXe=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function uXe(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function w8(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(lXe.has(n)){if(e[n]==null&&t[n]==null)continue;if(!nXe(e[n],t[n]))return!1}else if(!uXe(e[n],t[n]))return!1;return!0}var dXe=[`contextPayload`];function T8(){return T8=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},T8.apply(null,arguments)}function fXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function E8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?fXe(Object(n),!0).forEach(function(t){pXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function pXe(e,t,n){return(t=mXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mXe(e){var t=hXe(e,`string`);return typeof t==`symbol`?t:t+``}function hXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function gXe(e,t){if(e==null)return{};var n,r,i=_Xe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function _Xe(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 vXe(e){return e.value}function yXe(e){var{contextPayload:t}=e,n=gXe(e,dXe),r=CGe(t,e.payloadUniqBy,vXe),i=E8(E8({},n),{},{payload:r});return F.isValidElement(e.content)?F.cloneElement(e.content,i):typeof e.content==`function`?F.createElement(e.content,i):F.createElement(KWe,i)}function bXe(e,t,n,r,i,a){var{layout:o,align:s,verticalAlign:c}=t,l,u;return(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))&&(l=s===`center`&&o===`vertical`?{left:((r||0)-a.width)/2}:s===`right`?{right:n&&n.right||0}:{left:n&&n.left||0}),(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))&&(u=c===`middle`?{top:((i||0)-a.height)/2}:c===`bottom`?{bottom:n&&n.bottom||0}:{top:n&&n.top||0}),E8(E8({},l),u)}function xXe(e){var t=l3();return(0,F.useEffect)(()=>{t(HYe(e))},[t,e]),null}function SXe(e){var t=l3();return(0,F.useEffect)(()=>(t(VYe(e)),()=>{t(VYe({width:0,height:0}))}),[t,e]),null}function CXe(e,t,n,r){return e===`vertical`&&t!=null?{height:t}:e===`horizontal`?{width:n||r}:null}var wXe={align:`center`,iconSize:14,inactiveColor:`#ccc`,itemSorter:`value`,layout:`horizontal`,verticalAlign:`bottom`};function TXe(e){var t=i3(e,wXe),n=eKe(),r=UUe(),i=mYe(),{width:a,height:o,wrapperStyle:s,portal:c}=t,[l,u]=tKe([n]),d=fYe(),f=pYe();if(d==null||f==null)return null;var p=d-(i?.left||0)-(i?.right||0),m=CXe(t.layout,o,a,p),h=c?s:E8(E8({position:`absolute`,width:m?.width||a||`auto`,height:m?.height||o||`auto`},bXe(s,t,i,d,f,l)),s),g=c??r;return g==null||n==null?null:(0,Ti.createPortal)(F.createElement(`div`,{className:`recharts-legend-wrapper`,style:h,ref:u},F.createElement(xXe,{layout:t.layout,align:t.align,verticalAlign:t.verticalAlign,itemSorter:t.itemSorter}),!c&&F.createElement(SXe,{width:l.width,height:l.height}),F.createElement(yXe,T8({},t,m,{margin:i,chartWidth:d,chartHeight:f,contextPayload:n}))),g)}var D8=F.memo(TXe,w8);D8.displayName=`Legend`;function O8(){return O8=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},O8.apply(null,arguments)}function EXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function k8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?EXe(Object(n),!0).forEach(function(t){DXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):EXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function DXe(e,t,n){return(t=OXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OXe(e){var t=kXe(e,`string`);return typeof t==`symbol`?t:t+``}function kXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function AXe(e){return Array.isArray(e)&&J4(e[0])&&J4(e[1])?e.join(` ~ `):e}var A8={separator:` : `,contentStyle:{margin:0,padding:10,backgroundColor:`#fff`,border:`1px solid #ccc`,whiteSpace:`nowrap`},itemStyle:{display:`block`,paddingTop:4,paddingBottom:4,color:`#000`},labelStyle:{},accessibilityLayer:!1};function jXe(e,t){return t==null?e:(0,p3.default)(e,t)}var MXe=e=>{var{separator:t=A8.separator,contentStyle:n,itemStyle:r,labelStyle:i=A8.labelStyle,payload:a,formatter:o,itemSorter:s,wrapperClassName:c,labelClassName:l,label:u,labelFormatter:d,accessibilityLayer:f=A8.accessibilityLayer}=e,p=()=>{if(a&&a.length){var e={padding:0,margin:0},n=jXe(a,s).map((e,n)=>{if(!e||e.type===`none`)return null;var i=e.formatter||o||AXe,{value:s,name:c}=e,l=s,u=c;if(i){var d=i(s,c,e,n,a);if(Array.isArray(d))[l,u]=d;else if(d!=null)l=d;else return null}var f=k8(k8({},A8.itemStyle),{},{color:e.color||A8.itemStyle.color},r);return F.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${n}`,style:f},J4(u)?F.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,J4(u)?F.createElement(`span`,{className:`recharts-tooltip-item-separator`},t):null,F.createElement(`span`,{className:`recharts-tooltip-item-value`},l),F.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return F.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},n)}return null},m=k8(k8({},A8.contentStyle),n),h=k8({margin:0},i),g=!Q4(u),_=g?u:``,v=h4(`recharts-default-tooltip`,c),y=h4(`recharts-tooltip-label`,l);g&&d&&a!=null&&(_=d(u,a));var b=f?{role:`status`,"aria-live":`assertive`}:{};return F.createElement(`div`,O8({className:v,style:m},b),F.createElement(`p`,{className:y,style:h},F.isValidElement(_)?_:`${_}`),p())},j8=`recharts-tooltip-wrapper`,NXe={visibility:`hidden`};function PXe(e){var{coordinate:t,translateX:n,translateY:r}=e;return h4(j8,{[`${j8}-right`]:q4(n)&&t&&q4(t.x)&&n>=t.x,[`${j8}-left`]:q4(n)&&t&&q4(t.x)&&n<t.x,[`${j8}-bottom`]:q4(r)&&t&&q4(t.y)&&r>=t.y,[`${j8}-top`]:q4(r)&&t&&q4(t.y)&&r<t.y})}function FXe(e){var{allowEscapeViewBox:t,coordinate:n,key:r,offset:i,position:a,reverseDirection:o,tooltipDimension:s,viewBox:c,viewBoxDimension:l}=e;if(a&&q4(a[r]))return a[r];var u=n[r]-s-(i>0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(u<f?d:u,f):l==null?0:d+s>f+l?Math.max(u,f):Math.max(d,f)}function IXe(e){var{translateX:t,translateY:n,useTranslate3d:r}=e;return{transform:r?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function LXe(e){var{allowEscapeViewBox:t,coordinate:n,offsetTop:r,offsetLeft:i,position:a,reverseDirection:o,tooltipBox:s,useTranslate3d:c,viewBox:l}=e,u,d,f;return s.height>0&&s.width>0&&n?(d=FXe({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=FXe({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=IXe({translateX:d,translateY:f,useTranslate3d:c})):u=NXe,{cssProperties:u,cssClasses:PXe({translateX:d,translateY:f,coordinate:n})}}var M8={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function RXe(){var[e,t]=(0,F.useState)(()=>M8.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);return(0,F.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}}},[]),e}function zXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function N8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?zXe(Object(n),!0).forEach(function(t){BXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function BXe(e,t,n){return(t=VXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VXe(e){var t=HXe(e,`string`);return typeof t==`symbol`?t:t+``}function HXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function UXe(e){if(!(e.prefersReducedMotion&&e.isAnimationActive===`auto`)&&e.isAnimationActive&&e.active)return`transform ${e.animationDuration}ms ${e.animationEasing}`}function WXe(e){var t=RXe(),[n,r]=F.useState(()=>({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}}));F.useEffect(()=>{var t=t=>{t.key===`Escape`&&r({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),n.dismissed&&((e.coordinate?.x??0)!==n.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==n.dismissedAtCoordinate.y)&&r(N8(N8({},n),{},{dismissed:!1}));var{cssClasses:i,cssProperties:a}=LXe({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=N8(N8({},e.hasPortalFromProps?{}:N8(N8({transition:UXe({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},a),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!n.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return F.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:i,style:o,ref:e.innerRef},e.children)}var GXe=F.memo(WXe),KXe=()=>d3(e=>e.rootProps.accessibilityLayer)??!0;function P8(){return P8=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},P8.apply(null,arguments)}function qXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function JXe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?qXe(Object(n),!0).forEach(function(t){YXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function YXe(e,t,n){return(t=XXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XXe(e){var t=ZXe(e,`string`);return typeof t==`symbol`?t:t+``}function ZXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var QXe={curveBasisClosed:j,curveBasisOpen:O,curveBasis:k,curveBumpX:N,curveBumpY:M,curveLinearClosed:ie,curveLinear:A,curveMonotoneX:D,curveMonotoneY:ne,curveNatural:ee,curveStep:re,curveStepAfter:ae,curveStepBefore:te},F8=e=>O6(e.x)&&O6(e.y),$Xe=e=>e.base!=null&&F8(e.base)&&F8(e),I8=e=>e.x,L8=e=>e.y,eZe=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${$4(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=QXe[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return QXe[n]||A},tZe={connectNulls:!1,type:`linear`},nZe=e=>{var{type:t=tZe.type,points:n=[],baseLine:r,layout:i,connectNulls:a=tZe.connectNulls}=e,o=eZe(t,i),s=a?n.filter(F8):n;if(Array.isArray(r)){var c,l=n.map((e,t)=>JXe(JXe({},e),{},{base:r[t]}));return c=i===`vertical`?D4().y(L8).x1(I8).x0(e=>e.base.x):D4().x(I8).y1(L8).y0(e=>e.base.y),c.defined($Xe).curve(o)(a?l.filter($Xe):l)}return(i===`vertical`&&q4(r)?D4().y(L8).x1(I8).x0(r):q4(r)?D4().x(I8).y1(L8).y0(r):ce().x(I8).y(L8)).defined(F8).curve(o)(s)},R8=e=>{var{className:t,points:n,path:r,pathRef:i}=e,a=J6();if((!n||!n.length)&&!r)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},s=n&&n.length?nZe(o):r;return F.createElement(`path`,P8({},y4(e),kWe(e),{className:h4(`recharts-curve`,t),d:s===null?void 0:s,ref:i}))},rZe=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function z8(){return z8=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},z8.apply(null,arguments)}function iZe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aZe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?iZe(Object(n),!0).forEach(function(t){oZe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iZe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oZe(e,t,n){return(t=sZe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sZe(e){var t=cZe(e,`string`);return typeof t==`symbol`?t:t+``}function cZe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function lZe(e,t){if(e==null)return{};var n,r,i=uZe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function uZe(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}var dZe=(e,t,n,r,i,a)=>`M${e},${i}v${r}M${a},${t}h${n}`,fZe=e=>{var{x:t=0,y:n=0,top:r=0,left:i=0,width:a=0,height:o=0,className:s}=e,c=lZe(e,rZe),l=aZe({x:t,y:n,top:r,left:i,width:a,height:o},c);return!q4(t)||!q4(n)||!q4(a)||!q4(o)||!q4(r)||!q4(i)?null:F.createElement(`path`,z8({},x4(l),{className:h4(`recharts-cross`,s),d:dZe(t,n,a,o,r,i)}))};function pZe(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}function mZe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function hZe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?mZe(Object(n),!0).forEach(function(t){gZe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mZe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gZe(e,t,n){return(t=_Ze(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _Ze(e){var t=vZe(e,`string`);return typeof t==`symbol`?t:t+``}function vZe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var yZe=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),bZe=(e,t,n)=>e.map(e=>`${yZe(e)} ${t}ms ${n}`).join(`,`),xZe=(e,t)=>[Object.keys(e),Object.keys(t)].reduce((e,t)=>e.filter(e=>t.includes(e))),B8=(e,t)=>Object.keys(t).reduce((n,r)=>hZe(hZe({},n),{},{[r]:e(r,t[r])}),{});function SZe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?SZe(Object(n),!0).forEach(function(t){CZe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):SZe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function CZe(e,t,n){return(t=wZe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wZe(e){var t=TZe(e,`string`);return typeof t==`symbol`?t:t+``}function TZe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var H8=(e,t,n)=>e+(t-e)*n,U8=e=>{var{from:t,to:n}=e;return t!==n},EZe=(e,t,n)=>{var r=B8((t,n)=>{if(U8(n)){var[r,i]=e(n.from,n.to,n.velocity);return V8(V8({},n),{},{from:r,velocity:i})}return n},t);return n<1?B8((e,t)=>U8(t)&&r[e]!=null?V8(V8({},t),{},{velocity:H8(t.velocity,r[e].velocity,n),from:H8(t.from,r[e].from,n)}):t,t):EZe(e,r,n-1)};function DZe(e,t,n,r,i,a){var o,s=r.reduce((n,r)=>V8(V8({},n),{},{[r]:{from:e[r],velocity:0,to:t[r]}}),{}),c=()=>B8((e,t)=>t.from,s),l=()=>!Object.values(s).filter(U8).length,u=null,d=r=>{o||=r;var f=(r-o)/n.dt;s=EZe(n,s,f),i(V8(V8(V8({},e),t),c())),o=r,l()||(u=a.setTimeout(d))};return()=>(u=a.setTimeout(d),()=>{var e;(e=u)==null||e()})}function OZe(e,t,n,r,i,a,o){var s=null,c=i.reduce((n,r)=>{var i=e[r],a=t[r];return i==null||a==null?n:V8(V8({},n),{},{[r]:[i,a]})},{}),l,u=i=>{l||=i;var d=(i-l)/r,f=B8((e,t)=>H8(...t,n(d)),c);if(a(V8(V8(V8({},e),t),f)),d<1)s=o.setTimeout(u);else{var p=B8((e,t)=>H8(...t,n(1)),c);a(V8(V8(V8({},e),t),p))}};return()=>(s=o.setTimeout(u),()=>{var e;(e=s)==null||e()})}var kZe=(e,t,n,r,i,a)=>{var o=xZe(e,t);return n==null?()=>(i(V8(V8({},e),t)),()=>{}):n.isStepper===!0?DZe(e,t,n,o,i,a):OZe(e,t,n,r,o,i,a)},W8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],AZe=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),jZe=(e,t)=>n=>AZe(W8(e,t),n),MZe=(e,t)=>n=>AZe([...W8(e,t).map((e,t)=>e*t).slice(1),0],n),NZe=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},PZe=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=NZe(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},FZe=(e,t,n,r)=>{var i=jZe(e,n),a=jZe(t,r),o=MZe(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},IZe=function(){return FZe(...PZe(...arguments))},LZe=function(){var{stiff:e=100,damping:t=8,dt:n=17}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=(r,i,a)=>{var o=a+(-(r-i)*e-a*t)*n/1e3,s=a*n/1e3+r;return Math.abs(s-i)<1e-4&&Math.abs(o)<1e-4?[i,0]:[s,o]};return r.isStepper=!0,r.dt=n,r},RZe=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return IZe(e);case`spring`:return LZe();default:if(e.split(`(`)[0]===`cubic-bezier`)return IZe(e)}return typeof e==`function`?e:null};function zZe(e){var t,n=()=>null,r=!1,i=null,a=o=>{if(!r){if(Array.isArray(o)){if(!o.length)return;var[s,...c]=o;if(typeof s==`number`){i=e.setTimeout(a.bind(null,c),s);return}a(s),i=e.setTimeout(a.bind(null,c));return}typeof o==`string`&&(t=o,n(t)),typeof o==`object`&&(t=o,n(t)),typeof o==`function`&&o()}};return{stop:()=>{r=!0},start:e=>{r=!1,i&&=(i(),null),a(e)},subscribe:e=>(n=e,()=>{n=()=>null}),getTimeoutController:()=>e}}var BZe=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):typeof requestAnimationFrame==`function`&&(r=requestAnimationFrame(i))};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function VZe(){return zZe(new BZe)}var HZe=(0,F.createContext)(VZe);function UZe(e,t){var n=(0,F.useContext)(HZe);return(0,F.useMemo)(()=>t??n(e),[e,t,n])}var WZe={begin:0,duration:1e3,easing:`ease`,isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},GZe={t:0},G8={t:1};function K8(e){var t=i3(e,WZe),{isActive:n,canBegin:r,duration:i,easing:a,begin:o,onAnimationEnd:s,onAnimationStart:c,children:l}=t,u=RXe(),d=n===`auto`?!M8.isSsr&&!u:n,f=UZe(t.animationId,t.animationManager),[p,m]=(0,F.useState)(d?GZe:G8),h=(0,F.useRef)(null);return(0,F.useEffect)(()=>{d||m(G8)},[d]),(0,F.useEffect)(()=>{if(!d||!r)return t3;var e=kZe(GZe,G8,RZe(a),i,m,f.getTimeoutController());return f.start([c,o,()=>{h.current=e()},i,s]),()=>{f.stop(),h.current&&h.current(),s()}},[d,r,i,a,o,c,s,f]),l(p.t)}function q8(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,F.useRef)(Y4(t)),r=(0,F.useRef)(e);return r.current!==e&&(n.current=Y4(t),r.current=e),n.current}var KZe=[`radius`],qZe=[`radius`],JZe,YZe,XZe,ZZe,QZe,$Ze,eQe,tQe,nQe,rQe;function iQe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aQe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?iQe(Object(n),!0).forEach(function(t){oQe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iQe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oQe(e,t,n){return(t=sQe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sQe(e){var t=cQe(e,`string`);return typeof t==`symbol`?t:t+``}function cQe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function J8(){return J8=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},J8.apply(null,arguments)}function lQe(e,t){if(e==null)return{};var n,r,i=uQe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function uQe(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 Y8(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var dQe=(e,t,n,r,i)=>{var a=V4(n),o=V4(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;p<m;p++){var h=i[p]??0;f[p]=h>s?s:h}d=H4(JZe||=Y8([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=H4(YZe||=Y8([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=H4(XZe||=Y8([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=H4(ZZe||=Y8([`A `,`,`,`,0,0,`,`,
|
|
3157
|
-
`,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=H4(
|
|
3158
|
-
`,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=H4(
|
|
3159
|
-
`,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=H4(
|
|
3156
|
+
height and width.`,S,C,i,a,o,s,n),F.createElement(`div`,{id:d?`${d}`:void 0,className:h4(`recharts-responsive-container`,f),style:nYe(nYe({},m),{},{width:i,height:a,minWidth:o,minHeight:s,maxHeight:c}),ref:h},F.createElement(`div`,{style:QJe({width:i,height:a})},F.createElement(cYe,{width:S,height:C},l)))}),uYe=(0,F.forwardRef)((e,t)=>{var n=W6();if(k6(n.width)&&k6(n.height))return e.children;var{width:r,height:i}=$Je({width:e.width,height:e.height,aspect:e.aspect}),{calculatedWidth:a,calculatedHeight:o}=qJe(void 0,void 0,{width:r,height:i,aspect:e.aspect,maxHeight:e.maxHeight});return q4(a)&&q4(o)?F.createElement(cYe,{width:a,height:o},e.children):F.createElement(lYe,U6({},e,{width:r,height:i,ref:t}))});function G6(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var K6=()=>{var e=z6(),t=d3(zJe),n=d3(V6),r=d3(B6)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},dYe={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},fYe=()=>d3(R6)??dYe,pYe=()=>d3(N6),mYe=()=>d3(P6),hYe=()=>d3(e=>e.layout.margin),q6=e=>e.layout.layoutType,J6=()=>d3(q6),gYe=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},_Ye=()=>J6()!==void 0,Y6=e=>{var t=l3(),n=z6(),{width:r,height:i}=e,a=W6(),o=r,s=i;return a&&(o=a.width>0?a.width:r,s=a.height>0?a.height:i),(0,F.useEffect)(()=>{!n&&k6(o)&&k6(s)&&t(aJe({width:o,height:s}))},[t,n,o,s]),null},vYe=Symbol.for(`immer-nothing`),yYe=Symbol.for(`immer-draftable`),X6=Symbol.for(`immer-state`),bYe=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function Z6(e,...t){{let n=bYe[e],r=typeof n==`function`?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Q6=Object.getPrototypeOf;function $6(e){return!!e&&!!e[X6]}function e8(e){return e?CYe(e)||Array.isArray(e)||!!e[yYe]||!!e.constructor?.[yYe]||i8(e)||a8(e):!1}var xYe=Object.prototype.constructor.toString(),SYe=new WeakMap;function CYe(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;let n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;if(n===Object)return!0;if(typeof n!=`function`)return!1;let r=SYe.get(n);return r===void 0&&(r=Function.toString.call(n),SYe.set(n,r)),r===xYe}function t8(e,t,n=!0){n8(e)===0?(n?Reflect.ownKeys(e):Object.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function n8(e){let t=e[X6];return t?t.type_:Array.isArray(e)?1:i8(e)?2:a8(e)?3:0}function r8(e,t){return n8(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function wYe(e,t,n){let r=n8(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function TYe(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}function i8(e){return e instanceof Map}function a8(e){return e instanceof Set}function o8(e){return e.copy_||e.base_}function s8(e,t){if(i8(e))return new Map(e);if(a8(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let n=CYe(e);if(t===!0||t===`class_only`&&!n){let t=Object.getOwnPropertyDescriptors(e);delete t[X6];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[i]})}return Object.create(Q6(e),t)}else{let t=Q6(e);return t!==null&&n?{...e}:Object.assign(Object.create(t),e)}}function c8(e,t=!1){return u8(e)||$6(e)||!e8(e)?e:(n8(e)>1&&Object.defineProperties(e,{set:l8,add:l8,clear:l8,delete:l8}),Object.freeze(e),t&&Object.values(e).forEach(e=>c8(e,!0)),e)}function EYe(){Z6(2)}var l8={value:EYe};function u8(e){return typeof e!=`object`||!e?!0:Object.isFrozen(e)}var DYe={};function d8(e){let t=DYe[e];return t||Z6(0,e),t}var f8;function OYe(){return f8}function kYe(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function AYe(e,t){t&&(d8(`Patches`),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function p8(e){m8(e),e.drafts_.forEach(MYe),e.drafts_=null}function m8(e){e===f8&&(f8=e.parent_)}function jYe(e){return f8=kYe(f8,e)}function MYe(e){let t=e[X6];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function NYe(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];return e!==void 0&&e!==n?(n[X6].modified_&&(p8(t),Z6(4)),e8(e)&&(e=h8(t,e),t.parent_||g8(t,e)),t.patches_&&d8(`Patches`).generateReplacementPatches_(n[X6].base_,e,t.patches_,t.inversePatches_)):e=h8(t,n,[]),p8(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===vYe?void 0:e}function h8(e,t,n){if(u8(t))return t;let r=e.immer_.shouldUseStrictIteration(),i=t[X6];if(!i)return t8(t,(r,a)=>PYe(e,i,t,r,a,n),r),t;if(i.scope_!==e)return t;if(!i.modified_)return g8(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;let t=i.copy_,a=t,o=!1;i.type_===3&&(a=new Set(t),t.clear(),o=!0),t8(a,(r,a)=>PYe(e,i,t,r,a,n,o),r),g8(e,t,!1),n&&e.patches_&&d8(`Patches`).generatePatches_(i,n,e.patches_,e.inversePatches_)}return i.copy_}function PYe(e,t,n,r,i,a,o){if(i==null||typeof i!=`object`&&!o)return;let s=u8(i);if(!(s&&!o)){if(i===n&&Z6(5),$6(i)){let o=h8(e,i,a&&t&&t.type_!==3&&!r8(t.assigned_,r)?a.concat(r):void 0);if(wYe(n,r,o),$6(o))e.canAutoFreeze_=!1;else return}else o&&n.add(i);if(e8(i)&&!s){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[r]===i&&s)return;h8(e,i),(!t||!t.scope_.parent_)&&typeof r!=`symbol`&&(i8(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&g8(e,i)}}}function g8(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&c8(t,n)}function FYe(e,t){let n=Array.isArray(e),r={type_:+!!n,scope_:t?t.scope_:OYe(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},i=r,a=_8;n&&(i=[r],a=v8);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,s}var _8={get(e,t){if(t===X6)return e;let n=o8(e);if(!r8(n,t))return IYe(e,n,t);let r=n[t];return e.finalized_||!e8(r)?r:r===y8(e.base_,t)?(x8(e),e.copy_[t]=S8(r,e)):r},has(e,t){return t in o8(e)},ownKeys(e){return Reflect.ownKeys(o8(e))},set(e,t,n){let r=LYe(o8(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=y8(o8(e),t),i=r?.[X6];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(TYe(n,r)&&(n!==void 0||r8(e.base_,t)))return!0;x8(e),b8(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_[t]=!0,!0)},deleteProperty(e,t){return y8(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,x8(e),b8(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=o8(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!==`length`,enumerable:r.enumerable,value:n[t]}},defineProperty(){Z6(11)},getPrototypeOf(e){return Q6(e.base_)},setPrototypeOf(){Z6(12)}},v8={};t8(_8,(e,t)=>{v8[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),v8.deleteProperty=function(e,t){return isNaN(parseInt(t))&&Z6(13),v8.set.call(this,e,t,void 0)},v8.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&Z6(14),_8.set.call(this,e[0],t,n,e[0])};function y8(e,t){let n=e[X6];return(n?o8(n):e)[t]}function IYe(e,t,n){let r=LYe(t,n);return r?`value`in r?r.value:r.get?.call(e.draft_):void 0}function LYe(e,t){if(!(t in e))return;let n=Q6(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Q6(n)}}function b8(e){e.modified_||(e.modified_=!0,e.parent_&&b8(e.parent_))}function x8(e){e.copy_||=s8(e.base_,e.scope_.immer_.useStrictShallowCopy_)}var RYe=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,t,n)=>{if(typeof e==`function`&&typeof t!=`function`){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}typeof t!=`function`&&Z6(6),n!==void 0&&typeof n!=`function`&&Z6(7);let r;if(e8(e)){let i=jYe(this),a=S8(e,void 0),o=!0;try{r=t(a),o=!1}finally{o?p8(i):m8(i)}return AYe(i,n),NYe(r,i)}else if(!e||typeof e!=`object`){if(r=t(e),r===void 0&&(r=e),r===vYe&&(r=void 0),this.autoFreeze_&&c8(r,!0),n){let t=[],i=[];d8(`Patches`).generateReplacementPatches_(e,r,t,i),n(t,i)}return r}else Z6(1,e)},this.produceWithPatches=(e,t)=>{if(typeof e==`function`)return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},typeof e?.autoFreeze==`boolean`&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy==`boolean`&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof e?.useStrictIteration==`boolean`&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){e8(e)||Z6(8),$6(e)&&(e=zYe(e));let t=jYe(this),n=S8(e,void 0);return n[X6].isManual_=!0,m8(t),n}finishDraft(e,t){let n=e&&e[X6];(!n||!n.isManual_)&&Z6(9);let{scope_:r}=n;return AYe(r,t),NYe(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=d8(`Patches`).applyPatches_;return $6(e)?r(e,t):this.produce(e,e=>r(e,t))}};function S8(e,t){let n=i8(e)?d8(`MapSet`).proxyMap_(e,t):a8(e)?d8(`MapSet`).proxySet_(e,t):FYe(e,t);return(t?t.scope_:OYe()).drafts_.push(n),n}function zYe(e){return $6(e)||Z6(10,e),BYe(e)}function BYe(e){if(!e8(e)||u8(e))return e;let t=e[X6],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=s8(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=s8(e,!0);return t8(n,(e,t)=>{wYe(n,e,BYe(t))},r),t&&(t.finalized_=!1),n}new RYe().produce;function C8(e){return e}var VYe=h6({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`middle`,itemSorter:`value`},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(C8(t.payload))},prepare:m6()},replaceLegendPayload:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).payload.indexOf(C8(n));i>-1&&(e.payload[i]=C8(r))},prepare:m6()},removeLegendPayload:{reducer(e,t){var n=l6(e).payload.indexOf(C8(t.payload));n>-1&&e.payload.splice(n,1)},prepare:m6()}}}),{setLegendSize:HYe,setLegendSettings:UYe,addLegendPayload:WYe,replaceLegendPayload:GYe,removeLegendPayload:KYe}=VYe.actions,qYe=VYe.reducer,JYe=a((e=>{(function(){function t(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=Je(),r=typeof Object.is==`function`?Object.is:t,i=n.useSyncExternalStore,a=n.useRef,o=n.useEffect,s=n.useMemo,c=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,l,u){var d=a(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!i){if(i=!0,a=e,e=l(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return o=t}return o=e}if(t=o,r(a,e))return t;var n=l(e);return u!==void 0&&u(t,n)?(a=e,t):(a=e,o=n)}var i=!1,a,o,s=n===void 0?null:n;return[function(){return e(t())},s===null?void 0:function(){return e(s())}]},[t,n,l,u]);var p=i(e,d[0],d[1]);return o(function(){f.hasValue=!0,f.value=p},[p]),c(p),p},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}));a(((e,t)=>{t.exports=JYe()}))();function YYe(e){e()}function XYe(){let e=null,t=null;return{clear(){e=null,t=null},notify(){YYe(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var ZYe={notify(){},get:()=>[]};function QYe(e,t){let n,r=ZYe,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=XYe())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=ZYe)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var $Ye=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,eXe=typeof navigator<`u`&&navigator.product===`ReactNative`,tXe=$Ye||eXe?F.useLayoutEffect:F.useEffect;function nXe(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function rXe(e,t){if(nXe(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!nXe(e[n[r]],t[n[r]]))return!1;return!0}var iXe=Symbol.for(`react-redux-context`),aXe=typeof globalThis<`u`?globalThis:{};function oXe(){if(!F.createContext)return{};let e=aXe[iXe]??=new Map,t=e.get(F.createContext);return t||(t=F.createContext(null),t.displayName=`ReactRedux`,e.set(F.createContext,t)),t}var sXe=oXe();function cXe(e){let{children:t,context:n,serverState:r,store:i}=e,a=F.useMemo(()=>{let t={store:i,subscription:QYe(i),getServerState:r?()=>r:void 0};{let{identityFunctionCheck:n=`once`,stabilityCheck:r=`once`}=e;return Object.assign(t,{stabilityCheck:r,identityFunctionCheck:n})}},[i,r]),o=F.useMemo(()=>i.getState(),[i]);tXe(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let s=n||sXe;return F.createElement(s.Provider,{value:a},t)}var lXe=cXe,uXe=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function dXe(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function w8(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(uXe.has(n)){if(e[n]==null&&t[n]==null)continue;if(!rXe(e[n],t[n]))return!1}else if(!dXe(e[n],t[n]))return!1;return!0}var fXe=[`contextPayload`];function T8(){return T8=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},T8.apply(null,arguments)}function pXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function E8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?pXe(Object(n),!0).forEach(function(t){mXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function mXe(e,t,n){return(t=hXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hXe(e){var t=gXe(e,`string`);return typeof t==`symbol`?t:t+``}function gXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _Xe(e,t){if(e==null)return{};var n,r,i=vXe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function vXe(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 yXe(e){return e.value}function bXe(e){var{contextPayload:t}=e,n=_Xe(e,fXe),r=wGe(t,e.payloadUniqBy,yXe),i=E8(E8({},n),{},{payload:r});return F.isValidElement(e.content)?F.cloneElement(e.content,i):typeof e.content==`function`?F.createElement(e.content,i):F.createElement(qWe,i)}function xXe(e,t,n,r,i,a){var{layout:o,align:s,verticalAlign:c}=t,l,u;return(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))&&(l=s===`center`&&o===`vertical`?{left:((r||0)-a.width)/2}:s===`right`?{right:n&&n.right||0}:{left:n&&n.left||0}),(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))&&(u=c===`middle`?{top:((i||0)-a.height)/2}:c===`bottom`?{bottom:n&&n.bottom||0}:{top:n&&n.top||0}),E8(E8({},l),u)}function SXe(e){var t=l3();return(0,F.useEffect)(()=>{t(UYe(e))},[t,e]),null}function CXe(e){var t=l3();return(0,F.useEffect)(()=>(t(HYe(e)),()=>{t(HYe({width:0,height:0}))}),[t,e]),null}function wXe(e,t,n,r){return e===`vertical`&&t!=null?{height:t}:e===`horizontal`?{width:n||r}:null}var TXe={align:`center`,iconSize:14,inactiveColor:`#ccc`,itemSorter:`value`,layout:`horizontal`,verticalAlign:`bottom`};function EXe(e){var t=i3(e,TXe),n=tKe(),r=WUe(),i=hYe(),{width:a,height:o,wrapperStyle:s,portal:c}=t,[l,u]=nKe([n]),d=pYe(),f=mYe();if(d==null||f==null)return null;var p=d-(i?.left||0)-(i?.right||0),m=wXe(t.layout,o,a,p),h=c?s:E8(E8({position:`absolute`,width:m?.width||a||`auto`,height:m?.height||o||`auto`},xXe(s,t,i,d,f,l)),s),g=c??r;return g==null||n==null?null:(0,Ti.createPortal)(F.createElement(`div`,{className:`recharts-legend-wrapper`,style:h,ref:u},F.createElement(SXe,{layout:t.layout,align:t.align,verticalAlign:t.verticalAlign,itemSorter:t.itemSorter}),!c&&F.createElement(CXe,{width:l.width,height:l.height}),F.createElement(bXe,T8({},t,m,{margin:i,chartWidth:d,chartHeight:f,contextPayload:n}))),g)}var D8=F.memo(EXe,w8);D8.displayName=`Legend`;function O8(){return O8=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},O8.apply(null,arguments)}function DXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function k8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?DXe(Object(n),!0).forEach(function(t){OXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function OXe(e,t,n){return(t=kXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kXe(e){var t=AXe(e,`string`);return typeof t==`symbol`?t:t+``}function AXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function jXe(e){return Array.isArray(e)&&J4(e[0])&&J4(e[1])?e.join(` ~ `):e}var A8={separator:` : `,contentStyle:{margin:0,padding:10,backgroundColor:`#fff`,border:`1px solid #ccc`,whiteSpace:`nowrap`},itemStyle:{display:`block`,paddingTop:4,paddingBottom:4,color:`#000`},labelStyle:{},accessibilityLayer:!1};function MXe(e,t){return t==null?e:(0,p3.default)(e,t)}var NXe=e=>{var{separator:t=A8.separator,contentStyle:n,itemStyle:r,labelStyle:i=A8.labelStyle,payload:a,formatter:o,itemSorter:s,wrapperClassName:c,labelClassName:l,label:u,labelFormatter:d,accessibilityLayer:f=A8.accessibilityLayer}=e,p=()=>{if(a&&a.length){var e={padding:0,margin:0},n=MXe(a,s).map((e,n)=>{if(!e||e.type===`none`)return null;var i=e.formatter||o||jXe,{value:s,name:c}=e,l=s,u=c;if(i){var d=i(s,c,e,n,a);if(Array.isArray(d))[l,u]=d;else if(d!=null)l=d;else return null}var f=k8(k8({},A8.itemStyle),{},{color:e.color||A8.itemStyle.color},r);return F.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${n}`,style:f},J4(u)?F.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,J4(u)?F.createElement(`span`,{className:`recharts-tooltip-item-separator`},t):null,F.createElement(`span`,{className:`recharts-tooltip-item-value`},l),F.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return F.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},n)}return null},m=k8(k8({},A8.contentStyle),n),h=k8({margin:0},i),g=!Q4(u),_=g?u:``,v=h4(`recharts-default-tooltip`,c),y=h4(`recharts-tooltip-label`,l);g&&d&&a!=null&&(_=d(u,a));var b=f?{role:`status`,"aria-live":`assertive`}:{};return F.createElement(`div`,O8({className:v,style:m},b),F.createElement(`p`,{className:y,style:h},F.isValidElement(_)?_:`${_}`),p())},j8=`recharts-tooltip-wrapper`,PXe={visibility:`hidden`};function FXe(e){var{coordinate:t,translateX:n,translateY:r}=e;return h4(j8,{[`${j8}-right`]:q4(n)&&t&&q4(t.x)&&n>=t.x,[`${j8}-left`]:q4(n)&&t&&q4(t.x)&&n<t.x,[`${j8}-bottom`]:q4(r)&&t&&q4(t.y)&&r>=t.y,[`${j8}-top`]:q4(r)&&t&&q4(t.y)&&r<t.y})}function IXe(e){var{allowEscapeViewBox:t,coordinate:n,key:r,offset:i,position:a,reverseDirection:o,tooltipDimension:s,viewBox:c,viewBoxDimension:l}=e;if(a&&q4(a[r]))return a[r];var u=n[r]-s-(i>0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(u<f?d:u,f):l==null?0:d+s>f+l?Math.max(u,f):Math.max(d,f)}function LXe(e){var{translateX:t,translateY:n,useTranslate3d:r}=e;return{transform:r?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function RXe(e){var{allowEscapeViewBox:t,coordinate:n,offsetTop:r,offsetLeft:i,position:a,reverseDirection:o,tooltipBox:s,useTranslate3d:c,viewBox:l}=e,u,d,f;return s.height>0&&s.width>0&&n?(d=IXe({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=IXe({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=LXe({translateX:d,translateY:f,useTranslate3d:c})):u=PXe,{cssProperties:u,cssClasses:FXe({translateX:d,translateY:f,coordinate:n})}}var M8={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function zXe(){var[e,t]=(0,F.useState)(()=>M8.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);return(0,F.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}}},[]),e}function BXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function N8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?BXe(Object(n),!0).forEach(function(t){VXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):BXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function VXe(e,t,n){return(t=HXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HXe(e){var t=UXe(e,`string`);return typeof t==`symbol`?t:t+``}function UXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function WXe(e){if(!(e.prefersReducedMotion&&e.isAnimationActive===`auto`)&&e.isAnimationActive&&e.active)return`transform ${e.animationDuration}ms ${e.animationEasing}`}function GXe(e){var t=zXe(),[n,r]=F.useState(()=>({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}}));F.useEffect(()=>{var t=t=>{t.key===`Escape`&&r({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),n.dismissed&&((e.coordinate?.x??0)!==n.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==n.dismissedAtCoordinate.y)&&r(N8(N8({},n),{},{dismissed:!1}));var{cssClasses:i,cssProperties:a}=RXe({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=N8(N8({},e.hasPortalFromProps?{}:N8(N8({transition:WXe({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},a),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!n.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return F.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:i,style:o,ref:e.innerRef},e.children)}var KXe=F.memo(GXe),qXe=()=>d3(e=>e.rootProps.accessibilityLayer)??!0;function P8(){return P8=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},P8.apply(null,arguments)}function JXe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function YXe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?JXe(Object(n),!0).forEach(function(t){XXe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JXe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function XXe(e,t,n){return(t=ZXe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZXe(e){var t=QXe(e,`string`);return typeof t==`symbol`?t:t+``}function QXe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var $Xe={curveBasisClosed:j,curveBasisOpen:O,curveBasis:k,curveBumpX:N,curveBumpY:M,curveLinearClosed:ie,curveLinear:A,curveMonotoneX:D,curveMonotoneY:ne,curveNatural:ee,curveStep:re,curveStepAfter:ae,curveStepBefore:te},F8=e=>O6(e.x)&&O6(e.y),eZe=e=>e.base!=null&&F8(e.base)&&F8(e),I8=e=>e.x,L8=e=>e.y,tZe=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${$4(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=$Xe[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return $Xe[n]||A},nZe={connectNulls:!1,type:`linear`},rZe=e=>{var{type:t=nZe.type,points:n=[],baseLine:r,layout:i,connectNulls:a=nZe.connectNulls}=e,o=tZe(t,i),s=a?n.filter(F8):n;if(Array.isArray(r)){var c,l=n.map((e,t)=>YXe(YXe({},e),{},{base:r[t]}));return c=i===`vertical`?D4().y(L8).x1(I8).x0(e=>e.base.x):D4().x(I8).y1(L8).y0(e=>e.base.y),c.defined(eZe).curve(o)(a?l.filter(eZe):l)}return(i===`vertical`&&q4(r)?D4().y(L8).x1(I8).x0(r):q4(r)?D4().x(I8).y1(L8).y0(r):ce().x(I8).y(L8)).defined(F8).curve(o)(s)},R8=e=>{var{className:t,points:n,path:r,pathRef:i}=e,a=J6();if((!n||!n.length)&&!r)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},s=n&&n.length?rZe(o):r;return F.createElement(`path`,P8({},y4(e),AWe(e),{className:h4(`recharts-curve`,t),d:s===null?void 0:s,ref:i}))},iZe=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function z8(){return z8=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},z8.apply(null,arguments)}function aZe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function oZe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?aZe(Object(n),!0).forEach(function(t){sZe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aZe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function sZe(e,t,n){return(t=cZe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cZe(e){var t=lZe(e,`string`);return typeof t==`symbol`?t:t+``}function lZe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function uZe(e,t){if(e==null)return{};var n,r,i=dZe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function dZe(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}var fZe=(e,t,n,r,i,a)=>`M${e},${i}v${r}M${a},${t}h${n}`,pZe=e=>{var{x:t=0,y:n=0,top:r=0,left:i=0,width:a=0,height:o=0,className:s}=e,c=uZe(e,iZe),l=oZe({x:t,y:n,top:r,left:i,width:a,height:o},c);return!q4(t)||!q4(n)||!q4(a)||!q4(o)||!q4(r)||!q4(i)?null:F.createElement(`path`,z8({},x4(l),{className:h4(`recharts-cross`,s),d:fZe(t,n,a,o,r,i)}))};function mZe(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}function hZe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gZe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?hZe(Object(n),!0).forEach(function(t){_Ze(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hZe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _Ze(e,t,n){return(t=vZe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vZe(e){var t=yZe(e,`string`);return typeof t==`symbol`?t:t+``}function yZe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var bZe=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),xZe=(e,t,n)=>e.map(e=>`${bZe(e)} ${t}ms ${n}`).join(`,`),SZe=(e,t)=>[Object.keys(e),Object.keys(t)].reduce((e,t)=>e.filter(e=>t.includes(e))),B8=(e,t)=>Object.keys(t).reduce((n,r)=>gZe(gZe({},n),{},{[r]:e(r,t[r])}),{});function CZe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?CZe(Object(n),!0).forEach(function(t){wZe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):CZe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function wZe(e,t,n){return(t=TZe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function TZe(e){var t=EZe(e,`string`);return typeof t==`symbol`?t:t+``}function EZe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var H8=(e,t,n)=>e+(t-e)*n,U8=e=>{var{from:t,to:n}=e;return t!==n},DZe=(e,t,n)=>{var r=B8((t,n)=>{if(U8(n)){var[r,i]=e(n.from,n.to,n.velocity);return V8(V8({},n),{},{from:r,velocity:i})}return n},t);return n<1?B8((e,t)=>U8(t)&&r[e]!=null?V8(V8({},t),{},{velocity:H8(t.velocity,r[e].velocity,n),from:H8(t.from,r[e].from,n)}):t,t):DZe(e,r,n-1)};function OZe(e,t,n,r,i,a){var o,s=r.reduce((n,r)=>V8(V8({},n),{},{[r]:{from:e[r],velocity:0,to:t[r]}}),{}),c=()=>B8((e,t)=>t.from,s),l=()=>!Object.values(s).filter(U8).length,u=null,d=r=>{o||=r;var f=(r-o)/n.dt;s=DZe(n,s,f),i(V8(V8(V8({},e),t),c())),o=r,l()||(u=a.setTimeout(d))};return()=>(u=a.setTimeout(d),()=>{var e;(e=u)==null||e()})}function kZe(e,t,n,r,i,a,o){var s=null,c=i.reduce((n,r)=>{var i=e[r],a=t[r];return i==null||a==null?n:V8(V8({},n),{},{[r]:[i,a]})},{}),l,u=i=>{l||=i;var d=(i-l)/r,f=B8((e,t)=>H8(...t,n(d)),c);if(a(V8(V8(V8({},e),t),f)),d<1)s=o.setTimeout(u);else{var p=B8((e,t)=>H8(...t,n(1)),c);a(V8(V8(V8({},e),t),p))}};return()=>(s=o.setTimeout(u),()=>{var e;(e=s)==null||e()})}var AZe=(e,t,n,r,i,a)=>{var o=SZe(e,t);return n==null?()=>(i(V8(V8({},e),t)),()=>{}):n.isStepper===!0?OZe(e,t,n,o,i,a):kZe(e,t,n,r,o,i,a)},jZe=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],MZe=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),NZe=(e,t)=>n=>MZe(jZe(e,t),n),PZe=(e,t)=>n=>MZe([...jZe(e,t).map((e,t)=>e*t).slice(1),0],n),FZe=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},IZe=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=FZe(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},LZe=(e,t,n,r)=>{var i=NZe(e,n),a=NZe(t,r),o=PZe(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},RZe=function(){return LZe(...IZe(...arguments))},zZe=function(){var{stiff:e=100,damping:t=8,dt:n=17}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=(r,i,a)=>{var o=a+(-(r-i)*e-a*t)*n/1e3,s=a*n/1e3+r;return Math.abs(s-i)<1e-4&&Math.abs(o)<1e-4?[i,0]:[s,o]};return r.isStepper=!0,r.dt=n,r},BZe=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return RZe(e);case`spring`:return zZe();default:if(e.split(`(`)[0]===`cubic-bezier`)return RZe(e)}return typeof e==`function`?e:null};function VZe(e){var t,n=()=>null,r=!1,i=null,a=o=>{if(!r){if(Array.isArray(o)){if(!o.length)return;var[s,...c]=o;if(typeof s==`number`){i=e.setTimeout(a.bind(null,c),s);return}a(s),i=e.setTimeout(a.bind(null,c));return}typeof o==`string`&&(t=o,n(t)),typeof o==`object`&&(t=o,n(t)),typeof o==`function`&&o()}};return{stop:()=>{r=!0},start:e=>{r=!1,i&&=(i(),null),a(e)},subscribe:e=>(n=e,()=>{n=()=>null}),getTimeoutController:()=>e}}var HZe=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):typeof requestAnimationFrame==`function`&&(r=requestAnimationFrame(i))};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function UZe(){return VZe(new HZe)}var WZe=(0,F.createContext)(UZe);function GZe(e,t){var n=(0,F.useContext)(WZe);return(0,F.useMemo)(()=>t??n(e),[e,t,n])}var KZe={begin:0,duration:1e3,easing:`ease`,isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},qZe={t:0},W8={t:1};function G8(e){var t=i3(e,KZe),{isActive:n,canBegin:r,duration:i,easing:a,begin:o,onAnimationEnd:s,onAnimationStart:c,children:l}=t,u=zXe(),d=n===`auto`?!M8.isSsr&&!u:n,f=GZe(t.animationId,t.animationManager),[p,m]=(0,F.useState)(d?qZe:W8),h=(0,F.useRef)(null);return(0,F.useEffect)(()=>{d||m(W8)},[d]),(0,F.useEffect)(()=>{if(!d||!r)return t3;var e=AZe(qZe,W8,BZe(a),i,m,f.getTimeoutController());return f.start([c,o,()=>{h.current=e()},i,s]),()=>{f.stop(),h.current&&h.current(),s()}},[d,r,i,a,o,c,s,f]),l(p.t)}function K8(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,F.useRef)(Y4(t)),r=(0,F.useRef)(e);return r.current!==e&&(n.current=Y4(t),r.current=e),n.current}var JZe=[`radius`],YZe=[`radius`],XZe,ZZe,QZe,$Ze,eQe,tQe,nQe,rQe,iQe,aQe;function oQe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sQe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?oQe(Object(n),!0).forEach(function(t){cQe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oQe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function cQe(e,t,n){return(t=lQe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lQe(e){var t=uQe(e,`string`);return typeof t==`symbol`?t:t+``}function uQe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function q8(){return q8=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},q8.apply(null,arguments)}function dQe(e,t){if(e==null)return{};var n,r,i=fQe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function fQe(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 J8(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var pQe=(e,t,n,r,i)=>{var a=V4(n),o=V4(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;p<m;p++){var h=i[p]??0;f[p]=h>s?s:h}d=H4(XZe||=J8([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=H4(ZZe||=J8([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=H4(QZe||=J8([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=H4($Ze||=J8([`A `,`,`,`,0,0,`,`,
|
|
3157
|
+
`,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=H4(eQe||=J8([`L `,`,`,``]),e+n,t+r-c*f[2]),f[2]>0&&(d+=H4(tQe||=J8([`A `,`,`,`,0,0,`,`,
|
|
3158
|
+
`,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=H4(nQe||=J8([`L `,`,`,``]),e+l*f[3],t+r),f[3]>0&&(d+=H4(rQe||=J8([`A `,`,`,`,0,0,`,`,
|
|
3159
|
+
`,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=H4(iQe||=J8(`M .,.
|
|
3160
3160
|
A .,.,0,0,.,.,.
|
|
3161
3161
|
L .,.
|
|
3162
3162
|
A .,.,0,0,.,.,.
|
|
3163
3163
|
L .,.
|
|
3164
3164
|
A .,.,0,0,.,.,.
|
|
3165
3165
|
L .,.
|
|
3166
|
-
A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=H4(
|
|
3166
|
+
A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=H4(aQe||=J8([`M `,`,`,` h `,` v `,` h `,` Z`]),e,t,n,r,-n);return d},mQe={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},hQe=e=>{var t=i3(e,mQe),n=(0,F.useRef)(null),[r,i]=(0,F.useState)(-1);(0,F.useEffect)(()=>{if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&i(e)}catch{}},[]);var{x:a,y:o,width:s,height:c,radius:l,className:u}=t,{animationEasing:d,animationDuration:f,animationBegin:p,isAnimationActive:m,isUpdateAnimationActive:h}=t,g=(0,F.useRef)(s),_=(0,F.useRef)(c),v=(0,F.useRef)(a),y=(0,F.useRef)(o),b=K8((0,F.useMemo)(()=>({x:a,y:o,width:s,height:c,radius:l}),[a,o,s,c,l]),`rectangle-`);if(a!==+a||o!==+o||s!==+s||c!==+c||s===0||c===0)return null;var x=h4(`recharts-rectangle`,u);if(!h){var S=x4(t),{radius:C}=S,w=dQe(S,JZe);return F.createElement(`path`,q8({},w,{x:V4(a),y:V4(o),width:V4(s),height:V4(c),radius:typeof l==`number`?l:void 0,className:x,d:pQe(a,o,s,c,l)}))}var T=g.current,E=_.current,D=v.current,O=y.current,k=`0px ${r===-1?1:r}px`,A=`${r}px ${r}px`,ee=xZe([`strokeDasharray`],f,typeof d==`string`?d:mQe.animationEasing);return F.createElement(G8,{animationId:b,key:b,canBegin:r>0,duration:f,easing:d,isActive:h,begin:p},e=>{var r=Z4(T,s,e),i=Z4(E,c,e),u=Z4(D,a,e),d=Z4(O,o,e);n.current&&(g.current=r,_.current=i,v.current=u,y.current=d);var f=m?e>0?{transition:ee,strokeDasharray:A}:{strokeDasharray:k}:{strokeDasharray:A},p=x4(t),{radius:h}=p,b=dQe(p,YZe);return F.createElement(`path`,q8({},b,{radius:typeof l==`number`?l:void 0,className:x,d:pQe(u,d,r,i,l),ref:n,style:sQe(sQe({},f),t.style)}))})};function gQe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _Qe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?gQe(Object(n),!0).forEach(function(t){vQe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gQe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vQe(e,t,n){return(t=yQe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yQe(e){var t=bQe(e,`string`);return typeof t==`symbol`?t:t+``}function bQe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Y8=Math.PI/180,xQe=e=>e*180/Math.PI,X8=(e,t,n,r)=>({x:e+Math.cos(-Y8*r)*n,y:t+Math.sin(-Y8*r)*n}),SQe=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},CQe=(e,t)=>{var{x:n,y:r}=e,{x:i,y:a}=t;return Math.sqrt((n-i)**2+(r-a)**2)},wQe=(e,t)=>{var{x:n,y:r}=e,{cx:i,cy:a}=t,o=CQe({x:n,y:r},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var s=(n-i)/o,c=Math.acos(s);return r>a&&(c=2*Math.PI-c),{radius:o,angle:xQe(c),angleInRadian:c}},TQe=e=>{var{startAngle:t,endAngle:n}=e,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},EQe=(e,t)=>{var{startAngle:n,endAngle:r}=t,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},DQe=(e,t)=>{var{relativeX:n,relativeY:r}=e,{radius:i,angle:a}=wQe({x:n,y:r},t),{innerRadius:o,outerRadius:s}=t;if(i<o||i>s||i===0)return null;var{startAngle:c,endAngle:l}=TQe(t),u=a,d;if(c<=l){for(;u>l;)u-=360;for(;u<c;)u+=360;d=u>=c&&u<=l}else{for(;u>c;)u-=360;for(;u<l;)u+=360;d=u>=l&&u<=c}return d?_Qe(_Qe({},t),{},{radius:i,angle:EQe(u,t)}):null};function Z8(e){var{cx:t,cy:n,radius:r,startAngle:i,endAngle:a}=e;return{points:[X8(t,n,r,i),X8(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var OQe,kQe,AQe,jQe,MQe,NQe,PQe;function Q8(){return Q8=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},Q8.apply(null,arguments)}function $8(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var FQe=(e,t)=>W4(t-e)*Math.min(Math.abs(t-e),359.999),e5=e=>{var{cx:t,cy:n,radius:r,angle:i,sign:a,isExternal:o,cornerRadius:s,cornerIsExternal:c}=e,l=s*(o?1:-1)+r,u=Math.asin(s/l)/Y8,d=c?i:i+a*u,f=X8(t,n,l,d),p=X8(t,n,r,d),m=c?i-a*u:i;return{center:f,circleTangency:p,lineTangency:X8(t,n,l*Math.cos(u*Y8),m),theta:u}},IQe=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:a,endAngle:o}=e,s=FQe(a,o),c=a+s,l=X8(t,n,i,a),u=X8(t,n,i,c),d=H4(OQe||=$8([`M `,`,`,`
|
|
3167
3167
|
A `,`,`,`,0,
|
|
3168
3168
|
`,`,`,`,
|
|
3169
3169
|
`,`,`,`
|
|
3170
|
-
`]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=
|
|
3170
|
+
`]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=X8(t,n,r,a),p=X8(t,n,r,c);d+=H4(kQe||=$8([`L `,`,`,`
|
|
3171
3171
|
A `,`,`,`,0,
|
|
3172
3172
|
`,`,`,`,
|
|
3173
|
-
`,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=H4(
|
|
3173
|
+
`,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=H4(AQe||=$8([`L `,`,`,` Z`]),t,n);return d},LQe=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,cornerRadius:a,forceCornerRadius:o,cornerIsExternal:s,startAngle:c,endAngle:l}=e,u=W4(l-c),{circleTangency:d,lineTangency:f,theta:p}=e5({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),{circleTangency:m,lineTangency:h,theta:g}=e5({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),_=s?Math.abs(c-l):Math.abs(c-l)-p-g;if(_<0)return o?H4(jQe||=$8([`M `,`,`,`
|
|
3174
3174
|
a`,`,`,`,0,0,1,`,`,0
|
|
3175
3175
|
a`,`,`,`,0,0,1,`,`,0
|
|
3176
|
-
`]),f.x,f.y,a,a,a*2,a,a,-a*2):
|
|
3176
|
+
`]),f.x,f.y,a,a,a*2,a,a,-a*2):IQe({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var v=H4(MQe||=$8([`M `,`,`,`
|
|
3177
3177
|
A`,`,`,`,0,0,`,`,`,`,`,`
|
|
3178
3178
|
A`,`,`,`,0,`,`,`,`,`,`,`,`
|
|
3179
3179
|
A`,`,`,`,0,0,`,`,`,`,`,`
|
|
3180
|
-
`]),f.x,f.y,a,a,+(u<0),d.x,d.y,i,i,+(_>180),+(u<0),m.x,m.y,a,a,+(u<0),h.x,h.y);if(r>0){var{circleTangency:y,lineTangency:b,theta:x}=e5({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),{circleTangency:S,lineTangency:C,theta:w}=e5({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),T=s?Math.abs(c-l):Math.abs(c-l)-x-w;if(T<0&&a===0)return`${v}L${t},${n}Z`;v+=H4(
|
|
3180
|
+
`]),f.x,f.y,a,a,+(u<0),d.x,d.y,i,i,+(_>180),+(u<0),m.x,m.y,a,a,+(u<0),h.x,h.y);if(r>0){var{circleTangency:y,lineTangency:b,theta:x}=e5({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),{circleTangency:S,lineTangency:C,theta:w}=e5({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),T=s?Math.abs(c-l):Math.abs(c-l)-x-w;if(T<0&&a===0)return`${v}L${t},${n}Z`;v+=H4(NQe||=$8([`L`,`,`,`
|
|
3181
3181
|
A`,`,`,`,0,0,`,`,`,`,`,`
|
|
3182
3182
|
A`,`,`,`,0,`,`,`,`,`,`,`,`
|
|
3183
|
-
A`,`,`,`,0,0,`,`,`,`,`,`Z`]),C.x,C.y,a,a,+(u<0),S.x,S.y,r,r,+(T>180),+(u>0),y.x,y.y,a,a,+(u<0),b.x,b.y)}else v+=H4(NQe||=$8([`L`,`,`,`Z`]),t,n);return v},LQe={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},RQe=e=>{var t=i3(e,LQe),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:o,forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u,className:d}=t;if(a<i||l===u)return null;var f=h4(`recharts-sector`,d),p=a-i,m=X4(o,p,0,!0),h=m>0&&Math.abs(l-u)<360?IQe({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u}):FQe({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:l,endAngle:u});return F.createElement(`path`,Q8({},x4(t),{className:f,d:h}))};function zQe(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(OWe(t)){if(e===`centric`){var{cx:r,cy:i,innerRadius:a,outerRadius:o,angle:s}=t,c=Z8(r,i,a,s),l=Z8(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return EQe(t)}}var BQe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=GGe();function n(e){return t.isSymbol(e)?NaN:Number(e)}e.toNumber=n})),VQe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=BQe();function n(e){return e?(e=t.toNumber(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}e.toFinite=n})),HQe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=YGe(),n=VQe();function r(e,r,i){i&&typeof i!=`number`&&t.isIterateeCall(e,r,i)&&(r=i=void 0),e=n.toFinite(e),r===void 0?(r=e,e=0):r=n.toFinite(r),i=i===void 0?e<r?1:-1:n.toFinite(i);let a=Math.max(Math.ceil((r-e)/(i||1)),0),o=Array(a);for(let t=0;t<a;t++)o[t]=e,e+=i;return o}e.range=r})),UQe=a(((e,t)=>{t.exports=HQe().range})),t5=e=>e.chartData,n5=Q([t5],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),r5=(e,t,n,r)=>r?n5(e):t5(e),WQe=Q([r5],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t==null?[]:t.slice(n,r+1)}),GQe=Q([n5],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t==null?[]:t.slice(n,r+1)}),KQe=Q([t5],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t==null?[]:t.slice(n,r+1)});function i5(e){if(Array.isArray(e)&&e.length===2){var[t,n]=e;if(O6(t)&&O6(n))return!0}return!1}function qQe(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function JQe(e,t){if(t&&typeof e!=`function`&&Array.isArray(e)&&e.length===2){var[n,r]=e,i,a;if(O6(n))i=n;else if(typeof n==`function`)return;if(O6(r))a=r;else if(typeof r==`function`)return;var o=[i,a];if(i5(o))return o}}function YQe(e,t,n){if(!(!n&&t==null)){if(typeof e==`function`&&t!=null)try{var r=e(t,n);if(i5(r))return qQe(r,t,n)}catch{}if(Array.isArray(e)&&e.length===2){var[i,a]=e,o,s;if(i===`auto`)t!=null&&(o=Math.min(...t));else if(q4(i))o=i;else if(typeof i==`function`)try{t!=null&&(o=i(t?.[0]))}catch{}else if(typeof i==`string`&&vJe.test(i)){var c=vJe.exec(i);if(c==null||c[1]==null||t==null)o=void 0;else{var l=+c[1];o=t[0]-l}}else o=t?.[0];if(a===`auto`)t!=null&&(s=Math.max(...t));else if(q4(a))s=a;else if(typeof a==`function`)try{t!=null&&(s=a(t?.[1]))}catch{}else if(typeof a==`string`&&yJe.test(a)){var u=yJe.exec(a);if(u==null||u[1]==null||t==null)s=void 0;else{var d=+u[1];s=t[1]+d}}else s=t?.[1];var f=[o,s];if(i5(f))return t==null?f:qQe(f,t,n)}}}var a5=i(a(((e,t)=>{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=r<i?r:i;t<n;++t)if(a.d[t]!==e.d[t])return a.d[t]>e.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l<u&&(o=m,m=h,h=o,s=l,l=u,u=s),o=[],s=l+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||e<t||e>n)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)r=e[t]+``,n=p-r.length,n&&(a+=w(n)),a+=r;o=e[t],r=o+``,n=p-r.length,n&&(a+=w(n))}else if(o===0)return`0`;for(;o%10==0;)o/=10;return a+o}var b=(function(){function e(e,t){var n,r=0,i=e.length;for(e=e.slice();i--;)n=e[i]*t+r,e[i]=n%f|0,r=n/f|0;return r&&e.unshift(r),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]<t[n]),e[n]=r*f+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,ee=r.s==i.s?1:-1,j=r.d,M=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=M.length,T=j.length,g=new A(ee),_=g.d=[],u=0;M[u]==(j[u]||0);)++u;if(M[u]>(j[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,M=M[0],x++;(u<T||d)&&x--;u++)C=d*f+(j[u]||0),_[u]=C/M|0,d=C%M|0;else{for(d=f/(M[0]+1)|0,d>1&&(M=e(M,d),j=e(j,d),O=M.length,T=j.length),w=O,v=j.slice(0,O),y=v.length;y<O;)v[y++]=0;k=M.slice(),k.unshift(0),E=M[0],M[1]>=f/2&&++E;do d=0,c=t(M,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(M,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O<h?k:M,h))):(d==0&&(c=d=1),m=M.slice()),h=m.length,h<y&&m.unshift(0),n(v,m,y),c==-1&&(y=v.length,c=t(M,v,O,y),c<1&&(d++,n(v,O<y?k:M,y))),y=v.length):c===0&&(d++,v=[0]),_[u++]=d,c&&v[0]?v[y++]=j[w]||0:(v=[j[w]],y=1);while((w++<T||v[0]!==void 0)&&x--)}return _[0]||_.shift(),g.e=l,D(g,s?o+S(g)+1:o)}})();function x(e,t){var n,r,a,o,c,u,f=0,p=0,m=e.constructor,h=m.precision;if(S(e)>16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(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=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),r<a){for(r&&e.d.push(+t.slice(0,r)),a-=p;r<a;)e.d.push(+t.slice(r,r+=p));t=t.slice(r),r=p-t.length}else r-=a;for(;r--;)t+=`0`;if(e.d.push(+t),i&&(e.e>h||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a<c,d&&(c=a),a=0;a<c;a++)if(l[a]!=m[a]){d=l[a]<m[a];break}s=0}for(d&&(n=l,l=m,m=n,t.s=-t.s),c=l.length,a=m.length-c;a>0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]<m[a]){for(o=a;o&&l[--o]===0;)l[o]=f-1;--l[o],l[a]+=f}l[a]-=m[a]}for(;l[--c]===0;)l.pop();for(;l[0]===0;l.shift())--r;return l[0]?(t.d=l,t.e=r,i?D(t,g):t):new h(0)}function k(e,t,n){var r,i=S(e),a=y(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)<o&&(a=a.slice(0,r)+`.`+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function ee(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}else if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=ee,i.config=i.set=j,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 i.config(e),i}function j(e){if(!e||typeof e!=`object`)throw Error(a+`Object expected`);var t,r,i,s=[`precision`,1,n,`rounding`,0,8,`toExpNeg`,-1/0,0,`toExpPos`,0,1/0];for(t=0;t<s.length;t+=3)if((i=e[r=s[t]])!==void 0)if(c(i)===i&&i>=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i);if((i=e[r=`LN10`])!==void 0)if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i);return this}r=ee(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}))());function XQe(e){return e===0?1:Math.floor(new a5.default(e).abs().log(10).toNumber())+1}function ZQe(e,t,n){for(var r=new a5.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var QQe=e=>{var[t,n]=e,[r,i]=[t,n];return t>n&&([r,i]=[n,t]),[r,i]},o5=(e,t,n)=>{if(e.lte(0))return new a5.default(0);var r=XQe(e.toNumber()),i=new a5.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new a5.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new a5.default(s.toNumber()):new a5.default(Math.ceil(s.toNumber()))},$Qe=(e,t,n)=>{if(e.lte(0))return new a5.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new a5.default(i).abs().log(10).toNumber()),o=new a5.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new a5.default(10).pow(l))}var u=new a5.default(r[c]??1).mul(o);return t?u:new a5.default(Math.ceil(u.toNumber()))},e$e=(e,t,n)=>{var r=new a5.default(1),i=new a5.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new a5.default(10).pow(XQe(e)-1),i=new a5.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new a5.default(Math.floor(e)))}else e===0?i=new a5.default(Math.floor((t-1)/2)):n||(i=new a5.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c<t;c++)s.push(i.add(new a5.default(c-o).mul(r)).toNumber());return s},t$e=function(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:o5;if(!Number.isFinite((t-e)/(n-1)))return{step:new a5.default(0),tickMin:new a5.default(0),tickMax:new a5.default(0)};var o=a(new a5.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new a5.default(0):(s=new a5.default(e).add(t).div(2),s=s.sub(new a5.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new a5.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?t$e(e,t,n,r,i+1,a):(u<n&&(l=t>0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new a5.default(c).mul(o)),tickMax:s.add(new a5.default(l).mul(o))})},n$e=function(e){var[t,n]=e,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,o=Math.max(r,2),[s,c]=QQe([t,n]);if(s===-1/0||c===1/0){var l=c===1/0?[s,...Array(r-1).fill(1/0)]:[...Array(r-1).fill(-1/0),c];return t>n?l.reverse():l}if(s===c)return e$e(s,r,i);var{step:u,tickMin:d,tickMax:f}=t$e(s,c,o,i,0,a===`snap125`?$Qe:o5),p=ZQe(d,f.add(new a5.default(.1).mul(u)),u);return t>n?p.reverse():p},r$e=function(e,t){var[n,r]=e,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,[o,s]=QQe([n,r]);if(o===-1/0||s===1/0)return[n,r];if(o===s)return[o];var c=a===`snap125`?$Qe:o5,l=Math.max(t,2),u=c(new a5.default(s).sub(o).div(l-1),i,0),d=[...ZQe(new a5.default(o),new a5.default(s),u),s];return i===!1&&(d=d.map(e=>Math.round(e))),n>r?d.reverse():d},i$e=e=>e.rootProps.barCategoryGap,s5=e=>e.rootProps.stackOffset,a$e=e=>e.rootProps.reverseStackOrder,c5=e=>e.options.chartName,l5=e=>e.rootProps.syncId,o$e=e=>e.rootProps.syncMethod,u5=e=>e.options.eventEmitter,d5={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},f5={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:d5.axis},p5={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:d5.axis},m5=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function s$e(e,t,n){if(n!==`auto`)return n;if(e!=null)return M6(e,t)?`category`:`number`}function c$e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function h5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?c$e(Object(n),!0).forEach(function(t){l$e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c$e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function l$e(e,t,n){return(t=u$e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u$e(e){var t=d$e(e,`string`);return typeof t==`symbol`?t:t+``}function d$e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var f$e={allowDataOverflow:f5.allowDataOverflow,allowDecimals:f5.allowDecimals,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:f5.angleAxisId,includeHidden:!1,name:void 0,reversed:f5.reversed,scale:f5.scale,tick:f5.tick,tickCount:void 0,ticks:void 0,type:f5.type,unit:void 0,niceTicks:`auto`},p$e={allowDataOverflow:p5.allowDataOverflow,allowDecimals:p5.allowDecimals,allowDuplicatedCategory:p5.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:p5.radiusAxisId,includeHidden:p5.includeHidden,name:void 0,reversed:p5.reversed,scale:p5.scale,tick:p5.tick,tickCount:p5.tickCount,ticks:void 0,type:p5.type,unit:void 0,niceTicks:`auto`},g5=Q([(e,t)=>{if(t!=null)return e.polarAxis.angleAxis[t]},hYe],(e,t)=>{if(e!=null)return e;var n=s$e(t,`angleAxis`,f$e.type)??`category`;return h5(h5({},f$e),{},{type:n})}),_5=Q([(e,t)=>e.polarAxis.radiusAxis[t],hYe],(e,t)=>{if(e!=null)return e;var n=s$e(t,`radiusAxis`,p$e.type)??`category`;return h5(h5({},p$e),{},{type:n})}),v5=e=>e.polarOptions,y5=Q([N6,P6,R6],bQe),m$e=Q([v5,y5],(e,t)=>{if(e!=null)return X4(e.innerRadius,t,0)}),h$e=Q([v5,y5],(e,t)=>{if(e!=null)return X4(e.outerRadius,t,t*.8)}),g$e=Q([v5],e=>{if(e==null)return[0,0];var{startAngle:t,endAngle:n}=e;return[t,n]});Q([g5,g$e],m5);var _$e=Q([y5,m$e,h$e],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});Q([_5,_$e],m5);var v$e=Q([q6,v5,m$e,h$e,N6,P6],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var{cx:o,cy:s,startAngle:c,endAngle:l}=t;return{cx:X4(o,i,i/2),cy:X4(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),b5=(e,t)=>t,x5=(e,t,n)=>n;function y$e(e){return e?.id}function b$e(e,t,n){var{chartData:r=[]}=t,{allowDuplicatedCategory:i,dataKey:a}=n,o=new Map;return e.forEach(e=>{var t=e.data??r;if(!(t==null||t.length===0)){var n=y$e(e);t.forEach((t,r)=>{var s=a==null||i?r:String(j6(t,a,null)),c=j6(t,e.dataKey,0),l=o.has(s)?o.get(s):{};Object.assign(l,{[n]:c}),o.set(s,l)})}}),Array.from(o.values())}function S5(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var C5=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function w5(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function x$e(e,t){if(e.length===t.length){for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return!1}var T5=e=>{var t=q6(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},E5=e=>e.tooltip.settings.axisId;function D5(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i;break;default:break}}return r}}}}}var S$e=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!i5(t)){for(var n,r,i=0;i<t.length;i++){var a=t[i];O6(a)&&((n===void 0||a<n)&&(n=a),(r===void 0||a>r)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function C$e(e=le){if(e===le)return w$e;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function w$e(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}function T$e(e,t,n=0,r=1/0,i){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(i=i===void 0?w$e:C$e(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));T$e(e,t,u,d,i)}let a=e[t],o=n,s=r;for(O5(e,n,t),i(e[r],a)>0&&O5(e,n,r);o<s;){for(O5(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?O5(e,n,s):(++s,O5(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function O5(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function E$e(e,t,n){if(e=Float64Array.from(pe(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Ee(e);if(t>=1)return Oe(e);var r,i=(r-1)*t,a=Math.floor(i),o=Oe(T$e(e,a).subarray(0,a+1));return o+(Ee(e.subarray(a+1))-o)*(i-a)}}function D$e(e,t,n=he){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,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function O$e(e,t){t===void 0&&(t=e,e=Se);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function k$e(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,de),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return k$e(e).unknown(t)},e=arguments.length?Array.from(e,de):[0,1],ge(n)}function A$e(e){return Math.log(e)}function j$e(e){return Math.exp(e)}function M$e(e){return-Math.log(-e)}function N$e(e){return-Math.exp(-e)}function P$e(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function F$e(e){return e===10?P$e:e===Math.E?Math.exp:t=>e**+t}function I$e(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 L$e(e){return(t,n)=>-e(-t,n)}function k5(e){let t=e(A$e,j$e),n=t.domain,r=10,i,a;function o(){return i=I$e(r),a=F$e(r),n()[0]<0?(i=L$e(i),a=L$e(a),e(M$e,N$e)):e(A$e,j$e),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=fe(o,s,p))}else m=fe(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=We(n)).precision==null&&(n.trim=!0),n=Ge(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(De(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function R$e(){let e=k5(be()).domain([1,10]);return e.copy=()=>ue(e,R$e()).base(e.base()),He.apply(e,arguments),e}function z$e(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function B$e(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function A5(e){var t=1,n=e(z$e(t),B$e(t));return n.constant=function(n){return arguments.length?e(z$e(t=+n),B$e(t)):t},ge(n)}function V$e(){var e=A5(be());return e.copy=function(){return ue(e,V$e()).constant(e.constant())},He.apply(e,arguments)}function H$e(e){return function(t){return t<0?-((-t)**+e):t**+e}}function U$e(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function W$e(e){return e<0?-e*e:e*e}function j5(e){var t=e(_e,_e),n=1;function r(){return n===1?e(_e,_e):n===.5?e(U$e,W$e):e(H$e(n),H$e(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},ge(t)}function M5(){var e=j5(be());return e.copy=function(){return ue(e,M5()).exponent(e.exponent())},He.apply(e,arguments),e}function G$e(){return M5.apply(null,arguments).exponent(.5)}function K$e(e){return Math.sign(e)*e*e}function q$e(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function J$e(){var e=me(),t=[0,1],n=!1,r;function i(t){var i=q$e(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(K$e(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,de)).map(K$e)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return J$e(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},He.apply(i,arguments),ge(i)}function Y$e(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r<i;)n[r-1]=D$e(e,r/i);return a}function a(e){return e==null||isNaN(e=+e)?r:t[ve(n,e)]}return a.invertExtent=function(r){var i=t.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:e[0],i<n.length?n[i]:e[e.length-1]]},a.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(le),i()},a.range=function(e){return arguments.length?(t=Array.from(e),i()):t.slice()},a.unknown=function(e){return arguments.length?(r=e,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return Y$e().domain(e).range(t).unknown(r)},He.apply(a,arguments)}function X$e(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(e){return e!=null&&e<=e?i[ve(r,e,0,n)]:a}function s(){var i=-1;for(r=Array(n);++i<n;)r[i]=((i+1)*t-(i-n)*e)/(n+1);return o}return o.domain=function(n){return arguments.length?([e,t]=n,e=+e,t=+t,s()):[e,t]},o.range=function(e){return arguments.length?(n=(i=Array.from(e)).length-1,s()):i.slice()},o.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[e,r[0]]:o>=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return X$e().domain([e,t]).range(i).unknown(a)},He.apply(ge(o),arguments)}function Z$e(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[ve(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return Z$e().domain(e).range(t).unknown(n)},He.apply(i,arguments)}function Q$e(){return He.apply(Ie(Pe,Ae,Fe,Me,ke,ze,Re,Te,Le,je).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function N5(){var e=0,t=1,n,r,i,a,o=_e,s=!1,c;function l(e){return e==null||isNaN(e=+e)?c:o(i===0?.5:(e=(a(e)-n)*i,s?Math.max(0,Math.min(1,e)):e))}l.domain=function(o){return arguments.length?([e,t]=o,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(e){return arguments.length?(s=!!e,l):s},l.interpolator=function(e){return arguments.length?(o=e,l):o};function u(e){return function(t){var n,r;return arguments.length?([n,r]=t,o=e(n,r),l):[o(0),o(1)]}}return l.range=u(Se),l.rangeRound=u(P),l.unknown=function(e){return arguments.length?(c=e,l):c},function(o){return a=o,n=o(e),r=o(t),i=n===r?0:1/(r-n),l}}function P5(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function $$e(){var e=ge(N5()(_e));return e.copy=function(){return P5(e,$$e())},Ue.apply(e,arguments)}function e1e(){var e=k5(N5()).domain([1,10]);return e.copy=function(){return P5(e,e1e()).base(e.base())},Ue.apply(e,arguments)}function t1e(){var e=A5(N5());return e.copy=function(){return P5(e,t1e()).constant(e.constant())},Ue.apply(e,arguments)}function F5(){var e=j5(N5());return e.copy=function(){return P5(e,F5()).exponent(e.exponent())},Ue.apply(e,arguments)}function n1e(){return F5.apply(null,arguments).exponent(.5)}function r1e(){var e=[],t=_e;function n(n){if(n!=null&&!isNaN(n=+n))return t((ve(e,n,1)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(le),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.range=function(){return e.map((n,r)=>t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>E$e(e,r/t))},n.copy=function(){return r1e(t).domain(e)},Ue.apply(n,arguments)}function I5(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=_e,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=O$e(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(Se),p.rangeRound=m(P),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function i1e(){var e=ge(I5()(_e));return e.copy=function(){return P5(e,i1e())},Ue.apply(e,arguments)}function a1e(){var e=k5(I5()).domain([.1,1,10]);return e.copy=function(){return P5(e,a1e()).base(e.base())},Ue.apply(e,arguments)}function o1e(){var e=A5(I5());return e.copy=function(){return P5(e,o1e()).constant(e.constant())},Ue.apply(e,arguments)}function L5(){var e=j5(I5());return e.copy=function(){return P5(e,L5()).exponent(e.exponent())},Ue.apply(e,arguments)}function s1e(){return L5.apply(null,arguments).exponent(.5)}var c1e=r({scaleBand:()=>Ve,scaleDiverging:()=>i1e,scaleDivergingLog:()=>a1e,scaleDivergingPow:()=>L5,scaleDivergingSqrt:()=>s1e,scaleDivergingSymlog:()=>o1e,scaleIdentity:()=>k$e,scaleImplicit:()=>we,scaleLinear:()=>xe,scaleLog:()=>R$e,scaleOrdinal:()=>Ce,scalePoint:()=>Be,scalePow:()=>M5,scaleQuantile:()=>Y$e,scaleQuantize:()=>X$e,scaleRadial:()=>J$e,scaleSequential:()=>$$e,scaleSequentialLog:()=>e1e,scaleSequentialPow:()=>F5,scaleSequentialQuantile:()=>r1e,scaleSequentialSqrt:()=>n1e,scaleSequentialSymlog:()=>t1e,scaleSqrt:()=>G$e,scaleSymlog:()=>V$e,scaleThreshold:()=>Z$e,scaleTime:()=>Ne,scaleUtc:()=>Q$e,tickFormat:()=>ye});function l1e(e){var t=c1e;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${$4(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function u1e(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=l1e(e);if(r!=null)return r.domain(t).range(n),r}}function R5(e,t,n,r){if(!(n==null||r==null))return typeof e.scale==`function`?u1e(e.scale,n,r):u1e(t,n,r)}function d1e(e){return`scale${$4(e)}`}function f1e(e){return d1e(e)in c1e}var p1e=(e,t,n)=>{if(e!=null){var{scale:r,type:i}=e;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return f1e(r)?r:`point`}};function m1e(e,t){for(var n=0,r=e.length,i=e[0]<e[e.length-1];n<r;){var a=Math.floor((n+r)/2);(i?e[a]<t:e[a]>t)?n=a+1:r=a}return n}function h1e(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=m1e(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function g1e(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):h1e(e,void 0)}var _1e=i(UQe());function v1e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function z5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?v1e(Object(n),!0).forEach(function(t){y1e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v1e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function y1e(e,t,n){return(t=b1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b1e(e){var t=x1e(e,`string`);return typeof t==`symbol`?t:t+``}function x1e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var B5=[0,`auto`],S1e={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:void 0,height:30,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`bottom`,padding:{left:0,right:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`category`,unit:void 0,niceTicks:`auto`},C1e=(e,t)=>e.cartesianAxis.xAxis[t],V5=(e,t)=>C1e(e,t)??S1e,w1e={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:B5,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},T1e=(e,t)=>e.cartesianAxis.yAxis[t],H5=(e,t)=>T1e(e,t)??w1e,E1e={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},U5=(e,t)=>e.cartesianAxis.zAxis[t]??E1e,W5=(e,t,n)=>{switch(t){case`xAxis`:return V5(e,n);case`yAxis`:return H5(e,n);case`zAxis`:return U5(e,n);case`angleAxis`:return g5(e,n);case`radiusAxis`:return _5(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},D1e=(e,t,n)=>{switch(t){case`xAxis`:return V5(e,n);case`yAxis`:return H5(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},G5=(e,t,n)=>{switch(t){case`xAxis`:return V5(e,n);case`yAxis`:return H5(e,n);case`angleAxis`:return g5(e,n);case`radiusAxis`:return _5(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},O1e=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function K5(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var k1e=e=>e.graphicalItems.cartesianItems,A1e=Q([b5,x5],K5),q5=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0?!0:!e.hide),J5=Q([k1e,W5,A1e],q5,{memoizeOptions:{resultEqualityCheck:w5}}),j1e=Q([J5],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(S5)),M1e=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),N1e=Q([J5],M1e),Y5=e=>e.map(e=>e.data).filter(Boolean).flat(1),P1e=Q([J5],e=>e.some(e=>!e.data)),F1e=Q([J5],Y5,{memoizeOptions:{resultEqualityCheck:w5}}),X5=(e,t)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=t;return e.length>0?e:n.slice(r,i+1)},Z5=Q([F1e,r5],X5),I1e=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:j6(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:j6(e,t.dataKey)})),L1e=(e,t,n,r,i,a)=>{var{chartData:o=[],dataStartIndex:s,dataEndIndex:c}=r,l=I1e(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...o.slice(s,c+1).map(e=>({value:j6(e,t.dataKey)})).filter(e=>e.value!=null),...l]:l},Q5=Q([Z5,W5,J5,r5,P1e,F1e],L1e);function $5(e){if(J4(e)||e instanceof Date){var t=Number(e);if(O6(t))return t}}function R1e(e){if(Array.isArray(e)){var t=[$5(e[0]),$5(e[1])];return i5(t)?t:void 0}var n=$5(e);if(n!=null)return[n,n]}function e7(e){return e.map($5).filter(e3)}function z1e(e,t){var n=$5(e),r=$5(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var B1e=Q([Q5],e=>e?.map(e=>e.value).sort(z1e));function V1e(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function H1e(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!G4(t))r=t;else if(Array.isArray(t)){var i=e7(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:e7(n.flatMap(t=>{var n=j6(e,t.dataKey),i,a;if(Array.isArray(n)?[i,a]=n:i=a=n,!(!O6(i)||!O6(a)))return[r-i,r+a]}))}var t7=e=>G5(e,T5(e),E5(e)),n7=Q([t7],e=>e?.dataKey),U1e=Q([j1e,r5,t7],b$e),W1e=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var[i,a]=t,o=r?[...a].reverse():a;return[i,{stackedData:mJe(e,o.map(y$e),n),graphicalItems:o}]}))},G1e=Q([U1e,j1e,s5,a$e],W1e),K1e=(e,t,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=t;if(r==null&&n!==`zAxis`){var o=_Je(e,i,a);if(!(o!=null&&o[0]===0&&o[1]===0))return o}},q1e=Q([W5],e=>e.allowDataOverflow),r7=e=>{if(e==null||!(`domain`in e))return B5;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=e7(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??B5},i7=Q([W5],r7),a7=Q([i7,q1e],JQe),J1e=Q([G1e,t5,b5,a7],K1e,{memoizeOptions:{resultEqualityCheck:C5}}),o7=e=>e.errorBars,Y1e=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>V1e(n,e)),s7=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},c7=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>V1e(i,e));n.forEach(n=>{var r=j6(n,t.dataKey??e.dataKey),i=H1e(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||a<o)&&(o=a),(s==null||l>s)&&(s=l)}var u=R1e(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=R1e(j6(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),O6(o)&&O6(s))return[o,s]},X1e=Q([Z5,W5,N1e,o7,b5,WQe],c7,{memoizeOptions:{resultEqualityCheck:C5}});function Z1e(e){var{value:t}=e;if(J4(t)||t instanceof Date)return t}var Q1e=(e,t,n)=>{var r=e.map(Z1e).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&pWe(r))?(0,_1e.default)(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},$1e=e=>e.referenceElements.dots,l7=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),e0e=Q([$1e,b5,x5],l7),t0e=e=>e.referenceElements.areas,n0e=Q([t0e,b5,x5],l7),r0e=e=>e.referenceElements.lines,i0e=Q([r0e,b5,x5],l7),a0e=(e,t)=>{if(e!=null){var n=e7(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},o0e=Q(e0e,b5,a0e),s0e=(e,t)=>{if(e!=null){var n=e7(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},c0e=Q([n0e,b5],s0e);function l0e(e){if(e.x!=null)return e7([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:e7(t)}function u0e(e){if(e.y!=null)return e7([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:e7(t)}var d0e=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?l0e(e):u0e(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},f0e=Q(o0e,Q([i0e,b5],d0e),c0e,(e,t,n)=>s7(e,n,t)),u7=(e,t,n,r,i,a,o,s)=>n??YQe(t,o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?s7(r,a,i):s7(a,i),e.allowDataOverflow),p0e=Q([W5,i7,a7,J1e,X1e,f0e,q6,b5],u7,{memoizeOptions:{resultEqualityCheck:C5}}),m0e=[0,1],d7=(e,t,n,r,i,a,o)=>{if(!((e==null||n==null||n.length===0)&&o===void 0)){var{dataKey:s,type:c}=e,l=M6(t,a);return l&&s==null?(0,_1e.default)(0,n?.length??0):c===`category`?Q1e(r,e,l):i===`expand`&&!l?m0e:o}},f7=Q([W5,q6,Z5,Q5,s5,b5,p0e],d7),p7=Q([W5,O1e,c5],p1e),m7=(e,t,n)=>{var{niceTicks:r}=t;if(r!==`none`){var i=r7(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&i5(e)){if(a)return n$e(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return r$e(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&i5(e))return n$e(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&i5(e))return r$e(e,t.tickCount,t.allowDecimals,`adaptive`)}}},h7=Q([f7,G5,p7],m7),g7=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&i5(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},h0e=Q([W5,f7,h7,b5],g7),g0e=Q(Q(Q5,W5,(e,t)=>{if(!(!t||t.type!==`number`)){var n=1/0,r=Array.from(e7(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;s<r.length-1;s++){var c=r[s],l=r[s+1];if(!(c==null||l==null)){var u=l-c;n=Math.min(n,u)}}return n/o}}),q6,i$e,R6,(e,t,n,r,i)=>i,(e,t,n,r,i)=>{if(!O6(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=X4(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),_0e=(e,t,n)=>{var r=V5(e,t);return r==null||typeof r.padding!=`string`?0:g0e(e,`xAxis`,t,n,r.padding)},v0e=(e,t,n)=>{var r=H5(e,t);return r==null||typeof r.padding!=`string`?0:g0e(e,`yAxis`,t,n,r.padding)},y0e=Q(V5,_0e,(e,t)=>{if(e==null)return{left:0,right:0};var{padding:n}=e;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),b0e=Q(H5,v0e,(e,t)=>{if(e==null)return{top:0,bottom:0};var{padding:n}=e;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),x0e=Q([R6,y0e,V6,B6,(e,t,n)=>n],(e,t,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),S0e=Q([R6,q6,b0e,V6,B6,(e,t,n)=>n],(e,t,n,r,i,a)=>{var{padding:o}=i;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),_7=(e,t,n,r)=>{switch(t){case`xAxis`:return x0e(e,n,r);case`yAxis`:return S0e(e,n,r);case`zAxis`:return U5(e,n)?.range;case`angleAxis`:return g$e(e);case`radiusAxis`:return _$e(e,n);default:return}},C0e=Q([W5,_7],m5),v7=Q([W5,p7,Q([p7,h0e],S$e),C0e],R5),w0e=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n;if(M6(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},y7=Q([q6,Q5,G5,b5],w0e),b7=Q([v7],D5);Q([v7],g1e),Q([v7,B1e],h1e),Q([J5,o7,b5],Y1e);function T0e(e,t){return e.id<t.id?-1:+(e.id>t.id)}var x7=(e,t)=>t,S7=(e,t,n)=>n,E0e=Q(F6,x7,S7,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(T0e)),D0e=Q(I6,x7,S7,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(T0e)),O0e=(e,t)=>({width:e.width,height:t.height}),k0e=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height});Q(R6,V5,O0e);var A0e=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},j0e=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},M0e=Q(P6,R6,E0e,x7,S7,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=O0e(t,n);o??=A0e(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),N0e=Q(N6,R6,D0e,x7,S7,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=k0e(t,n);o??=j0e(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a});Q([R6,V5,(e,t)=>{var n=V5(e,t);if(n!=null)return M0e(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),Q([R6,H5,(e,t)=>{var n=H5(e,t);if(n!=null)return N0e(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),Q(R6,H5,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}));var P0e=(e,t,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:o}=n,s=M6(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&pWe(l))return c}},C7=Q([q6,Q5,W5,b5],P0e);Q([q6,D1e,p7,b7,C7,y7,_7,h7,b5],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=M6(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),Q([q6,G5,p7,b7,h7,_7,C7,y7,b5],(e,t,n,r,i,a,o,s,c)=>{if(!(t==null||r==null)){var l=M6(e,c),{type:u,ticks:d,tickCount:f}=t,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?W4(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return O6(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(e3):l&&s?s.map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(e3):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(e3):r.domain().map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(e3)}}),Q([q6,G5,b7,_7,C7,y7,b5],(e,t,n,r,i,a,o)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var s=M6(e,o),{tickCount:c}=t,l=0;return l=o===`angleAxis`&&r?.length>=2?W4(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return O6(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(e3):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return O6(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(e3):n.domain().map((e,t)=>{var r=n.map(e);return O6(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(e3)}}),Q(W5,b7,(e,t)=>{if(!(e==null||t==null))return z5(z5({},e),{},{scale:t})}),Q((e,t,n)=>U5(e,n),Q([Q([W5,p7,f7,C0e],R5)],D5),(e,t)=>{if(!(e==null||t==null))return z5(z5({},e),{},{scale:t})});var F0e=Q([q6,F6,I6],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});Q([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(!(!e||e.length===0))return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);a<n&&(n=a,r=i)}return r?.value}});var I0e=e=>e.options.defaultTooltipEventType,L0e=e=>e.options.validateTooltipEventTypes;function R0e(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function w7(e,t){return R0e(t,I0e(e),L0e(e))}function z0e(e){return d3(t=>w7(t,e))}var B0e=(e,t)=>{var n,r=Number(t);if(!(G4(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},V0e=e=>e.tooltip.settings,T7={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},H0e=h6({name:`tooltip`,initialState:{itemInteraction:{click:T7,hover:T7},axisInteraction:{click:T7,hover:T7},keyboardInteraction:T7,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(C8(t.payload))},prepare:m6()},replaceTooltipEntrySettings:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).tooltipItemPayloads.indexOf(C8(n));i>-1&&(e.tooltipItemPayloads[i]=C8(r))},prepare:m6()},removeTooltipEntrySettings:{reducer(e,t){var n=l6(e).tooltipItemPayloads.indexOf(C8(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:m6()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),{addTooltipEntrySettings:U0e,replaceTooltipEntrySettings:W0e,removeTooltipEntrySettings:G0e,setTooltipSettingsState:K0e,setActiveMouseOverItemIndex:q0e,mouseLeaveItem:J0e,mouseLeaveChart:Y0e,setActiveClickItemIndex:X0e,setMouseOverAxisIndex:Z0e,setMouseClickAxisIndex:Q0e,setSyncInteraction:E7,setKeyboardInteraction:D7}=H0e.actions,$0e=H0e.reducer;function e2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function O7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?e2e(Object(n),!0).forEach(function(t){t2e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):e2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function t2e(e,t,n){return(t=n2e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n2e(e){var t=r2e(e,`string`);return typeof t==`symbol`?t:t+``}function r2e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function i2e(e,t,n){return t===`axis`?n===`click`?e.axisInteraction.click:e.axisInteraction.hover:n===`click`?e.itemInteraction.click:e.itemInteraction.hover}function a2e(e){return e.index!=null}var o2e=(e,t,n,r)=>{if(t==null)return T7;var i=i2e(e,t,n);if(i==null)return T7;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(a2e(i)){if(a)return O7(O7({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return O7(O7({},T7),{},{coordinate:i.coordinate})};function s2e(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function c2e(e,t){var n=s2e(e),r=t[0],i=t[1];return n===void 0?!1:n>=Math.min(r,i)&&n<=Math.max(r,i)}function l2e(e,t,n){if(n==null||t==null)return!0;var r=j6(e,t);return r==null||!i5(n)?!0:c2e(r,n)}var k7=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!O6(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||l2e(l,n,r)?String(c):null},u2e=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},d2e=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},f2e=e=>e.options.tooltipPayloadSearcher,A7=e=>e.tooltip;function p2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function m2e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?p2e(Object(n),!0).forEach(function(t){h2e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h2e(e,t,n){return(t=g2e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g2e(e){var t=_2e(e,`string`);return typeof t==`symbol`?t:t+``}function _2e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v2e(e){if(typeof e==`string`||typeof e==`number`)return e}function y2e(e){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e}function b2e(e){if(typeof e==`string`||typeof e==`number`)return e;if(typeof e==`function`)return t=>e(t)}function x2e(e){if(typeof e==`string`)return e}function S2e(e){if(!(typeof e!=`object`||!e))return{name:`name`in e?v2e(e.name):void 0,unit:`unit`in e?y2e(e.unit):void 0,dataKey:`dataKey`in e?b2e(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?x2e(e.color):void 0,fill:`fill`in e?x2e(e.fill):void 0}}function C2e(e,t){return e??t}var w2e=(e,t,n,r,i,a,o)=>{if(!(t==null||a==null)){var{chartData:s,computedData:c,dataStartIndex:l,dataEndIndex:u}=n;return e.reduce((e,n)=>{var{dataDefinedOnItem:d,settings:f}=n,p=C2e(d,s),m=Array.isArray(p)?sJe(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_=r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?mWe(m,r,i):a(m,t,c,g);return Array.isArray(_)?_.forEach(t=>{var n=S2e(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=m2e(m2e({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(xJe({tooltipEntrySettings:o,dataKey:i,payload:a,value:j6(a,i),name:r==null?void 0:String(r)}))}):e.push(xJe({tooltipEntrySettings:f,dataKey:h,payload:_,value:j6(_,h),name:j6(_,g)??f?.name})),e},[])}},j7=Q([t7,O1e,c5],p1e),M7=Q([Q([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),t7,Q([T5,E5],K5)],q5,{memoizeOptions:{resultEqualityCheck:w5}}),T2e=Q([M7],e=>e.filter(S5)),E2e=Q([M7],Y5,{memoizeOptions:{resultEqualityCheck:w5}}),D2e=Q([M7],e=>e.some(e=>!e.data)),N7=Q([E2e,t5],X5),O2e=Q([T2e,t5,t7],b$e),P7=Q([N7,t7,M7,t5,D2e,E2e],L1e),k2e=Q([t7],r7),A2e=Q([k2e,Q([t7],e=>e.allowDataOverflow)],JQe),j2e=Q([Q([O2e,Q([M7],e=>e.filter(S5)),s5,a$e],W1e),t5,T5,A2e],K1e),M2e=Q([N7,t7,Q([M7],M1e),o7,T5,KQe],c7,{memoizeOptions:{resultEqualityCheck:C5}}),N2e=Q([Q([$1e,T5,E5],l7),T5],a0e),P2e=Q([Q([t0e,T5,E5],l7),T5],s0e),F7=Q([t7,q6,N7,P7,s5,T5,Q([t7,k2e,A2e,j2e,M2e,Q([N2e,Q([Q([r0e,T5,E5],l7),T5],d0e),P2e],s7),q6,T5],u7)],d7),F2e=Q([t7,F7,Q([F7,t7,j7],m7),T5],g7),I2e=e=>_7(e,T5(e),E5(e),!1),L2e=Q([t7,I2e],m5),R2e=Q([Q([t7,j7,F2e,L2e],R5)],D5),I7=Q([q6,t7,j7,R2e,I2e,Q([q6,P7,t7,T5],P0e),Q([q6,P7,t7,T5],w0e),T5],(e,t,n,r,i,a,o,s)=>{if(t){var{type:c}=t,l=M6(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?W4(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(e3):r.domain().map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(e3)}}}),L7=Q([I0e,L0e,V0e],(e,t,n)=>R0e(n.shared,e,t)),z2e=e=>e.tooltip.settings.trigger,R7=e=>e.tooltip.settings.defaultIndex,z7=Q([A7,L7,z2e,R7],o2e),B7=Q([z7,N7,n7,F7],k7),B2e=Q([I7,B7],B0e),V2e=Q([z7],e=>{if(e)return e.dataKey}),H2e=Q([z7],e=>{if(e)return e.graphicalItemId}),U2e=Q([A7,L7,z2e,R7],d2e),W2e=Q([z7,Q([N6,P6,q6,R6,I7,R7,U2e],u2e)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),G2e=Q([z7],e=>e?.active??!1);Q([Q([U2e,B7,t5,n7,B2e,f2e,L7],w2e)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function K2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function q2e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?K2e(Object(n),!0).forEach(function(t){J2e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function J2e(e,t,n){return(t=Y2e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y2e(e){var t=X2e(e,`string`);return typeof t==`symbol`?t:t+``}function X2e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Z2e=()=>d3(t7),Q2e=()=>{var e=Z2e(),t=d3(I7),n=d3(R2e);return bJe(!e||!n?void 0:q2e(q2e({},e),{},{scale:n}),t)};function $2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?$2e(Object(n),!0).forEach(function(t){e4e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function e4e(e,t,n){return(t=t4e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t4e(e){var t=n4e(e,`string`);return typeof t==`symbol`?t:t+``}function n4e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var r4e=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},i4e=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,{radius:o}=r;return V7(V7(V7({},r),Z8(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,{angle:c}=r;return V7(V7(V7({},r),Z8(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function a4e(e,t){var{relativeX:n,relativeY:r}=e;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var o4e=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=0;o<a;o++){var s=o>0?n[o-1]?.coordinate:n[a-1]?.coordinate,c=n[o]?.coordinate,l=o>=a-1?n[0]?.coordinate:n[o+1]?.coordinate,u=void 0;if(!(s==null||c==null||l==null))if(W4(c-s)!==W4(l-c)){var d=[];if(W4(l-c)===W4(i[1]-i[0])){u=l;var f=c+i[1]-i[0];d[0]=Math.min(f,(f+s)/2),d[1]=Math.max(f,(f+s)/2)}else{u=s;var p=l+i[1]-i[0];d[0]=Math.min(c,(p+c)/2),d[1]=Math.max(c,(p+c)/2)}var m=[Math.min(c,(u+c)/2),Math.max(c,(u+c)/2)];if(e>m[0]&&e<=m[1]||e>=d[0]&&e<=d[1])return n[o]?.index}else{var h=Math.min(s,l),g=Math.max(s,l);if(e>(h+c)/2&&e<=(g+c)/2)return n[o]?.index}}else if(t)for(var _=0;_<a;_++){var v=t[_];if(v!=null){var y=t[_+1],b=t[_-1];if(_===0&&y!=null&&e<=(v.coordinate+y.coordinate)/2||_===a-1&&b!=null&&e>(v.coordinate+b.coordinate)/2||_>0&&_<a-1&&b!=null&&y!=null&&e>(v.coordinate+b.coordinate)/2&&e<=(v.coordinate+y.coordinate)/2)return v.index}}return-1},s4e=()=>d3(c5),H7=(e,t)=>t,c4e=(e,t,n)=>n,U7=(e,t,n,r)=>r,l4e=Q(I7,e=>(0,p3.default)(e,e=>e.coordinate)),W7=Q([A7,H7,c4e,U7],o2e),G7=Q([W7,N7,n7,F7],k7),u4e=(e,t,n)=>{if(t!=null){var r=A7(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},d4e=Q([A7,H7,c4e,U7],d2e),K7=Q([N6,P6,q6,R6,I7,U7,d4e],u2e),f4e=Q([W7,K7],(e,t)=>e.coordinate??t),p4e=Q([I7,G7],B0e),m4e=Q([d4e,G7,t5,n7,p4e,f2e,H7],w2e),h4e=Q([W7,G7],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),g4e=(e,t,n,r,i,a,o)=>{if(!(!e||!n||!r||!i)&&a4e(e,o)){var s=o4e(CJe(e,t),a,i,n,r),c=r4e(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},_4e=(e,t,n,r,i,a,o)=>{if(!(!e||!r||!i||!a||!n)){var s=TQe(e,n);if(s){var c=o4e(wJe(s,t),o,a,r,i),l=i4e(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},v4e=(e,t,n,r,i,a,o,s)=>{if(!(!e||!t||!r||!i||!a))return t===`horizontal`||t===`vertical`?g4e(e,t,r,i,a,o,s):_4e(e,t,n,r,i,a,o)},y4e=Q(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),b4e=Q(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(d5));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:x$e}});function x4e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function S4e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?x4e(Object(n),!0).forEach(function(t){C4e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x4e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function C4e(e,t,n){return(t=w4e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w4e(e){var t=T4e(e,`string`);return typeof t==`symbol`?t:t+``}function T4e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var E4e={zIndexMap:Object.values(d5).reduce((e,t)=>S4e(S4e({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},D4e=new Set(Object.values(d5));function O4e(e){return D4e.has(e)}var k4e=h6({name:`zIndex`,initialState:E4e,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:m6()},unregisterZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!O4e(n)&&delete e.zIndexMap[n])},prepare:m6()},registerZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n,element:r,isPanorama:i}=t.payload;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=C8(r):e.zIndexMap[n].element=C8(r):e.zIndexMap[n]={consumers:0,element:i?void 0:C8(r),panoramaElement:i?C8(r):void 0}},prepare:m6()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:m6()}}}),{registerZIndexPortal:A4e,unregisterZIndexPortal:q7,registerZIndexPortalElement:j4e,unregisterZIndexPortalElement:M4e}=k4e.actions,N4e=k4e.reducer;function J7(e){var{zIndex:t,children:n}=e,r=gYe()&&t!==void 0&&t!==0,i=z6(),a=(0,F.useRef)(void 0),o=(0,F.useRef)(new Set),s=l3(),c=d3(e=>y4e(e,t,i));if((0,F.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{s(q7({zIndex:e}))}),e.clear(),a.current=void 0;return}if(o.current.has(t)||(s(A4e({zIndex:t})),o.current.add(t)),c){a.current=c;var n=o.current;n.forEach(e=>{e!==t&&(s(q7({zIndex:e})),n.delete(e))})}},[s,t,r,c]),(0,F.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{s(q7({zIndex:e}))}),e.clear()}},[s]),!r)return n;var l=c??a.current;return l?(0,Ti.createPortal)(n,l):null}function Y7(){return Y7=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},Y7.apply(null,arguments)}function P4e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function X7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?P4e(Object(n),!0).forEach(function(t){F4e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P4e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function F4e(e,t,n){return(t=I4e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I4e(e){var t=L4e(e,`string`);return typeof t==`symbol`?t:t+``}function L4e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function R4e(e){var{cursor:t,cursorComp:n,cursorProps:r}=e;return(0,F.isValidElement)(t)?(0,F.cloneElement)(t,r):(0,F.createElement)(n,r)}function z4e(e){var{coordinate:t,payload:n,index:r,offset:i,tooltipAxisBandSize:a,layout:o,cursor:s,tooltipEventType:c,chartName:l}=e,u=t,d=n,f=r;if(!s||!u||l!==`ScatterChart`&&c!==`axis`)return null;var p,m,h;if(l===`ScatterChart`)p=u,m=fZe,h=d5.cursorLine;else if(l===`BarChart`)p=pZe(o,u,i,a),m=pQe,h=d5.cursorRectangle;else if(o===`radial`&&OWe(u)){var{cx:g,cy:_,radius:v,startAngle:y,endAngle:b}=EQe(u);p={cx:g,cy:_,startAngle:y,endAngle:b,innerRadius:v,outerRadius:v},m=RQe,h=d5.cursorLine}else p={points:zQe(o,u,i)},m=R8,h=d5.cursorLine;var x=typeof s==`object`&&`className`in s?s.className:void 0,S=X7(X7(X7(X7({stroke:`#ccc`,pointerEvents:`none`},i),p),b4(s)),{},{payload:d,payloadIndex:f,className:h4(`recharts-tooltip-cursor`,x)});return F.createElement(J7,{zIndex:e.zIndex??h},F.createElement(R4e,{cursor:s,cursorComp:m,cursorProps:S}))}function B4e(e){var t=Q2e(),n=dYe(),r=J6(),i=s4e();return t==null||n==null||r==null||i==null?null:F.createElement(z4e,Y7({},e,{offset:n,layout:r,tooltipAxisBandSize:t,chartName:i}))}var V4e=(0,F.createContext)(null),H4e=()=>(0,F.useContext)(V4e),U4e=i(a(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1).default,Z7=new U4e,Q7=`recharts.syncEvent.tooltip`,W4e=`recharts.syncEvent.brush`,G4e=(e,t)=>{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!G4(n))return e[n]}},K4e=h6({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),q4e=K4e.reducer,{createEventEmitter:J4e}=K4e.actions;function Y4e(e){return e.tooltip.syncInteraction}var X4e=h6({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){if(e.chartData=C8(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var{startIndex:n,endIndex:r}=t.payload;n!=null&&(e.dataStartIndex=n),r!=null&&(e.dataEndIndex=r)}}}),{setChartData:Z4e,setDataStartEndIndexes:Q4e,setComputedData:$4e}=X4e.actions,e3e=X4e.reducer,t3e=[`x`,`y`];function n3e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?n3e(Object(n),!0).forEach(function(t){r3e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):n3e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function r3e(e,t,n){return(t=i3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i3e(e){var t=a3e(e,`string`);return typeof t==`symbol`?t:t+``}function a3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function o3e(e,t){if(e==null)return{};var n,r,i=s3e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function s3e(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 c3e(){var e=d3(l5),t=d3(u5),n=l3(),r=d3(o$e),i=d3(I7),a=J6(),o=K6();(0,F.useEffect)(()=>{if(e==null)return t3;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1){n(E7({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,{x:f,y:p}=d,m=o3e(d,t3e),{x:h,y:g,width:_,height:v}=c.payload.sourceViewBox,y=$7($7({},m),{},{x:o.x+(_?(f-h)/_:0)*o.width,y:o.y+(v?(p-g)/v:0)*o.height});n($7($7({},c),{},{payload:$7($7({},c.payload),{},{coordinate:y})}))}else n(c);return}if(i!=null){var b;typeof r==`function`?b=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(b=i.find(e=>String(e.value)===c.payload.label));var{coordinate:x}=c.payload;if(x==null||o==null){n(E7({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(b==null){n(E7({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var{x:S,y:C}=x,w=Math.min(S,o.x+o.width),T=Math.min(C,o.y+o.height),E={x:a===`horizontal`?b.coordinate:w,y:a===`horizontal`?T:b.coordinate};n(E7({active:c.payload.active,coordinate:E,dataKey:c.payload.dataKey,index:String(b.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}};return Z7.on(Q7,s),()=>{Z7.off(Q7,s)}},[d3(e=>e.rootProps.className),n,t,e,r,i,a,o])}function l3e(){var e=d3(l5),t=d3(u5),n=l3();(0,F.useEffect)(()=>{if(e==null)return t3;var r=(r,i,a)=>{t!==a&&e===r&&n(Q4e(i))};return Z7.on(W4e,r),()=>{Z7.off(W4e,r)}},[n,t,e])}function u3e(){var e=l3();(0,F.useEffect)(()=>{e(J4e())},[e]),c3e(),l3e()}function d3e(e,t,n,r,i,a){var o=d3(n=>u4e(n,e,t)),s=d3(H2e),c=d3(u5),l=d3(l5),u=d3(o$e),d=d3(Y4e)?.sourceViewBox!=null,f=K6();(0,F.useEffect)(()=>{if(!d&&l!=null&&c!=null){var e=E7({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:f,graphicalItemId:s});Z7.emit(Q7,l,e,c)}},[d,n,o,s,i,r,c,l,u,a,f])}function f3e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function p3e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?f3e(Object(n),!0).forEach(function(t){m3e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f3e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function m3e(e,t,n){return(t=h3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h3e(e){var t=g3e(e,`string`);return typeof t==`symbol`?t:t+``}function g3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _3e(e){return e.dataKey}function v3e(e,t){return F.isValidElement(e)?F.cloneElement(e,t):typeof e==`function`?F.createElement(e,t):F.createElement(MXe,t)}var y3e=[],b3e={allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:`ease`,axisId:0,contentStyle:{},cursor:!0,filterNull:!0,includeHidden:!1,isAnimationActive:`auto`,itemSorter:`name`,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:` : `,trigger:`hover`,useTranslate3d:!1,wrapperStyle:{}};function x3e(e){var t=i3(e,b3e),{active:n,allowEscapeViewBox:r,animationDuration:i,animationEasing:a,content:o,filterNull:s,isAnimationActive:c,offset:l,payloadUniqBy:u,position:d,reverseDirection:f,useTranslate3d:p,wrapperStyle:m,cursor:h,shared:g,trigger:_,defaultIndex:v,portal:y,axisId:b}=t,x=l3(),S=typeof v==`number`?String(v):v;(0,F.useEffect)(()=>{x(K0e({shared:g,trigger:_,axisId:b,active:n,defaultIndex:S}))},[x,g,_,b,n,S]);var C=K6(),w=KXe(),T=z0e(g),{activeIndex:E,isActive:D}=d3(e=>h4e(e,T,_,S))??{},O=d3(e=>m4e(e,T,_,S)),k=d3(e=>p4e(e,T,_,S)),A=d3(e=>f4e(e,T,_,S)),ee=O,j=H4e(),M=n??D??!1,[te,ne]=tKe([ee,M]),N=T===`axis`?k:void 0;d3e(T,_,A,N,E,M);var re=y??j;if(re==null||C==null||T==null)return null;var ie=ee??y3e;M||(ie=y3e),s&&ie.length&&(ie=CGe(ie.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),u,_3e));var ae=ie.length>0,oe=p3e(p3e({},t),{},{payload:ie,label:N,active:M,activeIndex:E,coordinate:A,accessibilityLayer:w}),se=F.createElement(GXe,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:c,active:M,coordinate:A,hasPayload:ae,offset:l,position:d,reverseDirection:f,useTranslate3d:p,viewBox:C,wrapperStyle:m,lastBoundingBox:te,innerRef:ne,hasPortalFromProps:!!y},v3e(o,oe));return F.createElement(F.Fragment,null,(0,Ti.createPortal)(se,re),M&&F.createElement(B4e,{cursor:h,tooltipEventType:T,coordinate:A,payload:ie,index:E}))}var e9=e=>null;e9.displayName=`Cell`;function S3e(e,t,n){return(t=C3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C3e(e){var t=w3e(e,`string`);return typeof t==`symbol`?t:t+``}function w3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var T3e=class{constructor(e){S3e(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function E3e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function D3e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?E3e(Object(n),!0).forEach(function(t){O3e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E3e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function O3e(e,t,n){return(t=k3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k3e(e){var t=A3e(e,`string`);return typeof t==`symbol`?t:t+``}function A3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var j3e=D3e({},{cacheSize:2e3,enableCache:!0}),M3e=new T3e(j3e.cacheSize),N3e={position:`absolute`,top:`-20000px`,left:0,padding:0,margin:0,border:`none`,whiteSpace:`pre`},P3e=`recharts_measurement_span`;function F3e(e,t){return`${e}|${t.fontSize||``}|${t.fontFamily||``}|${t.fontWeight||``}|${t.fontStyle||``}|${t.letterSpacing||``}|${t.textTransform||``}`}var I3e=(e,t)=>{try{var n=document.getElementById(P3e);n||(n=document.createElement(`span`),n.setAttribute(`id`,P3e),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,N3e,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},L3e=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||M8.isSsr)return{width:0,height:0};if(!j3e.enableCache)return I3e(e,t);var n=F3e(e,t),r=M3e.get(n);if(r)return r;var i=I3e(e,t);return M3e.set(n,i),i},R3e;function z3e(e,t,n){return(t=B3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B3e(e){var t=V3e(e,`string`);return typeof t==`symbol`?t:t+``}function V3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var H3e=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,U3e=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,W3e=/^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/,G3e=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,K3e={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},q3e=[`cm`,`mm`,`pt`,`pc`,`in`,`Q`,`px`];function J3e(e){return q3e.includes(e)}var t9=`NaN`;function Y3e(e,t){return e*K3e[t]}var n9=class e{static parse(t){var[,n,r]=G3e.exec(t)??[];return n==null?e.NaN:new e(parseFloat(n),r??``)}constructor(e,t){this.num=e,this.unit=t,this.num=e,this.unit=t,G4(e)&&(this.unit=``),t!==``&&!W3e.test(t)&&(this.num=NaN,this.unit=``),J3e(t)&&(this.num=Y3e(e,t),this.unit=`px`)}add(t){return this.unit===t.unit?new e(this.num+t.num,this.unit):new e(NaN,``)}subtract(t){return this.unit===t.unit?new e(this.num-t.num,this.unit):new e(NaN,``)}multiply(t){return this.unit!==``&&t.unit!==``&&this.unit!==t.unit?new e(NaN,``):new e(this.num*t.num,this.unit||t.unit)}divide(t){return this.unit!==``&&t.unit!==``&&this.unit!==t.unit?new e(NaN,``):new e(this.num/t.num,this.unit||t.unit)}toString(){return`${this.num}${this.unit}`}isNaN(){return G4(this.num)}};R3e=n9,z3e(n9,`NaN`,new R3e(NaN,``));function X3e(e){if(e==null||e.includes(t9))return t9;for(var t=e;t.includes(`*`)||t.includes(`/`);){var[,n,r,i]=H3e.exec(t)??[],a=n9.parse(n??``),o=n9.parse(i??``),s=r===`*`?a.multiply(o):a.divide(o);if(s.isNaN())return t9;t=t.replace(H3e,s.toString())}for(;t.includes(`+`)||/.-\d+(?:\.\d+)?/.test(t);){var[,c,l,u]=U3e.exec(t)??[],d=n9.parse(c??``),f=n9.parse(u??``),p=l===`+`?d.add(f):d.subtract(f);if(p.isNaN())return t9;t=t.replace(U3e,p.toString())}return t}var Z3e=/\(([^()]*)\)/;function Q3e(e){for(var t=e,n;(n=Z3e.exec(t))!=null;){var[,r]=n;t=t.replace(Z3e,X3e(r))}return t}function $3e(e){var t=e.replace(/\s+/g,``);return t=Q3e(t),t=X3e(t),t}function e6e(e){try{return $3e(e)}catch{return t9}}function r9(e){var t=e6e(e.slice(5,-1));return t===t9?``:t}var t6e=[`x`,`y`,`lineHeight`,`capHeight`,`fill`,`scaleToFit`,`textAnchor`,`verticalAnchor`],n6e=[`dx`,`dy`,`angle`,`className`,`breakAll`];function i9(){return i9=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},i9.apply(null,arguments)}function r6e(e,t){if(e==null)return{};var n,r,i=i6e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i6e(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}var a6e=/[ \f\n\r\t\v\u2028\u2029]+/,o6e=e=>{var{children:t,breakAll:n,style:r}=e;try{var i=[];return Q4(t)||(i=n?t.toString().split(``):t.toString().split(a6e)),{wordsWithComputedWidth:i.map(e=>({word:e,width:L3e(e,r).width})),spaceWidth:n?0:L3e(`\xA0`,r).width}}catch{return null}};function s6e(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function c6e(e){return Q4(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var l6e=(e,t,n,r)=>e.reduce((e,i)=>{var{word:a,width:o}=i,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+n<Number(t)))s.words.push(a),s.width+=o+n;else{var c={words:[a],width:o};e.push(c)}return e},[]),u6e=e=>e.reduce((e,t)=>e.width>t.width?e:t),d6e=`…`,f6e=(e,t,n,r,i,a,o,s)=>{var c=o6e({breakAll:n,style:r,children:e.slice(0,t)+d6e});if(!c)return[!1,[]];var l=l6e(c.wordsWithComputedWidth,a,o,s);return[l.length>i||u6e(l).width>Number(a),l]},p6e=(e,t,n,r,i)=>{var{maxLines:a,children:o,style:s,breakAll:c}=e,l=q4(a),u=String(o),d=l6e(t,r,n,i);if(!l||i||!(d.length>a||u6e(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),[_,v]=f6e(u,g-1,c,s,a,r,n,i),[y]=f6e(u,g,c,s,a,r,n,i);if(!_&&!y&&(f=g+1),_&&y&&(p=g-1),!_&&y){h=v;break}m++}return h||d},m6e=e=>[{words:Q4(e)?[]:e.toString().split(a6e),width:void 0}],h6e=e=>{var{width:t,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:o}=e;if((t||n)&&!M8.isSsr){var s,c,l=o6e({breakAll:a,children:r,style:i});if(l){var{wordsWithComputedWidth:u,spaceWidth:d}=l;s=u,c=d}else return m6e(r);return p6e({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return m6e(r)},g6e=`#808080`,_6e={angle:0,breakAll:!1,capHeight:`0.71em`,fill:g6e,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},a9=(0,F.forwardRef)((e,t)=>{var n=i3(e,_6e),{x:r,y:i,lineHeight:a,capHeight:o,fill:s,scaleToFit:c,textAnchor:l,verticalAnchor:u}=n,d=r6e(n,t6e),f=(0,F.useMemo)(()=>h6e({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:c,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,c,d.style,d.width]),{dx:p,dy:m,angle:h,className:g,breakAll:_}=d,v=r6e(d,n6e);if(!J4(r)||!J4(i)||f.length===0)return null;var y=Number(r)+(q4(p)?p:0),b=Number(i)+(q4(m)?m:0);if(!O6(y)||!O6(b))return null;var x;switch(u){case`start`:x=r9(`calc(${o})`);break;case`middle`:x=r9(`calc(${(f.length-1)/2} * -${a} + (${o} / 2))`);break;default:x=r9(`calc(${f.length-1} * -${a})`);break}var S=[],C=f[0];if(c&&C!=null){var w=C.width,{width:T}=d;S.push(`scale(${q4(T)&&q4(w)?T/w:1})`)}return h&&S.push(`rotate(${h}, ${y}, ${b})`),S.length&&(v.transform=S.join(` `)),F.createElement(`text`,i9({},x4(v),{ref:t,x:y,y:b,className:h4(`recharts-text`,g),textAnchor:l,fill:s.includes(`url`)?g6e:s}),f.map((e,t)=>{var n=e.words.join(_?``:` `);return F.createElement(`tspan`,{x:y,dy:t===0?x:a,key:`${n}-${t}`},n)}))});a9.displayName=`Text`;function v6e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?v6e(Object(n),!0).forEach(function(t){y6e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v6e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function y6e(e,t,n){return(t=b6e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b6e(e){var t=x6e(e,`string`);return typeof t==`symbol`?t:t+``}function x6e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var S6e=e=>{var{viewBox:t,position:n,offset:r=0,parentViewBox:i,clamp:a}=e,{x:o,y:s,height:c,upperWidth:l,lowerWidth:u}=G6(t),d=o,f=o+(l-u)/2,p=(d+f)/2,m=(l+u)/2,h=d+l/2,g=c>=0?1:-1,_=g*r,v=g>0?`end`:`start`,y=g>0?`start`:`end`,b=l>=0?1:-1,x=b*r,S=b>0?`end`:`start`,C=b>0?`start`:`end`,w=i;if(n===`top`){var T={x:d+l/2,y:s-_,horizontalAnchor:`middle`,verticalAnchor:v};return a&&w&&(T.height=Math.max(s-w.y,0),T.width=l),T}if(n===`bottom`){var E={x:f+u/2,y:s+c+_,horizontalAnchor:`middle`,verticalAnchor:y};return a&&w&&(E.height=Math.max(w.y+w.height-(s+c),0),E.width=u),E}if(n===`left`){var D={x:p-x,y:s+c/2,horizontalAnchor:S,verticalAnchor:`middle`};return a&&w&&(D.width=Math.max(D.x-w.x,0),D.height=c),D}if(n===`right`){var O={x:p+m+x,y:s+c/2,horizontalAnchor:C,verticalAnchor:`middle`};return a&&w&&(O.width=Math.max(w.x+w.width-O.x,0),O.height=c),O}var k=a&&w?{width:m,height:c}:{};return n===`insideLeft`?o9({x:p+x,y:s+c/2,horizontalAnchor:C,verticalAnchor:`middle`},k):n===`insideRight`?o9({x:p+m-x,y:s+c/2,horizontalAnchor:S,verticalAnchor:`middle`},k):n===`insideTop`?o9({x:d+l/2,y:s+_,horizontalAnchor:`middle`,verticalAnchor:y},k):n===`insideBottom`?o9({x:f+u/2,y:s+c-_,horizontalAnchor:`middle`,verticalAnchor:v},k):n===`insideTopLeft`?o9({x:d+x,y:s+_,horizontalAnchor:C,verticalAnchor:y},k):n===`insideTopRight`?o9({x:d+l-x,y:s+_,horizontalAnchor:S,verticalAnchor:y},k):n===`insideBottomLeft`?o9({x:f+x,y:s+c-_,horizontalAnchor:C,verticalAnchor:v},k):n===`insideBottomRight`?o9({x:f+u-x,y:s+c-_,horizontalAnchor:S,verticalAnchor:v},k):n&&typeof n==`object`&&(q4(n.x)||K4(n.x))&&(q4(n.y)||K4(n.y))?o9({x:o+X4(n.x,m),y:s+X4(n.y,c),horizontalAnchor:`end`,verticalAnchor:`end`},k):o9({x:h,y:s+c/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},k)},C6e=[`labelRef`],w6e=[`content`];function T6e(e,t){if(e==null)return{};var n,r,i=E6e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function E6e(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 D6e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?D6e(Object(n),!0).forEach(function(t){O6e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D6e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function O6e(e,t,n){return(t=k6e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k6e(e){var t=A6e(e,`string`);return typeof t==`symbol`?t:t+``}function A6e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c9(){return c9=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},c9.apply(null,arguments)}var j6e=(0,F.createContext)(null),M6e=()=>{var e=(0,F.useContext)(j6e),t=K6();return e||(t?G6(t):void 0)},N6e=(0,F.createContext)(null),P6e=()=>{var e=(0,F.useContext)(N6e),t=d3(v$e);return e||t},F6e=e=>{var{value:t,formatter:n}=e,r=Q4(e.children)?t:e.children;return typeof n==`function`?n(r):r},I6e=e=>e!=null&&typeof e==`function`,L6e=(e,t)=>W4(t-e)*Math.min(Math.abs(t-e),360),R6e=(e,t,n,r,i)=>{var{offset:a,className:o}=e,{cx:s,cy:c,innerRadius:l,outerRadius:u,startAngle:d,endAngle:f,clockWise:p}=i,m=(l+u)/2,h=L6e(d,f),g=h>=0?1:-1,_,v;switch(t){case`insideStart`:_=d+g*a,v=p;break;case`insideEnd`:_=f-g*a,v=!p;break;case`end`:_=f+g*a,v=p;break;default:throw Error(`Unsupported position ${t}`)}v=h<=0?v:!v;var y=Z8(s,c,m,_),b=Z8(s,c,m,_+(v?1:-1)*359),x=`M${y.x},${y.y}
|
|
3183
|
+
A`,`,`,`,0,0,`,`,`,`,`,`Z`]),C.x,C.y,a,a,+(u<0),S.x,S.y,r,r,+(T>180),+(u>0),y.x,y.y,a,a,+(u<0),b.x,b.y)}else v+=H4(PQe||=$8([`L`,`,`,`Z`]),t,n);return v},RQe={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},zQe=e=>{var t=i3(e,RQe),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:o,forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u,className:d}=t;if(a<i||l===u)return null;var f=h4(`recharts-sector`,d),p=a-i,m=X4(o,p,0,!0),h=m>0&&Math.abs(l-u)<360?LQe({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u}):IQe({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:l,endAngle:u});return F.createElement(`path`,Q8({},x4(t),{className:f,d:h}))};function BQe(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(kWe(t)){if(e===`centric`){var{cx:r,cy:i,innerRadius:a,outerRadius:o,angle:s}=t,c=X8(r,i,a,s),l=X8(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return Z8(t)}}var VQe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=KGe();function n(e){return t.isSymbol(e)?NaN:Number(e)}e.toNumber=n})),HQe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=VQe();function n(e){return e?(e=t.toNumber(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}e.toFinite=n})),UQe=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=XGe(),n=HQe();function r(e,r,i){i&&typeof i!=`number`&&t.isIterateeCall(e,r,i)&&(r=i=void 0),e=n.toFinite(e),r===void 0?(r=e,e=0):r=n.toFinite(r),i=i===void 0?e<r?1:-1:n.toFinite(i);let a=Math.max(Math.ceil((r-e)/(i||1)),0),o=Array(a);for(let t=0;t<a;t++)o[t]=e,e+=i;return o}e.range=r})),WQe=a(((e,t)=>{t.exports=UQe().range})),t5=e=>e.chartData,n5=Q([t5],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),r5=(e,t,n,r)=>r?n5(e):t5(e),GQe=Q([r5],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t==null?[]:t.slice(n,r+1)}),KQe=Q([n5],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t==null?[]:t.slice(n,r+1)}),qQe=Q([t5],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t==null?[]:t.slice(n,r+1)});function i5(e){if(Array.isArray(e)&&e.length===2){var[t,n]=e;if(O6(t)&&O6(n))return!0}return!1}function JQe(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function YQe(e,t){if(t&&typeof e!=`function`&&Array.isArray(e)&&e.length===2){var[n,r]=e,i,a;if(O6(n))i=n;else if(typeof n==`function`)return;if(O6(r))a=r;else if(typeof r==`function`)return;var o=[i,a];if(i5(o))return o}}function XQe(e,t,n){if(!(!n&&t==null)){if(typeof e==`function`&&t!=null)try{var r=e(t,n);if(i5(r))return JQe(r,t,n)}catch{}if(Array.isArray(e)&&e.length===2){var[i,a]=e,o,s;if(i===`auto`)t!=null&&(o=Math.min(...t));else if(q4(i))o=i;else if(typeof i==`function`)try{t!=null&&(o=i(t?.[0]))}catch{}else if(typeof i==`string`&&yJe.test(i)){var c=yJe.exec(i);if(c==null||c[1]==null||t==null)o=void 0;else{var l=+c[1];o=t[0]-l}}else o=t?.[0];if(a===`auto`)t!=null&&(s=Math.max(...t));else if(q4(a))s=a;else if(typeof a==`function`)try{t!=null&&(s=a(t?.[1]))}catch{}else if(typeof a==`string`&&bJe.test(a)){var u=bJe.exec(a);if(u==null||u[1]==null||t==null)s=void 0;else{var d=+u[1];s=t[1]+d}}else s=t?.[1];var f=[o,s];if(i5(f))return t==null?f:JQe(f,t,n)}}}var a5=i(a(((e,t)=>{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=r<i?r:i;t<n;++t)if(a.d[t]!==e.d[t])return a.d[t]>e.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l<u&&(o=m,m=h,h=o,s=l,l=u,u=s),o=[],s=l+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||e<t||e>n)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)r=e[t]+``,n=p-r.length,n&&(a+=w(n)),a+=r;o=e[t],r=o+``,n=p-r.length,n&&(a+=w(n))}else if(o===0)return`0`;for(;o%10==0;)o/=10;return a+o}var b=(function(){function e(e,t){var n,r=0,i=e.length;for(e=e.slice();i--;)n=e[i]*t+r,e[i]=n%f|0,r=n/f|0;return r&&e.unshift(r),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]<t[n]),e[n]=r*f+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,ee=r.s==i.s?1:-1,j=r.d,M=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=M.length,T=j.length,g=new A(ee),_=g.d=[],u=0;M[u]==(j[u]||0);)++u;if(M[u]>(j[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,M=M[0],x++;(u<T||d)&&x--;u++)C=d*f+(j[u]||0),_[u]=C/M|0,d=C%M|0;else{for(d=f/(M[0]+1)|0,d>1&&(M=e(M,d),j=e(j,d),O=M.length,T=j.length),w=O,v=j.slice(0,O),y=v.length;y<O;)v[y++]=0;k=M.slice(),k.unshift(0),E=M[0],M[1]>=f/2&&++E;do d=0,c=t(M,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(M,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O<h?k:M,h))):(d==0&&(c=d=1),m=M.slice()),h=m.length,h<y&&m.unshift(0),n(v,m,y),c==-1&&(y=v.length,c=t(M,v,O,y),c<1&&(d++,n(v,O<y?k:M,y))),y=v.length):c===0&&(d++,v=[0]),_[u++]=d,c&&v[0]?v[y++]=j[w]||0:(v=[j[w]],y=1);while((w++<T||v[0]!==void 0)&&x--)}return _[0]||_.shift(),g.e=l,D(g,s?o+S(g)+1:o)}})();function x(e,t){var n,r,a,o,c,u,f=0,p=0,m=e.constructor,h=m.precision;if(S(e)>16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(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=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),r<a){for(r&&e.d.push(+t.slice(0,r)),a-=p;r<a;)e.d.push(+t.slice(r,r+=p));t=t.slice(r),r=p-t.length}else r-=a;for(;r--;)t+=`0`;if(e.d.push(+t),i&&(e.e>h||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a<c,d&&(c=a),a=0;a<c;a++)if(l[a]!=m[a]){d=l[a]<m[a];break}s=0}for(d&&(n=l,l=m,m=n,t.s=-t.s),c=l.length,a=m.length-c;a>0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]<m[a]){for(o=a;o&&l[--o]===0;)l[o]=f-1;--l[o],l[a]+=f}l[a]-=m[a]}for(;l[--c]===0;)l.pop();for(;l[0]===0;l.shift())--r;return l[0]?(t.d=l,t.e=r,i?D(t,g):t):new h(0)}function k(e,t,n){var r,i=S(e),a=y(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)<o&&(a=a.slice(0,r)+`.`+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function ee(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}else if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=ee,i.config=i.set=j,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 i.config(e),i}function j(e){if(!e||typeof e!=`object`)throw Error(a+`Object expected`);var t,r,i,s=[`precision`,1,n,`rounding`,0,8,`toExpNeg`,-1/0,0,`toExpPos`,0,1/0];for(t=0;t<s.length;t+=3)if((i=e[r=s[t]])!==void 0)if(c(i)===i&&i>=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i);if((i=e[r=`LN10`])!==void 0)if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i);return this}r=ee(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}))());function ZQe(e){return e===0?1:Math.floor(new a5.default(e).abs().log(10).toNumber())+1}function QQe(e,t,n){for(var r=new a5.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var $Qe=e=>{var[t,n]=e,[r,i]=[t,n];return t>n&&([r,i]=[n,t]),[r,i]},o5=(e,t,n)=>{if(e.lte(0))return new a5.default(0);var r=ZQe(e.toNumber()),i=new a5.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new a5.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new a5.default(s.toNumber()):new a5.default(Math.ceil(s.toNumber()))},e$e=(e,t,n)=>{if(e.lte(0))return new a5.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new a5.default(i).abs().log(10).toNumber()),o=new a5.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new a5.default(10).pow(l))}var u=new a5.default(r[c]??1).mul(o);return t?u:new a5.default(Math.ceil(u.toNumber()))},t$e=(e,t,n)=>{var r=new a5.default(1),i=new a5.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new a5.default(10).pow(ZQe(e)-1),i=new a5.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new a5.default(Math.floor(e)))}else e===0?i=new a5.default(Math.floor((t-1)/2)):n||(i=new a5.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c<t;c++)s.push(i.add(new a5.default(c-o).mul(r)).toNumber());return s},n$e=function(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:o5;if(!Number.isFinite((t-e)/(n-1)))return{step:new a5.default(0),tickMin:new a5.default(0),tickMax:new a5.default(0)};var o=a(new a5.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new a5.default(0):(s=new a5.default(e).add(t).div(2),s=s.sub(new a5.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new a5.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?n$e(e,t,n,r,i+1,a):(u<n&&(l=t>0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new a5.default(c).mul(o)),tickMax:s.add(new a5.default(l).mul(o))})},r$e=function(e){var[t,n]=e,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,o=Math.max(r,2),[s,c]=$Qe([t,n]);if(s===-1/0||c===1/0){var l=c===1/0?[s,...Array(r-1).fill(1/0)]:[...Array(r-1).fill(-1/0),c];return t>n?l.reverse():l}if(s===c)return t$e(s,r,i);var{step:u,tickMin:d,tickMax:f}=n$e(s,c,o,i,0,a===`snap125`?e$e:o5),p=QQe(d,f.add(new a5.default(.1).mul(u)),u);return t>n?p.reverse():p},i$e=function(e,t){var[n,r]=e,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,[o,s]=$Qe([n,r]);if(o===-1/0||s===1/0)return[n,r];if(o===s)return[o];var c=a===`snap125`?e$e:o5,l=Math.max(t,2),u=c(new a5.default(s).sub(o).div(l-1),i,0),d=[...QQe(new a5.default(o),new a5.default(s),u),s];return i===!1&&(d=d.map(e=>Math.round(e))),n>r?d.reverse():d},a$e=e=>e.rootProps.barCategoryGap,s5=e=>e.rootProps.stackOffset,o$e=e=>e.rootProps.reverseStackOrder,c5=e=>e.options.chartName,l5=e=>e.rootProps.syncId,s$e=e=>e.rootProps.syncMethod,u5=e=>e.options.eventEmitter,d5={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},f5={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:d5.axis},p5={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:d5.axis},m5=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function c$e(e,t,n){if(n!==`auto`)return n;if(e!=null)return M6(e,t)?`category`:`number`}function l$e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function h5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?l$e(Object(n),!0).forEach(function(t){u$e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l$e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u$e(e,t,n){return(t=d$e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d$e(e){var t=f$e(e,`string`);return typeof t==`symbol`?t:t+``}function f$e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var p$e={allowDataOverflow:f5.allowDataOverflow,allowDecimals:f5.allowDecimals,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:f5.angleAxisId,includeHidden:!1,name:void 0,reversed:f5.reversed,scale:f5.scale,tick:f5.tick,tickCount:void 0,ticks:void 0,type:f5.type,unit:void 0,niceTicks:`auto`},m$e={allowDataOverflow:p5.allowDataOverflow,allowDecimals:p5.allowDecimals,allowDuplicatedCategory:p5.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:p5.radiusAxisId,includeHidden:p5.includeHidden,name:void 0,reversed:p5.reversed,scale:p5.scale,tick:p5.tick,tickCount:p5.tickCount,ticks:void 0,type:p5.type,unit:void 0,niceTicks:`auto`},g5=Q([(e,t)=>{if(t!=null)return e.polarAxis.angleAxis[t]},gYe],(e,t)=>{if(e!=null)return e;var n=c$e(t,`angleAxis`,p$e.type)??`category`;return h5(h5({},p$e),{},{type:n})}),_5=Q([(e,t)=>e.polarAxis.radiusAxis[t],gYe],(e,t)=>{if(e!=null)return e;var n=c$e(t,`radiusAxis`,m$e.type)??`category`;return h5(h5({},m$e),{},{type:n})}),v5=e=>e.polarOptions,y5=Q([N6,P6,R6],SQe),h$e=Q([v5,y5],(e,t)=>{if(e!=null)return X4(e.innerRadius,t,0)}),g$e=Q([v5,y5],(e,t)=>{if(e!=null)return X4(e.outerRadius,t,t*.8)}),_$e=Q([v5],e=>{if(e==null)return[0,0];var{startAngle:t,endAngle:n}=e;return[t,n]});Q([g5,_$e],m5);var v$e=Q([y5,h$e,g$e],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});Q([_5,v$e],m5);var y$e=Q([q6,v5,h$e,g$e,N6,P6],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var{cx:o,cy:s,startAngle:c,endAngle:l}=t;return{cx:X4(o,i,i/2),cy:X4(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),b5=(e,t)=>t,x5=(e,t,n)=>n;function b$e(e){return e?.id}function x$e(e,t,n){var{chartData:r=[]}=t,{allowDuplicatedCategory:i,dataKey:a}=n,o=new Map;return e.forEach(e=>{var t=e.data??r;if(!(t==null||t.length===0)){var n=b$e(e);t.forEach((t,r)=>{var s=a==null||i?r:String(j6(t,a,null)),c=j6(t,e.dataKey,0),l=o.has(s)?o.get(s):{};Object.assign(l,{[n]:c}),o.set(s,l)})}}),Array.from(o.values())}function S5(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var C5=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function w5(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function S$e(e,t){if(e.length===t.length){for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return!1}var T5=e=>{var t=q6(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},E5=e=>e.tooltip.settings.axisId;function D5(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i;break;default:break}}return r}}}}}var C$e=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!i5(t)){for(var n,r,i=0;i<t.length;i++){var a=t[i];O6(a)&&((n===void 0||a<n)&&(n=a),(r===void 0||a>r)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function w$e(e=le){if(e===le)return T$e;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function T$e(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}function E$e(e,t,n=0,r=1/0,i){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(i=i===void 0?T$e:w$e(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));E$e(e,t,u,d,i)}let a=e[t],o=n,s=r;for(O5(e,n,t),i(e[r],a)>0&&O5(e,n,r);o<s;){for(O5(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?O5(e,n,s):(++s,O5(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function O5(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function D$e(e,t,n){if(e=Float64Array.from(pe(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Ee(e);if(t>=1)return Oe(e);var r,i=(r-1)*t,a=Math.floor(i),o=Oe(E$e(e,a).subarray(0,a+1));return o+(Ee(e.subarray(a+1))-o)*(i-a)}}function O$e(e,t,n=he){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,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function k$e(e,t){t===void 0&&(t=e,e=Se);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function A$e(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,de),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return A$e(e).unknown(t)},e=arguments.length?Array.from(e,de):[0,1],ge(n)}function j$e(e){return Math.log(e)}function M$e(e){return Math.exp(e)}function N$e(e){return-Math.log(-e)}function P$e(e){return-Math.exp(-e)}function F$e(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function I$e(e){return e===10?F$e:e===Math.E?Math.exp:t=>e**+t}function L$e(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 R$e(e){return(t,n)=>-e(-t,n)}function k5(e){let t=e(j$e,M$e),n=t.domain,r=10,i,a;function o(){return i=L$e(r),a=I$e(r),n()[0]<0?(i=R$e(i),a=R$e(a),e(N$e,P$e)):e(j$e,M$e),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=fe(o,s,p))}else m=fe(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=We(n)).precision==null&&(n.trim=!0),n=Ge(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(De(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function z$e(){let e=k5(be()).domain([1,10]);return e.copy=()=>ue(e,z$e()).base(e.base()),He.apply(e,arguments),e}function B$e(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function V$e(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function A5(e){var t=1,n=e(B$e(t),V$e(t));return n.constant=function(n){return arguments.length?e(B$e(t=+n),V$e(t)):t},ge(n)}function H$e(){var e=A5(be());return e.copy=function(){return ue(e,H$e()).constant(e.constant())},He.apply(e,arguments)}function U$e(e){return function(t){return t<0?-((-t)**+e):t**+e}}function W$e(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function G$e(e){return e<0?-e*e:e*e}function j5(e){var t=e(_e,_e),n=1;function r(){return n===1?e(_e,_e):n===.5?e(W$e,G$e):e(U$e(n),U$e(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},ge(t)}function M5(){var e=j5(be());return e.copy=function(){return ue(e,M5()).exponent(e.exponent())},He.apply(e,arguments),e}function K$e(){return M5.apply(null,arguments).exponent(.5)}function q$e(e){return Math.sign(e)*e*e}function J$e(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Y$e(){var e=me(),t=[0,1],n=!1,r;function i(t){var i=J$e(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(q$e(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,de)).map(q$e)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return Y$e(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},He.apply(i,arguments),ge(i)}function X$e(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r<i;)n[r-1]=O$e(e,r/i);return a}function a(e){return e==null||isNaN(e=+e)?r:t[ve(n,e)]}return a.invertExtent=function(r){var i=t.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:e[0],i<n.length?n[i]:e[e.length-1]]},a.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(le),i()},a.range=function(e){return arguments.length?(t=Array.from(e),i()):t.slice()},a.unknown=function(e){return arguments.length?(r=e,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return X$e().domain(e).range(t).unknown(r)},He.apply(a,arguments)}function Z$e(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(e){return e!=null&&e<=e?i[ve(r,e,0,n)]:a}function s(){var i=-1;for(r=Array(n);++i<n;)r[i]=((i+1)*t-(i-n)*e)/(n+1);return o}return o.domain=function(n){return arguments.length?([e,t]=n,e=+e,t=+t,s()):[e,t]},o.range=function(e){return arguments.length?(n=(i=Array.from(e)).length-1,s()):i.slice()},o.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[e,r[0]]:o>=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Z$e().domain([e,t]).range(i).unknown(a)},He.apply(ge(o),arguments)}function Q$e(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[ve(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return Q$e().domain(e).range(t).unknown(n)},He.apply(i,arguments)}function $$e(){return He.apply(Ie(Pe,Ae,Fe,Me,ke,ze,Re,Te,Le,je).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function N5(){var e=0,t=1,n,r,i,a,o=_e,s=!1,c;function l(e){return e==null||isNaN(e=+e)?c:o(i===0?.5:(e=(a(e)-n)*i,s?Math.max(0,Math.min(1,e)):e))}l.domain=function(o){return arguments.length?([e,t]=o,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(e){return arguments.length?(s=!!e,l):s},l.interpolator=function(e){return arguments.length?(o=e,l):o};function u(e){return function(t){var n,r;return arguments.length?([n,r]=t,o=e(n,r),l):[o(0),o(1)]}}return l.range=u(Se),l.rangeRound=u(P),l.unknown=function(e){return arguments.length?(c=e,l):c},function(o){return a=o,n=o(e),r=o(t),i=n===r?0:1/(r-n),l}}function P5(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function e1e(){var e=ge(N5()(_e));return e.copy=function(){return P5(e,e1e())},Ue.apply(e,arguments)}function t1e(){var e=k5(N5()).domain([1,10]);return e.copy=function(){return P5(e,t1e()).base(e.base())},Ue.apply(e,arguments)}function n1e(){var e=A5(N5());return e.copy=function(){return P5(e,n1e()).constant(e.constant())},Ue.apply(e,arguments)}function F5(){var e=j5(N5());return e.copy=function(){return P5(e,F5()).exponent(e.exponent())},Ue.apply(e,arguments)}function r1e(){return F5.apply(null,arguments).exponent(.5)}function i1e(){var e=[],t=_e;function n(n){if(n!=null&&!isNaN(n=+n))return t((ve(e,n,1)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(le),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.range=function(){return e.map((n,r)=>t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>D$e(e,r/t))},n.copy=function(){return i1e(t).domain(e)},Ue.apply(n,arguments)}function I5(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=_e,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=k$e(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(Se),p.rangeRound=m(P),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function a1e(){var e=ge(I5()(_e));return e.copy=function(){return P5(e,a1e())},Ue.apply(e,arguments)}function o1e(){var e=k5(I5()).domain([.1,1,10]);return e.copy=function(){return P5(e,o1e()).base(e.base())},Ue.apply(e,arguments)}function s1e(){var e=A5(I5());return e.copy=function(){return P5(e,s1e()).constant(e.constant())},Ue.apply(e,arguments)}function L5(){var e=j5(I5());return e.copy=function(){return P5(e,L5()).exponent(e.exponent())},Ue.apply(e,arguments)}function c1e(){return L5.apply(null,arguments).exponent(.5)}var l1e=r({scaleBand:()=>Ve,scaleDiverging:()=>a1e,scaleDivergingLog:()=>o1e,scaleDivergingPow:()=>L5,scaleDivergingSqrt:()=>c1e,scaleDivergingSymlog:()=>s1e,scaleIdentity:()=>A$e,scaleImplicit:()=>we,scaleLinear:()=>xe,scaleLog:()=>z$e,scaleOrdinal:()=>Ce,scalePoint:()=>Be,scalePow:()=>M5,scaleQuantile:()=>X$e,scaleQuantize:()=>Z$e,scaleRadial:()=>Y$e,scaleSequential:()=>e1e,scaleSequentialLog:()=>t1e,scaleSequentialPow:()=>F5,scaleSequentialQuantile:()=>i1e,scaleSequentialSqrt:()=>r1e,scaleSequentialSymlog:()=>n1e,scaleSqrt:()=>K$e,scaleSymlog:()=>H$e,scaleThreshold:()=>Q$e,scaleTime:()=>Ne,scaleUtc:()=>$$e,tickFormat:()=>ye});function u1e(e){var t=l1e;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${$4(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function d1e(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=u1e(e);if(r!=null)return r.domain(t).range(n),r}}function R5(e,t,n,r){if(!(n==null||r==null))return typeof e.scale==`function`?d1e(e.scale,n,r):d1e(t,n,r)}function f1e(e){return`scale${$4(e)}`}function p1e(e){return f1e(e)in l1e}var m1e=(e,t,n)=>{if(e!=null){var{scale:r,type:i}=e;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return p1e(r)?r:`point`}};function h1e(e,t){for(var n=0,r=e.length,i=e[0]<e[e.length-1];n<r;){var a=Math.floor((n+r)/2);(i?e[a]<t:e[a]>t)?n=a+1:r=a}return n}function g1e(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=h1e(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function _1e(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):g1e(e,void 0)}var v1e=i(WQe());function y1e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function z5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?y1e(Object(n),!0).forEach(function(t){b1e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y1e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function b1e(e,t,n){return(t=x1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x1e(e){var t=S1e(e,`string`);return typeof t==`symbol`?t:t+``}function S1e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var B5=[0,`auto`],C1e={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:void 0,height:30,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`bottom`,padding:{left:0,right:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`category`,unit:void 0,niceTicks:`auto`},w1e=(e,t)=>e.cartesianAxis.xAxis[t],V5=(e,t)=>w1e(e,t)??C1e,T1e={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:B5,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},E1e=(e,t)=>e.cartesianAxis.yAxis[t],H5=(e,t)=>E1e(e,t)??T1e,D1e={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},U5=(e,t)=>e.cartesianAxis.zAxis[t]??D1e,W5=(e,t,n)=>{switch(t){case`xAxis`:return V5(e,n);case`yAxis`:return H5(e,n);case`zAxis`:return U5(e,n);case`angleAxis`:return g5(e,n);case`radiusAxis`:return _5(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},O1e=(e,t,n)=>{switch(t){case`xAxis`:return V5(e,n);case`yAxis`:return H5(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},G5=(e,t,n)=>{switch(t){case`xAxis`:return V5(e,n);case`yAxis`:return H5(e,n);case`angleAxis`:return g5(e,n);case`radiusAxis`:return _5(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},k1e=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function K5(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var A1e=e=>e.graphicalItems.cartesianItems,j1e=Q([b5,x5],K5),q5=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0?!0:!e.hide),J5=Q([A1e,W5,j1e],q5,{memoizeOptions:{resultEqualityCheck:w5}}),M1e=Q([J5],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(S5)),N1e=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),P1e=Q([J5],N1e),Y5=e=>e.map(e=>e.data).filter(Boolean).flat(1),F1e=Q([J5],e=>e.some(e=>!e.data)),I1e=Q([J5],Y5,{memoizeOptions:{resultEqualityCheck:w5}}),X5=(e,t)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=t;return e.length>0?e:n.slice(r,i+1)},Z5=Q([I1e,r5],X5),L1e=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:j6(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:j6(e,t.dataKey)})),R1e=(e,t,n,r,i,a)=>{var{chartData:o=[],dataStartIndex:s,dataEndIndex:c}=r,l=L1e(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...o.slice(s,c+1).map(e=>({value:j6(e,t.dataKey)})).filter(e=>e.value!=null),...l]:l},Q5=Q([Z5,W5,J5,r5,F1e,I1e],R1e);function $5(e){if(J4(e)||e instanceof Date){var t=Number(e);if(O6(t))return t}}function z1e(e){if(Array.isArray(e)){var t=[$5(e[0]),$5(e[1])];return i5(t)?t:void 0}var n=$5(e);if(n!=null)return[n,n]}function e7(e){return e.map($5).filter(e3)}function B1e(e,t){var n=$5(e),r=$5(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var V1e=Q([Q5],e=>e?.map(e=>e.value).sort(B1e));function H1e(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function U1e(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!G4(t))r=t;else if(Array.isArray(t)){var i=e7(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:e7(n.flatMap(t=>{var n=j6(e,t.dataKey),i,a;if(Array.isArray(n)?[i,a]=n:i=a=n,!(!O6(i)||!O6(a)))return[r-i,r+a]}))}var t7=e=>G5(e,T5(e),E5(e)),n7=Q([t7],e=>e?.dataKey),W1e=Q([M1e,r5,t7],x$e),G1e=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var[i,a]=t,o=r?[...a].reverse():a;return[i,{stackedData:hJe(e,o.map(b$e),n),graphicalItems:o}]}))},K1e=Q([W1e,M1e,s5,o$e],G1e),q1e=(e,t,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=t;if(r==null&&n!==`zAxis`){var o=vJe(e,i,a);if(!(o!=null&&o[0]===0&&o[1]===0))return o}},J1e=Q([W5],e=>e.allowDataOverflow),r7=e=>{if(e==null||!(`domain`in e))return B5;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=e7(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??B5},i7=Q([W5],r7),a7=Q([i7,J1e],YQe),Y1e=Q([K1e,t5,b5,a7],q1e,{memoizeOptions:{resultEqualityCheck:C5}}),o7=e=>e.errorBars,X1e=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>H1e(n,e)),s7=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},c7=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>H1e(i,e));n.forEach(n=>{var r=j6(n,t.dataKey??e.dataKey),i=U1e(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||a<o)&&(o=a),(s==null||l>s)&&(s=l)}var u=z1e(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=z1e(j6(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),O6(o)&&O6(s))return[o,s]},Z1e=Q([Z5,W5,P1e,o7,b5,GQe],c7,{memoizeOptions:{resultEqualityCheck:C5}});function Q1e(e){var{value:t}=e;if(J4(t)||t instanceof Date)return t}var $1e=(e,t,n)=>{var r=e.map(Q1e).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&mWe(r))?(0,v1e.default)(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},e0e=e=>e.referenceElements.dots,l7=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),t0e=Q([e0e,b5,x5],l7),n0e=e=>e.referenceElements.areas,r0e=Q([n0e,b5,x5],l7),i0e=e=>e.referenceElements.lines,a0e=Q([i0e,b5,x5],l7),o0e=(e,t)=>{if(e!=null){var n=e7(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},s0e=Q(t0e,b5,o0e),c0e=(e,t)=>{if(e!=null){var n=e7(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},l0e=Q([r0e,b5],c0e);function u0e(e){if(e.x!=null)return e7([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:e7(t)}function d0e(e){if(e.y!=null)return e7([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:e7(t)}var f0e=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?u0e(e):d0e(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},p0e=Q(s0e,Q([a0e,b5],f0e),l0e,(e,t,n)=>s7(e,n,t)),u7=(e,t,n,r,i,a,o,s)=>n??XQe(t,o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?s7(r,a,i):s7(a,i),e.allowDataOverflow),m0e=Q([W5,i7,a7,Y1e,Z1e,p0e,q6,b5],u7,{memoizeOptions:{resultEqualityCheck:C5}}),h0e=[0,1],d7=(e,t,n,r,i,a,o)=>{if(!((e==null||n==null||n.length===0)&&o===void 0)){var{dataKey:s,type:c}=e,l=M6(t,a);return l&&s==null?(0,v1e.default)(0,n?.length??0):c===`category`?$1e(r,e,l):i===`expand`&&!l?h0e:o}},f7=Q([W5,q6,Z5,Q5,s5,b5,m0e],d7),p7=Q([W5,k1e,c5],m1e),m7=(e,t,n)=>{var{niceTicks:r}=t;if(r!==`none`){var i=r7(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&i5(e)){if(a)return r$e(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return i$e(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&i5(e))return r$e(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&i5(e))return i$e(e,t.tickCount,t.allowDecimals,`adaptive`)}}},h7=Q([f7,G5,p7],m7),g7=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&i5(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},g0e=Q([W5,f7,h7,b5],g7),_0e=Q(Q(Q5,W5,(e,t)=>{if(!(!t||t.type!==`number`)){var n=1/0,r=Array.from(e7(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;s<r.length-1;s++){var c=r[s],l=r[s+1];if(!(c==null||l==null)){var u=l-c;n=Math.min(n,u)}}return n/o}}),q6,a$e,R6,(e,t,n,r,i)=>i,(e,t,n,r,i)=>{if(!O6(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=X4(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),v0e=(e,t,n)=>{var r=V5(e,t);return r==null||typeof r.padding!=`string`?0:_0e(e,`xAxis`,t,n,r.padding)},y0e=(e,t,n)=>{var r=H5(e,t);return r==null||typeof r.padding!=`string`?0:_0e(e,`yAxis`,t,n,r.padding)},b0e=Q(V5,v0e,(e,t)=>{if(e==null)return{left:0,right:0};var{padding:n}=e;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),x0e=Q(H5,y0e,(e,t)=>{if(e==null)return{top:0,bottom:0};var{padding:n}=e;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),S0e=Q([R6,b0e,V6,B6,(e,t,n)=>n],(e,t,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),C0e=Q([R6,q6,x0e,V6,B6,(e,t,n)=>n],(e,t,n,r,i,a)=>{var{padding:o}=i;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),_7=(e,t,n,r)=>{switch(t){case`xAxis`:return S0e(e,n,r);case`yAxis`:return C0e(e,n,r);case`zAxis`:return U5(e,n)?.range;case`angleAxis`:return _$e(e);case`radiusAxis`:return v$e(e,n);default:return}},w0e=Q([W5,_7],m5),v7=Q([W5,p7,Q([p7,g0e],C$e),w0e],R5),T0e=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n;if(M6(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},y7=Q([q6,Q5,G5,b5],T0e),b7=Q([v7],D5);Q([v7],_1e),Q([v7,V1e],g1e),Q([J5,o7,b5],X1e);function E0e(e,t){return e.id<t.id?-1:+(e.id>t.id)}var x7=(e,t)=>t,S7=(e,t,n)=>n,D0e=Q(F6,x7,S7,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(E0e)),O0e=Q(I6,x7,S7,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(E0e)),k0e=(e,t)=>({width:e.width,height:t.height}),A0e=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height});Q(R6,V5,k0e);var j0e=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},M0e=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},N0e=Q(P6,R6,D0e,x7,S7,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=k0e(t,n);o??=j0e(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),P0e=Q(N6,R6,O0e,x7,S7,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=A0e(t,n);o??=M0e(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a});Q([R6,V5,(e,t)=>{var n=V5(e,t);if(n!=null)return N0e(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),Q([R6,H5,(e,t)=>{var n=H5(e,t);if(n!=null)return P0e(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),Q(R6,H5,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}));var F0e=(e,t,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:o}=n,s=M6(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&mWe(l))return c}},C7=Q([q6,Q5,W5,b5],F0e);Q([q6,O1e,p7,b7,C7,y7,_7,h7,b5],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=M6(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),Q([q6,G5,p7,b7,h7,_7,C7,y7,b5],(e,t,n,r,i,a,o,s,c)=>{if(!(t==null||r==null)){var l=M6(e,c),{type:u,ticks:d,tickCount:f}=t,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?W4(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return O6(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(e3):l&&s?s.map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(e3):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(e3):r.domain().map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(e3)}}),Q([q6,G5,b7,_7,C7,y7,b5],(e,t,n,r,i,a,o)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var s=M6(e,o),{tickCount:c}=t,l=0;return l=o===`angleAxis`&&r?.length>=2?W4(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return O6(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(e3):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return O6(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(e3):n.domain().map((e,t)=>{var r=n.map(e);return O6(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(e3)}}),Q(W5,b7,(e,t)=>{if(!(e==null||t==null))return z5(z5({},e),{},{scale:t})}),Q((e,t,n)=>U5(e,n),Q([Q([W5,p7,f7,w0e],R5)],D5),(e,t)=>{if(!(e==null||t==null))return z5(z5({},e),{},{scale:t})});var I0e=Q([q6,F6,I6],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});Q([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(!(!e||e.length===0))return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);a<n&&(n=a,r=i)}return r?.value}});var L0e=e=>e.options.defaultTooltipEventType,R0e=e=>e.options.validateTooltipEventTypes;function z0e(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function w7(e,t){return z0e(t,L0e(e),R0e(e))}function B0e(e){return d3(t=>w7(t,e))}var V0e=(e,t)=>{var n,r=Number(t);if(!(G4(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},H0e=e=>e.tooltip.settings,T7={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},U0e=h6({name:`tooltip`,initialState:{itemInteraction:{click:T7,hover:T7},axisInteraction:{click:T7,hover:T7},keyboardInteraction:T7,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(C8(t.payload))},prepare:m6()},replaceTooltipEntrySettings:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).tooltipItemPayloads.indexOf(C8(n));i>-1&&(e.tooltipItemPayloads[i]=C8(r))},prepare:m6()},removeTooltipEntrySettings:{reducer(e,t){var n=l6(e).tooltipItemPayloads.indexOf(C8(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:m6()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),{addTooltipEntrySettings:W0e,replaceTooltipEntrySettings:G0e,removeTooltipEntrySettings:K0e,setTooltipSettingsState:q0e,setActiveMouseOverItemIndex:J0e,mouseLeaveItem:Y0e,mouseLeaveChart:X0e,setActiveClickItemIndex:Z0e,setMouseOverAxisIndex:Q0e,setMouseClickAxisIndex:$0e,setSyncInteraction:E7,setKeyboardInteraction:D7}=U0e.actions,e2e=U0e.reducer;function t2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function O7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?t2e(Object(n),!0).forEach(function(t){n2e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function n2e(e,t,n){return(t=r2e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r2e(e){var t=i2e(e,`string`);return typeof t==`symbol`?t:t+``}function i2e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function a2e(e,t,n){return t===`axis`?n===`click`?e.axisInteraction.click:e.axisInteraction.hover:n===`click`?e.itemInteraction.click:e.itemInteraction.hover}function o2e(e){return e.index!=null}var s2e=(e,t,n,r)=>{if(t==null)return T7;var i=a2e(e,t,n);if(i==null)return T7;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(o2e(i)){if(a)return O7(O7({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return O7(O7({},T7),{},{coordinate:i.coordinate})};function c2e(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function l2e(e,t){var n=c2e(e),r=t[0],i=t[1];return n===void 0?!1:n>=Math.min(r,i)&&n<=Math.max(r,i)}function u2e(e,t,n){if(n==null||t==null)return!0;var r=j6(e,t);return r==null||!i5(n)?!0:l2e(r,n)}var k7=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!O6(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||u2e(l,n,r)?String(c):null},d2e=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},f2e=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},p2e=e=>e.options.tooltipPayloadSearcher,A7=e=>e.tooltip;function m2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function h2e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?m2e(Object(n),!0).forEach(function(t){g2e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function g2e(e,t,n){return(t=_2e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _2e(e){var t=v2e(e,`string`);return typeof t==`symbol`?t:t+``}function v2e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function y2e(e){if(typeof e==`string`||typeof e==`number`)return e}function b2e(e){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e}function x2e(e){if(typeof e==`string`||typeof e==`number`)return e;if(typeof e==`function`)return t=>e(t)}function S2e(e){if(typeof e==`string`)return e}function C2e(e){if(!(typeof e!=`object`||!e))return{name:`name`in e?y2e(e.name):void 0,unit:`unit`in e?b2e(e.unit):void 0,dataKey:`dataKey`in e?x2e(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?S2e(e.color):void 0,fill:`fill`in e?S2e(e.fill):void 0}}function w2e(e,t){return e??t}var T2e=(e,t,n,r,i,a,o)=>{if(!(t==null||a==null)){var{chartData:s,computedData:c,dataStartIndex:l,dataEndIndex:u}=n;return e.reduce((e,n)=>{var{dataDefinedOnItem:d,settings:f}=n,p=w2e(d,s),m=Array.isArray(p)?cJe(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_=r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?hWe(m,r,i):a(m,t,c,g);return Array.isArray(_)?_.forEach(t=>{var n=C2e(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=h2e(h2e({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(SJe({tooltipEntrySettings:o,dataKey:i,payload:a,value:j6(a,i),name:r==null?void 0:String(r)}))}):e.push(SJe({tooltipEntrySettings:f,dataKey:h,payload:_,value:j6(_,h),name:j6(_,g)??f?.name})),e},[])}},j7=Q([t7,k1e,c5],m1e),M7=Q([Q([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),t7,Q([T5,E5],K5)],q5,{memoizeOptions:{resultEqualityCheck:w5}}),E2e=Q([M7],e=>e.filter(S5)),D2e=Q([M7],Y5,{memoizeOptions:{resultEqualityCheck:w5}}),O2e=Q([M7],e=>e.some(e=>!e.data)),N7=Q([D2e,t5],X5),k2e=Q([E2e,t5,t7],x$e),P7=Q([N7,t7,M7,t5,O2e,D2e],R1e),A2e=Q([t7],r7),j2e=Q([A2e,Q([t7],e=>e.allowDataOverflow)],YQe),M2e=Q([Q([k2e,Q([M7],e=>e.filter(S5)),s5,o$e],G1e),t5,T5,j2e],q1e),N2e=Q([N7,t7,Q([M7],N1e),o7,T5,qQe],c7,{memoizeOptions:{resultEqualityCheck:C5}}),P2e=Q([Q([e0e,T5,E5],l7),T5],o0e),F2e=Q([Q([n0e,T5,E5],l7),T5],c0e),F7=Q([t7,q6,N7,P7,s5,T5,Q([t7,A2e,j2e,M2e,N2e,Q([P2e,Q([Q([i0e,T5,E5],l7),T5],f0e),F2e],s7),q6,T5],u7)],d7),I2e=Q([t7,F7,Q([F7,t7,j7],m7),T5],g7),L2e=e=>_7(e,T5(e),E5(e),!1),R2e=Q([t7,L2e],m5),z2e=Q([Q([t7,j7,I2e,R2e],R5)],D5),I7=Q([q6,t7,j7,z2e,L2e,Q([q6,P7,t7,T5],F0e),Q([q6,P7,t7,T5],T0e),T5],(e,t,n,r,i,a,o,s)=>{if(t){var{type:c}=t,l=M6(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?W4(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(e3):r.domain().map((e,t)=>{var n=r.map(e);return O6(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(e3)}}}),L7=Q([L0e,R0e,H0e],(e,t,n)=>z0e(n.shared,e,t)),B2e=e=>e.tooltip.settings.trigger,R7=e=>e.tooltip.settings.defaultIndex,z7=Q([A7,L7,B2e,R7],s2e),B7=Q([z7,N7,n7,F7],k7),V2e=Q([I7,B7],V0e),H2e=Q([z7],e=>{if(e)return e.dataKey}),U2e=Q([z7],e=>{if(e)return e.graphicalItemId}),W2e=Q([A7,L7,B2e,R7],f2e),G2e=Q([z7,Q([N6,P6,q6,R6,I7,R7,W2e],d2e)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),K2e=Q([z7],e=>e?.active??!1);Q([Q([W2e,B7,t5,n7,V2e,p2e,L7],T2e)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function q2e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J2e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?q2e(Object(n),!0).forEach(function(t){Y2e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q2e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Y2e(e,t,n){return(t=X2e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X2e(e){var t=Z2e(e,`string`);return typeof t==`symbol`?t:t+``}function Z2e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Q2e=()=>d3(t7),$2e=()=>{var e=Q2e(),t=d3(I7),n=d3(z2e);return xJe(!e||!n?void 0:J2e(J2e({},e),{},{scale:n}),t)};function e4e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?e4e(Object(n),!0).forEach(function(t){t4e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):e4e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function t4e(e,t,n){return(t=n4e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n4e(e){var t=r4e(e,`string`);return typeof t==`symbol`?t:t+``}function r4e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var i4e=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},a4e=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,{radius:o}=r;return V7(V7(V7({},r),X8(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,{angle:c}=r;return V7(V7(V7({},r),X8(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function o4e(e,t){var{relativeX:n,relativeY:r}=e;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var s4e=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=0;o<a;o++){var s=o>0?n[o-1]?.coordinate:n[a-1]?.coordinate,c=n[o]?.coordinate,l=o>=a-1?n[0]?.coordinate:n[o+1]?.coordinate,u=void 0;if(!(s==null||c==null||l==null))if(W4(c-s)!==W4(l-c)){var d=[];if(W4(l-c)===W4(i[1]-i[0])){u=l;var f=c+i[1]-i[0];d[0]=Math.min(f,(f+s)/2),d[1]=Math.max(f,(f+s)/2)}else{u=s;var p=l+i[1]-i[0];d[0]=Math.min(c,(p+c)/2),d[1]=Math.max(c,(p+c)/2)}var m=[Math.min(c,(u+c)/2),Math.max(c,(u+c)/2)];if(e>m[0]&&e<=m[1]||e>=d[0]&&e<=d[1])return n[o]?.index}else{var h=Math.min(s,l),g=Math.max(s,l);if(e>(h+c)/2&&e<=(g+c)/2)return n[o]?.index}}else if(t)for(var _=0;_<a;_++){var v=t[_];if(v!=null){var y=t[_+1],b=t[_-1];if(_===0&&y!=null&&e<=(v.coordinate+y.coordinate)/2||_===a-1&&b!=null&&e>(v.coordinate+b.coordinate)/2||_>0&&_<a-1&&b!=null&&y!=null&&e>(v.coordinate+b.coordinate)/2&&e<=(v.coordinate+y.coordinate)/2)return v.index}}return-1},c4e=()=>d3(c5),H7=(e,t)=>t,l4e=(e,t,n)=>n,U7=(e,t,n,r)=>r,u4e=Q(I7,e=>(0,p3.default)(e,e=>e.coordinate)),W7=Q([A7,H7,l4e,U7],s2e),G7=Q([W7,N7,n7,F7],k7),d4e=(e,t,n)=>{if(t!=null){var r=A7(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},f4e=Q([A7,H7,l4e,U7],f2e),K7=Q([N6,P6,q6,R6,I7,U7,f4e],d2e),p4e=Q([W7,K7],(e,t)=>e.coordinate??t),m4e=Q([I7,G7],V0e),h4e=Q([f4e,G7,t5,n7,m4e,p2e,H7],T2e),g4e=Q([W7,G7],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),_4e=(e,t,n,r,i,a,o)=>{if(!(!e||!n||!r||!i)&&o4e(e,o)){var s=s4e(wJe(e,t),a,i,n,r),c=i4e(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},v4e=(e,t,n,r,i,a,o)=>{if(!(!e||!r||!i||!a||!n)){var s=DQe(e,n);if(s){var c=s4e(TJe(s,t),o,a,r,i),l=a4e(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},y4e=(e,t,n,r,i,a,o,s)=>{if(!(!e||!t||!r||!i||!a))return t===`horizontal`||t===`vertical`?_4e(e,t,r,i,a,o,s):v4e(e,t,n,r,i,a,o)},b4e=Q(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),x4e=Q(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(d5));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:S$e}});function S4e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function C4e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?S4e(Object(n),!0).forEach(function(t){w4e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S4e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function w4e(e,t,n){return(t=T4e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T4e(e){var t=E4e(e,`string`);return typeof t==`symbol`?t:t+``}function E4e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var D4e={zIndexMap:Object.values(d5).reduce((e,t)=>C4e(C4e({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},O4e=new Set(Object.values(d5));function k4e(e){return O4e.has(e)}var A4e=h6({name:`zIndex`,initialState:D4e,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:m6()},unregisterZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!k4e(n)&&delete e.zIndexMap[n])},prepare:m6()},registerZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n,element:r,isPanorama:i}=t.payload;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=C8(r):e.zIndexMap[n].element=C8(r):e.zIndexMap[n]={consumers:0,element:i?void 0:C8(r),panoramaElement:i?C8(r):void 0}},prepare:m6()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:m6()}}}),{registerZIndexPortal:j4e,unregisterZIndexPortal:q7,registerZIndexPortalElement:M4e,unregisterZIndexPortalElement:N4e}=A4e.actions,P4e=A4e.reducer;function J7(e){var{zIndex:t,children:n}=e,r=_Ye()&&t!==void 0&&t!==0,i=z6(),a=(0,F.useRef)(void 0),o=(0,F.useRef)(new Set),s=l3(),c=d3(e=>b4e(e,t,i));if((0,F.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{s(q7({zIndex:e}))}),e.clear(),a.current=void 0;return}if(o.current.has(t)||(s(j4e({zIndex:t})),o.current.add(t)),c){a.current=c;var n=o.current;n.forEach(e=>{e!==t&&(s(q7({zIndex:e})),n.delete(e))})}},[s,t,r,c]),(0,F.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{s(q7({zIndex:e}))}),e.clear()}},[s]),!r)return n;var l=c??a.current;return l?(0,Ti.createPortal)(n,l):null}function Y7(){return Y7=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},Y7.apply(null,arguments)}function F4e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function X7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F4e(Object(n),!0).forEach(function(t){I4e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F4e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function I4e(e,t,n){return(t=L4e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L4e(e){var t=R4e(e,`string`);return typeof t==`symbol`?t:t+``}function R4e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function z4e(e){var{cursor:t,cursorComp:n,cursorProps:r}=e;return(0,F.isValidElement)(t)?(0,F.cloneElement)(t,r):(0,F.createElement)(n,r)}function B4e(e){var{coordinate:t,payload:n,index:r,offset:i,tooltipAxisBandSize:a,layout:o,cursor:s,tooltipEventType:c,chartName:l}=e,u=t,d=n,f=r;if(!s||!u||l!==`ScatterChart`&&c!==`axis`)return null;var p,m,h;if(l===`ScatterChart`)p=u,m=pZe,h=d5.cursorLine;else if(l===`BarChart`)p=mZe(o,u,i,a),m=hQe,h=d5.cursorRectangle;else if(o===`radial`&&kWe(u)){var{cx:g,cy:_,radius:v,startAngle:y,endAngle:b}=Z8(u);p={cx:g,cy:_,startAngle:y,endAngle:b,innerRadius:v,outerRadius:v},m=zQe,h=d5.cursorLine}else p={points:BQe(o,u,i)},m=R8,h=d5.cursorLine;var x=typeof s==`object`&&`className`in s?s.className:void 0,S=X7(X7(X7(X7({stroke:`#ccc`,pointerEvents:`none`},i),p),b4(s)),{},{payload:d,payloadIndex:f,className:h4(`recharts-tooltip-cursor`,x)});return F.createElement(J7,{zIndex:e.zIndex??h},F.createElement(z4e,{cursor:s,cursorComp:m,cursorProps:S}))}function V4e(e){var t=$2e(),n=fYe(),r=J6(),i=c4e();return t==null||n==null||r==null||i==null?null:F.createElement(B4e,Y7({},e,{offset:n,layout:r,tooltipAxisBandSize:t,chartName:i}))}var H4e=(0,F.createContext)(null),U4e=()=>(0,F.useContext)(H4e),W4e=i(a(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1).default,Z7=new W4e,Q7=`recharts.syncEvent.tooltip`,G4e=`recharts.syncEvent.brush`,K4e=(e,t)=>{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!G4(n))return e[n]}},q4e=h6({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),J4e=q4e.reducer,{createEventEmitter:Y4e}=q4e.actions;function X4e(e){return e.tooltip.syncInteraction}var Z4e=h6({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){if(e.chartData=C8(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var{startIndex:n,endIndex:r}=t.payload;n!=null&&(e.dataStartIndex=n),r!=null&&(e.dataEndIndex=r)}}}),{setChartData:Q4e,setDataStartEndIndexes:$4e,setComputedData:e3e}=Z4e.actions,t3e=Z4e.reducer,n3e=[`x`,`y`];function r3e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $7(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?r3e(Object(n),!0).forEach(function(t){i3e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r3e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i3e(e,t,n){return(t=a3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a3e(e){var t=o3e(e,`string`);return typeof t==`symbol`?t:t+``}function o3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s3e(e,t){if(e==null)return{};var n,r,i=c3e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function c3e(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 l3e(){var e=d3(l5),t=d3(u5),n=l3(),r=d3(s$e),i=d3(I7),a=J6(),o=K6();(0,F.useEffect)(()=>{if(e==null)return t3;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1){n(E7({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,{x:f,y:p}=d,m=s3e(d,n3e),{x:h,y:g,width:_,height:v}=c.payload.sourceViewBox,y=$7($7({},m),{},{x:o.x+(_?(f-h)/_:0)*o.width,y:o.y+(v?(p-g)/v:0)*o.height});n($7($7({},c),{},{payload:$7($7({},c.payload),{},{coordinate:y})}))}else n(c);return}if(i!=null){var b;typeof r==`function`?b=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(b=i.find(e=>String(e.value)===c.payload.label));var{coordinate:x}=c.payload;if(x==null||o==null){n(E7({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(b==null){n(E7({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var{x:S,y:C}=x,w=Math.min(S,o.x+o.width),T=Math.min(C,o.y+o.height),E={x:a===`horizontal`?b.coordinate:w,y:a===`horizontal`?T:b.coordinate};n(E7({active:c.payload.active,coordinate:E,dataKey:c.payload.dataKey,index:String(b.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}};return Z7.on(Q7,s),()=>{Z7.off(Q7,s)}},[d3(e=>e.rootProps.className),n,t,e,r,i,a,o])}function u3e(){var e=d3(l5),t=d3(u5),n=l3();(0,F.useEffect)(()=>{if(e==null)return t3;var r=(r,i,a)=>{t!==a&&e===r&&n($4e(i))};return Z7.on(G4e,r),()=>{Z7.off(G4e,r)}},[n,t,e])}function d3e(){var e=l3();(0,F.useEffect)(()=>{e(Y4e())},[e]),l3e(),u3e()}function f3e(e,t,n,r,i,a){var o=d3(n=>d4e(n,e,t)),s=d3(U2e),c=d3(u5),l=d3(l5),u=d3(s$e),d=d3(X4e)?.sourceViewBox!=null,f=K6();(0,F.useEffect)(()=>{if(!d&&l!=null&&c!=null){var e=E7({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:f,graphicalItemId:s});Z7.emit(Q7,l,e,c)}},[d,n,o,s,i,r,c,l,u,a,f])}function p3e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function m3e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?p3e(Object(n),!0).forEach(function(t){h3e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p3e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h3e(e,t,n){return(t=g3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g3e(e){var t=_3e(e,`string`);return typeof t==`symbol`?t:t+``}function _3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v3e(e){return e.dataKey}function y3e(e,t){return F.isValidElement(e)?F.cloneElement(e,t):typeof e==`function`?F.createElement(e,t):F.createElement(NXe,t)}var b3e=[],x3e={allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:`ease`,axisId:0,contentStyle:{},cursor:!0,filterNull:!0,includeHidden:!1,isAnimationActive:`auto`,itemSorter:`name`,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:` : `,trigger:`hover`,useTranslate3d:!1,wrapperStyle:{}};function S3e(e){var t=i3(e,x3e),{active:n,allowEscapeViewBox:r,animationDuration:i,animationEasing:a,content:o,filterNull:s,isAnimationActive:c,offset:l,payloadUniqBy:u,position:d,reverseDirection:f,useTranslate3d:p,wrapperStyle:m,cursor:h,shared:g,trigger:_,defaultIndex:v,portal:y,axisId:b}=t,x=l3(),S=typeof v==`number`?String(v):v;(0,F.useEffect)(()=>{x(q0e({shared:g,trigger:_,axisId:b,active:n,defaultIndex:S}))},[x,g,_,b,n,S]);var C=K6(),w=qXe(),T=B0e(g),{activeIndex:E,isActive:D}=d3(e=>g4e(e,T,_,S))??{},O=d3(e=>h4e(e,T,_,S)),k=d3(e=>m4e(e,T,_,S)),A=d3(e=>p4e(e,T,_,S)),ee=O,j=U4e(),M=n??D??!1,[te,ne]=nKe([ee,M]),N=T===`axis`?k:void 0;f3e(T,_,A,N,E,M);var re=y??j;if(re==null||C==null||T==null)return null;var ie=ee??b3e;M||(ie=b3e),s&&ie.length&&(ie=wGe(ie.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),u,v3e));var ae=ie.length>0,oe=m3e(m3e({},t),{},{payload:ie,label:N,active:M,activeIndex:E,coordinate:A,accessibilityLayer:w}),se=F.createElement(KXe,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:c,active:M,coordinate:A,hasPayload:ae,offset:l,position:d,reverseDirection:f,useTranslate3d:p,viewBox:C,wrapperStyle:m,lastBoundingBox:te,innerRef:ne,hasPortalFromProps:!!y},y3e(o,oe));return F.createElement(F.Fragment,null,(0,Ti.createPortal)(se,re),M&&F.createElement(V4e,{cursor:h,tooltipEventType:T,coordinate:A,payload:ie,index:E}))}var e9=e=>null;e9.displayName=`Cell`;function C3e(e,t,n){return(t=w3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w3e(e){var t=T3e(e,`string`);return typeof t==`symbol`?t:t+``}function T3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var E3e=class{constructor(e){C3e(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function D3e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function O3e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?D3e(Object(n),!0).forEach(function(t){k3e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D3e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function k3e(e,t,n){return(t=A3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A3e(e){var t=j3e(e,`string`);return typeof t==`symbol`?t:t+``}function j3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var M3e=O3e({},{cacheSize:2e3,enableCache:!0}),N3e=new E3e(M3e.cacheSize),P3e={position:`absolute`,top:`-20000px`,left:0,padding:0,margin:0,border:`none`,whiteSpace:`pre`},F3e=`recharts_measurement_span`;function I3e(e,t){return`${e}|${t.fontSize||``}|${t.fontFamily||``}|${t.fontWeight||``}|${t.fontStyle||``}|${t.letterSpacing||``}|${t.textTransform||``}`}var L3e=(e,t)=>{try{var n=document.getElementById(F3e);n||(n=document.createElement(`span`),n.setAttribute(`id`,F3e),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,P3e,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},R3e=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||M8.isSsr)return{width:0,height:0};if(!M3e.enableCache)return L3e(e,t);var n=I3e(e,t),r=N3e.get(n);if(r)return r;var i=L3e(e,t);return N3e.set(n,i),i},z3e;function B3e(e,t,n){return(t=V3e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V3e(e){var t=H3e(e,`string`);return typeof t==`symbol`?t:t+``}function H3e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var U3e=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,W3e=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,G3e=/^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/,K3e=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,q3e={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},J3e=[`cm`,`mm`,`pt`,`pc`,`in`,`Q`,`px`];function Y3e(e){return J3e.includes(e)}var t9=`NaN`;function X3e(e,t){return e*q3e[t]}var n9=class e{static parse(t){var[,n,r]=K3e.exec(t)??[];return n==null?e.NaN:new e(parseFloat(n),r??``)}constructor(e,t){this.num=e,this.unit=t,this.num=e,this.unit=t,G4(e)&&(this.unit=``),t!==``&&!G3e.test(t)&&(this.num=NaN,this.unit=``),Y3e(t)&&(this.num=X3e(e,t),this.unit=`px`)}add(t){return this.unit===t.unit?new e(this.num+t.num,this.unit):new e(NaN,``)}subtract(t){return this.unit===t.unit?new e(this.num-t.num,this.unit):new e(NaN,``)}multiply(t){return this.unit!==``&&t.unit!==``&&this.unit!==t.unit?new e(NaN,``):new e(this.num*t.num,this.unit||t.unit)}divide(t){return this.unit!==``&&t.unit!==``&&this.unit!==t.unit?new e(NaN,``):new e(this.num/t.num,this.unit||t.unit)}toString(){return`${this.num}${this.unit}`}isNaN(){return G4(this.num)}};z3e=n9,B3e(n9,`NaN`,new z3e(NaN,``));function Z3e(e){if(e==null||e.includes(t9))return t9;for(var t=e;t.includes(`*`)||t.includes(`/`);){var[,n,r,i]=U3e.exec(t)??[],a=n9.parse(n??``),o=n9.parse(i??``),s=r===`*`?a.multiply(o):a.divide(o);if(s.isNaN())return t9;t=t.replace(U3e,s.toString())}for(;t.includes(`+`)||/.-\d+(?:\.\d+)?/.test(t);){var[,c,l,u]=W3e.exec(t)??[],d=n9.parse(c??``),f=n9.parse(u??``),p=l===`+`?d.add(f):d.subtract(f);if(p.isNaN())return t9;t=t.replace(W3e,p.toString())}return t}var Q3e=/\(([^()]*)\)/;function $3e(e){for(var t=e,n;(n=Q3e.exec(t))!=null;){var[,r]=n;t=t.replace(Q3e,Z3e(r))}return t}function e6e(e){var t=e.replace(/\s+/g,``);return t=$3e(t),t=Z3e(t),t}function t6e(e){try{return e6e(e)}catch{return t9}}function r9(e){var t=t6e(e.slice(5,-1));return t===t9?``:t}var n6e=[`x`,`y`,`lineHeight`,`capHeight`,`fill`,`scaleToFit`,`textAnchor`,`verticalAnchor`],r6e=[`dx`,`dy`,`angle`,`className`,`breakAll`];function i9(){return i9=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},i9.apply(null,arguments)}function i6e(e,t){if(e==null)return{};var n,r,i=a6e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function a6e(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}var o6e=/[ \f\n\r\t\v\u2028\u2029]+/,s6e=e=>{var{children:t,breakAll:n,style:r}=e;try{var i=[];return Q4(t)||(i=n?t.toString().split(``):t.toString().split(o6e)),{wordsWithComputedWidth:i.map(e=>({word:e,width:R3e(e,r).width})),spaceWidth:n?0:R3e(`\xA0`,r).width}}catch{return null}};function c6e(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function l6e(e){return Q4(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var u6e=(e,t,n,r)=>e.reduce((e,i)=>{var{word:a,width:o}=i,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+n<Number(t)))s.words.push(a),s.width+=o+n;else{var c={words:[a],width:o};e.push(c)}return e},[]),d6e=e=>e.reduce((e,t)=>e.width>t.width?e:t),f6e=`…`,p6e=(e,t,n,r,i,a,o,s)=>{var c=s6e({breakAll:n,style:r,children:e.slice(0,t)+f6e});if(!c)return[!1,[]];var l=u6e(c.wordsWithComputedWidth,a,o,s);return[l.length>i||d6e(l).width>Number(a),l]},m6e=(e,t,n,r,i)=>{var{maxLines:a,children:o,style:s,breakAll:c}=e,l=q4(a),u=String(o),d=u6e(t,r,n,i);if(!l||i||!(d.length>a||d6e(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),[_,v]=p6e(u,g-1,c,s,a,r,n,i),[y]=p6e(u,g,c,s,a,r,n,i);if(!_&&!y&&(f=g+1),_&&y&&(p=g-1),!_&&y){h=v;break}m++}return h||d},h6e=e=>[{words:Q4(e)?[]:e.toString().split(o6e),width:void 0}],g6e=e=>{var{width:t,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:o}=e;if((t||n)&&!M8.isSsr){var s,c,l=s6e({breakAll:a,children:r,style:i});if(l){var{wordsWithComputedWidth:u,spaceWidth:d}=l;s=u,c=d}else return h6e(r);return m6e({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return h6e(r)},_6e=`#808080`,v6e={angle:0,breakAll:!1,capHeight:`0.71em`,fill:_6e,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},a9=(0,F.forwardRef)((e,t)=>{var n=i3(e,v6e),{x:r,y:i,lineHeight:a,capHeight:o,fill:s,scaleToFit:c,textAnchor:l,verticalAnchor:u}=n,d=i6e(n,n6e),f=(0,F.useMemo)(()=>g6e({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:c,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,c,d.style,d.width]),{dx:p,dy:m,angle:h,className:g,breakAll:_}=d,v=i6e(d,r6e);if(!J4(r)||!J4(i)||f.length===0)return null;var y=Number(r)+(q4(p)?p:0),b=Number(i)+(q4(m)?m:0);if(!O6(y)||!O6(b))return null;var x;switch(u){case`start`:x=r9(`calc(${o})`);break;case`middle`:x=r9(`calc(${(f.length-1)/2} * -${a} + (${o} / 2))`);break;default:x=r9(`calc(${f.length-1} * -${a})`);break}var S=[],C=f[0];if(c&&C!=null){var w=C.width,{width:T}=d;S.push(`scale(${q4(T)&&q4(w)?T/w:1})`)}return h&&S.push(`rotate(${h}, ${y}, ${b})`),S.length&&(v.transform=S.join(` `)),F.createElement(`text`,i9({},x4(v),{ref:t,x:y,y:b,className:h4(`recharts-text`,g),textAnchor:l,fill:s.includes(`url`)?_6e:s}),f.map((e,t)=>{var n=e.words.join(_?``:` `);return F.createElement(`tspan`,{x:y,dy:t===0?x:a,key:`${n}-${t}`},n)}))});a9.displayName=`Text`;function y6e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?y6e(Object(n),!0).forEach(function(t){b6e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y6e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function b6e(e,t,n){return(t=x6e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x6e(e){var t=S6e(e,`string`);return typeof t==`symbol`?t:t+``}function S6e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var C6e=e=>{var{viewBox:t,position:n,offset:r=0,parentViewBox:i,clamp:a}=e,{x:o,y:s,height:c,upperWidth:l,lowerWidth:u}=G6(t),d=o,f=o+(l-u)/2,p=(d+f)/2,m=(l+u)/2,h=d+l/2,g=c>=0?1:-1,_=g*r,v=g>0?`end`:`start`,y=g>0?`start`:`end`,b=l>=0?1:-1,x=b*r,S=b>0?`end`:`start`,C=b>0?`start`:`end`,w=i;if(n===`top`){var T={x:d+l/2,y:s-_,horizontalAnchor:`middle`,verticalAnchor:v};return a&&w&&(T.height=Math.max(s-w.y,0),T.width=l),T}if(n===`bottom`){var E={x:f+u/2,y:s+c+_,horizontalAnchor:`middle`,verticalAnchor:y};return a&&w&&(E.height=Math.max(w.y+w.height-(s+c),0),E.width=u),E}if(n===`left`){var D={x:p-x,y:s+c/2,horizontalAnchor:S,verticalAnchor:`middle`};return a&&w&&(D.width=Math.max(D.x-w.x,0),D.height=c),D}if(n===`right`){var O={x:p+m+x,y:s+c/2,horizontalAnchor:C,verticalAnchor:`middle`};return a&&w&&(O.width=Math.max(w.x+w.width-O.x,0),O.height=c),O}var k=a&&w?{width:m,height:c}:{};return n===`insideLeft`?o9({x:p+x,y:s+c/2,horizontalAnchor:C,verticalAnchor:`middle`},k):n===`insideRight`?o9({x:p+m-x,y:s+c/2,horizontalAnchor:S,verticalAnchor:`middle`},k):n===`insideTop`?o9({x:d+l/2,y:s+_,horizontalAnchor:`middle`,verticalAnchor:y},k):n===`insideBottom`?o9({x:f+u/2,y:s+c-_,horizontalAnchor:`middle`,verticalAnchor:v},k):n===`insideTopLeft`?o9({x:d+x,y:s+_,horizontalAnchor:C,verticalAnchor:y},k):n===`insideTopRight`?o9({x:d+l-x,y:s+_,horizontalAnchor:S,verticalAnchor:y},k):n===`insideBottomLeft`?o9({x:f+x,y:s+c-_,horizontalAnchor:C,verticalAnchor:v},k):n===`insideBottomRight`?o9({x:f+u-x,y:s+c-_,horizontalAnchor:S,verticalAnchor:v},k):n&&typeof n==`object`&&(q4(n.x)||K4(n.x))&&(q4(n.y)||K4(n.y))?o9({x:o+X4(n.x,m),y:s+X4(n.y,c),horizontalAnchor:`end`,verticalAnchor:`end`},k):o9({x:h,y:s+c/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},k)},w6e=[`labelRef`],T6e=[`content`];function E6e(e,t){if(e==null)return{};var n,r,i=D6e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function D6e(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 O6e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?O6e(Object(n),!0).forEach(function(t){k6e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O6e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function k6e(e,t,n){return(t=A6e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A6e(e){var t=j6e(e,`string`);return typeof t==`symbol`?t:t+``}function j6e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c9(){return c9=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},c9.apply(null,arguments)}var M6e=(0,F.createContext)(null),N6e=()=>{var e=(0,F.useContext)(M6e),t=K6();return e||(t?G6(t):void 0)},P6e=(0,F.createContext)(null),F6e=()=>{var e=(0,F.useContext)(P6e),t=d3(y$e);return e||t},I6e=e=>{var{value:t,formatter:n}=e,r=Q4(e.children)?t:e.children;return typeof n==`function`?n(r):r},L6e=e=>e!=null&&typeof e==`function`,R6e=(e,t)=>W4(t-e)*Math.min(Math.abs(t-e),360),z6e=(e,t,n,r,i)=>{var{offset:a,className:o}=e,{cx:s,cy:c,innerRadius:l,outerRadius:u,startAngle:d,endAngle:f,clockWise:p}=i,m=(l+u)/2,h=R6e(d,f),g=h>=0?1:-1,_,v;switch(t){case`insideStart`:_=d+g*a,v=p;break;case`insideEnd`:_=f-g*a,v=!p;break;case`end`:_=f+g*a,v=p;break;default:throw Error(`Unsupported position ${t}`)}v=h<=0?v:!v;var y=X8(s,c,m,_),b=X8(s,c,m,_+(v?1:-1)*359),x=`M${y.x},${y.y}
|
|
3184
3184
|
A${m},${m},0,1,${+!v},
|
|
3185
|
-
${b.x},${b.y}`,S=Q4(e.id)?Y4(`recharts-radial-line-`):e.id;return F.createElement(`text`,c9({},r,{dominantBaseline:`central`,className:h4(`recharts-radial-bar-label`,o)}),F.createElement(`defs`,null,F.createElement(`path`,{id:S,d:x})),F.createElement(`textPath`,{xlinkHref:`#${S}`},n))},z6e=(e,t,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:o,startAngle:s,endAngle:c}=e,l=(s+c)/2;if(n===`outside`){var{x:u,y:d}=Z8(r,i,o+t,l);return{x:u,y:d,textAnchor:u>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var{x:f,y:p}=Z8(r,i,(a+o)/2,l);return{x:f,y:p,textAnchor:`middle`,verticalAnchor:`middle`}},l9=e=>e!=null&&`cx`in e&&q4(e.cx),B6e={angle:0,offset:5,zIndex:d5.label,position:`middle`,textBreakAll:!1};function V6e(e){if(!l9(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function H6e(e){var t=i3(e,B6e),{viewBox:n,parentViewBox:r,position:i,value:a,children:o,content:s,className:c=``,textBreakAll:l,labelRef:u}=t,d=P6e(),f=M6e(),p=n==null?i===`center`?f:d??f:l9(n)?n:G6(n),m,h,g=V6e(p);if(!p||Q4(a)&&Q4(o)&&!(0,F.isValidElement)(s)&&typeof s!=`function`)return null;var _=s9(s9({},t),{},{viewBox:p});if((0,F.isValidElement)(s)){var{labelRef:v}=_;return(0,F.cloneElement)(s,T6e(_,C6e))}if(typeof s==`function`){var{content:y}=_;if(m=(0,F.createElement)(s,T6e(_,w6e)),(0,F.isValidElement)(m))return m}else m=F6e(t);var b=x4(t);if(l9(p)){if(i===`insideStart`||i===`insideEnd`||i===`end`)return R6e(t,i,m,b,p);h=z6e(p,t.offset,t.position)}else{if(!g)return null;var x=S6e({viewBox:g,position:i,offset:t.offset,parentViewBox:l9(r)?void 0:r,clamp:!0});h=s9(s9({x:x.x,y:x.y,textAnchor:x.horizontalAnchor,verticalAnchor:x.verticalAnchor},x.width===void 0?{}:{width:x.width}),x.height===void 0?{}:{height:x.height})}return F.createElement(J7,{zIndex:t.zIndex},F.createElement(a9,c9({ref:u,className:h4(`recharts-label`,c)},b,h,{textAnchor:s6e(b.textAnchor)?b.textAnchor:h.textAnchor,breakAll:l}),m))}H6e.displayName=`Label`;var U6e=[`valueAccessor`],W6e=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function u9(){return u9=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},u9.apply(null,arguments)}function G6e(e,t){if(e==null)return{};var n,r,i=K6e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function K6e(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}var q6e=e=>{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(c6e(t))return t},J6e=(0,F.createContext)(void 0);J6e.Provider;var Y6e=(0,F.createContext)(void 0),X6e=Y6e.Provider;function Z6e(){return(0,F.useContext)(J6e)}function Q6e(){return(0,F.useContext)(Y6e)}function d9(e){var{valueAccessor:t=q6e}=e,n=G6e(e,U6e),{dataKey:r,clockWise:i,id:a,textBreakAll:o,zIndex:s}=n,c=G6e(n,W6e),l=Z6e(),u=Q6e(),d=l||u;return!d||!d.length?null:F.createElement(J7,{zIndex:s??d5.label},F.createElement(T4,{className:`recharts-label-list`},d.map((e,i)=>{var s=Q4(r)?t(e,i):j6(e.payload,r),l=Q4(a)?{}:{id:`${a}-${i}`};return F.createElement(H6e,u9({key:`label-${i}`},x4(e),c,l,{fill:n.fill??e.fill,parentViewBox:e.parentViewBox,value:s,textBreakAll:o,viewBox:e.viewBox,index:i,zIndex:0}))})))}d9.displayName=`LabelList`;function $6e(e){var{label:t}=e;return t?t===!0?F.createElement(d9,{key:`labelList-implicit`}):F.isValidElement(t)||I6e(t)?F.createElement(d9,{key:`labelList-implicit`,content:t}):typeof t==`object`?F.createElement(d9,u9({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}var e8e=e=>e.graphicalItems.polarItems,f9=Q([e8e,W5,Q([b5,x5],K5)],q5),p9=Q([Q([f9],Y5),n5],X5),t8e=Q([p9,W5,f9],I1e);Q([p9,W5,f9],(e,t,n)=>n.length>0?e.flatMap(e=>n.flatMap(n=>({value:j6(e,t.dataKey??n.dataKey),errorDomain:[]}))).filter(Boolean):t?.dataKey==null?e.map(e=>({value:e,errorDomain:[]})):e.map(e=>({value:j6(e,t.dataKey),errorDomain:[]})));var n8e=()=>void 0,r8e=Q([W5,q6,p9,t8e,s5,b5,Q([W5,i7,a7,n8e,Q([p9,W5,f9,o7,b5,GQe],c7),n8e,q6,b5],u7)],d7);Q([p7,Q([W5,r8e,Q([r8e,G5,p7],m7),b5],g7)],S$e);var i8e=h6({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=C8(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=C8(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),{addRadiusAxis:a8e,removeRadiusAxis:o8e,addAngleAxis:s8e,removeAngleAxis:c8e}=i8e.actions,l8e=i8e.reducer;function u8e(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}function d8e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function f8e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?d8e(Object(n),!0).forEach(function(t){p8e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d8e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function p8e(e,t,n){return(t=m8e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m8e(e){var t=h8e(e,`string`);return typeof t==`symbol`?t:t+``}function h8e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var m9=Q([e8e,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`pie`).find(e=>e.id===t)),g8e=[],h9=(e,t,n)=>n?.length===0?g8e:n,_8e=Q([n5,m9,h9],(e,t,n)=>{var{chartData:r}=e;if(t!=null){var i=t?.data!=null&&t.data.length>0?t.data:r;if((!i||!i.length)&&n!=null&&(i=n.map(e=>f8e(f8e({},t.presentationProps),e.props))),i!=null)return i}}),v8e=Q([_8e,m9,h9],(e,t,n)=>{if(!(e==null||t==null))return e.map((e,r)=>{var i,a=j6(e,t.nameKey,t.name),o=n!=null&&(i=n[r])!=null&&(i=i.props)!=null&&i.fill?n[r].props.fill:typeof e==`object`&&e&&`fill`in e?e.fill:t.fill;return{value:SJe(a,t.dataKey),color:o,payload:e,type:t.legendType}})}),y8e=Q([_8e,m9,h9,R6],(e,t,n,r)=>{if(!(t==null||e==null))return z5e({offset:r,pieSettings:t,displayedData:e,cells:n})}),b8e=a((e=>{(function(){function t(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:switch(e=e.type,e){case i:case o:case a:case u:case d:case m:return e;default:switch(e&&=e.$$typeof,e){case c:case l:case p:case f:return e;case s:return e;default:return t}}case r:return t}}}var n=Symbol.for(`react.transitional.element`),r=Symbol.for(`react.portal`),i=Symbol.for(`react.fragment`),a=Symbol.for(`react.strict_mode`),o=Symbol.for(`react.profiler`),s=Symbol.for(`react.consumer`),c=Symbol.for(`react.context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`),m=Symbol.for(`react.view_transition`),h=Symbol.for(`react.client.reference`);e.ContextConsumer=s,e.ContextProvider=c,e.Element=n,e.ForwardRef=l,e.Fragment=i,e.Lazy=p,e.Memo=f,e.Portal=r,e.Profiler=o,e.StrictMode=a,e.Suspense=u,e.SuspenseList=d,e.isContextConsumer=function(e){return t(e)===s},e.isContextProvider=function(e){return t(e)===c},e.isElement=function(e){return typeof e==`object`&&!!e&&e.$$typeof===n},e.isForwardRef=function(e){return t(e)===l},e.isFragment=function(e){return t(e)===i},e.isLazy=function(e){return t(e)===p},e.isMemo=function(e){return t(e)===f},e.isPortal=function(e){return t(e)===r},e.isProfiler=function(e){return t(e)===o},e.isStrictMode=function(e){return t(e)===a},e.isSuspense=function(e){return t(e)===u},e.isSuspenseList=function(e){return t(e)===d},e.isValidElementType=function(e){return!!(typeof e==`string`||typeof e==`function`||e===i||e===o||e===a||e===u||e===d||typeof e==`object`&&e&&(e.$$typeof===p||e.$$typeof===f||e.$$typeof===c||e.$$typeof===s||e.$$typeof===l||e.$$typeof===h||e.getModuleId!==void 0))},e.typeOf=t})()})),x8e=a(((e,t)=>{t.exports=b8e()}))(),S8e=e=>typeof e==`string`?e:e?e.displayName||e.name||`Component`:``,C8e=null,g9=null,w8e=e=>{if(e===C8e&&Array.isArray(g9))return g9;var t=[];return F.Children.forEach(e,e=>{Q4(e)||((0,x8e.isFragment)(e)?t=t.concat(w8e(e.props.children)):t.push(e))}),g9=t,C8e=e,t};function T8e(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(e=>S8e(e)):[S8e(t)],w8e(e).forEach(e=>{var t=(0,U4.default)(e,`type.displayName`)||(0,U4.default)(e,`type.name`);t&&r.indexOf(t)!==-1&&n.push(e)}),n}var E8e=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){if(typeof e!=`object`||!e)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!==`[object Object]`){let t=e[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${t}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}e.isPlainObject=t})),D8e=a(((e,t)=>{t.exports=E8e().isPlainObject})),O8e,k8e,A8e,j8e,M8e;function N8e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function P8e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?N8e(Object(n),!0).forEach(function(t){F8e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N8e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function F8e(e,t,n){return(t=I8e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I8e(e){var t=L8e(e,`string`);return typeof t==`symbol`?t:t+``}function L8e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _9(){return _9=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},_9.apply(null,arguments)}function v9(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var R8e=(e,t,n,r,i)=>{var a=n-r,o=H4(O8e||=v9([`M `,`,`,``]),e,t);return o+=H4(k8e||=v9([`L `,`,`,``]),e+n,t),o+=H4(A8e||=v9([`L `,`,`,``]),e+n-a/2,t+i),o+=H4(j8e||=v9([`L `,`,`,``]),e+n-a/2-r,t+i),o+=H4(M8e||=v9([`L `,`,`,` Z`]),e,t),o},z8e={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},B8e=e=>{var t=i3(e,z8e),{x:n,y:r,upperWidth:i,lowerWidth:a,height:o,className:s}=t,{animationEasing:c,animationDuration:l,animationBegin:u,isUpdateAnimationActive:d}=t,f=(0,F.useRef)(null),[p,m]=(0,F.useState)(-1),h=(0,F.useRef)(i),g=(0,F.useRef)(a),_=(0,F.useRef)(o),v=(0,F.useRef)(n),y=(0,F.useRef)(r),b=q8(e,`trapezoid-`);if((0,F.useEffect)(()=>{if(f.current&&f.current.getTotalLength)try{var e=f.current.getTotalLength();e&&m(e)}catch{}},[]),n!==+n||r!==+r||i!==+i||a!==+a||o!==+o||i===0&&a===0||o===0)return null;var x=h4(`recharts-trapezoid`,s);if(!d)return F.createElement(`g`,null,F.createElement(`path`,_9({},x4(t),{className:x,d:R8e(n,r,i,a,o)})));var S=h.current,C=g.current,w=_.current,T=v.current,E=y.current,D=`0px ${p===-1?1:p}px`,O=`${p}px ${p}px`,k=bZe([`strokeDasharray`],l,c);return F.createElement(K8,{animationId:b,key:b,canBegin:p>0,duration:l,easing:c,isActive:d,begin:u},e=>{var s=Z4(S,i,e),c=Z4(C,a,e),l=Z4(w,o,e),u=Z4(T,n,e),d=Z4(E,r,e);f.current&&(h.current=s,g.current=c,_.current=l,v.current=u,y.current=d);var p=e>0?{transition:k,strokeDasharray:O}:{strokeDasharray:D};return F.createElement(`path`,_9({},x4(t),{className:x,d:R8e(u,d,s,c,l),ref:f,style:P8e(P8e({},p),t.style)}))})},V8e=i(D8e()),H8e=[`option`,`shapeType`,`activeClassName`,`inActiveClassName`];function U8e(e,t){if(e==null)return{};var n,r,i=W8e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function W8e(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 G8e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function y9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?G8e(Object(n),!0).forEach(function(t){K8e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G8e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function K8e(e,t,n){return(t=q8e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q8e(e){var t=J8e(e,`string`);return typeof t==`symbol`?t:t+``}function J8e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Y8e(e,t){return y9(y9({},t),e)}function X8e(e,t){return e===`symbols`}function Z8e(e){var{shapeType:t,elementProps:n}=e;switch(t){case`rectangle`:return F.createElement(pQe,n);case`trapezoid`:return F.createElement(B8e,n);case`sector`:return F.createElement(RQe,n);case`symbols`:if(X8e(t,n))return F.createElement(r3,n);break;case`curve`:return F.createElement(R8,n);default:return null}}function Q8e(e){return(0,F.isValidElement)(e)?e.props:e}function $8e(e){var{option:t,shapeType:n,activeClassName:r=`recharts-active-shape`,inActiveClassName:i=`recharts-shape`}=e,a=U8e(e,H8e),o;if((0,F.isValidElement)(t))o=(0,F.cloneElement)(t,y9(y9({},a),Q8e(t)));else if(typeof t==`function`)o=t(a,a.index);else if((0,V8e.default)(t)&&typeof t!=`boolean`){var s=Y8e(t,a);o=F.createElement(Z8e,{shapeType:n,elementProps:s})}else{var c=a;o=F.createElement(Z8e,{shapeType:n,elementProps:c})}return a.isActive?F.createElement(T4,{className:r},o):F.createElement(T4,{className:i},o)}var e5e=(e,t,n)=>{var r=l3();return(i,a)=>o=>{e?.(i,a,o),r(q0e({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},t5e=e=>{var t=l3();return(n,r)=>i=>{e?.(n,r,i),t(J0e())}},n5e=(e,t,n)=>{var r=l3();return(i,a)=>o=>{e?.(i,a,o),r(X0e({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function r5e(e){var{tooltipEntrySettings:t}=e,n=l3(),r=z6(),i=(0,F.useRef)(null);return(0,F.useLayoutEffect)(()=>{r||(i.current===null?n(U0e(t)):i.current!==t&&n(W0e({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,F.useLayoutEffect)(()=>()=>{i.current&&=(n(G0e(i.current)),null)},[n]),null}function i5e(e){var{legendPayload:t}=e,n=l3(),r=d3(q6),i=(0,F.useRef)(null);return(0,F.useLayoutEffect)(()=>{r!==`centric`&&r!==`radial`||(i.current===null?n(UYe(t)):i.current!==t&&n(WYe({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,F.useLayoutEffect)(()=>()=>{i.current&&=(n(GYe(i.current)),null)},[n]),null}var a5e=F.useId??(()=>{var[e]=F.useState(()=>Y4(`uid-`));return e});function o5e(e,t){var n=a5e();return t||(e?`${e}-${n}`:n)}var s5e=(0,F.createContext)(void 0),c5e=e=>{var{id:t,type:n,children:r}=e,i=o5e(`recharts-${n}`,t);return F.createElement(s5e.Provider,{value:i},r(i))},l5e=h6({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(C8(t.payload))},prepare:m6()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).cartesianItems.indexOf(C8(n));i>-1&&(e.cartesianItems[i]=C8(r))},prepare:m6()},removeCartesianGraphicalItem:{reducer(e,t){var n=l6(e).cartesianItems.indexOf(C8(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:m6()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(C8(t.payload))},prepare:m6()},removePolarGraphicalItem:{reducer(e,t){var n=l6(e).polarItems.indexOf(C8(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:m6()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).polarItems.indexOf(C8(n));i>-1&&(e.polarItems[i]=C8(r))},prepare:m6()}}}),{addCartesianGraphicalItem:u5e,replaceCartesianGraphicalItem:d5e,removeCartesianGraphicalItem:f5e,addPolarGraphicalItem:p5e,removePolarGraphicalItem:m5e,replacePolarGraphicalItem:h5e}=l5e.actions,g5e=l5e.reducer,_5e=(0,F.memo)(e=>{var t=l3(),n=(0,F.useRef)(null);return(0,F.useLayoutEffect)(()=>{n.current===null?t(p5e(e)):n.current!==e&&t(h5e({prev:n.current,next:e})),n.current=e},[t,e]),(0,F.useLayoutEffect)(()=>()=>{n.current&&=(t(m5e(n.current)),null)},[t]),null}),v5e=[`key`],y5e=[`onMouseEnter`,`onClick`,`onMouseLeave`],b5e=[`id`],x5e=[`id`];function b9(){return b9=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},b9.apply(null,arguments)}function x9(e,t){if(e==null)return{};var n,r,i=S5e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function S5e(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 C5e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function S9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?C5e(Object(n),!0).forEach(function(t){w5e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C5e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function w5e(e,t,n){return(t=T5e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T5e(e){var t=E5e(e,`string`);return typeof t==`symbol`?t:t+``}function E5e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function D5e(e){var t=(0,F.useMemo)(()=>T8e(e.children,e9),[e.children]),n=d3(n=>v8e(n,e.id,t));return n==null?null:F.createElement(i5e,{legendPayload:n})}function O5e(e){if(!(e==null||typeof e==`boolean`||typeof e==`function`)){if(F.isValidElement(e)){var t=e.props?.fill;return typeof t==`string`?t:void 0}var{fill:n}=e;return typeof n==`string`?n:void 0}}var k5e=F.memo(e=>{var{dataKey:t,nameKey:n,sectors:r,stroke:i,strokeWidth:a,fill:o,name:s,hide:c,tooltipType:l,id:u,activeShape:d}=e,f=O5e(d),p={dataDefinedOnItem:r.map(e=>{var t=e.tooltipPayload;return f==null||t==null?t:t.map(e=>S9(S9({},e),{},{color:f,fill:f}))}),getPosition:e=>r[Number(e)]?.tooltipPosition,settings:{stroke:i,strokeWidth:a,fill:o,dataKey:t,nameKey:n,name:SJe(s,t),hide:c,type:l,color:o,unit:``,graphicalItemId:u}};return F.createElement(r5e,{tooltipEntrySettings:p})}),A5e=(e,t)=>e>t?`start`:e<t?`end`:`middle`,j5e=(e,t,n)=>X4(typeof t==`function`?t(e):t,n,n*.8),M5e=(e,t,n)=>{var{top:r,left:i,width:a,height:o}=t,s=bQe(a,o);return{cx:i+X4(e.cx,a,a/2),cy:r+X4(e.cy,o,o/2),innerRadius:X4(e.innerRadius,s,0),outerRadius:j5e(n,e.outerRadius,s),maxRadius:e.maxRadius||Math.sqrt(a*a+o*o)/2}},N5e=(e,t)=>W4(t-e)*Math.min(Math.abs(t-e),360),P5e=(e,t)=>{if(F.isValidElement(e))return F.cloneElement(e,t);if(typeof e==`function`)return e(t);var n=h4(`recharts-pie-label-line`,typeof e==`boolean`?``:e.className),{key:r}=t,i=x9(t,v5e);return F.createElement(R8,b9({},i,{type:`linear`,className:n}))},F5e=(e,t,n)=>{if(F.isValidElement(e))return F.cloneElement(e,t);var r=n;if(typeof e==`function`&&(r=e(t),F.isValidElement(r)))return r;var i=h4(`recharts-pie-label-text`,u8e(e));return F.createElement(a9,b9({},t,{alignmentBaseline:`middle`,className:i}),r)};function I5e(e){var{sectors:t,props:n,showLabels:r}=e,{label:i,labelLine:a,dataKey:o}=n;if(!r||!i||!t)return null;var s=y4(n),c=b4(i),l=b4(a),u=typeof i==`object`&&`offsetRadius`in i&&typeof i.offsetRadius==`number`&&i.offsetRadius||20,d=t.map((e,t)=>{var n=(e.startAngle+e.endAngle)/2,r=Z8(e.cx,e.cy,e.outerRadius+u,n),d=S9(S9(S9(S9({},s),e),{},{stroke:`none`},c),{},{index:t,textAnchor:A5e(r.x,e.cx)},r),f=S9(S9(S9(S9({},s),e),{},{fill:`none`,stroke:e.fill},l),{},{index:t,points:[Z8(e.cx,e.cy,e.outerRadius,n),r],key:`line`});return F.createElement(J7,{zIndex:d5.label,key:`label-${e.startAngle}-${e.endAngle}-${e.midAngle}-${t}`},F.createElement(T4,null,a&&P5e(a,f),F5e(i,d,j6(e,o))))});return F.createElement(T4,{className:`recharts-pie-labels`},d)}function L5e(e){var{sectors:t,props:n,showLabels:r}=e,{label:i}=n;return typeof i==`object`&&i&&`position`in i?F.createElement($6e,{label:i}):F.createElement(I5e,{sectors:t,props:n,showLabels:r})}function R5e(e){var{sectors:t,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:a,id:o}=e,s=d3(B7),c=d3(V2e),l=d3(H2e),{onMouseEnter:u,onClick:d,onMouseLeave:f}=i,p=x9(i,y5e),m=e5e(u,i.dataKey,o),h=t5e(f),g=n5e(d,i.dataKey,o);return t==null||t.length===0?null:F.createElement(F.Fragment,null,t.map((e,u)=>{if(e?.startAngle===0&&e?.endAngle===0&&t.length!==1)return null;var d=l==null||l===o,f=String(u)===s&&(c==null||i.dataKey===c)&&d,_=n&&f?n:s?r:null,v=S9(S9({},e),{},{stroke:e.stroke,tabIndex:-1,[DJe]:u,[OJe]:o});return F.createElement(T4,b9({key:`sector-${e?.startAngle}-${e?.endAngle}-${e.midAngle}-${u}`,tabIndex:-1,className:`recharts-pie-sector`},jWe(p,e,u),{onMouseEnter:m(e,u),onMouseLeave:h(e,u),onClick:g(e,u)}),F.createElement($8e,b9({option:a??_,index:u,shapeType:`sector`,isActive:f},v)))}))}function z5e(e){var{pieSettings:t,displayedData:n,cells:r,offset:i}=e,{cornerRadius:a,startAngle:o,endAngle:s,dataKey:c,nameKey:l,tooltipType:u}=t,d=Math.abs(t.minAngle),f=N5e(o,s),p=Math.abs(f),m=n.length<=1?0:t.paddingAngle??0,h=n.filter(e=>j6(e,c,0)!==0).length,g=(p>=360?h:h-1)*m,_=n.reduce((e,t)=>{var n=j6(t,c,0);return e+(q4(n)?n:0)},0),v=d>0&&_>0&&n.some(e=>{var t=j6(e,c,0),n=(q4(t)?t:0)/_;return t!==0&&n*p<d})?d:0,y=p-h*v-g,b;if(_>0){var x;b=n.map((e,n)=>{var s=j6(e,c,0),d=j6(e,l,n),p=M5e(t,i,e),h=(q4(s)?s:0)/_,g,b=S9(S9({},e),r&&r[n]&&r[n].props),S=b!=null&&`fill`in b&&typeof b.fill==`string`?b.fill:t.fill;g=n?x.endAngle+W4(f)*m*(s===0?0:1):o;var C=g+W4(f)*((s===0?0:v)+h*y),w=(g+C)/2,T=(p.innerRadius+p.outerRadius)/2,E=[{name:d,value:s,payload:b,dataKey:c,type:u,color:S,fill:S,graphicalItemId:t.id}],D=Z8(p.cx,p.cy,T,w);return x=S9(S9(S9(S9({},t.presentationProps),{},{percent:h,cornerRadius:typeof a==`string`?parseFloat(a):a,name:d,tooltipPayload:E,midAngle:w,middleRadius:T,tooltipPosition:D},b),p),{},{value:s,dataKey:c,startAngle:g,endAngle:C,payload:b,paddingAngle:s===0?0:W4(f)*m}),x})}return b}function B5e(e){var{showLabels:t,sectors:n,children:r}=e,i=(0,F.useMemo)(()=>!t||!n?[]:n.map(e=>({value:e.value,payload:e.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:e.cx,cy:e.cy,innerRadius:e.innerRadius,outerRadius:e.outerRadius,startAngle:e.startAngle,endAngle:e.endAngle,clockWise:!1},fill:e.fill})),[n,t]);return F.createElement(X6e,{value:t?i:void 0},r)}function V5e(e){var{props:t,previousSectorsRef:n,id:r}=e,{sectors:i,isAnimationActive:a,animationBegin:o,animationDuration:s,animationEasing:c,activeShape:l,inactiveShape:u,onAnimationStart:d,onAnimationEnd:f}=t,p=q8(t,`recharts-pie-`),m=n.current,[h,g]=(0,F.useState)(!1),_=(0,F.useCallback)(()=>{typeof f==`function`&&f(),g(!1)},[f]),v=(0,F.useCallback)(()=>{typeof d==`function`&&d(),g(!0)},[d]);return F.createElement(B5e,{showLabels:!h,sectors:i},F.createElement(K8,{animationId:p,begin:o,duration:s,isActive:a,easing:c,onAnimationStart:v,onAnimationEnd:_,key:p},e=>{var a=[],o=(i&&i[0])?.startAngle??0;return i?.forEach((t,n)=>{var r=m&&m[n],i=n>0?(0,U4.default)(t,`paddingAngle`,0):0;if(r){var s=Z4(r.endAngle-r.startAngle,t.endAngle-t.startAngle,e),c=S9(S9({},t),{},{startAngle:o+i,endAngle:o+s+i});a.push(c),o=c.endAngle}else{var{endAngle:l,startAngle:u}=t,d=Z4(0,l-u,e),f=S9(S9({},t),{},{startAngle:o+i,endAngle:o+d+i});a.push(f),o=f.endAngle}}),n.current=a,F.createElement(T4,null,F.createElement(R5e,{sectors:a,activeShape:l,inactiveShape:u,allOtherPieProps:t,shape:t.shape,id:r}))}),F.createElement(L5e,{showLabels:!h,sectors:i,props:t}),t.children)}var H5e={animationBegin:400,animationDuration:1500,animationEasing:`ease`,cx:`50%`,cy:`50%`,dataKey:`value`,endAngle:360,fill:`#808080`,hide:!1,innerRadius:0,isAnimationActive:`auto`,label:!1,labelLine:!0,legendType:`rect`,minAngle:0,nameKey:`name`,outerRadius:`80%`,paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:`#fff`,zIndex:d5.area};function U5e(e){var{id:t}=e,n=x9(e,b5e),{hide:r,className:i,rootTabIndex:a}=e,o=(0,F.useMemo)(()=>T8e(e.children,e9),[e.children]),s=d3(e=>y8e(e,t,o)),c=(0,F.useRef)(null),l=h4(`recharts-pie`,i);return r||s==null?(c.current=null,F.createElement(T4,{tabIndex:a,className:l})):F.createElement(J7,{zIndex:e.zIndex},F.createElement(k5e,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:s,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:t,activeShape:e.activeShape}),F.createElement(T4,{tabIndex:a,className:l},F.createElement(V5e,{props:S9(S9({},n),{},{sectors:s}),previousSectorsRef:c,id:t})))}function W5e(e){var t=i3(e,H5e),{id:n}=t,r=x9(t,x5e),i=y4(r);return F.createElement(c5e,{id:n,type:`pie`},e=>F.createElement(F.Fragment,null,F.createElement(_5e,{type:`pie`,id:e,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:t.maxRadius}),F.createElement(D5e,b9({},r,{id:e})),F.createElement(U5e,b9({},r,{id:e}))))}var C9=W5e;C9.displayName=`Pie`;function G5e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K5e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?G5e(Object(n),!0).forEach(function(t){q5e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G5e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function q5e(e,t,n){return(t=J5e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J5e(e){var t=Y5e(e,`string`);return typeof t==`symbol`?t:t+``}function Y5e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var X5e=h6({name:`cartesianAxis`,initialState:{xAxis:{},yAxis:{},zAxis:{}},reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=C8(t.payload)},prepare:m6()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.xAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=C8(r))},prepare:m6()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:m6()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=C8(t.payload)},prepare:m6()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.yAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=C8(r))},prepare:m6()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:m6()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=C8(t.payload)},prepare:m6()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.zAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=C8(r))},prepare:m6()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:m6()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,i=e.yAxis[n];if(i){var a=i.widthHistory||[];if(a.length===3&&a[0]===a[2]&&r===a[1]&&r!==i.width&&Math.abs(r-(a[0]??0))<=1)return;var o=[...a,r].slice(-3);e.yAxis[n]=K5e(K5e({},i),{},{width:r,widthHistory:o})}}}}),{addXAxis:Z5e,replaceXAxis:Q5e,removeXAxis:$5e,addYAxis:e7e,replaceYAxis:t7e,removeYAxis:n7e,addZAxis:r7e,replaceZAxis:i7e,removeZAxis:a7e,updateYAxisWidth:o7e}=X5e.actions,s7e=X5e.reducer,c7e=Q([Q([R6],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),N6,P6],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),l7e=()=>d3(c7e),u7e=e=>{var{chartData:t}=e,n=l3(),r=z6();return(0,F.useEffect)(()=>r?()=>{}:(n(Z4e(t)),()=>{n(Z4e(void 0))}),[t,n,r]),null},d7e={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},f7e=h6({name:`brush`,initialState:d7e,reducers:{setBrushSettings(e,t){return t.payload==null?d7e:t.payload}}}),{setBrushSettings:p7e}=f7e.actions,m7e=f7e.reducer,h7e=h6({name:`referenceElements`,initialState:{dots:[],areas:[],lines:[]},reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=l6(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=l6(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(C8(t.payload))},removeLine:(e,t)=>{var n=l6(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:g7e,removeDot:_7e,addArea:v7e,removeArea:y7e,addLine:b7e,removeLine:x7e}=h7e.actions,S7e=h7e.reducer,C7e=(0,F.createContext)(void 0),w7e=e=>{var{children:t}=e,[n]=(0,F.useState)(`${Y4(`recharts`)}-clip`),r=l7e();if(r==null)return null;var{x:i,y:a,width:o,height:s}=r;return F.createElement(C7e.Provider,{value:n},F.createElement(`defs`,null,F.createElement(`clipPath`,{id:n},F.createElement(`rect`,{x:i,y:a,height:s,width:o}))),t)},T7e=h6({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:i}=t.payload;e[n][r]=C8(i)},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:E7e,removeRenderedTicks:D7e}=T7e.actions,O7e=T7e.reducer,k7e=h6({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(e=>e.dataKey===r.dataKey&&e.direction===r.direction?i:e))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(e=>e.dataKey!==r.dataKey||e.direction!==r.direction))}}}),{addErrorBar:A7e,replaceErrorBar:j7e,removeErrorBar:M7e}=k7e.actions,N7e=k7e.reducer,w9=Q([(e,t)=>t,q6,v$e,T5,L2e,I7,l4e,R6],v4e);function P7e(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function T9(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(P7e(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var F7e=u6(`mouseClick`),I7e=D6();I7e.startListening({actionCreator:F7e,effect:(e,t)=>{var n=e.payload,r=w9(t.getState(),T9(n));r?.activeIndex!=null&&t.dispatch(Q0e({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var E9=u6(`mouseMove`),L7e=D6(),D9=null,O9=null,k9=null;L7e.startListening({actionCreator:E9,effect:(e,t)=>{var n=e.payload,{throttleDelay:r,throttledEvents:i}=t.getState().eventSettings,a=i===`all`||i?.includes(`mousemove`);D9!==null&&(cancelAnimationFrame(D9),D9=null),O9!==null&&(typeof r!=`number`||!a)&&(clearTimeout(O9),O9=null),k9=T9(n);var o=()=>{var e=t.getState(),n=w7(e,e.tooltip.settings.shared);if(!k9){D9=null,O9=null;return}if(n===`axis`){var r=w9(e,k9);r?.activeIndex==null?t.dispatch(Y0e()):t.dispatch(Z0e({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}D9=null,O9=null};if(!a){o();return}r===`raf`?D9=requestAnimationFrame(o):typeof r==`number`&&O9===null&&(O9=setTimeout(o,r))}});function R7e(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<<CHILDREN>>`:t}var z7e={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},B7e=h6({name:`rootProps`,initialState:z7e,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??z7e.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),V7e=B7e.reducer,{updateOptions:H7e}=B7e.actions,U7e=h6({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}}),{updatePolarOptions:W7e}=U7e.actions,G7e=U7e.reducer,K7e=u6(`keyDown`),q7e=u6(`focus`),J7e=u6(`blur`),A9=D6(),j9=null,M9=null,N9=null;A9.startListening({actionCreator:K7e,effect:(e,t)=>{N9=e.payload,j9!==null&&(cancelAnimationFrame(j9),j9=null);var{throttleDelay:n,throttledEvents:r}=t.getState().eventSettings,i=r===`all`||r.includes(`keydown`);M9!==null&&(typeof n!=`number`||!i)&&(clearTimeout(M9),M9=null);var a=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var{keyboardInteraction:n}=e.tooltip,r=N9;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=k7(n,N7(e),n7(e),F7(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=I7(e),c=N7(e),l=w7(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=K7(e,l,`hover`,String(n.index));t.dispatch(D7({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=F0e(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=n7(e),h=F7(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v<c.length;v++)if(k7(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(k7(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=K7(e,l,`hover`,String(p));t.dispatch(D7({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{j9=null,M9=null}};if(!i){a();return}n===`raf`?j9=requestAnimationFrame(a):typeof n==`number`&&M9===null&&(a(),N9=null,M9=setTimeout(()=>{N9?a():(M9=null,j9=null)},n))}}),A9.startListening({actionCreator:q7e,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var{keyboardInteraction:r}=n.tooltip;if(!r.active&&r.index==null){var i=`0`,a=K7(n,w7(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(D7({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),A9.startListening({actionCreator:J7e,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var{keyboardInteraction:r}=n.tooltip;r.active&&t.dispatch(D7({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function Y7e(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var P9=u6(`externalEvent`),X7e=D6(),F9=new Map,I9=new Map,L9=new Map;X7e.startListening({actionCreator:P9,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){var i=r.type,a=Y7e(r);L9.set(i,{handler:n,reactEvent:a});var o=F9.get(i);o!==void 0&&(cancelAnimationFrame(o),F9.delete(i));var{throttleDelay:s,throttledEvents:c}=t.getState().eventSettings,l=c,u=l===`all`||l?.includes(i),d=I9.get(i);d!==void 0&&(typeof s!=`number`||!u)&&(clearTimeout(d),I9.delete(i));var f=()=>{var e=L9.get(i);try{if(!e)return;var{handler:n,reactEvent:r}=e,a=t.getState(),o={activeCoordinate:W2e(a),activeDataKey:V2e(a),activeIndex:B7(a),activeLabel:B2e(a),activeTooltipIndex:B7(a),isTooltipActive:G2e(a)};n&&n(o,r)}finally{F9.delete(i),I9.delete(i),L9.delete(i)}};if(!u){f();return}if(s===`raf`){var p=requestAnimationFrame(f);F9.set(i,p)}else if(typeof s==`number`){if(!I9.has(i)){f();var m=setTimeout(f,s);I9.set(i,m)}}else f()}}});var Z7e=Q([Q([A7],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var{getPosition:i}=r;if(i!=null)return i(t)}}}),Q7e=u6(`touchMove`),$7e=D6(),R9=null,z9=null,e9e=null,B9=null;$7e.startListening({actionCreator:Q7e,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){B9=Y7e(n);var{throttleDelay:r,throttledEvents:i}=t.getState().eventSettings,a=i===`all`||i.includes(`touchmove`);R9!==null&&(cancelAnimationFrame(R9),R9=null),z9!==null&&(typeof r!=`number`||!a)&&(clearTimeout(z9),z9=null),e9e=Array.from(n.touches).map(e=>T9({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var o=()=>{if(B9!=null){var e=t.getState(),n=w7(e,e.tooltip.settings.shared);if(n===`axis`){var r=e9e?.[0];if(r==null){R9=null,z9=null;return}var i=w9(e,r);i?.activeIndex!=null&&t.dispatch(Z0e({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=B9.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(DJe),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=M7(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var{dataKey:u}=l,d=Z7e(e,s,c);t.dispatch(q0e({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}R9=null,z9=null}};if(!a){o();return}r===`raf`?R9=requestAnimationFrame(o):typeof r==`number`&&z9===null&&(o(),B9=null,z9=setTimeout(()=>{B9?o():(z9=null,R9=null)},r))}}});var t9e={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},n9e=h6({name:`eventSettings`,initialState:t9e,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=C8(t.payload.throttledEvents))}}}),{setEventSettings:r9e}=n9e.actions,i9e=n9e.reducer,a9e=dKe({brush:m7e,cartesianAxis:s7e,chartData:e3e,errorBars:N7e,eventSettings:i9e,graphicalItems:g5e,layout:oJe,legend:KYe,options:q4e,polarAxis:l8e,polarOptions:G7e,referenceElements:S7e,renderedTicks:O7e,rootProps:V7e,tooltip:$0e,zIndex:N4e}),o9e=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return _qe({reducer:a9e,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([I7e.middleware,L7e.middleware,A9.middleware,X7e.middleware,$7e.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(hqe({type:`raf`}))},devTools:M8.devToolsEnabled&&{serialize:{replacer:R7e},name:`recharts-${t}`}})};function s9e(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,i=z6(),a=(0,F.useRef)(null);if(i)return n;a.current??=o9e(t,r);var o=c3;return F.createElement(cXe,{context:o,store:a.current},n)}function c9e(e){var{layout:t,margin:n}=e,r=l3(),i=z6();return(0,F.useEffect)(()=>{i||(r(rJe(t)),r(nJe(n)))},[r,i,t,n]),null}var l9e=(0,F.memo)(c9e,w8);function u9e(e){var t=l3();return(0,F.useEffect)(()=>{t(H7e(e))},[t,e]),null}var d9e=(0,F.memo)(e=>{var t=l3();return(0,F.useEffect)(()=>{t(r9e(e))},[t,e]),null},w8);function f9e(e){var{zIndex:t,isPanorama:n}=e,r=(0,F.useRef)(null),i=l3();return(0,F.useLayoutEffect)(()=>(r.current&&i(j4e({zIndex:t,element:r.current,isPanorama:n})),()=>{i(M4e({zIndex:t,isPanorama:n}))}),[i,t,n]),F.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function p9e(e){var{children:t,isPanorama:n}=e,r=d3(b4e);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return F.createElement(F.Fragment,null,i.map(e=>F.createElement(f9e,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>F.createElement(f9e,{key:e,zIndex:e,isPanorama:n})))}var m9e=[`children`];function h9e(e,t){if(e==null)return{};var n,r,i=g9e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function g9e(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 V9(){return V9=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},V9.apply(null,arguments)}var _9e={width:`100%`,height:`100%`,display:`block`},v9e=(0,F.forwardRef)((e,t)=>{var n=fYe(),r=pYe(),i=KXe();if(!k6(n)||!k6(r))return null;var{children:a,otherAttributes:o,title:s,desc:c}=e,l,u;return o!=null&&(l=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,u=typeof o.role==`string`?o.role:i?`application`:void 0),F.createElement(C4,V9({},o,{title:s,desc:c,role:u,tabIndex:l,width:n,height:r,style:_9e,ref:t}),a)}),y9e=e=>{var{children:t}=e,n=d3(V6);if(!n)return null;var{width:r,height:i,y:a,x:o}=n;return F.createElement(C4,{width:r,height:i,x:o,y:a},t)},b9e=(0,F.forwardRef)((e,t)=>{var{children:n}=e,r=h9e(e,m9e);return z6()?F.createElement(y9e,null,F.createElement(p9e,{isPanorama:!0},n)):F.createElement(v9e,V9({ref:t},r),F.createElement(p9e,{isPanorama:!1},n))});function x9e(){var e=l3(),[t,n]=(0,F.useState)(null),r=d3(TJe);return(0,F.useEffect)(()=>{if(t!=null){var n=t.getBoundingClientRect().width/t.offsetWidth;O6(n)&&n!==r&&e(aJe(n))}},[t,e,r]),n}function S9e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function C9e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?S9e(Object(n),!0).forEach(function(t){w9e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S9e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function w9e(e,t,n){return(t=T9e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T9e(e){var t=E9e(e,`string`);return typeof t==`symbol`?t:t+``}function E9e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function H9(){return H9=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},H9.apply(null,arguments)}var D9e=()=>(u3e(),null);function U9(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var O9e=(0,F.forwardRef)((e,t)=>{var n=(0,F.useRef)(null),[r,i]=(0,F.useState)({containerWidth:U9(e.style?.width),containerHeight:U9(e.style?.height)}),a=(0,F.useCallback)((e,t)=>{i(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),o=(0,F.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var{width:r,height:i}=e.getBoundingClientRect();a(r,i);var o=new ResizeObserver(e=>{var t=e[0];if(t!=null){var{width:n,height:r}=t.contentRect;a(n,r)}});o.observe(e),n.current=o}},[t,a]);return(0,F.useEffect)(()=>()=>{n.current?.disconnect()},[a]),F.createElement(F.Fragment,null,F.createElement(Y6,{width:r.containerWidth,height:r.containerHeight}),F.createElement(`div`,H9({ref:o},e)))}),k9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r}=e,[i,a]=(0,F.useState)({containerWidth:U9(n),containerHeight:U9(r)}),o=(0,F.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),s=(0,F.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var{width:n,height:r}=e.getBoundingClientRect();o(n,r)}},[t,o]);return F.createElement(F.Fragment,null,F.createElement(Y6,{width:i.containerWidth,height:i.containerHeight}),F.createElement(`div`,H9({ref:s},e)))}),A9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r}=e;return F.createElement(F.Fragment,null,F.createElement(Y6,{width:n,height:r}),F.createElement(`div`,H9({ref:t},e)))}),j9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r}=e;return typeof n==`string`||typeof r==`string`?F.createElement(k9e,H9({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?F.createElement(A9e,H9({},e,{width:n,height:r,ref:t})):F.createElement(F.Fragment,null,F.createElement(Y6,{width:n,height:r}),F.createElement(`div`,H9({ref:t},e)))});function M9e(e){return e?O9e:j9e}var N9e=(0,F.forwardRef)((e,t)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:o,onDoubleClick:s,onMouseDown:c,onMouseEnter:l,onMouseLeave:u,onMouseMove:d,onMouseUp:f,onTouchEnd:p,onTouchMove:m,onTouchStart:h,style:g,width:_,responsive:v,dispatchTouchEvents:y=!0}=e,b=(0,F.useRef)(null),x=l3(),[S,C]=(0,F.useState)(null),[w,T]=(0,F.useState)(null),E=x9e(),D=W6(),O=D?.width>0?D.width:_,k=D?.height>0?D.height:i,A=(0,F.useCallback)(e=>{E(e),typeof t==`function`&&t(e),C(e),T(e),e!=null&&(b.current=e)},[E,t,C,T]),ee=(0,F.useCallback)(e=>{x(F7e(e)),x(P9({handler:a,reactEvent:e}))},[x,a]),j=(0,F.useCallback)(e=>{x(E9(e)),x(P9({handler:l,reactEvent:e}))},[x,l]),M=(0,F.useCallback)(e=>{x(Y0e()),x(P9({handler:u,reactEvent:e}))},[x,u]),te=(0,F.useCallback)(e=>{x(E9(e)),x(P9({handler:d,reactEvent:e}))},[x,d]),ne=(0,F.useCallback)(()=>{x(q7e())},[x]),N=(0,F.useCallback)(()=>{x(J7e())},[x]),re=(0,F.useCallback)(e=>{x(K7e(e.key))},[x]),ie=(0,F.useCallback)(e=>{x(P9({handler:o,reactEvent:e}))},[x,o]),ae=(0,F.useCallback)(e=>{x(P9({handler:s,reactEvent:e}))},[x,s]),oe=(0,F.useCallback)(e=>{x(P9({handler:c,reactEvent:e}))},[x,c]),se=(0,F.useCallback)(e=>{x(P9({handler:f,reactEvent:e}))},[x,f]),ce=(0,F.useCallback)(e=>{x(P9({handler:h,reactEvent:e}))},[x,h]),le=(0,F.useCallback)(e=>{y&&x(Q7e(e)),x(P9({handler:m,reactEvent:e}))},[x,y,m]),ue=(0,F.useCallback)(e=>{x(P9({handler:p,reactEvent:e}))},[x,p]),de=M9e(v);return F.createElement(V4e.Provider,{value:S},F.createElement(E4.Provider,{value:w},F.createElement(de,{width:O??g?.width,height:k??g?.height,className:h4(`recharts-wrapper`,r),style:C9e({position:`relative`,cursor:`default`,width:O,height:k},g),onClick:ee,onContextMenu:ie,onDoubleClick:ae,onFocus:ne,onBlur:N,onKeyDown:re,onMouseDown:oe,onMouseEnter:j,onMouseLeave:M,onMouseMove:te,onMouseUp:se,onTouchEnd:ue,onTouchMove:le,onTouchStart:ce,ref:A},F.createElement(D9e,null),n)))}),P9e=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function F9e(e,t){if(e==null)return{};var n,r,i=I9e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function I9e(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}var L9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r,responsive:i,children:a,className:o,style:s,compact:c,title:l,desc:u}=e,d=y4(F9e(e,P9e));return c?F.createElement(F.Fragment,null,F.createElement(Y6,{width:n,height:r}),F.createElement(b9e,{otherAttributes:d,title:l,desc:u},a)):F.createElement(N9e,{className:o,style:s,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},F.createElement(b9e,{otherAttributes:d,title:l,desc:u,ref:t},F.createElement(w7e,null,a)))});function R9e(e){var t=l3();return(0,F.useEffect)(()=>{t(W7e(e))},[t,e]),null}var z9e=[`layout`];function W9(){return W9=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},W9.apply(null,arguments)}function B9e(e,t){if(e==null)return{};var n,r,i=V9e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function V9e(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 H9e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function U9e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?H9e(Object(n),!0).forEach(function(t){W9e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H9e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function W9e(e,t,n){return(t=G9e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function G9e(e){var t=K9e(e,`string`);return typeof t==`symbol`?t:t+``}function K9e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var q9e=U9e({accessibilityLayer:!0,stackOffset:`none`,barCategoryGap:`10%`,barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:`index`,layout:`radial`,responsive:!1,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`},t9e),J9e=(0,F.forwardRef)(function(e,t){var n=i3(e.categoricalChartProps,q9e),{layout:r}=n,i=B9e(n,z9e),{chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:s,tooltipPayloadSearcher:c}=e,l={chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:s,tooltipPayloadSearcher:c,eventEmitter:void 0};return F.createElement(s9e,{preloadedState:{options:l},reduxStoreName:n.id??a},F.createElement(u7e,{chartData:n.data}),F.createElement(l9e,{layout:r,margin:n.margin}),F.createElement(d9e,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),F.createElement(u9e,{baseValue:void 0,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),F.createElement(R9e,{cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius}),F.createElement(L9e,W9({},i,{ref:t})))});function Y9e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function X9e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Y9e(Object(n),!0).forEach(function(t){Z9e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Y9e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Z9e(e,t,n){return(t=Q9e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q9e(e){var t=$9e(e,`string`);return typeof t==`symbol`?t:t+``}function $9e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var eet=[`item`],tet=X9e(X9e({},q9e),{},{layout:`centric`,startAngle:0,endAngle:360}),net=(0,F.forwardRef)((e,t)=>{var n=i3(e,tet);return F.createElement(J9e,{chartName:`PieChart`,defaultTooltipEventType:`item`,validateTooltipEventTypes:eet,tooltipPayloadSearcher:G4e,categoricalChartProps:n,ref:t})}),G9=`/home/diogenes/Projects/keating/web/src/components/UsageCharts.tsx`,ret=[`#6366f1`,`#22c55e`,`#f97316`,`#ec4899`,`#06b6d4`,`#a855f7`,`#eab308`,`#14b8a6`,`#ef4444`,`#3b82f6`,`#84cc16`,`#f43f5e`,`#0ea5e9`,`#d946ef`,`#10b981`];function iet(e){return ret[e%ret.length]}function K9({title:e,subtitle:t,children:n,className:r=``}){return(0,L.jsxDEV)(`section`,{className:`rounded-lg border border-border bg-background ${r}`,children:[(0,L.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,L.jsxDEV)(`h2`,{className:`text-sm font-semibold`,children:e},void 0,!1,{fileName:G9,lineNumber:31,columnNumber:5},this),t&&(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:t},void 0,!1,{fileName:G9,lineNumber:32,columnNumber:18},this)]},void 0,!0,{fileName:G9,lineNumber:30,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`p-4`,children:n},void 0,!1,{fileName:G9,lineNumber:34,columnNumber:4},this)]},void 0,!0,{fileName:G9,lineNumber:29,columnNumber:3},this)}function aet({sessionMetadata:e}){let[t,n]=(0,F.useState)(null);(0,F.useEffect)(()=>{let e=!1;return(async()=>{try{let[t,r,i,a,o,s]=await Promise.all([vq.getLessonPlans(),vq.getLessonMaps(),vq.getAnimations(),vq.getVerifications(),vq.getLearnerState(),vq.getFeedback()]),c=new Map,l=e=>{e&&c.set(e,(c.get(e)??0)+1)};t.forEach(e=>l(e.topic)),r.forEach(e=>l(e.topic)),i.forEach(e=>l(e.topic)),a.forEach(e=>l(e.topic));let u=Array.from(c.entries()).sort((e,t)=>t[1]-e[1]).map(([e,t],n)=>({topic:e,count:t,color:iet(n)}));if(e)return;n({topicCounts:u,sessions:o.sessions??[],openChecklists:a.filter(e=>!e.completed),weaknesses:o.weaknesses??[],strengths:o.strengths??[],feedback:s})}catch(e){console.error(`Failed to load chart data`,e)}})(),()=>{e=!0}},[]);let r=(0,F.useMemo)(()=>set(e),[e]);if(!t)return(0,L.jsxDEV)(`div`,{className:`mt-6 rounded-lg border border-border bg-background p-8 text-center text-sm text-muted-foreground`,children:`Loading charts…`},void 0,!1,{fileName:G9,lineNumber:104,columnNumber:4},this);let i=t.topicCounts.reduce((e,t)=>e+t.count,0),a=oet(t.feedback),o=new Map(t.topicCounts.map(e=>[e.topic,e.color]));return(0,L.jsxDEV)(`div`,{className:`mt-6 flex flex-col gap-6`,children:[(0,L.jsxDEV)(`div`,{className:`grid gap-6 lg:grid-cols-[1fr_1fr]`,children:[(0,L.jsxDEV)(K9,{title:`Topic mix`,subtitle:`How your learning artifacts distribute across topics${i?` (${i} total)`:``}`,children:t.topicCounts.length===0?(0,L.jsxDEV)(q9,{message:`No topic artifacts yet — start a lesson to see this fill in.`},void 0,!1,{fileName:G9,lineNumber:122,columnNumber:7},this):(0,L.jsxDEV)(`div`,{style:{width:`100%`,height:260},children:(0,L.jsxDEV)(lYe,{children:(0,L.jsxDEV)(net,{children:[(0,L.jsxDEV)(C9,{data:t.topicCounts,dataKey:`count`,nameKey:`topic`,innerRadius:60,outerRadius:95,paddingAngle:2,children:t.topicCounts.map(e=>(0,L.jsxDEV)(e9,{fill:e.color},e.topic,!1,{fileName:G9,lineNumber:136,columnNumber:12},this))},void 0,!1,{fileName:G9,lineNumber:127,columnNumber:10},this),(0,L.jsxDEV)(x3e,{contentStyle:{background:`var(--background, #fff)`,border:`1px solid var(--border, #e5e7eb)`,borderRadius:6,fontSize:12},formatter:(e,t)=>[`${e} artifacts`,t]},void 0,!1,{fileName:G9,lineNumber:139,columnNumber:10},this),(0,L.jsxDEV)(D8,{verticalAlign:`bottom`,wrapperStyle:{fontSize:11},formatter:e=>(0,L.jsxDEV)(`span`,{style:{color:`var(--muted-foreground, #6b7280)`},children:e},void 0,!1,{fileName:G9,lineNumber:151,columnNumber:33},this)},void 0,!1,{fileName:G9,lineNumber:148,columnNumber:10},this)]},void 0,!0,{fileName:G9,lineNumber:126,columnNumber:9},this)},void 0,!1,{fileName:G9,lineNumber:125,columnNumber:8},this)},void 0,!1,{fileName:G9,lineNumber:124,columnNumber:7},this)},void 0,!1,{fileName:G9,lineNumber:117,columnNumber:5},this),(0,L.jsxDEV)(K9,{title:`Feedback signal mix`,subtitle:`How sessions are landing — confused, confident, or curious`,children:a.length===0?(0,L.jsxDEV)(q9,{message:`No feedback recorded yet.`},void 0,!1,{fileName:G9,lineNumber:164,columnNumber:7},this):(0,L.jsxDEV)(`div`,{style:{width:`100%`,height:260},children:(0,L.jsxDEV)(lYe,{children:(0,L.jsxDEV)(net,{children:[(0,L.jsxDEV)(C9,{data:a,dataKey:`count`,nameKey:`label`,innerRadius:50,outerRadius:90,paddingAngle:2,children:a.map(e=>(0,L.jsxDEV)(e9,{fill:e.color},e.label,!1,{fileName:G9,lineNumber:171,columnNumber:12},this))},void 0,!1,{fileName:G9,lineNumber:169,columnNumber:10},this),(0,L.jsxDEV)(x3e,{contentStyle:{background:`var(--background, #fff)`,border:`1px solid var(--border, #e5e7eb)`,borderRadius:6,fontSize:12}},void 0,!1,{fileName:G9,lineNumber:174,columnNumber:10},this),(0,L.jsxDEV)(D8,{verticalAlign:`bottom`,wrapperStyle:{fontSize:11}},void 0,!1,{fileName:G9,lineNumber:182,columnNumber:10},this)]},void 0,!0,{fileName:G9,lineNumber:168,columnNumber:9},this)},void 0,!1,{fileName:G9,lineNumber:167,columnNumber:8},this)},void 0,!1,{fileName:G9,lineNumber:166,columnNumber:7},this)},void 0,!1,{fileName:G9,lineNumber:159,columnNumber:5},this)]},void 0,!0,{fileName:G9,lineNumber:116,columnNumber:4},this),(0,L.jsxDEV)(K9,{title:`Curriculum timeline`,subtitle:`Each row is a learning session — bar length is duration, color is the first topic covered`,children:(0,L.jsxDEV)(cet,{sessions:t.sessions,colorFor:e=>o.get(e)},void 0,!1,{fileName:G9,lineNumber:194,columnNumber:5},this)},void 0,!1,{fileName:G9,lineNumber:190,columnNumber:4},this),(0,L.jsxDEV)(K9,{title:`Daily activity`,subtitle:`Sessions per day across the last 12 weeks`,children:(0,L.jsxDEV)(uet,{days:r},void 0,!1,{fileName:G9,lineNumber:201,columnNumber:5},this)},void 0,!1,{fileName:G9,lineNumber:197,columnNumber:4},this),(0,L.jsxDEV)(K9,{title:`Coming up`,subtitle:`Open checklists and weak spots that could use another pass`,children:(0,L.jsxDEV)(det,{openChecklists:t.openChecklists,weaknesses:t.weaknesses,strengths:t.strengths},void 0,!1,{fileName:G9,lineNumber:208,columnNumber:5},this)},void 0,!1,{fileName:G9,lineNumber:204,columnNumber:4},this)]},void 0,!0,{fileName:G9,lineNumber:115,columnNumber:3},this)}function q9({message:e}){return(0,L.jsxDEV)(`div`,{className:`py-12 text-center text-sm text-muted-foreground`,children:e},void 0,!1,{fileName:G9,lineNumber:219,columnNumber:9},this)}function oet(e){let t={"thumbs-up":0,"thumbs-down":0,confused:0};for(let n of e)t[n.signal]=(t[n.signal]??0)+1;let n=[];return t[`thumbs-up`]&&n.push({label:`Confident`,count:t[`thumbs-up`],color:`#22c55e`}),t[`thumbs-down`]&&n.push({label:`Off-track`,count:t[`thumbs-down`],color:`#ef4444`}),t.confused&&n.push({label:`Confused`,count:t.confused,color:`#f97316`}),n}function set(e){let t=new Date;t.setHours(0,0,0,0);let n=[],r=new Map;for(let t of e){let e=new Date(t.lastModified),n=`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`;r.set(n,(r.get(n)??0)+1)}for(let e=83;e>=0;e--){let i=new Date(t);i.setDate(i.getDate()-e);let a=`${i.getFullYear()}-${i.getMonth()}-${i.getDate()}`;n.push({date:i,count:r.get(a)??0})}return n}function cet({sessions:e,colorFor:t}){if(!e||e.length===0)return(0,L.jsxDEV)(q9,{message:`No sessions yet — once you start exploring topics, your curriculum timeline appears here.`},void 0,!1,{fileName:G9,lineNumber:262,columnNumber:10},this);let n=[...e].filter(e=>typeof e.startedAt==`number`).sort((e,t)=>e.startedAt-t.startedAt);if(n.length===0)return(0,L.jsxDEV)(q9,{message:`No session timestamps recorded yet.`},void 0,!1,{fileName:G9,lineNumber:270,columnNumber:10},this);let r=n[0].startedAt,i=Date.now(),a=n.reduce((e,t)=>Math.max(e,t.endedAt??i),r),o=Math.max(a-r,1),s=24+n.length*28+8,c=e=>new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`});return(0,L.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,L.jsxDEV)(`svg`,{width:`100%`,viewBox:`0 0 800 ${s}`,preserveAspectRatio:`none`,style:{minWidth:480,height:s},role:`img`,"aria-label":`Curriculum timeline`,children:[(0,L.jsxDEV)(`text`,{x:4,y:14,fontSize:10,fill:`currentColor`,opacity:.6,children:c(r)},void 0,!1,{fileName:G9,lineNumber:298,columnNumber:5},this),(0,L.jsxDEV)(`text`,{x:796,y:14,fontSize:10,fill:`currentColor`,opacity:.6,textAnchor:`end`,children:c(a)},void 0,!1,{fileName:G9,lineNumber:301,columnNumber:5},this),(0,L.jsxDEV)(`line`,{x1:110,y1:18,x2:788,y2:18,stroke:`currentColor`,opacity:.15},void 0,!1,{fileName:G9,lineNumber:304,columnNumber:5},this),n.map((e,n)=>{let a=24+n*28,s=(e.startedAt-r)/o,c=((e.endedAt??i)-r)/o,l=110+s*678,u=Math.max(2,(c-s)*678),d=e.topicsCovered?.[0]??`Untitled`,f=t(d)??`#94a3b8`,p=d.length>16?d.slice(0,15)+`…`:d;return(0,L.jsxDEV)(`g`,{children:[(0,L.jsxDEV)(`text`,{x:102,y:a+22/2+3,fontSize:11,fill:`currentColor`,opacity:.75,textAnchor:`end`,children:p},void 0,!1,{fileName:G9,lineNumber:318,columnNumber:8},this),(0,L.jsxDEV)(`rect`,{x:l,y:a,width:u,height:22,rx:3,fill:f,opacity:e.endedAt?.85:.55,children:(0,L.jsxDEV)(`title`,{children:[d,`
|
|
3185
|
+
${b.x},${b.y}`,S=Q4(e.id)?Y4(`recharts-radial-line-`):e.id;return F.createElement(`text`,c9({},r,{dominantBaseline:`central`,className:h4(`recharts-radial-bar-label`,o)}),F.createElement(`defs`,null,F.createElement(`path`,{id:S,d:x})),F.createElement(`textPath`,{xlinkHref:`#${S}`},n))},B6e=(e,t,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:o,startAngle:s,endAngle:c}=e,l=(s+c)/2;if(n===`outside`){var{x:u,y:d}=X8(r,i,o+t,l);return{x:u,y:d,textAnchor:u>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var{x:f,y:p}=X8(r,i,(a+o)/2,l);return{x:f,y:p,textAnchor:`middle`,verticalAnchor:`middle`}},l9=e=>e!=null&&`cx`in e&&q4(e.cx),V6e={angle:0,offset:5,zIndex:d5.label,position:`middle`,textBreakAll:!1};function H6e(e){if(!l9(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function U6e(e){var t=i3(e,V6e),{viewBox:n,parentViewBox:r,position:i,value:a,children:o,content:s,className:c=``,textBreakAll:l,labelRef:u}=t,d=F6e(),f=N6e(),p=n==null?i===`center`?f:d??f:l9(n)?n:G6(n),m,h,g=H6e(p);if(!p||Q4(a)&&Q4(o)&&!(0,F.isValidElement)(s)&&typeof s!=`function`)return null;var _=s9(s9({},t),{},{viewBox:p});if((0,F.isValidElement)(s)){var{labelRef:v}=_;return(0,F.cloneElement)(s,E6e(_,w6e))}if(typeof s==`function`){var{content:y}=_;if(m=(0,F.createElement)(s,E6e(_,T6e)),(0,F.isValidElement)(m))return m}else m=I6e(t);var b=x4(t);if(l9(p)){if(i===`insideStart`||i===`insideEnd`||i===`end`)return z6e(t,i,m,b,p);h=B6e(p,t.offset,t.position)}else{if(!g)return null;var x=C6e({viewBox:g,position:i,offset:t.offset,parentViewBox:l9(r)?void 0:r,clamp:!0});h=s9(s9({x:x.x,y:x.y,textAnchor:x.horizontalAnchor,verticalAnchor:x.verticalAnchor},x.width===void 0?{}:{width:x.width}),x.height===void 0?{}:{height:x.height})}return F.createElement(J7,{zIndex:t.zIndex},F.createElement(a9,c9({ref:u,className:h4(`recharts-label`,c)},b,h,{textAnchor:c6e(b.textAnchor)?b.textAnchor:h.textAnchor,breakAll:l}),m))}U6e.displayName=`Label`;var W6e=[`valueAccessor`],G6e=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function u9(){return u9=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},u9.apply(null,arguments)}function K6e(e,t){if(e==null)return{};var n,r,i=q6e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function q6e(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}var J6e=e=>{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(l6e(t))return t},Y6e=(0,F.createContext)(void 0);Y6e.Provider;var X6e=(0,F.createContext)(void 0),Z6e=X6e.Provider;function Q6e(){return(0,F.useContext)(Y6e)}function $6e(){return(0,F.useContext)(X6e)}function d9(e){var{valueAccessor:t=J6e}=e,n=K6e(e,W6e),{dataKey:r,clockWise:i,id:a,textBreakAll:o,zIndex:s}=n,c=K6e(n,G6e),l=Q6e(),u=$6e(),d=l||u;return!d||!d.length?null:F.createElement(J7,{zIndex:s??d5.label},F.createElement(T4,{className:`recharts-label-list`},d.map((e,i)=>{var s=Q4(r)?t(e,i):j6(e.payload,r),l=Q4(a)?{}:{id:`${a}-${i}`};return F.createElement(U6e,u9({key:`label-${i}`},x4(e),c,l,{fill:n.fill??e.fill,parentViewBox:e.parentViewBox,value:s,textBreakAll:o,viewBox:e.viewBox,index:i,zIndex:0}))})))}d9.displayName=`LabelList`;function e8e(e){var{label:t}=e;return t?t===!0?F.createElement(d9,{key:`labelList-implicit`}):F.isValidElement(t)||L6e(t)?F.createElement(d9,{key:`labelList-implicit`,content:t}):typeof t==`object`?F.createElement(d9,u9({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}var t8e=e=>e.graphicalItems.polarItems,f9=Q([t8e,W5,Q([b5,x5],K5)],q5),p9=Q([Q([f9],Y5),n5],X5),n8e=Q([p9,W5,f9],L1e);Q([p9,W5,f9],(e,t,n)=>n.length>0?e.flatMap(e=>n.flatMap(n=>({value:j6(e,t.dataKey??n.dataKey),errorDomain:[]}))).filter(Boolean):t?.dataKey==null?e.map(e=>({value:e,errorDomain:[]})):e.map(e=>({value:j6(e,t.dataKey),errorDomain:[]})));var r8e=()=>void 0,i8e=Q([W5,q6,p9,n8e,s5,b5,Q([W5,i7,a7,r8e,Q([p9,W5,f9,o7,b5,KQe],c7),r8e,q6,b5],u7)],d7);Q([p7,Q([W5,i8e,Q([i8e,G5,p7],m7),b5],g7)],C$e);var a8e=h6({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=C8(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=C8(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),{addRadiusAxis:o8e,removeRadiusAxis:s8e,addAngleAxis:c8e,removeAngleAxis:l8e}=a8e.actions,u8e=a8e.reducer;function d8e(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}function f8e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function p8e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?f8e(Object(n),!0).forEach(function(t){m8e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f8e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function m8e(e,t,n){return(t=h8e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h8e(e){var t=g8e(e,`string`);return typeof t==`symbol`?t:t+``}function g8e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var m9=Q([t8e,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`pie`).find(e=>e.id===t)),_8e=[],h9=(e,t,n)=>n?.length===0?_8e:n,v8e=Q([n5,m9,h9],(e,t,n)=>{var{chartData:r}=e;if(t!=null){var i=t?.data!=null&&t.data.length>0?t.data:r;if((!i||!i.length)&&n!=null&&(i=n.map(e=>p8e(p8e({},t.presentationProps),e.props))),i!=null)return i}}),y8e=Q([v8e,m9,h9],(e,t,n)=>{if(!(e==null||t==null))return e.map((e,r)=>{var i,a=j6(e,t.nameKey,t.name),o=n!=null&&(i=n[r])!=null&&(i=i.props)!=null&&i.fill?n[r].props.fill:typeof e==`object`&&e&&`fill`in e?e.fill:t.fill;return{value:CJe(a,t.dataKey),color:o,payload:e,type:t.legendType}})}),b8e=Q([v8e,m9,h9,R6],(e,t,n,r)=>{if(!(t==null||e==null))return B5e({offset:r,pieSettings:t,displayedData:e,cells:n})}),x8e=a((e=>{(function(){function t(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:switch(e=e.type,e){case i:case o:case a:case u:case d:case m:return e;default:switch(e&&=e.$$typeof,e){case c:case l:case p:case f:return e;case s:return e;default:return t}}case r:return t}}}var n=Symbol.for(`react.transitional.element`),r=Symbol.for(`react.portal`),i=Symbol.for(`react.fragment`),a=Symbol.for(`react.strict_mode`),o=Symbol.for(`react.profiler`),s=Symbol.for(`react.consumer`),c=Symbol.for(`react.context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`),m=Symbol.for(`react.view_transition`),h=Symbol.for(`react.client.reference`);e.ContextConsumer=s,e.ContextProvider=c,e.Element=n,e.ForwardRef=l,e.Fragment=i,e.Lazy=p,e.Memo=f,e.Portal=r,e.Profiler=o,e.StrictMode=a,e.Suspense=u,e.SuspenseList=d,e.isContextConsumer=function(e){return t(e)===s},e.isContextProvider=function(e){return t(e)===c},e.isElement=function(e){return typeof e==`object`&&!!e&&e.$$typeof===n},e.isForwardRef=function(e){return t(e)===l},e.isFragment=function(e){return t(e)===i},e.isLazy=function(e){return t(e)===p},e.isMemo=function(e){return t(e)===f},e.isPortal=function(e){return t(e)===r},e.isProfiler=function(e){return t(e)===o},e.isStrictMode=function(e){return t(e)===a},e.isSuspense=function(e){return t(e)===u},e.isSuspenseList=function(e){return t(e)===d},e.isValidElementType=function(e){return!!(typeof e==`string`||typeof e==`function`||e===i||e===o||e===a||e===u||e===d||typeof e==`object`&&e&&(e.$$typeof===p||e.$$typeof===f||e.$$typeof===c||e.$$typeof===s||e.$$typeof===l||e.$$typeof===h||e.getModuleId!==void 0))},e.typeOf=t})()})),S8e=a(((e,t)=>{t.exports=x8e()}))(),C8e=e=>typeof e==`string`?e:e?e.displayName||e.name||`Component`:``,w8e=null,g9=null,T8e=e=>{if(e===w8e&&Array.isArray(g9))return g9;var t=[];return F.Children.forEach(e,e=>{Q4(e)||((0,S8e.isFragment)(e)?t=t.concat(T8e(e.props.children)):t.push(e))}),g9=t,w8e=e,t};function E8e(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(e=>C8e(e)):[C8e(t)],T8e(e).forEach(e=>{var t=(0,U4.default)(e,`type.displayName`)||(0,U4.default)(e,`type.name`);t&&r.indexOf(t)!==-1&&n.push(e)}),n}var D8e=a((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){if(typeof e!=`object`||!e)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!==`[object Object]`){let t=e[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${t}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}e.isPlainObject=t})),O8e=a(((e,t)=>{t.exports=D8e().isPlainObject})),k8e,A8e,j8e,M8e,N8e;function P8e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function F8e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?P8e(Object(n),!0).forEach(function(t){I8e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P8e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function I8e(e,t,n){return(t=L8e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L8e(e){var t=R8e(e,`string`);return typeof t==`symbol`?t:t+``}function R8e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _9(){return _9=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},_9.apply(null,arguments)}function v9(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var z8e=(e,t,n,r,i)=>{var a=n-r,o=H4(k8e||=v9([`M `,`,`,``]),e,t);return o+=H4(A8e||=v9([`L `,`,`,``]),e+n,t),o+=H4(j8e||=v9([`L `,`,`,``]),e+n-a/2,t+i),o+=H4(M8e||=v9([`L `,`,`,``]),e+n-a/2-r,t+i),o+=H4(N8e||=v9([`L `,`,`,` Z`]),e,t),o},B8e={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},V8e=e=>{var t=i3(e,B8e),{x:n,y:r,upperWidth:i,lowerWidth:a,height:o,className:s}=t,{animationEasing:c,animationDuration:l,animationBegin:u,isUpdateAnimationActive:d}=t,f=(0,F.useRef)(null),[p,m]=(0,F.useState)(-1),h=(0,F.useRef)(i),g=(0,F.useRef)(a),_=(0,F.useRef)(o),v=(0,F.useRef)(n),y=(0,F.useRef)(r),b=K8(e,`trapezoid-`);if((0,F.useEffect)(()=>{if(f.current&&f.current.getTotalLength)try{var e=f.current.getTotalLength();e&&m(e)}catch{}},[]),n!==+n||r!==+r||i!==+i||a!==+a||o!==+o||i===0&&a===0||o===0)return null;var x=h4(`recharts-trapezoid`,s);if(!d)return F.createElement(`g`,null,F.createElement(`path`,_9({},x4(t),{className:x,d:z8e(n,r,i,a,o)})));var S=h.current,C=g.current,w=_.current,T=v.current,E=y.current,D=`0px ${p===-1?1:p}px`,O=`${p}px ${p}px`,k=xZe([`strokeDasharray`],l,c);return F.createElement(G8,{animationId:b,key:b,canBegin:p>0,duration:l,easing:c,isActive:d,begin:u},e=>{var s=Z4(S,i,e),c=Z4(C,a,e),l=Z4(w,o,e),u=Z4(T,n,e),d=Z4(E,r,e);f.current&&(h.current=s,g.current=c,_.current=l,v.current=u,y.current=d);var p=e>0?{transition:k,strokeDasharray:O}:{strokeDasharray:D};return F.createElement(`path`,_9({},x4(t),{className:x,d:z8e(u,d,s,c,l),ref:f,style:F8e(F8e({},p),t.style)}))})},H8e=i(O8e()),U8e=[`option`,`shapeType`,`activeClassName`,`inActiveClassName`];function W8e(e,t){if(e==null)return{};var n,r,i=G8e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function G8e(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 K8e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function y9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?K8e(Object(n),!0).forEach(function(t){q8e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K8e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function q8e(e,t,n){return(t=J8e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J8e(e){var t=Y8e(e,`string`);return typeof t==`symbol`?t:t+``}function Y8e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function X8e(e,t){return y9(y9({},t),e)}function Z8e(e,t){return e===`symbols`}function Q8e(e){var{shapeType:t,elementProps:n}=e;switch(t){case`rectangle`:return F.createElement(hQe,n);case`trapezoid`:return F.createElement(V8e,n);case`sector`:return F.createElement(zQe,n);case`symbols`:if(Z8e(t,n))return F.createElement(r3,n);break;case`curve`:return F.createElement(R8,n);default:return null}}function $8e(e){return(0,F.isValidElement)(e)?e.props:e}function e5e(e){var{option:t,shapeType:n,activeClassName:r=`recharts-active-shape`,inActiveClassName:i=`recharts-shape`}=e,a=W8e(e,U8e),o;if((0,F.isValidElement)(t))o=(0,F.cloneElement)(t,y9(y9({},a),$8e(t)));else if(typeof t==`function`)o=t(a,a.index);else if((0,H8e.default)(t)&&typeof t!=`boolean`){var s=X8e(t,a);o=F.createElement(Q8e,{shapeType:n,elementProps:s})}else{var c=a;o=F.createElement(Q8e,{shapeType:n,elementProps:c})}return a.isActive?F.createElement(T4,{className:r},o):F.createElement(T4,{className:i},o)}var t5e=(e,t,n)=>{var r=l3();return(i,a)=>o=>{e?.(i,a,o),r(J0e({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},n5e=e=>{var t=l3();return(n,r)=>i=>{e?.(n,r,i),t(Y0e())}},r5e=(e,t,n)=>{var r=l3();return(i,a)=>o=>{e?.(i,a,o),r(Z0e({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function i5e(e){var{tooltipEntrySettings:t}=e,n=l3(),r=z6(),i=(0,F.useRef)(null);return(0,F.useLayoutEffect)(()=>{r||(i.current===null?n(W0e(t)):i.current!==t&&n(G0e({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,F.useLayoutEffect)(()=>()=>{i.current&&=(n(K0e(i.current)),null)},[n]),null}function a5e(e){var{legendPayload:t}=e,n=l3(),r=d3(q6),i=(0,F.useRef)(null);return(0,F.useLayoutEffect)(()=>{r!==`centric`&&r!==`radial`||(i.current===null?n(WYe(t)):i.current!==t&&n(GYe({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,F.useLayoutEffect)(()=>()=>{i.current&&=(n(KYe(i.current)),null)},[n]),null}var o5e=F.useId??(()=>{var[e]=F.useState(()=>Y4(`uid-`));return e});function s5e(e,t){var n=o5e();return t||(e?`${e}-${n}`:n)}var c5e=(0,F.createContext)(void 0),l5e=e=>{var{id:t,type:n,children:r}=e,i=s5e(`recharts-${n}`,t);return F.createElement(c5e.Provider,{value:i},r(i))},u5e=h6({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(C8(t.payload))},prepare:m6()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).cartesianItems.indexOf(C8(n));i>-1&&(e.cartesianItems[i]=C8(r))},prepare:m6()},removeCartesianGraphicalItem:{reducer(e,t){var n=l6(e).cartesianItems.indexOf(C8(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:m6()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(C8(t.payload))},prepare:m6()},removePolarGraphicalItem:{reducer(e,t){var n=l6(e).polarItems.indexOf(C8(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:m6()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=l6(e).polarItems.indexOf(C8(n));i>-1&&(e.polarItems[i]=C8(r))},prepare:m6()}}}),{addCartesianGraphicalItem:d5e,replaceCartesianGraphicalItem:f5e,removeCartesianGraphicalItem:p5e,addPolarGraphicalItem:m5e,removePolarGraphicalItem:h5e,replacePolarGraphicalItem:g5e}=u5e.actions,_5e=u5e.reducer,v5e=(0,F.memo)(e=>{var t=l3(),n=(0,F.useRef)(null);return(0,F.useLayoutEffect)(()=>{n.current===null?t(m5e(e)):n.current!==e&&t(g5e({prev:n.current,next:e})),n.current=e},[t,e]),(0,F.useLayoutEffect)(()=>()=>{n.current&&=(t(h5e(n.current)),null)},[t]),null}),y5e=[`key`],b5e=[`onMouseEnter`,`onClick`,`onMouseLeave`],x5e=[`id`],S5e=[`id`];function b9(){return b9=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},b9.apply(null,arguments)}function x9(e,t){if(e==null)return{};var n,r,i=C5e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function C5e(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 w5e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function S9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?w5e(Object(n),!0).forEach(function(t){T5e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w5e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function T5e(e,t,n){return(t=E5e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E5e(e){var t=D5e(e,`string`);return typeof t==`symbol`?t:t+``}function D5e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function O5e(e){var t=(0,F.useMemo)(()=>E8e(e.children,e9),[e.children]),n=d3(n=>y8e(n,e.id,t));return n==null?null:F.createElement(a5e,{legendPayload:n})}function k5e(e){if(!(e==null||typeof e==`boolean`||typeof e==`function`)){if(F.isValidElement(e)){var t=e.props?.fill;return typeof t==`string`?t:void 0}var{fill:n}=e;return typeof n==`string`?n:void 0}}var A5e=F.memo(e=>{var{dataKey:t,nameKey:n,sectors:r,stroke:i,strokeWidth:a,fill:o,name:s,hide:c,tooltipType:l,id:u,activeShape:d}=e,f=k5e(d),p={dataDefinedOnItem:r.map(e=>{var t=e.tooltipPayload;return f==null||t==null?t:t.map(e=>S9(S9({},e),{},{color:f,fill:f}))}),getPosition:e=>r[Number(e)]?.tooltipPosition,settings:{stroke:i,strokeWidth:a,fill:o,dataKey:t,nameKey:n,name:CJe(s,t),hide:c,type:l,color:o,unit:``,graphicalItemId:u}};return F.createElement(i5e,{tooltipEntrySettings:p})}),j5e=(e,t)=>e>t?`start`:e<t?`end`:`middle`,M5e=(e,t,n)=>X4(typeof t==`function`?t(e):t,n,n*.8),N5e=(e,t,n)=>{var{top:r,left:i,width:a,height:o}=t,s=SQe(a,o);return{cx:i+X4(e.cx,a,a/2),cy:r+X4(e.cy,o,o/2),innerRadius:X4(e.innerRadius,s,0),outerRadius:M5e(n,e.outerRadius,s),maxRadius:e.maxRadius||Math.sqrt(a*a+o*o)/2}},P5e=(e,t)=>W4(t-e)*Math.min(Math.abs(t-e),360),F5e=(e,t)=>{if(F.isValidElement(e))return F.cloneElement(e,t);if(typeof e==`function`)return e(t);var n=h4(`recharts-pie-label-line`,typeof e==`boolean`?``:e.className),{key:r}=t,i=x9(t,y5e);return F.createElement(R8,b9({},i,{type:`linear`,className:n}))},I5e=(e,t,n)=>{if(F.isValidElement(e))return F.cloneElement(e,t);var r=n;if(typeof e==`function`&&(r=e(t),F.isValidElement(r)))return r;var i=h4(`recharts-pie-label-text`,d8e(e));return F.createElement(a9,b9({},t,{alignmentBaseline:`middle`,className:i}),r)};function L5e(e){var{sectors:t,props:n,showLabels:r}=e,{label:i,labelLine:a,dataKey:o}=n;if(!r||!i||!t)return null;var s=y4(n),c=b4(i),l=b4(a),u=typeof i==`object`&&`offsetRadius`in i&&typeof i.offsetRadius==`number`&&i.offsetRadius||20,d=t.map((e,t)=>{var n=(e.startAngle+e.endAngle)/2,r=X8(e.cx,e.cy,e.outerRadius+u,n),d=S9(S9(S9(S9({},s),e),{},{stroke:`none`},c),{},{index:t,textAnchor:j5e(r.x,e.cx)},r),f=S9(S9(S9(S9({},s),e),{},{fill:`none`,stroke:e.fill},l),{},{index:t,points:[X8(e.cx,e.cy,e.outerRadius,n),r],key:`line`});return F.createElement(J7,{zIndex:d5.label,key:`label-${e.startAngle}-${e.endAngle}-${e.midAngle}-${t}`},F.createElement(T4,null,a&&F5e(a,f),I5e(i,d,j6(e,o))))});return F.createElement(T4,{className:`recharts-pie-labels`},d)}function R5e(e){var{sectors:t,props:n,showLabels:r}=e,{label:i}=n;return typeof i==`object`&&i&&`position`in i?F.createElement(e8e,{label:i}):F.createElement(L5e,{sectors:t,props:n,showLabels:r})}function z5e(e){var{sectors:t,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:a,id:o}=e,s=d3(B7),c=d3(H2e),l=d3(U2e),{onMouseEnter:u,onClick:d,onMouseLeave:f}=i,p=x9(i,b5e),m=t5e(u,i.dataKey,o),h=n5e(f),g=r5e(d,i.dataKey,o);return t==null||t.length===0?null:F.createElement(F.Fragment,null,t.map((e,u)=>{if(e?.startAngle===0&&e?.endAngle===0&&t.length!==1)return null;var d=l==null||l===o,f=String(u)===s&&(c==null||i.dataKey===c)&&d,_=n&&f?n:s?r:null,v=S9(S9({},e),{},{stroke:e.stroke,tabIndex:-1,[OJe]:u,[kJe]:o});return F.createElement(T4,b9({key:`sector-${e?.startAngle}-${e?.endAngle}-${e.midAngle}-${u}`,tabIndex:-1,className:`recharts-pie-sector`},MWe(p,e,u),{onMouseEnter:m(e,u),onMouseLeave:h(e,u),onClick:g(e,u)}),F.createElement(e5e,b9({option:a??_,index:u,shapeType:`sector`,isActive:f},v)))}))}function B5e(e){var{pieSettings:t,displayedData:n,cells:r,offset:i}=e,{cornerRadius:a,startAngle:o,endAngle:s,dataKey:c,nameKey:l,tooltipType:u}=t,d=Math.abs(t.minAngle),f=P5e(o,s),p=Math.abs(f),m=n.length<=1?0:t.paddingAngle??0,h=n.filter(e=>j6(e,c,0)!==0).length,g=(p>=360?h:h-1)*m,_=n.reduce((e,t)=>{var n=j6(t,c,0);return e+(q4(n)?n:0)},0),v=d>0&&_>0&&n.some(e=>{var t=j6(e,c,0),n=(q4(t)?t:0)/_;return t!==0&&n*p<d})?d:0,y=p-h*v-g,b;if(_>0){var x;b=n.map((e,n)=>{var s=j6(e,c,0),d=j6(e,l,n),p=N5e(t,i,e),h=(q4(s)?s:0)/_,g,b=S9(S9({},e),r&&r[n]&&r[n].props),S=b!=null&&`fill`in b&&typeof b.fill==`string`?b.fill:t.fill;g=n?x.endAngle+W4(f)*m*(s===0?0:1):o;var C=g+W4(f)*((s===0?0:v)+h*y),w=(g+C)/2,T=(p.innerRadius+p.outerRadius)/2,E=[{name:d,value:s,payload:b,dataKey:c,type:u,color:S,fill:S,graphicalItemId:t.id}],D=X8(p.cx,p.cy,T,w);return x=S9(S9(S9(S9({},t.presentationProps),{},{percent:h,cornerRadius:typeof a==`string`?parseFloat(a):a,name:d,tooltipPayload:E,midAngle:w,middleRadius:T,tooltipPosition:D},b),p),{},{value:s,dataKey:c,startAngle:g,endAngle:C,payload:b,paddingAngle:s===0?0:W4(f)*m}),x})}return b}function V5e(e){var{showLabels:t,sectors:n,children:r}=e,i=(0,F.useMemo)(()=>!t||!n?[]:n.map(e=>({value:e.value,payload:e.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:e.cx,cy:e.cy,innerRadius:e.innerRadius,outerRadius:e.outerRadius,startAngle:e.startAngle,endAngle:e.endAngle,clockWise:!1},fill:e.fill})),[n,t]);return F.createElement(Z6e,{value:t?i:void 0},r)}function H5e(e){var{props:t,previousSectorsRef:n,id:r}=e,{sectors:i,isAnimationActive:a,animationBegin:o,animationDuration:s,animationEasing:c,activeShape:l,inactiveShape:u,onAnimationStart:d,onAnimationEnd:f}=t,p=K8(t,`recharts-pie-`),m=n.current,[h,g]=(0,F.useState)(!1),_=(0,F.useCallback)(()=>{typeof f==`function`&&f(),g(!1)},[f]),v=(0,F.useCallback)(()=>{typeof d==`function`&&d(),g(!0)},[d]);return F.createElement(V5e,{showLabels:!h,sectors:i},F.createElement(G8,{animationId:p,begin:o,duration:s,isActive:a,easing:c,onAnimationStart:v,onAnimationEnd:_,key:p},e=>{var a=[],o=(i&&i[0])?.startAngle??0;return i?.forEach((t,n)=>{var r=m&&m[n],i=n>0?(0,U4.default)(t,`paddingAngle`,0):0;if(r){var s=Z4(r.endAngle-r.startAngle,t.endAngle-t.startAngle,e),c=S9(S9({},t),{},{startAngle:o+i,endAngle:o+s+i});a.push(c),o=c.endAngle}else{var{endAngle:l,startAngle:u}=t,d=Z4(0,l-u,e),f=S9(S9({},t),{},{startAngle:o+i,endAngle:o+d+i});a.push(f),o=f.endAngle}}),n.current=a,F.createElement(T4,null,F.createElement(z5e,{sectors:a,activeShape:l,inactiveShape:u,allOtherPieProps:t,shape:t.shape,id:r}))}),F.createElement(R5e,{showLabels:!h,sectors:i,props:t}),t.children)}var U5e={animationBegin:400,animationDuration:1500,animationEasing:`ease`,cx:`50%`,cy:`50%`,dataKey:`value`,endAngle:360,fill:`#808080`,hide:!1,innerRadius:0,isAnimationActive:`auto`,label:!1,labelLine:!0,legendType:`rect`,minAngle:0,nameKey:`name`,outerRadius:`80%`,paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:`#fff`,zIndex:d5.area};function W5e(e){var{id:t}=e,n=x9(e,x5e),{hide:r,className:i,rootTabIndex:a}=e,o=(0,F.useMemo)(()=>E8e(e.children,e9),[e.children]),s=d3(e=>b8e(e,t,o)),c=(0,F.useRef)(null),l=h4(`recharts-pie`,i);return r||s==null?(c.current=null,F.createElement(T4,{tabIndex:a,className:l})):F.createElement(J7,{zIndex:e.zIndex},F.createElement(A5e,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:s,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:t,activeShape:e.activeShape}),F.createElement(T4,{tabIndex:a,className:l},F.createElement(H5e,{props:S9(S9({},n),{},{sectors:s}),previousSectorsRef:c,id:t})))}function G5e(e){var t=i3(e,U5e),{id:n}=t,r=x9(t,S5e),i=y4(r);return F.createElement(l5e,{id:n,type:`pie`},e=>F.createElement(F.Fragment,null,F.createElement(v5e,{type:`pie`,id:e,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:t.maxRadius}),F.createElement(O5e,b9({},r,{id:e})),F.createElement(W5e,b9({},r,{id:e}))))}var C9=G5e;C9.displayName=`Pie`;function K5e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function q5e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?K5e(Object(n),!0).forEach(function(t){J5e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K5e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function J5e(e,t,n){return(t=Y5e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y5e(e){var t=X5e(e,`string`);return typeof t==`symbol`?t:t+``}function X5e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Z5e=h6({name:`cartesianAxis`,initialState:{xAxis:{},yAxis:{},zAxis:{}},reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=C8(t.payload)},prepare:m6()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.xAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=C8(r))},prepare:m6()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:m6()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=C8(t.payload)},prepare:m6()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.yAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=C8(r))},prepare:m6()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:m6()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=C8(t.payload)},prepare:m6()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.zAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=C8(r))},prepare:m6()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:m6()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,i=e.yAxis[n];if(i){var a=i.widthHistory||[];if(a.length===3&&a[0]===a[2]&&r===a[1]&&r!==i.width&&Math.abs(r-(a[0]??0))<=1)return;var o=[...a,r].slice(-3);e.yAxis[n]=q5e(q5e({},i),{},{width:r,widthHistory:o})}}}}),{addXAxis:Q5e,replaceXAxis:$5e,removeXAxis:e7e,addYAxis:t7e,replaceYAxis:n7e,removeYAxis:r7e,addZAxis:i7e,replaceZAxis:a7e,removeZAxis:o7e,updateYAxisWidth:s7e}=Z5e.actions,c7e=Z5e.reducer,l7e=Q([Q([R6],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),N6,P6],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),u7e=()=>d3(l7e),d7e=e=>{var{chartData:t}=e,n=l3(),r=z6();return(0,F.useEffect)(()=>r?()=>{}:(n(Q4e(t)),()=>{n(Q4e(void 0))}),[t,n,r]),null},f7e={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},p7e=h6({name:`brush`,initialState:f7e,reducers:{setBrushSettings(e,t){return t.payload==null?f7e:t.payload}}}),{setBrushSettings:m7e}=p7e.actions,h7e=p7e.reducer,g7e=h6({name:`referenceElements`,initialState:{dots:[],areas:[],lines:[]},reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=l6(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=l6(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(C8(t.payload))},removeLine:(e,t)=>{var n=l6(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:_7e,removeDot:v7e,addArea:y7e,removeArea:b7e,addLine:x7e,removeLine:S7e}=g7e.actions,C7e=g7e.reducer,w7e=(0,F.createContext)(void 0),T7e=e=>{var{children:t}=e,[n]=(0,F.useState)(`${Y4(`recharts`)}-clip`),r=u7e();if(r==null)return null;var{x:i,y:a,width:o,height:s}=r;return F.createElement(w7e.Provider,{value:n},F.createElement(`defs`,null,F.createElement(`clipPath`,{id:n},F.createElement(`rect`,{x:i,y:a,height:s,width:o}))),t)},E7e=h6({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:i}=t.payload;e[n][r]=C8(i)},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:D7e,removeRenderedTicks:O7e}=E7e.actions,k7e=E7e.reducer,A7e=h6({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(e=>e.dataKey===r.dataKey&&e.direction===r.direction?i:e))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(e=>e.dataKey!==r.dataKey||e.direction!==r.direction))}}}),{addErrorBar:j7e,replaceErrorBar:M7e,removeErrorBar:N7e}=A7e.actions,P7e=A7e.reducer,w9=Q([(e,t)=>t,q6,y$e,T5,R2e,I7,u4e,R6],y4e);function F7e(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function T9(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(F7e(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var I7e=u6(`mouseClick`),L7e=D6();L7e.startListening({actionCreator:I7e,effect:(e,t)=>{var n=e.payload,r=w9(t.getState(),T9(n));r?.activeIndex!=null&&t.dispatch($0e({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var E9=u6(`mouseMove`),R7e=D6(),D9=null,O9=null,k9=null;R7e.startListening({actionCreator:E9,effect:(e,t)=>{var n=e.payload,{throttleDelay:r,throttledEvents:i}=t.getState().eventSettings,a=i===`all`||i?.includes(`mousemove`);D9!==null&&(cancelAnimationFrame(D9),D9=null),O9!==null&&(typeof r!=`number`||!a)&&(clearTimeout(O9),O9=null),k9=T9(n);var o=()=>{var e=t.getState(),n=w7(e,e.tooltip.settings.shared);if(!k9){D9=null,O9=null;return}if(n===`axis`){var r=w9(e,k9);r?.activeIndex==null?t.dispatch(X0e()):t.dispatch(Q0e({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}D9=null,O9=null};if(!a){o();return}r===`raf`?D9=requestAnimationFrame(o):typeof r==`number`&&O9===null&&(O9=setTimeout(o,r))}});function z7e(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<<CHILDREN>>`:t}var B7e={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},V7e=h6({name:`rootProps`,initialState:B7e,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??B7e.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),H7e=V7e.reducer,{updateOptions:U7e}=V7e.actions,W7e=h6({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}}),{updatePolarOptions:G7e}=W7e.actions,K7e=W7e.reducer,q7e=u6(`keyDown`),J7e=u6(`focus`),Y7e=u6(`blur`),A9=D6(),j9=null,M9=null,N9=null;A9.startListening({actionCreator:q7e,effect:(e,t)=>{N9=e.payload,j9!==null&&(cancelAnimationFrame(j9),j9=null);var{throttleDelay:n,throttledEvents:r}=t.getState().eventSettings,i=r===`all`||r.includes(`keydown`);M9!==null&&(typeof n!=`number`||!i)&&(clearTimeout(M9),M9=null);var a=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var{keyboardInteraction:n}=e.tooltip,r=N9;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=k7(n,N7(e),n7(e),F7(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=I7(e),c=N7(e),l=w7(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=K7(e,l,`hover`,String(n.index));t.dispatch(D7({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=I0e(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=n7(e),h=F7(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v<c.length;v++)if(k7(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(k7(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=K7(e,l,`hover`,String(p));t.dispatch(D7({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{j9=null,M9=null}};if(!i){a();return}n===`raf`?j9=requestAnimationFrame(a):typeof n==`number`&&M9===null&&(a(),N9=null,M9=setTimeout(()=>{N9?a():(M9=null,j9=null)},n))}}),A9.startListening({actionCreator:J7e,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var{keyboardInteraction:r}=n.tooltip;if(!r.active&&r.index==null){var i=`0`,a=K7(n,w7(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(D7({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),A9.startListening({actionCreator:Y7e,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var{keyboardInteraction:r}=n.tooltip;r.active&&t.dispatch(D7({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function X7e(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var P9=u6(`externalEvent`),Z7e=D6(),F9=new Map,I9=new Map,L9=new Map;Z7e.startListening({actionCreator:P9,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){var i=r.type,a=X7e(r);L9.set(i,{handler:n,reactEvent:a});var o=F9.get(i);o!==void 0&&(cancelAnimationFrame(o),F9.delete(i));var{throttleDelay:s,throttledEvents:c}=t.getState().eventSettings,l=c,u=l===`all`||l?.includes(i),d=I9.get(i);d!==void 0&&(typeof s!=`number`||!u)&&(clearTimeout(d),I9.delete(i));var f=()=>{var e=L9.get(i);try{if(!e)return;var{handler:n,reactEvent:r}=e,a=t.getState(),o={activeCoordinate:G2e(a),activeDataKey:H2e(a),activeIndex:B7(a),activeLabel:V2e(a),activeTooltipIndex:B7(a),isTooltipActive:K2e(a)};n&&n(o,r)}finally{F9.delete(i),I9.delete(i),L9.delete(i)}};if(!u){f();return}if(s===`raf`){var p=requestAnimationFrame(f);F9.set(i,p)}else if(typeof s==`number`){if(!I9.has(i)){f();var m=setTimeout(f,s);I9.set(i,m)}}else f()}}});var Q7e=Q([Q([A7],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var{getPosition:i}=r;if(i!=null)return i(t)}}}),$7e=u6(`touchMove`),e9e=D6(),R9=null,z9=null,t9e=null,B9=null;e9e.startListening({actionCreator:$7e,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){B9=X7e(n);var{throttleDelay:r,throttledEvents:i}=t.getState().eventSettings,a=i===`all`||i.includes(`touchmove`);R9!==null&&(cancelAnimationFrame(R9),R9=null),z9!==null&&(typeof r!=`number`||!a)&&(clearTimeout(z9),z9=null),t9e=Array.from(n.touches).map(e=>T9({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var o=()=>{if(B9!=null){var e=t.getState(),n=w7(e,e.tooltip.settings.shared);if(n===`axis`){var r=t9e?.[0];if(r==null){R9=null,z9=null;return}var i=w9(e,r);i?.activeIndex!=null&&t.dispatch(Q0e({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=B9.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(OJe),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=M7(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var{dataKey:u}=l,d=Q7e(e,s,c);t.dispatch(J0e({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}R9=null,z9=null}};if(!a){o();return}r===`raf`?R9=requestAnimationFrame(o):typeof r==`number`&&z9===null&&(o(),B9=null,z9=setTimeout(()=>{B9?o():(z9=null,R9=null)},r))}}});var n9e={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},r9e=h6({name:`eventSettings`,initialState:n9e,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=C8(t.payload.throttledEvents))}}}),{setEventSettings:i9e}=r9e.actions,a9e=r9e.reducer,o9e=fKe({brush:h7e,cartesianAxis:c7e,chartData:t3e,errorBars:P7e,eventSettings:a9e,graphicalItems:_5e,layout:sJe,legend:qYe,options:J4e,polarAxis:u8e,polarOptions:K7e,referenceElements:C7e,renderedTicks:k7e,rootProps:H7e,tooltip:e2e,zIndex:P4e}),s9e=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return vqe({reducer:o9e,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([L7e.middleware,R7e.middleware,A9.middleware,Z7e.middleware,e9e.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(gqe({type:`raf`}))},devTools:M8.devToolsEnabled&&{serialize:{replacer:z7e},name:`recharts-${t}`}})};function c9e(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,i=z6(),a=(0,F.useRef)(null);if(i)return n;a.current??=s9e(t,r);var o=c3;return F.createElement(lXe,{context:o,store:a.current},n)}function l9e(e){var{layout:t,margin:n}=e,r=l3(),i=z6();return(0,F.useEffect)(()=>{i||(r(iJe(t)),r(rJe(n)))},[r,i,t,n]),null}var u9e=(0,F.memo)(l9e,w8);function d9e(e){var t=l3();return(0,F.useEffect)(()=>{t(U7e(e))},[t,e]),null}var f9e=(0,F.memo)(e=>{var t=l3();return(0,F.useEffect)(()=>{t(i9e(e))},[t,e]),null},w8);function p9e(e){var{zIndex:t,isPanorama:n}=e,r=(0,F.useRef)(null),i=l3();return(0,F.useLayoutEffect)(()=>(r.current&&i(M4e({zIndex:t,element:r.current,isPanorama:n})),()=>{i(N4e({zIndex:t,isPanorama:n}))}),[i,t,n]),F.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function m9e(e){var{children:t,isPanorama:n}=e,r=d3(x4e);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return F.createElement(F.Fragment,null,i.map(e=>F.createElement(p9e,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>F.createElement(p9e,{key:e,zIndex:e,isPanorama:n})))}var h9e=[`children`];function g9e(e,t){if(e==null)return{};var n,r,i=_9e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function _9e(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 V9(){return V9=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},V9.apply(null,arguments)}var v9e={width:`100%`,height:`100%`,display:`block`},y9e=(0,F.forwardRef)((e,t)=>{var n=pYe(),r=mYe(),i=qXe();if(!k6(n)||!k6(r))return null;var{children:a,otherAttributes:o,title:s,desc:c}=e,l,u;return o!=null&&(l=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,u=typeof o.role==`string`?o.role:i?`application`:void 0),F.createElement(C4,V9({},o,{title:s,desc:c,role:u,tabIndex:l,width:n,height:r,style:v9e,ref:t}),a)}),b9e=e=>{var{children:t}=e,n=d3(V6);if(!n)return null;var{width:r,height:i,y:a,x:o}=n;return F.createElement(C4,{width:r,height:i,x:o,y:a},t)},x9e=(0,F.forwardRef)((e,t)=>{var{children:n}=e,r=g9e(e,h9e);return z6()?F.createElement(b9e,null,F.createElement(m9e,{isPanorama:!0},n)):F.createElement(y9e,V9({ref:t},r),F.createElement(m9e,{isPanorama:!1},n))});function S9e(){var e=l3(),[t,n]=(0,F.useState)(null),r=d3(EJe);return(0,F.useEffect)(()=>{if(t!=null){var n=t.getBoundingClientRect().width/t.offsetWidth;O6(n)&&n!==r&&e(oJe(n))}},[t,e,r]),n}function C9e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function w9e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?C9e(Object(n),!0).forEach(function(t){T9e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C9e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function T9e(e,t,n){return(t=E9e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E9e(e){var t=D9e(e,`string`);return typeof t==`symbol`?t:t+``}function D9e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function H9(){return H9=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},H9.apply(null,arguments)}var O9e=()=>(d3e(),null);function U9(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var k9e=(0,F.forwardRef)((e,t)=>{var n=(0,F.useRef)(null),[r,i]=(0,F.useState)({containerWidth:U9(e.style?.width),containerHeight:U9(e.style?.height)}),a=(0,F.useCallback)((e,t)=>{i(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),o=(0,F.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var{width:r,height:i}=e.getBoundingClientRect();a(r,i);var o=new ResizeObserver(e=>{var t=e[0];if(t!=null){var{width:n,height:r}=t.contentRect;a(n,r)}});o.observe(e),n.current=o}},[t,a]);return(0,F.useEffect)(()=>()=>{n.current?.disconnect()},[a]),F.createElement(F.Fragment,null,F.createElement(Y6,{width:r.containerWidth,height:r.containerHeight}),F.createElement(`div`,H9({ref:o},e)))}),A9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r}=e,[i,a]=(0,F.useState)({containerWidth:U9(n),containerHeight:U9(r)}),o=(0,F.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),s=(0,F.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var{width:n,height:r}=e.getBoundingClientRect();o(n,r)}},[t,o]);return F.createElement(F.Fragment,null,F.createElement(Y6,{width:i.containerWidth,height:i.containerHeight}),F.createElement(`div`,H9({ref:s},e)))}),j9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r}=e;return F.createElement(F.Fragment,null,F.createElement(Y6,{width:n,height:r}),F.createElement(`div`,H9({ref:t},e)))}),M9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r}=e;return typeof n==`string`||typeof r==`string`?F.createElement(A9e,H9({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?F.createElement(j9e,H9({},e,{width:n,height:r,ref:t})):F.createElement(F.Fragment,null,F.createElement(Y6,{width:n,height:r}),F.createElement(`div`,H9({ref:t},e)))});function N9e(e){return e?k9e:M9e}var P9e=(0,F.forwardRef)((e,t)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:o,onDoubleClick:s,onMouseDown:c,onMouseEnter:l,onMouseLeave:u,onMouseMove:d,onMouseUp:f,onTouchEnd:p,onTouchMove:m,onTouchStart:h,style:g,width:_,responsive:v,dispatchTouchEvents:y=!0}=e,b=(0,F.useRef)(null),x=l3(),[S,C]=(0,F.useState)(null),[w,T]=(0,F.useState)(null),E=S9e(),D=W6(),O=D?.width>0?D.width:_,k=D?.height>0?D.height:i,A=(0,F.useCallback)(e=>{E(e),typeof t==`function`&&t(e),C(e),T(e),e!=null&&(b.current=e)},[E,t,C,T]),ee=(0,F.useCallback)(e=>{x(I7e(e)),x(P9({handler:a,reactEvent:e}))},[x,a]),j=(0,F.useCallback)(e=>{x(E9(e)),x(P9({handler:l,reactEvent:e}))},[x,l]),M=(0,F.useCallback)(e=>{x(X0e()),x(P9({handler:u,reactEvent:e}))},[x,u]),te=(0,F.useCallback)(e=>{x(E9(e)),x(P9({handler:d,reactEvent:e}))},[x,d]),ne=(0,F.useCallback)(()=>{x(J7e())},[x]),N=(0,F.useCallback)(()=>{x(Y7e())},[x]),re=(0,F.useCallback)(e=>{x(q7e(e.key))},[x]),ie=(0,F.useCallback)(e=>{x(P9({handler:o,reactEvent:e}))},[x,o]),ae=(0,F.useCallback)(e=>{x(P9({handler:s,reactEvent:e}))},[x,s]),oe=(0,F.useCallback)(e=>{x(P9({handler:c,reactEvent:e}))},[x,c]),se=(0,F.useCallback)(e=>{x(P9({handler:f,reactEvent:e}))},[x,f]),ce=(0,F.useCallback)(e=>{x(P9({handler:h,reactEvent:e}))},[x,h]),le=(0,F.useCallback)(e=>{y&&x($7e(e)),x(P9({handler:m,reactEvent:e}))},[x,y,m]),ue=(0,F.useCallback)(e=>{x(P9({handler:p,reactEvent:e}))},[x,p]),de=N9e(v);return F.createElement(H4e.Provider,{value:S},F.createElement(E4.Provider,{value:w},F.createElement(de,{width:O??g?.width,height:k??g?.height,className:h4(`recharts-wrapper`,r),style:w9e({position:`relative`,cursor:`default`,width:O,height:k},g),onClick:ee,onContextMenu:ie,onDoubleClick:ae,onFocus:ne,onBlur:N,onKeyDown:re,onMouseDown:oe,onMouseEnter:j,onMouseLeave:M,onMouseMove:te,onMouseUp:se,onTouchEnd:ue,onTouchMove:le,onTouchStart:ce,ref:A},F.createElement(O9e,null),n)))}),F9e=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function I9e(e,t){if(e==null)return{};var n,r,i=L9e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function L9e(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}var R9e=(0,F.forwardRef)((e,t)=>{var{width:n,height:r,responsive:i,children:a,className:o,style:s,compact:c,title:l,desc:u}=e,d=y4(I9e(e,F9e));return c?F.createElement(F.Fragment,null,F.createElement(Y6,{width:n,height:r}),F.createElement(x9e,{otherAttributes:d,title:l,desc:u},a)):F.createElement(P9e,{className:o,style:s,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},F.createElement(x9e,{otherAttributes:d,title:l,desc:u,ref:t},F.createElement(T7e,null,a)))});function z9e(e){var t=l3();return(0,F.useEffect)(()=>{t(G7e(e))},[t,e]),null}var B9e=[`layout`];function W9(){return W9=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},W9.apply(null,arguments)}function V9e(e,t){if(e==null)return{};var n,r,i=H9e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function H9e(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 U9e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function W9e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?U9e(Object(n),!0).forEach(function(t){G9e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U9e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function G9e(e,t,n){return(t=K9e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K9e(e){var t=q9e(e,`string`);return typeof t==`symbol`?t:t+``}function q9e(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var J9e=W9e({accessibilityLayer:!0,stackOffset:`none`,barCategoryGap:`10%`,barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:`index`,layout:`radial`,responsive:!1,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`},n9e),Y9e=(0,F.forwardRef)(function(e,t){var n=i3(e.categoricalChartProps,J9e),{layout:r}=n,i=V9e(n,B9e),{chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:s,tooltipPayloadSearcher:c}=e,l={chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:s,tooltipPayloadSearcher:c,eventEmitter:void 0};return F.createElement(c9e,{preloadedState:{options:l},reduxStoreName:n.id??a},F.createElement(d7e,{chartData:n.data}),F.createElement(u9e,{layout:r,margin:n.margin}),F.createElement(f9e,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),F.createElement(d9e,{baseValue:void 0,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),F.createElement(z9e,{cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius}),F.createElement(R9e,W9({},i,{ref:t})))});function X9e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Z9e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?X9e(Object(n),!0).forEach(function(t){Q9e(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X9e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Q9e(e,t,n){return(t=$9e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $9e(e){var t=eet(e,`string`);return typeof t==`symbol`?t:t+``}function eet(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var tet=[`item`],net=Z9e(Z9e({},J9e),{},{layout:`centric`,startAngle:0,endAngle:360}),ret=(0,F.forwardRef)((e,t)=>{var n=i3(e,net);return F.createElement(Y9e,{chartName:`PieChart`,defaultTooltipEventType:`item`,validateTooltipEventTypes:tet,tooltipPayloadSearcher:K4e,categoricalChartProps:n,ref:t})}),G9=`/home/diogenes/Projects/keating/web/src/components/UsageCharts.tsx`,iet=[`#6366f1`,`#22c55e`,`#f97316`,`#ec4899`,`#06b6d4`,`#a855f7`,`#eab308`,`#14b8a6`,`#ef4444`,`#3b82f6`,`#84cc16`,`#f43f5e`,`#0ea5e9`,`#d946ef`,`#10b981`];function aet(e){return iet[e%iet.length]}function K9({title:e,subtitle:t,children:n,className:r=``}){return(0,L.jsxDEV)(`section`,{className:`rounded-lg border border-border bg-background ${r}`,children:[(0,L.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,L.jsxDEV)(`h2`,{className:`text-sm font-semibold`,children:e},void 0,!1,{fileName:G9,lineNumber:31,columnNumber:5},this),t&&(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:t},void 0,!1,{fileName:G9,lineNumber:32,columnNumber:18},this)]},void 0,!0,{fileName:G9,lineNumber:30,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`p-4`,children:n},void 0,!1,{fileName:G9,lineNumber:34,columnNumber:4},this)]},void 0,!0,{fileName:G9,lineNumber:29,columnNumber:3},this)}function oet({sessionMetadata:e}){let[t,n]=(0,F.useState)(null);(0,F.useEffect)(()=>{let e=!1;return(async()=>{try{let[t,r,i,a,o,s]=await Promise.all([vq.getLessonPlans(),vq.getLessonMaps(),vq.getAnimations(),vq.getVerifications(),vq.getLearnerState(),vq.getFeedback()]),c=new Map,l=e=>{e&&c.set(e,(c.get(e)??0)+1)};t.forEach(e=>l(e.topic)),r.forEach(e=>l(e.topic)),i.forEach(e=>l(e.topic)),a.forEach(e=>l(e.topic));let u=Array.from(c.entries()).sort((e,t)=>t[1]-e[1]).map(([e,t],n)=>({topic:e,count:t,color:aet(n)}));if(e)return;n({topicCounts:u,sessions:o.sessions??[],openChecklists:a.filter(e=>!e.completed),weaknesses:o.weaknesses??[],strengths:o.strengths??[],feedback:s})}catch(e){console.error(`Failed to load chart data`,e)}})(),()=>{e=!0}},[]);let r=(0,F.useMemo)(()=>cet(e),[e]);if(!t)return(0,L.jsxDEV)(`div`,{className:`mt-6 rounded-lg border border-border bg-background p-8 text-center text-sm text-muted-foreground`,children:`Loading charts…`},void 0,!1,{fileName:G9,lineNumber:104,columnNumber:4},this);let i=t.topicCounts.reduce((e,t)=>e+t.count,0),a=set(t.feedback),o=new Map(t.topicCounts.map(e=>[e.topic,e.color]));return(0,L.jsxDEV)(`div`,{className:`mt-6 flex flex-col gap-6`,children:[(0,L.jsxDEV)(`div`,{className:`grid gap-6 lg:grid-cols-[1fr_1fr]`,children:[(0,L.jsxDEV)(K9,{title:`Topic mix`,subtitle:`How your learning artifacts distribute across topics${i?` (${i} total)`:``}`,children:t.topicCounts.length===0?(0,L.jsxDEV)(q9,{message:`No topic artifacts yet — start a lesson to see this fill in.`},void 0,!1,{fileName:G9,lineNumber:122,columnNumber:7},this):(0,L.jsxDEV)(`div`,{style:{width:`100%`,height:260},children:(0,L.jsxDEV)(uYe,{children:(0,L.jsxDEV)(ret,{children:[(0,L.jsxDEV)(C9,{data:t.topicCounts,dataKey:`count`,nameKey:`topic`,innerRadius:60,outerRadius:95,paddingAngle:2,children:t.topicCounts.map(e=>(0,L.jsxDEV)(e9,{fill:e.color},e.topic,!1,{fileName:G9,lineNumber:136,columnNumber:12},this))},void 0,!1,{fileName:G9,lineNumber:127,columnNumber:10},this),(0,L.jsxDEV)(S3e,{contentStyle:{background:`var(--background, #fff)`,border:`1px solid var(--border, #e5e7eb)`,borderRadius:6,fontSize:12},formatter:(e,t)=>[`${e} artifacts`,t]},void 0,!1,{fileName:G9,lineNumber:139,columnNumber:10},this),(0,L.jsxDEV)(D8,{verticalAlign:`bottom`,wrapperStyle:{fontSize:11},formatter:e=>(0,L.jsxDEV)(`span`,{style:{color:`var(--muted-foreground, #6b7280)`},children:e},void 0,!1,{fileName:G9,lineNumber:151,columnNumber:33},this)},void 0,!1,{fileName:G9,lineNumber:148,columnNumber:10},this)]},void 0,!0,{fileName:G9,lineNumber:126,columnNumber:9},this)},void 0,!1,{fileName:G9,lineNumber:125,columnNumber:8},this)},void 0,!1,{fileName:G9,lineNumber:124,columnNumber:7},this)},void 0,!1,{fileName:G9,lineNumber:117,columnNumber:5},this),(0,L.jsxDEV)(K9,{title:`Feedback signal mix`,subtitle:`How sessions are landing — confused, confident, or curious`,children:a.length===0?(0,L.jsxDEV)(q9,{message:`No feedback recorded yet.`},void 0,!1,{fileName:G9,lineNumber:164,columnNumber:7},this):(0,L.jsxDEV)(`div`,{style:{width:`100%`,height:260},children:(0,L.jsxDEV)(uYe,{children:(0,L.jsxDEV)(ret,{children:[(0,L.jsxDEV)(C9,{data:a,dataKey:`count`,nameKey:`label`,innerRadius:50,outerRadius:90,paddingAngle:2,children:a.map(e=>(0,L.jsxDEV)(e9,{fill:e.color},e.label,!1,{fileName:G9,lineNumber:171,columnNumber:12},this))},void 0,!1,{fileName:G9,lineNumber:169,columnNumber:10},this),(0,L.jsxDEV)(S3e,{contentStyle:{background:`var(--background, #fff)`,border:`1px solid var(--border, #e5e7eb)`,borderRadius:6,fontSize:12}},void 0,!1,{fileName:G9,lineNumber:174,columnNumber:10},this),(0,L.jsxDEV)(D8,{verticalAlign:`bottom`,wrapperStyle:{fontSize:11}},void 0,!1,{fileName:G9,lineNumber:182,columnNumber:10},this)]},void 0,!0,{fileName:G9,lineNumber:168,columnNumber:9},this)},void 0,!1,{fileName:G9,lineNumber:167,columnNumber:8},this)},void 0,!1,{fileName:G9,lineNumber:166,columnNumber:7},this)},void 0,!1,{fileName:G9,lineNumber:159,columnNumber:5},this)]},void 0,!0,{fileName:G9,lineNumber:116,columnNumber:4},this),(0,L.jsxDEV)(K9,{title:`Curriculum timeline`,subtitle:`Each row is a learning session — bar length is duration, color is the first topic covered`,children:(0,L.jsxDEV)(uet,{sessions:t.sessions,colorFor:e=>o.get(e)},void 0,!1,{fileName:G9,lineNumber:194,columnNumber:5},this)},void 0,!1,{fileName:G9,lineNumber:190,columnNumber:4},this),(0,L.jsxDEV)(K9,{title:`Daily activity`,subtitle:`Sessions per day across the last 12 weeks`,children:(0,L.jsxDEV)(det,{days:r},void 0,!1,{fileName:G9,lineNumber:201,columnNumber:5},this)},void 0,!1,{fileName:G9,lineNumber:197,columnNumber:4},this),(0,L.jsxDEV)(K9,{title:`Coming up`,subtitle:`Open checklists and weak spots that could use another pass`,children:(0,L.jsxDEV)(fet,{openChecklists:t.openChecklists,weaknesses:t.weaknesses,strengths:t.strengths},void 0,!1,{fileName:G9,lineNumber:208,columnNumber:5},this)},void 0,!1,{fileName:G9,lineNumber:204,columnNumber:4},this)]},void 0,!0,{fileName:G9,lineNumber:115,columnNumber:3},this)}function q9({message:e}){return(0,L.jsxDEV)(`div`,{className:`py-12 text-center text-sm text-muted-foreground`,children:e},void 0,!1,{fileName:G9,lineNumber:219,columnNumber:9},this)}function set(e){let t={"thumbs-up":0,"thumbs-down":0,confused:0};for(let n of e)t[n.signal]=(t[n.signal]??0)+1;let n=[];return t[`thumbs-up`]&&n.push({label:`Confident`,count:t[`thumbs-up`],color:`#22c55e`}),t[`thumbs-down`]&&n.push({label:`Off-track`,count:t[`thumbs-down`],color:`#ef4444`}),t.confused&&n.push({label:`Confused`,count:t.confused,color:`#f97316`}),n}function cet(e){let t=new Date;t.setHours(0,0,0,0);let n=[],r=new Map;for(let t of e){let e=new Date(t.lastModified),n=`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`;r.set(n,(r.get(n)??0)+1)}for(let e=83;e>=0;e--){let i=new Date(t);i.setDate(i.getDate()-e);let a=`${i.getFullYear()}-${i.getMonth()}-${i.getDate()}`;n.push({date:i,count:r.get(a)??0})}return n}function uet({sessions:e,colorFor:t}){if(!e||e.length===0)return(0,L.jsxDEV)(q9,{message:`No sessions yet — once you start exploring topics, your curriculum timeline appears here.`},void 0,!1,{fileName:G9,lineNumber:262,columnNumber:10},this);let n=[...e].filter(e=>typeof e.startedAt==`number`).sort((e,t)=>e.startedAt-t.startedAt);if(n.length===0)return(0,L.jsxDEV)(q9,{message:`No session timestamps recorded yet.`},void 0,!1,{fileName:G9,lineNumber:270,columnNumber:10},this);let r=n[0].startedAt,i=Date.now(),a=n.reduce((e,t)=>Math.max(e,t.endedAt??i),r),o=Math.max(a-r,1),s=24+n.length*28+8,c=e=>new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`});return(0,L.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,L.jsxDEV)(`svg`,{width:`100%`,viewBox:`0 0 800 ${s}`,preserveAspectRatio:`none`,style:{minWidth:480,height:s},role:`img`,"aria-label":`Curriculum timeline`,children:[(0,L.jsxDEV)(`text`,{x:4,y:14,fontSize:10,fill:`currentColor`,opacity:.6,children:c(r)},void 0,!1,{fileName:G9,lineNumber:298,columnNumber:5},this),(0,L.jsxDEV)(`text`,{x:796,y:14,fontSize:10,fill:`currentColor`,opacity:.6,textAnchor:`end`,children:c(a)},void 0,!1,{fileName:G9,lineNumber:301,columnNumber:5},this),(0,L.jsxDEV)(`line`,{x1:110,y1:18,x2:788,y2:18,stroke:`currentColor`,opacity:.15},void 0,!1,{fileName:G9,lineNumber:304,columnNumber:5},this),n.map((e,n)=>{let a=24+n*28,s=(e.startedAt-r)/o,c=((e.endedAt??i)-r)/o,l=110+s*678,u=Math.max(2,(c-s)*678),d=e.topicsCovered?.[0]??`Untitled`,f=t(d)??`#94a3b8`,p=d.length>16?d.slice(0,15)+`…`:d;return(0,L.jsxDEV)(`g`,{children:[(0,L.jsxDEV)(`text`,{x:102,y:a+22/2+3,fontSize:11,fill:`currentColor`,opacity:.75,textAnchor:`end`,children:p},void 0,!1,{fileName:G9,lineNumber:318,columnNumber:8},this),(0,L.jsxDEV)(`rect`,{x:l,y:a,width:u,height:22,rx:3,fill:f,opacity:e.endedAt?.85:.55,children:(0,L.jsxDEV)(`title`,{children:[d,`
|
|
3186
3186
|
`,`Started: `,new Date(e.startedAt).toLocaleString(),e.endedAt?`\nEnded: ${new Date(e.endedAt).toLocaleString()}`:`
|
|
3187
|
-
(in progress)`,e.topicsCovered&&e.topicsCovered.length>1?`\nAlso: ${e.topicsCovered.slice(1).join(`, `)}`:``]},void 0,!0,{fileName:G9,lineNumber:337,columnNumber:9},this)},void 0,!1,{fileName:G9,lineNumber:328,columnNumber:8},this)]},`${e.startedAt}-${n}`,!0,{fileName:G9,lineNumber:317,columnNumber:7},this)})]},void 0,!0,{fileName:G9,lineNumber:290,columnNumber:4},this)},void 0,!1,{fileName:G9,lineNumber:289,columnNumber:3},this)}function uet({days:e}){if(e.length===0)return(0,L.jsxDEV)(q9,{message:`No daily activity yet.`},void 0,!1,{fileName:G9,lineNumber:355,columnNumber:32},this);let t=e.reduce((e,t)=>Math.max(e,t.count),0),n=Math.ceil(e.length/7)*17,r=e=>e===0?`var(--muted, #f3f4f6)`:`rgba(99, 102, 241, ${(.25+(t<=1?1:e/t)*.75).toFixed(2)})`,i=e[0].date,a=i.getDay();return(0,L.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,L.jsxDEV)(`svg`,{width:n,height:135,role:`img`,"aria-label":`Daily activity heatmap`,style:{minWidth:n},children:[e.map((e,t)=>{let n=t+a,i=Math.floor(n/7),o=n%7;return(0,L.jsxDEV)(`rect`,{x:i*17,y:o*17,width:14,height:14,rx:2,fill:r(e.count),stroke:`currentColor`,strokeOpacity:.05,children:(0,L.jsxDEV)(`title`,{children:[e.date.toLocaleDateString(),` — `,e.count,` session`,e.count===1?``:`s`]},void 0,!0,{fileName:G9,lineNumber:394,columnNumber:8},this)},t,!1,{fileName:G9,lineNumber:383,columnNumber:7},this)}),(0,L.jsxDEV)(`text`,{x:0,y:133,fontSize:10,fill:`currentColor`,opacity:.55,children:i.toLocaleDateString(void 0,{month:`short`,day:`numeric`})},void 0,!1,{fileName:G9,lineNumber:400,columnNumber:5},this),(0,L.jsxDEV)(`text`,{x:n,y:133,fontSize:10,fill:`currentColor`,opacity:.55,textAnchor:`end`,children:`Today`},void 0,!1,{fileName:G9,lineNumber:403,columnNumber:5},this)]},void 0,!0,{fileName:G9,lineNumber:375,columnNumber:4},this)},void 0,!1,{fileName:G9,lineNumber:374,columnNumber:3},this)}function det({openChecklists:e,weaknesses:t,strengths:n}){return e.length>0||t.length>0||n.length>0?(0,L.jsxDEV)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:`Open checklists`},void 0,!1,{fileName:G9,lineNumber:427,columnNumber:5},this),e.length===0?(0,L.jsxDEV)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`All caught up.`},void 0,!1,{fileName:G9,lineNumber:429,columnNumber:6},this):(0,L.jsxDEV)(`ul`,{className:`mt-2 space-y-1.5 text-sm`,children:e.slice(0,8).map(e=>(0,L.jsxDEV)(`li`,{className:`rounded-md border border-border px-2 py-1.5`,children:[(0,L.jsxDEV)(`div`,{className:`font-medium truncate`,children:e.topic},void 0,!1,{fileName:G9,lineNumber:434,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`text-xs text-muted-foreground`,children:[`opened `,new Date(e.createdAt).toLocaleDateString()]},void 0,!0,{fileName:G9,lineNumber:435,columnNumber:9},this)]},e.id,!0,{fileName:G9,lineNumber:433,columnNumber:8},this))},void 0,!1,{fileName:G9,lineNumber:431,columnNumber:6},this)]},void 0,!0,{fileName:G9,lineNumber:426,columnNumber:4},this),(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:`Weak spots`},void 0,!1,{fileName:G9,lineNumber:444,columnNumber:5},this),t.length===0?(0,L.jsxDEV)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`None flagged.`},void 0,!1,{fileName:G9,lineNumber:446,columnNumber:6},this):(0,L.jsxDEV)(`ul`,{className:`mt-2 flex flex-wrap gap-1.5`,children:t.map(e=>(0,L.jsxDEV)(`li`,{className:`rounded-full border border-destructive/30 bg-destructive/5 px-2.5 py-1 text-xs text-destructive`,children:e},e,!1,{fileName:G9,lineNumber:450,columnNumber:8},this))},void 0,!1,{fileName:G9,lineNumber:448,columnNumber:6},this)]},void 0,!0,{fileName:G9,lineNumber:443,columnNumber:4},this),(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:`Strengths`},void 0,!1,{fileName:G9,lineNumber:458,columnNumber:5},this),n.length===0?(0,L.jsxDEV)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`Building.`},void 0,!1,{fileName:G9,lineNumber:460,columnNumber:6},this):(0,L.jsxDEV)(`ul`,{className:`mt-2 flex flex-wrap gap-1.5`,children:n.map(e=>(0,L.jsxDEV)(`li`,{className:`rounded-full border border-primary/30 bg-primary/5 px-2.5 py-1 text-xs text-primary`,children:e},e,!1,{fileName:G9,lineNumber:464,columnNumber:8},this))},void 0,!1,{fileName:G9,lineNumber:462,columnNumber:6},this)]},void 0,!0,{fileName:G9,lineNumber:457,columnNumber:4},this)]},void 0,!0,{fileName:G9,lineNumber:425,columnNumber:3},this):(0,L.jsxDEV)(q9,{message:`Nothing on the runway yet — checklists and weak spots will surface here as you learn.`},void 0,!1,{fileName:G9,lineNumber:422,columnNumber:10},this)}var J9=`/home/diogenes/Projects/keating/web/src/pages/Usage.tsx`,fet=null;function Y9(e){return new Intl.NumberFormat().format(Math.round(e))}function pet(e){return e>0?`$${e.toFixed(e<1?4:2)}`:`$0`}function met(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function het(e,t){return Math.max(1,Math.ceil((new Date(t).getTime()-new Date(e).getTime())/864e5)+1)}function get(e){return e.replace(/\s+/g,` `).trim().split(/[.!?]\s/)[0]?.slice(0,120)||`No preview saved`}function _et(){return(0,F.use)(bq()),fet||=hq.getAllMetadata(),(0,F.use)(fet)}function X9({icon:e,label:t,value:n,detail:r}){return(0,L.jsxDEV)(`div`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,L.jsxDEV)(`div`,{className:`text-sm text-muted-foreground`,children:t},void 0,!1,{fileName:J9,lineNumber:53,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`text-muted-foreground`,children:e},void 0,!1,{fileName:J9,lineNumber:54,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:52,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`mt-3 text-2xl font-semibold`,children:n},void 0,!1,{fileName:J9,lineNumber:56,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:r},void 0,!1,{fileName:J9,lineNumber:57,columnNumber:4},this)]},void 0,!0,{fileName:J9,lineNumber:51,columnNumber:3},this)}function vet(){let[e,t]=(0,F.useState)(null);return(0,F.useEffect)(()=>{let e=!1;return Promise.all([vq.getLessonPlans(),vq.getLessonMaps(),vq.getAnimations(),vq.getBenchmarks(),vq.getEvolutions(),vq.getPromptEvolutions(),vq.getImprovementAttempts()]).then(([n,r,i,a,o,s,c])=>{e||t({plans:n.length,maps:r.length,animations:i.length,benchmarks:a.length,evolutions:o.length,promptEvolutions:s.length,improvements:c.length})}).catch(()=>{}),()=>{e=!0}},[]),e}function yet(){let e=Ci(),t=_et().sort((e,t)=>t.lastModified.localeCompare(e.lastModified)),n=vet(),r=t.reduce((e,t)=>(e.messages+=t.messageCount,e.input+=t.usage.input,e.output+=t.usage.output,e.tokens+=t.usage.totalTokens,e.cost+=t.usage.cost.total,e),{messages:0,input:0,output:0,tokens:0,cost:0}),i=t.length?het(t[t.length-1].createdAt,t[0].lastModified):0,a=t.slice(0,8),o=[...t].sort((e,t)=>t.messageCount-e.messageCount).slice(0,5),s=i?r.messages/i:0,c=n?n.benchmarks+n.evolutions+n.promptEvolutions+n.improvements:0,l=n?n.plans+n.maps+n.animations:0;return(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:[(0,L.jsxDEV)(`header`,{className:`border-b border-border`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex max-w-6xl flex-wrap items-center justify-between gap-3 px-4 py-4`,children:[(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:`Keating usage`},void 0,!1,{fileName:J9,lineNumber:119,columnNumber:7},this),(0,L.jsxDEV)(`h1`,{className:`text-2xl font-semibold`,children:`Learning activity`},void 0,!1,{fileName:J9,lineNumber:120,columnNumber:7},this)]},void 0,!0,{fileName:J9,lineNumber:118,columnNumber:6},this),(0,L.jsxDEV)(`button`,{className:`inline-flex h-9 items-center gap-2 rounded-md border border-border px-3 text-sm hover:bg-accent`,onClick:()=>e({to:`/chat`}),children:[(0,L.jsxDEV)(ya,{size:16},void 0,!1,{fileName:J9,lineNumber:126,columnNumber:7},this),`Back to chat`]},void 0,!0,{fileName:J9,lineNumber:122,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:117,columnNumber:5},this)},void 0,!1,{fileName:J9,lineNumber:116,columnNumber:4},this),(0,L.jsxDEV)(`main`,{className:`mx-auto max-w-6xl px-4 py-6`,children:[(0,L.jsxDEV)(`div`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(xa,{size:18},void 0,!1,{fileName:J9,lineNumber:135,columnNumber:13},this),label:`Learning sessions`,value:Y9(t.length),detail:i?`${i} day learning window`:`No sessions yet`},void 0,!1,{fileName:J9,lineNumber:134,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(eo,{size:18},void 0,!1,{fileName:J9,lineNumber:141,columnNumber:13},this),label:`Socratic turns`,value:Y9(r.messages),detail:`${s.toFixed(1)} messages per active day`},void 0,!1,{fileName:J9,lineNumber:140,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(wa,{size:18},void 0,!1,{fileName:J9,lineNumber:147,columnNumber:13},this),label:`Model tokens`,value:Y9(r.tokens||r.input+r.output),detail:`${Y9(r.input)} in / ${Y9(r.output)} out`},void 0,!1,{fileName:J9,lineNumber:146,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(xo,{size:18},void 0,!1,{fileName:J9,lineNumber:153,columnNumber:13},this),label:`Estimated spend`,value:pet(r.cost),detail:`Based on provider usage metadata`},void 0,!1,{fileName:J9,lineNumber:152,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:133,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`mt-6 grid gap-3 sm:grid-cols-3`,children:[(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(Wa,{size:18},void 0,!1,{fileName:J9,lineNumber:163,columnNumber:13},this),label:`Teaching materials`,value:Y9(l),detail:`${Y9(n?.plans??0)} plans · ${Y9(n?.maps??0)} maps · ${Y9(n?.animations??0)} animations`},void 0,!1,{fileName:J9,lineNumber:162,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(za,{size:18},void 0,!1,{fileName:J9,lineNumber:169,columnNumber:13},this),label:`Self-improvement runs`,value:Y9(c),detail:`${Y9(n?.evolutions??0)} evolutions · ${Y9(n?.promptEvolutions??0)} prompt evos`},void 0,!1,{fileName:J9,lineNumber:168,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(Ua,{size:18},void 0,!1,{fileName:J9,lineNumber:175,columnNumber:13},this),label:`Improvement attempts`,value:Y9(n?.improvements??0),detail:n&&n.improvements>0?`${Y9(n.benchmarks)} benchmarks measured`:`No improvements logged yet`},void 0,!1,{fileName:J9,lineNumber:174,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:161,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`mt-6 grid gap-6 lg:grid-cols-[1.25fr_0.75fr]`,children:[(0,L.jsxDEV)(`section`,{className:`rounded-lg border border-border bg-background`,children:[(0,L.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,L.jsxDEV)(`h2`,{className:`text-sm font-semibold`,children:`Recent learning`},void 0,!1,{fileName:J9,lineNumber:185,columnNumber:8},this),(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Latest saved sessions and their focus`},void 0,!1,{fileName:J9,lineNumber:186,columnNumber:8},this)]},void 0,!0,{fileName:J9,lineNumber:184,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`divide-y divide-border`,children:a.length===0?(0,L.jsxDEV)(`div`,{className:`px-4 py-8 text-center text-sm text-muted-foreground`,children:`Start a chat and Keating will track your learning activity here.`},void 0,!1,{fileName:J9,lineNumber:190,columnNumber:9},this):a.map(e=>(0,L.jsxDEV)(bet,{session:e},e.id,!1,{fileName:J9,lineNumber:194,columnNumber:9},this))},void 0,!1,{fileName:J9,lineNumber:188,columnNumber:7},this)]},void 0,!0,{fileName:J9,lineNumber:183,columnNumber:6},this),(0,L.jsxDEV)(`section`,{className:`rounded-lg border border-border bg-background`,children:[(0,L.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,L.jsxDEV)(`h2`,{className:`text-sm font-semibold`,children:`Deepest dives`},void 0,!1,{fileName:J9,lineNumber:201,columnNumber:8},this),(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Sessions with the most back-and-forth`},void 0,!1,{fileName:J9,lineNumber:202,columnNumber:8},this)]},void 0,!0,{fileName:J9,lineNumber:200,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`space-y-3 p-4`,children:o.length===0?(0,L.jsxDEV)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:`No learning history yet`},void 0,!1,{fileName:J9,lineNumber:206,columnNumber:9},this):o.map((e,t)=>(0,L.jsxDEV)(`div`,{className:`flex items-start gap-3`,children:[(0,L.jsxDEV)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-muted text-xs font-medium`,children:t+1},void 0,!1,{fileName:J9,lineNumber:209,columnNumber:10},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title},void 0,!1,{fileName:J9,lineNumber:213,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`mt-1 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,L.jsxDEV)(Fa,{size:13},void 0,!1,{fileName:J9,lineNumber:215,columnNumber:12},this),e.messageCount,` messages | `,met(e.lastModified)]},void 0,!0,{fileName:J9,lineNumber:214,columnNumber:11},this)]},void 0,!0,{fileName:J9,lineNumber:212,columnNumber:10},this)]},e.id,!0,{fileName:J9,lineNumber:208,columnNumber:9},this))},void 0,!1,{fileName:J9,lineNumber:204,columnNumber:7},this)]},void 0,!0,{fileName:J9,lineNumber:199,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:182,columnNumber:5},this),(0,L.jsxDEV)(aet,{sessionMetadata:t},void 0,!1,{fileName:J9,lineNumber:225,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:132,columnNumber:4},this)]},void 0,!0,{fileName:J9,lineNumber:115,columnNumber:3},this)}function bet({session:e}){let t=e.usage.totalTokens||e.usage.input+e.usage.output;return(0,L.jsxDEV)(`div`,{className:`grid gap-3 px-4 py-3 sm:grid-cols-[1fr_auto] sm:items-center`,children:[(0,L.jsxDEV)(`div`,{className:`min-w-0`,children:[(0,L.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title},void 0,!1,{fileName:J9,lineNumber:236,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:get(e.preview)},void 0,!1,{fileName:J9,lineNumber:237,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:235,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground sm:justify-end`,children:[(0,L.jsxDEV)(`span`,{className:`rounded-md bg-muted px-2 py-1`,children:met(e.lastModified)},void 0,!1,{fileName:J9,lineNumber:240,columnNumber:5},this),(0,L.jsxDEV)(`span`,{className:`rounded-md bg-muted px-2 py-1`,children:[e.messageCount,` turns`]},void 0,!0,{fileName:J9,lineNumber:241,columnNumber:5},this),(0,L.jsxDEV)(`span`,{className:`rounded-md bg-muted px-2 py-1`,children:[Y9(t),` tokens`]},void 0,!0,{fileName:J9,lineNumber:242,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:239,columnNumber:4},this)]},void 0,!0,{fileName:J9,lineNumber:234,columnNumber:3},this)}function xet(){return qc({title:`Keating Dashboard — Usage & Analytics`,description:`View your Keating usage statistics, session history, and learning analytics.`,canonical:`https://keating.help/usage`}),(0,L.jsxDEV)(F.Suspense,{fallback:(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,L.jsxDEV)(`div`,{className:`flex min-h-screen items-center justify-center text-sm text-muted-foreground`,children:`Loading usage...`},void 0,!1,{fileName:J9,lineNumber:257,columnNumber:5},this)},void 0,!1,{fileName:J9,lineNumber:256,columnNumber:4},this),children:(0,L.jsxDEV)(yet,{},void 0,!1,{fileName:J9,lineNumber:262,columnNumber:4},this)},void 0,!1,{fileName:J9,lineNumber:255,columnNumber:3},this)}var Z9=`/home/diogenes/Projects/keating/web/src/pages/OAuthCallback.tsx`;function Cet(){let[e,t]=(0,F.useState)(null);return(0,F.useEffect)(()=>{let e=new URLSearchParams(window.location.search),n=e.get(`code`),r=e.get(`error`),i=e.get(`error_description`);if(r){let e={success:!1,error:i??r};t(e),Q9(e);return}if(!n){let e={success:!1,error:`No authorization code received.`};t(e),Q9(e);return}HOe(n).then(e=>{t(e),Q9(e)})},[]),(0,L.jsxDEV)(`div`,{className:`flex min-h-screen items-center justify-center bg-background`,children:(0,L.jsxDEV)(`div`,{className:`max-w-md rounded-lg border border-border bg-card p-8 text-center shadow-lg`,children:e===null?(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`div`,{className:`mx-auto mb-4 h-8 w-8 animate-spin rounded-full border-2 border-primary border-t-transparent`},void 0,!1,{fileName:Z9,lineNumber:44,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Signing in...`},void 0,!1,{fileName:Z9,lineNumber:45,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Completing authentication, please wait.`},void 0,!1,{fileName:Z9,lineNumber:46,columnNumber:7},this)]},void 0,!0):e.success?(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`div`,{className:`mx-auto mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,L.jsxDEV)(`svg`,{className:`h-6 w-6`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:(0,L.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M5 13l4 4L19 7`},void 0,!1,{fileName:Z9,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:Z9,lineNumber:51,columnNumber:8},this)},void 0,!1,{fileName:Z9,lineNumber:50,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Signed in successfully`},void 0,!1,{fileName:Z9,lineNumber:55,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`You can close this window and return to Keating.`},void 0,!1,{fileName:Z9,lineNumber:56,columnNumber:7},this)]},void 0,!0):(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`div`,{className:`mx-auto mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-destructive/10 text-destructive`,children:(0,L.jsxDEV)(`svg`,{className:`h-6 w-6`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:(0,L.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 18L18 6M6 6l12 12`},void 0,!1,{fileName:Z9,lineNumber:64,columnNumber:9},this)},void 0,!1,{fileName:Z9,lineNumber:63,columnNumber:8},this)},void 0,!1,{fileName:Z9,lineNumber:62,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Sign-in failed`},void 0,!1,{fileName:Z9,lineNumber:67,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-destructive`,children:e.error},void 0,!1,{fileName:Z9,lineNumber:68,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`You can close this window and try again.`},void 0,!1,{fileName:Z9,lineNumber:69,columnNumber:7},this)]},void 0,!0)},void 0,!1,{fileName:Z9,lineNumber:41,columnNumber:4},this)},void 0,!1,{fileName:Z9,lineNumber:40,columnNumber:3},this)}function Q9(e){try{window.opener&&!window.opener.closed&&window.opener.postMessage({type:`keating-oauth-result`,...e},window.location.origin)}catch{}}var wet=`/home/diogenes/Projects/keating/web/src/App.tsx`,$9=Hi({component:()=>(0,L.jsxDEV)(ea,{},void 0,!1,{fileName:wet,lineNumber:18,columnNumber:54},void 0)}),Tet=Bi({getParentRoute:()=>$9,path:`/`,component:Qc}),Eet=Bi({getParentRoute:()=>$9,path:`/chat`,component:OUe}),Det=Bi({getParentRoute:()=>$9,path:`/usage`,component:xet}),Oet=Bi({getParentRoute:()=>$9,path:`/s/$shareId`,component:PUe}),ket=Bi({getParentRoute:()=>$9,path:`/tutorial`,component:el}),Aet=Bi({getParentRoute:()=>$9,path:`/blog`,component:ll}),jet=Bi({getParentRoute:()=>$9,path:`/paper`,component:kUe}),Met=Bi({getParentRoute:()=>$9,path:`/oauth/callback`,component:Cet}),Net=aa({routeTree:$9.addChildren([Tet,Eet,Det,Oet,ket,Aet,jet,Met]),history:dr()});function Pet(){return(0,L.jsxDEV)(ca,{router:Net},void 0,!1,{fileName:wet,lineNumber:89,columnNumber:10},this)}var Fet={light:`#f4f1ea`,dark:`#0c0c0c`};function Iet(){let e=document.documentElement.classList.contains(`dark`),t=document.getElementById(`theme-color-meta`);t&&(t.content=e?Fet.dark:Fet.light)}function Let(){Iet(),new MutationObserver(e=>{for(let t of e)t.attributeName===`class`&&Iet()}).observe(document.documentElement,{attributes:!0})}o(()=>import(`./dist-oYdMaa1U.js`),__vite__mapDeps([46,2,47])),Let(),Qe.createRoot(document.getElementById(`root`)).render((0,L.jsxDEV)(Pet,{},void 0,!1,{fileName:`/home/diogenes/Projects/keating/web/src/main-react.tsx`,lineNumber:13,columnNumber:62},void 0));
|
|
3187
|
+
(in progress)`,e.topicsCovered&&e.topicsCovered.length>1?`\nAlso: ${e.topicsCovered.slice(1).join(`, `)}`:``]},void 0,!0,{fileName:G9,lineNumber:337,columnNumber:9},this)},void 0,!1,{fileName:G9,lineNumber:328,columnNumber:8},this)]},`${e.startedAt}-${n}`,!0,{fileName:G9,lineNumber:317,columnNumber:7},this)})]},void 0,!0,{fileName:G9,lineNumber:290,columnNumber:4},this)},void 0,!1,{fileName:G9,lineNumber:289,columnNumber:3},this)}function det({days:e}){if(e.length===0)return(0,L.jsxDEV)(q9,{message:`No daily activity yet.`},void 0,!1,{fileName:G9,lineNumber:355,columnNumber:32},this);let t=e.reduce((e,t)=>Math.max(e,t.count),0),n=Math.ceil(e.length/7)*17,r=e=>e===0?`var(--muted, #f3f4f6)`:`rgba(99, 102, 241, ${(.25+(t<=1?1:e/t)*.75).toFixed(2)})`,i=e[0].date,a=i.getDay();return(0,L.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,L.jsxDEV)(`svg`,{width:n,height:135,role:`img`,"aria-label":`Daily activity heatmap`,style:{minWidth:n},children:[e.map((e,t)=>{let n=t+a,i=Math.floor(n/7),o=n%7;return(0,L.jsxDEV)(`rect`,{x:i*17,y:o*17,width:14,height:14,rx:2,fill:r(e.count),stroke:`currentColor`,strokeOpacity:.05,children:(0,L.jsxDEV)(`title`,{children:[e.date.toLocaleDateString(),` — `,e.count,` session`,e.count===1?``:`s`]},void 0,!0,{fileName:G9,lineNumber:394,columnNumber:8},this)},t,!1,{fileName:G9,lineNumber:383,columnNumber:7},this)}),(0,L.jsxDEV)(`text`,{x:0,y:133,fontSize:10,fill:`currentColor`,opacity:.55,children:i.toLocaleDateString(void 0,{month:`short`,day:`numeric`})},void 0,!1,{fileName:G9,lineNumber:400,columnNumber:5},this),(0,L.jsxDEV)(`text`,{x:n,y:133,fontSize:10,fill:`currentColor`,opacity:.55,textAnchor:`end`,children:`Today`},void 0,!1,{fileName:G9,lineNumber:403,columnNumber:5},this)]},void 0,!0,{fileName:G9,lineNumber:375,columnNumber:4},this)},void 0,!1,{fileName:G9,lineNumber:374,columnNumber:3},this)}function fet({openChecklists:e,weaknesses:t,strengths:n}){return e.length>0||t.length>0||n.length>0?(0,L.jsxDEV)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:`Open checklists`},void 0,!1,{fileName:G9,lineNumber:427,columnNumber:5},this),e.length===0?(0,L.jsxDEV)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`All caught up.`},void 0,!1,{fileName:G9,lineNumber:429,columnNumber:6},this):(0,L.jsxDEV)(`ul`,{className:`mt-2 space-y-1.5 text-sm`,children:e.slice(0,8).map(e=>(0,L.jsxDEV)(`li`,{className:`rounded-md border border-border px-2 py-1.5`,children:[(0,L.jsxDEV)(`div`,{className:`font-medium truncate`,children:e.topic},void 0,!1,{fileName:G9,lineNumber:434,columnNumber:9},this),(0,L.jsxDEV)(`div`,{className:`text-xs text-muted-foreground`,children:[`opened `,new Date(e.createdAt).toLocaleDateString()]},void 0,!0,{fileName:G9,lineNumber:435,columnNumber:9},this)]},e.id,!0,{fileName:G9,lineNumber:433,columnNumber:8},this))},void 0,!1,{fileName:G9,lineNumber:431,columnNumber:6},this)]},void 0,!0,{fileName:G9,lineNumber:426,columnNumber:4},this),(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:`Weak spots`},void 0,!1,{fileName:G9,lineNumber:444,columnNumber:5},this),t.length===0?(0,L.jsxDEV)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`None flagged.`},void 0,!1,{fileName:G9,lineNumber:446,columnNumber:6},this):(0,L.jsxDEV)(`ul`,{className:`mt-2 flex flex-wrap gap-1.5`,children:t.map(e=>(0,L.jsxDEV)(`li`,{className:`rounded-full border border-destructive/30 bg-destructive/5 px-2.5 py-1 text-xs text-destructive`,children:e},e,!1,{fileName:G9,lineNumber:450,columnNumber:8},this))},void 0,!1,{fileName:G9,lineNumber:448,columnNumber:6},this)]},void 0,!0,{fileName:G9,lineNumber:443,columnNumber:4},this),(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:`Strengths`},void 0,!1,{fileName:G9,lineNumber:458,columnNumber:5},this),n.length===0?(0,L.jsxDEV)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`Building.`},void 0,!1,{fileName:G9,lineNumber:460,columnNumber:6},this):(0,L.jsxDEV)(`ul`,{className:`mt-2 flex flex-wrap gap-1.5`,children:n.map(e=>(0,L.jsxDEV)(`li`,{className:`rounded-full border border-primary/30 bg-primary/5 px-2.5 py-1 text-xs text-primary`,children:e},e,!1,{fileName:G9,lineNumber:464,columnNumber:8},this))},void 0,!1,{fileName:G9,lineNumber:462,columnNumber:6},this)]},void 0,!0,{fileName:G9,lineNumber:457,columnNumber:4},this)]},void 0,!0,{fileName:G9,lineNumber:425,columnNumber:3},this):(0,L.jsxDEV)(q9,{message:`Nothing on the runway yet — checklists and weak spots will surface here as you learn.`},void 0,!1,{fileName:G9,lineNumber:422,columnNumber:10},this)}var J9=`/home/diogenes/Projects/keating/web/src/pages/Usage.tsx`,pet=null;function Y9(e){return new Intl.NumberFormat().format(Math.round(e))}function met(e){return e>0?`$${e.toFixed(e<1?4:2)}`:`$0`}function het(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function get(e,t){return Math.max(1,Math.ceil((new Date(t).getTime()-new Date(e).getTime())/864e5)+1)}function _et(e){return e.replace(/\s+/g,` `).trim().split(/[.!?]\s/)[0]?.slice(0,120)||`No preview saved`}function vet(){return(0,F.use)(bq()),pet||=hq.getAllMetadata(),(0,F.use)(pet)}function X9({icon:e,label:t,value:n,detail:r}){return(0,L.jsxDEV)(`div`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,L.jsxDEV)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,L.jsxDEV)(`div`,{className:`text-sm text-muted-foreground`,children:t},void 0,!1,{fileName:J9,lineNumber:53,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`text-muted-foreground`,children:e},void 0,!1,{fileName:J9,lineNumber:54,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:52,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`mt-3 text-2xl font-semibold`,children:n},void 0,!1,{fileName:J9,lineNumber:56,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:r},void 0,!1,{fileName:J9,lineNumber:57,columnNumber:4},this)]},void 0,!0,{fileName:J9,lineNumber:51,columnNumber:3},this)}function yet(){let[e,t]=(0,F.useState)(null);return(0,F.useEffect)(()=>{let e=!1;return Promise.all([vq.getLessonPlans(),vq.getLessonMaps(),vq.getAnimations(),vq.getBenchmarks(),vq.getEvolutions(),vq.getPromptEvolutions(),vq.getImprovementAttempts()]).then(([n,r,i,a,o,s,c])=>{e||t({plans:n.length,maps:r.length,animations:i.length,benchmarks:a.length,evolutions:o.length,promptEvolutions:s.length,improvements:c.length})}).catch(()=>{}),()=>{e=!0}},[]),e}function bet(){let e=Ci(),t=vet().sort((e,t)=>t.lastModified.localeCompare(e.lastModified)),n=yet(),r=t.reduce((e,t)=>(e.messages+=t.messageCount,e.input+=t.usage.input,e.output+=t.usage.output,e.tokens+=t.usage.totalTokens,e.cost+=t.usage.cost.total,e),{messages:0,input:0,output:0,tokens:0,cost:0}),i=t.length?get(t[t.length-1].createdAt,t[0].lastModified):0,a=t.slice(0,8),o=[...t].sort((e,t)=>t.messageCount-e.messageCount).slice(0,5),s=i?r.messages/i:0,c=n?n.benchmarks+n.evolutions+n.promptEvolutions+n.improvements:0,l=n?n.plans+n.maps+n.animations:0;return(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:[(0,L.jsxDEV)(`header`,{className:`border-b border-border`,children:(0,L.jsxDEV)(`div`,{className:`mx-auto flex max-w-6xl flex-wrap items-center justify-between gap-3 px-4 py-4`,children:[(0,L.jsxDEV)(`div`,{children:[(0,L.jsxDEV)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:`Keating usage`},void 0,!1,{fileName:J9,lineNumber:119,columnNumber:7},this),(0,L.jsxDEV)(`h1`,{className:`text-2xl font-semibold`,children:`Learning activity`},void 0,!1,{fileName:J9,lineNumber:120,columnNumber:7},this)]},void 0,!0,{fileName:J9,lineNumber:118,columnNumber:6},this),(0,L.jsxDEV)(`button`,{className:`inline-flex h-9 items-center gap-2 rounded-md border border-border px-3 text-sm hover:bg-accent`,onClick:()=>e({to:`/chat`}),children:[(0,L.jsxDEV)(ya,{size:16},void 0,!1,{fileName:J9,lineNumber:126,columnNumber:7},this),`Back to chat`]},void 0,!0,{fileName:J9,lineNumber:122,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:117,columnNumber:5},this)},void 0,!1,{fileName:J9,lineNumber:116,columnNumber:4},this),(0,L.jsxDEV)(`main`,{className:`mx-auto max-w-6xl px-4 py-6`,children:[(0,L.jsxDEV)(`div`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(xa,{size:18},void 0,!1,{fileName:J9,lineNumber:135,columnNumber:13},this),label:`Learning sessions`,value:Y9(t.length),detail:i?`${i} day learning window`:`No sessions yet`},void 0,!1,{fileName:J9,lineNumber:134,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(eo,{size:18},void 0,!1,{fileName:J9,lineNumber:141,columnNumber:13},this),label:`Socratic turns`,value:Y9(r.messages),detail:`${s.toFixed(1)} messages per active day`},void 0,!1,{fileName:J9,lineNumber:140,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(wa,{size:18},void 0,!1,{fileName:J9,lineNumber:147,columnNumber:13},this),label:`Model tokens`,value:Y9(r.tokens||r.input+r.output),detail:`${Y9(r.input)} in / ${Y9(r.output)} out`},void 0,!1,{fileName:J9,lineNumber:146,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(xo,{size:18},void 0,!1,{fileName:J9,lineNumber:153,columnNumber:13},this),label:`Estimated spend`,value:met(r.cost),detail:`Based on provider usage metadata`},void 0,!1,{fileName:J9,lineNumber:152,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:133,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`mt-6 grid gap-3 sm:grid-cols-3`,children:[(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(Wa,{size:18},void 0,!1,{fileName:J9,lineNumber:163,columnNumber:13},this),label:`Teaching materials`,value:Y9(l),detail:`${Y9(n?.plans??0)} plans · ${Y9(n?.maps??0)} maps · ${Y9(n?.animations??0)} animations`},void 0,!1,{fileName:J9,lineNumber:162,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(za,{size:18},void 0,!1,{fileName:J9,lineNumber:169,columnNumber:13},this),label:`Self-improvement runs`,value:Y9(c),detail:`${Y9(n?.evolutions??0)} evolutions · ${Y9(n?.promptEvolutions??0)} prompt evos`},void 0,!1,{fileName:J9,lineNumber:168,columnNumber:6},this),(0,L.jsxDEV)(X9,{icon:(0,L.jsxDEV)(Ua,{size:18},void 0,!1,{fileName:J9,lineNumber:175,columnNumber:13},this),label:`Improvement attempts`,value:Y9(n?.improvements??0),detail:n&&n.improvements>0?`${Y9(n.benchmarks)} benchmarks measured`:`No improvements logged yet`},void 0,!1,{fileName:J9,lineNumber:174,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:161,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`mt-6 grid gap-6 lg:grid-cols-[1.25fr_0.75fr]`,children:[(0,L.jsxDEV)(`section`,{className:`rounded-lg border border-border bg-background`,children:[(0,L.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,L.jsxDEV)(`h2`,{className:`text-sm font-semibold`,children:`Recent learning`},void 0,!1,{fileName:J9,lineNumber:185,columnNumber:8},this),(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Latest saved sessions and their focus`},void 0,!1,{fileName:J9,lineNumber:186,columnNumber:8},this)]},void 0,!0,{fileName:J9,lineNumber:184,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`divide-y divide-border`,children:a.length===0?(0,L.jsxDEV)(`div`,{className:`px-4 py-8 text-center text-sm text-muted-foreground`,children:`Start a chat and Keating will track your learning activity here.`},void 0,!1,{fileName:J9,lineNumber:190,columnNumber:9},this):a.map(e=>(0,L.jsxDEV)(xet,{session:e},e.id,!1,{fileName:J9,lineNumber:194,columnNumber:9},this))},void 0,!1,{fileName:J9,lineNumber:188,columnNumber:7},this)]},void 0,!0,{fileName:J9,lineNumber:183,columnNumber:6},this),(0,L.jsxDEV)(`section`,{className:`rounded-lg border border-border bg-background`,children:[(0,L.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,L.jsxDEV)(`h2`,{className:`text-sm font-semibold`,children:`Deepest dives`},void 0,!1,{fileName:J9,lineNumber:201,columnNumber:8},this),(0,L.jsxDEV)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Sessions with the most back-and-forth`},void 0,!1,{fileName:J9,lineNumber:202,columnNumber:8},this)]},void 0,!0,{fileName:J9,lineNumber:200,columnNumber:7},this),(0,L.jsxDEV)(`div`,{className:`space-y-3 p-4`,children:o.length===0?(0,L.jsxDEV)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:`No learning history yet`},void 0,!1,{fileName:J9,lineNumber:206,columnNumber:9},this):o.map((e,t)=>(0,L.jsxDEV)(`div`,{className:`flex items-start gap-3`,children:[(0,L.jsxDEV)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-muted text-xs font-medium`,children:t+1},void 0,!1,{fileName:J9,lineNumber:209,columnNumber:10},this),(0,L.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title},void 0,!1,{fileName:J9,lineNumber:213,columnNumber:11},this),(0,L.jsxDEV)(`div`,{className:`mt-1 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,L.jsxDEV)(Fa,{size:13},void 0,!1,{fileName:J9,lineNumber:215,columnNumber:12},this),e.messageCount,` messages | `,het(e.lastModified)]},void 0,!0,{fileName:J9,lineNumber:214,columnNumber:11},this)]},void 0,!0,{fileName:J9,lineNumber:212,columnNumber:10},this)]},e.id,!0,{fileName:J9,lineNumber:208,columnNumber:9},this))},void 0,!1,{fileName:J9,lineNumber:204,columnNumber:7},this)]},void 0,!0,{fileName:J9,lineNumber:199,columnNumber:6},this)]},void 0,!0,{fileName:J9,lineNumber:182,columnNumber:5},this),(0,L.jsxDEV)(oet,{sessionMetadata:t},void 0,!1,{fileName:J9,lineNumber:225,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:132,columnNumber:4},this)]},void 0,!0,{fileName:J9,lineNumber:115,columnNumber:3},this)}function xet({session:e}){let t=e.usage.totalTokens||e.usage.input+e.usage.output;return(0,L.jsxDEV)(`div`,{className:`grid gap-3 px-4 py-3 sm:grid-cols-[1fr_auto] sm:items-center`,children:[(0,L.jsxDEV)(`div`,{className:`min-w-0`,children:[(0,L.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title},void 0,!1,{fileName:J9,lineNumber:236,columnNumber:5},this),(0,L.jsxDEV)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:_et(e.preview)},void 0,!1,{fileName:J9,lineNumber:237,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:235,columnNumber:4},this),(0,L.jsxDEV)(`div`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground sm:justify-end`,children:[(0,L.jsxDEV)(`span`,{className:`rounded-md bg-muted px-2 py-1`,children:het(e.lastModified)},void 0,!1,{fileName:J9,lineNumber:240,columnNumber:5},this),(0,L.jsxDEV)(`span`,{className:`rounded-md bg-muted px-2 py-1`,children:[e.messageCount,` turns`]},void 0,!0,{fileName:J9,lineNumber:241,columnNumber:5},this),(0,L.jsxDEV)(`span`,{className:`rounded-md bg-muted px-2 py-1`,children:[Y9(t),` tokens`]},void 0,!0,{fileName:J9,lineNumber:242,columnNumber:5},this)]},void 0,!0,{fileName:J9,lineNumber:239,columnNumber:4},this)]},void 0,!0,{fileName:J9,lineNumber:234,columnNumber:3},this)}function Cet(){return qc({title:`Keating Dashboard — Usage & Analytics`,description:`View your Keating usage statistics, session history, and learning analytics.`,canonical:`https://keating.help/usage`}),(0,L.jsxDEV)(F.Suspense,{fallback:(0,L.jsxDEV)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,L.jsxDEV)(`div`,{className:`flex min-h-screen items-center justify-center text-sm text-muted-foreground`,children:`Loading usage...`},void 0,!1,{fileName:J9,lineNumber:257,columnNumber:5},this)},void 0,!1,{fileName:J9,lineNumber:256,columnNumber:4},this),children:(0,L.jsxDEV)(bet,{},void 0,!1,{fileName:J9,lineNumber:262,columnNumber:4},this)},void 0,!1,{fileName:J9,lineNumber:255,columnNumber:3},this)}var Z9=`/home/diogenes/Projects/keating/web/src/pages/OAuthCallback.tsx`;function wet(){let[e,t]=(0,F.useState)(null);return(0,F.useEffect)(()=>{let e=new URLSearchParams(window.location.search),n=e.get(`code`),r=e.get(`error`),i=e.get(`error_description`);if(r){let e={success:!1,error:i??r};t(e),Q9(e);return}if(!n){let e={success:!1,error:`No authorization code received.`};t(e),Q9(e);return}HOe(n).then(e=>{t(e),Q9(e)})},[]),(0,L.jsxDEV)(`div`,{className:`flex min-h-screen items-center justify-center bg-background`,children:(0,L.jsxDEV)(`div`,{className:`max-w-md rounded-lg border border-border bg-card p-8 text-center shadow-lg`,children:e===null?(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`div`,{className:`mx-auto mb-4 h-8 w-8 animate-spin rounded-full border-2 border-primary border-t-transparent`},void 0,!1,{fileName:Z9,lineNumber:44,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Signing in...`},void 0,!1,{fileName:Z9,lineNumber:45,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Completing authentication, please wait.`},void 0,!1,{fileName:Z9,lineNumber:46,columnNumber:7},this)]},void 0,!0):e.success?(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`div`,{className:`mx-auto mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,L.jsxDEV)(`svg`,{className:`h-6 w-6`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:(0,L.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M5 13l4 4L19 7`},void 0,!1,{fileName:Z9,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:Z9,lineNumber:51,columnNumber:8},this)},void 0,!1,{fileName:Z9,lineNumber:50,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Signed in successfully`},void 0,!1,{fileName:Z9,lineNumber:55,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`You can close this window and return to Keating.`},void 0,!1,{fileName:Z9,lineNumber:56,columnNumber:7},this)]},void 0,!0):(0,L.jsxDEV)(L.Fragment,{children:[(0,L.jsxDEV)(`div`,{className:`mx-auto mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-destructive/10 text-destructive`,children:(0,L.jsxDEV)(`svg`,{className:`h-6 w-6`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:(0,L.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 18L18 6M6 6l12 12`},void 0,!1,{fileName:Z9,lineNumber:64,columnNumber:9},this)},void 0,!1,{fileName:Z9,lineNumber:63,columnNumber:8},this)},void 0,!1,{fileName:Z9,lineNumber:62,columnNumber:7},this),(0,L.jsxDEV)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Sign-in failed`},void 0,!1,{fileName:Z9,lineNumber:67,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-2 text-sm text-destructive`,children:e.error},void 0,!1,{fileName:Z9,lineNumber:68,columnNumber:7},this),(0,L.jsxDEV)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`You can close this window and try again.`},void 0,!1,{fileName:Z9,lineNumber:69,columnNumber:7},this)]},void 0,!0)},void 0,!1,{fileName:Z9,lineNumber:41,columnNumber:4},this)},void 0,!1,{fileName:Z9,lineNumber:40,columnNumber:3},this)}function Q9(e){try{window.opener&&!window.opener.closed&&window.opener.postMessage({type:`keating-oauth-result`,...e},window.location.origin)}catch{}}var Tet=`/home/diogenes/Projects/keating/web/src/App.tsx`,$9=Hi({component:()=>(0,L.jsxDEV)(ea,{},void 0,!1,{fileName:Tet,lineNumber:18,columnNumber:54},void 0)}),Eet=Bi({getParentRoute:()=>$9,path:`/`,component:Qc}),Det=Bi({getParentRoute:()=>$9,path:`/chat`,component:kUe}),Oet=Bi({getParentRoute:()=>$9,path:`/usage`,component:Cet}),ket=Bi({getParentRoute:()=>$9,path:`/s/$shareId`,component:FUe}),Aet=Bi({getParentRoute:()=>$9,path:`/tutorial`,component:el}),jet=Bi({getParentRoute:()=>$9,path:`/blog`,component:ll}),Met=Bi({getParentRoute:()=>$9,path:`/paper`,component:AUe}),Net=Bi({getParentRoute:()=>$9,path:`/oauth/callback`,component:wet}),Pet=aa({routeTree:$9.addChildren([Eet,Det,Oet,ket,Aet,jet,Met,Net]),history:dr()});function Fet(){return(0,L.jsxDEV)(ca,{router:Pet},void 0,!1,{fileName:Tet,lineNumber:89,columnNumber:10},this)}var Iet={light:`#f4f1ea`,dark:`#0c0c0c`};function Let(){let e=document.documentElement.classList.contains(`dark`),t=document.getElementById(`theme-color-meta`);t&&(t.content=e?Iet.dark:Iet.light)}function Ret(){Let(),new MutationObserver(e=>{for(let t of e)t.attributeName===`class`&&Let()}).observe(document.documentElement,{attributes:!0})}o(()=>import(`./dist-oYdMaa1U.js`),__vite__mapDeps([46,2,47])),Ret(),Qe.createRoot(document.getElementById(`root`)).render((0,L.jsxDEV)(Fet,{},void 0,!1,{fileName:`/home/diogenes/Projects/keating/web/src/main-react.tsx`,lineNumber:13,columnNumber:62},void 0));
|