cctally 1.23.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/bin/_cctally_alerts.py +128 -24
- package/bin/_cctally_config.py +202 -11
- package/bin/_cctally_core.py +118 -0
- package/bin/_cctally_dashboard.py +193 -26
- package/bin/_cctally_forecast.py +480 -16
- package/bin/_cctally_milestones.py +146 -0
- package/bin/_cctally_parser.py +11 -4
- package/bin/_cctally_project.py +51 -0
- package/bin/_cctally_record.py +227 -1
- package/bin/_lib_alert_axes.py +21 -7
- package/bin/_lib_alert_dispatch.py +141 -0
- package/bin/_lib_alerts_payload.py +70 -0
- package/bin/cctally +19 -0
- package/dashboard/static/assets/index-C2F1_Mxt.js +18 -0
- package/dashboard/static/assets/{index-ZHOC14y-.css → index-D34qf0LE.css} +1 -1
- package/dashboard/static/dashboard.html +2 -2
- package/package.json +2 -1
- package/dashboard/static/assets/index-CXZDQrV3.js +0 -18
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function ee(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function te(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function E(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var D=/\/+/g;function O(e,t){return typeof e==`object`&&e&&e.key!=null?E(``+e.key):t.toString(36)}function ne(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+O(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(D,`$&/`)+`/`),ne(o,r,i,``,function(e){return e})):o!=null&&(te(o)&&(o=ee(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(D,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+O(s,l);c+=ne(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+O(s,l++),c+=ne(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function re(e,t,n){if(e==null)return e;var r=[],i=0;return ne(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ie(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k={current:null},A={transition:null},ae={ReactCurrentDispatcher:k,ReactCurrentBatchConfig:A,ReactCurrentOwner:C};function oe(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:re,forEach:function(e,t,n){re(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return re(e,function(){t++}),t},toArray:function(e){return re(e,function(e){return e})||[]},only:function(e){if(!te(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ae,e.act=oe,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=te,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ie}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=A.transition;A.transition={};try{e()}finally{A.transition=t}},e.unstable_act=oe,e.useCallback=function(e,t){return k.current.useCallback(e,t)},e.useContext=function(e){return k.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return k.current.useDeferredValue(e)},e.useEffect=function(e,t){return k.current.useEffect(e,t)},e.useId=function(){return k.current.useId()},e.useImperativeHandle=function(e,t,n){return k.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return k.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return k.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return k.current.useMemo(e,t)},e.useReducer=function(e,t,n){return k.current.useReducer(e,t,n)},e.useRef=function(e){return k.current.useRef(e)},e.useState=function(e){return k.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return k.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return k.current.useTransition()},e.version=`18.3.1`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,re(x);else{var t=n(l);t!==null&&ie(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!te());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&ie(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,ee=-1;function te(){return!(e.unstable_now()-ee<T)}function E(){if(C!==null){var t=e.unstable_now();ee=t;var n=!0;try{n=C(!0,t)}finally{n?D():(S=!1,C=null)}}else S=!1}var D;if(typeof v==`function`)D=function(){v(E)};else if(typeof MessageChannel<`u`){var O=new MessageChannel,ne=O.port2;O.port1.onmessage=E,D=function(){ne.postMessage(null)}}else D=function(){g(E,0)};function re(e){C=e,S||(S=!0,D())}function ie(t,n){w=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,re(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,ie(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,re(x))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u(),n=f();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,a={};function o(e,t){s(e,t),s(e+`Capture`,t)}function s(e,t){for(a[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return l.call(m,e)?!0:l.call(p,e)?!1:d.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(`react.element`),T=Symbol.for(`react.portal`),ee=Symbol.for(`react.fragment`),te=Symbol.for(`react.strict_mode`),E=Symbol.for(`react.profiler`),D=Symbol.for(`react.provider`),O=Symbol.for(`react.context`),ne=Symbol.for(`react.forward_ref`),re=Symbol.for(`react.suspense`),ie=Symbol.for(`react.suspense_list`),k=Symbol.for(`react.memo`),A=Symbol.for(`react.lazy`),ae=Symbol.for(`react.offscreen`),oe=Symbol.iterator;function se(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}var j=Object.assign,ce;function M(e){if(ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ce=t&&t[1]||``}return`
|
|
2
|
+
`+ce+e}var le=!1;function N(e,t){if(!e||le)return``;le=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
|
|
3
|
+
`),a=r.stack.split(`
|
|
4
|
+
`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var c=`
|
|
5
|
+
`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(`<anonymous>`)&&(c=c.replace(`<anonymous>`,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{le=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?M(e):``}function ue(e){switch(e.tag){case 5:return M(e.type);case 16:return M(`Lazy`);case 13:return M(`Suspense`);case 19:return M(`SuspenseList`);case 0:case 2:case 15:return e=N(e.type,!1),e;case 11:return e=N(e.type.render,!1),e;case 1:return e=N(e.type,!0),e;default:return``}}function P(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case ee:return`Fragment`;case T:return`Portal`;case E:return`Profiler`;case te:return`StrictMode`;case re:return`Suspense`;case ie:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case O:return(e.displayName||`Context`)+`.Consumer`;case D:return(e._context.displayName||`Context`)+`.Provider`;case ne:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case k:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case A:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}function de(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return P(t);case 8:return t===te?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function fe(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function pe(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function F(e){var t=pe(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function me(e){e._valueTracker||=F(e)}function he(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=pe(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function ge(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function _e(e,t){var n=t.checked;return j({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function ve(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=fe(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function ye(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function be(e,t){ye(e,t);var n=fe(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?Se(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&Se(e,t.type,fe(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xe(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function Se(e,t,n){(t!==`number`||ge(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var Ce=Array.isArray;function I(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+fe(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function we(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return j({},t,{value:void 0,defaultValue:void 0,children:``+e._wrapperState.initialValue})}function Te(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(r(92));if(Ce(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}t??=``,n=t}e._wrapperState={initialValue:fe(n)}}function Ee(e,t){var n=fe(t.value),r=fe(t.defaultValue);n!=null&&(n=``+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=``+r)}function De(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==``&&t!==null&&(e.value=t)}function Oe(e){switch(e){case`svg`:return`http://www.w3.org/2000/svg`;case`math`:return`http://www.w3.org/1998/Math/MathML`;default:return`http://www.w3.org/1999/xhtml`}}function ke(e,t){return e==null||e===`http://www.w3.org/1999/xhtml`?Oe(t):e===`http://www.w3.org/2000/svg`&&t===`foreignObject`?`http://www.w3.org/1999/xhtml`:e}var Ae,L=function(e){return typeof MSApp<`u`&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==`http://www.w3.org/2000/svg`||`innerHTML`in e)e.innerHTML=t;else{for(Ae||=document.createElement(`div`),Ae.innerHTML=`<svg>`+t.valueOf().toString()+`</svg>`,t=Ae.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function je(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Me={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ne=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Me).forEach(function(e){Ne.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Me[t]=Me[e]})});function R(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Me.hasOwnProperty(e)&&Me[e]?(``+t).trim():t+`px`}function z(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=R(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Pe=j({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Fe(e,t){if(t){if(Pe[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function Ie(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Le=null;function B(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Re=null,V=null,ze=null;function Be(e){if(e=Ii(e)){if(typeof Re!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Ri(t),Re(e.stateNode,e.type,t))}}function Ve(e){V?ze?ze.push(e):ze=[e]:V=e}function He(){if(V){var e=V,t=ze;if(ze=V=null,Be(e),t)for(e=0;e<t.length;e++)Be(t[e])}}function Ue(e,t){return e(t)}function H(){}var We=!1;function Ge(e,t,n){if(We)return e(t,n);We=!0;try{return Ue(e,t,n)}finally{We=!1,(V!==null||ze!==null)&&(H(),He())}}function Ke(e,t){var n=e.stateNode;if(n===null)return null;var i=Ri(n);if(i===null)return null;n=i[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(i=!i.disabled)||(e=e.type,i=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!i;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(r(231,t,typeof n));return n}var qe=!1;if(c)try{var Je={};Object.defineProperty(Je,`passive`,{get:function(){qe=!0}}),window.addEventListener(`test`,Je,Je),window.removeEventListener(`test`,Je,Je)}catch{qe=!1}function Ye(e,t,n,r,i,a,o,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var Xe=!1,Ze=null,Qe=!1,$e=null,et={onError:function(e){Xe=!0,Ze=e}};function tt(e,t,n,r,i,a,o,s,c){Xe=!1,Ze=null,Ye.apply(et,arguments)}function nt(e,t,n,i,a,o,s,c,l){if(tt.apply(this,arguments),Xe){if(Xe){var u=Ze;Xe=!1,Ze=null}else throw Error(r(198));Qe||(Qe=!0,$e=u)}}function rt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function it(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function at(e){if(rt(e)!==e)throw Error(r(188))}function ot(e){var t=e.alternate;if(!t){if(t=rt(e),t===null)throw Error(r(188));return t===e?e:null}for(var n=e,i=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(i=a.return,i!==null){n=i;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return at(a),e;if(o===i)return at(a),t;o=o.sibling}throw Error(r(188))}if(n.return!==i.return)n=a,i=o;else{for(var s=!1,c=a.child;c;){if(c===n){s=!0,n=a,i=o;break}if(c===i){s=!0,i=a,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,i=a;break}if(c===i){s=!0,i=o,n=a;break}c=c.sibling}if(!s)throw Error(r(189))}}if(n.alternate!==i)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function st(e){return e=ot(e),e===null?null:ct(e)}function ct(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=ct(e);if(t!==null)return t;e=e.sibling}return null}var lt=n.unstable_scheduleCallback,ut=n.unstable_cancelCallback,dt=n.unstable_shouldYield,ft=n.unstable_requestPaint,U=n.unstable_now,pt=n.unstable_getCurrentPriorityLevel,mt=n.unstable_ImmediatePriority,ht=n.unstable_UserBlockingPriority,gt=n.unstable_NormalPriority,_t=n.unstable_LowPriority,vt=n.unstable_IdlePriority,yt=null,bt=null;function xt(e){if(bt&&typeof bt.onCommitFiberRoot==`function`)try{bt.onCommitFiberRoot(yt,e,void 0,(e.current.flags&128)==128)}catch{}}var St=Math.clz32?Math.clz32:Tt,Ct=Math.log,wt=Math.LN2;function Tt(e){return e>>>=0,e===0?32:31-(Ct(e)/wt|0)|0}var Et=64,Dt=4194304;function Ot(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function kt(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=Ot(a))):r=Ot(s)}else o=n&~i,o===0?a!==0&&(r=Ot(a)):r=Ot(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-St(t),i=1<<n,r|=e[n],t&=~i;return r}function At(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function jt(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-St(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=At(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}function Mt(e){return e=e.pendingLanes&-1073741825,e===0?e&1073741824?1073741824:0:e}function Nt(){var e=Et;return Et<<=1,!(Et&4194240)&&(Et=64),e}function Pt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ft(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-St(t),e[t]=n}function It(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-St(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Lt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-St(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var W=0;function Rt(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var zt,Bt,Vt,Ht,Ut,Wt=!1,Gt=[],Kt=null,qt=null,Jt=null,Yt=new Map,Xt=new Map,Zt=[],Qt=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit`.split(` `);function $t(e,t){switch(e){case`focusin`:case`focusout`:Kt=null;break;case`dragenter`:case`dragleave`:qt=null;break;case`mouseover`:case`mouseout`:Jt=null;break;case`pointerover`:case`pointerout`:Yt.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Xt.delete(t.pointerId)}}function en(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ii(t),t!==null&&Bt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function tn(e,t,n,r,i){switch(t){case`focusin`:return Kt=en(Kt,e,t,n,r,i),!0;case`dragenter`:return qt=en(qt,e,t,n,r,i),!0;case`mouseover`:return Jt=en(Jt,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Yt.set(a,en(Yt.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Xt.set(a,en(Xt.get(a)||null,e,t,n,r,i)),!0}return!1}function nn(e){var t=K(e.target);if(t!==null){var n=rt(t);if(n!==null){if(t=n.tag,t===13){if(t=it(n),t!==null){e.blockedOn=t,Ut(e.priority,function(){Vt(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function rn(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=hn(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Le=r,n.target.dispatchEvent(r),Le=null}else return t=Ii(n),t!==null&&Bt(t),e.blockedOn=n,!1;t.shift()}return!0}function an(e,t,n){rn(e)&&n.delete(t)}function on(){Wt=!1,Kt!==null&&rn(Kt)&&(Kt=null),qt!==null&&rn(qt)&&(qt=null),Jt!==null&&rn(Jt)&&(Jt=null),Yt.forEach(an),Xt.forEach(an)}function sn(e,t){e.blockedOn===t&&(e.blockedOn=null,Wt||(Wt=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,on)))}function cn(e){function t(t){return sn(t,e)}if(0<Gt.length){sn(Gt[0],e);for(var n=1;n<Gt.length;n++){var r=Gt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Kt!==null&&sn(Kt,e),qt!==null&&sn(qt,e),Jt!==null&&sn(Jt,e),Yt.forEach(t),Xt.forEach(t),n=0;n<Zt.length;n++)r=Zt[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<Zt.length&&(n=Zt[0],n.blockedOn===null);)nn(n),n.blockedOn===null&&Zt.shift()}var ln=C.ReactCurrentBatchConfig,un=!0;function dn(e,t,n,r){var i=W,a=ln.transition;ln.transition=null;try{W=1,pn(e,t,n,r)}finally{W=i,ln.transition=a}}function fn(e,t,n,r){var i=W,a=ln.transition;ln.transition=null;try{W=4,pn(e,t,n,r)}finally{W=i,ln.transition=a}}function pn(e,t,n,r){if(un){var i=hn(e,t,n,r);if(i===null)ci(e,t,r,mn,n),$t(e,r);else if(tn(i,e,t,n,r))r.stopPropagation();else if($t(e,r),t&4&&-1<Qt.indexOf(e)){for(;i!==null;){var a=Ii(i);if(a!==null&&zt(a),a=hn(e,t,n,r),a===null&&ci(e,t,r,mn,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else ci(e,t,r,null,n)}}var mn=null;function hn(e,t,n,r){if(mn=null,e=B(r),e=K(e),e!==null)if(t=rt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=it(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return mn=e,null}function gn(e){switch(e){case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 1;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`toggle`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 4;case`message`:switch(pt()){case mt:return 1;case ht:return 4;case gt:case _t:return 16;case vt:return 536870912;default:return 16}default:return 16}}var _n=null,vn=null,yn=null;function bn(){if(yn)return yn;var e,t=vn,n=t.length,r,i=`value`in _n?_n.value:_n.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return yn=i.slice(e,1<r?1-r:void 0)}function xn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Sn(){return!0}function Cn(){return!1}function wn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Sn:Cn,this.isPropagationStopped=Cn,this}return j(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Sn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Sn)},persist:function(){},isPersistent:Sn}),t}var Tn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},En=wn(Tn),Dn=j({},Tn,{view:0,detail:0}),On=wn(Dn),kn,An,jn,Mn=j({},Dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Un,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==jn&&(jn&&e.type===`mousemove`?(kn=e.screenX-jn.screenX,An=e.screenY-jn.screenY):An=kn=0,jn=e),kn)},movementY:function(e){return`movementY`in e?e.movementY:An}}),Nn=wn(Mn),Pn=wn(j({},Mn,{dataTransfer:0})),Fn=wn(j({},Dn,{relatedTarget:0})),In=wn(j({},Tn,{animationName:0,elapsedTime:0,pseudoElement:0})),Ln=wn(j({},Tn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Rn=wn(j({},Tn,{data:0})),zn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Bn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Vn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Hn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Vn[e])?!!t[e]:!1}function Un(){return Hn}var Wn=wn(j({},Dn,{key:function(e){if(e.key){var t=zn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=xn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Bn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Un,charCode:function(e){return e.type===`keypress`?xn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?xn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Gn=wn(j({},Mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Kn=wn(j({},Dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Un})),qn=wn(j({},Tn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Jn=wn(j({},Mn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Yn=[9,13,27,32],Xn=c&&`CompositionEvent`in window,Zn=null;c&&`documentMode`in document&&(Zn=document.documentMode);var Qn=c&&`TextEvent`in window&&!Zn,$n=c&&(!Xn||Zn&&8<Zn&&11>=Zn),er=` `,tr=!1;function nr(e,t){switch(e){case`keyup`:return Yn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function rr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var ir=!1;function ar(e,t){switch(e){case`compositionend`:return rr(t);case`keypress`:return t.which===32?(tr=!0,er):null;case`textInput`:return e=t.data,e===er&&tr?null:e;default:return null}}function or(e,t){if(ir)return e===`compositionend`||!Xn&&nr(e,t)?(e=bn(),yn=vn=_n=null,ir=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return $n&&t.locale!==`ko`?null:t.data;default:return null}}var sr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!sr[e.type]:t===`textarea`}function lr(e,t,n,r){Ve(r),t=ui(t,`onChange`),0<t.length&&(n=new En(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var ur=null,dr=null;function fr(e){ri(e,0)}function pr(e){if(he(Li(e)))return e}function mr(e,t){if(e===`change`)return t}var hr=!1;if(c){var gr;if(c){var _r=`oninput`in document;if(!_r){var vr=document.createElement(`div`);vr.setAttribute(`oninput`,`return;`),_r=typeof vr.oninput==`function`}gr=_r}else gr=!1;hr=gr&&(!document.documentMode||9<document.documentMode)}function yr(){ur&&(ur.detachEvent(`onpropertychange`,br),dr=ur=null)}function br(e){if(e.propertyName===`value`&&pr(dr)){var t=[];lr(t,dr,e,B(e)),Ge(fr,t)}}function xr(e,t,n){e===`focusin`?(yr(),ur=t,dr=n,ur.attachEvent(`onpropertychange`,br)):e===`focusout`&&yr()}function Sr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return pr(dr)}function Cr(e,t){if(e===`click`)return pr(t)}function wr(e,t){if(e===`input`||e===`change`)return pr(t)}function Tr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Er=typeof Object.is==`function`?Object.is:Tr;function Dr(e,t){if(Er(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!l.call(t,i)||!Er(e[i],t[i]))return!1}return!0}function Or(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function kr(e,t){var n=Or(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Or(n)}}function Ar(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ar(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function jr(){for(var e=window,t=ge();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ge(e.document)}return t}function Mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}function Nr(e){var t=jr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ar(n.ownerDocument.documentElement,n)){if(r!==null&&Mr(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=kr(n,a);var o=kr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Pr=c&&`documentMode`in document&&11>=document.documentMode,Fr=null,Ir=null,Lr=null,Rr=!1;function zr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Rr||Fr==null||Fr!==ge(r)||(r=Fr,`selectionStart`in r&&Mr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Lr&&Dr(Lr,r)||(Lr=r,r=ui(Ir,`onSelect`),0<r.length&&(t=new En(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Fr)))}function Br(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Vr={animationend:Br(`Animation`,`AnimationEnd`),animationiteration:Br(`Animation`,`AnimationIteration`),animationstart:Br(`Animation`,`AnimationStart`),transitionend:Br(`Transition`,`TransitionEnd`)},Hr={},Ur={};c&&(Ur=document.createElement(`div`).style,`AnimationEvent`in window||(delete Vr.animationend.animation,delete Vr.animationiteration.animation,delete Vr.animationstart.animation),`TransitionEvent`in window||delete Vr.transitionend.transition);function Wr(e){if(Hr[e])return Hr[e];if(!Vr[e])return e;var t=Vr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ur)return Hr[e]=t[n];return e}var Gr=Wr(`animationend`),Kr=Wr(`animationiteration`),qr=Wr(`animationstart`),Jr=Wr(`transitionend`),Yr=new Map,Xr=`abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);function Zr(e,t){Yr.set(e,t),o(t,[e])}for(var Qr=0;Qr<Xr.length;Qr++){var $r=Xr[Qr];Zr($r.toLowerCase(),`on`+($r[0].toUpperCase()+$r.slice(1)))}Zr(Gr,`onAnimationEnd`),Zr(Kr,`onAnimationIteration`),Zr(qr,`onAnimationStart`),Zr(`dblclick`,`onDoubleClick`),Zr(`focusin`,`onFocus`),Zr(`focusout`,`onBlur`),Zr(Jr,`onTransitionEnd`),s(`onMouseEnter`,[`mouseout`,`mouseover`]),s(`onMouseLeave`,[`mouseout`,`mouseover`]),s(`onPointerEnter`,[`pointerout`,`pointerover`]),s(`onPointerLeave`,[`pointerout`,`pointerover`]),o(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),o(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),o(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),o(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var ei=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),ti=new Set(`cancel close invalid load scroll toggle`.split(` `).concat(ei));function ni(e,t,n){var r=e.type||`unknown-event`;e.currentTarget=n,nt(r,t,void 0,e),e.currentTarget=null}function ri(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;ni(i,s,l),a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;ni(i,s,l),a=c}}}if(Qe)throw e=$e,Qe=!1,$e=null,e}function G(e,t){var n=t[Ni];n===void 0&&(n=t[Ni]=new Set);var r=e+`__bubble`;n.has(r)||(si(t,e,2,!1),n.add(r))}function ii(e,t,n){var r=0;t&&(r|=4),si(n,e,r,t)}var ai=`_reactListening`+Math.random().toString(36).slice(2);function oi(e){if(!e[ai]){e[ai]=!0,i.forEach(function(t){t!==`selectionchange`&&(ti.has(t)||ii(t,!1,e),ii(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ai]||(t[ai]=!0,ii(`selectionchange`,!1,t))}}function si(e,t,n,r){switch(gn(t)){case 1:var i=dn;break;case 4:i=fn;break;default:i=pn}n=i.bind(null,t,n,e),i=void 0,!qe||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function ci(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;s!==null;){if(o=K(s),o===null)return;if(c=o.tag,c===5||c===6){r=a=o;continue a}s=s.parentNode}}r=r.return}Ge(function(){var r=a,i=B(n),o=[];a:{var s=Yr.get(e);if(s!==void 0){var c=En,l=e;switch(e){case`keypress`:if(xn(n)===0)break a;case`keydown`:case`keyup`:c=Wn;break;case`focusin`:l=`focus`,c=Fn;break;case`focusout`:l=`blur`,c=Fn;break;case`beforeblur`:case`afterblur`:c=Fn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=Nn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Pn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Kn;break;case Gr:case Kr:case qr:c=In;break;case Jr:c=qn;break;case`scroll`:c=On;break;case`wheel`:c=Jn;break;case`copy`:case`cut`:case`paste`:c=Ln;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Gn}var u=(t&4)!=0,d=!u&&e===`scroll`,f=u?s===null?null:s+`Capture`:s;u=[];for(var p=r,m;p!==null;){m=p;var h=m.stateNode;if(m.tag===5&&h!==null&&(m=h,f!==null&&(h=Ke(p,f),h!=null&&u.push(li(p,h,m)))),d)break;p=p.return}0<u.length&&(s=new c(s,l,null,n,i),o.push({event:s,listeners:u}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==Le&&(l=n.relatedTarget||n.fromElement)&&(K(l)||l[Mi]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?K(l):null,l!==null&&(d=rt(l),l!==d||l.tag!==5&&l.tag!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=Nn,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=Gn,h=`onPointerLeave`,f=`onPointerEnter`,p=`pointer`),d=c==null?s:Li(c),m=l==null?s:Li(l),s=new u(h,p+`leave`,c,n,i),s.target=d,s.relatedTarget=m,h=null,K(i)===r&&(u=new u(f,p+`enter`,l,n,i),u.target=m,u.relatedTarget=d,h=u),d=h,c&&l)b:{for(u=c,f=l,p=0,m=u;m;m=di(m))p++;for(m=0,h=f;h;h=di(h))m++;for(;0<p-m;)u=di(u),p--;for(;0<m-p;)f=di(f),m--;for(;p--;){if(u===f||f!==null&&u===f.alternate)break b;u=di(u),f=di(f)}u=null}else u=null;c!==null&&fi(o,s,c,u,!1),l!==null&&d!==null&&fi(o,d,l,u,!0)}}a:{if(s=r?Li(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var g=mr;else if(cr(s))if(hr)g=wr;else{g=Sr;var _=xr}else (c=s.nodeName)&&c.toLowerCase()===`input`&&(s.type===`checkbox`||s.type===`radio`)&&(g=Cr);if(g&&=g(e,r)){lr(o,g,n,i);break a}_&&_(e,s,r),e===`focusout`&&(_=s._wrapperState)&&_.controlled&&s.type===`number`&&Se(s,`number`,s.value)}switch(_=r?Li(r):window,e){case`focusin`:(cr(_)||_.contentEditable===`true`)&&(Fr=_,Ir=r,Lr=null);break;case`focusout`:Lr=Ir=Fr=null;break;case`mousedown`:Rr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Rr=!1,zr(o,n,i);break;case`selectionchange`:if(Pr)break;case`keydown`:case`keyup`:zr(o,n,i)}var v;if(Xn)b:{switch(e){case`compositionstart`:var y=`onCompositionStart`;break b;case`compositionend`:y=`onCompositionEnd`;break b;case`compositionupdate`:y=`onCompositionUpdate`;break b}y=void 0}else ir?nr(e,n)&&(y=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(y=`onCompositionStart`);y&&($n&&n.locale!==`ko`&&(ir||y!==`onCompositionStart`?y===`onCompositionEnd`&&ir&&(v=bn()):(_n=i,vn=`value`in _n?_n.value:_n.textContent,ir=!0)),_=ui(r,y),0<_.length&&(y=new Rn(y,e,null,n,i),o.push({event:y,listeners:_}),v?y.data=v:(v=rr(n),v!==null&&(y.data=v)))),(v=Qn?ar(e,n):or(e,n))&&(r=ui(r,`onBeforeInput`),0<r.length&&(i=new Rn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:i,listeners:r}),i.data=v))}ri(o,t)})}function li(e,t,n){return{instance:e,listener:t,currentTarget:n}}function ui(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=Ke(e,n),a!=null&&r.unshift(li(e,a,i)),a=Ke(e,t),a!=null&&r.push(li(e,a,i))),e=e.return}return r}function di(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function fi(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(c!==null&&c===r)break;s.tag===5&&l!==null&&(s=l,i?(c=Ke(n,a),c!=null&&o.unshift(li(n,c,s))):i||(c=Ke(n,a),c!=null&&o.push(li(n,c,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var pi=/\r\n?/g,mi=/\u0000|\uFFFD/g;function hi(e){return(typeof e==`string`?e:``+e).replace(pi,`
|
|
6
|
+
`).replace(mi,``)}function gi(e,t,n){if(t=hi(t),hi(e)!==t&&n)throw Error(r(425))}function _i(){}var vi=null,yi=null;function bi(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var xi=typeof setTimeout==`function`?setTimeout:void 0,Si=typeof clearTimeout==`function`?clearTimeout:void 0,Ci=typeof Promise==`function`?Promise:void 0,wi=typeof queueMicrotask==`function`?queueMicrotask:Ci===void 0?xi:function(e){return Ci.resolve(null).then(e).catch(Ti)};function Ti(e){setTimeout(function(){throw e})}function Ei(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`){if(r===0){e.removeChild(i),cn(t);return}r--}else n!==`$`&&n!==`$?`&&n!==`$!`||r++;n=i}while(n);cn(t)}function Di(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`)break;if(t===`/$`)return null}}return e}function Oi(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`){if(t===0)return e;t--}else n===`/$`&&t++}e=e.previousSibling}return null}var ki=Math.random().toString(36).slice(2),Ai=`__reactFiber$`+ki,ji=`__reactProps$`+ki,Mi=`__reactContainer$`+ki,Ni=`__reactEvents$`+ki,Pi=`__reactListeners$`+ki,Fi=`__reactHandles$`+ki;function K(e){var t=e[Ai];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Mi]||n[Ai]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Oi(e);e!==null;){if(n=e[Ai])return n;e=Oi(e)}return t}e=n,n=e.parentNode}return null}function Ii(e){return e=e[Ai]||e[Mi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Li(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function Ri(e){return e[ji]||null}var zi=[],Bi=-1;function Vi(e){return{current:e}}function q(e){0>Bi||(e.current=zi[Bi],zi[Bi]=null,Bi--)}function J(e,t){Bi++,zi[Bi]=e.current,e.current=t}var Hi={},Ui=Vi(Hi),Wi=Vi(!1),Gi=Hi;function Ki(e,t){var n=e.type.contextTypes;if(!n)return Hi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function qi(e){return e=e.childContextTypes,e!=null}function Ji(){q(Wi),q(Ui)}function Yi(e,t,n){if(Ui.current!==Hi)throw Error(r(168));J(Ui,t),J(Wi,n)}function Xi(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,de(e)||`Unknown`,a));return j({},n,i)}function Zi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Hi,Gi=Ui.current,J(Ui,e),J(Wi,Wi.current),!0}function Qi(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Xi(e,t,Gi),i.__reactInternalMemoizedMergedChildContext=e,q(Wi),q(Ui),J(Ui,e)):q(Wi),J(Wi,n)}var $i=null,ea=!1,ta=!1;function na(e){$i===null?$i=[e]:$i.push(e)}function ra(e){ea=!0,na(e)}function ia(){if(!ta&&$i!==null){ta=!0;var e=0,t=W;try{var n=$i;for(W=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}$i=null,ea=!1}catch(t){throw $i!==null&&($i=$i.slice(e+1)),lt(mt,ia),t}finally{W=t,ta=!1}}return null}var aa=[],oa=0,sa=null,ca=0,la=[],ua=0,da=null,fa=1,pa=``;function ma(e,t){aa[oa++]=ca,aa[oa++]=sa,sa=e,ca=t}function ha(e,t,n){la[ua++]=fa,la[ua++]=pa,la[ua++]=da,da=e;var r=fa;e=pa;var i=32-St(r)-1;r&=~(1<<i),n+=1;var a=32-St(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,fa=1<<32-St(t)+i|n<<i|r,pa=a+e}else fa=1<<a|n<<i|r,pa=e}function ga(e){e.return!==null&&(ma(e,1),ha(e,1,0))}function _a(e){for(;e===sa;)sa=aa[--oa],aa[oa]=null,ca=aa[--oa],aa[oa]=null;for(;e===da;)da=la[--ua],la[ua]=null,pa=la[--ua],la[ua]=null,fa=la[--ua],la[ua]=null}var va=null,ya=null,Y=!1,ba=null;function xa(e,t){var n=Kl(5,null,null,0);n.elementType=`DELETED`,n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Sa(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t===null?!1:(e.stateNode=t,va=e,ya=Di(t.firstChild),!0);case 6:return t=e.pendingProps===``||t.nodeType!==3?null:t,t===null?!1:(e.stateNode=t,va=e,ya=null,!0);case 13:return t=t.nodeType===8?t:null,t===null?!1:(n=da===null?null:{id:fa,overflow:pa},e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Kl(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,va=e,ya=null,!0);default:return!1}}function Ca(e){return(e.mode&1)!=0&&(e.flags&128)==0}function wa(e){if(Y){var t=ya;if(t){var n=t;if(!Sa(e,t)){if(Ca(e))throw Error(r(418));t=Di(n.nextSibling);var i=va;t&&Sa(e,t)?xa(i,n):(e.flags=e.flags&-4097|2,Y=!1,va=e)}}else{if(Ca(e))throw Error(r(418));e.flags=e.flags&-4097|2,Y=!1,va=e}}}function Ta(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;va=e}function Ea(e){if(e!==va)return!1;if(!Y)return Ta(e),Y=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==`head`&&t!==`body`&&!bi(e.type,e.memoizedProps)),t&&=ya){if(Ca(e))throw Da(),Error(r(418));for(;t;)xa(e,t),t=Di(t.nextSibling)}if(Ta(e),e.tag===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(317));a:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`){if(t===0){ya=Di(e.nextSibling);break a}t--}else n!==`$`&&n!==`$!`&&n!==`$?`||t++}e=e.nextSibling}ya=null}}else ya=va?Di(e.stateNode.nextSibling):null;return!0}function Da(){for(var e=ya;e;)e=Di(e.nextSibling)}function Oa(){ya=va=null,Y=!1}function ka(e){ba===null?ba=[e]:ba.push(e)}var Aa=C.ReactCurrentBatchConfig;function ja(e,t,n){if(e=n.ref,e!==null&&typeof e!=`function`&&typeof e!=`object`){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(r(309));var i=n.stateNode}if(!i)throw Error(r(147,e));var a=i,o=``+e;return t!==null&&t.ref!==null&&typeof t.ref==`function`&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;e===null?delete t[o]:t[o]=e},t._stringRef=o,t)}if(typeof e!=`string`)throw Error(r(284));if(!n._owner)throw Error(r(290,e))}return e}function Ma(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e))}function Na(e){var t=e._init;return t(e._payload)}function Pa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function i(e,t){for(e=new Map;t!==null;)t.key===null?e.set(t.index,t):e.set(t.key,t),t=t.sibling;return e}function a(e,t){return e=Yl(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=2,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=2),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=$l(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===ee?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===A&&Na(i)===t.type)?(r=a(t,n.props),r.ref=ja(e,t,n),r.return=e,r):(r=Xl(n.type,n.key,n.props,null,e.mode,r),r.ref=ja(e,t,n),r.return=e,r)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=eu(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Zl(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`)return t=$l(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case w:return n=Xl(t.type,t.key,t.props,null,e.mode,n),n.ref=ja(e,null,t),n.return=e,n;case T:return t=eu(t,e.mode,n),t.return=e,t;case A:var r=t._init;return f(e,r(t._payload),n)}if(Ce(t)||se(t))return t=Zl(t,e.mode,n,null),t.return=e,t;Ma(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case w:return n.key===i?l(e,t,n,r):null;case T:return n.key===i?u(e,t,n,r):null;case A:return i=n._init,p(e,t,i(n._payload),r)}if(Ce(n)||se(n))return i===null?d(e,t,n,r,null):null;Ma(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case w:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case T:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case A:var a=r._init;return m(e,t,n,a(r._payload),i)}if(Ce(r)||se(r))return e=e.get(n)||null,d(t,e,r,i,null);Ma(t,r)}return null}function h(r,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),Y&&ma(r,h),l;if(d===null){for(;h<s.length;h++)d=f(r,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Y&&ma(r,h),l}for(d=i(r,d);h<s.length;h++)g=m(d,r,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(r,e)}),Y&&ma(r,h),l}function g(a,s,c,l){var u=se(c);if(typeof u!=`function`)throw Error(r(150));if(c=u.call(c),c==null)throw Error(r(151));for(var d=u=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Y&&ma(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Y&&ma(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Y&&ma(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===ee&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===ee){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===A&&Na(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=ja(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===ee?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=ja(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}else{n(e,r);break}else t(e,r);r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case A:return l=i._init,_(e,r,l(i._payload),o)}if(Ce(i))return h(e,r,i,o);if(se(i))return g(e,r,i,o);Ma(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Fa=Pa(!0),Ia=Pa(!1),La=Vi(null),Ra=null,za=null,Ba=null;function Va(){Ba=za=Ra=null}function Ha(e){var t=La.current;q(La),e._currentValue=t}function Ua(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Wa(e,t){Ra=e,Ba=za=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ms=!0),e.firstContext=null)}function Ga(e){var t=e._currentValue;if(Ba!==e)if(e={context:e,memoizedValue:t,next:null},za===null){if(Ra===null)throw Error(r(308));za=e,Ra.dependencies={lanes:0,firstContext:e}}else za=za.next=e;return t}var Ka=null;function qa(e){Ka===null?Ka=[e]:Ka.push(e)}function Ja(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,qa(t)):(n.next=i.next,i.next=n),t.interleaved=n,Ya(e,r)}function Ya(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Xa=!1;function Za(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Qa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $a(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function eo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Ya(e,n)}return i=r.interleaved,i===null?(t.next=t,qa(r)):(t.next=i.next,i.next=t),r.interleaved=t,Ya(e,n)}function to(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Lt(e,n)}}function no(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ro(e,t,n,r){var i=e.updateQueue;Xa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=j({},d,f);break a;case 2:Xa=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jc|=o,e.lanes=o,e.memoizedState=d}}function io(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var i=e[t],a=i.callback;if(a!==null){if(i.callback=null,i=n,typeof a!=`function`)throw Error(r(191,a));a.call(i)}}}var ao={},oo=Vi(ao),so=Vi(ao),co=Vi(ao);function lo(e){if(e===ao)throw Error(r(174));return e}function uo(e,t){switch(J(co,t),J(so,e),J(oo,ao),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ke(null,``);break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ke(t,e)}q(oo),J(oo,t)}function fo(){q(oo),q(so),q(co)}function po(e){lo(co.current);var t=lo(oo.current),n=ke(t,e.type);t!==n&&(J(so,e),J(oo,n))}function mo(e){so.current===e&&(q(oo),q(so))}var X=Vi(0);function ho(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===`$?`||n.data===`$!`))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var go=[];function _o(){for(var e=0;e<go.length;e++)go[e]._workInProgressVersionPrimary=null;go.length=0}var vo=C.ReactCurrentDispatcher,yo=C.ReactCurrentBatchConfig,bo=0,Z=null,xo=null,So=null,Co=!1,wo=!1,To=0,Eo=0;function Do(){throw Error(r(321))}function Oo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Er(e[n],t[n]))return!1;return!0}function ko(e,t,n,i,a,o){if(bo=o,Z=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,vo.current=e===null||e.memoizedState===null?fs:ps,e=n(i,a),wo){o=0;do{if(wo=!1,To=0,25<=o)throw Error(r(301));o+=1,So=xo=null,t.updateQueue=null,vo.current=ms,e=n(i,a)}while(wo)}if(vo.current=ds,t=xo!==null&&xo.next!==null,bo=0,So=xo=Z=null,Co=!1,t)throw Error(r(300));return e}function Ao(){var e=To!==0;return To=0,e}function jo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return So===null?Z.memoizedState=So=e:So=So.next=e,So}function Mo(){if(xo===null){var e=Z.alternate;e=e===null?null:e.memoizedState}else e=xo.next;var t=So===null?Z.memoizedState:So.next;if(t!==null)So=t,xo=e;else{if(e===null)throw Error(r(310));xo=e,e={memoizedState:xo.memoizedState,baseState:xo.baseState,baseQueue:xo.baseQueue,queue:xo.queue,next:null},So===null?Z.memoizedState=So=e:So=So.next=e}return So}function No(e,t){return typeof t==`function`?t(e):t}function Po(e){var t=Mo(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=xo,a=i.baseQueue,o=n.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}i.baseQueue=a=o,n.pending=null}if(a!==null){o=a.next,i=i.baseState;var c=s=null,l=null,u=o;do{var d=u.lane;if((bo&d)===d)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(c=l=f,s=i):l=l.next=f,Z.lanes|=d,Jc|=d}u=u.next}while(u!==null&&u!==o);l===null?s=i:l.next=c,Er(i,t.memoizedState)||(Ms=!0),t.memoizedState=i,t.baseState=s,t.baseQueue=l,n.lastRenderedState=i}if(e=n.interleaved,e!==null){a=e;do o=a.lane,Z.lanes|=o,Jc|=o,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Fo(e){var t=Mo(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Er(o,t.memoizedState)||(Ms=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function Io(){}function Lo(e,t){var n=Z,i=Mo(),a=t(),o=!Er(i.memoizedState,a);if(o&&(i.memoizedState=a,Ms=!0),i=i.queue,Yo(Bo.bind(null,n,i,e),[e]),i.getSnapshot!==t||o||So!==null&&So.memoizedState.tag&1){if(n.flags|=2048,Wo(9,zo.bind(null,n,i,a,t),void 0,null),Vc===null)throw Error(r(349));bo&30||Ro(n,t,a)}return a}function Ro(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Z.updateQueue,t===null?(t={lastEffect:null,stores:null},Z.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function zo(e,t,n,r){t.value=n,t.getSnapshot=r,Vo(t)&&Ho(e)}function Bo(e,t,n){return n(function(){Vo(t)&&Ho(e)})}function Vo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Er(e,n)}catch{return!0}}function Ho(e){var t=Ya(e,1);t!==null&&ml(t,e,1,-1)}function Uo(e){var t=jo();return typeof e==`function`&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:e},t.queue=e,e=e.dispatch=ss.bind(null,Z,e),[t.memoizedState,e]}function Wo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Z.updateQueue,t===null?(t={lastEffect:null,stores:null},Z.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Go(){return Mo().memoizedState}function Ko(e,t,n,r){var i=jo();Z.flags|=e,i.memoizedState=Wo(1|t,n,void 0,r===void 0?null:r)}function qo(e,t,n,r){var i=Mo();r=r===void 0?null:r;var a=void 0;if(xo!==null){var o=xo.memoizedState;if(a=o.destroy,r!==null&&Oo(r,o.deps)){i.memoizedState=Wo(t,n,a,r);return}}Z.flags|=e,i.memoizedState=Wo(1|t,n,a,r)}function Jo(e,t){return Ko(8390656,8,e,t)}function Yo(e,t){return qo(2048,8,e,t)}function Xo(e,t){return qo(4,2,e,t)}function Zo(e,t){return qo(4,4,e,t)}function Qo(e,t){if(typeof t==`function`)return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function $o(e,t,n){return n=n==null?null:n.concat([e]),qo(4,4,Qo.bind(null,t,e),n)}function es(){}function ts(e,t){var n=Mo();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Oo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ns(e,t){var n=Mo();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Oo(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function rs(e,t,n){return bo&21?(Er(n,t)||(n=Nt(),Z.lanes|=n,Jc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ms=!0),e.memoizedState=n)}function is(e,t){var n=W;W=n!==0&&4>n?n:4,e(!0);var r=yo.transition;yo.transition={};try{e(!1),t()}finally{W=n,yo.transition=r}}function as(){return Mo().memoizedState}function os(e,t,n){var r=pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},cs(e))ls(t,n);else if(n=Ja(e,t,n,r),n!==null){var i=fl();ml(n,e,r,i),us(n,t,r)}}function ss(e,t,n){var r=pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(cs(e))ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Er(s,o)){var c=t.interleaved;c===null?(i.next=i,qa(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Ja(e,t,i,r),n!==null&&(i=fl(),ml(n,e,r,i),us(n,t,r))}}function cs(e){var t=e.alternate;return e===Z||t!==null&&t===Z}function ls(e,t){wo=Co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function us(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Lt(e,n)}}var ds={readContext:Ga,useCallback:Do,useContext:Do,useEffect:Do,useImperativeHandle:Do,useInsertionEffect:Do,useLayoutEffect:Do,useMemo:Do,useReducer:Do,useRef:Do,useState:Do,useDebugValue:Do,useDeferredValue:Do,useTransition:Do,useMutableSource:Do,useSyncExternalStore:Do,useId:Do,unstable_isNewReconciler:!1},fs={readContext:Ga,useCallback:function(e,t){return jo().memoizedState=[e,t===void 0?null:t],e},useContext:Ga,useEffect:Jo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Ko(4194308,4,Qo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var n=jo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=jo();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=os.bind(null,Z,e),[r.memoizedState,e]},useRef:function(e){var t=jo();return e={current:e},t.memoizedState=e},useState:Uo,useDebugValue:es,useDeferredValue:function(e){return jo().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=is.bind(null,e[1]),jo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=Z,a=jo();if(Y){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Vc===null)throw Error(r(349));bo&30||Ro(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Jo(Bo.bind(null,i,o,e),[e]),i.flags|=2048,Wo(9,zo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=jo(),t=Vc.identifierPrefix;if(Y){var n=pa,r=fa;n=(r&~(1<<32-St(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=To++,0<n&&(t+=`H`+n.toString(32)),t+=`:`}else n=Eo++,t=`:`+t+`r`+n.toString(32)+`:`;return e.memoizedState=t},unstable_isNewReconciler:!1},ps={readContext:Ga,useCallback:ts,useContext:Ga,useEffect:Yo,useImperativeHandle:$o,useInsertionEffect:Xo,useLayoutEffect:Zo,useMemo:ns,useReducer:Po,useRef:Go,useState:function(){return Po(No)},useDebugValue:es,useDeferredValue:function(e){return rs(Mo(),xo.memoizedState,e)},useTransition:function(){return[Po(No)[0],Mo().memoizedState]},useMutableSource:Io,useSyncExternalStore:Lo,useId:as,unstable_isNewReconciler:!1},ms={readContext:Ga,useCallback:ts,useContext:Ga,useEffect:Yo,useImperativeHandle:$o,useInsertionEffect:Xo,useLayoutEffect:Zo,useMemo:ns,useReducer:Fo,useRef:Go,useState:function(){return Fo(No)},useDebugValue:es,useDeferredValue:function(e){var t=Mo();return xo===null?t.memoizedState=e:rs(t,xo.memoizedState,e)},useTransition:function(){return[Fo(No)[0],Mo().memoizedState]},useMutableSource:Io,useSyncExternalStore:Lo,useId:as,unstable_isNewReconciler:!1};function hs(e,t){if(e&&e.defaultProps){for(var n in t=j({},t),e=e.defaultProps,e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function gs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:j({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var _s={isMounted:function(e){return(e=e._reactInternals)?rt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fl(),i=pl(e),a=$a(r,i);a.payload=t,n!=null&&(a.callback=n),t=eo(e,a,i),t!==null&&(ml(t,e,i,r),to(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fl(),i=pl(e),a=$a(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=eo(e,a,i),t!==null&&(ml(t,e,i,r),to(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fl(),r=pl(e),i=$a(n,r);i.tag=2,t!=null&&(i.callback=t),t=eo(e,i,r),t!==null&&(ml(t,e,r,n),to(t,e,r))}};function vs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Dr(n,r)||!Dr(i,a):!0}function ys(e,t,n){var r=!1,i=Hi,a=t.contextType;return typeof a==`object`&&a?a=Ga(a):(i=qi(t)?Gi:Ui.current,r=t.contextTypes,a=(r=r!=null)?Ki(e,i):Hi),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=_s,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function bs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&_s.enqueueReplaceState(t,t.state,null)}function xs(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},Za(e);var a=t.contextType;typeof a==`object`&&a?i.context=Ga(a):(a=qi(t)?Gi:Ui.current,i.context=Ki(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a==`function`&&(gs(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps==`function`||typeof i.getSnapshotBeforeUpdate==`function`||typeof i.UNSAFE_componentWillMount!=`function`&&typeof i.componentWillMount!=`function`||(t=i.state,typeof i.componentWillMount==`function`&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==`function`&&i.UNSAFE_componentWillMount(),t!==i.state&&_s.enqueueReplaceState(i,i.state,null),ro(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==`function`&&(e.flags|=4194308)}function Ss(e,t){try{var n=``,r=t;do n+=ue(r),r=r.return;while(r);var i=n}catch(e){i=`
|
|
7
|
+
Error generating stack: `+e.message+`
|
|
8
|
+
`+e.stack}return{value:e,source:t,stack:i,digest:null}}function Cs(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function ws(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Ts=typeof WeakMap==`function`?WeakMap:Map;function Es(e,t,n){n=$a(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){nl||(nl=!0,rl=r),ws(e,t)},n}function Ds(e,t,n){n=$a(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==`function`){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){ws(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){ws(e,t),typeof r!=`function`&&(il===null?il=new Set([this]):il.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function Os(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ts;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=zl.bind(null,e,t,n),t.then(e,e))}function ks(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t===null?!0:t.dehydrated!==null),t)return e;e=e.return}while(e!==null);return null}function As(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=$a(-1,1),t.tag=2,eo(n,t,1))),n.lanes|=1),e)}var js=C.ReactCurrentOwner,Ms=!1;function Ns(e,t,n,r){t.child=e===null?Ia(t,null,n,r):Fa(t,e.child,n,r)}function Ps(e,t,n,r,i){n=n.render;var a=t.ref;return Wa(t,i),r=ko(e,t,n,r,a,i),n=Ao(),e!==null&&!Ms?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ec(e,t,i)):(Y&&n&&ga(t),t.flags|=1,Ns(e,t,r,i),t.child)}function Fs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ql(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Is(e,t,a,r,i)):(e=Xl(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,(e.lanes&i)===0){var o=a.memoizedProps;if(n=n.compare,n=n===null?Dr:n,n(o,r)&&e.ref===t.ref)return ec(e,t,i)}return t.flags|=1,e=Yl(a,r),e.ref=t.ref,e.return=t,t.child=e}function Is(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Dr(a,r)&&e.ref===t.ref)if(Ms=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Ms=!0);else return t.lanes=e.lanes,ec(e,t,i)}return zs(e,t,n,r,i)}function Ls(e,t,n){var r=t.pendingProps,i=r.children,a=e===null?null:e.memoizedState;if(r.mode===`hidden`)if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},J(Gc,Wc),Wc|=n;else{if(!(n&1073741824))return e=a===null?n:a.baseLanes|n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,J(Gc,Wc),Wc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,J(Gc,Wc),Wc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),J(Gc,Wc),Wc|=r;return Ns(e,t,i,n),t.child}function Rs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function zs(e,t,n,r,i){var a=qi(n)?Gi:Ui.current;return a=Ki(t,a),Wa(t,i),n=ko(e,t,n,r,a,i),r=Ao(),e!==null&&!Ms?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ec(e,t,i)):(Y&&r&&ga(t),t.flags|=1,Ns(e,t,n,i),t.child)}function Bs(e,t,n,r,i){if(qi(n)){var a=!0;Zi(t)}else a=!1;if(Wa(t,i),t.stateNode===null)$s(e,t),ys(t,n,r),xs(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;typeof l==`object`&&l?l=Ga(l):(l=qi(n)?Gi:Ui.current,l=Ki(t,l));var u=n.getDerivedStateFromProps,d=typeof u==`function`||typeof o.getSnapshotBeforeUpdate==`function`;d||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==r||c!==l)&&bs(t,o,r,l),Xa=!1;var f=t.memoizedState;o.state=f,ro(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Wi.current||Xa?(typeof u==`function`&&(gs(t,n,u,r),c=t.memoizedState),(s=Xa||vs(t,n,s,r,f,c,l))?(d||typeof o.UNSAFE_componentWillMount!=`function`&&typeof o.componentWillMount!=`function`||(typeof o.componentWillMount==`function`&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount==`function`&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount==`function`&&(t.flags|=4194308)):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=l,r=s):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Qa(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:hs(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=Ga(c):(c=qi(n)?Gi:Ui.current,c=Ki(t,c));var p=n.getDerivedStateFromProps;(u=typeof p==`function`||typeof o.getSnapshotBeforeUpdate==`function`)||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==d||f!==c)&&bs(t,o,r,c),Xa=!1,f=t.memoizedState,o.state=f,ro(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Wi.current||Xa?(typeof p==`function`&&(gs(t,n,p,r),m=t.memoizedState),(l=Xa||vs(t,n,l,r,f,m,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!=`function`&&typeof o.componentWillUpdate!=`function`||(typeof o.componentWillUpdate==`function`&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate==`function`&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate==`function`&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=l):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Vs(e,t,n,r,a,i)}function Vs(e,t,n,r,i,a){Rs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&Qi(t,n,!1),ec(e,t,a);r=t.stateNode,js.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Fa(t,e.child,null,a),t.child=Fa(t,null,s,a)):Ns(e,t,s,a),t.memoizedState=r.state,i&&Qi(t,n,!0),t.child}function Hs(e){var t=e.stateNode;t.pendingContext?Yi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Yi(e,t.context,!1),uo(e,t.containerInfo)}function Us(e,t,n,r,i){return Oa(),ka(i),t.flags|=256,Ns(e,t,n,r),t.child}var Ws={dehydrated:null,treeContext:null,retryLane:0};function Gs(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ks(e,t,n){var r=t.pendingProps,i=X.current,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!=0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),J(X,i&1),e===null)return wa(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data===`$!`?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:`hidden`,children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Ql(o,r,0,null),e=Zl(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Gs(n),t.memoizedState=Ws,e):qs(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return Ys(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var c={mode:`hidden`,children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Yl(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=Zl(a,o,n,null),a.flags|=2):a=Yl(s,a),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Gs(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Ws,r}return a=e.child,e=a.sibling,r=Yl(a,{mode:`visible`,children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function qs(e,t){return t=Ql({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Js(e,t,n,r){return r!==null&&ka(r),Fa(t,e.child,null,n),e=qs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ys(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=Cs(Error(r(422))),Js(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=Ql({mode:`visible`,children:i.children},a,0,null),o=Zl(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&Fa(t,e.child,null,s),t.child.memoizedState=Gs(s),t.memoizedState=Ws,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Js(e,t,s,null);if(a.data===`$!`){if(i=a.nextSibling&&a.nextSibling.dataset,i)var c=i.dgst;return i=c,o=Error(r(419)),i=Cs(o,i,void 0),Js(e,t,s,i)}if(c=(s&e.childLanes)!==0,Ms||c){if(i=Vc,i!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(i.suspendedLanes|s))===0?a:0,a!==0&&a!==o.retryLane&&(o.retryLane=a,Ya(e,a),ml(i,e,a,-1))}return Ol(),i=Cs(Error(r(421))),Js(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Vl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ya=Di(a.nextSibling),va=t,Y=!0,ba=null,e!==null&&(la[ua++]=fa,la[ua++]=pa,la[ua++]=da,fa=e.id,pa=e.overflow,da=t),t=qs(t,i.children),t.flags|=4096,t)}function Xs(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ua(e.return,t,n)}function Zs(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function Qs(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ns(e,t,r.children,n),r=X.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Xs(e,n,t);else if(e.tag===19)Xs(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(J(X,r),!(t.mode&1))t.memoizedState=null;else switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&ho(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Zs(t,!1,i,n,a);break;case`backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ho(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Zs(t,!0,n,null,a);break;case`together`:Zs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function $s(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ec(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Jc|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Yl(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Yl(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function tc(e,t,n){switch(t.tag){case 3:Hs(t),Oa();break;case 5:po(t);break;case 1:qi(t.type)&&Zi(t);break;case 4:uo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;J(La,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(J(X,X.current&1),e=ec(e,t,n),e===null?null:e.sibling):Ks(e,t,n):(J(X,X.current&1),t.flags|=128,null);J(X,X.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return Qs(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),J(X,X.current),r)break;return null;case 22:case 23:return t.lanes=0,Ls(e,t,n)}return ec(e,t,n)}var nc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},rc=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,lo(oo.current);var o=null;switch(n){case`input`:i=_e(e,i),r=_e(e,r),o=[];break;case`select`:i=j({},i,{value:void 0}),r=j({},r,{value:void 0}),o=[];break;case`textarea`:i=we(e,i),r=we(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=_i)}Fe(n,r);var s;for(u in n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u===`style`){var c=i[u];for(s in c)c.hasOwnProperty(s)&&(n||={},n[s]=``)}else u!==`dangerouslySetInnerHTML`&&u!==`children`&&u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&u!==`autoFocus`&&(a.hasOwnProperty(u)?o||=[]:(o||=[]).push(u,null));for(u in r){var l=r[u];if(c=i?.[u],r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null))if(u===`style`)if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||={},n[s]=``);for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||={},n[s]=l[s])}else n||(o||=[],o.push(u,n)),n=l;else u===`dangerouslySetInnerHTML`?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(o||=[]).push(u,l)):u===`children`?typeof l!=`string`&&typeof l!=`number`||(o||=[]).push(u,``+l):u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&(a.hasOwnProperty(u)?(l!=null&&u===`onScroll`&&G(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},ic=function(e,t,n,r){n!==r&&(t.flags|=4)};function ac(e,t){if(!Y)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function oc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function sc(e,t,n){var i=t.pendingProps;switch(_a(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return oc(t),null;case 1:return qi(t.type)&&Ji(),oc(t),null;case 3:return i=t.stateNode,fo(),q(Wi),q(Ui),_o(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ea(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ba!==null&&(vl(ba),ba=null))),oc(t),null;case 5:mo(t);var o=lo(co.current);if(n=t.type,e!==null&&t.stateNode!=null)rc(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(r(166));return oc(t),null}if(e=lo(oo.current),Ea(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Ai]=t,i[ji]=s,e=(t.mode&1)!=0,n){case`dialog`:G(`cancel`,i),G(`close`,i);break;case`iframe`:case`object`:case`embed`:G(`load`,i);break;case`video`:case`audio`:for(o=0;o<ei.length;o++)G(ei[o],i);break;case`source`:G(`error`,i);break;case`img`:case`image`:case`link`:G(`error`,i),G(`load`,i);break;case`details`:G(`toggle`,i);break;case`input`:ve(i,s),G(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},G(`invalid`,i);break;case`textarea`:Te(i,s),G(`invalid`,i)}for(var c in Fe(n,s),o=null,s)if(s.hasOwnProperty(c)){var l=s[c];c===`children`?typeof l==`string`?i.textContent!==l&&(!0!==s.suppressHydrationWarning&&gi(i.textContent,l,e),o=[`children`,l]):typeof l==`number`&&i.textContent!==``+l&&(!0!==s.suppressHydrationWarning&&gi(i.textContent,l,e),o=[`children`,``+l]):a.hasOwnProperty(c)&&l!=null&&c===`onScroll`&&G(`scroll`,i)}switch(n){case`input`:me(i),xe(i,s,!0);break;case`textarea`:me(i),De(i);break;case`select`:case`option`:break;default:typeof s.onClick==`function`&&(i.onclick=_i)}i=o,t.updateQueue=i,i!==null&&(t.flags|=4)}else{c=o.nodeType===9?o:o.ownerDocument,e===`http://www.w3.org/1999/xhtml`&&(e=Oe(n)),e===`http://www.w3.org/1999/xhtml`?n===`script`?(e=c.createElement(`div`),e.innerHTML=`<script><\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Ai]=t,e[ji]=i,nc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Ie(n,i),n){case`dialog`:G(`cancel`,e),G(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:G(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<ei.length;o++)G(ei[o],e);o=i;break;case`source`:G(`error`,e),o=i;break;case`img`:case`image`:case`link`:G(`error`,e),G(`load`,e),o=i;break;case`details`:G(`toggle`,e),o=i;break;case`input`:ve(e,i),o=_e(e,i),G(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=j({},i,{value:void 0}),G(`invalid`,e);break;case`textarea`:Te(e,i),o=we(e,i),G(`invalid`,e);break;default:o=i}for(s in Fe(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?z(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&L(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&je(e,u):typeof u==`number`&&je(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&G(`scroll`,e):u!=null&&S(e,s,u,c))}switch(n){case`input`:me(e),xe(e,i,!1);break;case`textarea`:me(e),De(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+fe(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&I(e,!!i.multiple,i.defaultValue,!0):I(e,!!i.multiple,s,!1);break;default:typeof o.onClick==`function`&&(e.onclick=_i)}switch(n){case`button`:case`input`:case`select`:case`textarea`:i=!!i.autoFocus;break a;case`img`:i=!0;break a;default:i=!1}}i&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return oc(t),null;case 6:if(e&&t.stateNode!=null)ic(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=lo(co.current),lo(oo.current),Ea(t)){if(i=t.stateNode,n=t.memoizedProps,i[Ai]=t,(s=i.nodeValue!==n)&&(e=va,e!==null))switch(e.tag){case 3:gi(i.nodeValue,n,(e.mode&1)!=0);break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&gi(i.nodeValue,n,(e.mode&1)!=0)}s&&(t.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[Ai]=t,t.stateNode=i}return oc(t),null;case 13:if(q(X),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Y&&ya!==null&&t.mode&1&&!(t.flags&128))Da(),Oa(),t.flags|=98560,s=!1;else if(s=Ea(t),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(r(318));if(s=t.memoizedState,s=s===null?null:s.dehydrated,!s)throw Error(r(317));s[Ai]=t}else Oa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;oc(t),s=!1}else ba!==null&&(vl(ba),ba=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(t.child.flags|=8192,t.mode&1&&(e===null||X.current&1?Kc===0&&(Kc=3):Ol())),t.updateQueue!==null&&(t.flags|=4),oc(t),null);case 4:return fo(),e===null&&oi(t.stateNode.containerInfo),oc(t),null;case 10:return Ha(t.type._context),oc(t),null;case 17:return qi(t.type)&&Ji(),oc(t),null;case 19:if(q(X),s=t.memoizedState,s===null)return oc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)ac(s,!1);else{if(Kc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=ho(e),c!==null){for(t.flags|=128,ac(s,!1),i=c.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;n!==null;)s=n,e=i,s.flags&=14680066,c=s.alternate,c===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return J(X,X.current&1|2),t.child}e=e.sibling}s.tail!==null&&U()>el&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304)}else{if(!i)if(e=ho(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ac(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!Y)return oc(t),null}else 2*U()-s.renderingStartTime>el&&n!==1073741824&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(oc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=U(),t.sibling=null,n=X.current,J(X,i?n&1|2:n&1),t);case 22:case 23:return wl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Wc&1073741824&&(oc(t),t.subtreeFlags&6&&(t.flags|=8192)):oc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function cc(e,t){switch(_a(t),t.tag){case 1:return qi(t.type)&&Ji(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fo(),q(Wi),q(Ui),_o(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return mo(t),null;case 13:if(q(X),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Oa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return q(X),null;case 4:return fo(),null;case 10:return Ha(t.type._context),null;case 22:case 23:return wl(),null;case 24:return null;default:return null}}var lc=!1,uc=!1,dc=typeof WeakSet==`function`?WeakSet:Set,Q=null;function fc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){Rl(e,t,n)}else n.current=null}function pc(e,t,n){try{n()}catch(n){Rl(e,t,n)}}var mc=!1;function hc(e,t){if(vi=un,e=jr(),Mr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(yi={focusedElem:e,selectionRange:n},un=!1,Q=t;Q!==null;)if(t=Q,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:hs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){Rl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return h=mc,mc=!1,h}function gc(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&pc(t,n,a)}i=i.next}while(i!==r)}}function _c(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function vc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function yc(e){var t=e.alternate;t!==null&&(e.alternate=null,yc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ai],delete t[ji],delete t[Ni],delete t[Pi],delete t[Fi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bc(e){return e.tag===5||e.tag===3||e.tag===4}function xc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||bc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_i));else if(r!==4&&(e=e.child,e!==null))for(Sc(e,t,n),e=e.sibling;e!==null;)Sc(e,t,n),e=e.sibling}function Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}var wc=null,Tc=!1;function Ec(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(bt&&typeof bt.onCommitFiberUnmount==`function`)try{bt.onCommitFiberUnmount(yt,n)}catch{}switch(n.tag){case 5:uc||fc(n,t);case 6:var r=wc,i=Tc;wc=null,Ec(e,t,n),wc=r,Tc=i,wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):wc.removeChild(n.stateNode));break;case 18:wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?Ei(e.parentNode,n):e.nodeType===1&&Ei(e,n),cn(e)):Ei(wc,n.stateNode));break;case 4:r=wc,i=Tc,wc=n.stateNode.containerInfo,Tc=!0,Ec(e,t,n),wc=r,Tc=i;break;case 0:case 11:case 14:case 15:if(!uc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&pc(n,t,o),i=i.next}while(i!==r)}Ec(e,t,n);break;case 1:if(!uc&&(fc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Rl(n,t,e)}Ec(e,t,n);break;case 21:Ec(e,t,n);break;case 22:n.mode&1?(uc=(r=uc)||n.memoizedState!==null,Ec(e,t,n),uc=r):Ec(e,t,n);break;default:Ec(e,t,n)}}function Oc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new dc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function kc(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i];try{var o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 5:wc=c.stateNode,Tc=!1;break a;case 3:wc=c.stateNode.containerInfo,Tc=!0;break a;case 4:wc=c.stateNode.containerInfo,Tc=!0;break a}c=c.return}if(wc===null)throw Error(r(160));Dc(o,s,a),wc=null,Tc=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){Rl(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Ac(t,e),t=t.sibling}function Ac(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(kc(t,e),jc(e),i&4){try{gc(3,e,e.return),_c(3,e)}catch(t){Rl(e,e.return,t)}try{gc(5,e,e.return)}catch(t){Rl(e,e.return,t)}}break;case 1:kc(t,e),jc(e),i&512&&n!==null&&fc(n,n.return);break;case 5:if(kc(t,e),jc(e),i&512&&n!==null&&fc(n,n.return),e.flags&32){var a=e.stateNode;try{je(a,``)}catch(t){Rl(e,e.return,t)}}if(i&4&&(a=e.stateNode,a!=null)){var o=e.memoizedProps,s=n===null?o:n.memoizedProps,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c===`input`&&o.type===`radio`&&o.name!=null&&ye(a,o),Ie(c,s);var u=Ie(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?z(a,f):d===`dangerouslySetInnerHTML`?L(a,f):d===`children`?je(a,f):S(a,d,f,u)}switch(c){case`input`:be(a,o);break;case`textarea`:Ee(a,o);break;case`select`:var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;m==null?p!==!!o.multiple&&(o.defaultValue==null?I(a,!!o.multiple,o.multiple?[]:``,!1):I(a,!!o.multiple,o.defaultValue,!0)):I(a,!!o.multiple,m,!1)}a[ji]=o}catch(t){Rl(e,e.return,t)}}break;case 6:if(kc(t,e),jc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){Rl(e,e.return,t)}}break;case 3:if(kc(t,e),jc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{cn(t.containerInfo)}catch(t){Rl(e,e.return,t)}break;case 4:kc(t,e),jc(e);break;case 13:kc(t,e),jc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||($c=U())),i&4&&Oc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(uc=(u=uc)||d,kc(t,e),uc=u):kc(t,e),jc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(Q=e,d=e.child;d!==null;){for(f=Q=d;Q!==null;){switch(p=Q,m=p.child,p.tag){case 0:case 11:case 14:case 15:gc(4,p,p.return);break;case 1:fc(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount==`function`){i=p,n=p.return;try{t=i,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){Rl(i,n,e)}}break;case 5:fc(p,p.return);break;case 22:if(p.memoizedState!==null){Fc(f);continue}}m===null?Fc(f):(m.return=p,Q=m)}d=d.sibling}a:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`):(c=f.stateNode,l=f.memoizedProps.style,s=l!=null&&l.hasOwnProperty(`display`)?l.display:null,c.style.display=R(`display`,s))}catch(t){Rl(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){Rl(e,e.return,t)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break a;for(;f.sibling===null;){if(f.return===null||f.return===e)break a;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:kc(t,e),jc(e),i&4&&Oc(e);break;case 21:break;default:kc(t,e),jc(e)}}function jc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(bc(n)){var i=n;break a}n=n.return}throw Error(r(160))}switch(i.tag){case 5:var a=i.stateNode;i.flags&32&&(je(a,``),i.flags&=-33),Cc(e,xc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Sc(e,xc(e),o);break;default:throw Error(r(161))}}catch(t){Rl(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Mc(e,t,n){Q=e,Nc(e,t,n)}function Nc(e,t,n){for(var r=(e.mode&1)!=0;Q!==null;){var i=Q,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||lc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||uc;s=lc;var l=uc;if(lc=o,(uc=c)&&!l)for(Q=i;Q!==null;)o=Q,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Ic(i):(c.return=o,Q=c);for(;a!==null;)Q=a,Nc(a,t,n),a=a.sibling;Q=i,lc=s,uc=l}Pc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,Q=a):Pc(e,t,n)}}function Pc(e){for(;Q!==null;){var t=Q;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:uc||_c(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!uc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:hs(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&io(t,o,i);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}io(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case`button`:case`input`:case`select`:case`textarea`:l.autoFocus&&n.focus();break;case`img`:l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&cn(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}uc||t.flags&512&&vc(t)}catch(e){Rl(t,t.return,e)}}if(t===e){Q=null;break}if(n=t.sibling,n!==null){n.return=t.return,Q=n;break}Q=t.return}}function Fc(e){for(;Q!==null;){var t=Q;if(t===e){Q=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Q=n;break}Q=t.return}}function Ic(e){for(;Q!==null;){var t=Q;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{_c(4,t)}catch(e){Rl(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){Rl(t,i,e)}}var a=t.return;try{vc(t)}catch(e){Rl(t,a,e)}break;case 5:var o=t.return;try{vc(t)}catch(e){Rl(t,o,e)}}}catch(e){Rl(t,t.return,e)}if(t===e){Q=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Q=s;break}Q=t.return}}var Lc=Math.ceil,Rc=C.ReactCurrentDispatcher,zc=C.ReactCurrentOwner,Bc=C.ReactCurrentBatchConfig,$=0,Vc=null,Hc=null,Uc=0,Wc=0,Gc=Vi(0),Kc=0,qc=null,Jc=0,Yc=0,Xc=0,Zc=null,Qc=null,$c=0,el=1/0,tl=null,nl=!1,rl=null,il=null,al=!1,ol=null,sl=0,cl=0,ll=null,ul=-1,dl=0;function fl(){return $&6?U():ul===-1?ul=U():ul}function pl(e){return e.mode&1?$&2&&Uc!==0?Uc&-Uc:Aa.transition===null?(e=W,e===0?(e=window.event,e=e===void 0?16:gn(e.type),e):e):(dl===0&&(dl=Nt()),dl):1}function ml(e,t,n,i){if(50<cl)throw cl=0,ll=null,Error(r(185));Ft(e,n,i),(!($&2)||e!==Vc)&&(e===Vc&&(!($&2)&&(Yc|=n),Kc===4&&bl(e,Uc)),hl(e,i),n===1&&$===0&&!(t.mode&1)&&(el=U()+500,ea&&ia()))}function hl(e,t){var n=e.callbackNode;jt(e,t);var r=kt(e,e===Vc?Uc:0);if(r===0)n!==null&&ut(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&ut(n),t===1)e.tag===0?ra(xl.bind(null,e)):na(xl.bind(null,e)),wi(function(){!($&6)&&ia()}),n=null;else{switch(Rt(r)){case 1:n=mt;break;case 4:n=ht;break;case 16:n=gt;break;case 536870912:n=vt;break;default:n=gt}n=Wl(n,gl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function gl(e,t){if(ul=-1,dl=0,$&6)throw Error(r(327));var n=e.callbackNode;if(Il()&&e.callbackNode!==n)return null;var i=kt(e,e===Vc?Uc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=kl(e,i);else{t=i;var a=$;$|=2;var o=Dl();(Vc!==e||Uc!==t)&&(tl=null,el=U()+500,Tl(e,t));do try{jl();break}catch(t){El(e,t)}while(1);Va(),Rc.current=o,$=a,Hc===null?(Vc=null,Uc=0,t=Kc):t=0}if(t!==0){if(t===2&&(a=Mt(e),a!==0&&(i=a,t=_l(e,a))),t===1)throw n=qc,Tl(e,0),bl(e,i),hl(e,U()),n;if(t===6)bl(e,i);else{if(a=e.current.alternate,!(i&30)&&!yl(a)&&(t=kl(e,i),t===2&&(o=Mt(e),o!==0&&(i=o,t=_l(e,o))),t===1))throw n=qc,Tl(e,0),bl(e,i),hl(e,U()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:Pl(e,Qc,tl);break;case 3:if(bl(e,i),(i&130023424)===i&&(t=$c+500-U(),10<t)){if(kt(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){fl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=xi(Pl.bind(null,e,Qc,tl),t);break}Pl(e,Qc,tl);break;case 4:if(bl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-St(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=U()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Lc(i/1960))-i,10<i){e.timeoutHandle=xi(Pl.bind(null,e,Qc,tl),i);break}Pl(e,Qc,tl);break;case 5:Pl(e,Qc,tl);break;default:throw Error(r(329))}}}return hl(e,U()),e.callbackNode===n?gl.bind(null,e):null}function _l(e,t){var n=Zc;return e.current.memoizedState.isDehydrated&&(Tl(e,t).flags|=256),e=kl(e,t),e!==2&&(t=Qc,Qc=n,t!==null&&vl(t)),e}function vl(e){Qc===null?Qc=e:Qc.push.apply(Qc,e)}function yl(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Er(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function bl(e,t){for(t&=~Xc,t&=~Yc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-St(t),r=1<<n;e[n]=-1,t&=~r}}function xl(e){if($&6)throw Error(r(327));Il();var t=kt(e,0);if(!(t&1))return hl(e,U()),null;var n=kl(e,t);if(e.tag!==0&&n===2){var i=Mt(e);i!==0&&(t=i,n=_l(e,i))}if(n===1)throw n=qc,Tl(e,0),bl(e,t),hl(e,U()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pl(e,Qc,tl),hl(e,U()),null}function Sl(e,t){var n=$;$|=1;try{return e(t)}finally{$=n,$===0&&(el=U()+500,ea&&ia())}}function Cl(e){ol!==null&&ol.tag===0&&!($&6)&&Il();var t=$;$|=1;var n=Bc.transition,r=W;try{if(Bc.transition=null,W=1,e)return e()}finally{W=r,Bc.transition=n,$=t,!($&6)&&ia()}}function wl(){Wc=Gc.current,q(Gc)}function Tl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Si(n)),Hc!==null)for(n=Hc.return;n!==null;){var r=n;switch(_a(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Ji();break;case 3:fo(),q(Wi),q(Ui),_o();break;case 5:mo(r);break;case 4:fo();break;case 13:q(X);break;case 19:q(X);break;case 10:Ha(r.type._context);break;case 22:case 23:wl()}n=n.return}if(Vc=e,Hc=e=Yl(e.current,null),Uc=Wc=t,Kc=0,qc=null,Xc=Yc=Jc=0,Qc=Zc=null,Ka!==null){for(t=0;t<Ka.length;t++)if(n=Ka[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}Ka=null}return e}function El(e,t){do{var n=Hc;try{if(Va(),vo.current=ds,Co){for(var i=Z.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}Co=!1}if(bo=0,So=xo=Z=null,wo=!1,To=0,zc.current=null,n===null||n.return===null){Kc=1,qc=t,Hc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Uc,c.flags|=32768,typeof l==`object`&&l&&typeof l.then==`function`){var u=l,d=c,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=ks(s);if(m!==null){m.flags&=-257,As(m,s,c,o,t),m.mode&1&&Os(o,u,t),t=m,l=u;var h=t.updateQueue;if(h===null){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break a}else{if(!(t&1)){Os(o,u,t),Ol();break a}l=Error(r(426))}}else if(Y&&c.mode&1){var _=ks(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),As(_,s,c,o,t),ka(Ss(l,c));break a}}o=l=Ss(l,c),Kc!==4&&(Kc=2),Zc===null?Zc=[o]:Zc.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=Es(o,l,t);no(o,v);break a;case 1:c=l;var y=o.type,b=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError==`function`||b!==null&&typeof b.componentDidCatch==`function`&&(il===null||!il.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=Ds(o,c,t);no(o,x);break a}}o=o.return}while(o!==null)}Nl(n)}catch(e){t=e,Hc===n&&n!==null&&(Hc=n=n.return);continue}break}while(1)}function Dl(){var e=Rc.current;return Rc.current=ds,e===null?ds:e}function Ol(){(Kc===0||Kc===3||Kc===2)&&(Kc=4),Vc===null||!(Jc&268435455)&&!(Yc&268435455)||bl(Vc,Uc)}function kl(e,t){var n=$;$|=2;var i=Dl();(Vc!==e||Uc!==t)&&(tl=null,Tl(e,t));do try{Al();break}catch(t){El(e,t)}while(1);if(Va(),$=n,Rc.current=i,Hc!==null)throw Error(r(261));return Vc=null,Uc=0,Kc}function Al(){for(;Hc!==null;)Ml(Hc)}function jl(){for(;Hc!==null&&!dt();)Ml(Hc)}function Ml(e){var t=Ul(e.alternate,e,Wc);e.memoizedProps=e.pendingProps,t===null?Nl(e):Hc=t,zc.current=null}function Nl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=cc(n,t),n!==null){n.flags&=32767,Hc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Kc=6,Hc=null;return}}else if(n=sc(n,t,Wc),n!==null){Hc=n;return}if(t=t.sibling,t!==null){Hc=t;return}Hc=t=e}while(t!==null);Kc===0&&(Kc=5)}function Pl(e,t,n){var r=W,i=Bc.transition;try{Bc.transition=null,W=1,Fl(e,t,n,r)}finally{Bc.transition=i,W=r}return null}function Fl(e,t,n,i){do Il();while(ol!==null);if($&6)throw Error(r(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(It(e,o),e===Vc&&(Hc=Vc=null,Uc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||al||(al=!0,Wl(gt,function(){return Il(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Bc.transition,Bc.transition=null;var s=W;W=1;var c=$;$|=4,zc.current=null,hc(e,n),Ac(n,e),Nr(yi),un=!!vi,yi=vi=null,e.current=n,Mc(n,e,a),ft(),$=c,W=s,Bc.transition=o}else e.current=n;if(al&&(al=!1,ol=e,sl=a),o=e.pendingLanes,o===0&&(il=null),xt(n.stateNode,i),hl(e,U()),t!==null)for(i=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],i(a.value,{componentStack:a.stack,digest:a.digest});if(nl)throw nl=!1,e=rl,rl=null,e;return sl&1&&e.tag!==0&&Il(),o=e.pendingLanes,o&1?e===ll?cl++:(cl=0,ll=e):cl=0,ia(),null}function Il(){if(ol!==null){var e=Rt(sl),t=Bc.transition,n=W;try{if(Bc.transition=null,W=16>e?16:e,ol===null)var i=!1;else{if(e=ol,ol=null,sl=0,$&6)throw Error(r(331));var a=$;for($|=4,Q=e.current;Q!==null;){var o=Q,s=o.child;if(Q.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(Q=u;Q!==null;){var d=Q;switch(d.tag){case 0:case 11:case 15:gc(8,d,o)}var f=d.child;if(f!==null)f.return=d,Q=f;else for(;Q!==null;){d=Q;var p=d.sibling,m=d.return;if(yc(d),d===u){Q=null;break}if(p!==null){p.return=m,Q=p;break}Q=m}}}var h=o.alternate;if(h!==null){var g=h.child;if(g!==null){h.child=null;do{var _=g.sibling;g.sibling=null,g=_}while(g!==null)}}Q=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,Q=s;else b:for(;Q!==null;){if(o=Q,o.flags&2048)switch(o.tag){case 0:case 11:case 15:gc(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,Q=v;break b}Q=o.return}}var y=e.current;for(Q=y;Q!==null;){s=Q;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,Q=b;else b:for(s=y;Q!==null;){if(c=Q,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:_c(9,c)}}catch(e){Rl(c,c.return,e)}if(c===s){Q=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,Q=x;break b}Q=c.return}}if($=a,ia(),bt&&typeof bt.onPostCommitFiberRoot==`function`)try{bt.onPostCommitFiberRoot(yt,e)}catch{}i=!0}return i}finally{W=n,Bc.transition=t}}return!1}function Ll(e,t,n){t=Ss(n,t),t=Es(e,t,1),e=eo(e,t,1),t=fl(),e!==null&&(Ft(e,1,t),hl(e,t))}function Rl(e,t,n){if(e.tag===3)Ll(e,e,n);else for(;t!==null;){if(t.tag===3){Ll(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(il===null||!il.has(r))){e=Ss(n,e),e=Ds(t,e,1),t=eo(t,e,1),e=fl(),t!==null&&(Ft(t,1,e),hl(t,e));break}}t=t.return}}function zl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=fl(),e.pingedLanes|=e.suspendedLanes&n,Vc===e&&(Uc&n)===n&&(Kc===4||Kc===3&&(Uc&130023424)===Uc&&500>U()-$c?Tl(e,0):Xc|=n),hl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=Dt,Dt<<=1,!(Dt&130023424)&&(Dt=4194304)):t=1);var n=fl();e=Ya(e,t),e!==null&&(Ft(e,t,n),hl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Wi.current)Ms=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ms=!1,tc(e,t,n);Ms=!!(e.flags&131072)}else Ms=!1,Y&&t.flags&1048576&&ha(t,ca,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;$s(e,t),e=t.pendingProps;var a=Ki(t,Ui.current);Wa(t,n),a=ko(null,t,i,e,a,n);var o=Ao();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,qi(i)?(o=!0,Zi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Za(t),a.updater=_s,t.stateNode=a,a._reactInternals=t,xs(t,i,e,n),t=Vs(null,t,i,!0,o,n)):(t.tag=0,Y&&o&&ga(t),Ns(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch($s(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Jl(i),e=hs(i,e),a){case 0:t=zs(null,t,i,e,n);break a;case 1:t=Bs(null,t,i,e,n);break a;case 11:t=Ps(null,t,i,e,n);break a;case 14:t=Fs(null,t,i,hs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),zs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Bs(e,t,i,a,n);case 3:a:{if(Hs(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,Qa(e,t),ro(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Ss(Error(r(423)),t),t=Us(e,t,i,n,a);break a}else if(i!==a){a=Ss(Error(r(424)),t),t=Us(e,t,i,n,a);break a}else for(ya=Di(t.stateNode.containerInfo.firstChild),va=t,Y=!0,ba=null,n=Ia(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Oa(),i===a){t=ec(e,t,n);break a}Ns(e,t,i,n)}t=t.child}return t;case 5:return po(t),e===null&&wa(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,bi(i,a)?s=null:o!==null&&bi(i,o)&&(t.flags|=32),Rs(e,t),Ns(e,t,s,n),t.child;case 6:return e===null&&wa(t),null;case 13:return Ks(e,t,n);case 4:return uo(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Fa(t,null,i,n):Ns(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Ps(e,t,i,a,n);case 7:return Ns(e,t,t.pendingProps,n),t.child;case 8:return Ns(e,t,t.pendingProps.children,n),t.child;case 12:return Ns(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,J(La,i._currentValue),i._currentValue=s,o!==null)if(Er(o.value,s)){if(o.children===a.children&&!Wi.current){t=ec(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=$a(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ua(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Ua(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ns(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Wa(t,n),a=Ga(a),i=i(a),t.flags|=1,Ns(e,t,i,n),t.child;case 14:return i=t.type,a=hs(i,t.pendingProps),a=hs(i.type,a),Fs(e,t,i,a,n);case 15:return Is(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),$s(e,t),t.tag=1,qi(i)?(e=!0,Zi(t)):e=!1,Wa(t,n),ys(t,i,a),xs(t,i,a,n),Vs(null,t,i,!0,e,n);case 19:return Qs(e,t,n);case 22:return Ls(e,t,n)}throw Error(r(156,t.tag))};function Wl(e,t){return lt(e,t)}function Gl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===ne)return 11;if(e===k)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case ee:return Zl(n.children,a,o,t);case te:s=8,a|=8;break;case E:return e=Kl(12,n,t,a|2),e.elementType=E,e.lanes=o,e;case re:return e=Kl(13,n,t,a),e.elementType=re,e.lanes=o,e;case ie:return e=Kl(19,n,t,a),e.elementType=ie,e.lanes=o,e;case ae:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case D:s=10;break a;case O:s=9;break a;case ne:s=11;break a;case k:s=14;break a;case A:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=ae,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pt(0),this.expirationTimes=Pt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Za(a),e}function ru(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function iu(e){if(!e)return Hi;e=e._reactInternals;a:{if(rt(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break a;case 1:if(qi(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break a}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var n=e.type;if(qi(n))return Xi(e,n,t)}return t}function au(e,t,n,r,i,a,o,s,c){return e=nu(n,r,!0,e,i,a,o,s,c),e.context=iu(null),n=e.current,r=fl(),i=pl(n),a=$a(r,i),a.callback=t??null,eo(n,a,i),e.current.lanes=i,Ft(e,i,r),hl(e,r),e}function ou(e,t,n,r){var i=t.current,a=fl(),o=pl(i);return n=iu(n),t.context===null?t.context=n:t.pendingContext=n,t=$a(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=eo(i,t,o),e!==null&&(ml(e,i,o,a),to(e,i,o)),o}function su(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function cu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lu(e,t){cu(e,t),(e=e.alternate)&&cu(e,t)}function uu(){return null}var du=typeof reportError==`function`?reportError:function(e){console.error(e)};function fu(e){this._internalRoot=e}pu.prototype.render=fu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));ou(e,t,null,null)},pu.prototype.unmount=fu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Cl(function(){ou(null,e,null,null)}),t[Mi]=null}};function pu(e){this._internalRoot=e}pu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ht();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Zt.length&&t!==0&&t<Zt[n].priority;n++);Zt.splice(n,0,e),n===0&&nn(e)}};function mu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function hu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function gu(){}function _u(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=su(o);a.call(e)}}var o=au(t,r,e,0,null,!1,!1,``,gu);return e._reactRootContainer=o,e[Mi]=o.current,oi(e.nodeType===8?e.parentNode:e),Cl(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=su(c);s.call(e)}}var c=nu(e,0,!1,null,null,!1,!1,``,gu);return e._reactRootContainer=c,e[Mi]=c.current,oi(e.nodeType===8?e.parentNode:e),Cl(function(){ou(t,c,n,r)}),c}function vu(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i==`function`){var s=i;i=function(){var e=su(o);s.call(e)}}ou(t,o,e,i)}else o=_u(n,t,e,i,r);return su(o)}zt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Ot(t.pendingLanes);n!==0&&(Lt(t,n|1),hl(t,U()),!($&6)&&(el=U()+500,ia()))}break;case 13:Cl(function(){var t=Ya(e,1);t!==null&&ml(t,e,1,fl())}),lu(e,1)}},Bt=function(e){if(e.tag===13){var t=Ya(e,134217728);t!==null&&ml(t,e,134217728,fl()),lu(e,134217728)}},Vt=function(e){if(e.tag===13){var t=pl(e),n=Ya(e,t);n!==null&&ml(n,e,t,fl()),lu(e,t)}},Ht=function(){return W},Ut=function(e,t){var n=W;try{return W=e,t()}finally{W=n}},Re=function(e,t,n){switch(t){case`input`:if(be(e,n),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name=`+JSON.stringify(``+t)+`][type="radio"]`),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var a=Ri(i);if(!a)throw Error(r(90));he(i),be(i,a)}}}break;case`textarea`:Ee(e,n);break;case`select`:t=n.value,t!=null&&I(e,!!n.multiple,t,!1)}},Ue=Sl,H=Cl;var yu={usingClientEntryPoint:!1,Events:[Ii,Li,Ri,Ve,He,Sl]},bu={findFiberByHostInstance:K,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},xu={bundleType:bu.bundleType,version:bu.version,rendererPackageName:bu.rendererPackageName,rendererConfig:bu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=st(e),e===null?null:e.stateNode},findFiberByHostInstance:bu.findFiberByHostInstance||uu,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:`18.3.1-next-f1338f8080-20240426`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Su=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Su.isDisabled&&Su.supportsFiber)try{yt=Su.inject(xu),bt=Su}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=yu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!mu(t))throw Error(r(200));return ru(e,t,null,n)},e.createRoot=function(e,t){if(!mu(e))throw Error(r(299));var n=!1,i=``,a=du;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=nu(e,1,!1,null,null,n,!1,i,a),e[Mi]=t.current,oi(e.nodeType===8?e.parentNode:e),new fu(t)},e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=st(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return Cl(e)},e.hydrate=function(e,t,n){if(!hu(t))throw Error(r(200));return vu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!mu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=du;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=au(t,null,e,1,n??null,a,!1,o,s),e[Mi]=t.current,oi(e),i)for(e=0;e<i.length;e++)n=i[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new pu(t)},e.render=function(e,t,n){if(!hu(t))throw Error(r(200));return vu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!hu(e))throw Error(r(40));return e._reactRootContainer?(Cl(function(){vu(null,null,e,!1,function(){e._reactRootContainer=null,e[Mi]=null})}),!0):!1},e.unstable_batchedUpdates=Sl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!hu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return vu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=m();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),g=c(u(),1),_=h(),v=e=>String(e).padStart(2,`0`);function y(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t}function b(e,t,n){let r=new Intl.DateTimeFormat(`en-US`,{...n,timeZone:t}),i={};for(let t of r.formatToParts(e))i[t.type]=t.value;return i}function x(e,t){let n=b(e,t,{timeZoneName:`short`}).timeZoneName??``;if(n===`GMT`)return`UTC`;let r=n.replace(/^GMT/,``);return r===``?n:r.replace(/^([+-])(\d)$/,`$10$2`)}function S(e,t){let n=y(e);if(!n)return`—`;let r=b(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1});return`${r.month} ${r.day} ${r.hour}:${r.minute} ${x(n,t.tz)}`}function C(e,t){let n=y(e);if(!n)return`—`;let r=b(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZoneName:`shortOffset`}),i=(r.timeZoneName??``).replace(/^GMT/,``).replace(/^([+-])(\d)$/,`$10$2`);return`${r.month} ${r.day} ${r.hour}:${r.minute}${i||``}`}function w(e,t){let n=y(e);if(!n)return null;let r=b(n,t.tz,{month:`short`,day:`2-digit`});return`${r.month} ${r.day}`}function T(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],r=t[2]-1;return r<0||r>11?null:`${n[r]} ${t[3]}`}function ee(e,t,n={}){let r=y(e);if(!r)return`—`;let i=b(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.year}-${i.month}-${i.day} ${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${x(r,t.tz)}`}function te(e,t,n=Date.now()){let r=y(e);if(!r)return`—`;let i=n-r.getTime();if(i<6e4)return`just now`;if(i<36e5)return`${Math.floor(i/6e4)}m ago`;if(i<864e5)return`${Math.floor(i/36e5)}h ago`;let a=b(new Date(n),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),o=b(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),s=`${a.year}-${a.month}-${a.day}`,c=`${o.year}-${o.month}-${o.day}`;if(s!==c&&i<1728e5){let e=b(new Date(n-864e5),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`});if(c===`${e.year}-${e.month}-${e.day}`)return`Yesterday`}return w(e,t)??`—`}function E(e,t,n={}){let r=y(e);if(!r)return`—`;let i=b(r,t.tz,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${x(r,t.tz)}`}var D={pct0(e){return e==null?`—`:`${Math.round(e)}%`},pct1(e){return e==null?`—`:`${(+e).toFixed(1)}%`},usd2(e){return e==null?`—`:`$${(+e).toFixed(2)}`},usdSigned(e){return e==null?`—`:`${e>=0?`+`:`−`}$${Math.abs(+e).toFixed(2)}`},pctFloor(e){return Math.floor(e+1e-9)},usd3(e){return e==null?`—`:`$${(+e).toFixed(3)}`},usd2PerDay(e){return e==null?`—`:`$${(+e).toFixed(2)} / day`},hours1(e){return e==null?`—`:`${(+e).toFixed(1)} h`},ratePctPerHour(e){return e==null?`—`:`from ${(+e).toFixed(4)} %/h`},agoSec(e){return e==null?`—`:`${Math.max(0,e|0)}s ago`},hhmm(e){return e==null?`—`:`${e/3600|0}h ${v(e%3600/60|0)}m`},ddhh(e){return e==null?`—`:`${e/86400|0}d ${e%86400/3600|0}h`},elapsedHm(e){return e==null?`—`:e<=0?`just now`:`${e/3600|0}h ${e%3600/60|0}m`},datetimeShort:S,datetimeShortZ:C,dateShort:w,startedShort:ee,timeHHmm:E,weekStart:(e,t)=>T(e),timeOnly:E,relativeOrAbsolute:te,delta(e){if(e==null)return`—`;let t=e>0?`↑`:e<0?`↓`:`·`;return`${e>0?`+`:``}${e.toFixed(2)} ${t}`},pp(e){return e==null?`—`:Math.abs(e)<.05?`±0.0pp`:`${e>0?`+`:`−`}${Math.abs(e).toFixed(1)}pp`},deltaPct(e){if(e==null)return`—`;let t=Math.round(e*100);return t===0?`0%`:t>0?`+${t}%`:`−${Math.abs(t)}%`},compact(e,t={}){if(e==null)return`—`;let n=Math.abs(e),r;if(n>=1e9)r=(e/1e9).toFixed(1)+`B`;else if(n>=1e6){let t=e/1e6;r=(t>=100?t.toFixed(0):t.toFixed(1))+`M`}else if(n>=1e3){let t=e/1e3;r=(t>=100?t.toFixed(0):t.toFixed(1))+`k`}else return String(e|0);return r=r.replace(/\.0(?=[kMB]$)/,``),t.upper&&(r=r.replace(/k$/,`K`)),r},deltaCls(e,t){return e==null||t?``:e>0?`delta-pos`:e<0?`delta-neg`:``}},O={tz:`Etc/UTC`,offsetLabel:`UTC`};function ne(e){return e?.display?{tz:e.display.resolved_tz,offsetLabel:e.display.offset_label}:O}function re(e){let t=e=>(t,n)=>(e(n)??0)-(e(t)??0),n=e=>(t,n)=>{let r=(e(t)||``).toString(),i=(e(n)||``).toString();return r<i?-1:+(r>i)};switch(e){case`cost desc`:return t(e=>e.cost_usd??0);case`duration desc`:return t(e=>e.duration_min);case`model asc`:return n(e=>e.model);case`project asc`:return n(e=>e.project);default:return t(e=>e.started_utc?Date.parse(e.started_utc):0)}}function ie(e,t){let n=(t||``).toLowerCase();return n?e.filter(e=>(e.project||``).toLowerCase().includes(n)||(e.project_key||``).toLowerCase().includes(n)||(e.model||``).toLowerCase().includes(n)):e}function k(e,t=O){let n=e.started_utc?D.startedShort(e.started_utc,t,{noSuffix:!0}):``,r=e.duration_min==null?``:`${e.duration_min}m`,i=e.cost_usd==null?``:`$${e.cost_usd.toFixed(2)}`;return[n===`—`?``:n,r,e.model||``,e.project||``,e.project_key||``,i].join(` `).toLowerCase()}function A(e,t,n=O){let r=(t||``).toLowerCase();if(!r)return[];let i=[];for(let t=0;t<e.length;t++)k(e[t],n).includes(r)&&i.push(t);return i}function ae(e){let t=e?.trend;return t?(t.spark_heights&&t.spark_heights.length!==t.weeks.length&&console.warn(`cctally dashboard: spark_heights length ${t.spark_heights.length} != weeks ${t.weeks.length}`),t.weeks.map((e,n)=>({label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.delta,is_current:e.is_current,spark_height:t.spark_heights?.[n]}))):[]}function oe(e){let t=e?.trend;return t?t.history.map(e=>({label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.delta,is_current:e.is_current})):[]}var se=[`current-week`,`forecast`,`trend`,`sessions`,`projects`,`weekly`,`monthly`,`blocks`,`daily`,`alerts`,`cache-report`],j=new Set([`current-week`,`forecast`,`trend`,`sessions`,`projects`,`weekly`,`monthly`,`blocks`,`daily`]),ce=4;function M(e,t){if(t>=2)return{panels:e??[],newVersion:t};if(!e||e.length===0)return{panels:[],newVersion:2};if(e.includes(`projects`))return{panels:e,newVersion:2};let n=[...e],r=Math.min(ce,n.length);return n.splice(r,0,`projects`),{panels:n,newVersion:2}}function le(e,t){if(!e||!Array.isArray(e)||e.length===0)return[...t];let n=new Set(t),r=new Set,i=[];for(let t of e)n.has(t)&&(r.has(t)||(r.add(t),i.push(t)));for(let e of t)r.has(e)||i.push(e);return i}function N(e,t,n){if(!n)return e;let r=t.find(e=>e.id===n.column);if(!r)return e;let i=n.direction===`desc`?-1:1,a=r.nullKey;return e.slice().sort((e,t)=>{if(a){let n=a(e)==null,r=a(t)==null;if(n&&r)return 0;if(n)return 1;if(r)return-1}return i*r.compare(e,t)})}function ue(e,t){return!e||e.column!==t.id?{column:t.id,direction:t.defaultDirection}:e.direction===t.defaultDirection?{column:t.id,direction:e.direction===`asc`?`desc`:`asc`}:null}function P(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.column!=`string`||t.direction!==`asc`&&t.direction!==`desc`?null:{column:t.column,direction:t.direction}}var de=[{id:`started`,label:`Started`,defaultDirection:`desc`,compare:(e,t)=>(Date.parse(e.started_utc??``)||0)-(Date.parse(t.started_utc??``)||0)},{id:`duration`,label:`Dur`,defaultDirection:`desc`,compare:(e,t)=>(e.duration_min??0)-(t.duration_min??0)},{id:`model`,label:`Model`,defaultDirection:`asc`,compare:(e,t)=>(e.model||``).localeCompare(t.model||``)},{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>(e.project||``).localeCompare(t.project||``)},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.cost_usd??0)-(t.cost_usd??0)}],fe={shareModal:null,composerModal:null};function pe(e,t){switch(t.type){case`OPEN_SHARE`:{let n=t.params===void 0?{panel:t.panel,triggerId:t.triggerId}:{panel:t.panel,triggerId:t.triggerId,params:t.params};return{...e,shareModal:n}}case`CLOSE_SHARE`:return{...e,shareModal:null};case`OPEN_COMPOSER`:return{...e,composerModal:{open:!0}};case`CLOSE_COMPOSER`:return{...e,composerModal:null};default:return e}}function F(e,t,n){return n===void 0?{type:`OPEN_SHARE`,panel:e,triggerId:t}:{type:`OPEN_SHARE`,panel:e,triggerId:t,params:n}}function me(){return{type:`CLOSE_SHARE`}}function he(){return{type:`OPEN_COMPOSER`}}function ge(){return{type:`CLOSE_COMPOSER`}}var _e=`cctally:share:basket`;function ve(e,t){switch(t.type){case`BASKET_ADD`:return e.items.length>=20?{...e,rejectedReason:`capacity`}:{items:[...e.items,t.item],rejectedReason:null};case`BASKET_REMOVE`:return{...e,items:e.items.filter(e=>e.id!==t.id)};case`BASKET_REORDER`:{if(t.fromIdx===t.toIdx||t.fromIdx<0||t.toIdx<0||t.fromIdx>=e.items.length||t.toIdx>=e.items.length)return e;let n=e.items.slice(),[r]=n.splice(t.fromIdx,1);return n.splice(t.toIdx,0,r),{...e,items:n}}case`BASKET_CLEAR`:return{items:[],rejectedReason:null};case`BASKET_CLEAR_REJECTED`:return e.rejectedReason==null?e:{...e,rejectedReason:null};case`BASKET_HYDRATE`:return{items:t.items,rejectedReason:null};default:return e}}function ye(e){return{id:e.id??Ce(),panel:e.panel,template_id:e.template_id,options:e.options,added_at:e.added_at,data_digest_at_add:e.data_digest_at_add,kernel_version:e.kernel_version,label_hint:e.label_hint}}function be(){try{let e=localStorage.getItem(_e);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(Se):[]}catch{return[]}}function xe(e){try{localStorage.setItem(_e,JSON.stringify(e))}catch{}}function Se(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.panel==`string`&&typeof t.template_id==`string`&&typeof t.added_at==`string`&&typeof t.data_digest_at_add==`string`&&typeof t.kernel_version==`number`&&typeof t.label_hint==`string`&&typeof t.options==`object`&&t.options!==null}function Ce(){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``).slice(0,26)}var I=`ccusage.dashboard.prefs`,we=`ccusage.dashboard.filter`,Te=`ccusage.dashboard.sort`;function Ee(){return{state:null,suppress:{skipped_versions:[],remind_after:null},modalOpen:!1,runId:null,status:`idle`,stream:[],errorMessage:null,startedAt:null}}var De=[{key:`started desc`,label:`Started (newest first)`},{key:`cost desc`,label:`Cost (highest first)`},{key:`duration desc`,label:`Duration (longest first)`},{key:`model asc`,label:`Model (A→Z)`},{key:`project asc`,label:`Project (A→Z)`}];function Oe(){return{sortDefault:`started desc`,sessionsPerPage:100,sessionsCollapsed:!0,blocksCollapsed:!0,dailyCollapsed:!0,alertsCollapsed:!1,panelOrder:[...se],onboardingToastSeen:!1,mobileOnboardingToastSeen:!1,trendSortOverride:null,sessionsSortOverride:null,projectsWindowWeeks:4,projectsTrendYMode:`absolute`,projectsSortOverride:null,panelOrderSchemaVersion:1}}function ke(){return{enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[90,100],budget_enabled:!1,projected_weekly_enabled:!1,projected_budget_enabled:!1,project_alerts_enabled:!1}}function Ae(){let e=Oe(),t=localStorage.getItem(I),n=localStorage.getItem(Te);if(t){try{let n=JSON.parse(t);e={...Oe(),...n};let r=typeof n.panelOrderSchemaVersion==`number`?n.panelOrderSchemaVersion:1,i=M(n.panelOrder??null,r);e.panelOrderSchemaVersion=i.newVersion,e.panelOrder=le(i.panels,se),e.trendSortOverride=P(e.trendSortOverride??null),e.sessionsSortOverride=P(e.sessionsSortOverride??null),e.projectsSortOverride=P(e.projectsSortOverride??null),r!==i.newVersion&&localStorage.setItem(I,JSON.stringify(e))}catch{e=Oe(),e.panelOrderSchemaVersion=2}n!=null&&localStorage.removeItem(Te)}else n?(e={...Oe(),sortDefault:n,panelOrderSchemaVersion:2},localStorage.setItem(I,JSON.stringify(e)),localStorage.removeItem(Te)):e.panelOrderSchemaVersion=2;return{snapshot:null,openModal:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null,sessionsSort:e.sortDefault,filterText:localStorage.getItem(we)??``,searchText:``,searchMatches:[],searchIndex:-1,inputMode:null,prefs:e,syncErrorFloorUntil:0,syncBusy:!1,syncSuccessFlashUntil:0,toast:null,alerts:[],seenAlertIds:new Set,alertsConfig:ke(),alertToastQueue:[],dragPreviewOrder:null,update:Ee(),...fe,basket:{items:be(),rejectedReason:null},doctor:null,doctorModalOpen:!1}}var L=Ae(),je=new Set,Me=``;function Ne(){je.forEach(e=>{try{e()}catch(e){console.error(`subscriber error:`,e)}})}function R(){return L}function z(e){return je.add(e),()=>{je.delete(e)}}function Pe(e=L){let t=ie(e.snapshot?.sessions?.rows??[],e.filterText),n=e.prefs.sessionsSortOverride;return(n?N(t,de,n):t.slice().sort(re(e.sessionsSort))).slice(0,e.prefs.sessionsPerPage)}function Fe(e){if(!e.searchText)return{searchMatches:[],searchIndex:-1};let t=A(Pe(e),e.searchText,ne(e.snapshot));return t.length===0?{searchMatches:[],searchIndex:-1}:{searchMatches:t,searchIndex:e.searchIndex<0||e.searchIndex>=t.length?0:e.searchIndex}}function Ie(e){let t=e?.generated_at??``;if(t&&Me&&t<Me)return!1;t&&(Me=t);let n={...L,snapshot:e};return L={...n,...Fe(n)},Ne(),!0}function Le(){Me=``}function B(e){switch(e.type){case`OPEN_MODAL`:L={...L,openModal:e.kind,openSessionId:e.sessionId??null,openBlockStartAt:e.blockStartAt??null,openDailyDate:e.dailyDate??null,openProjectKey:e.projectKey??null};break;case`CLOSE_MODAL`:L={...L,openModal:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null};break;case`SET_FILTER`:{e.text?localStorage.setItem(we,e.text):localStorage.removeItem(we);let t={...L,filterText:e.text};L={...t,...Fe(t)};break}case`SET_SEARCH`:{let t={...L,searchText:e.text,searchIndex:0};L={...t,...Fe(t)};break}case`SET_SEARCH_MATCHES`:L={...L,searchMatches:e.matches,searchIndex:e.index};break;case`SET_SORT`:{let t={...L,sessionsSort:e.key};L={...t,...Fe(t)};break}case`SET_INPUT_MODE`:L={...L,inputMode:e.mode};break;case`SAVE_PREFS`:{let t={...L.prefs,...e.patch};localStorage.setItem(I,JSON.stringify(t));let n={...L,prefs:t};L={...n,...Fe(n)};break}case`RESET_PREFS`:{let e=L.prefs.onboardingToastSeen,t=L.prefs.mobileOnboardingToastSeen;localStorage.removeItem(I),localStorage.removeItem(we);let n=Oe();n.onboardingToastSeen=e,n.mobileOnboardingToastSeen=t,localStorage.setItem(I,JSON.stringify(n)),L={...L,prefs:n,filterText:``,searchText:``,searchMatches:[],searchIndex:-1,sessionsSort:n.sortDefault};break}case`RESET_PANEL_ORDER`:{let e={...L.prefs,panelOrder:[...se],panelOrderSchemaVersion:2};localStorage.setItem(I,JSON.stringify(e)),L={...L,prefs:e};break}case`REORDER_PANELS`:{let{from:t,to:n}=e,r=L.prefs.panelOrder;if(t===n||t<0||t>=r.length||n<0||n>=r.length)break;let i=r.slice(),[a]=i.splice(t,1);i.splice(n,0,a);let o={...L.prefs,panelOrder:i};localStorage.setItem(I,JSON.stringify(o)),L={...L,prefs:o};break}case`SET_DRAG_PREVIEW`:L={...L,dragPreviewOrder:e.order};break;case`COMMIT_DRAG_PREVIEW`:{let e=L.dragPreviewOrder;if(!e)break;let t={...L.prefs,panelOrder:e};localStorage.setItem(I,JSON.stringify(t)),L={...L,prefs:t,dragPreviewOrder:null};break}case`CLEAR_DRAG_PREVIEW`:if(L.dragPreviewOrder==null)break;L={...L,dragPreviewOrder:null};break;case`SWAP_PANELS`:{let{index:t,direction:n}=e,r=L.prefs.panelOrder,i=t+n;if(i<0||i>=r.length||t<0||t>=r.length)break;let a=r.slice();[a[t],a[i]]=[a[i],a[t]];let o={...L.prefs,panelOrder:a};localStorage.setItem(I,JSON.stringify(o)),L={...L,prefs:o};break}case`MARK_ONBOARDING_TOAST_SEEN`:{if(L.prefs.onboardingToastSeen)break;let e={...L.prefs,onboardingToastSeen:!0};localStorage.setItem(I,JSON.stringify(e)),L={...L,prefs:e};break}case`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:{if(L.prefs.mobileOnboardingToastSeen)break;let e={...L.prefs,mobileOnboardingToastSeen:!0};localStorage.setItem(I,JSON.stringify(e)),L={...L,prefs:e};break}case`SET_SYNC_ERROR_FLOOR`:L={...L,syncErrorFloorUntil:e.untilMs};break;case`SET_SYNC_BUSY`:L={...L,syncBusy:e.busy};break;case`SET_SYNC_SUCCESS_FLASH`:L={...L,syncSuccessFlashUntil:e.untilMs};break;case`SHOW_STATUS_TOAST`:L={...L,toast:{kind:`status`,text:e.text}};break;case`SHOW_ALERT_TOAST`:L={...L,toast:{kind:`alert`,payload:e.alert}};break;case`HIDE_TOAST`:if(L.toast?.kind===`alert`&&L.alertToastQueue.length>0){let[e,...t]=L.alertToastQueue;L={...L,toast:{kind:`alert`,payload:e},alertToastQueue:t}}else L={...L,toast:null};break;case`INGEST_SNAPSHOT_ALERTS`:{let t=new Set(L.seenAlertIds);if(e.isFirstTick){for(let n of e.alerts)t.add(n.id);L={...L,alerts:e.alerts,seenAlertIds:t,alertsConfig:e.alertsSettings,alertToastQueue:[]};break}let n=e.alerts.filter(e=>!t.has(e.id));for(let e of n)t.add(e.id);let r=L.toast,i=L.alertToastQueue;n.length>0&&(!r||r.kind!==`alert`?(r={kind:`alert`,payload:n[0]},i=[...i,...n.slice(1)]):i=[...i,...n]),L={...L,alerts:e.alerts,seenAlertIds:t,alertsConfig:e.alertsSettings,alertToastQueue:i,toast:r};break}case`SET_TABLE_SORT`:{let t=e.table===`trend`?`trendSortOverride`:e.table===`projects`?`projectsSortOverride`:`sessionsSortOverride`,n={...L.prefs,[t]:e.override};localStorage.setItem(I,JSON.stringify(n));let r={...L,prefs:n};L={...r,...Fe(r)};break}case`CLEAR_TABLE_SORTS`:{let e={...L.prefs,trendSortOverride:null,sessionsSortOverride:null,projectsSortOverride:null};localStorage.setItem(I,JSON.stringify(e));let t={...L,prefs:e};L={...t,...Fe(t)};break}case`OPEN_UPDATE_MODAL`:L={...L,update:{...L.update,modalOpen:!0}};break;case`CLOSE_UPDATE_MODAL`:L={...L,update:{...L.update,modalOpen:!1}};break;case`SET_UPDATE_STATE`:L={...L,update:{...L.update,state:e.state,suppress:e.suppress}};break;case`SET_UPDATE_STATUS`:L={...L,update:{...L.update,status:e.status,errorMessage:e.errorMessage===void 0?L.update.errorMessage:e.errorMessage}};break;case`SET_UPDATE_RUN_ID`:L={...L,update:{...L.update,runId:e.runId,startedAt:e.startedAt===void 0?L.update.startedAt:e.startedAt}};break;case`APPEND_UPDATE_STREAM`:L={...L,update:{...L.update,stream:[...L.update.stream,e.event]}};break;case`RESET_UPDATE_RUN`:L={...L,update:{...L.update,status:`idle`,runId:null,stream:[],errorMessage:null,startedAt:null}};break;case`OPEN_SHARE`:case`CLOSE_SHARE`:case`OPEN_COMPOSER`:case`CLOSE_COMPOSER`:{let t=pe({shareModal:L.shareModal,composerModal:L.composerModal},e);L={...L,...t};break}case`BASKET_ADD`:case`BASKET_REMOVE`:case`BASKET_REORDER`:case`BASKET_CLEAR`:case`BASKET_CLEAR_REJECTED`:case`BASKET_HYDRATE`:{let t=ve(L.basket,e);if(t===L.basket)break;let n=t.items!==L.basket.items;L={...L,basket:t},n&&xe(t.items),e.type===`BASKET_ADD`&&t.rejectedReason===`capacity`&&(L={...L,toast:{kind:`status`,text:`Basket is full (20 sections). Remove one to add another.`}});break}case`SET_DOCTOR_AGGREGATE`:L={...L,doctor:e.doctor};break;case`OPEN_DOCTOR_MODAL`:L={...L,doctorModalOpen:!0};break;case`CLOSE_DOCTOR_MODAL`:L={...L,doctorModalOpen:!1};break}Ne()}var Re=o((e=>{var t=u(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),V=o(((e,t)=>{t.exports=Re()}))(),ze=320;function Be(){return R().basket}function Ve(){let e=(0,g.useSyncExternalStore)(z,Be).items.length,[t,n]=(0,g.useState)(!1),r=(0,g.useRef)(e);if((0,g.useEffect)(()=>{if(e>r.current){n(!0);let t=setTimeout(()=>n(!1),ze);return r.current=e,()=>clearTimeout(t)}r.current=e},[e]),e===0)return null;let i=e===1?`section`:`sections`;return(0,V.jsxs)(`button`,{type:`button`,className:`basket-chip${t?` basket-chip-pulse`:``}`,"aria-label":`Open basket (${e} ${i}). Click to compose.`,title:`Basket — ${e} ${i}. Click to compose.`,onClick:()=>B(he()),children:[(0,V.jsxs)(`svg`,{className:`basket-chip-icon`,width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,focusable:`false`,children:[(0,V.jsx)(`rect`,{x:`2.75`,y:`2`,width:`8.5`,height:`10.5`,rx:`1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`}),(0,V.jsx)(`rect`,{x:`4.5`,y:`0.75`,width:`5`,height:`2.5`,rx:`0.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]}),(0,V.jsx)(`span`,{className:`basket-chip-count`,children:e})]})}var He={ok:`OK`,warn:`WARN`,fail:`FAIL`};function Ue(){let e=(0,g.useSyncExternalStore)(z,()=>R().doctor);if(!e)return null;let{severity:t,counts:n,generated_at:r}=e,i=`Doctor`;n.fail>0?i=`Doctor · ${n.fail} fail`:t===`warn`&&n.warn>0&&(i=`Doctor · ${n.warn} warn`);let a=`Doctor diagnostic: ${He[t]} — ${n.ok} OK, ${n.warn} warn, ${n.fail} fail`,o=`Doctor · ${He[t]} (click for report)`;try{let e=new Date(r).toLocaleTimeString();o=`Doctor · ${He[t]} · checked ${e} (click for report)`}catch{}return(0,V.jsxs)(`button`,{type:`button`,className:`doctor-chip doctor-chip--${t}`,title:o,"aria-label":a,onClick:()=>B({type:`OPEN_DOCTOR_MODAL`}),children:[(0,V.jsx)(`span`,{className:`doctor-chip__dot`,"aria-hidden":`true`,children:`●`}),(0,V.jsx)(`span`,{className:`doctor-chip__label`,children:i})]})}function H(){return(0,g.useSyncExternalStore)(z,()=>R().snapshot)}var We=`/api/update/status`,Ge=`/api/update`,Ke=`/api/update/dismiss`;function qe(e,t=null){return e===`brew`?`brew update --quiet && brew upgrade cctally`:e===`npm`?`npm install -g cctally@${t??`latest`}`:null}function Je(e){return!e||!e.includes(`-`)?null:`You're on prerelease ${e}; this banner suggests stable.\nTo track prereleases, manage manually: npm install -g cctally@next`}function Ye(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(typeof n._error==`string`)return{current_version:null,latest_version:null,available:!1,method:`unknown`,update_command:null,release_notes_url:null,check_status:`unavailable`,checked_at_utc:null,prerelease_note:null};let r=typeof n.current_version==`string`?n.current_version:null,i=typeof n.latest_version==`string`?n.latest_version:null,a=n.install,o=a&&typeof a==`object`?a:{},s=typeof o.method==`string`?o.method:`unknown`,c=s===`brew`||s===`npm`?s:`unknown`,l=typeof n.check_status==`string`?n.check_status:null,u=l&&[`ok`,`rate_limited`,`fetch_failed`,`parse_failed`,`unavailable`].includes(l)?l:null,d=typeof n.checked_at_utc==`string`?n.checked_at_utc:null,f=typeof n.latest_version_url==`string`?n.latest_version_url:null;return{current_version:r,latest_version:i,available:Ze(r,i,t),method:c,update_command:qe(c,null),release_notes_url:f,check_status:u,checked_at_utc:d,prerelease_note:Je(r)}}function Xe(e){if(!e||typeof e!=`object`)return{skipped_versions:[],remind_after:null};let t=e,n=Array.isArray(t.skipped_versions)?t.skipped_versions.filter(e=>typeof e==`string`):[],r=null;if(t.remind_after&&typeof t.remind_after==`object`){let e=t.remind_after;typeof e.version==`string`&&typeof e.until_utc==`string`&&(r={version:e.version,until_utc:e.until_utc})}return{skipped_versions:n,remind_after:r}}function Ze(e,t,n){if(!e||!t||!Qe(t,e)||n.skipped_versions.includes(t))return!1;let r=n.remind_after;if(r&&r.version&&r.until_utc)try{if(!Qe(t,r.version)){let e=Date.parse(r.until_utc);if(Number.isFinite(e)&&Date.now()<e)return!1}}catch{}return!0}function Qe(e,t){let n=e=>{let[t,n=``]=e.split(`-`,2),r=t.split(`.`).map(e=>parseInt(e,10));for(;r.length<3;)r.push(0);return[r[0]||0,r[1]||0,r[2]||0,n]},[r,i,a,o]=n(e),[s,c,l,u]=n(t);return r===s?i===c?a===l?!o&&u?!0:o&&!u?!1:o>u:a>l:i>c:r>s}async function $e(){try{let e=await fetch(We);if(!e.ok)return;let t=await e.json(),n=Xe(t?.suppress),r=Ye(t?.state,n);B({type:`SET_UPDATE_STATE`,state:r,suppress:n}),R().update.status===`success`&&r?.current_version&&r.current_version===r.latest_version&&(B({type:`CLOSE_UPDATE_MODAL`}),B({type:`RESET_UPDATE_RUN`}))}catch{}}async function et(e){B({type:`RESET_UPDATE_RUN`}),B({type:`SET_UPDATE_STATUS`,status:`running`,errorMessage:null}),B({type:`SET_UPDATE_RUN_ID`,runId:null,startedAt:Date.now()});try{let t=e?JSON.stringify({version:e}):`{}`,n=await fetch(Ge,{method:`POST`,headers:{"Content-Type":`application/json`},body:t}),r=await n.json().catch(()=>({}));if(n.status===202&&typeof r.run_id==`string`){B({type:`SET_UPDATE_RUN_ID`,runId:r.run_id});return}if(n.status===409&&typeof r.run_id_in_progress==`string`){B({type:`SET_UPDATE_RUN_ID`,runId:r.run_id_in_progress});return}B({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof r.error==`string`?r.error:`failed to start update (HTTP ${n.status})`})}catch(e){B({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`network error: `+e.message})}}async function tt(e){if(e){try{if((await fetch(Ke,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`skip`,version:e})})).ok){let t=R().update;t.state&&B({type:`SET_UPDATE_STATE`,state:{...t.state,available:!1},suppress:{...t.suppress,skipped_versions:t.suppress.skipped_versions.includes(e)?t.suppress.skipped_versions:[...t.suppress.skipped_versions,e]}}),B({type:`CLOSE_UPDATE_MODAL`})}}catch{}await $e()}}async function nt(e){try{if((await fetch(Ke,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`remind`,days:e})})).ok){let e=R().update;e.state&&B({type:`SET_UPDATE_STATE`,state:{...e.state,available:!1},suppress:e.suppress}),B({type:`CLOSE_UPDATE_MODAL`})}}catch{}await $e()}var rt={refreshState:$e,start:et,skip:tt,remind:nt,open:()=>B({type:`OPEN_UPDATE_MODAL`}),close:()=>B({type:`CLOSE_UPDATE_MODAL`})},it=null,at=!1,ot=new Set,st=!0;function ct(){return at}function lt(e){return ot.add(e),()=>{ot.delete(e)}}function ut(){ot.forEach(e=>{try{e()}catch(e){console.error(`status subscriber error:`,e)}})}function dt(e={}){it&&=(it.close(),null),at=!1,st=!0,ut(),Le(),(async()=>{try{let t=await(await fetch(`/api/data`)).json();Ie(t)&&(U(t),pt(t),mt(t)),e.onConnect?.()}catch(e){console.error(`initial snapshot failed:`,e)}})(),it=new EventSource(`/api/events`),it.addEventListener(`update`,t=>{try{let n=JSON.parse(t.data);Ie(n)&&(U(n),pt(n),mt(n)),at&&(at=!1,ut(),e.onConnect?.())}catch(e){console.error(`SSE parse failed:`,e)}}),it.onerror=()=>{at||(at=!0,st=!0,ut(),e.onDisconnect?.())}}var ft={enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[],budget_enabled:!1,projected_weekly_enabled:!1,projected_budget_enabled:!1,project_alerts_enabled:!1};function U(e){B({type:`INGEST_SNAPSHOT_ALERTS`,alerts:e.alerts??[],alertsSettings:e.alerts_settings??ft,isFirstTick:st}),st=!1}function pt(e){if(!e.update)return;let t=Xe(e.update.suppress);B({type:`SET_UPDATE_STATE`,state:Ye(e.update.state,t),suppress:t})}function mt(e){e.doctor&&B({type:`SET_DOCTOR_AGGREGATE`,doctor:e.doctor})}function ht(){return{disconnected:(0,g.useSyncExternalStore)(lt,()=>ct())}}function gt(){let e=H(),{disconnected:t}=ht(),n=(0,g.useSyncExternalStore)(z,()=>R().syncErrorFloorUntil),r=(0,g.useSyncExternalStore)(z,()=>R().syncBusy),i=(0,g.useSyncExternalStore)(z,()=>R().syncSuccessFlashUntil),[a,o]=(0,g.useState)(`sync paused`),[s,c]=(0,g.useState)(``),l=(0,g.useRef)(0),[,u]=(0,g.useState)(0),[,d]=(0,g.useState)(0),f=Date.now(),p=f<n,m=f<i;return(0,g.useEffect)(()=>{if(!(p||m)){if(t){o(`disconnected`),c(`var(--accent-red)`);return}if(e){if(e.last_sync_error){o(`⚠ sync error`),c(`var(--accent-red)`);return}if(e.sync_age_s==null){o(`sync paused`),c(``),l.current=0;return}c(``),l.current=e.sync_age_s|0,o(`synced ${l.current}s ago`)}}},[e,t,p,m]),(0,g.useEffect)(()=>{let n=window.setInterval(()=>{t||Date.now()<R().syncErrorFloorUntil||!e||e.sync_age_s==null||e.last_sync_error||(l.current+=1,o(`synced ${l.current}s ago`))},1e3);return()=>window.clearInterval(n)},[e,t]),(0,g.useEffect)(()=>{if(!p)return;let e=n-Date.now();if(e<=0)return;let t=window.setTimeout(()=>u(e=>e+1),e);return()=>window.clearTimeout(t)},[n,p]),(0,g.useEffect)(()=>{if(!m)return;let e=i-Date.now();if(e<=0)return;let t=window.setTimeout(()=>d(e=>e+1),e);return()=>window.clearTimeout(t)},[i,m]),r?(0,V.jsx)(`span`,{className:`sync-chip mute syncing`,id:`sync-chip`,"aria-busy":`true`,"aria-live":`polite`,children:`syncing…`}):p?(0,V.jsx)(`span`,{className:`sync-chip mute sync-error`,id:`sync-chip`,"aria-live":`polite`,style:{color:`var(--accent-red)`},children:`⚠ sync failed`}):m?(0,V.jsx)(`span`,{className:`sync-chip mute sync-success`,id:`sync-chip`,"aria-live":`polite`,children:`✓ updated`}):(0,V.jsx)(`span`,{className:`sync-chip mute`,id:`sync-chip`,"aria-live":`polite`,style:{color:s},children:a})}function _t(){let e=(0,g.useSyncExternalStore)(z,()=>R().update).state;if(!e||!e.available||!e.latest_version)return null;let t=e.current_version??`?`,n=e.latest_version;return(0,V.jsxs)(`button`,{type:`button`,className:`badge-update`,title:`Update available · ${t} → ${n} · click to view`,"aria-label":`Update available, current version ${t}, latest ${n}`,onClick:()=>rt.open(),children:[(0,V.jsx)(`span`,{className:`badge-update-arrow`,"aria-hidden":`true`,children:`↑`}),(0,V.jsxs)(`span`,{className:`badge-update-version`,children:[`v`,n]})]})}var vt={capped:{label:`OVER`,cls:`over`,warn:!0,accent:`accent-red`,glyph:`⛔`},cap:{label:`WARN`,cls:`warn`,warn:!0,accent:`accent-amber`,glyph:`⚠`},ok:{label:`OK`,cls:`good`,warn:!1,accent:`accent-green`,glyph:`✓`}};function yt(e){return e==null?null:vt[e]??null}var bt=3e3,xt=1200,St=300;async function Ct(){if(R().syncBusy)return;let e=Date.now();B({type:`SET_SYNC_BUSY`,busy:!0});let t=!1;try{let e=await fetch(`/api/sync`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(e.status===503)return;if(e.ok){if(e.status===200){let t=await e.json().catch(()=>({})),n=(Array.isArray(t.warnings)?t.warnings:[]).filter(e=>e?.code&&e.code!==`rate_limited`);if(n.length>0){console.error(`/api/sync warnings:`,n.map(e=>e.code).join(`, `)),B({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+bt});return}}t=!0;return}console.error(`/api/sync failed: ${e.status}`),B({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+bt})}catch(e){console.error(`/api/sync failed:`,e),B({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+bt})}finally{let n=Date.now()-e;n<St&&await new Promise(e=>setTimeout(e,St-n)),t&&B({type:`SET_SYNC_SUCCESS_FLASH`,untilMs:Date.now()+xt}),B({type:`SET_SYNC_BUSY`,busy:!1})}}function wt(e){document.dispatchEvent(new KeyboardEvent(`keydown`,{key:e}))}function Tt(){let e=H()?.header,t=yt(e?.forecast_verdict??null),n=t?.warn??!1,r=(0,g.useSyncExternalStore)(z,()=>R().update).state?.current_version??null;return(0,V.jsxs)(`div`,{className:`topbar`,children:[(0,V.jsxs)(`div`,{className:`stat topbar-brand`,"data-mobile-keep":`primary`,"data-stat":`brand`,children:[(0,V.jsx)(`span`,{className:`brand-name`,children:`cctally`}),r?(0,V.jsxs)(`span`,{className:`brand-version`,children:[`v`,r]}):null,(0,V.jsx)(_t,{})]}),(0,V.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`week`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,V.jsx)(`span`,{className:`k`,children:`Week`}),(0,V.jsx)(`span`,{className:`v`,children:e?.week_label??`—`})]}),(0,V.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`used`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Used`}),(0,V.jsx)(`span`,{className:`hi-green`,children:D.pct1(e?.used_pct)}),(0,V.jsxs)(`span`,{className:`mute`,"data-mobile-keep":`secondary`,"data-stat":`five-hour`,children:[`(5h `,(0,V.jsx)(`span`,{children:D.pct0(e?.five_hour_pct)}),`)`]})]}),(0,V.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`dollar-per-pct`,children:[(0,V.jsx)(`span`,{className:`k`,children:`$/1%`}),(0,V.jsx)(`span`,{className:`hi-cyan`,children:D.usd2(e?.dollar_per_pct)})]}),(0,V.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`forecast`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Fcst`}),(0,V.jsx)(`span`,{className:`hi-amber`,children:D.pct0(e?.forecast_pct)}),n?(0,V.jsx)(`span`,{className:`pill-warn`,children:t?.label??`WARN`}):null]}),(0,V.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`secondary`,"data-stat":`vs-last-week`,children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-green)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,V.jsx)(`span`,{className:`mute`,children:`vs last week`})]}),(0,V.jsxs)(`div`,{className:`topbar-actions`,children:[(0,V.jsx)(Ue,{}),(0,V.jsx)(Ve,{}),(0,V.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-settings`,"aria-label":`Open settings`,onClick:()=>wt(`s`),children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#settings`})})}),(0,V.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-help`,"aria-label":`Open help`,onClick:()=>wt(`?`),children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#help-circle`})})}),(0,V.jsxs)(`button`,{type:`button`,className:`topbar-sync`,onClick:()=>Ct(),title:`Sync now (r)`,"aria-label":`Sync now`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,V.jsx)(gt,{})]})]})]})}function Et(){let e=(R().snapshot?.sessions?.rows??[])[0]?.session_id;e&&B({type:`OPEN_MODAL`,kind:`session`,sessionId:e})}function Dt(){let e=R().snapshot?.blocks?.rows??[];e.length!==0&&B({type:`OPEN_MODAL`,kind:`block`,blockStartAt:(e.find(e=>e.is_active)??e[0]).start_at})}function Ot(e){let{searchMatches:t,searchIndex:n}=R();if(t.length===0)return;let r=t.length;B({type:`SET_SEARCH_MATCHES`,matches:t,index:((n<0?0:n)+e+r)%r})}var kt=`Can't close this tab — use your browser to close it.`;function At(){try{window.close()}catch{}window.setTimeout(()=>{window.closed||B({type:`SHOW_STATUS_TOAST`,text:kt})},100)}function jt(){return(0,V.jsxs)(`div`,{className:`footer`,children:[(0,V.jsxs)(`span`,{className:`kb`,children:[(0,V.jsx)(`kbd`,{children:`↑/↓`}),` scroll`]}),(0,V.jsxs)(`span`,{className:`kb`,children:[(0,V.jsx)(`kbd`,{className:`accent-green`,children:`tab`}),` next panel`]}),(0,V.jsxs)(`button`,{className:`kb-btn`,id:`footer-r`,type:`button`,onClick:()=>Ct(),children:[(0,V.jsx)(`kbd`,{className:`accent-purple`,children:`r`}),` refresh`]}),(0,V.jsxs)(`button`,{className:`kb-btn`,id:`footer-s`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`s`})),children:[(0,V.jsx)(`kbd`,{children:`s`}),` settings`]}),(0,V.jsxs)(`button`,{className:`kb-btn`,id:`footer-help`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`?`})),children:[(0,V.jsx)(`kbd`,{className:`accent-amber`,children:`?`}),` help`]}),(0,V.jsxs)(`button`,{className:`kb-btn`,id:`footer-q`,type:`button`,onClick:()=>At(),children:[(0,V.jsx)(`kbd`,{children:`q`}),` quit`]})]})}var Mt=new Set,Nt=null,Pt={overlay:0,modal:1,sessions:2,global:3};function Ft(e){if(!e||!(e instanceof Element))return!1;let t=e.tagName;if(t===`INPUT`||t===`TEXTAREA`)return!0;if(e instanceof HTMLElement){if(e.isContentEditable)return!0;let t=e.getAttribute(`contenteditable`);if(t===``||t===`true`||t===`plaintext-only`)return!0}return!1}function It(e){return e.forEach(e=>Mt.add(e)),()=>e.forEach(e=>Mt.delete(e))}function Lt(){Nt||(Nt=e=>{if(e.ctrlKey||e.metaKey||e.altKey||Ft(e.target)&&e.key.length===1)return;let t=[...Mt].sort((e,t)=>Pt[e.scope]-Pt[t.scope]);for(let n of t)if(n.key===e.key&&!(n.when&&!n.when())){n.action(),e.preventDefault();return}},document.addEventListener(`keydown`,Nt))}function W(e){(0,g.useEffect)(()=>It(e),[e])}var Rt={tz:`local`,resolvedTz:`Etc/UTC`,offsetLabel:`UTC`,offsetSeconds:0,pinned:!1};function zt(){let e=H();return e?.display?{tz:e.display.tz,resolvedTz:e.display.resolved_tz,offsetLabel:e.display.offset_label,offsetSeconds:e.display.offset_seconds,pinned:e.display.pinned??!1}:Rt}function Bt({percent:e,cells:t=30}){let n=Math.max(0,Math.min(t,Math.round((e??0)/100*t)));return(0,V.jsx)(`div`,{id:`cw-progress`,className:`progress`,children:Array.from({length:t},(e,t)=>(0,V.jsx)(`div`,{className:`cell`+(t<n?` on`:``)},t))})}function Vt(){return(0,V.jsx)(`span`,{className:`panel-grip`,"aria-hidden":`true`,children:`⋮⋮`})}function Ht({panel:e,panelLabel:t,onClick:n,triggerId:r,dataTestId:i}){return(0,V.jsx)(`button`,{type:`button`,className:`share-icon`,"data-share-panel":e,"aria-label":`Share ${t} report`,onClick:e=>{e.stopPropagation(),n()},title:`Share (S)`,...r?{id:r}:{},...i?{"data-testid":i}:{},children:(0,V.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,children:[(0,V.jsx)(`path`,{d:`M3 7h6m0 0L6.5 4.5M9 7L6.5 9.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,V.jsx)(`rect`,{x:`0.75`,y:`0.75`,width:`12.5`,height:`12.5`,rx:`1.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]})})}function Ut(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function Wt(e){if(e==null)return`text-dim`;let t=Math.abs(e);return t<=1?`delta-low`:t<=3?`delta-moderate`:t<=5?`delta-elevated`:`delta-high`}function Gt(e,t){if(!e||!t)return null;let n=new Date(e),r=new Date(t);return isNaN(n.getTime())||isNaN(r.getTime())?null:Math.floor((n.getTime()-r.getTime())/1e3)}function Kt(){let e=H(),t=zt(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=e?.current_week??null,i=r?.freshness??null,a=r?.five_hour_block??null,o=i!==null&&i.label!==`fresh`;return(0,V.jsxs)(`section`,{className:`panel accent-green`,id:`panel-current-week`,tabIndex:0,role:`region`,"aria-label":`Current Week panel`,"data-panel-kind":`current-week`,onClick:()=>B({type:`OPEN_MODAL`,kind:`current-week`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B({type:`OPEN_MODAL`,kind:`current-week`}))},children:[(0,V.jsxs)(`div`,{className:`panel-header`,children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-green)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,V.jsx)(`h3`,{style:{color:`var(--accent-green)`},children:`Current Week`}),o&&i&&(0,V.jsxs)(`span`,{className:i.label===`aging`?`chip chip-aging`:`chip chip-stale`,"data-freshness":i.label,title:`Captured ${i.captured_at}`,children:[`as of `,Ut(i.captured_at)??i.captured_at,` · `,i.age_seconds,`s ago`]}),(0,V.jsx)(Ht,{panel:`current-week`,panelLabel:`Current week`,triggerId:`current-week-panel`,onClick:()=>B(F(`current-week`,`current-week-panel`))}),(0,V.jsx)(Vt,{})]}),(0,V.jsx)(`div`,{className:`panel-body`,children:(0,V.jsxs)(`div`,{className:`cw-body`,children:[(0,V.jsx)(`div`,{className:`cw-left`,children:(0,V.jsxs)(`div`,{className:`cw-big`,children:[(0,V.jsx)(`div`,{className:`label`,children:`Used (7d)`}),(0,V.jsx)(`div`,{className:`num`,children:D.pct1(r?.used_pct)}),(0,V.jsx)(Bt,{percent:r?.used_pct,cells:30}),(0,V.jsxs)(`div`,{className:`progress-scale`,children:[(0,V.jsx)(`span`,{children:`0%`}),(0,V.jsx)(`span`,{children:`50%`}),(0,V.jsx)(`span`,{children:`100%`})]})]})}),(0,V.jsxs)(`div`,{className:`cw-right`,children:[(0,V.jsxs)(`div`,{className:`cw-kv kv-spent`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,V.jsxs)(`div`,{className:`body`,children:[(0,V.jsxs)(`div`,{className:`row1`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Spent`}),(0,V.jsx)(`span`,{className:`v magenta`,children:D.usd2(r?.spent_usd)})]}),(0,V.jsxs)(`div`,{className:`sub`,children:[(0,V.jsx)(`span`,{className:`mute`,children:`$/1%:`}),` `,(0,V.jsx)(`span`,{className:`magenta`,children:D.usd2(r?.dollar_per_pct)})]})]})]}),(0,V.jsxs)(`div`,{className:`cw-kv kv-reset`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,V.jsxs)(`div`,{className:`body`,children:[(0,V.jsxs)(`div`,{className:`row1`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Reset`}),(0,V.jsx)(`span`,{className:`v amber`,children:D.datetimeShort(r?.reset_at_utc,n)})]}),(0,V.jsxs)(`div`,{className:`sub`,children:[`in `,(0,V.jsx)(`span`,{children:D.ddhh(r?.reset_in_sec)})]})]})]}),(0,V.jsxs)(`div`,{className:`cw-kv kv-five-hour`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,V.jsxs)(`div`,{className:`body`,children:[(0,V.jsxs)(`div`,{className:`row1`,children:[(0,V.jsx)(`span`,{className:`k`,children:`5-hour`}),(0,V.jsx)(`span`,{className:`v cyan`,children:D.pct1(r?.five_hour_pct)}),a&&Array.isArray(a.credits)&&a.credits.length>0&&(0,V.jsxs)(`span`,{className:`sub credit-chip`,"data-credit-count":a.credits.length,children:[` `,`⚡ credited`,` `,a.credits.map((e,t)=>(0,V.jsxs)(`span`,{children:[t>0?`, `:``,e.delta_pp>0?`+`:``,e.delta_pp.toFixed(0),`pp`]},t))]})]}),a?(0,V.jsxs)(`div`,{className:`sub cw-delta-row ${Wt(a.seven_day_pct_delta_pp)}`,children:[a.crossed_seven_day_reset?`⚡ `:``,`Δ `,D.pp(a.seven_day_pct_delta_pp),` this block`]}):(0,V.jsxs)(`div`,{className:`sub`,children:[`resets in `,(0,V.jsx)(`span`,{children:D.hhmm(r?.five_hour_resets_in_sec)})]})]})]}),a&&(0,V.jsxs)(`div`,{className:`cw-kv kv-block`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,V.jsxs)(`div`,{className:`body`,children:[(0,V.jsxs)(`div`,{className:`row1`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Block`}),(0,V.jsx)(`span`,{className:`v`,children:Ut(a.block_start_at)??a.block_start_at})]}),(0,V.jsx)(`div`,{className:`sub`,children:(()=>{let t=Gt(e?.generated_at,a.block_start_at);return t==null?(0,V.jsxs)(V.Fragment,{children:[`started `,(0,V.jsx)(`span`,{children:`—`})]}):t<=0?(0,V.jsxs)(V.Fragment,{children:[`started `,(0,V.jsx)(`span`,{children:`just now`})]}):(0,V.jsxs)(V.Fragment,{children:[`started `,(0,V.jsx)(`span`,{children:D.elapsedHm(t)}),` ago`]})})()})]})]})]})]})}),(0,V.jsxs)(`div`,{className:`panel-foot cw-foot`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#clock`})}),`Last snapshot: `,(0,V.jsx)(`span`,{children:D.agoSec(r?.last_snapshot_age_sec)})]})]})}function qt({n:e}){let t=Math.max(0,Math.min(7,(e??0)|0));return(0,V.jsx)(`div`,{className:`dots`,id:`fc-dots`,children:Array.from({length:7},(e,n)=>(0,V.jsx)(`span`,{className:`d`+(n<t?` on`:``)},n))})}function Jt(){let e=H()?.forecast??null,t=yt(e?.verdict??null);return(0,V.jsxs)(`section`,{className:`panel accent-purple`,id:`panel-forecast`,tabIndex:0,role:`region`,"aria-label":`Forecast panel`,"data-panel-kind":`forecast`,onClick:()=>B({type:`OPEN_MODAL`,kind:`forecast`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B({type:`OPEN_MODAL`,kind:`forecast`}))},children:[(0,V.jsxs)(`div`,{className:`panel-header`,children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-pink)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,V.jsx)(`h3`,{style:{color:`var(--accent-pink)`},children:`Forecast`}),(0,V.jsx)(Ht,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>B(F(`forecast`,`forecast-panel`))}),(0,V.jsx)(Vt,{})]}),(0,V.jsxs)(`div`,{className:`panel-body`,children:[(0,V.jsxs)(`div`,{id:`fc-banner`,className:`warn-banner`+(t?` `+t.cls:``),style:{display:t?``:`none`},children:[(0,V.jsx)(`svg`,{width:`20`,height:`20`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#warn-triangle`})}),(0,V.jsx)(`span`,{id:`fc-verdict-label`,children:t?.label??`—`})]}),(0,V.jsxs)(`div`,{className:`fc-row fc-wkavg`,children:[(0,V.jsxs)(`div`,{className:`left`,children:[(0,V.jsx)(`div`,{className:`icon-box`,children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#trending-up`})})}),(0,V.jsx)(`span`,{children:`Week-avg projection`})]}),(0,V.jsxs)(`div`,{className:`right`,children:[(0,V.jsx)(`span`,{className:`num`,children:D.pct0(e?.week_avg_projection_pct)}),(0,V.jsx)(`span`,{className:`at`,children:`@ reset`})]})]}),(0,V.jsxs)(`div`,{className:`fc-row fc-24h`,children:[(0,V.jsxs)(`div`,{className:`left`,children:[(0,V.jsx)(`div`,{className:`icon-box`,children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#flame`})})}),(0,V.jsx)(`span`,{children:`Recent-24h projection`})]}),(0,V.jsxs)(`div`,{className:`right`,children:[(0,V.jsx)(`span`,{className:`num`,children:D.pct0(e?.recent_24h_projection_pct)}),(0,V.jsx)(`span`,{className:`at`,children:`@ reset`})]})]}),(0,V.jsx)(`div`,{className:`fc-divider`}),(0,V.jsxs)(`div`,{className:`fc-row fc-budget-100`,children:[(0,V.jsxs)(`div`,{className:`left`,children:[(0,V.jsx)(`div`,{className:`icon-box`,children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})})}),(0,V.jsx)(`span`,{children:`Budget to stay ≤100%`})]}),(0,V.jsxs)(`div`,{className:`right`,children:[(0,V.jsx)(`span`,{className:`num`,children:D.usd2(e?.budget_100_per_day_usd)}),(0,V.jsx)(`span`,{className:`per`,children:`/day`})]})]}),(0,V.jsxs)(`div`,{className:`fc-row fc-budget-90`,children:[(0,V.jsxs)(`div`,{className:`left`,children:[(0,V.jsx)(`div`,{className:`icon-box`,children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})})}),(0,V.jsx)(`span`,{children:`Budget to stay ≤90%`})]}),(0,V.jsxs)(`div`,{className:`right`,children:[(0,V.jsx)(`span`,{className:`num`,children:D.usd2(e?.budget_90_per_day_usd)}),(0,V.jsx)(`span`,{className:`per`,children:`/day`})]})]})]}),(0,V.jsxs)(`div`,{className:`panel-foot fc-conf`,children:[(0,V.jsxs)(`div`,{className:`lbl`,children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#clock`})}),`Confidence:`,(0,V.jsx)(`span`,{className:`val`,children:e?.confidence??`—`})]}),(0,V.jsx)(qt,{n:e?.confidence_score})]})]})}function Yt({data:e}){let t=e.map(e=>e.spark_height??0),n=Math.max(1,...t);return(0,V.jsx)(V.Fragment,{children:t.map((r,i)=>{let a=i===t.length-1,o={height:`${Math.max(6,r/n*100)}%`};return a&&(o.background=`color-mix(in srgb, var(--accent-purple) 70%, white 30%)`),(0,V.jsx)(`div`,{className:`bar`,style:o},e[i].label+`|`+i)})})}function Xt(e,t){return!e||!t?``:t===`asc`?`▲`:`▼`}function Zt(e,t){return!e||!t?`none`:t===`asc`?`ascending`:`descending`}function Qt({columns:e,override:t,onChange:n,accentVar:r}){let i=e=>n(ue(t,e)),a=e=>t=>{t.stopPropagation(),i(e)},o=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),i(e))};return(0,V.jsx)(`thead`,{children:(0,V.jsx)(`tr`,{children:e.map(e=>{let n=t?.column===e.id,i=n?t.direction:null,s=[`th-sortable`,e.className??``,e.numeric?`num`:``,n?`is-sorted`:``].filter(Boolean).join(` `),c=r&&n?{"--th-accent":`var(${r})`}:void 0;return(0,V.jsx)(`th`,{className:s,role:`columnheader`,"aria-sort":Zt(n,i),tabIndex:0,"data-col":e.id,style:c,onClick:a(e),onKeyDown:o(e),children:(0,V.jsxs)(`button`,{type:`button`,className:`th-sort-btn`,tabIndex:-1,children:[(0,V.jsx)(`span`,{className:`th-label`,children:e.label}),(0,V.jsx)(`span`,{className:`th-caret`,"aria-hidden":`true`,children:Xt(n,i)})]})},e.id)})})})}var $t=[{id:`week`,label:`Week`,defaultDirection:`desc`,compare:(e,t)=>e._chronoIdx-t._chronoIdx,className:`c-week`},{id:`used_pct`,label:`Used%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.used_pct??0)-(t.used_pct??0),className:`c-used`},{id:`dollar_per_pct`,label:`$/1%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.dollar_per_pct??0)-(t.dollar_per_pct??0),className:`c-dollar`},{id:`delta`,label:`Δ (vs prior)`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.delta??0)-(t.delta??0),className:`c-delta`}];function en(){let e=ae(H()),t=(0,g.useSyncExternalStore)(z,()=>R().prefs.trendSortOverride),n=e.map((e,t)=>({...e,_chronoIdx:t})),r=t?N(n,$t,t):n;return(0,V.jsxs)(`section`,{className:`panel accent-amber`,id:`panel-trend`,tabIndex:0,role:`region`,"aria-label":`$/1% Trend panel`,"data-panel-kind":`trend`,onClick:()=>B({type:`OPEN_MODAL`,kind:`trend`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B({type:`OPEN_MODAL`,kind:`trend`}))},children:[(0,V.jsxs)(`div`,{className:`panel-header`,children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-amber)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-amber)`},children:[`$/1% Trend `,(0,V.jsx)(`span`,{className:`sub`,children:`(8 weeks)`})]}),(0,V.jsx)(Ht,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-panel`,onClick:()=>B(F(`trend`,`trend-panel`))}),(0,V.jsx)(Vt,{})]}),(0,V.jsxs)(`div`,{className:`panel-body`,children:[(0,V.jsxs)(`table`,{className:`trend-table`,children:[(0,V.jsx)(Qt,{columns:$t,override:t,onChange:e=>B({type:`SET_TABLE_SORT`,table:`trend`,override:e}),accentVar:`--accent-amber`}),(0,V.jsx)(`tbody`,{id:`trend-rows`,children:r.map(e=>(0,V.jsxs)(`tr`,{className:e.is_current?`current`:void 0,children:[(0,V.jsx)(`td`,{children:e.label}),(0,V.jsx)(`td`,{className:`num`,children:D.pct0(e.used_pct)}),(0,V.jsx)(`td`,{className:`num`+(e.is_current?``:` dollar`),children:D.usd2(e.dollar_per_pct)}),(0,V.jsx)(`td`,{className:`num `+D.deltaCls(e.delta,e.is_current),children:D.delta(e.delta)})]},e.label))})]}),(0,V.jsx)(`div`,{className:`trend-spark-title`,children:`$/1% trend:`}),(0,V.jsx)(`div`,{className:`trend-spark`,id:`trend-spark`,children:(0,V.jsx)(Yt,{data:e})}),(0,V.jsxs)(`div`,{className:`trend-spark-legend`,children:[(0,V.jsx)(`span`,{children:`older`}),(0,V.jsx)(`span`,{className:`line`}),(0,V.jsx)(`span`,{children:`▶ newer`})]})]})]})}var tn=`(max-width: 640px)`;function nn(){let[e,t]=(0,g.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(tn).matches);return(0,g.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(tn),n=e=>{t(e.matches)};return e.addEventListener(`change`,n),t(e.matches),()=>{e.removeEventListener(`change`,n)}},[]),e}function rn(e){let t=De.findIndex(t=>t.key===e);return De[(t===-1?0:t+1)%De.length].key}function an(){let e=(0,g.useSyncExternalStore)(z,()=>R().filterText),t=(0,g.useSyncExternalStore)(z,()=>R().searchText),n=(0,g.useSyncExternalStore)(z,()=>R().searchMatches),r=(0,g.useSyncExternalStore)(z,()=>R().searchIndex),i=(0,g.useSyncExternalStore)(z,()=>R().sessionsSort),a=(0,g.useSyncExternalStore)(z,()=>R().prefs.sessionsSortOverride),o=nn(),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(!1),d=(0,g.useRef)(null),f=(0,g.useRef)(null),p=l||o,m=l||t.length>0,h=()=>c(!0),_=e=>{e?.clear&&B({type:`SET_FILTER`,text:``}),c(!1),B({type:`SET_INPUT_MODE`,mode:null})},v=()=>u(!0),y=e=>{e?.clear&&B({type:`SET_SEARCH`,text:``}),u(!1),B({type:`SET_INPUT_MODE`,mode:null})};(0,g.useEffect)(()=>{s&&(d.current?.focus(),d.current?.select(),B({type:`SET_INPUT_MODE`,mode:`filter`}))},[s]),(0,g.useEffect)(()=>{l&&(f.current?.focus(),f.current?.select(),B({type:`SET_INPUT_MODE`,mode:`search`}))},[l]),W([{key:`f`,scope:`sessions`,action:h,when:()=>!R().openModal&&!s},{key:`/`,scope:`sessions`,action:v,when:()=>!R().openModal&&!l}]);let b=n.length,x=b>0?`${r+1} / ${b}`:`0 / 0`,S=e=>{b!==0&&B({type:`SET_SEARCH_MATCHES`,matches:n,index:((r+e)%b+b)%b})};return(0,V.jsxs)(`div`,{className:`sessions-ctrls`,id:`sessions-ctrls`,children:[s?(0,V.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`filter-input`,placeholder:`filter project|model…`,ref:d,value:e,onChange:e=>B({type:`SET_FILTER`,text:e.target.value}),onKeyDown:e=>{e.key===`Enter`?_():e.key===`Escape`&&_({clear:!0})},onBlur:()=>_()}):e?(0,V.jsxs)(`button`,{className:`ctrl-btn as-chip`,id:`filter-btn`,type:`button`,"aria-label":`Filter: ${e}. Press Esc to clear.`,onClick:e=>{if(e.target.classList.contains(`chip-x`)){B({type:`SET_FILTER`,text:``});return}h()},children:[(0,V.jsxs)(`span`,{className:`chip`,children:[`filter: `,e]}),(0,V.jsx)(`span`,{className:`chip-x`,title:`Clear`,children:`×`})]}):(0,V.jsx)(`button`,{className:`ctrl-btn`,id:`filter-btn`,type:`button`,title:`Filter (f)`,onClick:h,children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#funnel`})})}),p?(0,V.jsxs)(`div`,{className:`search-container`,id:`search-container`,children:[(0,V.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`search-input`,placeholder:`search…`,ref:f,value:t,onChange:e=>B({type:`SET_SEARCH`,text:e.target.value}),onFocus:()=>{l||u(!0)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),S(1)):e.key===`Escape`&&y({clear:!0})},onBlur:()=>y()}),m&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`match-count`,id:`search-count`,children:x}),(0,V.jsx)(`button`,{className:`ctrl-btn`,id:`search-prev`,type:`button`,title:`Prev (N)`,onMouseDown:e=>e.preventDefault(),onClick:()=>S(-1),children:`↑`}),(0,V.jsx)(`button`,{className:`ctrl-btn`,id:`search-next`,type:`button`,title:`Next (n)`,onMouseDown:e=>e.preventDefault(),onClick:()=>S(1),children:`↓`})]})]}):(0,V.jsx)(`button`,{className:`ctrl-btn`,id:`search-btn`,type:`button`,title:`Search (/)`,onClick:v,children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#magnifier`})})}),(0,V.jsxs)(`button`,{className:`ctrl-btn`,id:`sort-pill`,type:`button`,title:`Cycle sort`,onClick:()=>{R().prefs.sessionsSortOverride&&B({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),B({type:`SET_SORT`,key:rn(i)})},children:[(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#sort-updown`})}),(0,V.jsxs)(`span`,{className:`label`,children:[`sort: `,a?`${a.column} ${a.direction}`:i]})]})]})}function on(e){return e?e.includes(`opus`)?`opus`:e.includes(`haiku`)?`haiku`:`sonnet`:`sonnet`}function sn(e){return e==null?`cost-low`:e<.25?`cost-xs`:e<1?`cost-low`:e<3?`cost-mid`:`cost-high`}function cn(){let e=H(),t=zt(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=(0,g.useMemo)(()=>de.map(e=>e.id===`started`?{...e,label:`Started (${t.offsetLabel})`}:e),[t.offsetLabel]);(0,g.useSyncExternalStore)(z,()=>R().filterText),(0,g.useSyncExternalStore)(z,()=>R().sessionsSort),(0,g.useSyncExternalStore)(z,()=>R().prefs.sessionsPerPage);let i=(0,g.useSyncExternalStore)(z,()=>R().searchMatches),a=(0,g.useSyncExternalStore)(z,()=>R().searchIndex),o=(0,g.useSyncExternalStore)(z,()=>R().prefs.sessionsCollapsed),s=(0,g.useSyncExternalStore)(z,()=>R().prefs.sessionsSortOverride),c=nn(),l=e?.sessions?.total??0,u=Pe(),d=new Set(i.map(e=>u[e]?.session_id).filter(e=>!!e));return(0,g.useEffect)(()=>{if(a<0)return;let e=u[i[a]]?.session_id;e&&document.querySelector(`[data-session-id="${CSS.escape(e)}"]`)?.scrollIntoView({block:`nearest`})},[a,i,u]),(0,V.jsxs)(`section`,{className:`panel accent-orange`+(o?` sessions-collapsed`:``),id:`panel-sessions`,tabIndex:0,role:`region`,"aria-label":`Recent Sessions panel`,"data-panel-kind":`sessions`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B({type:`OPEN_MODAL`,kind:`session`}))},children:[(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-orange)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-orange)`},children:[`Recent Sessions `,(0,V.jsxs)(`span`,{className:`sub`,children:[`(`,l,` total)`]})]})]}),(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[!c&&(0,V.jsx)(an,{}),(0,V.jsx)(Ht,{panel:`sessions`,panelLabel:`Sessions`,triggerId:`sessions-panel`,onClick:()=>B(F(`sessions`,`sessions-panel`))}),(0,V.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!o,"aria-controls":`panel-sessions-body`,"aria-label":o?`Expand Recent Sessions`:`Collapse Recent Sessions`,title:o?`Expand (c)`:`Collapse (c)`,onClick:e=>{e.stopPropagation(),B({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!o}})},children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#${o?`chevron-down`:`chevron-up`}`})})}),(0,V.jsx)(Vt,{})]})]}),c&&(0,V.jsx)(an,{}),(0,V.jsx)(`div`,{className:`panel-body`,id:`panel-sessions-body`,children:(0,V.jsxs)(`table`,{className:`sess-table`,children:[(0,V.jsx)(Qt,{columns:r,override:s,onChange:e=>B({type:`SET_TABLE_SORT`,table:`sessions`,override:e})}),(0,V.jsx)(`tbody`,{id:`sess-rows`,children:u.map(e=>{let t=e.session_id?d.has(e.session_id):!1,r=on(e.model),i=sn(e.cost_usd??null),a=e.model?`Filter by ${e.model}`:`Filter by model`;return(0,V.jsxs)(`tr`,{className:`session-row`+(t?` search-match`:``),"data-session-id":e.session_id,onClick:()=>e.session_id&&B({type:`OPEN_MODAL`,kind:`session`,sessionId:e.session_id}),children:[(0,V.jsx)(`td`,{className:`started`,children:D.startedShort(e.started_utc,n,{noSuffix:!0})}),(0,V.jsxs)(`td`,{children:[e.duration_min,`m`]}),(0,V.jsx)(`td`,{onClick:e=>e.stopPropagation(),children:(0,V.jsx)(`span`,{className:`chip model-chip ${r}`,role:`button`,tabIndex:-1,"aria-label":a,onClick:()=>B({type:`SET_FILTER`,text:e.model}),children:e.model})}),(0,V.jsx)(`td`,{className:`project`,children:e.project_key&&e.project_key!==`(unknown)`?(0,V.jsx)(`button`,{type:`button`,className:`project-cell-link`,"aria-label":`Open Projects modal for ${e.project_key}`,onClick:t=>{t.stopPropagation(),B({type:`OPEN_MODAL`,kind:`projects`,projectKey:e.project_key??void 0})},children:e.project}):(0,V.jsx)(`span`,{title:`Project still resolving`,children:e.project})}),(0,V.jsx)(`td`,{className:`num ${i}`,children:D.usd2(e.cost_usd)})]},e.session_id||`${e.started_utc}-${e.model}`)})})]})})]})}var ln=5;function un(){let e=H(),t=e?.projects?.current_week?.rows??[],n=e?.projects==null,r=(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-magenta)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-magenta)`},children:[`Projects`,` `,(0,V.jsx)(`span`,{className:`sub`,children:n?`(unavailable)`:`(${t.length} this week)`})]})]}),(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,V.jsx)(Ht,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-panel`,onClick:()=>B(F(`projects`,`projects-panel`))}),(0,V.jsx)(Vt,{})]})]});if(n)return(0,V.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,role:`region`,"aria-label":`Projects panel`,tabIndex:0,children:[r,(0,V.jsx)(`div`,{className:`panel-body projects-body`,children:(0,V.jsx)(`div`,{className:`panel-empty`,children:`Projects data unavailable — restart the dashboard.`})})]});let i=t.slice(0,ln),a=t.slice(ln),o=a.reduce((e,t)=>e+t.cost_usd,0),s=a.reduce((e,t)=>e+(t.attributed_pct??0),0),c=i[0]?.cost_usd||1,l=()=>B({type:`OPEN_MODAL`,kind:`projects`}),u=e=>t=>{t.stopPropagation(),B({type:`OPEN_MODAL`,kind:`projects`,projectKey:e})};return(0,V.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,role:`region`,"aria-label":`Projects panel`,tabIndex:0,onClick:l,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l())},children:[r,(0,V.jsx)(`div`,{className:`panel-body projects-body`,children:t.length===0?(0,V.jsx)(`div`,{className:`panel-empty`,children:`No project activity yet this week.`}):(0,V.jsxs)(V.Fragment,{children:[i.map(e=>{let t={"--w":`${e.cost_usd/c*100}%`};return(0,V.jsxs)(`div`,{className:`projects-row`,role:`button`,tabIndex:0,"aria-label":`Open Projects modal for ${e.key}`,onClick:u(e.key),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),B({type:`OPEN_MODAL`,kind:`projects`,projectKey:e.key}))},title:e.key,children:[(0,V.jsx)(`span`,{className:`name`,children:e.key}),(0,V.jsx)(`div`,{className:`lb-bar`,style:t}),(0,V.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)}),(0,V.jsx)(`span`,{className:`pct`,children:e.attributed_pct==null?`—`:D.pct0(e.attributed_pct)})]},e.key)}),a.length>0&&(0,V.jsxs)(`div`,{className:`projects-row tail`,"aria-label":`${a.length} more projects`,children:[(0,V.jsxs)(`span`,{className:`name muted`,children:[`+`,a.length,` more`]}),(0,V.jsx)(`div`,{className:`lb-bar muted`,style:{"--w":`${o/c*100}%`}}),(0,V.jsx)(`span`,{className:`cost muted`,children:D.usd2(o)}),(0,V.jsx)(`span`,{className:`pct muted`,children:s===0?`—`:D.pct0(s)})]})]})})]})}var dn=8;function fn({r:e,isFirstMount:t}){let n=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,V.jsxs)(`div`,{className:`period`,children:[(0,V.jsxs)(`div`,{className:`meta`,children:[(0,V.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,V.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,V.jsxs)(`span`,{className:`right`,children:[(0,V.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)}),(0,V.jsx)(`span`,{className:`delta ${n}`,children:D.deltaPct(e.delta_cost_pct)})]})]}),(0,V.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,V.jsx)(`span`,{className:e.chip,style:{width:t?`0%`:`${e.cost_pct}%`},title:`${e.display} ${D.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})]})}function pn(){let e=H(),t=(e?.weekly?.rows??[]).slice(0,dn),n=e?.weekly?.total_cost_usd??0,r=(0,g.useRef)(new Set),[,i]=(0,g.useState)(0);return(0,g.useLayoutEffect)(()=>{let e=t.filter(e=>!r.current.has(e.label));if(e.length===0)return;e.forEach(e=>r.current.add(e.label));let n=requestAnimationFrame(()=>i(e=>e+1));return()=>cancelAnimationFrame(n)},[t]),(0,V.jsxs)(`section`,{className:`panel accent-cyan`,id:`panel-weekly`,tabIndex:0,role:`region`,"aria-label":`Weekly usage panel`,"data-panel-kind":`weekly`,onClick:()=>B({type:`OPEN_MODAL`,kind:`weekly`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B({type:`OPEN_MODAL`,kind:`weekly`}))},children:[(0,V.jsxs)(`div`,{className:`panel-header`,children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-cyan)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-cyan)`},children:[`Weekly `,(0,V.jsx)(`span`,{className:`sub`,children:`(model split · 8 weeks)`})]}),(0,V.jsx)(Ht,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-panel`,onClick:()=>B(F(`weekly`,`weekly-panel`))}),(0,V.jsx)(Vt,{})]}),(0,V.jsx)(`div`,{className:`panel-body`,children:t.length===0?(0,V.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):t.map(e=>(0,V.jsx)(fn,{r:e,isFirstMount:!r.current.has(e.label)},e.label))}),t.length>0&&(0,V.jsx)(`div`,{className:`panel-foot period-foot`,children:(0,V.jsxs)(`span`,{children:[t.length,`w total`,(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,V.jsx)(`span`,{className:`total`,children:D.usd2(n)})]})})]})}var mn=6;function hn({r:e,isFirstMount:t}){let n=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,V.jsxs)(`div`,{className:`period`,children:[(0,V.jsxs)(`div`,{className:`meta`,children:[(0,V.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,V.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,V.jsxs)(`span`,{className:`right`,children:[(0,V.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)}),(0,V.jsx)(`span`,{className:`delta ${n}`,children:D.deltaPct(e.delta_cost_pct)})]})]}),(0,V.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,V.jsx)(`span`,{className:e.chip,style:{width:t?`0%`:`${e.cost_pct}%`},title:`${e.display} ${D.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})]})}function gn(){let e=H(),t=(e?.monthly?.rows??[]).slice(0,mn),n=e?.monthly?.total_cost_usd??0,r=(0,g.useRef)(new Set),[,i]=(0,g.useState)(0);return(0,g.useLayoutEffect)(()=>{let e=t.filter(e=>!r.current.has(e.label));if(e.length===0)return;e.forEach(e=>r.current.add(e.label));let n=requestAnimationFrame(()=>i(e=>e+1));return()=>cancelAnimationFrame(n)},[t]),(0,V.jsxs)(`section`,{className:`panel accent-pink`,id:`panel-monthly`,tabIndex:0,role:`region`,"aria-label":`Monthly usage panel`,"data-panel-kind":`monthly`,onClick:()=>B({type:`OPEN_MODAL`,kind:`monthly`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B({type:`OPEN_MODAL`,kind:`monthly`}))},children:[(0,V.jsxs)(`div`,{className:`panel-header`,children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-pink)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-pink)`},children:[`Monthly `,(0,V.jsx)(`span`,{className:`sub`,children:`(model split · 6 months)`})]}),(0,V.jsx)(Ht,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-panel`,onClick:()=>B(F(`monthly`,`monthly-panel`))}),(0,V.jsx)(Vt,{})]}),(0,V.jsx)(`div`,{className:`panel-body`,children:t.length===0?(0,V.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):t.map(e=>(0,V.jsx)(hn,{r:e,isFirstMount:!r.current.has(e.label)},e.label))}),t.length>0&&(0,V.jsx)(`div`,{className:`panel-foot period-foot`,children:(0,V.jsxs)(`span`,{children:[t.length,`mo total`,(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,V.jsx)(`span`,{className:`total`,children:D.usd2(n)})]})})]})}function _n({r:e,maxCost:t,isFirstMount:n}){let r=t>0?e.cost_usd/t*100:0,i=()=>B({type:`OPEN_MODAL`,kind:`block`,blockStartAt:e.start_at});return(0,V.jsxs)(`div`,{className:`blocks-row`,role:`button`,tabIndex:0,"aria-label":`Open detail for block starting ${e.label}`,onClick:i,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())},children:[(0,V.jsxs)(`div`,{className:`meta`,children:[(0,V.jsxs)(`span`,{className:`label`,children:[e.anchor===`heuristic`&&(0,V.jsx)(`span`,{className:`anchor-marker`,"aria-label":`approximate start`,children:`~`}),e.label,e.is_active&&(0,V.jsx)(`span`,{className:`pill-active`,children:`Active`})]}),(0,V.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)})]}),(0,V.jsx)(`div`,{className:`gauge-track`,children:(0,V.jsx)(`div`,{className:`gauge-fill`,style:{width:n?`0%`:`${r}%`},children:e.models.map(e=>(0,V.jsx)(`span`,{className:`seg-${e.chip}`,style:{width:`${e.cost_pct}%`},title:`${e.display} ${D.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})})]})}function vn(){let e=H(),t=(0,g.useSyncExternalStore)(z,()=>R().prefs.blocksCollapsed),n=e?.blocks?.rows??[],r=n.length>0?Math.max(...n.map(e=>e.cost_usd),0):0,i=e?.blocks?.total_cost_usd??0,a=n.some(e=>e.anchor===`heuristic`),o=(0,g.useRef)(new Set),[,s]=(0,g.useState)(0);return(0,g.useLayoutEffect)(()=>{let e=n.filter(e=>!o.current.has(e.start_at));if(e.length===0)return;e.forEach(e=>o.current.add(e.start_at));let t=requestAnimationFrame(()=>s(e=>e+1));return()=>cancelAnimationFrame(t)},[n]),(0,V.jsxs)(`section`,{className:`panel accent-blue`+(t?` blocks-collapsed`:``),id:`panel-blocks`,tabIndex:0,role:`region`,"aria-label":`Blocks panel`,"data-panel-kind":`blocks`,children:[(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-blue)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#layers`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-blue)`},children:[`Blocks `,(0,V.jsx)(`span`,{className:`sub`,children:`(5h · current week)`})]})]}),(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,V.jsx)(Ht,{panel:`blocks`,panelLabel:`5-hour blocks`,triggerId:`blocks-panel`,onClick:()=>B(F(`blocks`,`blocks-panel`))}),(0,V.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!t,"aria-controls":`panel-blocks-body`,"aria-label":t?`Expand Blocks`:`Collapse Blocks`,title:t?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),B({type:`SAVE_PREFS`,patch:{blocksCollapsed:!t}})},children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#${t?`chevron-down`:`chevron-up`}`})})}),(0,V.jsx)(Vt,{})]})]}),(0,V.jsx)(`div`,{className:`panel-body`,id:`panel-blocks-body`,children:n.length===0?(0,V.jsx)(`div`,{className:`panel-empty`,children:`No activity blocks this week yet.`}):n.map(e=>(0,V.jsx)(_n,{r:e,maxCost:r,isFirstMount:!o.current.has(e.start_at)},e.start_at))}),n.length>0&&(0,V.jsx)(`div`,{className:`panel-foot`,children:(0,V.jsxs)(`span`,{children:[n.length,` blocks`,(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,V.jsx)(`span`,{className:`total`,children:D.usd2(i)}),a&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,V.jsx)(`span`,{className:`legend-anchor`,children:`~ = approximate start`})]})]})})]})}var yn=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function bn(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function xn(e){let t=e.split(`-`).map(Number);return`${yn[t[1]-1]} ${t[2]}`}function Sn(e,t){let n=e.split(`-`).map(Number),r=t.split(`-`).map(Number),i=n[1],a=n[2],o=r[1],s=r[2];return i===o?`${yn[i-1]} ${a} - ${s}`:`${yn[i-1]} ${a} - ${yn[o-1]} ${s}`}function Cn({r:e,staggerIndex:t,isMobile:n}){let r=e.date.slice(8,10),i=e.cost_usd>0?n?`${Math.ceil(e.cost_usd)}`:D.usd2(e.cost_usd):`—`,a=[`${e.label} · ${e.cost_usd>0?D.usd2(e.cost_usd):`—`}`,...e.models.map(e=>`${e.display} ${e.cost_pct.toFixed(0)}%`)].join(` · `);return(0,V.jsxs)(`button`,{type:`button`,"data-cell-date":e.date,className:`daily-cell h${e.intensity_bucket}${e.is_today?` is-today`:``} first-mount`,title:a,style:{"--daily-stagger":`${t*30}ms`},onClick:()=>B({type:`OPEN_MODAL`,kind:`daily`,dailyDate:e.date}),children:[(0,V.jsx)(`span`,{className:`d`,children:r}),(0,V.jsx)(`span`,{className:`c`,children:i})]})}function wn(){let e=H(),t=nn(),n=(0,g.useSyncExternalStore)(z,()=>R().prefs.dailyCollapsed),r=e?.daily?.rows??[],i=bn([...r].reverse(),7),a=e?.daily?.total_cost_usd??0,o=e?.daily?.peak??null;return(0,V.jsxs)(`section`,{className:`panel accent-indigo`+(n?` daily-collapsed`:``),id:`panel-daily`,tabIndex:0,role:`region`,"aria-label":`Daily heatmap panel`,"data-panel-kind":`daily`,children:[(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-indigo)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#grid`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-indigo)`},children:[`Daily `,(0,V.jsx)(`span`,{className:`sub`,children:`heatmap · 30 days`})]})]}),(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,V.jsx)(Ht,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-panel`,onClick:()=>B(F(`daily`,`daily-panel`))}),(0,V.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!n,"aria-controls":`panel-daily-body`,"aria-label":n?`Expand Daily`:`Collapse Daily`,title:n?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),B({type:`SAVE_PREFS`,patch:{dailyCollapsed:!n}})},children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#${n?`chevron-down`:`chevron-up`}`})})}),(0,V.jsx)(Vt,{})]})]}),(0,V.jsx)(`div`,{className:`panel-body`,id:`panel-daily-body`,children:r.length===0?(0,V.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`daily-legend`,"aria-label":`Color intensity legend`,children:[(0,V.jsx)(`span`,{children:`Less`}),(0,V.jsxs)(`span`,{className:`scale`,children:[(0,V.jsx)(`span`,{className:`h0`}),(0,V.jsx)(`span`,{className:`h1`}),(0,V.jsx)(`span`,{className:`h2`}),(0,V.jsx)(`span`,{className:`h3`}),(0,V.jsx)(`span`,{className:`h4`}),(0,V.jsx)(`span`,{className:`h5`})]}),(0,V.jsx)(`span`,{children:`More`})]}),(0,V.jsx)(`div`,{className:`daily-cal-grid`,children:i.map((e,n)=>(0,V.jsxs)(g.Fragment,{children:[(0,V.jsxs)(`div`,{className:`daily-week-label`,children:[(0,V.jsxs)(`span`,{className:`wk`,children:[`W`,n+1]}),(0,V.jsx)(`span`,{className:`rng`,children:Sn(e[0].date,e[e.length-1].date)})]}),e.map((e,r)=>(0,V.jsx)(Cn,{r:e,staggerIndex:n*7+r,isMobile:t},e.date)),e.length<7&&(0,V.jsx)(`div`,{className:`daily-month-continues`,style:{gridColumn:`span ${7-e.length}`},"aria-hidden":`true`,children:`Month continues`})]},n))}),(0,V.jsxs)(`div`,{className:`daily-foot`,children:[(0,V.jsxs)(`div`,{className:`daily-foot-col`,"data-total-cell":!0,children:[(0,V.jsx)(`svg`,{className:`daily-foot-icon icon-total`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),(0,V.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,V.jsxs)(`span`,{className:`lbl`,children:[`Total (`,r.length,` days)`]}),(0,V.jsx)(`span`,{className:`val`,children:D.usd2(a)})]})]}),o&&(0,V.jsxs)(`button`,{type:`button`,className:`daily-foot-col daily-foot-peak`,"data-peak-trigger":!0,title:`Click to open Daily modal at peak day`,onClick:()=>B({type:`OPEN_MODAL`,kind:`daily`,dailyDate:o.date}),children:[(0,V.jsx)(`svg`,{className:`daily-foot-icon icon-peak`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,V.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,V.jsx)(`span`,{className:`lbl`,children:`Peak day`}),(0,V.jsxs)(`span`,{className:`val`,children:[(0,V.jsx)(`span`,{className:`d`,children:xn(o.date)}),(0,V.jsx)(`span`,{className:`a`,children:D.usd2(o.cost_usd)})]})]})]})]})]})})]})}var Tn={weekly:`WEEKLY`,five_hour:`5H-BLOCK`,budget:`BUDGET`,projected:`PROJECTED`,project_budget:`PROJECT`},En={weekly:`Weekly`,five_hour:`5h-block`,budget:`Budget`,projected:`Projected`,project_budget:`Project budget`};function Dn(e){let t=e.severity;return t===`info`||t===`warn`||t===`critical`?t:t===`amber`?`warn`:t===`red`||e.threshold>=100?`critical`:e.threshold>=90?`warn`:`info`}function On(e){if(e.axis!==`projected`)return null;let t=e.metric??e.context.metric,n=e.context.projected_value;if(t==null||n==null)return null;if(t===`weekly_pct`)return`projected ${Math.round(n)}% of cap`;let r=e.context.denominator;return r==null?null:`projected $${Math.round(n)} of $${Math.round(r)}`}function kn(){let e=(0,g.useSyncExternalStore)(z,()=>R().alerts),t=(0,g.useSyncExternalStore)(z,()=>R().prefs.alertsCollapsed),n=zt(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel},i=e.slice(0,10),a=e.length,o=()=>{zn.alerts.openAction()};return(0,V.jsxs)(`section`,{className:`panel accent-amber`+(t?` alerts-collapsed`:``),id:`panel-alerts`,tabIndex:0,role:`region`,"aria-label":`Recent alerts panel`,"data-panel-kind":`alerts`,onClick:o,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:[(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,V.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-amber)`},children:(0,V.jsx)(`use`,{href:`/static/icons.svg#bell`})}),(0,V.jsxs)(`h3`,{style:{color:`var(--accent-amber)`},children:[`Recent alerts `,(0,V.jsx)(`span`,{className:`sub`,children:`(last 10)`})]})]}),(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,V.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!t,"aria-controls":`panel-alerts-body`,"aria-label":t?`Expand Recent alerts`:`Collapse Recent alerts`,title:t?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),B({type:`SAVE_PREFS`,patch:{alertsCollapsed:!t}})},children:(0,V.jsx)(`svg`,{className:`icon`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#${t?`chevron-down`:`chevron-up`}`})})}),(0,V.jsx)(Vt,{})]})]}),(0,V.jsx)(`div`,{className:`panel-body`,id:`panel-alerts-body`,children:i.length===0?(0,V.jsx)(`div`,{className:`alerts-empty panel-empty`,children:`No alerts yet. Alerts appear when usage crosses 90% or 95%.`}):(0,V.jsx)(`ul`,{className:`alerts-list`,children:i.map(e=>{let t=Dn(e);return(0,V.jsxs)(`li`,{className:`alert-row`,children:[(0,V.jsxs)(`span`,{className:`alert-threshold severity-${t} ${t}`,children:[e.threshold,`%`]}),(0,V.jsx)(`span`,{className:`chip chip--${e.axis}`,children:Tn[e.axis]}),(0,V.jsx)(`span`,{className:`alert-when`,children:D.relativeOrAbsolute(e.alerted_at,r)})]},e.id)})})}),a>0&&(0,V.jsxs)(`div`,{className:`panel-foot alerts-foot`,children:[i.length,` of `,a,` shown`]})]})}var An={mini:{width:272,height:32,padTop:4,padBot:4},large:{width:800,height:90,padTop:6,padBot:6}},jn=[0,25,50,75,100];function Mn({days:e,baseline_median_percent:t,today_marker_color:n,size:r}){let i=An[r],a=r===`large`,o=[...e].reverse(),s=a?{width:`100%`}:{width:`100%`,height:i.height,preserveAspectRatio:`none`};if(o.length===0){let e=(0,V.jsx)(`svg`,{className:`cr-spark`,...s,viewBox:`0 0 ${i.width} ${i.height}`,"aria-label":`no data`});return a?(0,V.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,V.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:`100%`}),e,(0,V.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:`0%`})]}):e}let c=e=>{let t=Math.max(0,Math.min(100,e))/100;return i.padTop+(1-t)*(i.height-i.padTop-i.padBot)},l=e=>o.length===1?i.width/2:e/(o.length-1)*i.width,u=o.map((e,t)=>`${l(t).toFixed(1)},${c(e.cache_hit_percent).toFixed(1)}`).join(` `),d=o.length-1,f=l(d),p=c(o[d].cache_hit_percent),m=(0,V.jsxs)(`svg`,{className:`cr-spark`,...s,viewBox:`0 0 ${i.width} ${i.height}`,"aria-label":`Cache hit % timeline, ${o.length} days`,children:[a&&jn.map(e=>{let t=e===0||e===100;return(0,V.jsx)(`line`,{x1:0,x2:i.width,y1:c(e),y2:c(e),stroke:t?`rgba(255,255,255,0.45)`:`rgba(255,255,255,0.18)`,strokeWidth:t?1:.5,strokeDasharray:t?void 0:`4,3`,opacity:1,"data-testid":`cr-spark-gridline-${e}`},`grid-${e}`)}),t!==null&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`rect`,{x:0,y:c(t+5),width:i.width,height:c(t-5)-c(t+5),fill:`var(--accent-cyan)`,opacity:.1}),(0,V.jsx)(`line`,{x1:0,x2:i.width,y1:c(t),y2:c(t),stroke:`var(--accent-cyan)`,strokeWidth:.5,strokeDasharray:`3,3`,opacity:.6})]}),(0,V.jsx)(`polyline`,{points:u,fill:`none`,stroke:`var(--accent-cyan)`,strokeWidth:a?2:1.5}),(0,V.jsx)(`circle`,{cx:f,cy:p,r:a?5:3.5,fill:n,"data-testid":`cr-spark-today-marker`})]});return a?(0,V.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,V.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:`100%`}),m,(0,V.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:`0%`})]}):m}var Nn={mini:{width:272,height:28,padX:0,padTop:2,padBot:2,barGap:1},large:{width:800,height:110,padX:28,padTop:28,padBot:28,barGap:4}};function Pn({days:e,size:t}){let n=Nn[t],r=t===`large`,i=[...e].reverse();if(i.length===0)return r?(0,V.jsxs)(`div`,{className:`crm-section`,children:[(0,V.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day`,(0,V.jsx)(`span`,{className:`meta`,children:`no data`})]}),(0,V.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,V.jsx)(`div`,{style:{color:`var(--text-dim)`,fontSize:11,padding:`8px 4px`},children:`No daily activity to render.`})})]}):(0,V.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${n.width} ${n.height}`,preserveAspectRatio:`none`,"aria-label":`no data`});if(r){let e=Math.max(1e-9,...i.map(e=>Math.max(e.saved_usd+e.wasted_usd,Math.abs(e.net_usd)))),t=(n.height-n.padTop-n.padBot)/2/e,r=n.padTop+(n.height-n.padTop-n.padBot)/2,a=(n.width-n.padX*2)/i.length-n.barGap;return(0,V.jsxs)(`div`,{className:`crm-section`,children:[(0,V.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day · saved (green) − wasted (red)`,(0,V.jsx)(`span`,{className:`meta`,children:`positive bars = caching helped`})]}),(0,V.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 ${n.width} ${n.height}`,width:`100%`,height:n.height,"aria-label":`Per-day net dollar chart, ${i.length} days`,children:[(0,V.jsx)(`line`,{x1:n.padX,x2:n.width-n.padX,y1:r,y2:r,stroke:`var(--border-soft)`,strokeWidth:1}),i.map((e,i)=>{let o=n.padX+i*(a+n.barGap);if(e.net_usd>=0){let n=e.saved_usd*t,i=e.wasted_usd*t;return(0,V.jsxs)(`g`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`pos`,children:[(0,V.jsx)(`rect`,{x:o,y:r-n,width:a,height:n,fill:`var(--accent-green)`,rx:2}),i>0&&(0,V.jsx)(`rect`,{x:o,y:r-n-i,width:a,height:i,fill:`var(--accent-red)`,opacity:.75,rx:2})]},e.date)}let s=Math.abs(e.net_usd)*t;return(0,V.jsx)(`rect`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`neg`,x:o,y:r,width:a,height:s,fill:`var(--accent-amber)`,rx:2},e.date)}),i.map((e,t)=>{let r=n.padX+t*(a+n.barGap)+a/2,o=t===i.length-1?`Today`:e.date.slice(5);return(0,V.jsx)(`text`,{x:r,y:n.height-6,fill:`var(--text-dim)`,fontSize:9,textAnchor:`middle`,children:o},`l-${e.date}`)})]})})]})}let a=n.height-n.padTop-n.padBot,o=Math.max(1e-9,...i.map(e=>Math.abs(e.net_usd))),s=(n.width-n.padX*2)/i.length-n.barGap;return(0,V.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${n.width} ${n.height}`,preserveAspectRatio:`none`,"aria-label":`14-day net dollar bars, ${i.length} days`,children:i.map((e,t)=>{let r=n.padX+t*(s+n.barGap),i=Math.max(1,Math.abs(e.net_usd)/o*a),c=n.height-n.padBot-i,l=e.net_usd>=0?`var(--accent-green)`:`var(--accent-amber)`;return(0,V.jsx)(`rect`,{"data-testid":`crm-netbar-mini`,"data-date":e.date,"data-sign":e.net_usd>=0?`pos`:`neg`,x:r,y:c,width:s,height:i,fill:l,rx:1},e.date)})})}var Fn=`var(--accent-teal)`,In=`var(--accent-amber)`,Ln=`var(--accent-green)`;function Rn(){let e=H()?.cache_report,t=nn()?` cache-report-collapsed`:``,n=()=>B({type:`OPEN_MODAL`,kind:`cache-report`}),r=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())};if(!e)return(0,V.jsx)(`section`,{className:`panel accent-teal${t}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,role:`region`,"aria-label":`Cache Report`,tabIndex:0,onClick:n,onKeyDown:r,style:{cursor:`pointer`},children:(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsx)(`div`,{className:`cr-panel-header-inner`,children:(0,V.jsxs)(`h3`,{style:{color:Fn},children:[`Cache Report `,(0,V.jsx)(`span`,{className:`sub`,children:`(loading)`})]})}),(0,V.jsx)(Vt,{})]})});if(e.is_empty)return(0,V.jsxs)(`section`,{className:`panel accent-teal${t}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,role:`region`,"aria-label":`Cache Report`,tabIndex:0,onClick:n,onKeyDown:r,style:{cursor:`pointer`},children:[(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsx)(`div`,{className:`cr-panel-header-inner`,children:(0,V.jsx)(`h3`,{style:{color:Fn},children:`Cache Report`})}),(0,V.jsx)(Vt,{})]}),(0,V.jsxs)(`div`,{className:`cr-status-row`,children:[(0,V.jsx)(`span`,{className:`cr-glyph thin`,children:`−`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`cr-headline`,children:`No Claude activity yet`}),(0,V.jsx)(`div`,{className:`cr-subline`,children:`Run a session to start tracking`})]})]})]});let i=e.today.anomaly_triggered,a=e.today.baseline_daily_row_count<5,o=i&&!a,s=o?`accent-amber`:`accent-teal`,c=o?In:Fn,l=o?In:Ln,u,d,f=null;if(a){u={icon:`~`,cls:`thin`};let t=e.today.baseline_daily_row_count;d=(0,V.jsxs)(V.Fragment,{children:[`Building baseline · `,t,`/`,5,` days`]}),f=(0,V.jsxs)(V.Fragment,{children:[`Today: cache hit `,D.pctFloor(e.today.cache_hit_percent),`% · net`,` `,D.usdSigned(e.today.net_usd)]})}else i?(u={icon:`⚠`,cls:`warn`},d=e.today.anomaly_reasons.includes(`cache_drop`)&&e.today.delta_pp!==null?(0,V.jsxs)(V.Fragment,{children:[`Today: cache hit `,(0,V.jsxs)(`span`,{className:`delta-bad`,children:[`↓ `,D.pctFloor(Math.abs(e.today.delta_pp)),`pp`]})]}):(0,V.jsxs)(V.Fragment,{children:[`Today: net`,` `,(0,V.jsx)(`span`,{className:`delta-bad`,children:D.usdSigned(e.today.net_usd)})]}),f=(0,V.jsxs)(V.Fragment,{children:[`vs 14d median`,` `,e.today.baseline_median_percent===null?`—`:D.pctFloor(e.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,V.jsx)(`span`,{className:`warn`,children:D.usdSigned(e.today.net_usd)})]})):(u={icon:`✓`,cls:`ok`},d=(0,V.jsxs)(V.Fragment,{children:[`Today: cache hit`,` `,(0,V.jsxs)(`span`,{className:`delta-good`,children:[D.pctFloor(e.today.cache_hit_percent),`%`]})]}),f=(0,V.jsxs)(V.Fragment,{children:[`vs 14d median`,` `,e.today.baseline_median_percent===null?`—`:D.pctFloor(e.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,V.jsx)(`span`,{className:`ok`,children:D.usdSigned(e.today.net_usd)})]}));let p=e.days.reduce((e,t)=>e+t.net_usd,0),m=a?(0,V.jsxs)(V.Fragment,{children:[`Watchdog activates at `,5,` days of history`]}):(0,V.jsxs)(V.Fragment,{children:[`14d net:`,` `,(0,V.jsx)(`span`,{className:p>=0?`ok`:`warn`,children:D.usdSigned(p)})]});return(0,V.jsxs)(`section`,{className:`panel ${s}${t}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,role:`region`,"aria-label":`Cache Report`,tabIndex:0,onClick:n,onKeyDown:r,style:{cursor:`pointer`},children:[(0,V.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,V.jsx)(`div`,{className:`cr-panel-header-inner`,children:(0,V.jsxs)(`h3`,{style:{color:c},children:[`Cache Report`,o&&(0,V.jsx)(`span`,{className:`sub`,children:`⚠ Today`})]})}),(0,V.jsx)(Vt,{})]}),(0,V.jsxs)(`div`,{className:`cr-status-row`,children:[(0,V.jsx)(`span`,{className:`cr-glyph ${u.cls}`,children:u.icon}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`cr-headline`,children:d}),(0,V.jsx)(`div`,{className:`cr-subline`,children:f})]})]}),!a&&e.days.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Mn,{days:e.days,baseline_median_percent:e.today.baseline_median_percent,today_marker_color:l,size:`mini`}),(0,V.jsx)(`div`,{className:`cr-netbars-mini-wrap`,children:(0,V.jsx)(Pn,{days:e.days,size:`mini`})})]}),(0,V.jsx)(`div`,{className:`cr-subline second`,children:m})]})}var zn={"current-week":{id:`current-week`,label:`Current Week`,Component:Kt,openAction:()=>B({type:`OPEN_MODAL`,kind:`current-week`})},forecast:{id:`forecast`,label:`Forecast`,Component:Jt,openAction:()=>B({type:`OPEN_MODAL`,kind:`forecast`})},trend:{id:`trend`,label:`Trend`,Component:en,openAction:()=>B({type:`OPEN_MODAL`,kind:`trend`})},sessions:{id:`sessions`,label:`Sessions`,Component:cn,openAction:Et},projects:{id:`projects`,label:`Projects`,Component:un,openAction:()=>B({type:`OPEN_MODAL`,kind:`projects`})},weekly:{id:`weekly`,label:`Weekly`,Component:pn,openAction:()=>B({type:`OPEN_MODAL`,kind:`weekly`})},monthly:{id:`monthly`,label:`Monthly`,Component:gn,openAction:()=>B({type:`OPEN_MODAL`,kind:`monthly`})},blocks:{id:`blocks`,label:`Blocks`,Component:vn,openAction:Dt},daily:{id:`daily`,label:`Daily`,Component:wn,openAction:()=>B({type:`OPEN_MODAL`,kind:`daily`})},alerts:{id:`alerts`,label:`Recent alerts`,Component:kn,openAction:()=>B({type:`OPEN_MODAL`,kind:`alerts`})},"cache-report":{id:`cache-report`,label:`Cache Report`,Component:Rn,openAction:()=>B({type:`OPEN_MODAL`,kind:`cache-report`})}};function Bn({panelOrder:e}){return(0,V.jsx)(`table`,{children:(0,V.jsxs)(`tbody`,{children:[e.map((e,t)=>(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:t<9?(0,V.jsx)(`kbd`,{children:String(t+1)}):t===9?(0,V.jsx)(`kbd`,{children:`0`}):(0,V.jsx)(`span`,{"aria-hidden":`true`,children:`—`})}),(0,V.jsxs)(`td`,{children:[`Open `,zn[e]?.label??e,` modal`]})]},e)),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`kbd`,{children:`r`})}),(0,V.jsx)(`td`,{children:`force refresh`})]}),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`kbd`,{children:`s`})}),(0,V.jsx)(`td`,{children:`open Settings`})]}),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:`Hold + drag a card`}),(0,V.jsx)(`td`,{children:`rearrange the dashboard`})]}),(0,V.jsxs)(`tr`,{children:[(0,V.jsxs)(`td`,{children:[(0,V.jsx)(`kbd`,{children:`Shift`}),`+`,(0,V.jsx)(`kbd`,{children:`↑`}),`/`,(0,V.jsx)(`kbd`,{children:`↓`})]}),(0,V.jsx)(`td`,{children:`swap focused card with neighbor`})]}),(0,V.jsxs)(`tr`,{children:[(0,V.jsxs)(`td`,{children:[(0,V.jsx)(`kbd`,{children:`↑`}),`/`,(0,V.jsx)(`kbd`,{children:`↓`})]}),(0,V.jsx)(`td`,{children:`Select period (Weekly/Monthly/Daily modal)`})]}),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`kbd`,{children:`?`})}),(0,V.jsx)(`td`,{children:`toggle this help`})]}),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`kbd`,{children:`Esc`})}),(0,V.jsx)(`td`,{children:`close`})]})]})})}function Vn(){return(0,V.jsxs)(`ul`,{className:`help-gesture-list`,children:[(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`strong`,{children:`Tap the chevron`}),` — expand or collapse a panel`]}),(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`strong`,{children:`Long-press a panel`}),` — drag to rearrange the dashboard`]}),(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`strong`,{children:`Tap ✕ or the dim backdrop`}),` — close a sheet (or `,(0,V.jsx)(`kbd`,{children:`Esc`}),` on tablets)`]}),(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`strong`,{children:`Tap a model chip`}),` — filter Sessions by that model`]}),(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`strong`,{children:`Tap the sync chip`}),` — force a fresh refresh`]})]})}function Hn(){let[e,t]=(0,g.useState)(!1),n=nn(),r=(0,g.useSyncExternalStore)(z,()=>R().prefs.panelOrder);return W([{key:`?`,scope:`global`,action:()=>t(e=>!e)},{key:`Escape`,scope:`global`,action:()=>t(!1),when:()=>e}]),e?(0,V.jsx)(`div`,{id:`help-overlay`,onClick:()=>t(!1),children:(0,V.jsxs)(`div`,{className:`help-card`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`help-header`,children:[(0,V.jsx)(`h2`,{children:n?`Help`:`Keybindings`}),(0,V.jsx)(`button`,{className:`modal-close`,type:`button`,"aria-label":`Close`,onClick:()=>t(!1),children:`×`})]}),n?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Vn,{}),(0,V.jsxs)(`details`,{className:`help-keyboard-disclosure`,children:[(0,V.jsx)(`summary`,{children:`Keyboard shortcuts ▾`}),(0,V.jsx)(Bn,{panelOrder:r})]})]}):(0,V.jsx)(Bn,{panelOrder:r}),(0,V.jsxs)(`p`,{className:`meta`,children:[`cctally · `,(0,V.jsx)(`span`,{id:`help-server-url`,children:window.location.origin})]})]})}):null}var Un={weekly_pct:`Weekly %`,budget_usd:`Budget $`};function Wn(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(new Date),!0}catch{return!1}}function Gn(e){try{return`${e} (${new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``})`}catch{return e}}function Kn(e){return e===`local`?`local`:e===`utc`?`utc`:`custom`}function qn(){let[e,t]=(0,g.useState)(!1),n=(0,g.useSyncExternalStore)(z,()=>R().prefs),[r,i]=(0,g.useState)(n.sortDefault),[a,o]=(0,g.useState)(n.sessionsPerPage),s=(0,g.useSyncExternalStore)(z,()=>R().filterText),[c,l]=(0,g.useState)(s),u=zt(),[d,f]=(0,g.useState)(Kn(u.tz)),[p,m]=(0,g.useState)(Kn(u.tz)===`custom`?u.tz:``),[h,_]=(0,g.useState)(!1),[v,y]=(0,g.useState)(null),b=(0,g.useSyncExternalStore)(z,()=>R().alertsConfig),[x,S]=(0,g.useState)(b.enabled),[C,w]=(0,g.useState)(b.projected_weekly_enabled??!1),[T,ee]=(0,g.useState)(b.projected_budget_enabled??!1),[te,E]=(0,g.useState)(b.project_alerts_enabled??!1),[D,O]=(0,g.useState)(b.notifier??`auto`),[ne,re]=(0,g.useState)(!1),[ie,k]=(0,g.useState)(null),[A,ae]=(0,g.useState)(`weekly`),[oe,se]=(0,g.useState)(`weekly_pct`);if((0,g.useEffect)(()=>{f(Kn(u.tz)),m(Kn(u.tz)===`custom`?u.tz:``)},[u.tz]),(0,g.useEffect)(()=>{S(b.enabled),w(b.projected_weekly_enabled??!1),ee(b.projected_budget_enabled??!1),E(b.project_alerts_enabled??!1),O(b.notifier??`auto`)},[b.enabled,b.projected_weekly_enabled,b.projected_budget_enabled,b.project_alerts_enabled,b.notifier]),W([{key:`s`,scope:`global`,action:()=>t(!0),when:()=>!R().openModal},{key:`Escape`,scope:`global`,action:()=>t(!1),when:()=>e},{key:`1`,scope:`modal`,action:()=>{},when:()=>e},{key:`2`,scope:`modal`,action:()=>{},when:()=>e},{key:`3`,scope:`modal`,action:()=>{},when:()=>e},{key:`4`,scope:`modal`,action:()=>{},when:()=>e},{key:`5`,scope:`modal`,action:()=>{},when:()=>e},{key:`6`,scope:`modal`,action:()=>{},when:()=>e},{key:`7`,scope:`modal`,action:()=>{},when:()=>e},{key:`8`,scope:`modal`,action:()=>{},when:()=>e},{key:`9`,scope:`modal`,action:()=>{},when:()=>e}]),(0,g.useEffect)(()=>{e&&(i(n.sortDefault),o(n.sessionsPerPage),l(s),S(b.enabled),w(b.projected_weekly_enabled??!1),ee(b.projected_budget_enabled??!1),E(b.project_alerts_enabled??!1),O(b.notifier??`auto`),k(null),ae(`weekly`))},[e,n.sortDefault,n.sessionsPerPage,s,b.enabled,b.projected_weekly_enabled,b.projected_budget_enabled,b.project_alerts_enabled,b.notifier]),!e)return null;let j=d===`local`?`local`:d===`utc`?`utc`:p.trim(),ce=d!==`custom`||Wn(p.trim()),M=j!==u.tz,le=x!==b.enabled,N=C!==(b.projected_weekly_enabled??!1),ue=T!==(b.projected_budget_enabled??!1),P=te!==(b.project_alerts_enabled??!1),de=D!==(b.notifier??`auto`),fe=b.command_configured??!1,pe=h||M&&d===`custom`&&!ce,F=()=>t(!1);return(0,V.jsxs)(`div`,{id:`settings-root`,children:[(0,V.jsx)(`div`,{className:`modal-backdrop`,onClick:F}),(0,V.jsxs)(`div`,{className:`modal-card accent-orange`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,children:[(0,V.jsxs)(`header`,{className:`modal-header`,children:[(0,V.jsx)(`h2`,{id:`settings-title`,children:`Settings`}),(0,V.jsx)(`button`,{className:`modal-close`,type:`button`,"aria-label":`Close`,onClick:F,children:`×`})]}),(0,V.jsxs)(`div`,{className:`modal-body`,children:[(0,V.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,V.jsx)(`legend`,{children:`Display timezone`}),u.pinned&&(0,V.jsx)(`small`,{children:`Pinned by --tz flag — restart the server without --tz to change here.`}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`local`,checked:d===`local`,onChange:()=>f(`local`),disabled:u.pinned}),` `,`Local (`,u.resolvedTz,`)`]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`utc`,checked:d===`utc`,onChange:()=>f(`utc`),disabled:u.pinned}),` `,`UTC`]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`custom`,checked:d===`custom`,onChange:()=>f(`custom`),disabled:u.pinned}),` `,`Custom:`,` `,(0,V.jsx)(`input`,{type:`text`,value:p,onChange:e=>m(e.target.value),disabled:d!==`custom`||u.pinned,placeholder:`America/New_York`,"aria-invalid":d===`custom`&&!ce})]}),d===`custom`&&p.trim()&&(ce?(0,V.jsxs)(`small`,{children:[`resolves to: `,Gn(p.trim())]}):(0,V.jsx)(`div`,{className:`modal-error`,children:`Invalid IANA zone`})),v&&(0,V.jsxs)(`div`,{className:`modal-error`,children:[`Failed: `,v]})]}),(0,V.jsxs)(`fieldset`,{className:`settings-fs alerts-fs`,children:[(0,V.jsx)(`legend`,{children:`Alerts`}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`checkbox`,name:`alerts-enabled`,checked:x,onChange:e=>S(e.target.checked)}),` `,`Enable threshold alerts`]}),(0,V.jsxs)(`label`,{className:`settings-row`,children:[`Notifier`,` `,(0,V.jsxs)(`select`,{className:`settings-btn settings-select`,value:D,"aria-label":`Alert notifier`,onChange:e=>O(e.target.value),children:[(0,V.jsx)(`option`,{value:`auto`,children:`Auto-detect`}),(0,V.jsx)(`option`,{value:`osascript`,children:`macOS (osascript)`}),(0,V.jsx)(`option`,{value:`notify-send`,children:`Linux (notify-send)`}),(0,V.jsxs)(`option`,{value:`command`,disabled:!fe,children:[`Custom command`,fe?``:` (set via CLI)`]}),(0,V.jsx)(`option`,{value:`none`,children:`None (log only)`})]})]}),fe&&(0,V.jsx)(`p`,{className:`settings-hint`,children:`Custom command configured (edit via CLI).`}),(0,V.jsxs)(`p`,{className:`alerts-summary settings-hint`,children:[`Weekly: `,b.weekly_thresholds.map(e=>`${e}%`).join(`, `),` · `,`5h-block: `,b.five_hour_thresholds.map(e=>`${e}%`).join(`, `),` · `,`Budget: `,(b.budget_thresholds??[]).map(e=>`${e}%`).join(`, `)||`—`]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`checkbox`,name:`projected-weekly-enabled`,checked:C,onChange:e=>w(e.target.checked)}),` `,`Projected weekly-% pace alerts`]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`checkbox`,name:`projected-budget-enabled`,checked:T,onChange:e=>ee(e.target.checked)}),` `,`Projected budget-$ pace alerts`]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`checkbox`,name:`project-alerts-enabled`,checked:te,onChange:e=>E(e.target.checked)}),` `,`Per-project budget alerts`]}),(0,V.jsxs)(`div`,{className:`alerts-test-row`,children:[(0,V.jsxs)(`label`,{children:[`Axis`,` `,(0,V.jsx)(`select`,{className:`settings-btn settings-select`,value:A,disabled:ne,"aria-label":`Test alert axis`,onChange:e=>ae(e.target.value),children:Object.keys(En).map(e=>(0,V.jsx)(`option`,{value:e,children:En[e]},e))})]}),` `,A===`projected`&&(0,V.jsxs)(`label`,{children:[`Metric`,` `,(0,V.jsx)(`select`,{className:`settings-btn settings-select`,value:oe,disabled:ne,"aria-label":`Test alert projected metric`,onChange:e=>se(e.target.value),children:Object.keys(Un).map(e=>(0,V.jsx)(`option`,{value:e,children:Un[e]},e))})]}),` `,(0,V.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:ne,onClick:async()=>{re(!0),k(null);try{let e=await fetch(`/api/alerts/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({axis:A,threshold:90,...A===`projected`?{metric:oe}:{}})}),t=await e.json().catch(()=>({}));t.alert&&B({type:`SHOW_ALERT_TOAST`,alert:t.alert}),t.dispatch!==`queued`&&k(t.dispatch??t.reason??`HTTP ${e.status}`)}catch(e){k(e instanceof Error?e.message:`unknown error`)}re(!1)},children:ne?`Sending…`:`Send test alert`}),(0,V.jsx)(`p`,{className:`settings-hint`,children:`Sends a synthetic alert through the dispatch pipeline so you can verify the toast and log path. Does not write to the database or update the Recent alerts panel. Independent of the Enabled toggle — fire-and-test before flipping production alerts on.`}),ie&&(0,V.jsxs)(`div`,{className:`modal-error`,children:[`Test failed: `,ie]})]})]}),(0,V.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,V.jsx)(`legend`,{children:`Sort default`}),De.map(({key:e,label:t})=>(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`radio`,name:`sort-default`,value:e,checked:r===e,onChange:()=>i(e)}),` `,t]},e))]}),(0,V.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,V.jsx)(`legend`,{children:`Remembered filter term`}),(0,V.jsx)(`input`,{type:`text`,placeholder:`(none)`,value:c,onChange:e=>l(e.target.value)})]}),(0,V.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,V.jsx)(`legend`,{children:`Sessions per page`}),(0,V.jsx)(`input`,{type:`number`,min:10,max:1e3,value:a,onChange:e=>o(Number(e.target.value))})]}),(0,V.jsxs)(`fieldset`,{className:`settings-fs sorting-fs`,children:[(0,V.jsx)(`legend`,{children:`Table sorting`}),(0,V.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:!n.trendSortOverride&&!n.sessionsSortOverride,onClick:()=>{B({type:`CLEAR_TABLE_SORTS`}),F()},children:`Reset table sorting`}),(0,V.jsx)(`p`,{className:`settings-hint`,children:`Clears column-click sorting on the $/1% Trend and Recent Sessions tables.`})]}),(0,V.jsxs)(`fieldset`,{className:`settings-fs layout-fs`,children:[(0,V.jsx)(`legend`,{children:`Layout`}),(0,V.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:()=>{B({type:`RESET_PANEL_ORDER`}),F()},children:`Reset card order`})]}),(0,V.jsxs)(`div`,{className:`settings-actions`,children:[(0,V.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:async()=>{let e={};if(M&&!u.pinned){if(!ce){y(`Invalid IANA zone`);return}e.display={tz:j}}if(le||N||de){let t={};le&&(t.enabled=x),N&&(t.projected_enabled=C),de&&(t.notifier=D),e.alerts=t}if(ue||P){let t={};ue&&(t.projected_enabled=T),P&&(t.project_alerts_enabled=te),e.budget=t}if(Object.keys(e).length>0){_(!0),y(null);try{let t=await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}}catch(e){y(e instanceof Error?e.message:`unknown error`),_(!1);return}_(!1)}B({type:`SAVE_PREFS`,patch:{sortDefault:r,sessionsPerPage:Number.isFinite(a)&&a>0?Math.min(1e3,Math.max(10,Math.round(a))):n.sessionsPerPage}}),B({type:`SET_SORT`,key:r}),B({type:`SET_FILTER`,text:c}),B({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),F()},disabled:pe,children:h?`Saving…`:`Save`}),(0,V.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:()=>{B({type:`RESET_PREFS`}),B({type:`SET_FILTER`,text:``}),F()},children:`Reset to defaults`}),(0,V.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:F,children:`Cancel`})]})]})]})]})}var Jn=8e3,Yn=`New: hold any card to rearrange the dashboard.`,Xn=`Tap to drill in · long-press to rearrange · ⟳ to refresh`;function Zn(){let e=nn(),t=(0,g.useSyncExternalStore)(z,()=>R().prefs.onboardingToastSeen),n=(0,g.useSyncExternalStore)(z,()=>R().prefs.mobileOnboardingToastSeen),r=e?n:t,i=e?`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:`MARK_ONBOARDING_TOAST_SEEN`,a=e?Xn:Yn;return(0,g.useEffect)(()=>{if(r)return;let e=setTimeout(()=>B({type:i}),Jn);return()=>clearTimeout(e)},[r,i]),r?null:(0,V.jsxs)(`div`,{className:`onboarding-toast`,role:`status`,"aria-live":`polite`,children:[(0,V.jsx)(`span`,{className:`onboarding-toast-msg`,children:a}),(0,V.jsx)(`button`,{className:`onboarding-toast-dismiss`,type:`button`,"aria-label":`Dismiss`,onClick:()=>B({type:i}),children:`×`})]})}var Qn=2500,$n=8e3;function er(){let e=(0,g.useSyncExternalStore)(z,()=>R().toast),t=zt(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel};return(0,g.useEffect)(()=>{if(e==null)return;let t=e.kind===`alert`?$n:Qn,n=window.setTimeout(()=>B({type:`HIDE_TOAST`}),t);return()=>window.clearTimeout(n)},[e]),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Zn,{}),e?.kind===`status`&&(0,V.jsx)(`div`,{className:`toast`,role:`status`,"aria-live":`polite`,children:e.text}),e?.kind===`alert`&&(0,V.jsxs)(`div`,{className:`toast toast--alert toast--severity-${Dn(e.payload)}`,role:`alert`,onClick:()=>B({type:`HIDE_TOAST`}),children:[(0,V.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,V.jsx)(`span`,{className:`chip chip--${e.payload.axis}`,children:Tn[e.payload.axis]}),(0,V.jsxs)(`span`,{className:`toast--alert-threshold num`,children:[e.payload.threshold,`%`]}),(0,V.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:`click to dismiss`})]}),(0,V.jsx)(`div`,{className:`toast--alert-title`,children:e.payload.axis===`projected`?(0,V.jsxs)(V.Fragment,{children:[En.projected,` to reach`,` `,e.payload.threshold,`%`]}):e.payload.axis===`project_budget`?(0,V.jsxs)(V.Fragment,{children:[e.payload.context.project??`Project`,` `,`budget `,e.payload.threshold,`% reached`]}):(0,V.jsxs)(V.Fragment,{children:[En[e.payload.axis],` usage`,` `,e.payload.threshold,`% reached`]})}),e.payload.context.week_start_date&&(0,V.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting`,` `,D.weekStart(e.payload.context.week_start_date,n)??`—`]}),e.payload.context.block_start_at&&(0,V.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Block started `,D.timeOnly(e.payload.context.block_start_at,n)]}),(e.payload.axis===`budget`||e.payload.axis===`project_budget`)&&e.payload.context.week_start_at&&(0,V.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting`,` `,D.weekStart(e.payload.context.week_start_at.slice(0,10),n)??`—`]}),(0,V.jsxs)(`div`,{className:`toast--alert-body`,children:[e.payload.context.cumulative_cost_usd!=null&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.cumulative_cost_usd.toFixed(2)]}),` `,`spent`,e.payload.context.dollars_per_percent!=null&&(0,V.jsxs)(V.Fragment,{children:[` `,`·`,` `,(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.dollars_per_percent.toFixed(2)]}),` `,`per 1%`]})]}),e.payload.context.block_cost_usd!=null&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.block_cost_usd.toFixed(2)]}),` `,`in this block`,e.payload.context.primary_model&&(0,V.jsxs)(V.Fragment,{children:[` · model: `,e.payload.context.primary_model]})]}),e.payload.axis===`budget`&&e.payload.context.spent_usd!=null&&e.payload.context.budget_usd!=null&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.spent_usd.toFixed(2)]}),` `,`of`,` `,(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.budget_usd.toFixed(2)]}),` `,`budget`]}),e.payload.axis===`projected`&&(0,V.jsx)(`span`,{className:`num`,children:On(e.payload)??`—`}),e.payload.axis===`project_budget`&&e.payload.context.spent_usd!=null&&e.payload.context.budget_usd!=null&&(0,V.jsxs)(V.Fragment,{children:[e.payload.context.project&&(0,V.jsxs)(V.Fragment,{children:[e.payload.context.project,`: `]}),(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.spent_usd.toFixed(2)]}),` `,`of`,` `,(0,V.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.budget_usd.toFixed(2)]}),` `,`budget`]})]})]})]})}var tr=m();function nr(){var e=[...arguments];return(0,g.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var rr=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function ir(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ar(e){return`nodeType`in e}function or(e){return e?ir(e)?e:ar(e)?e.ownerDocument?.defaultView??window:window:window}function sr(e){let{Document:t}=or(e);return e instanceof t}function cr(e){return ir(e)?!1:e instanceof or(e).HTMLElement}function lr(e){return e instanceof or(e).SVGElement}function ur(e){return e?ir(e)?e.document:ar(e)?sr(e)?e:cr(e)||lr(e)?e.ownerDocument:document:document:document}var dr=rr?g.useLayoutEffect:g.useEffect;function fr(e){let t=(0,g.useRef)(e);return dr(()=>{t.current=e}),(0,g.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function pr(){let e=(0,g.useRef)(null);return[(0,g.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,g.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function mr(e,t){t===void 0&&(t=[e]);let n=(0,g.useRef)(e);return dr(()=>{n.current!==e&&(n.current=e)},t),n}function hr(e,t){let n=(0,g.useRef)();return(0,g.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function gr(e){let t=fr(e),n=(0,g.useRef)(null);return[n,(0,g.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function _r(e){let t=(0,g.useRef)();return(0,g.useEffect)(()=>{t.current=e},[e]),t.current}var vr={};function yr(e,t){return(0,g.useMemo)(()=>{if(t)return t;let n=vr[e]==null?0:vr[e]+1;return vr[e]=n,e+`-`+n},[e,t])}function br(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var xr=br(1),Sr=br(-1);function Cr(e){return`clientX`in e&&`clientY`in e}function wr(e){if(!e)return!1;let{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function Tr(e){if(!e)return!1;let{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Er(e){if(Tr(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Cr(e)?{x:e.clientX,y:e.clientY}:null}var Dr=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Dr.Translate.toString(e),Dr.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Or=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function kr(e){return e.matches(Or)?e:e.querySelector(Or)}var Ar={display:`none`};function jr(e){let{id:t,value:n}=e;return g.createElement(`div`,{id:t,style:Ar},n)}function Mr(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return g.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Nr(){let[e,t]=(0,g.useState)(``);return{announce:(0,g.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Pr=(0,g.createContext)(null);function Fr(e){let t=(0,g.useContext)(Pr);(0,g.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Ir(){let[e]=(0,g.useState)(()=>new Set),t=(0,g.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,g.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Lr={draggable:`
|
|
9
|
+
To pick up a draggable item, press the space bar.
|
|
10
|
+
While dragging, use the arrow keys to move the item.
|
|
11
|
+
Press space again to drop the item in its new position, or press escape to cancel.
|
|
12
|
+
`},Rr={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function zr(e){let{announcements:t=Rr,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Lr}=e,{announce:a,announcement:o}=Nr(),s=yr(`DndLiveRegion`),[c,l]=(0,g.useState)(!1);if((0,g.useEffect)(()=>{l(!0)},[]),Fr((0,g.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=g.createElement(g.Fragment,null,g.createElement(jr,{id:r,value:i.draggable}),g.createElement(Mr,{id:s,announcement:o}));return n?(0,tr.createPortal)(u,n):u}var Br;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(Br||={});function Vr(){}function Hr(e,t){return(0,g.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Ur(){var e=[...arguments];return(0,g.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var Wr=Object.freeze({x:0,y:0});function Gr(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function Kr(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function qr(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function Jr(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Yr(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Xr(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var Zr=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Xr(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Gr(Xr(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(Kr)},Qr=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Jr(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Jr(r),o=i.reduce((e,t,r)=>e+Gr(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(Kr)};function $r(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var ei=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=$r(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(qr)};function ti(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ni(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Wr}function ri(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var G=ri(1);function ii(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function ai(e,t,n){let r=ii(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var oi={ignoreTransform:!1};function si(e,t){t===void 0&&(t=oi);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=or(e).getComputedStyle(e);t&&(n=ai(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function ci(e){return si(e,{ignoreTransform:!0})}function li(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function ui(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position===`fixed`}function di(e,t){t===void 0&&(t=or(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function fi(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(sr(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!cr(i)||lr(i)||n.includes(i))return n;let a=or(e).getComputedStyle(i);return i!==e&&di(i,a)&&n.push(i),ui(i,a)?n:r(i.parentNode)}return e?r(e):n}function pi(e){let[t]=fi(e,1);return t??null}function mi(e){return!rr||!e?null:ir(e)?e:ar(e)?sr(e)||e===ur(e).scrollingElement?window:cr(e)?e:null:null}function hi(e){return ir(e)?e.scrollX:e.scrollLeft}function gi(e){return ir(e)?e.scrollY:e.scrollTop}function _i(e){return{x:hi(e),y:gi(e)}}var vi;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(vi||={});function yi(e){return!rr||!e?!1:e===document.scrollingElement}function bi(e){let t={x:0,y:0},n=yi(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var xi={x:.2,y:.2};function Si(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=xi);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=bi(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=vi.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=vi.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=vi.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=vi.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Ci(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function wi(e){return e.reduce((e,t)=>xr(e,_i(t)),Wr)}function Ti(e){return e.reduce((e,t)=>e+hi(t),0)}function Ei(e){return e.reduce((e,t)=>e+gi(t),0)}function Di(e,t){if(t===void 0&&(t=si),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);pi(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Oi=[[`x`,[`left`,`right`],Ti],[`y`,[`top`,`bottom`],Ei]],ki=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=fi(t),r=wi(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Oi)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},Ai=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function ji(e){let{EventTarget:t}=or(e);return e instanceof t?e:ur(e)}function Mi(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var Ni;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Ni||={});function Pi(e){e.preventDefault()}function Fi(e){e.stopPropagation()}var K;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(K||={});var Ii={start:[K.Space,K.Enter],cancel:[K.Esc],end:[K.Space,K.Enter,K.Tab]},Li=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case K.Right:return{...n,x:n.x+25};case K.Left:return{...n,x:n.x-25};case K.Down:return{...n,y:n.y+25};case K.Up:return{...n,y:n.y-25}}},Ri=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new Ai(ur(t)),this.windowListeners=new Ai(or(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ni.Resize,this.handleCancel),this.windowListeners.add(Ni.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ni.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Di(n),t(Wr)}handleKeyDown(e){if(wr(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Ii,coordinateGetter:a=Li,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:Wr;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Sr(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=bi(n),p=Ci(n),m={x:Math.min(i===K.Right?p.right-p.width/2:p.right,Math.max(i===K.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===K.Down?p.bottom-p.height/2:p.bottom,Math.max(i===K.Down?p.top:p.top+p.height/2,u.y))},h=i===K.Right&&!s||i===K.Left&&!c,g=i===K.Down&&!l||i===K.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===K.Right&&e<=d.x||i===K.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===K.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===K.Down&&e<=d.y||i===K.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===K.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,xr(Sr(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Ri.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Ii,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function zi(e){return!!(e&&`distance`in e)}function Bi(e){return!!(e&&`delay`in e)}var Vi=class{constructor(e,t,n){n===void 0&&(n=ji(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=ur(i),this.documentListeners=new Ai(this.document),this.listeners=new Ai(n),this.windowListeners=new Ai(or(i)),this.initialCoordinates=Er(r)??Wr,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Ni.Resize,this.handleCancel),this.windowListeners.add(Ni.DragStart,Pi),this.windowListeners.add(Ni.VisibilityChange,this.handleCancel),this.windowListeners.add(Ni.ContextMenu,Pi),this.documentListeners.add(Ni.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Bi(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(zi(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Ni.Click,Fi,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ni.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Er(e)??Wr,s=Sr(n,o);if(!t&&a){if(zi(a)){if(a.tolerance!=null&&Mi(s,a.tolerance))return this.handleCancel();if(Mi(s,a.distance))return this.handleStart()}if(Bi(a)&&Mi(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===K.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},q={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},J=class extends Vi{constructor(e){let{event:t}=e,n=ur(t.target);super(e,q,n)}};J.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var Hi={move:{name:`mousemove`},end:{name:`mouseup`}},Ui;(function(e){e[e.RightClick=2]=`RightClick`})(Ui||={});var Wi=class extends Vi{constructor(e){super(e,Hi,ur(e.event.target))}};Wi.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Ui.RightClick?!1:(r?.({event:n}),!0)}}];var Gi={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Ki=class extends Vi{constructor(e){super(e,Gi)}static setup(){return window.addEventListener(Gi.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Gi.move.name,e)};function e(){}}};Ki.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var qi;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(qi||={});var Ji;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Ji||={});function Yi(e){let{acceleration:t,activator:n=qi.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Ji.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Zi({delta:d,disabled:!a}),[m,h]=pr(),_=(0,g.useRef)({x:0,y:0}),v=(0,g.useRef)({x:0,y:0}),y=(0,g.useMemo)(()=>{switch(n){case qi.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case qi.DraggableRect:return i}},[n,i,c]),b=(0,g.useRef)(null),x=(0,g.useCallback)(()=>{let e=b.current;if(!e)return;let t=_.current.x*v.current.x,n=_.current.y*v.current.y;e.scrollBy(t,n)},[]),S=(0,g.useMemo)(()=>s===Ji.TreeOrder?[...l].reverse():l,[s,l]);(0,g.useEffect)(()=>{if(!a||!l.length||!y){h();return}for(let e of S){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=Si(e,n,y,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),b.current=e,m(x,o),_.current=a,v.current=i;return}}_.current={x:0,y:0},v.current={x:0,y:0},h()},[t,x,r,h,a,o,JSON.stringify(y),JSON.stringify(p),m,l,S,u,JSON.stringify(f)])}var Xi={x:{[vi.Backward]:!1,[vi.Forward]:!1},y:{[vi.Backward]:!1,[vi.Forward]:!1}};function Zi(e){let{delta:t,disabled:n}=e,r=_r(t);return hr(e=>{if(n||!r||!e)return Xi;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[vi.Backward]:e.x[vi.Backward]||i.x===-1,[vi.Forward]:e.x[vi.Forward]||i.x===1},y:{[vi.Backward]:e.y[vi.Backward]||i.y===-1,[vi.Forward]:e.y[vi.Forward]||i.y===1}}},[n,t,r])}function Qi(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return hr(e=>t==null?null:r??e??null,[r,t])}function $i(e,t){return(0,g.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var ea;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(ea||={});var ta;(function(e){e.Optimized=`optimized`})(ta||={});var na=new Map;function ra(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,g.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,g.useRef)(e),d=_(),f=mr(d),p=(0,g.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,g.useRef)(null),h=hr(t=>{if(d&&!n)return na;if(!t||t===na||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new ki(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,g.useEffect)(()=>{u.current=e},[e]),(0,g.useEffect)(()=>{d||p()},[n,d]),(0,g.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,g.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function _(){switch(l){case ea.Always:return!1;case ea.BeforeDragging:return n;default:return!n}}}function ia(e,t){return hr(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function aa(e,t){return ia(e,t)}function oa(e){let{callback:t,disabled:n}=e,r=fr(t),i=(0,g.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,g.useEffect)(()=>()=>i?.disconnect(),[i]),i}function sa(e){let{callback:t,disabled:n}=e,r=fr(t),i=(0,g.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,g.useEffect)(()=>()=>i?.disconnect(),[i]),i}function ca(e){return new ki(si(e),e)}function la(e,t,n){t===void 0&&(t=ca);let[r,i]=(0,g.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=oa({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=sa({callback:a});return dr(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function ua(e){return ni(e,ia(e))}var da=[];function fa(e){let t=(0,g.useRef)(e),n=hr(n=>e?n&&n!==da&&e&&t.current&&e.parentNode===t.current.parentNode?n:fi(e):da,[e]);return(0,g.useEffect)(()=>{t.current=e},[e]),n}function pa(e){let[t,n]=(0,g.useState)(null),r=(0,g.useRef)(e),i=(0,g.useCallback)(e=>{let t=mi(e.target);t&&n(e=>e?(e.set(t,_i(t)),new Map(e)):null)},[]);return(0,g.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=mi(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,_i(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{mi(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,g.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>xr(e,t),Wr):wi(e):Wr,[e,t])}function ma(e,t){t===void 0&&(t=[]);let n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{n.current=null},t),(0,g.useEffect)(()=>{let t=e!==Wr;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Sr(e,n.current):Wr}function ha(e){(0,g.useEffect)(()=>{if(!rr)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function ga(e,t){return(0,g.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function _a(e){return(0,g.useMemo)(()=>e?li(e):null,[e])}var va=[];function ya(e,t){t===void 0&&(t=si);let[n]=e,r=_a(n?or(n):null),[i,a]=(0,g.useState)(va);function o(){a(()=>e.length?e.map(e=>yi(e)?r:new ki(t(e),e)):va)}let s=sa({callback:o});return dr(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Y(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return cr(t)?t:e}function ba(e){let{measure:t}=e,[n,r]=(0,g.useState)(null),i=sa({callback:(0,g.useCallback)(e=>{for(let{target:n}of e)if(cr(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=gr((0,g.useCallback)(e=>{let n=Y(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,g.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var xa=[{sensor:J,options:{}},{sensor:Ri,options:{}}],Sa={current:{}},Ca={draggable:{measure:ci},droppable:{measure:ci,strategy:ea.WhileDragging,frequency:ta.Optimized},dragOverlay:{measure:si}},wa=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},Ta={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new wa,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Vr},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ca,measureDroppableContainers:Vr,windowRect:null,measuringScheduled:!1},Ea={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:Vr,draggableNodes:new Map,over:null,measureDroppableContainers:Vr},Da=(0,g.createContext)(Ea),Oa=(0,g.createContext)(Ta);function ka(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new wa}}}function Aa(e,t){switch(t.type){case Br.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Br.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Br.DragEnd:case Br.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Br.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new wa(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Br.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new wa(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Br.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new wa(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function ja(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,g.useContext)(Da),a=_r(r),o=_r(n?.id);return(0,g.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!wr(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=kr(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function Ma(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function Na(e){return(0,g.useMemo)(()=>({draggable:{...Ca.draggable,...e?.draggable},droppable:{...Ca.droppable,...e?.droppable},dragOverlay:{...Ca.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Pa(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,g.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;dr(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=ni(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=pi(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Fa=(0,g.createContext)({...Wr,scaleX:1,scaleY:1}),Ia;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(Ia||={});var La=(0,g.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=xa,collisionDetection:o=ei,measuring:s,modifiers:c,...l}=e,[u,d]=(0,g.useReducer)(Aa,void 0,ka),[f,p]=Ir(),[m,h]=(0,g.useState)(Ia.Uninitialized),_=m===Ia.Initialized,{draggable:{active:v,nodes:y,translate:b},droppable:{containers:x}}=u,S=v==null?null:y.get(v),C=(0,g.useRef)({initial:null,translated:null}),w=(0,g.useMemo)(()=>v==null?null:{id:v,data:S?.data??Sa,rect:C},[v,S]),T=(0,g.useRef)(null),[ee,te]=(0,g.useState)(null),[E,D]=(0,g.useState)(null),O=mr(l,Object.values(l)),ne=yr(`DndDescribedBy`,t),re=(0,g.useMemo)(()=>x.getEnabled(),[x]),ie=Na(s),{droppableRects:k,measureDroppableContainers:A,measuringScheduled:ae}=ra(re,{dragging:_,dependencies:[b.x,b.y],config:ie.droppable}),oe=Qi(y,v),se=(0,g.useMemo)(()=>E?Er(E):null,[E]),j=Me(),ce=aa(oe,ie.draggable.measure);Pa({activeNode:v==null?null:y.get(v),config:j.layoutShiftCompensation,initialRect:ce,measure:ie.draggable.measure});let M=la(oe,ie.draggable.measure,ce),le=la(oe?oe.parentElement:null),N=(0,g.useRef)({activatorEvent:null,active:null,activeNode:oe,collisionRect:null,collisions:null,droppableRects:k,draggableNodes:y,draggingNode:null,draggingNodeRect:null,droppableContainers:x,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ue=x.getNodeFor(N.current.over?.id),P=ba({measure:ie.dragOverlay.measure}),de=P.nodeRef.current??oe,fe=_?P.rect??M:null,pe=!!(P.nodeRef.current&&P.rect),F=ua(pe?null:M),me=_a(de?or(de):null),he=fa(_?ue??oe:null),ge=ya(he),_e=Ma(c,{transform:{x:b.x-F.x,y:b.y-F.y,scaleX:1,scaleY:1},activatorEvent:E,active:w,activeNodeRect:M,containerNodeRect:le,draggingNodeRect:fe,over:N.current.over,overlayNodeRect:P.rect,scrollableAncestors:he,scrollableAncestorRects:ge,windowRect:me}),ve=se?xr(se,b):null,ye=pa(he),be=ma(ye),xe=ma(ye,[M]),Se=xr(_e,be),Ce=fe?G(fe,_e):null,I=w&&Ce?o({active:w,collisionRect:Ce,droppableRects:k,droppableContainers:re,pointerCoordinates:ve}):null,we=Yr(I,`id`),[Te,Ee]=(0,g.useState)(null),De=ti(pe?_e:xr(_e,xe),Te?.rect??null,M),Oe=(0,g.useRef)(null),ke=(0,g.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=y.get(T.current);if(!i)return;let a=e.nativeEvent;Oe.current=new n({active:T.current,activeNode:i,event:a,options:r,context:N,onAbort(e){if(!y.get(e))return;let{onDragAbort:t}=O.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!y.get(e))return;let{onDragPending:i}=O.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=y.get(t);if(!n)return;let{onDragStart:r}=O.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:C}};(0,tr.unstable_batchedUpdates)(()=>{r?.(i),h(Ia.Initializing),d({type:Br.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),te(Oe.current),D(a)})},onMove(e){d({type:Br.DragMove,coordinates:e})},onEnd:o(Br.DragEnd),onCancel:o(Br.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=N.current,o=null;if(t&&i){let{cancelDrop:s}=O.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===Br.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=Br.DragCancel)}T.current=null,(0,tr.unstable_batchedUpdates)(()=>{d({type:e}),h(Ia.Uninitialized),Ee(null),te(null),D(null),Oe.current=null;let t=e===Br.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=O.current[t];e?.(o),f({type:t,event:o})}})}}},[y]),Ae=$i(a,(0,g.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=y.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,ke(n,t))},[y,ke]));ha(a),dr(()=>{M&&m===Ia.Initializing&&h(Ia.Initialized)},[M,m]),(0,g.useEffect)(()=>{let{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:r,over:i}=N.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:Se.x,y:Se.y},over:i};(0,tr.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[Se.x,Se.y]),(0,g.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=N.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=O.current,o=r.get(we),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,tr.unstable_batchedUpdates)(()=>{Ee(s),a?.(c),f({type:`onDragOver`,event:c})})},[we]),dr(()=>{N.current={activatorEvent:E,active:w,activeNode:oe,collisionRect:Ce,collisions:I,droppableRects:k,draggableNodes:y,draggingNode:de,draggingNodeRect:fe,droppableContainers:x,over:Te,scrollableAncestors:he,scrollAdjustedTranslate:Se},C.current={initial:fe,translated:Ce}},[w,oe,I,Ce,y,de,fe,k,x,Te,he,Se]),Yi({...j,delta:b,draggingRect:Ce,pointerCoordinates:ve,scrollableAncestors:he,scrollableAncestorRects:ge});let L=(0,g.useMemo)(()=>({active:w,activeNode:oe,activeNodeRect:M,activatorEvent:E,collisions:I,containerNodeRect:le,dragOverlay:P,draggableNodes:y,droppableContainers:x,droppableRects:k,over:Te,measureDroppableContainers:A,scrollableAncestors:he,scrollableAncestorRects:ge,measuringConfiguration:ie,measuringScheduled:ae,windowRect:me}),[w,oe,M,E,I,le,P,y,x,k,Te,A,he,ge,ie,ae,me]),je=(0,g.useMemo)(()=>({activatorEvent:E,activators:Ae,active:w,activeNodeRect:M,ariaDescribedById:{draggable:ne},dispatch:d,draggableNodes:y,over:Te,measureDroppableContainers:A}),[E,Ae,w,M,d,ne,y,Te,A]);return g.createElement(Pr.Provider,{value:p},g.createElement(Da.Provider,{value:je},g.createElement(Oa.Provider,{value:L},g.createElement(Fa.Provider,{value:De},i)),g.createElement(ja,{disabled:n?.restoreFocus===!1})),g.createElement(zr,{...n,hiddenTextDescribedById:ne}));function Me(){let e=ee?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=_&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),Ra=(0,g.createContext)(null),za=`button`,Ba=`Draggable`;function Va(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=yr(Ba),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,g.useContext)(Da),{role:p=za,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},_=c?.id===t,v=(0,g.useContext)(_?Fa:Ra),[y,b]=gr(),[x,S]=gr(),C=ga(o,t),w=mr(n);return dr(()=>(d.set(t,{id:t,key:a,node:y,activatorNode:x,data:w}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,g.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":_&&p===za?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,_,m,u.draggable]),isDragging:_,listeners:r?void 0:C,node:y,over:f,setNodeRef:b,setActivatorNodeRef:S,transform:v}}function Ha(){return(0,g.useContext)(Oa)}var Ua=`Droppable`,Wa={timeout:25};function Ga(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=yr(Ua),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,g.useContext)(Da),u=(0,g.useRef)({disabled:n}),d=(0,g.useRef)(!1),f=(0,g.useRef)(null),p=(0,g.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:_}={...Wa,...i},v=mr(h??r),y=sa({callback:(0,g.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(v.current)?v.current:[v.current]),p.current=null},_)},[_]),disabled:m||!o}),[b,x]=gr((0,g.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),d.current=!1),e&&y.observe(e))},[y])),S=mr(t);return(0,g.useEffect)(()=>{!y||!b.current||(y.disconnect(),d.current=!1,y.observe(b.current))},[b,y]),(0,g.useEffect)(()=>(s({type:Br.RegisterDroppable,element:{id:r,key:a,disabled:n,node:b,rect:f,data:S}}),()=>s({type:Br.UnregisterDroppable,key:a,id:r})),[r]),(0,g.useEffect)(()=>{n!==u.current.disabled&&(s({type:Br.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:b,over:c,setNodeRef:x}}function Ka(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function qa(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Ja(e){return e!==null&&e>=0}function Ya(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Xa(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Za=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Ka(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Qa=`Sortable`,$a=g.createContext({activeIndex:-1,containerId:Qa,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Za,disabled:{draggable:!1,droppable:!1}});function eo(e){let{children:t,id:n,items:r,strategy:i=Za,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=Ha(),d=yr(Qa,n),f=s.rect!==null,p=(0,g.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,_=l?p.indexOf(l.id):-1,v=(0,g.useRef)(p),y=!Ya(p,v.current),b=_!==-1&&h===-1||y,x=Xa(a);dr(()=>{y&&m&&u(p)},[y,p,m,u]),(0,g.useEffect)(()=>{v.current=p},[p]);let S=(0,g.useMemo)(()=>({activeIndex:h,containerId:d,disabled:x,disableTransforms:b,items:p,overIndex:_,useDragOverlay:f,sortedRects:qa(p,c),strategy:i}),[h,d,x.draggable,x.droppable,b,p,_,c,f,i]);return g.createElement($a.Provider,{value:S},t)}var to=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Ka(n,r,i).indexOf(t)},no=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},ro={duration:200,easing:`ease`},io=`transform`,ao=Dr.Transition.toString({property:io,duration:0,easing:`linear`}),oo={roleDescription:`sortable`};function so(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,g.useState)(null),s=(0,g.useRef)(n);return dr(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=si(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,g.useEffect)(()=>{a&&o(null)},[a]),a}function co(e){let{animateLayoutChanges:t=no,attributes:n,disabled:r,data:i,getNewIndex:a=to,id:o,strategy:s,resizeObserverConfig:c,transition:l=ro}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:_,useDragOverlay:v,strategy:y}=(0,g.useContext)($a),b=lo(r,p),x=u.indexOf(o),S=(0,g.useMemo)(()=>({sortable:{containerId:d,index:x,items:u},...i}),[d,i,x,u]),C=(0,g.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:w,node:T,isOver:ee,setNodeRef:te}=Ga({id:o,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...c}}),{active:E,activatorEvent:D,activeNodeRect:O,attributes:ne,setNodeRef:re,listeners:ie,isDragging:k,over:A,setActivatorNodeRef:ae,transform:oe}=Va({id:o,data:S,attributes:{...oo,...n},disabled:b.draggable}),se=nr(te,re),j=!!E,ce=j&&!m&&Ja(f)&&Ja(_),M=!v&&k,le=ce?(M&&ce?oe:null)??(s??y)({rects:h,activeNodeRect:O,activeIndex:f,overIndex:_,index:x}):null,N=Ja(f)&&Ja(_)?a({id:o,items:u,activeIndex:f,overIndex:_}):x,ue=E?.id,P=(0,g.useRef)({activeId:ue,items:u,newIndex:N,containerId:d}),de=u!==P.current.items,fe=t({active:E,containerId:d,isDragging:k,isSorting:j,id:o,index:x,items:u,newIndex:P.current.newIndex,previousItems:P.current.items,previousContainerId:P.current.containerId,transition:l,wasDragging:P.current.activeId!=null}),pe=so({disabled:!fe,index:x,node:T,rect:w});return(0,g.useEffect)(()=>{j&&P.current.newIndex!==N&&(P.current.newIndex=N),d!==P.current.containerId&&(P.current.containerId=d),u!==P.current.items&&(P.current.items=u)},[j,N,d,u]),(0,g.useEffect)(()=>{if(ue===P.current.activeId)return;if(ue!=null&&P.current.activeId==null){P.current.activeId=ue;return}let e=setTimeout(()=>{P.current.activeId=ue},50);return()=>clearTimeout(e)},[ue]),{active:E,activeIndex:f,attributes:ne,data:S,rect:w,index:x,newIndex:N,items:u,isOver:ee,isSorting:j,isDragging:k,listeners:ie,node:T,overIndex:_,over:A,setNodeRef:se,setActivatorNodeRef:ae,setDroppableNodeRef:te,setDraggableNodeRef:re,transform:pe??le,transition:F()};function F(){if(pe||de&&P.current.newIndex===x)return ao;if(!(M&&!wr(D)||!l)&&(j||fe))return Dr.Transition.toString({...l,property:io})}}function lo(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function uo(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var fo=[K.Down,K.Right,K.Up,K.Left],po=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(fo.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case K.Down:r.top<a.top&&t.push(n);break;case K.Up:r.top>a.top&&t.push(n);break;case K.Left:r.left>a.left&&t.push(n);break;case K.Right:r.left<a.left&&t.push(n);break}});let c=Qr({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=Yr(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=fi(c).some((e,t)=>s[t]!==e),i=mo(e,t),a=X(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Sr(u,l)}}}};function mo(e,t){return!uo(e)||!uo(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function X(e,t){return!uo(e)||!uo(t)||!mo(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var ho=!1;function go(){return ho}function _o(){ho=!0,setTimeout(()=>{ho=!1},0)}var vo=`(prefers-reduced-motion: reduce)`;function yo(){return(0,g.useSyncExternalStore)(e=>{if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(vo);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(vo).matches,()=>!1)}function bo({id:e,index:t}){let n=zn[e],r=(0,g.useSyncExternalStore)(z,()=>R().openModal!=null),i=yo(),{listeners:a,setNodeRef:o,transform:s,transition:c,isDragging:l}=co({id:e,disabled:r});if(!n)return null;let{Component:u,label:d}=n;return(0,V.jsxs)(`div`,{ref:o,style:{transform:Dr.Transform.toString(s),transition:i?void 0:c},className:`panel-host${l?` is-dragging`:``}`,"data-panel-host":e,"data-panel-index":t,"aria-label":`Reorder ${d}`,onKeyDown:e=>{if(!e.shiftKey)return;let n=e.target;if(typeof n.matches==`function`&&n.matches(`input, textarea, select, [contenteditable="true"]`))return;let r=0;e.key===`ArrowDown`||e.key===`ArrowRight`?r=1:(e.key===`ArrowUp`||e.key===`ArrowLeft`)&&(r=-1),r!==0&&(typeof e.preventDefault==`function`&&e.preventDefault(),B({type:`SWAP_PANELS`,index:t,direction:r}))},onClickCapture:e=>{go()&&e.stopPropagation()},...a,children:[(0,V.jsx)(`span`,{className:`panel-grip-hint`,"aria-hidden":`true`,children:`hold to rearrange`}),(0,V.jsx)(u,{})]})}var Z=250,xo=5;function So(){_o()}function Co(e,t){if(_o(),!t||e===t)return;let n=R().prefs.panelOrder,r=n.indexOf(e),i=n.indexOf(t);r<0||i<0||r===i||B({type:`REORDER_PANELS`,from:r,to:i})}function wo(){_o()}function To({items:e,children:t}){return(0,V.jsx)(La,{sensors:Ur(Hr(J,{activationConstraint:{delay:Z,tolerance:xo}})),onDragStart:()=>So(),onDragEnd:e=>{let t=e.active.id;Co(t,e.over?e.over.id:null)},onDragCancel:()=>wo(),children:(0,V.jsx)(eo,{items:(0,g.useMemo)(()=>e.slice(),[e]),strategy:Za,children:t})})}function Eo(){let[e,t]=(0,g.useState)(null),[n,r]=(0,g.useState)(!1),[i,a]=(0,g.useState)(null);return{report:e,loading:n,error:i,refresh:(0,g.useCallback)(async()=>{r(!0),a(null);try{let e=await fetch(`/api/doctor`);if(!e.ok)throw Error(`HTTP ${e.status}`);t(await e.json())}catch(e){a(e instanceof Error?e.message:String(e))}finally{r(!1)}},[])}}var Do={ok:`✓`,warn:`⚠`,fail:`✗`};function Oo(){let e=(0,g.useSyncExternalStore)(z,()=>R().doctorModalOpen),{report:t,loading:n,error:r,refresh:i}=Eo(),a=()=>{B({type:`CLOSE_DOCTOR_MODAL`})};return W((0,g.useMemo)(()=>[{key:`Escape`,scope:`modal`,action:a,when:()=>R().doctorModalOpen}],[])),(0,g.useEffect)(()=>{e&&i()},[e,i]),e?(0,V.jsxs)(`div`,{className:`update-modal-root`,onClick:a,children:[(0,V.jsx)(`div`,{className:`modal-backdrop`}),(0,V.jsxs)(`div`,{className:`modal-card doctor-modal-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`doctor-modal-title`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`header`,{className:`modal-header`,children:[(0,V.jsx)(`h2`,{id:`doctor-modal-title`,children:`Doctor`}),(0,V.jsxs)(`div`,{className:`doctor-modal__header-actions`,children:[(0,V.jsx)(`button`,{type:`button`,className:`doctor-modal__refresh`,onClick:()=>{i()},disabled:n,"aria-label":`Refresh doctor report`,children:n?`refreshing…`:`↻ refresh`}),(0,V.jsx)(`button`,{type:`button`,className:`modal-close`,"aria-label":`Close`,onClick:a,children:`×`})]})]}),(0,V.jsxs)(`div`,{className:`modal-body`,children:[n&&!t&&(0,V.jsx)(`p`,{children:`Loading…`}),r&&(0,V.jsxs)(`p`,{className:`doctor-modal__error`,children:[`Error loading report: `,r]}),t&&(0,V.jsx)(ko,{report:t})]})]})]}):null}function ko({report:e}){let{counts:t}=e.overall;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`p`,{className:`doctor-modal__summary`,children:[t.ok,` OK · `,t.warn,` WARN · `,t.fail,` FAIL`]}),e.categories.map(e=>(0,V.jsx)(Ao,{cat:e,defaultOpen:e.severity!==`ok`},e.id))]})}function Ao({cat:e,defaultOpen:t}){let[n,r]=(0,g.useState)(t);return(0,V.jsxs)(`section`,{className:`doctor-modal__category doctor-modal__category--${e.severity}`,children:[(0,V.jsxs)(`button`,{type:`button`,className:`doctor-modal__category-header`,onClick:()=>r(e=>!e),"aria-expanded":n,children:[(0,V.jsx)(`span`,{className:`doctor-modal__glyph`,"aria-hidden":`true`,children:Do[e.severity]}),(0,V.jsx)(`span`,{children:e.title})]}),n&&e.checks.map(e=>(0,V.jsx)(jo,{c:e},e.id))]})}function jo({c:e}){let[t,n]=(0,g.useState)(!1),r=e.details&&Object.keys(e.details).length>0;return(0,V.jsxs)(`div`,{className:`doctor-modal__check doctor-modal__check--${e.severity}`,children:[(0,V.jsxs)(`p`,{children:[(0,V.jsx)(`span`,{className:`doctor-modal__glyph`,"aria-label":e.severity,children:Do[e.severity]}),` `,(0,V.jsx)(`strong`,{children:e.title}),`: `,e.summary]}),e.remediation&&(0,V.jsxs)(`p`,{className:`doctor-modal__remediation`,children:[`→ `,e.remediation]}),r&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`button`,{type:`button`,className:`doctor-modal__details-toggle`,onClick:()=>n(e=>!e),"aria-expanded":t,children:[t?`▼`:`▶`,` details`]}),t&&(0,V.jsx)(`pre`,{className:`doctor-modal__details`,children:JSON.stringify(e.details,null,2)})]})]})}var Mo={brew:`Homebrew`,npm:`npm`,unknown:`unknown`};function No(){let e=(0,g.useSyncExternalStore)(z,()=>R().update).state;if(!e)return null;let t=e.method,n=Mo[t]??t,r=e.update_command??``,i=t===`unknown`||!r;return(0,V.jsxs)(`div`,{className:`update-modal-body`,children:[(0,V.jsxs)(`div`,{className:`update-kv`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Current`}),(0,V.jsx)(`span`,{className:`v`,children:e.current_version??`—`}),(0,V.jsx)(`span`,{className:`k`,children:`Latest`}),(0,V.jsx)(`span`,{className:`v`,children:e.latest_version??`—`}),(0,V.jsx)(`span`,{className:`k`,children:`Method`}),(0,V.jsxs)(`span`,{className:`v`,children:[n,(0,V.jsx)(`span`,{className:`muted`,children:` (auto-detected)`})]})]}),i?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`update-row-label`,children:`Update manually`}),(0,V.jsxs)(`p`,{className:`update-manual-note`,children:[`Couldn't auto-detect this install's package manager. See `,(0,V.jsx)(`a`,{href:`https://github.com/omrikais/cctally#updating`,target:`_blank`,rel:`noopener noreferrer`,children:`Updating`}),` for the manual recipe.`]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`update-row-label`,children:`Will run`}),(0,V.jsx)(`code`,{className:`update-cmd`,children:r})]}),e.release_notes_url?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`update-row-label`,children:`Release notes`}),(0,V.jsx)(`div`,{className:`update-link`,children:(0,V.jsxs)(`a`,{href:e.release_notes_url,target:`_blank`,rel:`noopener noreferrer`,children:[`↗ `,e.release_notes_url.replace(/^https?:\/\//,``)]})})]}):null,e.prerelease_note?(0,V.jsx)(`div`,{className:`update-prerelease-note`,role:`note`,"aria-label":`Prerelease note`,children:e.prerelease_note}):null,(0,V.jsxs)(`div`,{className:`update-actions`,children:[(0,V.jsx)(`button`,{type:`button`,className:`update-btn update-btn-primary`,disabled:i,onClick:()=>rt.start(),children:`Update now`}),(0,V.jsx)(`button`,{type:`button`,className:`update-btn`,disabled:!e.latest_version,onClick:()=>rt.skip(e.latest_version),children:`Skip this version`}),(0,V.jsx)(`button`,{type:`button`,className:`update-btn`,onClick:()=>rt.remind(7),children:`Remind in 7 days`})]})]})}function Po({events:e,maxLines:t=500}){let n=(0,g.useRef)(null),r=(0,g.useRef)(!0),i=e.filter(e=>e.type===`stdout`||e.type===`stderr`||e.type===`step`||e.type===`exit`),a=i.slice(-t),o=i.length-a.length;(0,g.useEffect)(()=>{let e=n.current;e&&r.current&&(e.scrollTop=e.scrollHeight)},[e.length]);function s(e){let t=e.currentTarget;r.current=t.scrollHeight-t.scrollTop-t.clientHeight<8}return a.length===0?(0,V.jsx)(`pre`,{className:`update-stream`,ref:n,onScroll:s,"aria-live":`polite`,"aria-label":`Update output`,children:(0,V.jsx)(`span`,{className:`update-stream-empty`,children:`Waiting for output…`})}):(0,V.jsxs)(`pre`,{className:`update-stream`,ref:n,onScroll:s,"aria-live":`polite`,"aria-label":`Update output`,children:[o>0?(0,V.jsxs)(`span`,{className:`update-stream-trunc`,children:[`(… `,o,` earlier line`,o===1?``:`s`,` truncated)`,`
|
|
13
|
+
`]}):null,a.map((e,t)=>e.type===`step`?(0,V.jsxs)(`span`,{className:`update-stream-step`,children:[`==> `,e.name??e.step??e.data??``,`
|
|
14
|
+
`]},t):e.type===`stderr`?(0,V.jsxs)(`span`,{className:`update-stream-line err`,children:[e.data??``,`
|
|
15
|
+
`]},t):e.type===`exit`?(0,V.jsxs)(`span`,{className:`update-stream-exit`,children:[`(exited rc=${e.rc??`?`})`,`
|
|
16
|
+
`]},t):(0,V.jsxs)(`span`,{className:`update-stream-line`,children:[e.data??``,`
|
|
17
|
+
`]},t))]})}var Fo=3e3,Io=1e3;function Lo(e){if(e==null)return`0s`;let t=Math.max(0,Math.round((Date.now()-e)/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Ro(){let e=(0,g.useSyncExternalStore)(z,()=>R().update),t=e.runId,n=e.startedAt,r=e.state?.update_command??``,i=e.state?.latest_version??``,[,a]=(0,g.useState)(0);(0,g.useEffect)(()=>{let e=window.setInterval(()=>a(e=>e+1),1e3);return()=>window.clearInterval(e)},[]);let o=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!t)return;let e=null,n=null,r=null,i=!1;o.current=!0;function a(){r!=null&&(window.clearTimeout(r),r=null),o.current=!1}function s(t,n){a();let r={};try{t instanceof MessageEvent&&typeof t.data==`string`&&(r=JSON.parse(t.data))}catch{}if(B({type:`APPEND_UPDATE_STREAM`,event:{type:n,data:typeof r.data==`string`?r.data:void 0,name:typeof r.name==`string`?r.name:void 0,rc:typeof r.rc==`number`?r.rc:void 0,step:typeof r.step==`string`?r.step:void 0,message:typeof r.message==`string`?r.message:void 0,ts:typeof r.ts==`number`?r.ts:void 0}}),n===`exit`){let e=typeof r.rc==`number`?r.rc:-1;e!==0&&B({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`subprocess exited with rc=${e}`})}else n===`execvp`?B({type:`SET_UPDATE_STATUS`,status:`success`}):n===`error_event`?B({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof r.message==`string`?r.message:`update worker error`}):n===`done`&&(e&&=(e.close(),null))}function c(){n??=window.setInterval(async()=>{if(!i)try{let e=await fetch(`/api/update/status`);if(!e.ok)return;let t=await e.json(),r=t?.current_run_id??null,i=t?.state??{};if(r===null){let e=i?.current_version,t=i?.latest_version,r=R().update;typeof e==`string`&&typeof t==`string`&&e===t?B({type:`SET_UPDATE_STATUS`,status:`success`}):r.status===`running`&&B({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`update worker exited (stream unavailable)`}),r.stream.length===0&&B({type:`APPEND_UPDATE_STREAM`,event:{type:`stdout`,data:`(SSE stream unavailable; install completed in background — see ~/.local/share/cctally/update.log for full output)`}}),n!=null&&(window.clearInterval(n),n=null)}}catch{}},Io)}r=window.setTimeout(()=>{i||o.current&&(o.current=!1,e&&=(e.close(),null),c())},Fo);try{e=new EventSource(`/api/update/stream/${encodeURIComponent(t)}`),e.addEventListener(`message`,e=>s(e,`stdout`)),[`stdout`,`stderr`,`step`,`exit`,`execvp`,`error_event`,`done`,`heartbeat`].forEach(t=>{e.addEventListener(t,e=>s(e,t))}),e.onerror=()=>{o.current&&(a(),e&&=(e.close(),null),c())}}catch{a(),c()}return()=>{i=!0,r!=null&&(window.clearTimeout(r),r=null),n!=null&&(window.clearInterval(n),n=null),e&&=(e.close(),null),o.current=!1,$e()}},[t]),(0,V.jsxs)(`div`,{className:`update-modal-body`,children:[(0,V.jsxs)(`div`,{className:`update-running-row`,children:[(0,V.jsx)(`span`,{className:`update-spinner`,"aria-hidden":`true`,children:`⟳`}),(0,V.jsx)(`code`,{className:`update-cmd update-cmd-inline`,children:r||`updating cctally`}),(0,V.jsxs)(`span`,{className:`update-elapsed`,children:[Lo(n),` elapsed`]})]}),(0,V.jsx)(Po,{events:e.stream}),(0,V.jsxs)(`p`,{className:`update-stream-cap`,children:[`Output streams over SSE · press Esc to hide (install continues to `,i||`latest`,`)`]})]})}var zo=1500;function Bo(e){if(e==null)return`—`;let t=Math.max(0,Math.round((Date.now()-e)/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Vo(){let e=(0,g.useSyncExternalStore)(z,()=>R().update),t=e.startedAt,n=e.state?.update_command??``,r=e.state?.latest_version??``;return(0,g.useEffect)(()=>{let e=window.setInterval(()=>{$e()},zo);return()=>window.clearInterval(e)},[]),(0,V.jsxs)(`div`,{className:`update-modal-body`,children:[(0,V.jsxs)(`div`,{className:`update-running-row update-running-row-success`,children:[(0,V.jsx)(`span`,{className:`update-check`,"aria-hidden":`true`,children:`✓`}),(0,V.jsx)(`code`,{className:`update-cmd update-cmd-inline`,children:n||`cctally`}),(0,V.jsxs)(`span`,{className:`update-elapsed`,children:[`finished in `,Bo(t)]})]}),(0,V.jsxs)(`div`,{className:`update-row-label`,children:[`Restarting dashboard on the new code`,r?` (${r})`:``,`…`]}),(0,V.jsxs)(`div`,{className:`update-running-row`,children:[(0,V.jsx)(`span`,{className:`update-spinner`,"aria-hidden":`true`,children:`⟳`}),(0,V.jsx)(`span`,{className:`update-success-reconnect`,children:`reconnecting (this page will refresh in a moment)`})]})]})}var Ho=12;function Uo(e,t){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`exit`&&typeof n.rc==`number`)return`exited rc=${n.rc}`;if(n.type===`error_event`)return n.message??`worker error`}return t??`unknown failure`}function Wo(){let e=(0,g.useSyncExternalStore)(z,()=>R().update),[t,n]=(0,g.useState)(`idle`),r=e.state?.update_command??``,i=e.stream.filter(e=>e.type===`stderr`&&e.data).map(e=>e.data).slice(-Ho),a=Uo(e.stream,e.errorMessage);function o(){B({type:`RESET_UPDATE_RUN`}),et()}async function s(){if(r)try{await navigator.clipboard.writeText(r),n(`ok`),window.setTimeout(()=>n(`idle`),1500)}catch{n(`err`),window.setTimeout(()=>n(`idle`),1500)}}return(0,V.jsxs)(`div`,{className:`update-modal-body`,children:[(0,V.jsxs)(`div`,{className:`update-running-row update-running-row-failed`,children:[(0,V.jsx)(`span`,{className:`update-x`,"aria-hidden":`true`,children:`✗`}),(0,V.jsx)(`code`,{className:`update-cmd update-cmd-inline`,children:r||`cctally update`}),(0,V.jsx)(`span`,{className:`update-elapsed`,children:a})]}),i.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`update-row-label`,children:[`stderr (last `,i.length,` line`,i.length===1?``:`s`,`)`]}),(0,V.jsx)(`pre`,{className:`update-stream update-stream-fail`,children:i.map((e,t)=>(0,V.jsxs)(`span`,{className:`update-stream-line err`,children:[e,`
|
|
18
|
+
`]},t))})]}):(0,V.jsx)(`p`,{className:`update-manual-note`,children:e.errorMessage??`See ~/.local/share/cctally/update.log for the full failure log.`}),(0,V.jsxs)(`p`,{className:`update-stream-cap`,children:[`Full log: `,(0,V.jsx)(`code`,{children:`~/.local/share/cctally/update.log`})]}),(0,V.jsxs)(`div`,{className:`update-actions`,children:[(0,V.jsx)(`button`,{type:`button`,className:`update-btn update-btn-primary`,onClick:o,children:`Retry`}),(0,V.jsx)(`button`,{type:`button`,className:`update-btn`,onClick:s,disabled:!r,children:t===`ok`?`Copied!`:t===`err`?`Copy failed`:`Copy command`}),(0,V.jsx)(`button`,{type:`button`,className:`update-btn`,onClick:()=>rt.close(),children:`Close`})]})]})}var Go={idle:`Update available`,running:`Updating cctally`,success:`Update complete`,failed:`Update failed`},Ko={idle:`accent-amber`,running:`accent-amber`,success:`accent-green`,failed:`accent-red`};function qo(){let e=(0,g.useSyncExternalStore)(z,()=>R().update),t=()=>B({type:`CLOSE_UPDATE_MODAL`});if(W((0,g.useMemo)(()=>[{key:`Escape`,scope:`modal`,action:t,when:()=>R().update.modalOpen}],[])),!e.modalOpen||!e.state)return null;let n=e.status,r=Ko[n]??`accent-amber`,i=Go[n]??`Update`;n===`running`&&e.state.latest_version?i=`Updating cctally → ${e.state.latest_version}`:n===`success`&&e.state.latest_version&&(i=`Update complete → ${e.state.latest_version}`);let a;switch(n){case`running`:a=(0,V.jsx)(Ro,{});break;case`success`:a=(0,V.jsx)(Vo,{});break;case`failed`:a=(0,V.jsx)(Wo,{});break;default:a=(0,V.jsx)(No,{});break}return(0,V.jsxs)(`div`,{id:`update-modal-root`,className:`update-modal-root`,children:[(0,V.jsx)(`div`,{className:`modal-backdrop`,onClick:t}),(0,V.jsxs)(`div`,{className:`modal-card update-modal-card ${r}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`update-modal-title`,children:[(0,V.jsx)(`div`,{className:`modal-handle`,"aria-hidden":`true`}),(0,V.jsxs)(`header`,{className:`modal-header`,children:[(0,V.jsx)(`h2`,{id:`update-modal-title`,children:i}),(0,V.jsx)(`button`,{className:`modal-close`,"aria-label":`Close`,onClick:t,children:`×`})]}),(0,V.jsx)(`div`,{className:`modal-body`,children:a})]})]})}function Jo({title:e,accentClass:t,children:n,headerExtras:r}){let i=()=>B({type:`CLOSE_MODAL`});return W((0,g.useMemo)(()=>[{key:`Escape`,scope:`modal`,action:i}],[])),(0,V.jsxs)(`div`,{id:`modal-root`,children:[(0,V.jsx)(`div`,{className:`modal-backdrop`,onClick:i}),(0,V.jsxs)(`div`,{className:`modal-card ${t}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`modal-title`,children:[(0,V.jsx)(`div`,{className:`modal-handle`,"aria-hidden":`true`}),(0,V.jsxs)(`header`,{className:`modal-header`,children:[(0,V.jsx)(`h2`,{id:`modal-title`,children:e}),r,(0,V.jsx)(`button`,{className:`modal-close`,"aria-label":`Close`,onClick:i,children:`×`})]}),(0,V.jsx)(`div`,{id:`modal-body`,className:`modal-body`,children:n})]})]})}function Yo(e){return e==null||!isFinite(e)?0:Math.max(0,Math.min(100,e))}function Xo(e,t,n){let r=D.dateShort(t,n);return e&&r?`${e} → ${r}`:e||(r?`→ ${r}`:`—`)}function Zo(e){if(e==null||!isFinite(e))return[`—`,``];let t=(+e).toFixed(1),n=t.indexOf(`.`);return n===-1?[t,`.0%`]:[t.slice(0,n),t.slice(n)+`%`]}function Qo(e){let t=[],n=[...e].sort((e,t)=>(e.percent??0)-(t.percent??0));for(let e of n)e.percent!=null&&(t.length&&e.percent-(t[t.length-1].percent??0)<3||t.push(e));return t}function $o(e){if(!Array.isArray(e)||e.length<2)return null;let t=e.map(e=>e.marginal_usd).filter(e=>e!=null&&isFinite(e)),n=t.length?t.reduce((e,t)=>e+t,0)/t.length:null,r=e[e.length-1].percent,i=[];return n!=null&&i.push(`avg marginal $`+n.toFixed(2)),r!=null&&i.push(`latest at `+r+`%`),i.length?i.join(` · `):null}function es(e,t){let n=[];for(let t of e)n.push({kind:`milestone`,ts:t.captured_at_utc,data:t});for(let e of t)n.push({kind:`credit`,ts:e.effective_reset_at_utc,data:e});return n.sort((e,t)=>e.ts.localeCompare(t.ts)),n}function ts(){let e=H(),t=zt(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=e?.current_week??null,i=e?.header??null,a=Array.isArray(r?.milestones)?r.milestones:[],o=Array.isArray(r?.five_hour_milestones)?r.five_hour_milestones:[],s=es(o,Array.isArray(r?.five_hour_block?.credits)?r.five_hour_block.credits:[]),c=Yo(r?.used_pct),[l,u]=Zo(r?.used_pct),d=r?Xo(i?.week_label,r.reset_at_utc,n):`—`,f=Qo(a),p=$o(a);return(0,V.jsx)(Jo,{title:`Current Week — per-percent milestones`,accentClass:`accent-green`,headerExtras:(0,V.jsx)(Ht,{panel:`current-week`,panelLabel:`Current week`,triggerId:`current-week-modal`,onClick:()=>B(F(`current-week`,`current-week-modal`))}),children:(0,V.jsxs)(`section`,{className:`modal-current-week`,children:[(0,V.jsx)(`div`,{className:`m-chipstrip`,id:`mcw-badges`,children:(0,V.jsx)(`span`,{className:`m-pill accent-green`,id:`mcw-week-pill`,children:d})}),(0,V.jsxs)(`div`,{className:`mcw-herobar`,children:[(0,V.jsxs)(`div`,{className:`mcw-bignum`,id:`mcw-bignum`,children:[(0,V.jsx)(`span`,{className:`int`,children:l}),(0,V.jsx)(`span`,{className:`unit`,children:u})]}),(0,V.jsxs)(`div`,{className:`mcw-pbar-wrap`,children:[(0,V.jsxs)(`div`,{className:`mcw-pbar`,children:[(0,V.jsx)(`div`,{className:`fill`,id:`mcw-fill`,style:{width:c+`%`}}),(0,V.jsx)(`div`,{className:`ticks`,id:`mcw-ticks`,children:f.map(e=>(0,V.jsx)(`div`,{className:`tick`,"data-p":String(e.percent),style:{left:Yo(e.percent)+`%`}},e.percent))}),(0,V.jsx)(`div`,{className:`marker`,id:`mcw-marker`,style:{left:c+`%`}})]}),(0,V.jsxs)(`div`,{className:`mcw-pscale`,children:[(0,V.jsx)(`span`,{children:`0%`}),(0,V.jsx)(`span`,{children:`25%`}),(0,V.jsx)(`span`,{children:`50%`}),(0,V.jsx)(`span`,{children:`75%`}),(0,V.jsx)(`span`,{children:`100%`})]})]}),(0,V.jsxs)(`div`,{className:`mcw-mini`,id:`mcw-mini`,children:[(0,V.jsxs)(`div`,{className:`s`,children:[(0,V.jsx)(`span`,{className:`k`,children:`spent`}),(0,V.jsx)(`span`,{className:`v v-magenta`,id:`mcw-spent`,children:D.usd2(r?.spent_usd)})]}),(0,V.jsxs)(`div`,{className:`s`,children:[(0,V.jsx)(`span`,{className:`k`,children:`$ / 1%`}),(0,V.jsx)(`span`,{className:`v v-cyan`,id:`mcw-dpp`,children:D.usd3(r?.dollar_per_pct)})]}),(0,V.jsxs)(`div`,{className:`s`,children:[(0,V.jsx)(`span`,{className:`k`,children:`reset`}),(0,V.jsx)(`span`,{className:`v`,id:`mcw-reset`,children:D.datetimeShortZ(r?.reset_at_utc,n)})]})]})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-ms`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Milestones`]}),(0,V.jsxs)(`div`,{className:`mcw-mshead`,children:[(0,V.jsxs)(`span`,{className:`m-pill accent-purple`,id:`mcw-ms-count`,children:[a.length,` crossed`]}),(0,V.jsx)(`span`,{className:`mcw-ms-sub`,id:`mcw-ms-sub`,hidden:!p,children:p??``})]}),a.length===0?(0,V.jsx)(`p`,{className:`empty-state`,id:`mcw-empty`,children:`No milestones yet — earliest crosses at 1\xA0%.`}):(0,V.jsxs)(`table`,{className:`m-histable`,id:`mcw-table`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{children:`%`}),(0,V.jsxs)(`th`,{children:[`Crossed (`,t.offsetLabel,`)`]}),(0,V.jsx)(`th`,{className:`num`,children:`Cumulative $`}),(0,V.jsx)(`th`,{className:`num`,children:`Marginal $`}),(0,V.jsx)(`th`,{className:`num`,children:`5h %`})]})}),(0,V.jsx)(`tbody`,{id:`mcw-rows`,children:a.map(e=>(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`span`,{className:`m-pill accent-purple pct-cell`,children:e.percent??`—`})}),(0,V.jsx)(`td`,{className:`d`,children:D.startedShort(e.crossed_at_utc,n,{noSuffix:!0})}),(0,V.jsx)(`td`,{className:`num`,children:e.cumulative_usd==null?`—`:`$`+e.cumulative_usd.toFixed(2)}),(0,V.jsx)(`td`,{className:`num`,children:(0,V.jsx)(`span`,{className:`m-marginal`,children:e.marginal_usd==null?`—`:`$`+e.marginal_usd.toFixed(2)})}),(0,V.jsx)(`td`,{className:`num`,children:(0,V.jsx)(`span`,{className:`m-fh`,children:e.five_hour_pct_at_cross==null?`—`:Math.round(e.five_hour_pct_at_cross)+`%`})})]},e.percent))})]}),s.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`h3`,{className:`m-sec sec-ms sec-5h`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#activity`})}),`5h milestones`]}),(0,V.jsx)(`div`,{className:`mcw-mshead`,children:(0,V.jsxs)(`span`,{className:`m-pill accent-purple`,id:`mcw-5h-count`,children:[o.length,` crossed`]})}),(0,V.jsxs)(`table`,{className:`m-histable mcw-5h-table`,id:`mcw-5h-table`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{children:`%`}),(0,V.jsxs)(`th`,{children:[`When (`,t.offsetLabel,`)`]}),(0,V.jsx)(`th`,{className:`num`,children:`Block $`}),(0,V.jsx)(`th`,{className:`num`,children:`Marginal $`}),(0,V.jsx)(`th`,{className:`num`,children:`7d %`})]})}),(0,V.jsx)(`tbody`,{children:s.map((e,t)=>{if(e.kind===`credit`)return(0,V.jsx)(`tr`,{className:`mcw-5h-credit-row`,children:(0,V.jsxs)(`td`,{colSpan:5,className:`mcw-5h-credit-cell`,children:[`⚡ CREDIT\xA0`,` `,e.data.delta_pp>0?`+`:``,e.data.delta_pp.toFixed(0),`pp\xA0@`,` `,D.startedShort(e.ts,n,{noSuffix:!0})]})},`credit-${t}-${e.ts}`);let r=e.data;return(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`span`,{className:`m-pill accent-purple pct-cell`,children:r.percent_threshold})}),(0,V.jsx)(`td`,{className:`d`,children:D.startedShort(r.captured_at_utc,n,{noSuffix:!0})}),(0,V.jsx)(`td`,{className:`num`,children:`$`+r.block_cost_usd.toFixed(2)}),(0,V.jsx)(`td`,{className:`num`,children:(0,V.jsx)(`span`,{className:`m-marginal`,children:r.marginal_cost_usd==null?`—`:`$`+r.marginal_cost_usd.toFixed(2)})}),(0,V.jsx)(`td`,{className:`num`,children:(0,V.jsx)(`span`,{className:`m-fh`,children:r.seven_day_pct_at_crossing==null?`—`:Math.round(r.seven_day_pct_at_crossing)+`%`})})]},`fhms-${r.percent_threshold}-${r.reset_event_id}`)})})]})]})]})})}function ns(e){if(!e)return`—`;let t=e.elapsed_hours,n=e.remaining_hours;if(t==null||n==null)return`—`;let r=t+n;if(r<=0)return`—`;let i=t/r*100;return Math.min(100,i).toFixed(1)+`%`}function rs(e){return e==null||!isFinite(e)?null:e<0?0:e>110?110:e}function is(e){return e==null||!isFinite(e)?`—`:e<0?`~`+(+e).toFixed(1)+`%`:(+e).toFixed(1)+`%`}function as(e,t){for(let t of e)t.trueXPct=t.pos/110*100;if(e.length<2||t<=0){for(let t of e)t.resolvedXPct=t.trueXPct;return}let n=e.slice().sort((e,t)=>e.trueXPct-t.trueXPct),r=n[0],i=n[1],a=r.pillWidthPx/2/t*100,o=i.pillWidthPx/2/t*100,s=8/t*100,c=a+o+s,l=2*c;if(i.trueXPct-r.trueXPct<c){let e=(r.trueXPct+i.trueXPct)/2;r.resolvedXPct=e-l/2,i.resolvedXPct=e+l/2;let t=a,n=100-o;r.resolvedXPct<t&&(r.resolvedXPct=t,i.resolvedXPct-r.resolvedXPct<l&&(i.resolvedXPct=Math.min(n,r.resolvedXPct+l))),i.resolvedXPct>n&&(i.resolvedXPct=n,i.resolvedXPct-r.resolvedXPct<l&&(r.resolvedXPct=Math.max(t,i.resolvedXPct-l)))}else r.resolvedXPct=r.trueXPct,i.resolvedXPct=i.trueXPct}function os(e,t,n){(0,g.useEffect)(()=>{let r=e.current,i=t.current;if(!r||!i||!n)return;let a=r.querySelector(`.mfc-pills`),o=r.querySelector(`.mfc-leaders`),s=i.querySelector(`.mfc-rangeband`);if(!a||!o)return;let c=n.week_avg_projection_pct,l=n.recent_24h_projection_pct,u=rs(c),d=rs(l),f=[];u!=null&&c!=null&&f.push({kind:`wa`,pos:u,raw:c}),d!=null&&l!=null&&f.push({kind:`r24`,pos:d,raw:l});let p=new Set(f.map(e=>e.kind));i.querySelectorAll(`.mfc-chev`).forEach(e=>{let t=e.dataset.kind;(!t||!p.has(t))&&e.remove()}),a.querySelectorAll(`.mfc-pill`).forEach(e=>{let t=e.dataset.kind;(!t||!p.has(t))&&e.remove()});let m=f.map(e=>({...e,trueXPct:0,resolvedXPct:0,pillWidthPx:0}));for(let e of m){let t=e.pos/110*100,n=i.querySelector(`.mfc-chev[data-kind="${e.kind}"]`);n||(n=document.createElement(`div`),n.className=`mfc-chev `+e.kind,n.dataset.kind=e.kind,i.appendChild(n)),n.style.left=t+`%`;let r=a.querySelector(`.mfc-pill[data-kind="${e.kind}"]`),o=is(e.raw);r?r.textContent!==o&&(r.textContent=o):(r=document.createElement(`div`),r.className=`mfc-pill `+e.kind,r.dataset.kind=e.kind,r.textContent=o,a.appendChild(r)),e.pillEl=r}if(s){let e=!1;if(m.length===2){let t=m[0].pos/110*100,n=m[1].pos/110*100,r=Math.min(t,n),i=Math.max(t,n)-r;i>=.5&&(s.style.left=r+`%`,s.style.width=i+`%`,e=!0)}s.hidden=!e}let h=()=>{for(let e of m)if(!e.pillEl||!e.pillEl.isConnected)return;let e=r.clientWidth;if(e<=0){requestAnimationFrame(h);return}for(let e of m)e.pillWidthPx=e.pillEl.getBoundingClientRect().width;as(m,e);for(let e of m)e.pillEl.style.left=e.resolvedXPct+`%`;for(;o.firstChild;)o.removeChild(o.firstChild);for(let e of m){let t=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);t.setAttribute(`class`,e.kind),t.setAttribute(`vector-effect`,`non-scaling-stroke`),t.setAttribute(`d`,`M ${e.resolvedXPct} 0 C ${e.resolvedXPct} 10, ${e.trueXPct} 8, ${e.trueXPct} 18`),o.appendChild(t)}};h()},[e,t,n])}function ss(){let e=H()?.forecast??null,t=e?.explain??null,n=(0,g.useRef)(null),r=(0,g.useRef)(null);os(n,r,e);let i=(0,V.jsx)(Ht,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-modal`,onClick:()=>B(F(`forecast`,`forecast-modal`))});if(!e)return(0,V.jsx)(Jo,{title:`Forecast — explain`,accentClass:`accent-purple`,headerExtras:i,children:(0,V.jsx)(`section`,{className:`modal-forecast`,children:(0,V.jsx)(`p`,{className:`empty-state`,id:`mfc-empty`,children:`No forecast data yet.`})})});let a=yt(e.verdict),o=a?`m-pill ${a.accent}`:`m-pill`,s=a?`${a.glyph} ${a.label}`:`—`,c=`m-pill`,l=`—`,u=!0;e.confidence===`high`?(c=`m-pill accent-blue`,l=`high confidence`,u=!1):e.confidence===`low`&&(c=`m-pill accent-red`,l=`low confidence`,u=!1);let d=t?.rates,f=t?.week;return(0,V.jsx)(Jo,{title:`Forecast — explain`,accentClass:`accent-purple`,headerExtras:i,children:(0,V.jsxs)(`section`,{className:`modal-forecast`,children:[(0,V.jsxs)(`div`,{className:`m-chipstrip`,id:`mfc-chips`,children:[(0,V.jsx)(`span`,{className:o,id:`mfc-verdict`,children:s}),(0,V.jsx)(`span`,{className:c,id:`mfc-confidence`,hidden:u,children:l})]}),(0,V.jsxs)(`div`,{className:`m-hero cols-2`,children:[(0,V.jsxs)(`div`,{className:`m-kv kv-wa`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#gauge`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`mfc-wa-pct`,children:D.pct1(e.week_avg_projection_pct)}),(0,V.jsx)(`div`,{className:`lbl`,children:`Week-avg projection`}),(0,V.jsx)(`div`,{className:`sub`,id:`mfc-wa-sub`,children:D.ratePctPerHour(d?.week_average_pct_per_hour)})]})]}),(0,V.jsxs)(`div`,{className:`m-kv kv-r24`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#zap`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`mfc-r24-pct`,children:D.pct1(e.recent_24h_projection_pct)}),(0,V.jsx)(`div`,{className:`lbl`,children:`Recent-24h projection`}),(0,V.jsx)(`div`,{className:`sub`,id:`mfc-r24-sub`,children:D.ratePctPerHour(d?.recent_24h_pct_per_hour)})]})]})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-range`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),`Range vs. caps`]}),(0,V.jsxs)(`div`,{className:`mfc-rangewrap`,id:`mfc-rangewrap`,ref:n,children:[(0,V.jsx)(`div`,{className:`mfc-pills`,id:`mfc-pills`}),(0,V.jsx)(`svg`,{className:`mfc-leaders`,id:`mfc-leaders`,viewBox:`0 0 100 18`,preserveAspectRatio:`none`,"aria-hidden":`true`}),(0,V.jsxs)(`div`,{className:`mfc-rangetrack`,id:`mfc-rangetrack`,ref:r,children:[(0,V.jsx)(`div`,{className:`mfc-zone safe`}),(0,V.jsx)(`div`,{className:`mfc-zone warn`}),(0,V.jsx)(`div`,{className:`mfc-zone over`}),(0,V.jsx)(`div`,{className:`mfc-rangeband`,id:`mfc-rangeband`,hidden:!0}),(0,V.jsx)(`div`,{className:`mfc-bound b90`,children:(0,V.jsx)(`div`,{className:`lbl`,children:`90%`})}),(0,V.jsx)(`div`,{className:`mfc-bound b100`,children:(0,V.jsx)(`div`,{className:`lbl`,children:`100%`})})]})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-rates`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#activity`})}),`Rates`]}),(0,V.jsxs)(`div`,{className:`mfc-kvgrid`,children:[(0,V.jsxs)(`div`,{className:`mfc-krow`,children:[(0,V.jsx)(`span`,{className:`l`,children:`$ / 1%`}),(0,V.jsx)(`span`,{className:`v v-cyan`,id:`mfc-dpp`,children:D.usd3(d?.dollars_per_percent)})]}),(0,V.jsxs)(`div`,{className:`mfc-krow`,children:[(0,V.jsx)(`span`,{className:`l`,children:`week done`}),(0,V.jsx)(`span`,{className:`v v-green`,id:`mfc-wkdone`,children:ns(f)})]}),(0,V.jsxs)(`div`,{className:`mfc-krow`,children:[(0,V.jsx)(`span`,{className:`l`,children:`elapsed`}),(0,V.jsx)(`span`,{className:`v v-green`,id:`mfc-elapsed`,children:D.hours1(f?.elapsed_hours)})]}),(0,V.jsxs)(`div`,{className:`mfc-krow`,children:[(0,V.jsx)(`span`,{className:`l`,children:`remaining`}),(0,V.jsx)(`span`,{className:`v`,id:`mfc-remain`,children:D.hours1(f?.remaining_hours)})]})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-bud`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),`Daily budgets to stay under`]}),(0,V.jsxs)(`div`,{className:`mfc-kvgrid mfc-kvgrid-single`,children:[(0,V.jsxs)(`div`,{className:`mfc-krow`,children:[(0,V.jsx)(`span`,{className:`l`,children:`@ 100% cap`}),(0,V.jsx)(`span`,{className:`v v-magenta`,id:`mfc-bud100`,children:D.usd2PerDay(e.budget_100_per_day_usd)})]}),(0,V.jsxs)(`div`,{className:`mfc-krow`,children:[(0,V.jsx)(`span`,{className:`l`,children:`@ 90% cap`}),(0,V.jsx)(`span`,{className:`v v-amber`,id:`mfc-bud90`,children:D.usd2PerDay(e.budget_90_per_day_usd)})]})]})]})})}function cs(e){let t=Math.max(1,Math.round(e/4));return`${e} week${e===1?``:`s`} · ${t} month${t===1?``:`s`}`}function ls(e){let t=e.findIndex(e=>e&&e.is_current);return t>=0?t:e.length-1}function us(e,t){let n=e.filter((e,n)=>n!==t).map(e=>e.dollar_per_pct).filter(e=>e!=null&&isFinite(e));if(n.length<4)return null;let r=n.slice(-4).sort((e,t)=>e-t);return(r[1]+r[2])/2}function ds(e){if(!e.length)return null;let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2?t[n]:(t[n-1]+t[n])/2}function fs(e,t){let n=[];if(!e.length)return n;let r={left:44,right:14,top:12,bottom:22},i=600-r.left-r.right,a=140-r.top-r.bottom,o=e.length,s=e=>r.left+(o===1?i:e/(o-1)*i),c=e.map(e=>e.dollar_per_pct).filter(e=>e!=null&&isFinite(e)),l=c.length?Math.min(...c)*.96:0,u=c.length?Math.max(...c)*1.04:1;u-l<1e-6&&(l-=.01,u+=.01);let d=e=>r.top+a*(1-(e-l)/(u-l)),f=e.map(e=>e.used_pct).filter(e=>e!=null&&isFinite(e)),p=f.length?Math.min(...f)*.96:0,m=f.length?Math.max(...f)*1.04:100;m-p<1e-6&&(--p,m+=1);let h=e=>r.top+a*(1-(e-p)/(m-p));if(n.push({el:`line`,attrs:{class:`mtr-axis`,x1:r.left,y1:r.top+a,x2:600-r.right,y2:r.top+a},key:`axis`}),c.length){let e=ds(c);e!=null&&(n.push({el:`line`,attrs:{class:`mtr-hl`,x1:r.left,y1:d(e),x2:600-r.right,y2:d(e)},key:`med-line`}),n.push({el:`text`,attrs:{class:`mtr-medlabel`,x:r.left+2,y:d(e)-3},text:`median $`+e.toFixed(2),key:`med-label`}))}{let t=[];e.forEach((e,n)=>{e.used_pct!=null&&isFinite(e.used_pct)&&t.push(`${s(n)},${h(e.used_pct)}`)}),t.length>=2&&n.push({el:`polyline`,attrs:{class:`mtr-trendline-dim`,points:t.join(` `)},key:`poly-used`})}{let t=[];e.forEach((e,n)=>{e.dollar_per_pct!=null&&isFinite(e.dollar_per_pct)&&t.push(`${s(n)},${d(e.dollar_per_pct)}`)}),t.length>=2&&n.push({el:`polyline`,attrs:{class:`mtr-trendline`,points:t.join(` `)},key:`poly-dpp`})}e.forEach((e,r)=>{if(e.dollar_per_pct==null||!isFinite(e.dollar_per_pct))return;let i=r===t;n.push({el:`circle`,attrs:{class:`mtr-trenddot`+(i?` cur`:``),cx:s(r),cy:d(e.dollar_per_pct),r:i?5:3},key:`dot-${r}`})}),c.length&&(n.push({el:`text`,attrs:{class:`mtr-ylabel`,x:3,y:r.top+8},text:`$`+(u/1.04).toFixed(2),key:`ymax`}),n.push({el:`text`,attrs:{class:`mtr-ylabel`,x:3,y:r.top+a},text:`$`+(l/.96).toFixed(2),key:`ymin`}));let g=e[t];return g&&g.dollar_per_pct!=null&&isFinite(g.dollar_per_pct)&&n.push({el:`text`,attrs:{class:`mtr-curlabel`,x:Math.max(r.left+4,s(t)-22),y:Math.min(138,d(g.dollar_per_pct)+16)},text:`$`+g.dollar_per_pct.toFixed(2),key:`curlabel`}),n}function ps(e,t){return t===0?`Now`+(e.label?` · `+e.label:``):`W−`+t+(e.label?` · `+e.label:``)}function ms(e){return e==null||!isFinite(e)?{cls:`flat`,text:`—`}:e>5e-4?{cls:`up`,text:`+`+e.toFixed(2)}:e<-5e-4?{cls:`down`,text:e.toFixed(2)}:{cls:`flat`,text:`0.00`}}function hs(e){return e==null||!isFinite(e)?{cls:`delta-flat`,iconHref:`/static/icons.svg#minus`,text:`—`}:e<-5e-4?{cls:`delta-down`,iconHref:`/static/icons.svg#trending-down`,text:`−$`+Math.abs(e).toFixed(3)}:e>5e-4?{cls:`delta-up`,iconHref:`/static/icons.svg#trending-up`,text:`+$`+e.toFixed(3)}:{cls:`delta-flat`,iconHref:`/static/icons.svg#minus`,text:`$0.000`}}function gs(){let e=H(),t=oe(e),n=(0,V.jsx)(Ht,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-modal`,onClick:()=>B(F(`trend`,`trend-modal`))});if(!t.length)return(0,V.jsx)(Jo,{title:`Trend — 12-week history`,accentClass:`accent-amber`,headerExtras:n,children:(0,V.jsx)(`section`,{className:`modal-trend`,children:(0,V.jsx)(`p`,{className:`empty-state`,id:`mtr-empty`,children:`No history data yet.`})})});let r=ls(t),i=t[r],a=e?.trend?.history_median_dpp,o=a!=null&&isFinite(a)?a:us(t,r),s=hs(i&&i.dollar_per_pct!=null&&o!=null?i.dollar_per_pct-o:null),c=fs(t,r),l=t.some(e=>e.used_pct!=null&&isFinite(e.used_pct)),u=t.length;return(0,V.jsx)(Jo,{title:`Trend — 12-week history`,accentClass:`accent-amber`,headerExtras:n,children:(0,V.jsxs)(`section`,{className:`modal-trend`,children:[(0,V.jsx)(`div`,{className:`m-chipstrip`,children:(0,V.jsx)(`span`,{className:`m-pill accent-amber`,id:`mtr-weeks-pill`,children:cs(u)})}),(0,V.jsxs)(`div`,{className:`m-hero cols-3`,children:[(0,V.jsxs)(`div`,{className:`m-kv kv-cur`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`mtr-cur`,children:i&&i.dollar_per_pct!=null?`$`+i.dollar_per_pct.toFixed(3):`—`}),(0,V.jsx)(`div`,{className:`lbl`,children:`Current $ / 1%`})]})]}),(0,V.jsxs)(`div`,{className:`m-kv kv-med`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#minus`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`mtr-med`,children:o==null?`—`:`$`+o.toFixed(3)}),(0,V.jsx)(`div`,{className:`lbl`,children:`4-week median`})]})]}),(0,V.jsxs)(`div`,{className:`m-kv kv-delta ${s.cls}`,id:`mtr-delta-kv`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:s.iconHref})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`mtr-delta`,children:s.text}),(0,V.jsx)(`div`,{className:`lbl`,children:`vs median`})]})]})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-spark`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#trending-down`})}),`12-week history · $/1%`,(0,V.jsxs)(`span`,{className:`mtr-legend`+(l?``:` legend-no-used`),"aria-hidden":`true`,children:[(0,V.jsx)(`span`,{className:`sw sw-dpp`}),(0,V.jsx)(`span`,{className:`sw-lbl`,children:`$/1%`}),(0,V.jsx)(`span`,{className:`sw sw-used`}),(0,V.jsx)(`span`,{className:`sw-lbl`,children:`used %`})]})]}),(0,V.jsxs)(`div`,{className:`mtr-sparkhero`,children:[(0,V.jsx)(`svg`,{id:`mtr-svg`,viewBox:`0 0 600 140`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:c.map(e=>{let{el:t,attrs:n,text:r,key:i}=e,a={};for(let e in n)a[e===`class`?`className`:e]=n[e];return t===`line`?(0,V.jsx)(`line`,{...a},i):t===`polyline`?(0,V.jsx)(`polyline`,{...a},i):t===`circle`?(0,V.jsx)(`circle`,{...a},i):(0,V.jsx)(`text`,{...a,children:r},i)})}),(0,V.jsx)(`div`,{className:`mtr-sparkaxis`,id:`mtr-sparkaxis`,children:u>0?(0,V.jsxs)(g.Fragment,{children:[(0,V.jsxs)(`span`,{children:[`W−`,u-1]}),(0,V.jsxs)(`span`,{children:[`W−`,Math.floor((u-1)/2)]}),(0,V.jsx)(`span`,{children:`Now`})]}):null})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-tbl`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Weekly detail`]}),(0,V.jsxs)(`div`,{className:`mtr-tbl-head`,children:[(0,V.jsxs)(`span`,{className:`m-pill accent-purple`,id:`mtr-tbl-count`,children:[u,` weeks`]}),(0,V.jsx)(`span`,{className:`mtr-tbl-sub`,children:`current row highlighted · negative Δ = $/1% down vs prior week`})]}),(0,V.jsxs)(`table`,{className:`m-histable`,id:`mtr-table`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{children:`Week`}),(0,V.jsx)(`th`,{className:`num`,children:`Used %`}),(0,V.jsx)(`th`,{className:`num`,children:`$ / 1%`}),(0,V.jsx)(`th`,{className:`num`,children:`Δ $/1%`})]})}),(0,V.jsx)(`tbody`,{id:`mtr-rows`,children:t.map((e,t)=>{let n=ps(e,u-1-t),r=e.used_pct==null?`—`:Math.round(e.used_pct)+`%`,i=e.dollar_per_pct==null?`—`:`$`+e.dollar_per_pct.toFixed(2),a=ms(e.delta);return(0,V.jsxs)(`tr`,{className:e.is_current?`cur`:void 0,children:[(0,V.jsx)(`td`,{children:(0,V.jsx)(`span`,{className:`wlab`,children:n})}),(0,V.jsx)(`td`,{className:`num usedpct`,children:r}),(0,V.jsx)(`td`,{className:`num dpp`,children:i}),(0,V.jsx)(`td`,{className:`num delta ${a.cls}`,children:a.text})]},e.label+`|`+t)})})]})]})})}var _s=/(^|\/)(subagents\/|agent-)/;function vs(){return(0,g.useSyncExternalStore)(z,()=>R().snapshot?.generated_at??``)}function ys(){let e=(0,g.useSyncExternalStore)(z,()=>R().openSessionId),t=vs(),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(!0),[o,s]=(0,g.useState)(null),c=(0,g.useRef)(null),l=(0,g.useRef)(!1),u=(0,g.useRef)(null);return(0,g.useEffect)(()=>{u.current=e??R().snapshot?.sessions?.rows?.[0]?.session_id??null,l.current=!1},[e]),(0,g.useEffect)(()=>{let e=u.current;if(!e){a(!1),s(`No session available.`),r(null),c.current=null;return}let t=c.current!==e||n==null;c.current=e,t&&(a(!0),s(null),r(null));let i=new AbortController;return fetch(`/api/session/${encodeURIComponent(e)}`,{signal:i.signal}).then(async e=>{if(e.status===404){(t||l.current)&&(a(!1),s(`Session not found (the cache may have rolled forward).`),r(null)),l.current=!0;return}if(!e.ok)throw Error(`HTTP `+e.status);let n=await e.json();l.current=!1,r(n),s(null),a(!1)}).catch(e=>{e.name!==`AbortError`&&(l.current=!1,t&&(s(`Failed to load: `+e.message),a(!1)))}),()=>i.abort()},[e,t]),(0,V.jsx)(Jo,{title:`Session detail`,accentClass:`accent-orange`,headerExtras:(0,V.jsx)(Ht,{panel:`sessions`,panelLabel:`Session`,triggerId:`session-modal`,onClick:()=>B(F(`sessions`,`session-modal`))}),children:(0,V.jsxs)(`section`,{className:`modal-sessions`,children:[i?(0,V.jsx)(`div`,{className:`modal-loading`,id:`msess-loading`,children:`Loading session detail…`}):null,o?(0,V.jsx)(`div`,{className:`modal-error`,id:`msess-error`,children:o}):null,!i&&!o&&n?(0,V.jsx)(bs,{detail:n}):null]})})}function bs({detail:e}){let t=Array.isArray(e.source_paths)?e.source_paths:[],n=[],r=[];t.forEach(e=>{_s.test(e)?r.push(e):n.push(e)});let i=e.cost_total_usd??0,a=[[`Input`,e.input_tokens,null],[`Output`,e.output_tokens,null],[`Cache creation`,e.cache_creation_tokens,null],[`Cache read`,e.cache_read_tokens,null],[`Cache hit %`,e.cache_hit_pct,`cache-hit`]].filter(e=>e[1]!=null),o=!e.models||e.models.length===0,s=!e.cost_per_model||e.cost_per_model.length===0;return(0,V.jsxs)(`div`,{className:`modal-content`,id:`msess-content`,children:[(0,V.jsx)(`div`,{className:`m-chipstrip`,children:(0,V.jsx)(`span`,{className:`msess-badge`,id:`msess-id`,"aria-label":`Session ID`,children:e.session_id??`—`})}),(0,V.jsxs)(`div`,{className:`m-hero cols-3`,children:[(0,V.jsxs)(`div`,{className:`m-kv kv-cost`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`msess-cost`,children:e.cost_total_usd==null?`—`:`$`+e.cost_total_usd.toFixed(2)}),(0,V.jsx)(`div`,{className:`lbl`,children:`Total cost`})]})]}),(0,V.jsxs)(`div`,{className:`m-kv kv-dur`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`msess-dur`,children:e.duration_min==null?`—`:e.duration_min+` min`}),(0,V.jsx)(`div`,{className:`lbl`,children:`Duration`})]})]}),(0,V.jsxs)(`div`,{className:`m-kv kv-proj`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,id:`msess-project`,title:e.project_path??``,"aria-label":`Project`,children:e.project_label??e.project_path??`—`}),(0,V.jsx)(`div`,{className:`lbl`,children:`Project`})]})]})]}),(0,V.jsxs)(`div`,{className:`msess-ts`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`started`}),(0,V.jsx)(`span`,{className:`v`,id:`msess-started`,children:e.started_utc??`—`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`last activity`}),(0,V.jsx)(`span`,{className:`v`,id:`msess-last`,children:e.last_activity_utc??`—`})]})]}),(0,V.jsxs)(`h3`,{className:`m-sec sec-tok`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Tokens`]}),(0,V.jsx)(`div`,{className:`msess-tok-grid`,id:`msess-tokens`,children:a.map(([e,t,n])=>(0,V.jsxs)(`div`,{className:`msess-tok-tile`+(n?` `+n:``),children:[(0,V.jsx)(`div`,{className:`lbl`,children:e}),(0,V.jsx)(`div`,{className:`n`,children:n===`cache-hit`?t.toFixed(1)+`%`:t.toLocaleString(`en-US`)}),n===`cache-hit`?(0,V.jsx)(`div`,{className:`bar`,children:(0,V.jsx)(`div`,{className:`fill`,style:{width:Math.max(0,Math.min(t,100))+`%`}})}):null]},e))}),o?null:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`h3`,{className:`m-sec sec-mod`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#sparkles`})}),`Models`]}),(0,V.jsx)(`div`,{className:`m-chipstrip`,id:`msess-models`,children:(e.models||[]).map(e=>(0,V.jsx)(`span`,{className:`chip `+on(e.name),children:e.name},e.name))})]}),s?null:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`h3`,{className:`m-sec sec-costm`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),`Cost by model`]}),(0,V.jsxs)(`div`,{className:`msess-costm`,children:[(0,V.jsx)(`div`,{className:`bar`,id:`msess-cost-bar`,children:(e.cost_per_model||[]).map(e=>{let t=i>0&&e.cost_usd!=null?e.cost_usd/i*100:0;return(0,V.jsx)(`div`,{className:`seg `+on(e.model),style:{width:t+`%`}},e.model)})}),(0,V.jsx)(`div`,{className:`legend`,id:`msess-cost-legend`,children:(e.cost_per_model||[]).map(e=>{let t=i>0&&e.cost_usd!=null?e.cost_usd/i*100:0;return(0,V.jsxs)(`div`,{className:`lg`,children:[(0,V.jsx)(`span`,{className:`sw `+on(e.model)}),(0,V.jsx)(`span`,{className:`name`,children:e.model}),(0,V.jsx)(`span`,{className:`v`,children:e.cost_usd==null?`—`:`$`+e.cost_usd.toFixed(3)}),(0,V.jsxs)(`span`,{className:`pct`,children:[Math.round(t),`%`]})]},e.model)})})]})]}),t.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`h3`,{className:`m-sec sec-src`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#file-text`})}),`Source files`]}),(0,V.jsxs)(`div`,{className:`msess-src`,id:`msess-src`,children:[(0,V.jsxs)(`div`,{className:`src-head`,children:[(0,V.jsxs)(`span`,{className:`count-pill`,children:[t.length,` file`,t.length===1?``:`s`]}),(0,V.jsxs)(`span`,{className:`sub`,children:[n.length,` primary`,r.length>0?(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsx)(`span`,{className:`dot`,children:`·`}),` `,(0,V.jsxs)(`span`,{className:`subcount`,children:[r.length,` subagent`,r.length===1?``:`s`]})]}):null]})]}),n.length>0?n.map(e=>(0,V.jsx)(`div`,{className:`primary-path`,children:e},e)):r.length>0?(0,V.jsxs)(`div`,{className:`src-empty-primary`,children:[`No primary path resolved · `,r.length,` subagent path`,r.length===1?``:`s`,` below`]}):null,r.length>0?(0,V.jsxs)(`details`,{className:`subagents`,open:n.length===0,children:[(0,V.jsxs)(`summary`,{children:[`Show `,r.length,` subagent path`,r.length===1?``:`s`]}),(0,V.jsx)(`ul`,{className:`paths`,children:r.map(e=>(0,V.jsx)(`li`,{children:e},e))})]}):null]})]}):null]})}function xs({row:e,variant:t,accentClass:n}){let r=zt(),i={tz:r.resolvedTz,offsetLabel:r.offsetLabel},a=(e,t)=>`${D.datetimeShort(e,i)} → ${D.datetimeShort(t,i)}`,o=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`,s=t===`weekly`?`week`:t===`monthly`?`month`:`day`,c=t===`daily`?`Today`:`Now`;return(0,V.jsxs)(`div`,{className:`detail-card ${n}`,children:[(0,V.jsxs)(`div`,{className:`head`,children:[(0,V.jsxs)(`div`,{className:`big`,children:[e.label,e.is_current&&(0,V.jsx)(`span`,{className:`pill-current`,children:c})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`cost`,style:{color:`var(--text)`,fontWeight:700},children:D.usd2(e.cost_usd)}),` `,e.delta_cost_pct==null?(0,V.jsx)(`span`,{className:`delta flat`,children:`—`}):(0,V.jsxs)(`span`,{className:`delta ${o}`,children:[D.deltaPct(e.delta_cost_pct),` vs prior `,s]})]})]}),t===`weekly`&&e.week_start_at&&e.week_end_at&&(0,V.jsxs)(`div`,{className:`window`,children:[`Subscription window: `,a(e.week_start_at,e.week_end_at)]}),(0,V.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,V.jsx)(`span`,{className:e.chip,style:{width:`${e.cost_pct}%`}},e.model))}),(0,V.jsx)(`div`,{className:`chips`,children:e.models.map(e=>(0,V.jsxs)(`span`,{className:`chip ${e.chip}`,children:[e.display,` `,Math.round(e.cost_pct),`% · `,D.usd2(e.cost_usd)]},e.model))}),(0,V.jsxs)(`div`,{className:`tokens-row`,children:[(0,V.jsxs)(`div`,{className:`t`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Input`}),(0,V.jsx)(`span`,{className:`v`,children:D.compact(e.input_tokens)})]}),(0,V.jsxs)(`div`,{className:`t`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Output`}),(0,V.jsx)(`span`,{className:`v`,children:D.compact(e.output_tokens)})]}),(0,V.jsxs)(`div`,{className:`t`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Cache+`}),(0,V.jsx)(`span`,{className:`v`,children:D.compact(e.cache_creation_tokens)})]}),(0,V.jsxs)(`div`,{className:`t`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Cache-read`}),(0,V.jsx)(`span`,{className:`v`,children:D.compact(e.cache_read_tokens)})]}),(0,V.jsxs)(`div`,{className:`t`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Total`}),(0,V.jsx)(`span`,{className:`v`,children:D.compact(e.total_tokens)})]}),e.cache_hit_pct!=null&&(0,V.jsxs)(`div`,{className:`t cache`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Cache hit`}),(0,V.jsxs)(`span`,{className:`v`,children:[e.cache_hit_pct.toFixed(1),`%`]}),(0,V.jsx)(`div`,{className:`bar`,children:(0,V.jsx)(`div`,{className:`fill`,style:{width:`${Math.min(100,Math.max(0,e.cache_hit_pct))}%`}})})]})]}),t===`weekly`&&(0,V.jsxs)(`div`,{className:`stats2`,children:[(0,V.jsxs)(`div`,{className:`s`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Used %`}),(0,V.jsx)(`span`,{className:`v`,children:D.pct0(e.used_pct)})]}),(0,V.jsxs)(`div`,{className:`s`,children:[(0,V.jsx)(`span`,{className:`k`,children:`$/1%`}),(0,V.jsx)(`span`,{className:`v`,children:D.usd2(e.dollar_per_pct)})]})]})]})}function Ss(e){return e==null||e===0?`num`:e>0?`num delta-up`:`num delta-down`}function Cs(e){let t=new Set,n=[];for(let r of e.models)t.has(r.chip)||(t.add(r.chip),n.push(r.chip));return n}function ws({row:e}){let t=Cs(e),n=t.slice(0,3),r=t.length>3?t.length-3:0;return(0,V.jsxs)(`span`,{className:`models-chips`,children:[n.map(e=>(0,V.jsx)(`span`,{className:`chip ${e}`,children:e},e)),r>0&&(0,V.jsxs)(`span`,{className:`models-chips-more`,children:[`…+`,r]})]})}function Ts({rows:e,variant:t,accentClass:n,selectedIndex:r,onSelect:i}){return(0,V.jsxs)(`table`,{className:`history-table history-table--${t} ${n}`,role:`grid`,"aria-rowcount":e.length,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{children:t===`weekly`?`Week`:`Month`}),(0,V.jsx)(`th`,{children:`Models`}),(0,V.jsx)(`th`,{className:`num`,children:`Cost (USD)`}),t===`weekly`&&(0,V.jsx)(`th`,{className:`num`,children:`Used %`}),t===`weekly`&&(0,V.jsx)(`th`,{className:`num`,children:`$/1%`}),(0,V.jsx)(`th`,{className:`num`,children:`Δ`})]})}),(0,V.jsx)(`tbody`,{children:e.map((e,n)=>(0,V.jsxs)(`tr`,{className:n===r?`selected`:void 0,"aria-rowindex":n+1,"aria-selected":n===r,onClick:()=>i(n),children:[(0,V.jsxs)(`td`,{children:[e.label,n===r?` ▶`:``]}),(0,V.jsx)(`td`,{children:(0,V.jsx)(ws,{row:e})}),(0,V.jsx)(`td`,{className:`num`,children:D.usd2(e.cost_usd)}),t===`weekly`&&(0,V.jsx)(`td`,{className:`num`,children:D.pct0(e.used_pct)}),t===`weekly`&&(0,V.jsx)(`td`,{className:`num`,children:D.usd2(e.dollar_per_pct)}),(0,V.jsx)(`td`,{className:Ss(e.delta_cost_pct),children:D.deltaPct(e.delta_cost_pct)})]},e.label))})]})}function Es(){let e=H()?.weekly?.rows??[],[t,n]=(0,g.useState)(0),r=e.length;(0,g.useEffect)(()=>It([{key:`ArrowDown`,scope:`modal`,when:()=>R().openModal===`weekly`,action:()=>n(e=>Math.min(e+1,Math.max(0,r-1)))},{key:`ArrowUp`,scope:`modal`,when:()=>R().openModal===`weekly`,action:()=>n(e=>Math.max(e-1,0))}]),[r]);let i=(0,V.jsx)(Ht,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-modal`,onClick:()=>B(F(`weekly`,`weekly-modal`))});if(r===0)return(0,V.jsx)(Jo,{title:`Weekly history · last 12`,accentClass:`accent-cyan`,headerExtras:i,children:(0,V.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`})});let a=e[Math.min(t,r-1)];return(0,V.jsxs)(Jo,{title:`Weekly history · last 12`,accentClass:`accent-cyan`,headerExtras:i,children:[(0,V.jsx)(xs,{row:a,variant:`weekly`,accentClass:`accent-cyan`}),(0,V.jsx)(Ts,{rows:e,variant:`weekly`,accentClass:`accent-cyan`,selectedIndex:t,onSelect:n})]})}function Ds(){let e=H()?.monthly?.rows??[],[t,n]=(0,g.useState)(0),r=e.length;(0,g.useEffect)(()=>It([{key:`ArrowDown`,scope:`modal`,when:()=>R().openModal===`monthly`,action:()=>n(e=>Math.min(e+1,Math.max(0,r-1)))},{key:`ArrowUp`,scope:`modal`,when:()=>R().openModal===`monthly`,action:()=>n(e=>Math.max(e-1,0))}]),[r]);let i=(0,V.jsx)(Ht,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-modal`,onClick:()=>B(F(`monthly`,`monthly-modal`))});if(r===0)return(0,V.jsx)(Jo,{title:`Monthly history · last 12`,accentClass:`accent-pink`,headerExtras:i,children:(0,V.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`})});let a=e[Math.min(t,r-1)];return(0,V.jsxs)(Jo,{title:`Monthly history · last 12`,accentClass:`accent-pink`,headerExtras:i,children:[(0,V.jsx)(xs,{row:a,variant:`monthly`,accentClass:`accent-pink`}),(0,V.jsx)(Ts,{rows:e,variant:`monthly`,accentClass:`accent-pink`,selectedIndex:t,onSelect:n})]})}var Os=720,ks=180,As={left:46,right:20,top:18,bottom:20};function js(e){return e===0?`$0`:e<10?`$`+e.toFixed(2):`$`+Math.round(e).toString()}function Ms(){return(0,g.useSyncExternalStore)(z,()=>R().snapshot?.generated_at??``)}function Ns({detail:e}){let t=Ms(),n=zt(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel},i=Date.parse(e.start_at),a=Date.parse(e.end_at)-i||1,o=e=>As.left+(Date.parse(e)-i)/a*(Os-As.left-As.right),s=Math.max(e.cost_usd,e.projection?.total_cost_usd??0),c=e=>{let t=As.top,n=ks-As.bottom;return s<=0?n:n-e/s*(n-t)},l=[];for(let e=0;e<=5;e++)l.push(new Date(i+e*36e5).toISOString());let u=e.samples.length>0?e.samples[e.samples.length-1].cum:0,d=e.is_active?t||new Date().toISOString():null,f=[];if(e.samples.length>0){f.push([o(e.start_at),c(0)]);for(let t of e.samples)f.push([o(t.t),c(t.cum)]);d&&f.push([o(d),c(u)])}let p=f.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),m=f.length>0?`M ${p.replace(/ /g,` L `)} L ${f[f.length-1][0].toFixed(1)},${c(0).toFixed(1)} Z`:``,h=s<=0?[0]:[0,s/2,s];return(0,V.jsx)(`div`,{className:`mblock-timeline`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 ${Os} ${ks}`,style:{width:`100%`,height:`auto`},role:`img`,"aria-label":`Cumulative cost over the 5-hour block window`,children:[h.map(e=>(0,V.jsx)(`text`,{x:8,y:c(e)+4,fill:`var(--text-dim)`,fontSize:10,children:js(e)},e)),(0,V.jsx)(`line`,{x1:As.left,y1:As.top,x2:As.left,y2:ks-As.bottom,stroke:`var(--border-soft)`,strokeWidth:.8}),(0,V.jsx)(`line`,{x1:As.left,y1:ks-As.bottom,x2:Os-As.right,y2:ks-As.bottom,stroke:`var(--border-soft)`,strokeWidth:.8}),l.slice(1,-1).map(e=>(0,V.jsx)(`line`,{x1:o(e),y1:As.top,x2:o(e),y2:ks-As.bottom,stroke:`var(--border-soft)`,strokeDasharray:`2 3`,strokeWidth:.5},e)),l.map(e=>(0,V.jsx)(`text`,{x:o(e)-14,y:ks-5,fill:`var(--text-dim)`,fontSize:9,children:D.timeHHmm(e,r,{noSuffix:!0})},e)),f.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`path`,{d:m,fill:`var(--accent-green)`,opacity:.12}),(0,V.jsx)(`polyline`,{points:p,fill:`none`,stroke:`var(--accent-green)`,strokeWidth:2}),(0,V.jsx)(`circle`,{cx:f[f.length-1][0],cy:f[f.length-1][1],r:3,fill:`var(--accent-green)`})]}):(0,V.jsx)(`text`,{x:Os/2,y:ks/2,fill:`var(--text-faint)`,fontSize:11,textAnchor:`middle`,children:`No spend recorded yet in this block.`}),e.is_active&&e.projection&&d&&f.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`polyline`,{points:`${o(d).toFixed(1)},${c(u).toFixed(1)} ${o(e.end_at).toFixed(1)},${c(e.projection.total_cost_usd).toFixed(1)}`,fill:`none`,stroke:`var(--accent-amber)`,strokeWidth:1.5,strokeDasharray:`5 4`,opacity:.85}),(0,V.jsx)(`circle`,{cx:o(e.end_at),cy:c(e.projection.total_cost_usd),r:3,fill:`var(--accent-amber)`,opacity:.85}),(0,V.jsxs)(`text`,{x:o(e.end_at)-50,y:c(e.projection.total_cost_usd)-6,fill:`var(--accent-amber)`,fontSize:9,children:[`proj $`,e.projection.total_cost_usd.toFixed(2)]}),(0,V.jsx)(`line`,{x1:o(d),y1:As.top,x2:o(d),y2:ks-As.bottom,stroke:`var(--accent-amber)`,strokeWidth:1.2}),(0,V.jsx)(`text`,{x:o(d)+4,y:As.top+10,fill:`var(--accent-amber)`,fontSize:9,children:`now`})]}):null]})})}function Ps(){return(0,g.useSyncExternalStore)(z,()=>R().snapshot?.generated_at??``)}function Fs(e,t){let n=Date.parse(e.start_at),r=e.is_active?Date.parse(t)||Date.now():e.actual_end_at?Date.parse(e.actual_end_at):Date.parse(e.end_at),i=Math.max(0,Math.floor((r-n)/6e4)),a=Math.floor(i/60),o=i%60;return`${a}h ${String(o).padStart(2,`0`)}m`}function Is(e,t,n){return`${D.timeHHmm(e,n)} → ${D.timeHHmm(t,n)}`}function Ls(){let e=(0,g.useSyncExternalStore)(z,()=>R().openBlockStartAt),t=Ps(),n=zt(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel},[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!0),[c,l]=(0,g.useState)(null),u=(0,g.useRef)(null),d=(0,g.useRef)(!1),f=(0,g.useRef)(null);return(0,g.useEffect)(()=>{f.current=e??null,d.current=!1},[e]),(0,g.useEffect)(()=>{let e=f.current;if(!e){s(!1),l(`No block bound.`),a(null),u.current=null;return}let t=u.current!==e||i==null;u.current=e,t&&(s(!0),l(null),a(null));let n=new AbortController;return fetch(`/api/block/${encodeURIComponent(e)}`,{signal:n.signal}).then(async e=>{if(e.status===404){(t||d.current)&&(s(!1),l(`Block not found (the cache may have rolled forward).`),a(null)),d.current=!0;return}if(!e.ok)throw Error(`HTTP `+e.status);let n=await e.json();d.current=!1,a(n),l(null),s(!1)}).catch(e=>{e.name!==`AbortError`&&(d.current=!1,t&&(l(`Failed to load: `+e.message),s(!1)))}),()=>n.abort()},[e,t]),(0,V.jsx)(Jo,{title:i?`${i.anchor===`heuristic`?`~ `:``}Block · ${i.label}`:`Block`,accentClass:`accent-blue`,headerExtras:(0,V.jsx)(Ht,{panel:`blocks`,panelLabel:`5-hour block`,triggerId:`block-modal`,onClick:()=>B(F(`blocks`,`block-modal`))}),children:(0,V.jsxs)(`section`,{className:`modal-block`,children:[o?(0,V.jsx)(`div`,{className:`modal-loading`,children:`Loading block detail…`}):null,c?(0,V.jsx)(`div`,{className:`modal-error`,children:c}):null,!o&&!c&&i?(0,V.jsx)(Rs,{detail:i,generatedAt:t,ctx:r}):null]})})}function Rs({detail:e,generatedAt:t,ctx:n}){let r=e.cost_usd??0;return(0,V.jsxs)(`div`,{className:`modal-content`,children:[(0,V.jsxs)(`div`,{className:`m-chipstrip`,children:[e.is_active?(0,V.jsx)(`span`,{className:`m-pill accent-green`,children:`● Active`}):null,e.anchor===`heuristic`?(0,V.jsx)(`span`,{className:`m-pill accent-amber`,children:`~ heuristic anchor`}):null,(0,V.jsx)(`span`,{className:`m-pill accent-blue`,children:Is(e.start_at,e.end_at,n)}),(0,V.jsxs)(`span`,{className:`m-pill`,children:[e.entries_count.toLocaleString(`en-US`),` `,e.entries_count===1?`entry`:`entries`]})]}),(0,V.jsxs)(`div`,{className:`m-hero `+(e.is_active?`cols-4`:`cols-3`),children:[(0,V.jsxs)(`div`,{className:`m-kv kv-cost`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,children:D.usd2(e.cost_usd)}),(0,V.jsx)(`div`,{className:`lbl`,children:`Total cost`})]})]}),(0,V.jsxs)(`div`,{className:`m-kv kv-dur`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,children:Fs(e,t)}),(0,V.jsx)(`div`,{className:`lbl`,children:`Elapsed`})]})]}),(0,V.jsxs)(`div`,{className:`m-kv`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#hash`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,children:e.total_tokens.toLocaleString(`en-US`)}),(0,V.jsx)(`div`,{className:`lbl`,children:`Total tokens`})]})]}),e.is_active?(0,V.jsxs)(`div`,{className:`m-kv kv-proj`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`v`,children:e.projection?D.usd2(e.projection.total_cost_usd):`—`}),(0,V.jsxs)(`div`,{className:`lbl`,children:[`Projected`,e.projection?` · ${e.projection.remaining_minutes}m left`:``]})]})]}):null]}),(0,V.jsx)(Ns,{detail:e}),(0,V.jsxs)(`h3`,{className:`m-sec sec-tok`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Tokens`]}),(0,V.jsxs)(`div`,{className:`msess-tok-grid mblock-tok-grid`,children:[(0,V.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,V.jsx)(`div`,{className:`lbl`,children:`Input`}),(0,V.jsx)(`div`,{className:`n`,children:e.input_tokens.toLocaleString(`en-US`)})]}),(0,V.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,V.jsx)(`div`,{className:`lbl`,children:`Output`}),(0,V.jsx)(`div`,{className:`n`,children:e.output_tokens.toLocaleString(`en-US`)})]}),(0,V.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,V.jsx)(`div`,{className:`lbl`,children:`Cache create`}),(0,V.jsx)(`div`,{className:`n`,children:e.cache_creation_tokens.toLocaleString(`en-US`)})]}),(0,V.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,V.jsx)(`div`,{className:`lbl`,children:`Cache read`}),(0,V.jsx)(`div`,{className:`n`,children:e.cache_read_tokens.toLocaleString(`en-US`)})]}),e.cache_hit_pct==null?null:(0,V.jsxs)(`div`,{className:`msess-tok-tile cache-hit`,children:[(0,V.jsx)(`div`,{className:`lbl`,children:`Cache hit %`}),(0,V.jsxs)(`div`,{className:`n`,children:[e.cache_hit_pct.toFixed(1),`%`]}),(0,V.jsx)(`div`,{className:`bar`,children:(0,V.jsx)(`div`,{className:`fill`,style:{width:Math.min(100,Math.max(0,e.cache_hit_pct))+`%`}})})]})]}),e.models.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`h3`,{className:`m-sec sec-costm`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),`Cost by model`]}),(0,V.jsxs)(`div`,{className:`msess-costm`,children:[(0,V.jsx)(`div`,{className:`bar`,children:e.models.map(e=>{let t=r>0?e.cost_usd/r*100:0;return(0,V.jsx)(`div`,{className:`seg `+on(e.model),style:{width:t+`%`}},e.model)})}),(0,V.jsx)(`div`,{className:`legend`,children:e.models.map(e=>{let t=r>0?e.cost_usd/r*100:0;return(0,V.jsxs)(`div`,{className:`lg`,children:[(0,V.jsx)(`span`,{className:`sw `+on(e.model)}),(0,V.jsx)(`span`,{className:`name`,children:e.display}),(0,V.jsxs)(`span`,{className:`v`,children:[`$`,e.cost_usd.toFixed(2)]}),(0,V.jsxs)(`span`,{className:`pct`,children:[Math.round(t),`%`]})]},e.model)})})]})]}):null,e.is_active&&e.burn_rate&&e.projection?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`h3`,{className:`m-sec sec-burn`,children:[(0,V.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,V.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),`Burn rate & projection`]}),(0,V.jsxs)(`div`,{className:`mblock-burn`,children:[(0,V.jsxs)(`div`,{className:`row`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Burn rate`}),(0,V.jsx)(`span`,{className:`v amber`,children:D.usd2(e.burn_rate.cost_per_hour)}),(0,V.jsx)(`span`,{className:`dim`,children:`/ hr`}),(0,V.jsx)(`span`,{className:`sep`,children:`·`}),(0,V.jsx)(`span`,{className:`v cyan`,children:Math.round(e.burn_rate.tokens_per_minute).toLocaleString(`en-US`)}),(0,V.jsx)(`span`,{className:`dim`,children:`tok / min`})]}),(0,V.jsxs)(`div`,{className:`row`,children:[(0,V.jsx)(`span`,{className:`k`,children:`Projection`}),(0,V.jsx)(`span`,{className:`v amber`,children:D.usd2(e.projection.total_cost_usd)}),(0,V.jsx)(`span`,{className:`dim`,children:`total`}),(0,V.jsx)(`span`,{className:`sep`,children:`·`}),(0,V.jsx)(`span`,{className:`v cyan`,children:e.projection.total_tokens.toLocaleString(`en-US`)}),(0,V.jsx)(`span`,{className:`dim`,children:`tok`}),(0,V.jsx)(`span`,{className:`sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`v`,children:[e.projection.remaining_minutes,` min`]}),(0,V.jsx)(`span`,{className:`dim`,children:`remaining`})]})]})]}):null]})}function zs({rows:e,selectedDate:t,onSelect:n}){let r=[...e].reverse(),i=r.reduce((e,t)=>Math.max(e,t.cost_usd),0),a=r.length>0?Bs(r[0].date):``,o=r.length>0?Bs(r[r.length-1].date):``,s=r.find(e=>e.is_today),c=s?`${Bs(s.date)} · today`:``;return(0,V.jsxs)(`section`,{className:`daily-modal-bars`,"aria-label":`30-day cost`,children:[(0,V.jsxs)(`div`,{className:`daily-modal-bars-head`,children:[(0,V.jsxs)(`span`,{children:[`30-day cost · selected: `,t?Bs(t):`—`]}),(0,V.jsx)(`span`,{className:`hint`,children:`↑↓ navigate · click any bar`})]}),(0,V.jsx)(`div`,{className:`daily-modal-bars-grid`,role:`img`,"aria-label":`30-day cost histogram`,children:r.map(e=>{let r=e.cost_usd<=0,a=e.date===t,o=r?4:i>0?e.cost_usd/i*100:0,s=[`bar`,r?`zero`:``,a?`sel`:``,e.is_today?`today`:``].filter(Boolean).join(` `);return(0,V.jsx)(`button`,{"data-date":e.date,className:s,style:{height:`${o}%`},disabled:r,"aria-pressed":a,"aria-label":`${e.label} cost ${e.cost_usd>0?D.usd2(e.cost_usd):`no usage`}`,title:e.cost_usd>0?`${e.label} · ${D.usd2(e.cost_usd)}`:`${e.label} · —`,onClick:()=>{r||n(e.date)}},e.date)})}),r.length>0&&(0,V.jsxs)(`div`,{className:`daily-modal-bars-axis`,children:[(0,V.jsx)(`span`,{children:a}),c&&(0,V.jsx)(`span`,{children:c}),(0,V.jsx)(`span`,{children:o})]})]})}function Bs(e){let t=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],n=e.split(`-`).map(Number);return`${t[n[1]-1]} ${n[2]}`}function Vs(){let e=H()?.daily?.rows??[],t=(0,g.useSyncExternalStore)(z,()=>R().openDailyDate),[n,r]=(0,g.useState)(null);(0,g.useEffect)(()=>{t&&r(t)},[]);let i=new Set(e.map(e=>e.date)),a=e[0]?.date??null,o=n&&i.has(n)?n:a;(0,g.useEffect)(()=>It([{key:`ArrowDown`,scope:`modal`,when:()=>R().openModal===`daily`,action:()=>{let t=o;if(!t)return;let n=e.findIndex(e=>e.date===t);n<0||n>=e.length-1||r(e[n+1].date)}},{key:`ArrowUp`,scope:`modal`,when:()=>R().openModal===`daily`,action:()=>{let t=o;if(!t)return;let n=e.findIndex(e=>e.date===t);n<=0||r(e[n-1].date)}}]),[e,o]);let s=(0,V.jsx)(Ht,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-modal`,onClick:()=>B(F(`daily`,`daily-modal`))});if(e.length===0)return(0,V.jsx)(Jo,{title:`Daily history · last 30`,accentClass:`accent-indigo`,headerExtras:s,children:(0,V.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`})});let c=e.findIndex(e=>e.date===o),l=c>=0?c:0,u=e[l],d=e[l+1],f=Hs(u,d);return(0,V.jsxs)(Jo,{title:`Daily history · last 30`,accentClass:`accent-indigo`,headerExtras:s,children:[(0,V.jsx)(zs,{rows:e,selectedDate:o,onSelect:r}),(0,V.jsx)(xs,{row:f,variant:`daily`,accentClass:`accent-indigo`})]})}function Hs(e,t){let n=t&&t.cost_usd>0?(e.cost_usd-t.cost_usd)/t.cost_usd:null;return{label:e.label,cost_usd:e.cost_usd,total_tokens:e.total_tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cache_creation_tokens:e.cache_creation_tokens,cache_read_tokens:e.cache_read_tokens,used_pct:null,dollar_per_pct:null,delta_cost_pct:n,is_current:e.is_today,models:e.models,cache_hit_pct:e.cache_hit_pct}}var Us=[`#d946ef`,`#c084fc`,`#60a5fa`,`#fbbf24`,`#22d3ee`],Ws=`#64748b`,Gs=5,Ks=400,qs=150;function Js({trend:e,yMode:t,windowWeeks:n,onProjectSelect:r}){let i=(0,g.useMemo)(()=>{let t=Math.max(0,Math.min(n,e.window_weeks)),r=e.weeks.slice(-t),i=e.projects.map(e=>{let n=e.weekly_cost.slice(-t),r=n.reduce((e,t)=>e+t,0);return{key:e.key,weekly:n,cost:r,color:``}}).sort((e,t)=>t.cost-e.cost),a=i.slice(0,Gs).map((e,t)=>({...e,color:Us[t]??Ws})),o=i.slice(Gs),s=r.map((e,t)=>o.reduce((e,n)=>e+(n.weekly[t]??0),0)),c=s.reduce((e,t)=>e+t,0),l=[...a];return o.length>0&&c>0&&l.push({key:`(other)`,weekly:s,cost:c,color:Ws}),{weeks:r,series:l}},[e,n]),a=nn();if(i.weeks.length===0||i.series.length===0)return(0,V.jsxs)(`div`,{className:`panel-empty`,children:[`No project activity in the last `,n,` week`,n===1?``:`s`,`.`]});let o=i.weeks.length,s=i.weeks.map((e,t)=>i.series.reduce((e,n)=>e+(n.weekly[t]??0),0)),c=t===`share`?100:Math.max(...s,.01),l=(e,t=`left`)=>o<=1?t===`left`?Ks*.1:Ks*.9:e/(o-1)*Ks,u=Array(o).fill(0),d=i.series.map(e=>{let n=[];for(let e=0;e<o;e++){let t=qs-u[e]/c*qs;n.push(`${l(e,`left`).toFixed(2)},${t.toFixed(2)}`),o===1&&n.push(`${l(e,`right`).toFixed(2)},${t.toFixed(2)}`)}for(let r=o-1;r>=0;r--){let i=s[r]??0,a=t===`share`?i>0?(e.weekly[r]??0)/i*100:0:e.weekly[r]??0;u[r]+=a;let d=qs-u[r]/c*qs;o===1&&n.push(`${l(r,`right`).toFixed(2)},${d.toFixed(2)}`),n.push(`${l(r,`left`).toFixed(2)},${d.toFixed(2)}`)}return{color:e.color,key:e.key,points:n.join(` `)}}),f=i.weeks.map(e=>(0,V.jsx)(`span`,{children:e.week_label},e.week_start_date));return(0,V.jsxs)(`div`,{className:`projects-trend`,children:[(0,V.jsx)(`svg`,{viewBox:`0 0 ${Ks} ${qs}`,preserveAspectRatio:`none`,role:`img`,"aria-label":`Stacked area: project ${t===`share`?`share %`:`cost`} over ${o} weeks`,children:d.map(e=>{let t=e.key===`(other)`;return(0,V.jsx)(`polygon`,{fill:e.color,opacity:t?.5:.65,points:e.points,"data-series-key":e.key,onClick:()=>{t||r?.(e.key)},style:{cursor:t?`default`:`pointer`}},e.key)})}),(0,V.jsx)(`div`,{className:`projects-trend-xaxis`,children:f}),(0,V.jsx)(`div`,{className:`projects-trend-legend`,children:i.series.map(e=>{let t=e.key===`(other)`,n=(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`sw`,style:{background:e.color}}),e.key]});return a&&!t?(0,V.jsx)(`button`,{type:`button`,className:`projects-trend-legend-item`,"data-series-key":e.key,onClick:()=>r?.(e.key),children:n},e.key):(0,V.jsx)(`span`,{className:`projects-trend-legend-item`,"data-series-key":e.key,children:n},e.key)})})]})}function Ys(e,t){let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(null),c=H()?.generated_at??``,l=(0,g.useRef)(0),u=(0,g.useRef)(null),d=(0,g.useRef)(null),f=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!e){r(null),a(!1),s(null),l.current=0,u.current=null,d.current=null,f.current=!1;return}let i=u.current!==e||d.current!==t,o=i||n==null;if(o&&f.current&&!i)return;o&&(a(!0),s(null)),i&&(l.current=0),u.current=e,d.current=t,f.current=!0;let c=new AbortController,p=`/api/project/${encodeURIComponent(e)}?weeks=${t}`;return fetch(p,{signal:c.signal}).then(async e=>{if(e.status===404){l.current+=1,l.current>=2?(r(null),s(`Project no longer in cache — close this drill.`),a(!1)):o&&(s(`Couldn't load project detail — will retry on next tick.`),a(!1));return}if(!e.ok){o&&(s(`Couldn't load project detail — will retry on next tick.`),a(!1));return}l.current=0,r(await e.json()),s(null),a(!1)}).catch(e=>{e?.name!==`AbortError`&&o&&(s(`Couldn't load project detail — will retry on next tick.`),a(!1))}).finally(()=>{f.current=!1}),()=>c.abort()},[e,t,c]),{data:n,loading:i,error:o}}function Xs({projectKey:e,windowWeeks:t}){let{data:n,loading:r,error:i}=Ys(e,t),a=zt(),o={tz:a.resolvedTz,offsetLabel:a.offsetLabel},s=n!=null&&(n.key!==e||n.window_weeks!==t);if(r&&!n||s)return(0,V.jsx)(`div`,{className:`panel-empty`,children:`Loading…`});if(i&&!n)return(0,V.jsx)(`div`,{className:`panel-empty`,children:i});if(!n)return null;let c=n.models[0]?.cost_usd??0,l=c>0?c:1,u=Math.max(0,n.sessions_total-n.sessions.length);return(0,V.jsxs)(`div`,{className:`projects-drill`,"data-testid":`projects-drill`,"aria-live":`polite`,children:[(0,V.jsx)(`div`,{className:`projects-drill-head`,children:(0,V.jsxs)(`span`,{className:`title`,children:[`▾ `,n.key,` · `,n.sessions_total,` session`,n.sessions_total===1?``:`s`,` · `,D.usd2(n.window_cost_usd),` (`,t,`w)`]})}),(0,V.jsxs)(`div`,{className:`projects-drill-grid`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`section-label`,children:`Models (this project)`}),n.models.length===0?(0,V.jsx)(`div`,{className:`muted`,children:`No model data for this window.`}):n.models.map(e=>{let t={"--w":`${e.cost_usd/l*100}%`};return(0,V.jsxs)(`div`,{className:`drill-bar-row`,children:[(0,V.jsx)(`span`,{className:`chip ${on(e.model)}`,children:e.model}),(0,V.jsx)(`div`,{className:`drill-bar`,style:t}),(0,V.jsx)(`span`,{className:`cost ${sn(e.cost_usd)}`,children:D.usd2(e.cost_usd)})]},e.model)})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`section-label`,children:`Recent sessions →`}),n.sessions.length===0?(0,V.jsx)(`div`,{className:`muted`,children:`No sessions for this window.`}):n.sessions.map((e,t)=>(0,V.jsxs)(`button`,{"data-testid":`drill-session-${t}`,className:`drill-session-row`,onClick:()=>B({type:`OPEN_MODAL`,kind:`session`,sessionId:e.session_id}),children:[(0,V.jsx)(`span`,{className:`started`,children:D.datetimeShort(e.last_activity_at,o)}),(0,V.jsx)(`span`,{className:`chip ${on(e.primary_model)}`,children:e.primary_model}),(0,V.jsx)(`span`,{className:`cost ${sn(e.cost_usd)}`,children:D.usd2(e.cost_usd)})]},e.session_id)),(0,V.jsxs)(`div`,{className:`drill-session-footer`,children:[u>0&&(0,V.jsxs)(`span`,{className:`muted`,children:[`+`,u,` more`]}),(0,V.jsx)(`button`,{type:`button`,"data-testid":`drill-show-in-sessions`,className:`drill-show-in-sessions`,onClick:()=>{B({type:`SET_FILTER`,text:n.key}),B({type:`CLOSE_MODAL`})},children:`Show in Sessions →`})]})]})]})]})}var Zs=(e,t)=>e<t?-1:+(e>t),Qs=[{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>Zs(e.key,t.key),className:`project`},{id:`sessions`,label:`Sessions`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.sessionsCount-t.sessionsCount},{id:`first_seen`,label:`First seen`,defaultDirection:`asc`,nullKey:e=>e.firstSeenAt,compare:(e,t)=>Zs(e.firstSeenAt,t.firstSeenAt),className:`started`},{id:`last_seen`,label:`Last seen`,defaultDirection:`desc`,nullKey:e=>e.lastSeenAt,compare:(e,t)=>Zs(e.lastSeenAt,t.lastSeenAt),className:`started`},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.windowCost-t.windowCost},{id:`used_pct`,label:`Used %`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.windowPct,compare:(e,t)=>e.windowPct-t.windowPct},{id:`share_of_window`,label:`% of week`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.shareOfWindow,compare:(e,t)=>e.shareOfWindow-t.shareOfWindow}],$s=[{column:`cost`,direction:`desc`,label:`cost`,arrow:`↓`},{column:`sessions`,direction:`desc`,label:`sessions`,arrow:`↓`},{column:`used_pct`,direction:`desc`,label:`used`,arrow:`↓`},{column:`share_of_window`,direction:`desc`,label:`share`,arrow:`↓`},{column:`first_seen`,direction:`asc`,label:`first`,arrow:`↑`},{column:`last_seen`,direction:`desc`,label:`last`,arrow:`↓`},{column:`project`,direction:`asc`,label:`project`,arrow:`↑`}],ec=[1,4,8,12];function tc(){let e=H(),t=zt(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=(0,g.useSyncExternalStore)(z,()=>R().openProjectKey),i=(0,g.useSyncExternalStore)(z,()=>R().prefs.projectsWindowWeeks),a=(0,g.useSyncExternalStore)(z,()=>R().prefs.projectsTrendYMode),o=(0,g.useSyncExternalStore)(z,()=>R().prefs.projectsSortOverride),[s,c]=(0,g.useState)(r??null),[l,u]=(0,g.useState)(!1);(0,g.useEffect)(()=>{if(r){c(r);return}s||c(e?.projects?.current_week?.rows?.[0]?.key??null)},[r,e?.projects?.current_week?.rows]),(0,g.useEffect)(()=>{r||s&&((e?.projects?.trend?.projects??[]).some(e=>e.key===s)||c(e?.projects?.current_week?.rows?.[0]?.key??null))},[r,s,e?.projects?.trend?.projects,e?.projects?.current_week?.rows]);let d=e?.projects?.trend??null,f=i,p=d?.window_weeks??0,m=(e,t)=>{B({type:`SAVE_PREFS`,patch:{[e]:t}})},h=e=>{c(t=>t===e?null:e)},_=(d?.projects??[]).map(e=>{let t=e.weekly_cost.slice(-i),n=e.weekly_pct.slice(-i),r=e.sessions_per_week.slice(-i),a=e.first_seen_per_week.slice(-i),o=e.last_seen_per_week.slice(-i),s=t.reduce((e,t)=>e+t,0),c=n.reduce((e,t)=>t==null?e:(e??0)+t,null),l=r.reduce((e,t)=>e+t,0),u=a.reduce((e,t)=>t==null?e:e==null||t<e?t:e,null),d=o.reduce((e,t)=>t==null?e:e==null||t>e?t:e,null);return{key:e.key,sessionsCount:l,firstSeenAt:u,lastSeenAt:d,windowCost:s,windowPct:c,shareOfWindow:null}}),v=_.reduce((e,t)=>e+t.windowCost,0);for(let e of _)e.shareOfWindow=v>0?e.windowCost/v*100:null;let y=o?N(_,Qs,o):N(_,Qs,{column:`cost`,direction:`desc`}),b=y.filter(e=>e.windowCost>0).slice(0,10),x=y.length-b.length,S=l?y:b,C=x>0,w=nn(),T=(()=>{if(!o)return 0;let e=$s.findIndex(e=>e.column===o.column&&e.direction===o.direction);return e===-1?0:e})(),ee=()=>{let e=$s[(T+1)%$s.length];B({type:`SET_TABLE_SORT`,table:`projects`,override:{column:e.column,direction:e.direction}})},te=$s[T],E=()=>R().shareModal===null&&R().composerModal===null;return W([{key:`1`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,1)},{key:`4`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,4)},{key:`8`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,8)},{key:`0`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,12)},{key:`s`,scope:`modal`,when:E,action:()=>m(`projectsTrendYMode`,a===`share`?`absolute`:`share`)},{key:`ArrowUp`,scope:`modal`,when:E,action:()=>{if(S.length===0)return;let e=S.findIndex(e=>e.key===s);c(S[e<=0?S.length-1:e-1].key)}},{key:`ArrowDown`,scope:`modal`,when:E,action:()=>{if(S.length===0)return;let e=S.findIndex(e=>e.key===s);c(S[e===-1||e===S.length-1?0:e+1].key)}},{key:`Enter`,scope:`modal`,when:E,action:()=>{s?c(null):S.length>0&&c(S[0].key)}}]),(0,V.jsx)(Jo,{title:`Projects · last ${i}w`,accentClass:`accent-magenta`,headerExtras:(0,V.jsx)(Ht,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-modal`,dataTestId:`share-icon-projects-modal`,onClick:()=>B(F(`projects`,`projects-modal`,{windowWeeks:i}))}),children:(0,V.jsxs)(`div`,{className:`projects-modal-body`,children:[(0,V.jsxs)(`div`,{className:`projects-controls`,role:`radiogroup`,"aria-label":`Window`,children:[ec.map(e=>(0,V.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":i===e,className:`pill ${i===e?`on`:``}`,onClick:()=>m(`projectsWindowWeeks`,e),children:[e,`w`]},`window-${e}`)),(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`|`}),(0,V.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":a===`share`,className:`pill ${a===`share`?`on`:``}`,onClick:()=>m(`projectsTrendYMode`,`share`),children:`share %`}),(0,V.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":a===`absolute`,className:`pill ${a===`absolute`?`on`:``}`,onClick:()=>m(`projectsTrendYMode`,`absolute`),children:`$ absolute`})]}),p>0&&p<f&&(0,V.jsxs)(`div`,{className:`projects-notice`,children:[`Showing `,p,` week`,p===1?``:`s`,` (need more history for the full window).`]}),d?(0,V.jsx)(Js,{trend:d,yMode:a,windowWeeks:i,onProjectSelect:e=>c(e)}):(0,V.jsx)(`div`,{className:`panel-empty`,children:`Projects trend unavailable.`}),w&&(0,V.jsxs)(`button`,{type:`button`,className:`projects-mobile-sort`,"data-testid":`projects-mobile-sort`,onClick:ee,"aria-label":`Cycle sort column`,children:[`Sort: `,te.label,` `,te.arrow]}),(0,V.jsxs)(`table`,{className:`projects-table`,children:[(0,V.jsx)(Qt,{columns:Qs,override:o,onChange:e=>B({type:`SET_TABLE_SORT`,table:`projects`,override:e}),accentVar:`--accent-magenta`}),(0,V.jsx)(`tbody`,{children:S.map(e=>(0,V.jsxs)(g.Fragment,{children:[(0,V.jsxs)(`tr`,{"data-testid":`projects-table-row`,"data-cost":e.windowCost,"data-sessions":e.sessionsCount,"aria-expanded":s===e.key,className:s===e.key?`selected`:``,onClick:()=>h(e.key),children:[(0,V.jsx)(`td`,{className:`project`,children:e.key}),(0,V.jsx)(`td`,{children:e.sessionsCount}),(0,V.jsx)(`td`,{className:`started first-seen`,children:D.dateShort(e.firstSeenAt,n)??`—`}),(0,V.jsx)(`td`,{className:`started last-seen`,children:D.dateShort(e.lastSeenAt,n)??`—`}),(0,V.jsx)(`td`,{className:sn(e.windowCost),children:D.usd2(e.windowCost)}),(0,V.jsx)(`td`,{children:e.windowPct==null?`—`:D.pct0(e.windowPct)}),(0,V.jsx)(`td`,{children:e.shareOfWindow==null?`—`:D.pct0(e.shareOfWindow)})]}),w&&s===e.key&&(0,V.jsx)(`tr`,{className:`projects-drill-row`,"aria-hidden":`false`,children:(0,V.jsx)(`td`,{colSpan:7,children:(0,V.jsx)(Xs,{projectKey:e.key,windowWeeks:i})})})]},e.key))})]}),C&&(0,V.jsx)(`button`,{type:`button`,className:`projects-table-toggle`,"data-testid":`projects-table-toggle`,"aria-expanded":l,onClick:()=>u(e=>!e),children:l?`Show top 10 active`:`Show all ${y.length} projects (+${x})`}),!w&&s&&(0,V.jsx)(Xs,{projectKey:s,windowWeeks:i}),(0,V.jsxs)(`div`,{className:`projects-modal-footer-hint`,"data-testid":`projects-modal-footer-hint`,"aria-live":`off`,children:[(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`kbd`,{children:`1`}),`/`,(0,V.jsx)(`kbd`,{children:`4`}),`/`,(0,V.jsx)(`kbd`,{children:`8`}),`/`,(0,V.jsx)(`kbd`,{children:`0`}),` window`]}),(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`kbd`,{children:`↑↓`}),` row`]}),(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`kbd`,{children:`Enter`}),` drill`]}),(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`kbd`,{children:`s`}),` share/$`]}),(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`kbd`,{children:`Esc`}),` close`]}),(0,V.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,V.jsx)(gt,{})]})]})})}function nc({cr:e}){let t=e.today.baseline_daily_row_count<5,n=e.today.anomaly_triggered&&!t,r;r=t?{text:`~ Building baseline · ${e.today.baseline_daily_row_count}/5 days`,cls:`thin`}:n?{text:`⚠ Anomaly`,cls:``}:{text:`✓ Healthy`,cls:`ok`};let i=e.today.baseline_median_percent,a=e.today.delta_pp,o;if(a===null)o=`—`;else{let e=D.pctFloor(Math.abs(a));o=`${a<0?`−`:`+`}${e}pp`}return(0,V.jsxs)(`div`,{className:`crm-section`,children:[(0,V.jsxs)(`div`,{className:`crm-section-head crm-sh-spotlight`,children:[`Today's spotlight`,(0,V.jsxs)(`span`,{className:`meta`,children:[e.today.date,` · `,e.days.length,` days observed`]})]}),(0,V.jsxs)(`div`,{className:`crm-spotlight${n?` anom`:``}`,children:[(0,V.jsxs)(`div`,{className:`crm-spotlight-row`,children:[(0,V.jsx)(`span`,{className:`pill${r.cls?` `+r.cls:``}`,children:r.text}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`Cache hit`}),` `,(0,V.jsxs)(`strong`,{children:[D.pctFloor(e.today.cache_hit_percent),`%`]})]}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`14d median`}),` `,(0,V.jsx)(`strong`,{children:i===null?`—`:`${D.pctFloor(i)}%`})]}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`Δ`}),` `,(0,V.jsx)(`strong`,{children:o})]}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`Net`}),` `,(0,V.jsx)(`strong`,{children:D.usdSigned(e.today.net_usd)})]}),(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`span`,{className:`k`,children:`Saved / Wasted`}),` `,(0,V.jsxs)(`strong`,{children:[`$`,e.today.saved_usd.toFixed(2),` / $`,e.today.wasted_usd.toFixed(2)]})]})]}),n&&e.today.anomaly_reasons.length>0&&(0,V.jsxs)(`div`,{className:`reasons`,children:[`Reasons:`,` `,e.today.anomaly_reasons.map((e,t)=>(0,V.jsxs)(`span`,{children:[t>0&&` · `,(0,V.jsx)(`code`,{children:e})]},e)),` | `,`thresholds: `,e.anomaly_threshold_pp,`pp drop, net < 0`]})]})]})}function rc(e,t=28){if(e.length<=t)return e;let n=e.split(`/`).filter(Boolean);if(n.length<=2)return e;let r=`/`+n[0],i=`${r}/…/${n.slice(-2).join(`/`)}`;return i.length<=t||(i=`${r}/…/${n[n.length-1]}`,i.length<=t)?i:`…/${n[n.length-1]}`}function ic({kind:e,rows:t}){let n=e===`projects`?`bd-projects`:`bd-models`,r=e===`projects`?`By project`:`By model`,i=e===`projects`?`No project activity in this window`:`No model activity in this window`,a=e===`projects`;return(0,V.jsxs)(`div`,{className:`crm-bd-card ${n}`,"data-bd-kind":e,children:[(0,V.jsx)(`div`,{className:`crm-bd-head`,children:r}),t.length===0?(0,V.jsx)(`div`,{className:`empty`,children:i}):(0,V.jsx)(`table`,{children:(0,V.jsx)(`tbody`,{children:t.map(e=>{let t=a?rc(e.key):e.key,n=t!==e.key;return(0,V.jsxs)(`tr`,{"data-testid":`crm-bd-row`,"data-bd-key":e.key,children:[(0,V.jsx)(`td`,{className:`bd-key`,title:n?e.key:void 0,children:t}),(0,V.jsxs)(`td`,{children:[D.pctFloor(e.cache_hit_percent),`%`]}),(0,V.jsx)(`td`,{className:e.net_usd>=0?`net-pos`:`net-neg`,children:D.usdSigned(e.net_usd)})]},e.key)})})})]})}function ac({current_threshold_pp:e,onClose:t}){let[n,r]=(0,g.useState)(String(e)),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(!1),u=(0,g.useRef)(null);(0,g.useEffect)(()=>{function e(e){let n=e.target;n&&n.closest(`[data-cr-settings-toggle]`)||u.current&&!u.current.contains(e.target)&&t()}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[t]),(0,g.useEffect)(()=>{function e(e){e.key===`Escape`&&(e.stopPropagation(),t())}return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[t]);async function d(){l(!1);let e=n.trim(),t=/^-?\d+$/.test(e)?parseInt(e,10):NaN;if(!Number.isInteger(t)||t<1||t>100){a(`Must be an integer between 1 and 100`);return}s(!0),a(null);try{let e=await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cache_report:{anomaly_threshold_pp:t}})});if(e.ok)l(!0),setTimeout(()=>l(!1),1500);else{let t=await e.json().catch(()=>({}));a(typeof t.error==`string`?t.error:`HTTP ${e.status}`)}}catch(e){a(String(e))}finally{s(!1)}}return(0,V.jsxs)(`div`,{ref:u,className:`crm-settings-popover`,role:`dialog`,"aria-label":`Cache Report settings`,children:[(0,V.jsx)(`h4`,{children:`Cache Report settings`}),(0,V.jsx)(`label`,{htmlFor:`cr-threshold`,children:`Anomaly threshold (pp)`}),(0,V.jsx)(`input`,{id:`cr-threshold`,type:`number`,inputMode:`numeric`,min:1,max:100,value:n,onChange:e=>{r(e.target.value),a(null),l(!1)},className:i?`invalid`:``}),i&&(0,V.jsx)(`div`,{className:`err`,children:i}),c&&(0,V.jsx)(`div`,{className:`saved`,children:`Saved · next sync will re-evaluate`}),(0,V.jsxs)(`div`,{className:`actions`,children:[(0,V.jsx)(`button`,{onClick:t,type:`button`,children:`Close`}),(0,V.jsx)(`button`,{className:`primary`,onClick:d,disabled:o,type:`button`,children:o?`Saving…`:`Save`})]})]})}function oc(){let e=H()?.cache_report,[t,n]=(0,g.useState)(!1);if(!e)return(0,V.jsx)(Jo,{title:`Cache Report`,accentClass:`accent-teal`,children:(0,V.jsx)(`div`,{style:{color:`var(--text-dim)`,padding:`20px 0`},children:`Loading…`})});if(e.is_empty)return(0,V.jsx)(Jo,{title:`Cache Report`,accentClass:`accent-teal`,children:(0,V.jsxs)(`div`,{style:{color:`var(--text-dim)`,padding:`20px 0`},children:[`No Claude activity in the last `,e.window_days,` days.`]})});let r=(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`span`,{className:`sub`,style:{marginRight:12,color:`var(--text-dim)`},children:[`Last `,e.window_days,` days · `,e.anomaly_window_days,`d baseline · Claude only`]}),(0,V.jsx)(`button`,{type:`button`,"aria-label":`Cache Report settings`,"data-cr-settings-toggle":!0,onClick:e=>{e.stopPropagation(),n(e=>!e)},style:{background:`transparent`,border:0,color:`var(--text-dim)`,cursor:`pointer`,fontSize:18,padding:`0 8px`},children:`⚙`})]}),i=e.today.baseline_daily_row_count<5,a=e.today.anomaly_triggered&&!i,o=a?`var(--accent-amber)`:`var(--accent-green)`,s=a?`accent-amber`:`accent-teal`,c=Math.round(e.fourteen_day_efficiency_ratio*100);return(0,V.jsxs)(Jo,{title:`Cache Report`,accentClass:s,headerExtras:r,children:[t&&(0,V.jsx)(ac,{current_threshold_pp:e.anomaly_threshold_pp,onClose:()=>n(!1)}),(0,V.jsx)(nc,{cr:e}),(0,V.jsxs)(`div`,{className:`crm-section`,children:[(0,V.jsxs)(`div`,{className:`crm-section-head crm-sh-timeline`,children:[`Cache hit % — `,e.window_days,`-day timeline`,(0,V.jsxs)(`span`,{className:`meta`,children:[`band = `,e.anomaly_window_days,`d median ±`,5,`pp`]})]}),(0,V.jsx)(`div`,{className:`crm-chart-frame timeline`,children:(0,V.jsx)(Mn,{days:e.days,baseline_median_percent:e.today.baseline_median_percent,today_marker_color:o,size:`large`})})]}),(0,V.jsx)(Pn,{days:e.days,size:`large`}),(0,V.jsxs)(`div`,{className:`crm-counterfactual`,children:[`Without caching, you'd have paid`,` `,(0,V.jsxs)(`strong`,{children:[`+$`,e.fourteen_day_counterfactual_usd.toFixed(2),` more`]}),` `,`over the last `,e.window_days,` days · cache efficiency`,` `,(0,V.jsxs)(`span`,{title:`saved / (saved + |wasted|) = ${c}%`,children:[c,`%`]})]}),(0,V.jsxs)(`div`,{className:`crm-section`,children:[(0,V.jsxs)(`div`,{className:`crm-section-head crm-sh-table`,children:[`Daily rows · `,e.window_days,` days`,(0,V.jsxs)(`span`,{className:`meta`,children:[e.days.length,` days observed`]})]}),(0,V.jsxs)(`table`,{className:`ch-table`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{className:`c-date`,children:`Date`}),(0,V.jsx)(`th`,{className:`c-hit num`,children:`Cache %`}),(0,V.jsx)(`th`,{className:`c-tokens num`,children:`Tok In`}),(0,V.jsx)(`th`,{className:`c-tokens num`,children:`Tok Out`}),(0,V.jsx)(`th`,{className:`c-saved num`,children:`Saved`}),(0,V.jsx)(`th`,{className:`c-wasted num`,children:`Wasted`}),(0,V.jsx)(`th`,{className:`c-net num`,children:`Net`}),(0,V.jsx)(`th`,{className:`c-flag num`,children:`Flag`})]})}),(0,V.jsx)(`tbody`,{children:e.days.map(t=>{let n=t.date===e.today.date,r=e.today.baseline_median_percent!==null,i=r&&e.today.baseline_median_percent!==null&&t.cache_hit_percent<e.today.baseline_median_percent-5,a=t.net_usd<0;return(0,V.jsxs)(`tr`,{className:n?`cur`:``,"data-testid":`crm-daily-row`,"data-date":t.date,children:[(0,V.jsx)(`td`,{children:t.date}),(0,V.jsxs)(`td`,{className:`num ${r?i?`hit-bad`:`hit-good`:``}`.trim(),children:[D.pctFloor(t.cache_hit_percent),`%`]}),(0,V.jsx)(`td`,{className:`num`,children:D.compact(t.input_tokens,{upper:!0})}),(0,V.jsx)(`td`,{className:`num`,children:D.compact(t.output_tokens,{upper:!0})}),(0,V.jsx)(`td`,{className:`num`,children:D.usd2(t.saved_usd)}),(0,V.jsx)(`td`,{className:`num`,children:D.usd2(t.wasted_usd)}),(0,V.jsx)(`td`,{className:`num ${a?`net-neg`:`net-pos`}`,children:D.usdSigned(t.net_usd)}),(0,V.jsx)(`td`,{className:`num ${t.anomaly_triggered?`flag-warn`:`flag-ok`}`,children:t.anomaly_triggered?`⚠`:`✓`})]},t.date)})})]})]}),(0,V.jsx)(`div`,{className:`crm-section`,children:(0,V.jsxs)(`div`,{className:`crm-breakdowns`,children:[(0,V.jsx)(ic,{kind:`projects`,rows:e.by_project}),(0,V.jsx)(ic,{kind:`models`,rows:e.by_model})]})})]})}var sc=100;function cc({alert:e,ctx:t}){if(e.axis===`weekly`){let n=e.context.week_start_date?D.weekStart(e.context.week_start_date,t):null,r=e.context.dollars_per_percent;return(0,V.jsxs)(`span`,{className:`alert-context alert-context--weekly`,children:[n?`Week of ${n}`:`Week —`,r!=null&&(0,V.jsxs)(V.Fragment,{children:[` · `,(0,V.jsxs)(`span`,{className:`num`,children:[`$`,r.toFixed(2),`/1%`]})]})]})}if(e.axis===`budget`){let n=e.context.week_start_at?D.weekStart(e.context.week_start_at.slice(0,10),t):null,r=e.context.consumption_pct;return(0,V.jsxs)(`span`,{className:`alert-context alert-context--budget`,children:[n?`Week of ${n}`:`Week —`,r!=null&&(0,V.jsxs)(V.Fragment,{children:[` · `,(0,V.jsxs)(`span`,{className:`num`,children:[Math.round(r),`% of budget`]})]})]})}if(e.axis===`project_budget`){let t=e.context.project??`(project)`,n=e.context.consumption_pct;return(0,V.jsxs)(`span`,{className:`alert-context alert-context--project_budget`,children:[t,n!=null&&(0,V.jsxs)(V.Fragment,{children:[` · `,(0,V.jsxs)(`span`,{className:`num`,children:[Math.round(n),`% of budget`]})]})]})}return e.axis===`projected`?(0,V.jsx)(`span`,{className:`alert-context alert-context--projected`,children:On(e)??`Projected —`}):(0,V.jsxs)(`span`,{className:`alert-context alert-context--five-hour`,children:[`Block `,e.context.block_start_at?D.timeOnly(e.context.block_start_at,t):`—`]})}function lc({alert:e}){if(e.axis===`projected`)return(0,V.jsx)(`span`,{className:`num`,children:`—`});let t;return t=e.axis===`weekly`?e.context.cumulative_cost_usd:e.axis===`budget`||e.axis===`project_budget`?e.context.spent_usd:e.context.block_cost_usd,(0,V.jsx)(`span`,{className:`num`,children:D.usd2(t??null)})}function uc(){let e=(0,g.useSyncExternalStore)(z,()=>R().alerts),t=zt(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=e.slice(0,sc);return r.length===0?(0,V.jsx)(Jo,{title:`Recent alerts`,accentClass:`accent-amber`,children:(0,V.jsx)(`div`,{className:`panel-empty`,children:`No alerts yet. Alerts appear when usage crosses 90% or 95%.`})}):(0,V.jsx)(Jo,{title:`Recent alerts`,accentClass:`accent-amber`,children:(0,V.jsxs)(`div`,{className:`alerts-modal-body`,children:[(0,V.jsxs)(`table`,{className:`alerts-table`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`col`,children:`%`}),(0,V.jsx)(`th`,{scope:`col`,children:`Axis`}),(0,V.jsx)(`th`,{scope:`col`,children:`Cost`}),(0,V.jsx)(`th`,{scope:`col`,children:`Context`}),(0,V.jsx)(`th`,{scope:`col`,children:`Alerted`})]})}),(0,V.jsx)(`tbody`,{children:r.map(e=>{let t=Dn(e);return(0,V.jsxs)(`tr`,{className:`alert-modal-row`,children:[(0,V.jsxs)(`td`,{className:`alert-threshold severity-${t} ${t} num`,children:[e.threshold,`%`]}),(0,V.jsx)(`td`,{children:(0,V.jsx)(`span`,{className:`chip chip--${e.axis}`,children:Tn[e.axis]})}),(0,V.jsx)(`td`,{className:`num`,children:(0,V.jsx)(lc,{alert:e})}),(0,V.jsx)(`td`,{children:(0,V.jsx)(cc,{alert:e,ctx:n})}),(0,V.jsx)(`td`,{className:`alert-when`,children:D.relativeOrAbsolute(e.alerted_at,n)})]},e.id)})})]}),e.length>sc&&(0,V.jsxs)(`div`,{className:`alerts-modal-foot`,children:[`Showing `,sc,` of `,e.length,` most recent`]})]})})}function dc(){let e=(0,g.useSyncExternalStore)(z,()=>R().openModal);if(!e)return null;switch(e){case`current-week`:return(0,V.jsx)(ts,{});case`forecast`:return(0,V.jsx)(ss,{});case`trend`:return(0,V.jsx)(gs,{});case`session`:return(0,V.jsx)(ys,{});case`weekly`:return(0,V.jsx)(Es,{});case`monthly`:return(0,V.jsx)(Ds,{});case`block`:return(0,V.jsx)(Ls,{});case`daily`:return(0,V.jsx)(Vs,{});case`projects`:return(0,V.jsx)(tc,{});case`alerts`:return(0,V.jsx)(uc,{});case`cache-report`:return(0,V.jsx)(oc,{})}}var Q=class extends Error{code;constructor(e,t,n,r){super(n),this.status=e,this.field=t,this.code=r}};async function fc(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new Q(e.status,t.field,t.error??`HTTP ${e.status}`,t.code)}return e.json()}async function pc(e,t){return fc(await fetch(`/api/share/templates?panel=${encodeURIComponent(e)}`,{signal:t?.signal}))}async function mc(e,t){return fc(await fetch(`/api/share/render`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}var hc=[{id:`recap`,label:`Recap`,placeholderDescription:`Text + tiny chart`},{id:`visual`,label:`Visual`,placeholderDescription:`Coming in M2`},{id:`detail`,label:`Detail`,placeholderDescription:`Coming in M2`}];function gc(e){return e.endsWith(`-recap`)?`recap`:e.endsWith(`-visual`)?`visual`:e.endsWith(`-detail`)?`detail`:null}function _c({panel:e,templates:t,error:n,selectedTemplateId:r,onSelect:i}){if(n)return(0,V.jsx)(`div`,{className:`share-gallery-error`,role:`alert`,children:n});let a={};for(let e of t??[]){let t=gc(e.id);t&&(a[t]=e)}return(0,V.jsx)(`div`,{className:`share-gallery`,role:`radiogroup`,"aria-label":`Report template`,children:hc.map(e=>{let n=a[e.id];if(t==null)return(0,V.jsxs)(`div`,{className:`share-tile share-tile-skeleton`,"aria-hidden":`true`,children:[(0,V.jsx)(`div`,{className:`share-tile-skeleton-bar`}),(0,V.jsx)(`div`,{className:`share-tile-skeleton-bar short`})]},e.id);if(!n)return(0,V.jsxs)(`button`,{type:`button`,className:`share-tile share-tile-disabled`,disabled:!0,"aria-disabled":`true`,role:`radio`,"aria-checked":`false`,title:`${e.label} — ${e.placeholderDescription}`,children:[(0,V.jsx)(`div`,{className:`share-tile-label`,children:e.label}),(0,V.jsx)(`div`,{className:`share-tile-desc`,children:e.placeholderDescription})]},e.id);let o=n.id===r;return(0,V.jsxs)(`button`,{type:`button`,className:`share-tile`+(o?` share-tile-selected`:``),role:`radio`,"aria-checked":o,"data-template-id":n.id,onClick:()=>i(n.id),children:[(0,V.jsx)(`div`,{className:`share-tile-label`,children:n.label}),(0,V.jsx)(`div`,{className:`share-tile-desc`,children:n.description})]},e.id)})})}function vc({options:e,onChange:t}){let n=n=>t({...e,...n}),r=n=>t({...e,period:{...e.period,...n}}),i=e=>{if(e===``){n({top_n:null});return}let t=Number.parseInt(e,10);Number.isNaN(t)||n({top_n:Math.max(1,t)})};return(0,V.jsxs)(`div`,{className:`share-knobs`,children:[(0,V.jsxs)(`div`,{className:`share-knob`,children:[(0,V.jsx)(`label`,{htmlFor:`share-knob-period`,children:`Period`}),(0,V.jsxs)(`select`,{id:`share-knob-period`,value:e.period.kind,onChange:e=>r({kind:e.target.value}),children:[(0,V.jsx)(`option`,{value:`current`,children:`This week`}),(0,V.jsx)(`option`,{value:`previous`,children:`Previous week`}),(0,V.jsx)(`option`,{value:`custom`,children:`Custom`})]}),e.period.kind===`custom`?(0,V.jsxs)(`div`,{className:`share-knob-period-custom`,children:[(0,V.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,V.jsx)(`span`,{children:`Start`}),(0,V.jsx)(`input`,{type:`date`,value:e.period.start?.slice(0,10)??``,onChange:e=>r({start:e.target.value}),"aria-label":`Custom period start date`})]}),(0,V.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,V.jsx)(`span`,{children:`End`}),(0,V.jsx)(`input`,{type:`date`,value:e.period.end?.slice(0,10)??``,onChange:e=>r({end:e.target.value}),"aria-label":`Custom period end date`})]})]}):null]}),(0,V.jsxs)(`div`,{className:`share-knob`,children:[(0,V.jsx)(`span`,{className:`share-knob-label`,children:`Theme`}),(0,V.jsxs)(`div`,{className:`share-knob-radiogroup`,role:`radiogroup`,"aria-label":`Theme`,children:[(0,V.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,V.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`light`,checked:e.theme===`light`,onChange:()=>n({theme:`light`})}),(0,V.jsx)(`span`,{children:`Light`})]}),(0,V.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,V.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`dark`,checked:e.theme===`dark`,onChange:()=>n({theme:`dark`})}),(0,V.jsx)(`span`,{children:`Dark`})]})]})]}),(0,V.jsxs)(`div`,{className:`share-knob`,children:[(0,V.jsx)(`label`,{htmlFor:`share-knob-topn`,children:`Top-N`}),(0,V.jsx)(`input`,{id:`share-knob-topn`,type:`number`,min:1,step:1,inputMode:`numeric`,value:e.top_n??``,onChange:e=>i(e.target.value),"aria-label":`Top-N`})]}),(0,V.jsxs)(`div`,{className:`share-knob`,children:[(0,V.jsx)(`span`,{className:`share-knob-label`,children:`Projects`}),(0,V.jsx)(`button`,{type:`button`,className:`share-knob-allowlist-stub`,disabled:!0,"aria-disabled":`true`,title:`Project allowlist — coming in M3+`,children:`All projects`})]}),(0,V.jsx)(`div`,{className:`share-knob`,children:(0,V.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:e.show_chart,onChange:e=>n({show_chart:e.target.checked}),"aria-label":`Include chart in export`}),(0,V.jsx)(`span`,{children:`Show chart`})]})}),(0,V.jsx)(`div`,{className:`share-knob`,children:(0,V.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:e.show_table,onChange:e=>n({show_table:e.target.checked}),"aria-label":`Include table in export`}),(0,V.jsx)(`span`,{children:`Show table`})]})}),(0,V.jsx)(`div`,{className:`share-knob`,children:(0,V.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:!e.reveal_projects,onChange:e=>n({reveal_projects:!e.target.checked}),"aria-label":`Anonymize project names on export`}),(0,V.jsx)(`span`,{children:`Anon on export`})]})})]})}var yc=200,bc={status:`idle`,body:``,contentType:``,errorMessage:null,errorField:null};function xc({panel:e,templateId:t,options:n}){let[r,i]=(0,g.useState)(bc),a=(0,g.useRef)(null),o=(0,g.useRef)(0);return(0,g.useEffect)(()=>{if(!t){i(bc);return}i(e=>({...e,status:`loading`}));let r=++o.current,s=setTimeout(()=>{a.current?.abort();let s=new AbortController;a.current=s,mc({panel:e,template_id:t,options:{...n,reveal_projects:!0}},{signal:s.signal}).then(e=>{r===o.current&&i({status:`ready`,body:e.body,contentType:e.content_type,errorMessage:null,errorField:null})}).catch(e=>{if(r===o.current&&!(e&&typeof e==`object`&&e.name===`AbortError`)){if(e instanceof Q){i({status:`error`,body:``,contentType:``,errorMessage:e.message??`HTTP ${e.status}`,errorField:e.field??null});return}i({status:`error`,body:``,contentType:``,errorMessage:e.message??`Unknown error`,errorField:null})}})},yc);return()=>{clearTimeout(s)}},[e,t,n]),(0,g.useEffect)(()=>()=>{a.current?.abort()},[]),t?r.status===`error`?(0,V.jsxs)(`div`,{className:`share-preview share-preview-error`,role:`alert`,children:[(0,V.jsx)(`div`,{className:`share-preview-error-title`,children:`Preview failed`}),(0,V.jsxs)(`div`,{className:`share-preview-error-message`,children:[r.errorMessage,r.errorField?(0,V.jsxs)(`span`,{className:`share-preview-error-field`,children:[` `,`(field: `,r.errorField,`)`]}):null]})]}):r.status===`loading`||r.status===`idle`?(0,V.jsx)(`div`,{className:`share-preview share-preview-loading`,"aria-busy":`true`,children:`Rendering preview…`}):n.format===`md`?(0,V.jsx)(`pre`,{className:`share-preview share-preview-md`,"aria-label":`Markdown preview`,children:r.body}):(0,V.jsx)(`iframe`,{className:`share-preview share-preview-iframe`,title:`Report preview (decorative)`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:r.body}):(0,V.jsx)(`div`,{className:`share-preview share-preview-empty`,children:`Select a template to preview.`})}var Sc={"current-week":`Current week`,trend:`Trend`,weekly:`Weekly`,daily:`Daily`,monthly:`Monthly`,blocks:`5-hour blocks`,forecast:`Forecast`,sessions:`Sessions`,projects:`Projects`};function Cc(e){return Sc[e]}function wc(e){switch(e){case`md`:return`md`;case`html`:return`html`;case`svg`:return`svg`}}async function Tc(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new Q(e.status,t.field,t.error??`HTTP ${e.status}`)}return e.json()}async function Ec(e){return Tc(await fetch(`/api/share/presets`,{signal:e?.signal}))}async function Dc(e,t){return Tc(await fetch(`/api/share/presets`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}async function Oc(e,t,n){let r=await fetch(`/api/share/presets/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`DELETE`,signal:n?.signal});if(!r.ok){let e={};try{e=await r.json()}catch{}throw new Q(r.status,void 0,e.error??`HTTP ${r.status}`)}}async function kc(e){return Tc(await fetch(`/api/share/history`,{signal:e?.signal}))}async function Ac(e,t){return Tc(await fetch(`/api/share/history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}function jc({panel:e,templateId:t,options:n,onSaved:r,onCancel:i}){let[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(null);async function d(){let i=a.trim();if(!i){u(`Name is required`);return}if(i.length>64){u(`Name must be 64 characters or fewer`);return}if(i.includes(`/`)){u(`Name cannot contain '/'`);return}c(!0),u(null);try{await Dc({panel:e,name:i,template_id:t,options:n}),B({type:`SHOW_STATUS_TOAST`,text:`Saved preset "${i}"`}),r()}catch(e){u((e instanceof Q?e.message??`HTTP ${e.status}`:e.message)??`Save failed`)}finally{c(!1)}}return(0,V.jsxs)(`div`,{className:`share-save-popover`,role:`dialog`,"aria-label":`Save preset`,children:[(0,V.jsxs)(`label`,{className:`share-save-label`,children:[`Preset name`,(0,V.jsx)(`input`,{type:`text`,className:`share-save-input`,autoFocus:!0,value:a,maxLength:64,disabled:s,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),d()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),i())}})]}),l?(0,V.jsx)(`div`,{className:`share-save-error`,role:`alert`,children:l}):null,(0,V.jsxs)(`div`,{className:`share-save-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:i,disabled:s,children:`Cancel`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>void d(),disabled:s,children:s?`Saving…`:`Save`})]})]})}async function Mc(e,t,n){let r=new Blob([e],{type:`image/svg+xml`}),i=URL.createObjectURL(r);try{let e=new Image;e.src=i,await e.decode();let r=document.createElement(`canvas`);r.width=e.naturalWidth*t,r.height=e.naturalHeight*t;let a=r.getContext(`2d`);if(!a)throw Error(`Could not acquire 2D canvas context`);a.fillStyle=n,a.fillRect(0,0,r.width,r.height),a.scale(t,t),a.drawImage(e,0,0);let o=await new Promise(e=>{r.toBlob(t=>e(t),`image/png`)});if(o)return o;let s=r.toDataURL(`image/png`);return(await fetch(s)).blob()}finally{URL.revokeObjectURL(i)}}function Nc(e){let t=document.createElement(`iframe`);t.setAttribute(`aria-hidden`,`true`),t.style.cssText=`position:fixed;right:0;bottom:0;width:0;height:0;border:0`,document.body.appendChild(t);let n=t.contentDocument;if(!n)throw Error(`iframe contentDocument unavailable`);n.open(),n.write(e),n.close();try{t.contentWindow?.focus(),t.contentWindow?.print()}catch{let t=window.open(``,`_blank`,`noopener,noreferrer`);t&&(t.document.open(),t.document.write(e),t.document.close())}setTimeout(()=>t.remove(),1e3)}function Pc(e){Ac({panel:e.panel,template_id:e.template_id,options:e.options,format:e.options.format,destination:e.destination}).catch(()=>{})}function Fc(e){return e===`light`?`#ffffff`:`#0f172a`}function Ic(e,t){return`cctally-${e}-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${wc(t)}`}function Lc(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}function Rc(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}function zc({panel:e,templateId:t,options:n,onOptionsChange:r}){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(!1),u=(0,g.useRef)(null);(0,g.useEffect)(()=>()=>{u.current!=null&&clearTimeout(u.current)},[]);let[d,f]=(0,g.useState)(!1),p=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!d)return;function e(e){let t=p.current;t&&(t.contains(e.target)||f(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[d]),(0,g.useEffect)(()=>{s(null)},[n.format,t]);let m=t==null||i!=null,h=e=>B({type:`SHOW_STATUS_TOAST`,text:e}),_=async()=>{if(!t)throw Error(`no template selected`);return{body:(await mc({panel:e,template_id:t,options:n})).body,format:n.format}},v=async()=>{if(!(m||!t)){a(`copy`),s(null);try{let{body:r}=await _();if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(r),h(`Copied`),Pc({panel:e,template_id:t,options:n,destination:`copy`})}catch(e){s(`Copy failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},y=async()=>{if(!(m||!t)){a(`download`),s(null);try{let{body:r,format:i}=await _(),a=new Blob([r],{type:Lc(i)});Rc(Ic(e,i),a),h(`Downloaded`),Pc({panel:e,template_id:t,options:n,destination:`download`})}catch(e){s(`Download failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},b=async()=>{if(!(m||!t)){a(`basket`),s(null);try{let r=await mc({panel:e,template_id:t,options:n}),i=ye({panel:e,template_id:t,options:n,added_at:new Date().toISOString(),data_digest_at_add:r.snapshot.data_digest,kernel_version:r.snapshot.kernel_version,label_hint:Cc(e)});B({type:`BASKET_ADD`,item:i});let a=R().basket;if(a.rejectedReason===`capacity`)return;l(!0),u.current!=null&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),800),B({type:`SHOW_STATUS_TOAST`,text:`Added ${i.label_hint} to basket (${a.items.length})`})}catch(e){s(`Add to basket failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},x=async()=>{if(!(m||!t)){a(`open`),s(null);try{let{body:r,format:i}=await _(),a=new Blob([r],{type:Lc(i)}),o=URL.createObjectURL(a);window.open(o,`_blank`,`noopener,noreferrer`),Pc({panel:e,template_id:t,options:n,destination:`open`})}catch(e){s(`Open failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},S=async()=>{if(!(!t||n.format!==`svg`||m)){a(`png`),s(null);try{let{body:r}=await _(),i=await Mc(r,2,Fc(n.theme));Rc(Ic(e,`svg`).replace(/\.svg$/,`.png`),i),h(`PNG downloaded`),Pc({panel:e,template_id:t,options:n,destination:`png`})}catch(e){s(`PNG export failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},C=async()=>{if(!(!t||n.format!==`html`||m)){a(`print`),s(null);try{let{body:r}=await _();Nc(r),Pc({panel:e,template_id:t,options:n,destination:`print`})}catch(e){s(`Print failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},w=n.format===`md`&&!m,T=(n.format===`html`||n.format===`svg`)&&!m,ee=n.format===`svg`&&!m,te=n.format===`html`&&!m;return(0,V.jsxs)(`div`,{className:`share-actions`,children:[(0,V.jsxs)(`div`,{className:`share-format-row`,role:`radiogroup`,"aria-label":`Export format`,children:[(0,V.jsx)(`span`,{className:`share-format-label`,children:`Format:`}),[`md`,`html`,`svg`].map(e=>(0,V.jsxs)(`label`,{className:`share-format-radio`,children:[(0,V.jsx)(`input`,{type:`radio`,name:`share-format`,value:e,checked:n.format===e,onChange:()=>r({...n,format:e})}),(0,V.jsx)(`span`,{children:e})]},e))]}),(0,V.jsxs)(`div`,{className:`share-action-row`,children:[(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-copy`,onClick:v,disabled:!w,title:n.format===`md`?i===`copy`?`Copying…`:`Copy to clipboard`:`Copy is available for Markdown only`,children:i===`copy`?`Copying…`:`Copy`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-download`,onClick:y,disabled:m,title:i===`download`?`Downloading…`:`Download file`,children:i===`download`?`Downloading…`:`Download`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-open`,onClick:x,disabled:!T,title:n.format===`html`||n.format===`svg`?i===`open`?`Opening…`:`Open in new tab`:`Open is available for HTML/SVG`,children:i===`open`?`Opening…`:`Open`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-png`,onClick:S,disabled:!ee,title:n.format===`svg`?i===`png`?`Rasterizing…`:`Download PNG (rasterized from SVG)`:`PNG export — available for SVG format only`,children:i===`png`?`Rasterizing…`:`PNG`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-print`,onClick:C,disabled:!te,title:n.format===`html`?i===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:i===`print`?`Printing…`:`Print → PDF`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-basket${c?` share-action-basket-added`:``}`,onClick:b,disabled:m,title:m&&t==null?`Pick a template first`:i===`basket`?`Adding to basket…`:`Add this section to the report basket`,children:c?`✓ Added`:i===`basket`?`Adding…`:`+ Basket`})]}),(0,V.jsxs)(`div`,{className:`share-save-preset-row`,ref:p,children:[(0,V.jsx)(`button`,{type:`button`,className:`share-save-preset`,disabled:t==null||i!=null,onClick:()=>f(e=>!e),"aria-haspopup":`dialog`,"aria-expanded":d,title:t==null?`Pick a template first`:`Save the current recipe as a named preset`,children:`Save preset…`}),d&&t?(0,V.jsx)(jc,{panel:e,templateId:t,options:n,onSaved:()=>f(!1),onCancel:()=>f(!1)}):null]}),o?(0,V.jsx)(`div`,{className:`share-action-error`,role:`alert`,children:o}):null]})}function Bc(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function $({panel:e,onPick:t,onManage:n}){let[r,i]=(0,g.useState)(!1),[a,o]=(0,g.useState)({}),[s,c]=(0,g.useState)([]),[l,u]=(0,g.useState)(null),d=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!r)return;let t=new AbortController;return u(null),Promise.all([Ec({signal:t.signal}),kc({signal:t.signal})]).then(([t,n])=>{o(t.presets[e]??{}),c(n.history.filter(t=>t.panel===e).slice().reverse())}).catch(e=>{e?.name!==`AbortError`&&u((e instanceof Q?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}),()=>t.abort()},[r,e]),(0,g.useEffect)(()=>{if(!r)return;function e(e){let t=d.current;t&&(t.contains(e.target)||i(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]);let f=Object.keys(a).sort();return(0,V.jsxs)(`div`,{className:`share-presets-dropdown`,ref:d,children:[(0,V.jsx)(`button`,{type:`button`,className:`share-presets-trigger`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),children:`presets ▾`}),r?(0,V.jsxs)(`div`,{className:`share-presets-menu`,role:`menu`,children:[l?(0,V.jsx)(`div`,{className:`share-presets-error`,role:`alert`,children:l}):null,f.length===0&&!l?(0,V.jsx)(`div`,{className:`share-presets-empty`,children:`No saved presets yet.`}):null,f.length>0?(0,V.jsx)(`ul`,{className:`share-presets-list`,children:f.map(e=>(0,V.jsx)(`li`,{children:(0,V.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-item`,onClick:()=>{t(a[e].template_id,a[e].options),i(!1)},children:e})},e))}):null,s.length>0?(0,V.jsxs)(`div`,{className:`share-presets-history`,children:[(0,V.jsx)(`div`,{className:`share-presets-history-heading`,role:`presentation`,children:`Recent shares`}),(0,V.jsx)(`ul`,{className:`share-presets-history-list`,children:s.map(e=>(0,V.jsx)(`li`,{children:(0,V.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-history-item`,onClick:()=>{t(e.template_id,e.options),i(!1)},title:`${e.template_id} · ${e.format??`unknown`} · ${e.exported_at}`,children:[(0,V.jsx)(`span`,{className:`share-presets-history-template`,children:e.template_id}),(0,V.jsxs)(`span`,{className:`share-presets-history-meta`,children:[` · `,e.format??`unknown`,` · `,Bc(e.exported_at)]})]})},e.recipe_id))})]}):null,(0,V.jsx)(`div`,{className:`share-presets-footer`,children:(0,V.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-manage`,onClick:()=>{n(),i(!1)},children:`Manage presets…`})})]}):null]})}var Vc=`share-manage-presets-title`;function Hc({open:e,onClose:t}){let[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(null);W((0,g.useMemo)(()=>e?[{key:`Escape`,scope:`modal`,action:t}]:[],[e,t]));let c=(0,g.useRef)(null),l=(0,g.useRef)(!1);(0,g.useEffect)(()=>{if(e)l.current||(l.current=!0,c.current=document.activeElement);else if(l.current){l.current=!1;let e=c.current;if(c.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e]),(0,g.useEffect)(()=>{if(!e)return;let t=!1;return s(null),(async()=>{try{let e=await Ec();if(t)return;let n=[];for(let[t,r]of Object.entries(e.presets))for(let[e,i]of Object.entries(r))n.push({panel:t,name:e,record:i});n.sort((e,t)=>e.panel===t.panel?e.name.localeCompare(t.name):e.panel.localeCompare(t.panel)),r(n)}catch(e){if(t)return;s((e instanceof Q?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}})(),()=>{t=!0}},[e]);async function u(e){a(!0),s(null);try{await Oc(e.panel,e.name),r(t=>t.filter(t=>!(t.panel===e.panel&&t.name===e.name))),B({type:`SHOW_STATUS_TOAST`,text:`Deleted preset "${e.name}"`})}catch(e){s((e instanceof Q?e.message??`HTTP ${e.status}`:e.message)??`Delete failed`)}finally{a(!1)}}async function d(e,t){a(!0),s(null);try{await Dc({panel:e.panel,name:t,template_id:e.record.template_id,options:e.record.options}),await Oc(e.panel,e.name),r(n=>n.map(n=>n.panel===e.panel&&n.name===e.name?{...n,name:t}:n)),B({type:`SHOW_STATUS_TOAST`,text:`Renamed to "${t}"`})}catch(e){s((e instanceof Q?e.message??`HTTP ${e.status}`:e.message)??`Rename failed`)}finally{a(!1)}}return e?(0,V.jsxs)(`div`,{className:`share-manage-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":Vc,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`share-manage-header`,children:[(0,V.jsx)(`h2`,{id:Vc,children:`Manage presets`}),(0,V.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close`,className:`share-manage-close`,children:`⤬`})]}),o?(0,V.jsx)(`div`,{className:`share-manage-error`,role:`alert`,children:o}):null,n.length===0&&!o?(0,V.jsx)(`p`,{className:`share-manage-empty`,children:`No saved presets yet.`}):null,n.length>0?(0,V.jsxs)(`table`,{className:`share-manage-table`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{children:`Panel`}),(0,V.jsx)(`th`,{children:`Name`}),(0,V.jsx)(`th`,{children:`Saved at`}),(0,V.jsx)(`th`,{})]})}),(0,V.jsx)(`tbody`,{children:n.map(e=>(0,V.jsx)(Uc,{row:e,busy:i,onDelete:()=>void u(e),onRename:t=>void d(e,t)},`${e.panel}/${e.name}`))})]}):null]}):null}function Uc({row:e,busy:t,onDelete:n,onRename:r}){let[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(e.name),c=()=>{let t=o.trim();if(!t||t===e.name){s(e.name),a(!1);return}r(t),a(!1)};return(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`td`,{children:Cc(e.panel)}),(0,V.jsx)(`td`,{children:i?(0,V.jsx)(`input`,{className:`share-manage-name-input`,autoFocus:!0,value:o,disabled:t,maxLength:64,onChange:e=>s(e.target.value),onKeyDown:t=>{t.key===`Enter`?(t.preventDefault(),c()):t.key===`Escape`&&(t.preventDefault(),t.stopPropagation(),s(e.name),a(!1))}}):(0,V.jsx)(`span`,{children:e.name})}),(0,V.jsx)(`td`,{children:e.record.saved_at}),(0,V.jsxs)(`td`,{className:`share-manage-actions`,children:[(0,V.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>{i?(s(e.name),a(!1)):a(!0)},children:i?`Cancel`:`Rename`}),(0,V.jsx)(`button`,{type:`button`,disabled:t,onClick:n,children:`Delete`})]})]})}function Wc(){return{format:`md`,theme:`light`,reveal_projects:!1,no_branding:!1,top_n:5,period:{kind:`current`},project_allowlist:null,show_chart:!0,show_table:!0}}function Gc(e,t){if(!t)return e;let n={...e,...t};return t.period&&(n.period={...e.period,...t.period}),n}function Kc({panel:e,onClose:t,initialParams:n}){let r=Cc(e),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),[u,d]=(0,g.useState)(()=>{let e=Wc();return n?.windowWeeks==null?e:{...e,windowWeeks:n.windowWeeks}}),f=(0,g.useRef)(!1),[p,m]=(0,g.useState)(!1),h=`share-modal-title`;W((0,g.useMemo)(()=>[{key:`Escape`,scope:`overlay`,when:()=>!p&&R().composerModal===null,action:t}],[t,p])),(0,g.useEffect)(()=>{let t=!1;return a(null),s(null),pc(e).then(e=>{if(t)return;a(e.templates);let n=e.templates[0];n&&(l(n.id),f.current||d(e=>Gc(e,n.default_options)))}).catch(e=>{t||s(e instanceof Q?`Couldn't load templates: ${e.message??`HTTP ${e.status}`}`:`Couldn't load templates: ${e.message}`)}),()=>{t=!0}},[e]),(0,g.useEffect)(()=>{if(!i||!c||f.current)return;let e=i.find(e=>e.id===c);e&&d(t=>Gc(t,e.default_options))},[c,i]);let _=e=>{f.current=!0,d(e)};return(0,V.jsxs)(`div`,{className:`share-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":h,onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(`header`,{className:`share-modal-header`,children:(0,V.jsxs)(`h2`,{id:h,children:[`Share `,r,` report`]})}),(0,V.jsxs)(`div`,{className:`share-modal-body`,children:[(0,V.jsxs)(`section`,{className:`share-section share-gallery-section`,"aria-label":`Template gallery`,children:[(0,V.jsx)(`div`,{className:`share-gallery-header`,children:(0,V.jsx)($,{panel:e,onPick:(e,t)=>{l(e),f.current=!0,d(e=>({...e,...t}))},onManage:()=>m(!0)})}),(0,V.jsx)(_c,{panel:e,templates:i,error:o,selectedTemplateId:c,onSelect:e=>l(e)})]}),(0,V.jsxs)(`section`,{className:`share-section share-main-section`,children:[(0,V.jsx)(`div`,{className:`share-knobs-col`,"aria-label":`Render options`,children:(0,V.jsx)(vc,{options:u,onChange:_})}),(0,V.jsx)(`div`,{className:`share-preview-col`,"aria-label":`Live preview`,children:(0,V.jsx)(xc,{panel:e,templateId:c,options:u})})]})]}),(0,V.jsx)(`footer`,{className:`share-modal-footer`,children:(0,V.jsx)(zc,{panel:e,templateId:c,options:u,onOptionsChange:_})}),(0,V.jsx)(`button`,{type:`button`,className:`share-modal-close`,"aria-label":`Close share modal`,onClick:t,children:`⤬`}),(0,V.jsx)(Hc,{open:p,onClose:()=>m(!1)})]})}function qc(e,t){return{title:t.title,theme:t.theme,format:t.format,no_branding:t.no_branding,reveal_projects:t.reveal_projects,sections:e.map(e=>({snapshot:{panel:e.panel,template_id:e.template_id,options:e.options,data_digest_at_add:e.data_digest_at_add,kernel_version:e.kernel_version}}))}}async function Jc(e,t){let n=await fetch(`/api/share/compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal});if(!n.ok){let e={};try{e=await n.json()}catch{}throw new Q(n.status,e.field,e.error??`HTTP ${n.status}`,e.code)}return n.json()}function Yc({items:e,results:t,kernelVersion:n,onRefresh:r,onRemove:i,onPreviewOnly:a}){let o=Ur(Hr(J,{activationConstraint:{distance:4}}),Hr(Ri,{coordinateGetter:po}));function s(t){if(!t.over||t.active.id===t.over.id)return;let n=e.findIndex(e=>e.id===t.active.id),r=e.findIndex(e=>e.id===t.over.id);n<0||r<0||B({type:`BASKET_REORDER`,fromIdx:n,toIdx:r})}return(0,V.jsx)(La,{sensors:o,collisionDetection:Zr,onDragEnd:s,children:(0,V.jsx)(eo,{items:e.map(e=>e.id),strategy:Za,children:(0,V.jsx)(`ul`,{className:`composer-section-list`,children:e.map((e,o)=>(0,V.jsx)(Xc,{item:e,result:t[o],kernelVersion:n,onRefresh:r,onRemove:i,onPreviewOnly:a},e.id))})})})}function Xc({item:e,result:t,kernelVersion:n,onRefresh:r,onRemove:i,onPreviewOnly:a}){let{attributes:o,listeners:s,setNodeRef:c,transform:l,transition:u,isDragging:d}=co({id:e.id}),f=yo(),p={transform:Dr.Transform.toString(l),transition:f?void 0:u,opacity:d?.4:1},[m,h]=(0,g.useState)(!1),_=t?.drift_detected,v=e.kernel_version!==n,y=!!(_||v);return(0,V.jsxs)(`li`,{ref:c,style:p,className:`composer-section-row`,children:[(0,V.jsx)(`button`,{className:`composer-drag-handle`,"aria-label":`Reorder ${e.label_hint}`,type:`button`,...o,...s,children:`≡`}),(0,V.jsx)(`span`,{className:`composer-section-label`,children:e.label_hint}),y?(0,V.jsx)(`span`,{className:`composer-outdated-badge`,title:_&&v?`Data and kernel both shifted since add-time. Refresh to update.`:_?`Data has changed since this section was added. Refresh to update.`:`Kernel updated since this section was added. Refresh to re-render at the new version.`,children:`Outdated`}):null,(0,V.jsxs)(`div`,{className:`composer-section-actions`,children:[(0,V.jsx)(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-expanded":m,onClick:()=>h(e=>!e),"aria-label":`Actions for ${e.label_hint}`,children:`⋯`}),m?(0,V.jsxs)(`ul`,{role:`menu`,className:`composer-section-menu`,children:[(0,V.jsx)(`li`,{children:(0,V.jsx)(`button`,{type:`button`,onClick:()=>{a(e.id),h(!1)},children:`Preview only this`})}),(0,V.jsx)(`li`,{children:(0,V.jsx)(`button`,{type:`button`,onClick:()=>{r(e.id),h(!1)},children:`Refresh from current data`})}),(0,V.jsx)(`li`,{children:(0,V.jsx)(`button`,{type:`button`,onClick:()=>{i(e.id),h(!1)},"aria-label":`Remove ${e.label_hint}`,children:`Remove`})})]}):null]})]})}function Zc(e,t){return t&&e>0}function Qc(e){return`cctally-report-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${e===`md`?`md`:e}`}function $c(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}function el(e){return e===`light`?`#ffffff`:`#0f172a`}function tl(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}var nl=200;function rl(){return R().composerModal}function il(){return R().basket}var al=`composer-modal-title`;function ol(){let e=(0,g.useSyncExternalStore)(z,rl),t=(0,g.useSyncExternalStore)(z,il),n=nn(),r=(0,g.useRef)(null),i=(0,g.useRef)(!1),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(`light`),[l,u]=(0,g.useState)(`html`),[d,f]=(0,g.useState)(!0),[p,m]=(0,g.useState)(!1),[h,_]=(0,g.useState)(null),[v,y]=(0,g.useState)(null),[b,x]=(0,g.useState)(!1),S=(0,g.useRef)(null),[C,w]=(0,g.useState)(null),[T,ee]=(0,g.useState)(null);(0,g.useEffect)(()=>{ee(null)},[l,s,d,p]),W((0,g.useMemo)(()=>[{key:`Escape`,scope:`overlay`,when:()=>R().composerModal!==null,action:()=>B(ge())}],[])),(0,g.useEffect)(()=>{e?.open&&a===``&&o(`cctally report — ${new Date().toISOString().slice(0,10)}`)},[e?.open,a]),(0,g.useEffect)(()=>{if(e?.open)i.current||(i.current=!0,r.current=document.activeElement);else if(i.current){i.current=!1;let e=r.current;if(r.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e?.open]),(0,g.useEffect)(()=>{if(!e?.open||t.items.length===0||a===``)return;let n=setTimeout(()=>{S.current?.abort();let e=new AbortController;S.current=e,x(!0),y(null),Jc(qc(t.items,{title:a,theme:s,format:l,no_branding:p,reveal_projects:!d}),{signal:e.signal}).then(t=>{e.signal.aborted||_(t)}).catch(t=>{t?.name!==`AbortError`&&(e.signal.aborted||y(t instanceof Q?t.message??`HTTP ${t.status}`:t.message))}).finally(()=>{e.signal.aborted||x(!1)})},nl);return()=>clearTimeout(n)},[e?.open,t.items,a,s,l,d,p]);async function te(e){let n=t.items.findIndex(t=>t.id===e);if(n<0)return;let r=t.items[n];try{let t=await mc({panel:r.panel,template_id:r.template_id,options:{...r.options,reveal_projects:!d}}),i=ye({panel:r.panel,template_id:r.template_id,options:r.options,added_at:new Date().toISOString(),data_digest_at_add:t.snapshot.data_digest,kernel_version:t.snapshot.kernel_version,label_hint:r.label_hint,id:r.id});B({type:`BASKET_REMOVE`,id:e}),B({type:`BASKET_ADD`,item:i});let a=R().basket.items.length-1;a!==n&&B({type:`BASKET_REORDER`,fromIdx:a,toIdx:n})}catch(e){y(`Refresh failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}}let E=async e=>{let n=await Jc(qc(t.items,{title:a,theme:s,format:e,no_branding:p,reveal_projects:!d}));return{body:n.body,content_type:n.content_type}},D=e=>B({type:`SHOW_STATUS_TOAST`,text:e}),O=async(e,t,n)=>{if(C==null){w(e),ee(null);try{await t()}catch(e){ee(`${n} failed: ${e instanceof Q?e.message??`HTTP ${e.status}`:e.message}`)}finally{w(null)}}},ne=()=>O(`copy`,async()=>{let{body:e}=await E(`md`);if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(e),D(`Copied`)},`Copy`),re=()=>O(`download`,async()=>{let{body:e}=await E(l),t=new Blob([e],{type:$c(l)});tl(Qc(l),t),D(`Downloaded`)},`Download`),ie=()=>O(`open`,async()=>{let{body:e}=await E(l),t=new Blob([e],{type:$c(l)}),n=URL.createObjectURL(t);window.open(n,`_blank`,`noopener,noreferrer`)},`Open`),k=()=>O(`png`,async()=>{let{body:e}=await E(`svg`),t=await Mc(e,2,el(s));tl(Qc(`svg`).replace(/\.svg$/,`.png`),t),D(`PNG downloaded`)},`PNG export`),A=()=>O(`print`,async()=>{let{body:e}=await E(`html`);Nc(e)},`Print`),ae=C==null&&l===`md`&&t.items.length>0,oe=C==null&&t.items.length>0,se=C==null&&(l===`html`||l===`svg`)&&t.items.length>0,j=C==null&&l===`svg`&&t.items.length>0,ce=C==null&&l===`html`&&t.items.length>0,M=!d,le=Zc(t.items.length,M),N=M?t.items.length:0;return e?.open?t.items.length===0?(0,V.jsxs)(`div`,{className:`composer-modal composer-modal-empty${n?` composer-modal-mobile`:``}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":al,children:[(0,V.jsxs)(`header`,{className:`composer-modal-header`,children:[(0,V.jsx)(`h2`,{id:al,children:`Compose report`}),(0,V.jsx)(`button`,{type:`button`,className:`composer-modal-close`,onClick:()=>B(ge()),"aria-label":`Close`,children:`⤬`})]}),(0,V.jsx)(`p`,{className:`composer-empty-message`,children:`Basket is empty. Open any panel's share menu and pick + Basket to add a section.`})]}):(0,V.jsxs)(`div`,{className:`composer-modal${n?` composer-modal-mobile`:``}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":al,children:[(0,V.jsxs)(`header`,{className:`composer-modal-header`,children:[(0,V.jsx)(`h2`,{id:al,children:`Compose report`}),(0,V.jsx)(`button`,{type:`button`,className:`composer-modal-close`,onClick:()=>B(ge()),"aria-label":`Close`,children:`⤬`})]}),(0,V.jsxs)(`div`,{className:`composer-knobs`,children:[(0,V.jsxs)(`label`,{children:[`Title`,(0,V.jsx)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value)})]}),(0,V.jsxs)(`label`,{children:[`Theme`,(0,V.jsxs)(`select`,{value:s,onChange:e=>c(e.target.value),children:[(0,V.jsx)(`option`,{value:`light`,children:`light`}),(0,V.jsx)(`option`,{value:`dark`,children:`dark`})]})]}),(0,V.jsxs)(`label`,{children:[`Format`,(0,V.jsxs)(`select`,{value:l,onChange:e=>u(e.target.value),children:[(0,V.jsx)(`option`,{value:`html`,children:`html`}),(0,V.jsx)(`option`,{value:`md`,children:`md`}),(0,V.jsx)(`option`,{value:`svg`,children:`svg`})]})]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked)}),`Anon on export`]}),(0,V.jsxs)(`label`,{children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:p,onChange:e=>m(e.target.checked)}),`No branding`]})]}),le?(0,V.jsxs)(`div`,{className:`composer-anon-banner`,role:`status`,"aria-live":`polite`,children:[(0,V.jsxs)(`span`,{children:[N,` section`,N===1?``:`s`,` contain real project names. They will appear in the export.`]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>f(!0),children:`Anonymize all`})]}):null,(0,V.jsxs)(`div`,{className:`composer-body`,children:[(0,V.jsx)(Yc,{items:t.items,results:h?.snapshot.section_results??[],kernelVersion:h?.snapshot.kernel_version??1,onRefresh:e=>{te(e)},onRemove:e=>B({type:`BASKET_REMOVE`,id:e}),onPreviewOnly:e=>{}}),(0,V.jsx)(`iframe`,{className:`composer-preview`,title:`Combined preview`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:h?.body??`<p>Composing…</p>`})]}),b?(0,V.jsx)(`div`,{className:`composer-busy`,children:`Composing…`}):null,v?(0,V.jsx)(`div`,{className:`composer-error`,role:`alert`,children:v}):null,T?(0,V.jsx)(`div`,{className:`composer-error`,role:`alert`,children:T}):null,(0,V.jsxs)(`footer`,{className:`composer-actions`,children:[(0,V.jsxs)(`div`,{className:`composer-export-row`,children:[(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-copy`,onClick:ne,disabled:!ae,title:l===`md`?C===`copy`?`Copying…`:`Copy composed report to clipboard`:`Copy is available for Markdown only`,children:C===`copy`?`Copying…`:`Copy`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-download`,onClick:re,disabled:!oe,title:C===`download`?`Downloading…`:`Download composed report`,children:C===`download`?`Downloading…`:`Download`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-open`,onClick:ie,disabled:!se,title:l===`html`||l===`svg`?C===`open`?`Opening…`:`Open composed report in new tab`:`Open is available for HTML/SVG`,children:C===`open`?`Opening…`:`Open`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-png`,onClick:k,disabled:!j,title:l===`svg`?C===`png`?`Rasterizing…`:`Download composed report as PNG`:`PNG export — available for SVG format only`,children:C===`png`?`Rasterizing…`:`PNG`}),(0,V.jsx)(`button`,{type:`button`,className:`share-action share-action-print`,onClick:A,disabled:!ce,title:l===`html`?C===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:C===`print`?`Printing…`:`Print → PDF`})]}),(0,V.jsx)(`button`,{type:`button`,className:`composer-clear-all`,onClick:()=>B({type:`BASKET_CLEAR`}),children:`Clear all`})]})]}):null}function sl(){let e=(0,g.useSyncExternalStore)(z,()=>R().shareModal),t=(0,g.useRef)(null),n=(0,g.useRef)(!1);(0,g.useEffect)(()=>{if(e)n.current||(n.current=!0,t.current=(e.triggerId?document.getElementById(e.triggerId):null)??document.activeElement);else if(n.current){n.current=!1;let e=t.current;if(t.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e]);let r=()=>B(me());return(0,V.jsxs)(V.Fragment,{children:[e?(0,V.jsx)(`div`,{id:`share-modal-root`,className:`share-overlay`,onClick:e=>{e.stopPropagation(),e.target===e.currentTarget&&r()},children:(0,V.jsx)(Kc,{panel:e.panel,initialParams:e.params,onClose:r})}):null,(0,V.jsx)(ol,{})]})}function cl(){let e=(0,g.useSyncExternalStore)(z,()=>R().prefs.panelOrder);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Tt,{}),(0,V.jsx)(To,{items:e,children:(0,V.jsx)(`div`,{className:`grid`,children:e.map((e,t)=>(0,V.jsx)(bo,{id:e,index:t},e))})}),(0,V.jsx)(jt,{}),(0,V.jsx)(Hn,{}),(0,V.jsx)(qn,{}),(0,V.jsx)(dc,{}),(0,V.jsx)(sl,{}),(0,V.jsx)(qo,{}),(0,V.jsx)(Oo,{}),(0,V.jsx)(er,{})]})}function ll(e){let t=R().prefs.panelOrder,n=e-1;if(n<0||n>=t.length)return;let r=zn[t[n]];r&&r.openAction()}var ul=`Click a panel first, then press S to share it.`;function dl(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(tn).matches}function fl(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function pl(){return{key:`S`,scope:`global`,when:()=>{let e=R();return!(dl()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>{let e=fl();if(e===null){B({type:`SHOW_STATUS_TOAST`,text:ul});return}if(!j.has(e))return;let t=e;B(F(t,`${t}-panel`))}}}function ml(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(tn).matches}function hl(){return{key:`B`,scope:`global`,when:()=>{let e=R();return!(ml()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>B(he())}}function gl(){return[hl()]}dt(),$e(),Lt();var _l=()=>{let e=R();return!e.update.modalOpen&&!e.doctorModalOpen};It([{key:`1`,scope:`global`,when:_l,action:()=>ll(1)},{key:`2`,scope:`global`,when:_l,action:()=>ll(2)},{key:`3`,scope:`global`,when:_l,action:()=>ll(3)},{key:`4`,scope:`global`,when:_l,action:()=>ll(4)},{key:`5`,scope:`global`,when:_l,action:()=>ll(5)},{key:`6`,scope:`global`,when:_l,action:()=>ll(6)},{key:`7`,scope:`global`,when:_l,action:()=>ll(7)},{key:`8`,scope:`global`,when:_l,action:()=>ll(8)},{key:`9`,scope:`global`,when:_l,action:()=>ll(9)},{key:`0`,scope:`global`,when:_l,action:()=>ll(10)},{key:`r`,scope:`global`,when:_l,action:()=>Ct()},{key:`q`,scope:`global`,when:_l,action:At},{key:`n`,scope:`global`,when:_l,action:()=>Ot(1)},{key:`N`,scope:`global`,when:_l,action:()=>Ot(-1)},{key:`d`,scope:`global`,when:()=>{let e=R();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>B({type:`OPEN_DOCTOR_MODAL`})},pl(),...gl(),{key:`c`,scope:`sessions`,when:()=>!R().openModal,action:()=>{let e=R().prefs.sessionsCollapsed;B({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]);var vl=document.getElementById(`root`);if(!vl)throw Error(`missing #root`);(0,_.createRoot)(vl).render((0,V.jsx)(g.StrictMode,{children:(0,V.jsx)(cl,{})}));
|