nomnomtokens 0.2.0 → 0.3.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/README.md +15 -10
- package/dist/index.js +4208 -3455
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/web/nitro.json +1 -1
- package/web/public/_nuxt/4C_a23zt.js +1 -0
- package/web/public/_nuxt/B1jhn8zK.js +1 -0
- package/web/public/_nuxt/B2aHje2L.js +1 -0
- package/web/public/_nuxt/BAfR3Wl32.js +1 -0
- package/web/public/_nuxt/BMSLzLlT.js +1 -0
- package/web/public/_nuxt/BOKlFKrX.js +1 -0
- package/web/public/_nuxt/Ba6z8j_4.js +1 -0
- package/web/public/_nuxt/{B1O-ibEy.js → Bag9D5rq.js} +2 -2
- package/web/public/_nuxt/Bia8fJFj.js +1 -0
- package/web/public/_nuxt/{tqUqm2f-.js → Bprokln-.js} +1 -1
- package/web/public/_nuxt/C51OzH6V.js +1 -0
- package/web/public/_nuxt/C9MiT_Wm.js +96 -0
- package/web/public/_nuxt/CDzUujek.js +2 -0
- package/web/public/_nuxt/CIHIOSzn.js +1 -0
- package/web/public/_nuxt/CIKwfDBl.js +1 -0
- package/web/public/_nuxt/COwSpxrx.js +1 -0
- package/web/public/_nuxt/CZSbzIi-.js +1 -0
- package/web/public/_nuxt/CfBMjq8x.js +1 -0
- package/web/public/_nuxt/Ch3y3mGJ.js +1 -0
- package/web/public/_nuxt/{B7bAnU98.js → CkRZsevx.js} +1 -1
- package/web/public/_nuxt/Cq1Sq3Go.js +1 -0
- package/web/public/_nuxt/CsN_oUfs.js +1 -0
- package/web/public/_nuxt/CvIugsJe2.js +1 -0
- package/web/public/_nuxt/D49wVVwm2.js +1 -0
- package/web/public/_nuxt/D4C6J8YV.js +1 -0
- package/web/public/_nuxt/D7Ph0tZD.js +1 -0
- package/web/public/_nuxt/D9Mxq5ER.js +1 -0
- package/web/public/_nuxt/D9j6aFUy.js +1 -0
- package/web/public/_nuxt/DMgad8mU.js +1 -0
- package/web/public/_nuxt/DPnm6zS2.js +1 -0
- package/web/public/_nuxt/DQEnwY-5.js +1 -0
- package/web/public/_nuxt/Dh50_bkx.js +1 -0
- package/web/public/_nuxt/DhJW7zb9.js +1 -0
- package/web/public/_nuxt/DnTwjl0_2.js +47 -0
- package/web/public/_nuxt/DsH8sTHf.js +1 -0
- package/web/public/_nuxt/Dy30RUCD2.js +1 -0
- package/web/public/_nuxt/OU1MVgXQ.js +1 -0
- package/web/public/_nuxt/W3KL_OjU.js +1 -0
- package/web/public/_nuxt/{BgvEQa6E.js → ZjfInHdu.js} +2 -2
- package/web/public/_nuxt/builds/latest.json +1 -1
- package/web/public/_nuxt/builds/meta/e90c8a2d-9e50-4b58-8019-6b1bf4c8fc6d.json +1 -0
- package/web/public/_nuxt/cbxnBwm6.js +1 -0
- package/web/public/_nuxt/entry.MbqNBIeH.css +2 -0
- package/web/public/_nuxt/m3-Vaz25.js +1 -0
- package/web/server/chunks/_/filters.mjs +1 -1
- package/web/server/chunks/build/{Badge-C0eTW_zX.mjs → Badge-BmQgPqZ1.mjs} +2 -2
- package/web/server/chunks/build/{Badge-C0eTW_zX.mjs.map → Badge-BmQgPqZ1.mjs.map} +1 -1
- package/web/server/chunks/build/{Button-7BTto1uR.mjs → Button-DnpDAHT3.mjs} +2 -2
- package/web/server/chunks/build/{Button-7BTto1uR.mjs.map → Button-DnpDAHT3.mjs.map} +1 -1
- package/web/server/chunks/build/Card-Be4cmWue.mjs +30 -0
- package/web/server/chunks/build/Card-Be4cmWue.mjs.map +1 -0
- package/web/server/chunks/build/{CardAction-M7nFIGyX.mjs → CardAction-CkY0xYx3.mjs} +2 -2
- package/web/server/chunks/build/{CardAction-M7nFIGyX.mjs.map → CardAction-CkY0xYx3.mjs.map} +1 -1
- package/web/server/chunks/build/{CardTitle-D9ve_H9E.mjs → CardContent-C_IMqI8K.mjs} +26 -26
- package/web/server/chunks/build/CardContent-C_IMqI8K.mjs.map +1 -0
- package/web/server/chunks/build/{EmptyState-DWgJMVCI.mjs → EmptyState-FUeBWCT0.mjs} +2 -2
- package/web/server/chunks/build/{EmptyState-DWgJMVCI.mjs.map → EmptyState-FUeBWCT0.mjs.map} +1 -1
- package/web/server/chunks/build/{FilterBar-vwbfttN7.mjs → FilterBar-BlEsJ5dy.mjs} +5 -5
- package/web/server/chunks/build/{FilterBar-vwbfttN7.mjs.map → FilterBar-BlEsJ5dy.mjs.map} +1 -1
- package/web/server/chunks/build/{Progress-BckzQSF5.mjs → Progress-BUpfE9Os.mjs} +2 -2
- package/web/server/chunks/build/{Progress-BckzQSF5.mjs.map → Progress-BUpfE9Os.mjs.map} +1 -1
- package/web/server/chunks/build/Skeleton-BidW2_bw.mjs +28 -0
- package/web/server/chunks/build/Skeleton-BidW2_bw.mjs.map +1 -0
- package/web/server/chunks/build/{Sparkline-Cxifh2uK.mjs → Sparkline-CaCRq45J.mjs} +6 -5
- package/web/server/chunks/build/Sparkline-CaCRq45J.mjs.map +1 -0
- package/web/server/chunks/build/{TableCell-BZwItbY_.mjs → TableCell-xM3CadYu.mjs} +2 -2
- package/web/server/chunks/build/{TableCell-BZwItbY_.mjs.map → TableCell-xM3CadYu.mjs.map} +1 -1
- package/web/server/chunks/build/{Tooltip-BVTXdgMT.mjs → Tooltip-BZX3jLtj.mjs} +16 -4
- package/web/server/chunks/build/Tooltip-BZX3jLtj.mjs.map +1 -0
- package/web/server/chunks/build/{_id_-BKmH0aHH.mjs → _id_-BvccBwzH.mjs} +14 -11
- package/web/server/chunks/build/_id_-BvccBwzH.mjs.map +1 -0
- package/web/server/chunks/build/alerts-6wBAzQHU.mjs +159 -0
- package/web/server/chunks/build/alerts-6wBAzQHU.mjs.map +1 -0
- package/web/server/chunks/build/{fetch-Debw9R9i.mjs → asyncData-CMa0z9Yw.mjs} +8 -129
- package/web/server/chunks/build/asyncData-CMa0z9Yw.mjs.map +1 -0
- package/web/server/chunks/build/default-BokiYQNv.mjs +847 -0
- package/web/server/chunks/build/default-BokiYQNv.mjs.map +1 -0
- package/web/server/chunks/build/error-404-DPRNxhXC.mjs +2 -2
- package/web/server/chunks/build/error-500-DXGrtqsW.mjs +2 -2
- package/web/server/chunks/build/export-BhfwmSMl.mjs +184 -0
- package/web/server/chunks/build/export-BhfwmSMl.mjs.map +1 -0
- package/web/server/chunks/build/fetch-DJ9NNbFP.mjs +131 -0
- package/web/server/chunks/build/fetch-DJ9NNbFP.mjs.map +1 -0
- package/web/server/chunks/build/import-CO3NEu0P.mjs +233 -0
- package/web/server/chunks/build/import-CO3NEu0P.mjs.map +1 -0
- package/web/server/chunks/build/{limits-CnRLojCD.mjs → limits-CX9zBSqw.mjs} +15 -12
- package/web/server/chunks/build/limits-CX9zBSqw.mjs.map +1 -0
- package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs +2 -2
- package/web/server/chunks/build/{pages-DlIWqsLr.mjs → pages-DyXqJyPq.mjs} +140 -15
- package/web/server/chunks/build/pages-DyXqJyPq.mjs.map +1 -0
- package/web/server/chunks/build/{providers-DOMeWSDZ.mjs → providers-Ca7keu2G.mjs} +17 -14
- package/web/server/chunks/build/providers-Ca7keu2G.mjs.map +1 -0
- package/web/server/chunks/build/scopes-E5z80S19.mjs +1348 -0
- package/web/server/chunks/build/scopes-E5z80S19.mjs.map +1 -0
- package/web/server/chunks/build/{sessions-peyhKv2_.mjs → sessions-CESRiCOS.mjs} +14 -11
- package/web/server/chunks/build/sessions-CESRiCOS.mjs.map +1 -0
- package/web/server/chunks/build/{timeline-P2RrZyBs.mjs → timeline-d27OlbZN.mjs} +16 -13
- package/web/server/chunks/build/timeline-d27OlbZN.mjs.map +1 -0
- package/web/server/chunks/build/useFormat-NkyUqeik.mjs +71 -0
- package/web/server/chunks/build/useFormat-NkyUqeik.mjs.map +1 -0
- package/web/server/chunks/build/{useStats-Dor6kLek.mjs → useStats-CmYzpdbE.mjs} +11 -3
- package/web/server/chunks/build/useStats-CmYzpdbE.mjs.map +1 -0
- package/web/server/chunks/nitro/nitro.mjs +739 -195
- package/web/server/chunks/nitro/nitro.mjs.map +1 -1
- package/web/server/chunks/routes/api/alerts.get.mjs +24 -0
- package/web/server/chunks/routes/api/alerts.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/alerts.put.mjs +27 -0
- package/web/server/chunks/routes/api/alerts.put.mjs.map +1 -0
- package/web/server/chunks/routes/api/events/stream.get.mjs +3 -3
- package/web/server/chunks/routes/api/export.get.mjs +36 -0
- package/web/server/chunks/routes/api/export.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/import/csv.post.mjs +65 -0
- package/web/server/chunks/routes/api/import/csv.post.mjs.map +1 -0
- package/web/server/chunks/routes/api/ingest.post.mjs +3 -3
- package/web/server/chunks/routes/api/meta.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/heatmap.get.mjs +2 -2
- package/web/server/chunks/routes/api/stats/limits.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/providers.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/scopes.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/series.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/session/_id_.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/sessions.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/summary.get.mjs +3 -3
- package/web/server/chunks/routes/renderer.mjs +2 -2
- package/web/server/chunks/virtual/entry.mjs +26 -11
- package/web/server/chunks/virtual/precomputed.mjs +1 -1
- package/web/server/chunks/virtual/precomputed.mjs.map +1 -1
- package/web/server/index.mjs +3 -3
- package/web/public/_nuxt/075nz0Lp.js +0 -1
- package/web/public/_nuxt/BDF8cO8j.js +0 -1
- package/web/public/_nuxt/BGnU88BC.js +0 -1
- package/web/public/_nuxt/BPhzhJvP.js +0 -1
- package/web/public/_nuxt/BgaLDD2o.js +0 -1
- package/web/public/_nuxt/BioUjjBz.js +0 -1
- package/web/public/_nuxt/BlvSknce.js +0 -1
- package/web/public/_nuxt/Bn14i44R.js +0 -1
- package/web/public/_nuxt/BnfUOzcc.js +0 -1
- package/web/public/_nuxt/Bv0odo9W.js +0 -1
- package/web/public/_nuxt/Bxx0Z5z6.js +0 -1
- package/web/public/_nuxt/CiWIPYVi.js +0 -1
- package/web/public/_nuxt/CqSNCP5f.js +0 -1
- package/web/public/_nuxt/Ctg1e1JV.js +0 -1
- package/web/public/_nuxt/Cu3rIkF2.js +0 -47
- package/web/public/_nuxt/Cutk9Ewh.js +0 -1
- package/web/public/_nuxt/DCVp7cZB.js +0 -96
- package/web/public/_nuxt/DCnkQFS0.js +0 -1
- package/web/public/_nuxt/DJbGqyvB.js +0 -1
- package/web/public/_nuxt/DMT7tA5C.js +0 -1
- package/web/public/_nuxt/M0pG6UQn.js +0 -1
- package/web/public/_nuxt/RlymLGHS.js +0 -1
- package/web/public/_nuxt/TmkSb4nj.js +0 -1
- package/web/public/_nuxt/_S09PGd-.js +0 -1
- package/web/public/_nuxt/builds/meta/63ad5f37-5b40-456d-8f53-69ff57b4903c.json +0 -1
- package/web/public/_nuxt/cHkFs-ms.js +0 -1
- package/web/public/_nuxt/entry.DTNjKx6y.css +0 -2
- package/web/public/_nuxt/fjfS4ymU.js +0 -1
- package/web/public/_nuxt/moFy8lON.js +0 -2
- package/web/public/_nuxt/oT-x2NdZ.js +0 -1
- package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs.map +0 -1
- package/web/server/chunks/build/Sparkline-Cxifh2uK.mjs.map +0 -1
- package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs.map +0 -1
- package/web/server/chunks/build/_id_-BKmH0aHH.mjs.map +0 -1
- package/web/server/chunks/build/default-C8deLrP0.mjs +0 -556
- package/web/server/chunks/build/default-C8deLrP0.mjs.map +0 -1
- package/web/server/chunks/build/fetch-Debw9R9i.mjs.map +0 -1
- package/web/server/chunks/build/limits-CnRLojCD.mjs.map +0 -1
- package/web/server/chunks/build/pages-DlIWqsLr.mjs.map +0 -1
- package/web/server/chunks/build/providers-DOMeWSDZ.mjs.map +0 -1
- package/web/server/chunks/build/scopes-Bagepvnf.mjs +0 -794
- package/web/server/chunks/build/scopes-Bagepvnf.mjs.map +0 -1
- package/web/server/chunks/build/sessions-peyhKv2_.mjs.map +0 -1
- package/web/server/chunks/build/timeline-P2RrZyBs.mjs.map +0 -1
- package/web/server/chunks/build/useFormat-BfI0x0lv.mjs +0 -119
- package/web/server/chunks/build/useFormat-BfI0x0lv.mjs.map +0 -1
- package/web/server/chunks/build/useStats-Dor6kLek.mjs.map +0 -1
- /package/web/public/_nuxt/{BDNMzG2s.js → BDNMzG2s2.js} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import{B as e,C as t,D as n,I as r,L as i,M as a,N as o,O as s,P as c,R as l,S as u,T as d,_ as f,a as p,b as m,c as h,f as g,g as _,h as v,i as y,k as b,l as x,m as S,n as ee,o as te,p as ne,r as re,s as ie,t as ae,u as oe,v as se,w as C,x as ce,z as w}from"./Bag9D5rq.js";import{B as le,D as T,E as ue,F as de,Gt as fe,Jt as E,M as D,N as O,O as k,Q as A,T as j,Tt as M,W as pe,X as me,Z as he,qt as ge,st as N,tt as _e,ut as P,v as ve,vt as ye,w as F}from"./ZjfInHdu.js";import{n as be}from"./CsN_oUfs.js";import{a as xe,o as Se}from"./DQEnwY-5.js";import{n as Ce}from"./D4C6J8YV.js";import{a as we,c as Te,n as Ee,r as De}from"./Ba6z8j_4.js";import{t as Oe}from"./W3KL_OjU.js";import{i as ke,n as Ae,r as je,t as Me}from"./Bia8fJFj.js";import{t as Ne}from"./m3-Vaz25.js";import{n as Pe,t as Fe}from"./D9j6aFUy.js";import{t as Ie}from"./C51OzH6V.js";import{t as Le}from"./COwSpxrx.js";function I(e){return function(){return e}}var Re=Math.cos,L=Math.sin,R=Math.sqrt,z=Math.PI;z/2;var B=2*z,ze=Math.PI,Be=2*ze,V=1e-6,Ve=Be-V;function He(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Ue(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return He;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var We=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?He:Ue(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>V)if(!(Math.abs(u*s-c*l)>V)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((ze-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>V&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>V||Math.abs(this._y1-l)>V)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Be+Be),d>Ve?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>V&&this._append`A${n},${n},0,${+(d>=ze)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};We.prototype;function Ge(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new We(t)}Array.prototype.slice;function Ke(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function qe(e){this._context=e}qe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function Je(e){return new qe(e)}function Ye(e){return e[0]}function Xe(e){return e[1]}function Ze(e,t){var n=I(!0),r=null,i=Je,a=null,o=Ge(s);e=typeof e==`function`?e:e===void 0?Ye:I(e),t=typeof t==`function`?t:t===void 0?Xe:I(t);function s(s){var c,l=(s=Ke(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:I(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:I(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:I(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}var Qe={draw(e,t){let n=R(t/z);e.moveTo(n,0),e.arc(0,0,n,0,B)}},$e={draw(e,t){let n=R(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},et=R(1/3),tt=et*2,nt={draw(e,t){let n=R(t/tt),r=n*et;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},rt={draw(e,t){let n=R(t),r=-n/2;e.rect(r,r,n,n)}},it=.8908130915292852,at=L(z/10)/L(7*z/10),ot=L(B/10)*at,st=-Re(B/10)*at,ct={draw(e,t){let n=R(t*it),r=ot*n,i=st*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=B*t/5,o=Re(a),s=L(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},lt=R(3),ut={draw(e,t){let n=-R(t/(lt*3));e.moveTo(0,n*2),e.lineTo(-lt*n,-n),e.lineTo(lt*n,-n),e.closePath()}},H=-.5,U=R(3)/2,dt=1/R(12),ft=(dt/2+1)*3,pt={draw(e,t){let n=R(t/ft),r=n/2,i=n*dt,a=r,o=n*dt+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(H*r-U*i,U*r+H*i),e.lineTo(H*a-U*o,U*a+H*o),e.lineTo(H*s-U*c,U*s+H*c),e.lineTo(H*r+U*i,H*i-U*r),e.lineTo(H*a+U*o,H*o-U*a),e.lineTo(H*s+U*c,H*c-U*s),e.closePath()}};function mt(e,t){let n=null,r=Ge(i);e=typeof e==`function`?e:I(e||Qe),t=typeof t==`function`?t:I(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:I(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:I(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function W(){}function G(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function K(e){this._context=e}K.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:G(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:G(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ht(e){return new K(e)}function gt(e){this._context=e}gt.prototype={areaStart:W,areaEnd:W,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:G(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function _t(e){return new gt(e)}function vt(e){this._context=e}vt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:G(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function yt(e){return new vt(e)}function bt(e,t){this._basis=new K(e),this._beta=t}bt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],a=e[n]-r,o=t[n]-i,s=-1,c;++s<=n;)c=s/n,this._basis.point(this._beta*e[s]+(1-this._beta)*(r+c*a),this._beta*t[s]+(1-this._beta)*(i+c*o));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var xt=(function e(t){function n(e){return t===1?new K(e):new bt(e,t)}return n.beta=function(t){return e(+t)},n})(.85);function q(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function St(e,t){this._context=e,this._k=(1-t)/6}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:q(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:q(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ct=(function e(t){function n(e){return new St(e,t)}return n.tension=function(t){return e(+t)},n})(0);function wt(e,t){this._context=e,this._k=(1-t)/6}wt.prototype={areaStart:W,areaEnd:W,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:q(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Tt=(function e(t){function n(e){return new wt(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Et(e,t){this._context=e,this._k=(1-t)/6}Et.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:q(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Dt=(function e(t){function n(e){return new Et(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Ot(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function kt(e,t){this._context=e,this._alpha=t}kt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Ot(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var At=(function e(t){function n(e){return t?new kt(e,t):new St(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function jt(e,t){this._context=e,this._alpha=t}jt.prototype={areaStart:W,areaEnd:W,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Ot(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Mt=(function e(t){function n(e){return t?new jt(e,t):new wt(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Nt(e,t){this._context=e,this._alpha=t}Nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ot(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Pt=(function e(t){function n(e){return t?new Nt(e,t):new Et(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Ft(e){this._context=e}Ft.prototype={areaStart:W,areaEnd:W,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function It(e){return new Ft(e)}function Lt(e){return e<0?-1:1}function Rt(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Lt(a)+Lt(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function zt(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Bt(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function J(e){this._context=e}J.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Bt(this,this._t0,zt(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Bt(this,zt(this,n=Rt(this,e,t)),n);break;default:Bt(this,this._t0,n=Rt(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Vt(e){this._context=new Ht(e)}(Vt.prototype=Object.create(J.prototype)).point=function(e,t){J.prototype.point.call(this,t,e)};function Ht(e){this._context=e}Ht.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function Ut(e){return new J(e)}function Wt(e){return new Vt(e)}function Gt(e){this._context=e}Gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Kt(e),i=Kt(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function Kt(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function qt(e){return new Gt(e)}function Y(e,t){this._context=e,this._t=t}Y.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Jt(e){return new Y(e,.5)}function Yt(e){return new Y(e,0)}function Xt(e){return new Y(e,1)}function Zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Zt(Object(n),!0).forEach(function(t){en(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $t(e){"@babel/helpers - typeof";return $t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},$t(e)}function en(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tn(){return tn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},tn.apply(this,arguments)}function nn(e,t){if(e){if(typeof e==`string`)return rn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rn(e,t)}}function rn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function an(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=nn(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,s=e},f:function(){try{!a&&n.return!=null&&n.return()}finally{if(o)throw s}}}}function on(e,t){var n=[],r=[];function i(e,t){if(e.length===1)n.push(e[0]),r.push(e[0]);else{for(var a=Array(e.length-1),o=0;o<a.length;o++)o===0&&n.push(e[0]),o===a.length-1&&r.push(e[o+1]),a[o]=[(1-t)*e[o][0]+t*e[o+1][0],(1-t)*e[o][1]+t*e[o+1][1]];i(a,t)}}return e.length&&i(e,t),{left:n,right:r.reverse()}}function sn(e){var t={};return e.length===4&&(t.x2=e[2][0],t.y2=e[2][1]),e.length>=3&&(t.x1=e[1][0],t.y1=e[1][1]),t.x=e[e.length-1][0],t.y=e[e.length-1][1],t.type=e.length===4?`C`:e.length===3?`Q`:`L`,t}function cn(e,t){t||=2;for(var n=[],r=e,i=1/t,a=0;a<t-1;a++){var o=i/(1-i*a),s=on(r,o);n.push(s.left),r=s.right}return n.push(r),n}function ln(e,t,n){var r=[[e.x,e.y]];return t.x1!=null&&r.push([t.x1,t.y1]),t.x2!=null&&r.push([t.x2,t.y2]),r.push([t.x,t.y]),cn(r,n).map(sn)}var un=/[MLCSTQAHVZmlcstqahv]|-?[\d.e+-]+/g,X={M:[`x`,`y`],L:[`x`,`y`],H:[`x`],V:[`y`],C:[`x1`,`y1`,`x2`,`y2`,`x`,`y`],S:[`x2`,`y2`,`x`,`y`],Q:[`x1`,`y1`,`x`,`y`],T:[`x`,`y`],A:[`rx`,`ry`,`xAxisRotation`,`largeArcFlag`,`sweepFlag`,`x`,`y`],Z:[]};Object.keys(X).forEach(function(e){X[e.toLowerCase()]=X[e]});function dn(e,t){for(var n=Array(e),r=0;r<e;r++)n[r]=t;return n}function fn(e){return`${e.type}${X[e.type].map(function(t){return e[t]}).join(`,`)}`}function pn(e,t){var n={x1:`x`,y1:`y`,x2:`x`,y2:`y`},r=[`xAxisRotation`,`largeArcFlag`,`sweepFlag`];if(e.type!==t.type&&t.type.toUpperCase()!==`M`){var i={};Object.keys(t).forEach(function(a){var o=t[a],s=e[a];s===void 0&&(r.includes(a)?s=o:(s===void 0&&n[a]&&(s=e[n[a]]),s===void 0&&(s=0))),i[a]=s}),i.type=t.type,e=i}return e}function mn(e,t,n){var r=[];if(t.type===`L`||t.type===`Q`||t.type===`C`)r=r.concat(ln(e,t,n));else{var i=tn({},e);i.type===`M`&&(i.type=`L`),r=r.concat(dn(n-1).map(function(){return i})),r.push(t)}return r}function hn(e,t,n){var r=e.length-1,i=t.length-1,a=r/i,o=dn(i).reduce(function(t,r,i){var o=Math.floor(a*i);if(n&&o<e.length-1&&n(e[o],e[o+1])){var s=a*i%1<.5;t[o]&&(s?o>0?--o:o<e.length-1&&(o+=1):o<e.length-1?o+=1:o>0&&--o)}return t[o]=(t[o]||0)+1,t},[]).reduce(function(t,n,r){if(r===e.length-1){var i=dn(n,tn({},e[e.length-1]));return i[0].type===`M`&&i.forEach(function(e){e.type=`L`}),t.concat(i)}return t.concat(mn(e[r],e[r+1],n))},[]);return o.unshift(e[0]),o}function gn(e){for(var t=(e||``).match(un)||[],n=[],r,i,a=0;a<t.length;++a)if(r=X[t[a]],r){i={type:t[a]};for(var o=0;o<r.length;++o)i[r[o]]=+t[a+o+1];a+=r.length,n.push(i)}return n}function _n(e,t,n){var r=e==null?[]:e.slice(),i=t==null?[]:t.slice(),a=$t(n)===`object`?n:{excludeSegment:n,snapEndsToInput:!0},o=a.excludeSegment,s=a.snapEndsToInput;if(!r.length&&!i.length)return function(){return[]};var c=(r.length===0||r[r.length-1].type===`Z`)&&(i.length===0||i[i.length-1].type===`Z`);r.length>0&&r[r.length-1].type===`Z`&&r.pop(),i.length>0&&i[i.length-1].type===`Z`&&i.pop(),r.length?i.length||i.push(r[0]):r.push(i[0]),Math.abs(i.length-r.length)!==0&&(i.length>r.length?r=hn(r,i,o):i.length<r.length&&(i=hn(i,r,o))),r=r.map(function(e,t){return pn(e,i[t])});var l=r.map(function(e){return Qt({},e)});return c&&(l.push({type:`Z`}),r.push({type:`Z`})),function(e){if(e===1&&s)return t??[];if(e===0)return r;for(var n=0;n<l.length;++n){var a=r[n],o=i[n],c=l[n],u=an(X[c.type]),d;try{for(u.s();!(d=u.n()).done;){var f=d.value;c[f]=(1-e)*a[f]+e*o[f],(f===`largeArcFlag`||f===`sweepFlag`)&&(c[f]=Math.round(c[f]))}}catch(e){u.e(e)}finally{u.f()}}return l}}function vn(e,t,n){var r=gn(e),i=gn(t),a=$t(n)===`object`?n:{excludeSegment:n,snapEndsToInput:!0},o=a.excludeSegment,s=a.snapEndsToInput;if(!r.length&&!i.length)return function(){return``};var c=_n(r,i,{excludeSegment:o,snapEndsToInput:s});return function(e){if(e===1&&s)return t??``;var n=c(e),r=``,i=an(n),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;r+=fn(o)}}catch(e){i.e(e)}finally{i.f()}return r}}var Z;(function(e){e.Basis=`basis`,e.BasisClosed=`basisClosed`,e.BasisOpen=`basisOpen`,e.Bundle=`bundle`,e.Cardinal=`cardinal`,e.CardinalClosed=`cardinalClosed`,e.CardinalOpen=`cardinalOpen`,e.CatmullRom=`catmullRom`,e.CatmullRomClosed=`catmullRomClosed`,e.CatmullRomOpen=`catmullRomOpen`,e.Linear=`linear`,e.LinearClosed=`linearClosed`,e.MonotoneX=`monotoneX`,e.MonotoneY=`monotoneY`,e.Natural=`natural`,e.Step=`step`,e.StepAfter=`stepAfter`,e.StepBefore=`stepBefore`})(Z||={});var yn={[Z.Basis]:ht,[Z.BasisClosed]:_t,[Z.BasisOpen]:yt,[Z.Bundle]:xt,[Z.Cardinal]:Ct,[Z.CardinalClosed]:Tt,[Z.CardinalOpen]:Dt,[Z.CatmullRom]:At,[Z.CatmullRomClosed]:Mt,[Z.CatmullRomOpen]:Pt,[Z.Linear]:Je,[Z.LinearClosed]:It,[Z.MonotoneX]:Ut,[Z.MonotoneY]:Wt,[Z.Natural]:qt,[Z.Step]:Jt,[Z.StepAfter]:Xt,[Z.StepBefore]:Yt},bn=Object.assign(Object.assign({},S),{curveType:Z.MonotoneX,lineWidth:2,lineDashArray:void 0,fallbackValue:void 0,highlightOnHover:!1,cursor:null,interpolateMissingData:!1}),xn=e({dim:()=>En,globalStyles:()=>Sn,interpolatedPath:()=>Dn,line:()=>Q,linePath:()=>wn,lineSelectionHelper:()=>Tn,root:()=>Cn}),Sn=d`
|
|
3
|
+
:root {
|
|
4
|
+
--vis-line-cursor: default;
|
|
5
|
+
--vis-line-stroke-dasharray: none;
|
|
6
|
+
--vis-line-stroke-dashoffset: 0;
|
|
7
|
+
|
|
8
|
+
--vis-line-gapfill-stroke-dasharray: 2 3;
|
|
9
|
+
--vis-line-gapfill-stroke-opacity: 0.8;
|
|
10
|
+
--vis-line-gapfill-stroke-dashoffset: 0;
|
|
11
|
+
}
|
|
12
|
+
`,Cn=C`
|
|
13
|
+
label: line-component;
|
|
14
|
+
`,Q=C`
|
|
15
|
+
label: line;
|
|
16
|
+
transition: opacity 200ms;
|
|
17
|
+
cursor: var(--vis-line-cursor);
|
|
18
|
+
`,wn=C`
|
|
19
|
+
label: linePath;
|
|
20
|
+
fill: none;
|
|
21
|
+
stroke-dasharray: var(--vis-line-stroke-dasharray);
|
|
22
|
+
stroke-dashoffset: var(--vis-line-stroke-dashoffset);
|
|
23
|
+
`,Tn=C`
|
|
24
|
+
label: lineSelectionHelper;
|
|
25
|
+
fill: none;
|
|
26
|
+
stroke: rgba(0, 0, 0, 0);
|
|
27
|
+
stroke-width: 8px;
|
|
28
|
+
`,En=C`
|
|
29
|
+
opacity: 0.2;
|
|
30
|
+
`,Dn=C`
|
|
31
|
+
label: interpolated-path;
|
|
32
|
+
fill: none;
|
|
33
|
+
stroke-dasharray: var(--vis-line-gapfill-stroke-dasharray);
|
|
34
|
+
stroke-dashoffset: var(--vis-line-gapfill-stroke-dashoffset);
|
|
35
|
+
stroke-opacity: var(--vis-line-gapfill-stroke-opacity);
|
|
36
|
+
`,On=class e extends ne{constructor(t){super(),this._defaultConfig=bn,this.config=this._defaultConfig,this.curve=yn[Z.MonotoneX],this.events={[e.selectors.line]:{mouseover:this._highlight.bind(this),mouseleave:this._resetHighlight.bind(this)}},t&&this.setConfig(t)}get bleed(){let{config:{lineWidth:e}}=this,t=this.yScale.domain(),n=(this.yScale.range()[0]>this.yScale.range()[1]?v.North:v.South)===v.South,r=e>3,i=e>=10;return{top:!i&&(!n&&t[1]===0||n&&t[0]===0)?0:e/2,bottom:!i&&(!n&&t[0]===0||n&&t[1]===0)?0:e/2,left:r?e/2:0,right:r?e/2:0}}_render(e){super._render(e);let{config:t,datamodel:{data:n}}=this,i=r(e)?e:t.duration;this.curve=yn[t.curveType],this.lineGen=Ze().x(e=>e.x).y(e=>e.y).defined(e=>e.defined).curve(this.curve);let s=c(t.y)?t.y:[t.y],l=n.map((e,n)=>this.xScale(b(e,t.x,n))),u=s.map(e=>{let i=n.map((n,i)=>{let a=b(n,e,i),o=(r(a)||a===null)&&isFinite(a)?a:t.fallbackValue,s=t.interpolateMissingData?(r(a)||a===null)&&isFinite(a):isFinite(o);return{x:l[i],y:this.yScale(o??0),defined:s,value:o}}),a=i.reduce((e,t)=>t.defined||e,!1),o=!1;return{values:i,defined:a,gaps:i.reduce((e,n,r)=>{!n.defined&&isFinite(t.fallbackValue)&&e.push(Object.assign(Object.assign({},n),{defined:!0})),!n.defined&&!o&&(o=!0);let a=r>0&&!i[r-1].defined||r<i.length-1&&!i[r+1].defined;return n.defined&&a&&(o||e.push(Object.assign(Object.assign({},n),{defined:!1})),e.push(n),o=!1),e},[]),visible:a&&i.some(e=>e.value!==null)}}),d=this.g.selectAll(`.${Q}`).data(u),p=d.enter().append(`g`).attr(`class`,Q);p.append(`path`).attr(`class`,wn).attr(`stroke`,(e,r)=>x(n,t.color,r)).attr(`stroke-opacity`,0).attr(`stroke-width`,t.lineWidth),p.append(`path`).attr(`class`,Tn).attr(`d`,this._emptyPath()),p.append(`path`).attr(`class`,Dn).attr(`d`,this._emptyPath()).style(`opacity`,0);let m=p.merge(d);m.style(`cursor`,(e,r)=>a(n,t.cursor,r)),m.each((e,r,a)=>{let s=w(a[r]),c=s.select(`.${wn}`),l=s.select(`.${Tn}`),u=s.select(`.${Dn}`),d=e.visible,p=o(n,t.lineDashArray,r),m=f(c,i).attr(`stroke`,x(n,t.color,r)).attr(`stroke-width`,t.lineWidth).attr(`stroke-opacity`,+!!d).style(`stroke-dasharray`,p?.join(` `)??null),h=e.values.some(e=>!e.defined),g=this.lineGen(e.values);if(i&&!h){let e=c.attr(`d`)||this._emptyPath(),t=g||this._emptyPath();m.attrTween(`d`,()=>vn(e,t))}else e.visible&&m.attr(`d`,g);l.attr(`d`,g).attr(`visibility`,d?null:`hidden`),h&&t.interpolateMissingData?f(u,i).attr(`d`,this.lineGen(e.gaps)).attr(`stroke`,x(n,t.color,r)).attr(`stroke-width`,t.lineWidth-1).style(`opacity`,1):u.transition().duration(i).style(`opacity`,0)}),f(d.exit(),i).style(`opacity`,0).remove()}_emptyPath(){let e=this.xScale.range(),t=this.yScale.range();return`M${e[0]},${t[0]} L${e[1]},${t[0]}`}_highlight(e){let{config:t}=this;t.highlightOnHover&&this.g.selectAll(`.${Q}`).classed(En,t=>t!==e)}_resetHighlight(){let{config:e}=this;e.highlightOnHover&&this.g.selectAll(`.${Q}`).classed(En,!1)}};On.selectors=xn;var $;(function(e){e.Circle=`circle`,e.Cross=`cross`,e.Diamond=`diamond`,e.Square=`square`,e.Star=`star`,e.Triangle=`triangle`,e.Wye=`wye`})($||={});var kn={[$.Circle]:Qe,[$.Cross]:$e,[$.Diamond]:nt,[$.Square]:rt,[$.Star]:ct,[$.Triangle]:ut,[$.Wye]:pt},An=Object.assign(Object.assign({},S),{color:e=>e.color,size:10,sizeScale:_.scaleSqrt(),sizeRange:void 0,shape:$.Circle,label:void 0,labelColor:void 0,labelPosition:g.Bottom,labelHideOverlapping:!0,cursor:null,labelTextBrightnessRatio:.65,strokeColor:void 0,strokeWidth:void 0});function jn(e){return e!==g.Top&&e!==g.Bottom&&e!==g.Left&&e!==g.Right}function Mn(e,t){return t?.7*e/t**.5:0}function Nn(e,t,n=5){switch(e){case g.Top:return[0,-t/2-n];case g.Bottom:return[0,t/2+n];case g.Left:return[-t/2-n,0];case g.Right:return[t/2+n,0];default:return[0,0]}}function Pn(e,t,n,r,i){let a=n(e._point.xValue),o=r(e._point.yValue),s=e._point.sizePx,c=e._point.label??``,l=c.length,u=Mn(s,l),d=h(c,jn(t)?u:i,.6),f=i,p=Nn(t,s),m=t===g.Left?-d:t===g.Right?0:-d/2,_=t===g.Top?-f:t===g.Bottom?0:-f/2;return{x:a+p[0]+m,y:o+p[1]+_,width:d,height:f}}function Fn(e,n,r,i){e.each((e,t,n)=>{let r=n[t];r._labelVisible=!0}),e.each((e,a,s)=>{let c=s[a],l=o(e,n.labelPosition,e._point.pointIndex);if(!c._labelVisible||jn(l))return;let u=w(c).select(`text`),d=Pn(e,l,r,i,Number.parseFloat(window.getComputedStyle(u.node())?.fontSize));for(let e=0;e<s.length;e+=1){if(a===e)continue;let l=s[e],u=w(l),f=u.select(`text`),p=u.datum(),m=[r(p._point.xValue),i(p._point.yValue)],h=p._point.sizePx/2,g={x:m[0]-h,y:m[1]-h,width:2*h,height:2*h},_=t(d,g,2),v=l._labelVisible;if(!_&&v){let e=Number.parseFloat(window.getComputedStyle(f.node())?.fontSize),a=Pn(p,o(p,n.labelPosition,p._point.pointIndex),r,i,e);_=t(d,a,.25)}if(_)if(c._forceShowLabel)l._labelVisible=!1;else{c._labelVisible=!1;break}}}),e.each((e,t,n)=>{let r=n[t];w(r).select(`text`).attr(`opacity`,+!!r._labelVisible)})}function In(e,t,n){e.attr(`transform`,e=>`translate(${e._point.xValue},${e._point.yValue})`),e.append(`path`).style(`fill`,e=>e._point.color),e.append(`text`).style(`pointer-events`,`none`),e.attr(`transform`,e=>`translate(${t(e._point.xValue)},${n(e._point.yValue)}) scale(0)`)}function Ln(e,t,n,r,i){let a=mt();e.each((e,n,r)=>{let o=w(r[n]),s=o.select(`text`),c=o.select(`path`),l=e._point.sizePx,d=e._point.color,p=e._point.strokeColor??null,h=e._point.strokeWidthPx??null;c.attr(`d`,()=>e._point.shape?a.size(Math.PI*l*l/4).type(kn[e._point.shape])():null),f(c,i).style(`fill`,d).style(`stroke`,p).style(`stroke-width`,`${h}px`);let _=e._point.labelPosition,v=_!==g.Top&&_!==g.Bottom&&_!==g.Left&&_!==g.Right,y=e._point.label??``,b=y.length,x=Mn(l,b),S=e._point.labelColor;if(!S&&v){let e=d||`var(--vis-scatter-fill-color)`,n=se(u(e)?m(e,o.node()):e)?.hex();S=oe(n)>t.labelTextBrightnessRatio?`var(--vis-scatter-point-label-text-color-dark)`:`var(--vis-scatter-point-label-text-color-light)`}let ee=Nn(_,l);s.html(y).attr(`x`,ee[0]).attr(`y`,ee[1]).style(`font-size`,v?x:null).style(`text-anchor`,()=>{switch(_){case g.Right:return null;case g.Left:return`end`;default:return`middle`}}).style(`dominant-baseline`,()=>{switch(_){case g.Top:return null;case g.Bottom:return`hanging`;default:return`central`}}),f(s,i).style(`fill`,S),c.style(`cursor`,e._point.cursor)}),f(e,i).attr(`transform`,e=>`translate(${n(e._point.xValue)},${r(e._point.yValue)}) scale(1)`)}function Rn(e,t,n,r){f(e,r).attr(`transform`,e=>`translate(${t(e._point.xValue)},${n(e._point.yValue)}) scale(0)`).remove()}var zn=e({globalStyles:()=>Bn,point:()=>Wn,pointGroup:()=>Hn,pointGroupExit:()=>Un,root:()=>Vn}),Bn=d`
|
|
37
|
+
:root {
|
|
38
|
+
--vis-scatter-cursor: default;
|
|
39
|
+
--vis-scatter-fill-color: var(--vis-color-main);
|
|
40
|
+
--vis-scatter-stroke-color: 'none';
|
|
41
|
+
--vis-scatter-stroke-width: 1px;
|
|
42
|
+
--vis-scatter-fill-opacity: 1;
|
|
43
|
+
--vis-scatter-stroke-opacity: 1;
|
|
44
|
+
--vis-scatter-hover-stroke-width: 2px;
|
|
45
|
+
|
|
46
|
+
--vis-scatter-point-label-text-color-dark: #5b5f6d;
|
|
47
|
+
--vis-scatter-point-label-text-color-light: #fff;
|
|
48
|
+
--vis-scatter-point-label-text-font-weight: 500;
|
|
49
|
+
--vis-scatter-point-label-text-font-size: 12px;
|
|
50
|
+
// Undefined by default to allow proper fallback to var(--vis-font-family)
|
|
51
|
+
/* --vis-scatter-point-label-text-font-family: */
|
|
52
|
+
}
|
|
53
|
+
`,Vn=C`
|
|
54
|
+
label: scatter-component;
|
|
55
|
+
`,Hn=C`
|
|
56
|
+
label: point-group;
|
|
57
|
+
`,Un=C`
|
|
58
|
+
label: point-group-exit;
|
|
59
|
+
`,Wn=C`
|
|
60
|
+
label: point;
|
|
61
|
+
|
|
62
|
+
> path {
|
|
63
|
+
cursor: var(--vis-scatter-cursor);
|
|
64
|
+
fill: var(--vis-scatter-fill-color);
|
|
65
|
+
fill-opacity: var(--vis-scatter-fill-opacity);
|
|
66
|
+
stroke-opacity: var(--vis-scatter-stroke-opacity);
|
|
67
|
+
stroke-width: var(--vis-scatter-stroke-width);
|
|
68
|
+
stroke: var(--vis-scatter-stroke-color);
|
|
69
|
+
|
|
70
|
+
&:hover {
|
|
71
|
+
stroke-width: var(--vis-scatter-hover-stroke-width);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
> text {
|
|
76
|
+
font-weight: var(--vis-scatter-point-label-text-font-weight);
|
|
77
|
+
font-size: var(--vis-scatter-point-label-text-font-size);
|
|
78
|
+
font-family: var(--vis-scatter-point-label-text-font-family, var(--vis-font-family));
|
|
79
|
+
fill: var(--vis-scatter-point-label-text-color-dark);
|
|
80
|
+
user-select: none;
|
|
81
|
+
}
|
|
82
|
+
`,Gn=class e extends ne{constructor(t){super(),this._defaultConfig=An,this.config=this._defaultConfig,this.events={[e.selectors.point]:{mouseenter:this._onPointMouseOver.bind(this),mouseleave:this._onPointMouseOut.bind(this)}},this._pointData=[],t&&this.setConfig(t)}setConfig(e){super.setConfig(e),this._updateSizeScale()}setData(e){super.setData(e),this._updateSizeScale()}get bleed(){this._pointData=this._getOnScreenData();let e=n(this._pointData),t=i(this.yScale.range()),r=l(this.yScale.range()),a=this.xScale.range()[0],o=this.xScale.range()[1],s=ce(`var(--vis-scatter-point-label-text-font-size)`,this.element),c=e.reduce((e,t)=>{let n=this.xScale(t._point.xValue),r=this.yScale(t._point.yValue),i=t._point.sizePx/2;if(e.minX=Math.min(e.minX,n-i),e.maxX=Math.max(e.maxX,n+i),e.minY=Math.min(e.minY,r-i),e.maxY=Math.max(e.maxY,r+i),t._point.label){let n=Pn(t,t._point.labelPosition,this.xScale,this.yScale,s);e.minX=Math.min(e.minX,n.x),e.maxX=Math.max(e.maxX,n.x+n.width),e.minY=Math.min(e.minY,n.y),e.maxY=Math.max(e.maxY,n.y+n.height)}return e},{minX:1/0,maxX:-1/0,minY:1/0,maxY:-1/0}),u=1.2;return{top:c.minY<t?u*(t-c.minY):0,bottom:c.maxY>r?u*(c.maxY-r):0,left:c.minX<a?u*(a-c.minX):0,right:c.maxX>o?u*(c.maxX-o):0}}_render(e){let{config:t}=this,n=r(e)?e:t.duration,i=this.g.selectAll(`.${Hn}`).data(this._pointData),o=i.enter().append(`g`).attr(`class`,Hn).merge(i);f(o,n).style(`opacity`,1);let s=i.exit().attr(`class`,Un);f(s,n).style(`opacity`,0).remove();let c=o.selectAll(`.${Wn}`).data(e=>e,e=>`${a(e,t.id,e._point.pointIndex)??e._point.pointIndex}`),l=c.enter().append(`g`).attr(`class`,Wn);In(l,this.xScale,this.yScale),this._points=l.merge(c),Ln(this._points,t,this.xScale,this.yScale,n),Rn(c.exit(),this.xScale,this.yScale,n),this._resolveLabelOverlap()}_resolveLabelOverlap(){if(this.config.label){if(!this.config.labelHideOverlapping){this._points.selectAll(`text`).attr(`opacity`,null);return}cancelAnimationFrame(this._collideLabelsAnimFrameId),this._collideLabelsAnimFrameId=requestAnimationFrame(()=>{Fn(this._points.filter(e=>!!e._point.label),this.config,this.xScale,this.yScale)})}}_updateSizeScale(){let{config:e,datamodel:t}=this;this._sizeScale=e.sizeScale.copy(),this._sizeScale.domain(s(t.data,e.size)),this._sizeScale.range(e.sizeRange??[0,0])}_getOnScreenData(){let{config:e,datamodel:{data:t}}=this,r=this.xScale.domain().map(e=>+e),i=this.yScale.domain().map(e=>+e),s=c(e.y)?e.y:[e.y],u=l(n(s.map((n,r)=>t?.map(t=>b(t,e.size,r))))),d=e.sizeRange?this._sizeScale(u):u,f=this.xScale.invert(d)-this.xScale.invert(0),p=Math.abs(this.yScale.invert(d)-this.yScale.invert(0));return s.map((n,s)=>t?.reduce((t,c,l)=>{let u=b(c,e.x,l),d=b(c,n,s);if(u==null||d==null)return t;let m=b(c,e.size,l),h=e.sizeRange?this._sizeScale(m):m,g=this.xScale.invert(h)-this.xScale.invert(0),_=Math.abs(this.yScale.invert(h)-this.yScale.invert(0));return u-g/2>=r[0]-f/2&&u+g/2<=r[1]+f/2&&d-_/2>=i[0]-p/2&&d+_/2<=i[1]+p/2&&t.push(Object.assign(Object.assign({},c),{_point:{xValue:u,yValue:d,sizePx:h,color:x(c,e.color,s),strokeColor:x(c,e.strokeColor,s,!0),strokeWidthPx:b(c,e.strokeWidth,s),shape:a(c,e.shape,s),label:a(c,e.label,s),labelColor:x(c,e.labelColor,s,!0),labelPosition:o(c,e.labelPosition,l),cursor:a(c,e.cursor,s),groupIndex:s,pointIndex:l}})),t},[])??[])}_mapEventDatum(e){return{datum:e,index:e._point.pointIndex}}_onPointMouseOver(e,t){let n=w(t.target),r=n.node();r&&(r._forceShowLabel=!0),n.raise(),this._resolveLabelOverlap()}_onPointMouseOut(e,t){let n=w(t.target).node();n&&delete n._forceShowLabel,this._resolveLabelOverlap()}};Gn.selectors=zn;var Kn={"data-vis-component":``};On.selectors;var qn=de({__name:`index`,props:{color:{type:[Function,String,Array,null]},curveType:{},lineWidth:{},lineDashArray:{type:[Function,Array,null]},fallbackValue:{},highlightOnHover:{type:Boolean},cursor:{type:[Function,String,null]},interpolateMissingData:{type:Boolean},x:{type:[Function,Number,null]},y:{type:[Function,Number,null,Array]},id:{type:Function},xScale:{type:[Object,Function]},yScale:{type:[Object,Function]},excludeFromDomainCalculation:{type:Boolean},duration:{},events:{},attributes:{},data:{}},setup(e,{expose:t}){let n=le(p),r=e,i=F(()=>n.data.value??r.data),a=te(r),o=ye();return me(()=>{pe(()=>{o.value=new On(a.value),o.value?.setData(i.value),n.update(o.value)})}),he(()=>{o.value?.destroy(),n.destroy()}),N(a,(e,t)=>{ie(e,t)||(o.value?.setConfig(a.value),o.value?.render())}),N(i,()=>{o.value?.setData(i.value)}),t({component:o}),(e,t)=>(A(),k(`div`,Kn))}}),Jn={"data-vis-component":``};Gn.selectors;var Yn=de({__name:`index`,props:{color:{type:[Function,String,Array,null]},size:{type:[Function,Number,null]},sizeScale:{type:[Object,Function]},sizeRange:{},shape:{type:[Function,String]},label:{type:[Function,String,null]},labelColor:{type:[Function,String,Array,null]},labelHideOverlapping:{type:Boolean},cursor:{type:[Function,String,null]},labelTextBrightnessRatio:{},labelPosition:{type:[Function,String,null]},strokeColor:{type:[Function,String,Array,null]},strokeWidth:{type:[Function,Number,null]},x:{type:[Function,Number,null]},y:{type:[Function,Number,null,Array]},id:{type:Function},xScale:{type:[Object,Function]},yScale:{type:[Object,Function]},excludeFromDomainCalculation:{type:Boolean},duration:{},events:{},attributes:{},data:{}},setup(e,{expose:t}){let n=le(p),r=e,i=F(()=>n.data.value??r.data),a=te(r),o=ye();return me(()=>{pe(()=>{o.value=new Gn(a.value),o.value?.setData(i.value),n.update(o.value)})}),he(()=>{o.value?.destroy(),n.destroy()}),N(a,(e,t)=>{ie(e,t)||(o.value?.setConfig(a.value),o.value?.render())}),N(i,()=>{o.value?.setData(i.value)}),t({component:o}),(e,t)=>(A(),k(`div`,Jn))}}),Xn={class:`text-muted-foreground flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs`},Zn={key:0,class:`flex items-center gap-1.5`},Qn={key:1,class:`flex items-center gap-1.5`},$n=Object.assign(de({__name:`LimitChart`,props:{snapshots:{},hits:{},forecast:{},class:{},height:{default:220}},setup(e){let t=e,n=F(()=>{let e=t.snapshots.filter(e=>Number.isFinite(e.ts)&&Number.isFinite(e.usedPct)).map(e=>({x:e.ts,measured:e.usedPct,projected:void 0})),n=e[e.length-1],r=t.forecast?.exhaustsAt;return n&&r!=null&&Number.isFinite(r)&&(t.forecast?.burnRatePctPerHour??0)>0&&(n.projected=n.measured,e.push({x:r,measured:void 0,projected:100})),e}),r=F(()=>n.value.some(e=>e.projected!==void 0)),i=F(()=>t.hits.filter(e=>Number.isFinite(e)).map(e=>({x:e,y:100}))),a=e=>e.x,o=[e=>e.measured,e=>e.projected],s=(e,t)=>t===0?`var(--chart-1)`:`var(--destructive)`;function c(e){let t=[];return e.measured!==void 0&&t.push(`
|
|
83
|
+
<div class="flex items-center gap-2">
|
|
84
|
+
<span class="size-2 rounded-[2px]" style="background: var(--chart-1)"></span>
|
|
85
|
+
<span class="flex-1">Measured</span>
|
|
86
|
+
<span class="tabular font-medium">${e.measured.toFixed(1)}%</span>
|
|
87
|
+
</div>`),e.projected!==void 0&&t.push(`
|
|
88
|
+
<div class="flex items-center gap-2">
|
|
89
|
+
<span class="size-2 rounded-[2px]" style="background: var(--destructive)"></span>
|
|
90
|
+
<span class="flex-1">Projected</span>
|
|
91
|
+
<span class="tabular font-medium">${e.projected.toFixed(1)}%</span>
|
|
92
|
+
</div>`),`
|
|
93
|
+
<div class="bg-popover text-popover-foreground min-w-40 space-y-1.5 rounded-md border p-2.5 text-xs shadow-md">
|
|
94
|
+
<div class="font-medium">${De(e.x)}</div>
|
|
95
|
+
${t.join(``)||`<div class="text-muted-foreground">no data</div>`}
|
|
96
|
+
</div>`}function l(e){return Number.isFinite(e)?Ee(e):`—`}return(e,u)=>{let d=Ie,f=xe;return A(),k(`div`,{class:fe(M(Se)(`space-y-3`,t.class))},[O(f,null,{fallback:P(()=>[O(d,{style:ge({height:`${t.height}px`}),class:`w-full`},null,8,[`style`])]),default:P(()=>[O(M(ae),{data:M(n),height:t.height,"y-domain":[0,100],margin:{top:8,right:8,bottom:24,left:36},class:`chart-surface limit-chart w-full`},{default:P(()=>[O(M(qn),{x:a,y:o,color:s,"line-width":2,"curve-type":`monotoneX`}),O(M(Yn),{x:e=>e.x,y:e=>e.y,data:M(i),color:`var(--destructive)`,size:7},null,8,[`x`,`y`,`data`]),O(M(y),{type:`x`,"tick-format":l,"num-ticks":5,"grid-line":!1,"domain-line":!1}),O(M(y),{type:`y`,"tick-format":e=>`${e}%`,"num-ticks":3,"domain-line":!1},null,8,[`tick-format`]),O(M(re),{template:c,color:`var(--foreground)`}),O(M(ee))]),_:1},8,[`data`,`height`])]),_:1}),j(`div`,Xn,[u[2]||=j(`span`,{class:`flex items-center gap-1.5`},[j(`span`,{class:`size-2.5 rounded-[3px]`,style:{background:`var(--chart-1)`}}),D(` Measured — actual window fill `)],-1),M(r)?(A(),k(`span`,Zn,[...u[0]||=[j(`span`,{class:`bg-destructive size-2.5 rounded-[3px]`},null,-1),D(` Projected — if burn rate stays the same `,-1)]])):T(``,!0),M(i).length>0?(A(),k(`span`,Qn,[...u[1]||=[j(`span`,{class:`bg-destructive size-2.5 rounded-full`},null,-1),D(` Hit 100% `,-1)]])):T(``,!0)])],2)}}}),{__name:`ChartsLimitChart`}),er={class:`space-y-6`},tr={key:1,class:`space-y-6`},nr={key:0,class:`grid gap-4 border-t pt-4 sm:grid-cols-3`},rr={class:`tabular mt-0.5 text-lg font-medium`},ir={class:`mt-0.5 text-lg font-medium`},ar={class:`mt-0.5 text-lg font-medium`},or={key:1,class:`text-muted-foreground text-xs`},sr=de({__name:`limits`,setup(e){be({title:`Limits — nomnomtokens`});let{data:t,pending:n}=Ce();return(e,r)=>{let i=Fe,a=Oe,o=ke,s=je,c=Pe,l=Le,u=Ae,d=$n,f=Me,p=Ne;return A(),k(`div`,er,[r[3]||=j(`div`,null,[j(`h1`,{class:`text-2xl font-semibold tracking-tight`},`Limits`),j(`p`,{class:`text-muted-foreground mt-1 text-sm`},` How full the current window is. Orange is measured; red is the burn-rate projection to 100% if usage stays this fast. `)],-1),!M(n)&&(M(t)?.windows.length??0)===0?(A(),ue(i,{key:0,title:`No limit history yet`,description:"Claude Code limits come from the status line hook (`nnt init`). Codex limits are read from session rollouts on scan.",command:`npx nomnomtokens init`})):(A(),k(`div`,tr,[(A(!0),k(ve,null,_e(M(t)?.windows,n=>(A(),ue(p,{key:`${n.provider}-${n.window}`},{default:P(()=>[O(u,{class:`border-b pb-4`},{default:P(()=>[O(o,{class:`flex items-center gap-2`},{default:P(()=>[D(E(n.window)+` window `,1),O(a,{variant:`outline`,class:`font-mono`},{default:P(()=>[D(E(n.provider),1)]),_:2},1024)]),_:2},1024),n.forecast?(A(),ue(s,{key:0},{default:P(()=>[D(E((`formatPct`in e?e.formatPct:M(we))(n.forecast.usedPct,1))+` used · burning `+E(n.forecast.burnRatePctPerHour.toFixed(1))+`%/h `,1),n.hits.length>0?(A(),k(ve,{key:0},[D(` · hit the cap `+E(n.hits.length)+`× `,1)],64)):T(``,!0)]),_:2},1024)):T(``,!0),O(l,null,{default:P(()=>[O(c,{mood:n.mood,size:40},null,8,[`mood`])]),_:2},1024)]),_:2},1024),O(f,{class:`space-y-4 pt-5`},{default:P(()=>[O(d,{snapshots:n.snapshots,hits:n.hits,forecast:n.forecast},null,8,[`snapshots`,`hits`,`forecast`]),n.forecast?(A(),k(`div`,nr,[j(`div`,null,[r[0]||=j(`div`,{class:`text-muted-foreground text-xs`},`Used`,-1),j(`div`,rr,E((`formatPct`in e?e.formatPct:M(we))(n.forecast.usedPct,1)),1)]),j(`div`,null,[r[1]||=j(`div`,{class:`text-muted-foreground text-xs`},`Projected to hit the cap`,-1),j(`div`,ir,E((`formatWhen`in e?e.formatWhen:M(Te))(n.forecast.exhaustsAt,M(t).now)),1)]),j(`div`,null,[r[2]||=j(`div`,{class:`text-muted-foreground text-xs`},`Window resets`,-1),j(`div`,ar,E((`formatWhen`in e?e.formatWhen:M(Te))(n.forecast.resetsAt,M(t).now)),1)])])):T(``,!0),n.forecast&&n.forecast.samples<3?(A(),k(`p`,or,` Only `+E(n.forecast.samples)+` samples in this window — the projection will sharpen as the status line fires more often. `,1)):T(``,!0)]),_:2},1024)]),_:2},1024))),128))]))])}}});export{sr as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CvIugsJe2.js","./ZjfInHdu.js","./OU1MVgXQ.js","./CsN_oUfs.js","./B2aHje2L.js","./CkRZsevx.js","./DQEnwY-5.js","./CIKwfDBl.js","./4C_a23zt.js","./Bprokln-.js","./Dh50_bkx.js","./Ba6z8j_4.js","./Bia8fJFj.js","./m3-Vaz25.js","./D9j6aFUy.js","./Cq1Sq3Go.js","./D9Mxq5ER.js","./C51OzH6V.js","./B1jhn8zK.js","./BMSLzLlT.js","./DhJW7zb9.js","./D4C6J8YV.js","./CfBMjq8x.js","./Ch3y3mGJ.js","./W3KL_OjU.js","./CZSbzIi-.js","./C9MiT_Wm.js","./Bag9D5rq.js","./COwSpxrx.js","./limits.DDC9tNkw.css","./DPnm6zS2.js","./BOKlFKrX.js","./CIHIOSzn.js","./DsH8sTHf.js","./Dy30RUCD2.js","./DnTwjl0_2.js","./timeline.7J8JHjUo.css","./DMgad8mU.js","./D7Ph0tZD.js","./cbxnBwm6.js","./D49wVVwm2.js","./BDNMzG2s2.js","./error-404.DQm6ppno.css","./BAfR3Wl32.js","./error-500.hK5lsCWo.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,$t as t,B as n,D as r,E as i,F as a,Kt as o,L as s,N as c,O as l,P as u,Q as d,Qt as f,R as p,Tt as m,U as h,V as g,W as _,Xt as v,Y as y,Zt as b,a as x,b as S,bt as C,c as ee,f as w,gt as T,i as E,it as D,m as O,n as te,o as ne,p as k,pt as re,q as ie,r as A,st as j,t as ae,ut as oe,v as se,vt as M,w as N,y as ce,yt as P}from"./ZjfInHdu.js";import{$ as F,A as le,B as I,C as L,Ct as ue,D as de,Dt as fe,E as pe,Et as me,F as R,G as he,H as ge,I as _e,J as ve,K as ye,L as be,M as xe,N as z,O as Se,P as Ce,Q as B,R as V,S as we,St as H,T as Te,U as Ee,V as U,W as De,X as W,Y as Oe,Z as ke,_ as Ae,_t as je,a as Me,at as G,b as Ne,bt as Pe,c as K,ct as Fe,d as Ie,dt as Le,et as Re,f as ze,g as Be,gt as Ve,h as He,i as Ue,it as We,j as Ge,k as Ke,l as qe,lt as Je,m as Ye,ot as Xe,p as Ze,q as Qe,st as $e,t as et,u as tt,v as q,w as nt,x as rt,xt as it,y as J,yt as at,z as ot}from"./OU1MVgXQ.js";import{n as st,t as ct}from"./CkRZsevx.js";import{a as lt,c as ut,d as dt,f as ft,i as pt,l as mt,n as ht,o as gt,r as _t,s as vt,u as yt}from"./CsN_oUfs.js";import{r as Y,t as bt}from"./Bprokln-.js";(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),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),`global`in globalThis||(globalThis.global=globalThis);function xt(e,t){return t&&typeof e==`function`&&(e.key=t),e}var St=/\\/g,Ct=/</g,wt=/"/g,Tt=/%\w+(?:\.\w+)?/g,Et=`%separator`;function Dt(e,t,n=!1){let r;if(t===`s`||t===`pageTitle`)r=e.pageTitle;else if(t.includes(`.`)){let n=t.indexOf(`.`);r=e[t.substring(0,n)]?.[t.substring(n+1)]}else r=e[t];if(r!==void 0)return n?(r||``).replace(St,`\\\\`).replace(Ct,`\\u003C`).replace(wt,`\\"`):r||``}function Ot(e,t,n,r=!1){if(typeof e!=`string`||!e.includes(`%`))return e;let i=e;try{i=decodeURI(e)}catch{}let a=i.match(Tt);if(!a)return e;let o=e.includes(Et);return e=e.replace(Tt,e=>{if(e===Et||!a.includes(e))return e;let n=Dt(t,e.slice(1),r);return n===void 0?e:n}).trim(),o&&(e=e.split(Et).map(e=>e.trim()).filter(e=>e!==``).join(n?` ${n} `:` `)),e}var kt=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,At=e=>e.includes(`:key`)?e:e.split(`:`).join(`:key:`),jt=xt({key:`aliasSorting`,hooks:{"tags:resolve":e=>{let t=!1;for(let n of e.tags){let r=n.tagPriority;if(!r)continue;let i=String(r);if(i.startsWith(`before:`)){let r=At(i.slice(7)),a=e.tagMap.get(r);a&&(typeof a.tagPriority==`number`&&(n.tagPriority=a.tagPriority),n._p=a._p-1,t=!0)}else if(i.startsWith(`after:`)){let r=At(i.slice(6)),a=e.tagMap.get(r);a&&(typeof a.tagPriority==`number`&&(n.tagPriority=a.tagPriority),n._p=a._p+1,t=!0)}}t&&(e.tags=e.tags.sort(kt))}}}),Mt=xt({key:`deprecations`,hooks:{"entries:normalize":({tags:e})=>{for(let t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),`body`in t.props&&(t.props.body&&(t.tagPosition=`bodyClose`),delete t.props.body),t.props.renderPriority!=null&&(t.tagPriority=t.props.renderPriority,delete t.props.renderPriority)}}});function Nt(e){return typeof e?.then==`function`}function Pt(e){if(typeof e==`function`)return e;if(Nt(e))return Promise.resolve(e).then(Pt);if(Array.isArray(e)){let t=e.map(Pt);return t.some(Nt)?Promise.all(t):e}if(e?.constructor===Object){let t=Object.keys(e),n=t.map(t=>Pt(e[t]));if(n.some(Nt))return Promise.all(n).then(e=>Object.fromEntries(t.map((t,n)=>[t,e[n]])))}return e}var Ft=xt(e=>{let t=new WeakMap;return{key:`promises`,hooks:{"entries:resolve":n=>{for(let r=n.entries.length-1;r>=0;r--){let i=n.entries[r],a=i.input;if(t.get(i)===a){n.entries.splice(r,1);continue}let o=Pt(a);if(!Nt(o)){t.delete(i);continue}t.set(i,a),n.entries.splice(r,1),Promise.resolve(o).then(n=>{t.get(i)===a&&(t.delete(i),i.input=n,delete i._tags,e.invalidate?.())},()=>{t.get(i)===a&&t.delete(i)})}}}}},`promises`),It={meta:`content`,link:`href`,htmlAttrs:`lang`},Lt=[`innerHTML`,`textContent`],Rt=xt(e=>({key:`template-params`,hooks:{"tags:resolve":({tagMap:t,tags:n})=>{let r=t.get(`templateParams`)?.props||{},i=r.separator||`|`;delete r.separator,r.pageTitle=Ot(r.pageTitle||e._title||``,r,i);for(let e of n){if(e.processTemplateParams===!1)continue;let t=It[e.tag];if(t&&typeof e.props[t]==`string`)e.props[t]=Ot(e.props[t],r,i);else if(e.processTemplateParams||e.tag===`titleTemplate`||e.tag===`title`)for(let t of Lt)typeof e[t]==`string`&&(e[t]=Ot(e[t],r,i,e.tag===`script`&&typeof e.props.type==`string`&&e.props.type.endsWith(`json`)))}e._templateParams=r,e._separator=i},"tags:afterResolve":({tagMap:t})=>{let n=t.get(`title`);n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=Ot(n.textContent,e._templateParams,e._separator))}}}),`template-params`);function zt(e,t){if(typeof t==`function`&&t.key&&e.plugins.has(t.key))return;let n=typeof t==`function`?t(e):t,r=n.key||String(e.plugins.size+1);if(!e.plugins.get(r)){e.plugins.set(r,n);for(let t in n.hooks||{})e.hooks?.hook(t,n.hooks[t])}}function Bt(e,t={}){let n=!t.document,r=new Map,i={_entryCount:1,_h:0,plugins:new Map,resolvedOptions:t,ssr:n,entries:r,hooks:void 0,render:()=>e(i),use:e=>zt(i,e),push(e,t){let a=t?._index??i._entryCount++,o=t?{...t}:{};delete o.head,delete o.onRendered,delete o._index;let s={_i:a,input:e,options:o};return r.set(a,s),{_i:a,dispose(){r.delete(a)},patch(e){n?(s.input=e,delete s._tags):s._pending=e,r.has(a)||r.set(a,s)}}}};return t.init?.forEach(e=>e&&i.push(e)),i}var Vt=t({docsBase:b,reporters:f}),Ht=t({docsBase:b,reporters:f}),Ut=()=>location.protocol+`//`+location.host;function Wt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),xe(n,``)}return xe(n,e)+r+i}function Gt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Wt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(R({},e.state,{scroll:qe()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Kt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?qe():null}}function qt(e){let{history:t,location:n}=window,r={value:Wt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Ut()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,R({},t.state,Kt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=R({},i.value,t.state,{forward:e,scroll:qe()});a(o.current,o,!0),a(e,R({},Kt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Jt(e){e=nt(e);let t=qt(e),n=Gt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=R({location:``,base:e,go:r,createHref:tt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Yt={type:0,value:``},Xt=/[a-zA-Z0-9_]/;function Zt(e){if(!e)return[[]];if(e===`/`)return[[Yt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Xt.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var Qt=`[^/]+?`,$t={sensitive:!1,strict:!1,start:!0,end:!0},en=/[.+*?^${}()[\]/\\]/g;function tn(e,t){let n=R({},$t,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(en,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||Qt;if(u!==Qt){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(be(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=be(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function nn(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function rn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=nn(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(an(r))return 1;if(an(i))return-1}return i.length-r.length}function an(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var on={strict:!1,end:!0,sensitive:!1};function sn(e,t,n){let r=tn(Zt(e.path),n),i=R(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function cn(e,t){let n=[],r=new Map;t=I(on,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=un(e);s.aliasOf=r&&r.record;let l=I(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(un(R({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=sn(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!fn(d)&&o(e.name)),gn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:U}function o(e){if(Ne(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=mn(e,n);n.splice(t,0,e),e.record.name&&!fn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw _e(1,{location:e});s=i.record.name,a=R(ln(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&ln(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw _e(1,{location:e,currentLocation:t});s=i.record.name,a=R({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:pn(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function ln(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function un(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function fn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pn(e){return e.reduce((e,t)=>R(e,t.meta),{})}function mn(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;rn(e,t[i])<0?r=i:n=i+1}let i=hn(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function hn(e){let t=e;for(;t=t.parent;)if(gn(t)&&rn(e,t)===0)return t}function gn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function _n(e){let t=n(Ee),r=n(ge),i=N(()=>{let n=m(e.to);return t.resolve(n)}),a=N(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(L.bind(null,n));if(o>-1)return o;let s=Sn(e[t-2]);return t>1&&Sn(n)===s&&a[a.length-1].path!==s?a.findIndex(L.bind(null,e[t-2])):o}),o=N(()=>a.value>-1&&xn(r.params,i.value.params)),s=N(()=>a.value>-1&&a.value===r.matched.length-1&&we(r.params,i.value.params));function c(n={}){if(bn(n)){let n=t[m(e.replace)?`replace`:`push`](m(e.to)).catch(U);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:i,href:N(()=>i.value.href),isActive:o,isExactActive:s,navigate:c}}function vn(e){return e.length===1?e[0]:e}var yn=a({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:_n,setup(e,{slots:t}){let r=T(_n(e)),{options:i}=n(Ee),a=N(()=>({[Cn(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[Cn(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let n=t.default&&vn(t.default(r));return e.custom?n:p(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},n)}}});function bn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function xn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!be(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Sn(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Cn=(e,t,n)=>e??t??n,wn=a({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:r,slots:i}){let a=n(De),o=N(()=>t.route||a.value),s=n(ye,0),c=N(()=>{let e=m(s),{matched:t}=o.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),l=N(()=>o.value.matched[c.value]);e(ye,N(()=>c.value+1)),e(ot,l),e(De,o);let u=M();return j(()=>[u.value,l.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!L(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=o.value,n=t.name,a=l.value,s=a&&a.components[n];if(!s)return Tn(i.default,{Component:s,route:e});let c=a.props[n],d=c?c===!0?e.params:typeof c==`function`?c(e):c:null,f=p(s,R({},d,r,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[n]=null)},ref:u}));return Tn(i.default,{Component:f,route:e})||f}}});function Tn(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var En=wn;function Dn(e){let t=cn(e.routes,e),n=e.parseQuery||pe,r=e.stringifyQuery||le,i=e.history,a=z(),o=z(),s=z(),c=C(K),l=K;J&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Ce.bind(null,e=>``+e),d=Ce.bind(null,Ze),f=Ce.bind(null,Ie);function p(e,n){let r,i;return Ne(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function h(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function g(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(a=R({},a||c.value),typeof e==`string`){let r=de(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return R(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=R({},e,{path:de(n,e.path,a.path).path});else{let t=R({},e.params);for(let e in t)t[e]??delete t[e];o=R({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Ge(r,R({},e,{hash:ze(l),path:s.path})),m=i.createHref(p);return R({fullPath:p,hash:l,query:r===le?Te(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function b(e){return typeof e==`string`?de(n,e,c.value.path):R({},e)}function x(e,t){if(l!==e)return _e(8,{from:t,to:e})}function S(e){return T(e)}function ee(e){return S(R(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),R({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=l=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=w(n,i);if(u)return T(R(b(u),{state:typeof u==`object`?R({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&rt(r,i,n)&&(f=_e(16,{to:d,from:i}),M(i,i,!0,!1)),(f?Promise.resolve(f):O(d,i)).catch(e=>V(e)?V(e,2)?e:se(e):ae(e,d,i)).then(e=>{if(e){if(V(e,2))return T(R({replace:s},b(e.to),{state:typeof e.to==`object`?R({},a,e.to.state):a,force:o}),t||d)}else e=ne(d,i,!0,s,a);return te(d,i,e),e})}function E(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=F.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function O(e,t){let n,[r,i,s]=Ye(e,t);n=He(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(q(r,e,t))});let c=E.bind(null,e,t);return n.push(c),L(n).then(()=>{n=[];for(let r of a.list())n.push(q(r,e,t));return n.push(c),L(n)}).then(()=>{n=He(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(q(r,e,t))});return n.push(c),L(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(be(r.beforeEnter))for(let i of r.beforeEnter)n.push(q(i,e,t));else n.push(q(r.beforeEnter,e,t));return n.push(c),L(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=He(s,`beforeRouteEnter`,e,t,D),n.push(c),L(n))).then(()=>{n=[];for(let r of o.list())n.push(q(r,e,t));return n.push(c),L(n)}).catch(e=>V(e,8)?e:Promise.reject(e))}function te(e,t,n){s.list().forEach(r=>D(()=>r(e,t,n)))}function ne(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===K,l=J?history.state:{};n&&(r||s?i.replace(e.fullPath,R({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,M(e,t,n,s),se()}let k;function re(){k||=i.listen((e,t,n)=>{if(!I.listening)return;let r=y(e),a=w(r,I.currentRoute.value);if(a){T(R(a,{replace:!0,force:!0}),r).catch(U);return}l=r;let o=c.value;J&&Se(Ae(o.fullPath,n.delta),qe()),O(r,o).catch(e=>V(e,12)?e:V(e,2)?(T(R(b(e.to),{force:!0}),r).then(e=>{V(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(U),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ae(e,r,o))).then(e=>{e||=ne(r,o,!1),e&&(n.delta&&!V(e,8)?i.go(-n.delta,!1):n.type===`pop`&&V(e,20)&&i.go(-1,!1)),te(r,o,e)}).catch(U)})}let ie=z(),A=z(),j;function ae(e,t,n){se(e);let r=A.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function oe(){return j&&c.value!==K?Promise.resolve():new Promise((e,t)=>{ie.add([e,t])})}function se(e){return j||(j=!e,re(),ie.list().forEach(([t,n])=>e?n(e):t()),ie.reset()),e}function M(t,n,r,i){let{scrollBehavior:a}=e;if(!J||!a)return Promise.resolve();let o=!r&&Be(Ae(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return _().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&Ke(e)).catch(e=>t===c.value&&ae(e,t,n))}let N=e=>i.go(e),ce,F=new Set,I={currentRoute:c,listening:!0,addRoute:p,removeRoute:h,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:g,resolve:y,options:e,push:S,replace:ee,go:N,back:()=>N(-1),forward:()=>N(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:A.add,isReady:oe,install(e){e.component(`RouterLink`,yn),e.component(`RouterView`,En),e.config.globalProperties.$router=I,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>m(c)}),J&&!ce&&c.value===K&&(ce=!0,S(i.location).catch(e=>{}));let t={};for(let e in K)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ee,I),e.provide(ge,P(t)),e.provide(De,c);let n=e.unmount;F.add(e),e.unmount=function(){F.delete(e),F.size<1&&(l=K,k&&k(),k=null,c.value=K,ce=!1,j=!1),n()}}};function L(e){return e.reduce((e,t)=>e.then(()=>D(t)),Promise.resolve())}return I}var On=(e,t)=>[],kn=On,An=e=>Y.sensitive?Xe({},...On(``,e).map(e=>e.data).reverse()):Xe({},...kn(``,typeof e==`string`?e.toLowerCase():e).map(e=>e.data).reverse()),jn=`modulepreload`,Mn=function(e,t){return new URL(e,t).href},Nn={},X=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Mn(t,n),t=s(t),t in Nn)return;Nn[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:jn,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Pn=ct,Fn=An,In;function Ln(){let e;return e=Pn(st(`builds/meta/${x().app.buildId}.json`),{responseType:`json`}).then(e=>{if(!e||typeof e!=`object`||!Array.isArray(e.prerendered))throw Ht.NUXT_E5004();return e}),In=e,e.catch(t=>{In===e&&(In=void 0),Ht.NUXT_E5002({cause:t})}),e}function Rn(){return In||Ln()}function zn(e){let t=typeof e==`string`?e:e.path;try{return Fn(t)}catch(e){return Ht.NUXT_E5003({path:t,cause:e}),{}}}var Bn=2**32-1,Vn=Bn-1,Hn=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Un(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Hn}function Wn(e){return Object.prototype.toString.call(e).slice(8,-1)}function Gn(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}function Kn(e){return!(!Number.isInteger(e)||e<0||e>Vn)}function qn(e){return!(!Number.isInteger(e)||e<0||e>Bn)}function Jn(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Kn(+e)}function Yn(e){for(var t=e.length-1;t>=0&&!Jn(e[t]);t--);return t+1}function Xn(e){let t=Object.keys(e);return t.length=Yn(t),t}function Zn(e){return Uint8Array.fromBase64(e).buffer}function Qn(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function $n(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var er=typeof Uint8Array.fromBase64==`function`,tr=typeof process==`object`&&process.versions?.node!==void 0,nr=er?Zn:tr?Qn:$n;function rr(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var ir=Object.freeze({kind:`not-plain`}),ar=Object.freeze({kind:`symbol-keys`});Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>Wn(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>({buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>Xn(e),shapeOf:e=>Un(e)?Gn(e).length>0?ar:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:ir,get:(e,t)=>e[t]});var or=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Vn]=void 0,delete t[Vn],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function sr(e,t,n){return cr(JSON.parse(e),t,n)}function cr(e,t,n){let r=rr(or,n?.operations);if(typeof e==`number`)return s(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let i=e,a=Array(i.length),o=null;function s(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if(n||typeof e!=`number`)throw Error(`Invalid input`);if(e in a)return a[e];let c=i[e];if(!c||typeof c!=`object`)a[e]=r.fromPrimitive(c);else if(Array.isArray(c))if(typeof c[0]==`string`){let n=c[0],l=t&&Object.hasOwn(t,n)?t[n]:void 0;if(l){let t=c[1];if(typeof t!=`number`&&(t=i.push(c[1])-1),Object.hasOwn(a,t))return a[e]=l(a[t]);if(o??=new Set,o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=l(s(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(c[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e<c.length;e+=1)r.addValue(t,s(c[e]));break;case`Map`:let o=r.createMap();a[e]=o;for(let e=1;e<c.length;e+=2)r.addEntry(o,s(c[e]),s(c[e+1]));break;case`RegExp`:a[e]=r.fromRegExpInfo(c[1],c[2]);break;case`Object`:{let t=c[1];if(typeof i[t]==`object`&&i[t][0]!==`BigInt`)throw Error(`Invalid input`);a[e]=r.box(s(t));break}case`BigInt`:a[e]=r.fromPrimitive(BigInt(c[1]));break;case`null`:let l=r.createNullPrototypeObject();a[e]=l;for(let e=1;e<c.length;e+=2){if(c[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");r.set(l,c[e],s(c[e+1]))}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{if(i[c[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=s(c[1]);a[e]=r.fromViewInfo(n,t,c[2],c[3]);break}case`ArrayBuffer`:{let t=c[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);a[e]=r.fromArrayBuffer(nr(t));break}case`URL`:case`URLSearchParams`:case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:a[e]=r.fromStringValue(n,c[1]);break;default:throw Error(`Unknown type ${n}`)}}else if(c[0]===-7){let t=c[1];if(!qn(t))throw Error(`Invalid input`);let n=r.createSparseArray(t);a[e]=n;for(let e=2;e<c.length;e+=2){let i=c[e];if(!Kn(i)||i>=t)throw Error(`Invalid input`);r.set(n,i,s(c[e+1]))}}else{let t=r.createArray(c.length);a[e]=t;for(let e=0;e<c.length;e+=1){let n=c[e];n!==-2&&r.set(t,e,s(n))}}else{let t=r.createObject();a[e]=t;for(let e of Object.keys(c)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");r.set(t,e,s(c[e]))}}return a[e]}return s(0)}async function lr(e,t={}){return null}async function ur(e,t){return null}function dr(e){return new URL(e,`http://localhost`).pathname}function fr(e){return!!zn({path:dr(e)}).payload}var Z=null;async function pr(){if(Z)return Z;let e=document.getElementById(`__NUXT_DATA__`);if(!e)return{};let t=await mr(e.textContent||``),n=e.dataset.src?await ur(e.dataset.src,t.prerenderedAt?`force-cache`:`no-cache`):void 0;return Z={...t,...n,...window.__NUXT__},Z.config?.public&&(Z.config.public=T(Z.config.public)),Z}async function mr(e){return await sr(e,E()._payloadRevivers)}function hr(e,t){E()._payloadRevivers[e]=t}function gr(e){try{return JSON.parse(e)}catch{return e}}var _r=[[`NuxtError`,e=>W(e)],[`EmptyShallowRef`,e=>C(e===`_`?void 0:e===`0n`?BigInt(0):gr(e))],[`EmptyRef`,e=>M(e===`_`?void 0:e===`0n`?BigInt(0):gr(e))],[`ShallowRef`,e=>C(e)],[`ShallowReactive`,e=>P(e)],[`Ref`,e=>M(e)],[`Reactive`,e=>T(e)]],vr=A({name:`nuxt:revive-payload:client`,order:-30,async setup(e){let t,n;for(let[e,t]of _r)hr(e,t);Object.assign(e.payload,([t,n]=O(()=>e.runWithContext(pr)),t=await t,n(),t)),delete window.__NUXT__}},1);function yr(e,t){t.push(ne),e.vueApp.use(t);let n=!0,r=()=>{n=!1,t.render()};t.hooks?.hook(`dom:beforeRender`,e=>{e.shouldRender=!n}),e.hooks.hook(`page:start`,()=>{n=!0}),e.hooks.hook(`page:finish`,()=>{e.isHydrating||r()}),e.hooks.hook(`app:error`,r),e.hooks.hook(`app:suspense:resolve`,r);let i=t.push.bind(t);t.push=((t,n)=>{let r=i(t,n),a=r.dispose.bind(r);return r.dispose=()=>{let t=e[`~transitionPromise`];t?t.finally(a):a()},r})}function br(e,t,n){let r=e.push,i=e;return i.ssr=!1,i.hooks=t,i.dirty=!!i.dirty,i.use=e=>zt(i,e),i.render=()=>n(i),i.invalidate=()=>{for(let e of i.entries.values())delete e._tags;i.dirty=!0,t.callHook(`entries:updated`,i)},i.push=(n,a)=>{let o=a?.onRendered?t.hook(`dom:rendered`,a.onRendered):void 0,s=r(n,a),c=e.entries.get(s._i);return c&&(c._o=n),i.dirty=!0,t.callHook(`entries:updated`,i),{_i:s._i,patch(e){s.patch(e),i.dirty=!0,t.callHook(`entries:updated`,i)},dispose(){o?.(),e.entries.has(s._i)&&(s.dispose(),i.invalidate())}}},t.hook(`entries:updated`,()=>{i.render()}),i}var xr=/\s+/;function Sr(e={}){return t=>Er(t,e)}function Cr(e){for(let t of e.entries.values())if(t._pending!==void 0)return!0;return!1}function wr(e){for(let t in e._s)e._s[t]();for(let t in e._p)e._p[t]();e._s={},e._p={},e._e.clear(),e._l.clear()}function Tr(e,t){let n={_d:t,_t:t.title,_e:new Map([[`htmlAttrs`,t.documentElement],[`bodyAttrs`,t.body]]),_p:{},_s:{},_l:new Map};for(let e of[...t.body.children,...t.head.children]){let t=e.tagName.toLowerCase();if(!dt.has(t))continue;let r={innerHTML:e.innerHTML};for(let t of e.getAttributeNames())r[t]=e.getAttribute(t);let i=vt({tag:t,props:{}},r);i.key=e.getAttribute(`data-hid`)||void 0;let a=pt(i)||lt(i),o=a,s=1;for(;n._e.has(o);)o=`${a}:${s++}`;n._e.set(o,e)}for(let t of e.entries.values())if(t._o!==void 0){let e=t._o;for(let t of[`bodyAttrs`,`htmlAttrs`]){let r=e[t]?.class;if(typeof r==`string`){let e=n._e.get(t);for(let i of r.split(xr))i&&(n._p[`${t}:attr:class:${i}`]=()=>e.classList.remove(i))}}}return n}function Er(e,t={}){let n=t.document||e.resolvedOptions.document,r=e._dom,i=!!r&&r._d!==n;if(!n||r&&!i&&!e.dirty&&!Cr(e)||e._du)return!1;let a=n.defaultView;e._du=!0;let o=!1;try{let r=function(e,t,n,r){let i=`${e}:${t}`;d._s[i]=!r&&d._p[i]||n,delete d._p[i]},i=function(e){let t=d._p[e];return delete d._p[e],t},s=function(e,t,n,i,a,o){let s=`event:${t}`,c=`${e}:${s}`,l=d._l.get(c);if(l&&l[0]===o&&l[1]===n&&l[2]===i){r(e,s,l[4]);return}l?.[4]();let u=`data-${t}`,f=(e=>i.call(a,e)),p=()=>{o.removeEventListener(n,f),a.getAttribute(u)===``&&a.removeAttribute(u),d._l.get(c)?.[3]===f&&d._l.delete(c)};o.addEventListener(n,f),d._l.set(c,[o,n,i,f,p]),a.setAttribute(u,``),r(e,s,p,!0)},c=function({id:e,$el:t,tag:n}){let o=n.tag.endsWith(`Attrs`);if(d._e.set(e,t),!o){let a=n.textContent;a!=null&&a!==``&&(a!==t.textContent&&(t.textContent=a),r(e,`text`,()=>{t.textContent===a&&(t.textContent=``)},!0));let o=n.innerHTML;o!=null&&o!==``&&(o!==t.innerHTML&&(t.innerHTML=o),r(e,`html`,()=>{t.innerHTML===o&&(t.innerHTML=``)},!0));let s=`${e}:el`;d._s[s]=i(s)||(()=>{t?.remove(),d._e.delete(e)})}for(let r in n.props){let o=n.props[r];if(r[0]===`o`&&r[1]===`n`&&typeof o==`function`){let i=r.slice(2);t?.dataset?.[`${r}fired`]&&o.call(t,new((a?.Event)||Event)(i)),s(e,r,i,o,t,n.tag===`bodyAttrs`&&a?a:t);continue}let c=`${e}:attr:${r}`;if(r===`class`&&o)for(let e of o){let n=`${c}:${e}`;d._s[n]=i(n)||(()=>t.classList.remove(e)),t.classList.contains(e)||t.classList.add(e)}else if(r===`style`&&o)for(let[e,n]of o){let r=`${c}:${e}`;d._s[r]=i(r)||(()=>t.style.removeProperty(e)),t.style.setProperty(e,n)}else o!==!1&&o!==null&&(t.getAttribute(r)!==o&&t.setAttribute(r,o===!0?``:String(o)),d._s[c]=i(c)||(()=>t.removeAttribute(r)))}},l={shouldRender:!0,tags:[]};if(mt(e,`dom:beforeRender`,l),!l.shouldRender)return!1;let u=e._dom;u?._d!==n&&(u&&wr(u),u=void 0),u?u._p=u._s:u=Tr(e,n),u._s={};let d=u,f=[],p={};e.dirty=!1;let m=ut(e,t.tagWeight?{tagWeight:t.tagWeight}:void 0),h=[],g={};for(let e of m){let t=g[e._d]||0,i=(t?`${e._d}:${t}`:e._d)||e._h,a={tag:e,id:i,shouldRender:!0};if(e.tag===`meta`&&e._d&>(e._d)&&(g[e._d]=t+1),h.push(a),e.tag===`title`){n.title=e.textContent,r(`title`,``,()=>n.title=d._t);continue}a.$el=d._e.get(i),a.$el?c(a):dt.has(e.tag)&&f.push(a)}for(let e of f)e.$el=n.createElement(e.tag.tag),c(e),(p[e.tag.tagPosition||`head`]??=n.createDocumentFragment()).appendChild(e.$el);p.head&&n.head.appendChild(p.head),p.bodyOpen&&n.body.insertBefore(p.bodyOpen,n.body.firstChild),p.bodyClose&&n.body.appendChild(p.bodyClose);for(let e in d._p)d._p[e]();e._dom=d,o=!0,mt(e,`dom:rendered`,{renders:h})}catch(t){throw e.dirty=!0,t}finally{e._du=!1}return o&&(e.dirty||Cr(e))&&Er(e,t),o}var Dr=e=>typeof e.tagPriority==`number`?e.tagPriority:100+(ft[e.tagPriority]||0);function Or(e={}){e.document=e.document||(typeof window<`u`?document:void 0);let t=e.render||Sr({document:e.document}),n=br(Bt(t,{document:e.document,propResolvers:e.propResolvers,_tagWeight:Dr,init:[]}),yt(e.hooks),t);return e.plugins?.forEach(e=>n.use(e)),e.init?.forEach(e=>e&&n.push(e)),n}function kr(e={}){let t=Sr(),n,r=0;return n=Or({render:()=>{let e=++r;setTimeout(()=>{e===r&&t(n)},0)},...e}),n.install=_t(n),n}var Ar={disableDefaults:!0,plugins:[Mt,Ft,Rt,jt]},jr=A({name:`nuxt:head`,enforce:`pre`,setup(e){yr(e,kr(Ar))}}),Mr=/(:\w+)\([^)]+\)/g,Nr=/(:\w+)[?+*]/g,Pr=/:\w+/g,Fr=(e,t)=>t.path.replace(Mr,`$1`).replace(Nr,`$1`).replace(Pr,t=>e.params[t.slice(1)]?.toString()||``),Q=(e,t)=>{let n=e.route.matched.find(t=>t.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Fr(e.route,n));return typeof r==`function`?r(e.route):r},Ir=(e,t)=>({default:()=>e?p(ce,e===!0?{}:e,t):t});function Lr(e){return Array.isArray(e)?e:[e]}var Rr=[Re(async e=>{let t,n;if(!e.meta?.validate)return;let r=([t,n]=O(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t);if(r!==!0)return W({fatal:!0,status:r&&(r.status||r.statusCode)||404,statusText:r&&(r.statusText||r.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}})},1),Re(e=>{let t=zn({path:e.path});if(t.redirect){let n=t.redirect.includes(`#`)?t.redirect:t.redirect+e.hash;return $e(n,{acceptRelative:!0})?(window.location.href=n,!1):n}})],zr={},Br=[{name:`sessions-id`,path:`/sessions/:id()`,component:()=>X(()=>import(`./CvIugsJe2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url)},{name:`alerts`,path:`/alerts`,component:()=>X(()=>import(`./BMSLzLlT.js`),__vite__mapDeps([19,1,2,5,3,6,4,7,8,9,11]),import.meta.url)},{name:`export`,path:`/export`,component:()=>X(()=>import(`./DhJW7zb9.js`),__vite__mapDeps([20,1,3,7,6,2,8,9,4,5,21,22,23,10,24,12,13]),import.meta.url)},{name:`import`,path:`/import`,component:()=>X(()=>import(`./CZSbzIi-.js`),__vite__mapDeps([25,1,2,5,3,6,12,13]),import.meta.url)},{name:`limits`,path:`/limits`,component:()=>X(()=>import(`./C9MiT_Wm.js`),__vite__mapDeps([26,27,1,3,6,2,21,4,5,11,24,12,13,14,17,28,29]),import.meta.url)},{name:`providers`,path:`/providers`,component:()=>X(()=>import(`./DPnm6zS2.js`),__vite__mapDeps([30,1,3,16,2,6,21,4,5,11,22,7,8,9,23,10,24,12,13,17,31,18]),import.meta.url)},{name:`scopes`,path:`/scopes`,component:()=>X(()=>import(`./CIHIOSzn.js`),__vite__mapDeps([32,1,2,3,21,4,5,6,10,33,11,22,7,8,9,23,24,13,14,17,31,18]),import.meta.url)},{name:`sessions`,path:`/sessions`,component:()=>X(()=>import(`./Dy30RUCD2.js`),__vite__mapDeps([34,1,3,8,2,9,21,4,5,6,11,22,7,23,10,24,13,14,17,18]),import.meta.url)},{name:`timeline`,path:`/timeline`,component:()=>X(()=>import(`./DnTwjl0_2.js`),__vite__mapDeps([35,27,1,2,3,6,21,4,5,33,10,11,22,7,8,9,23,24,12,13,17,28,36]),import.meta.url)},{name:`index`,path:`/`,component:()=>X(()=>import(`./DMgad8mU.js`),__vite__mapDeps([37,1,3,4,2,5,6,7,8,9,21,10,38,11,12,13,14,15,16,17,28,31]),import.meta.url)}];function Vr(e,t,n){let{pathname:r,search:i,hash:a}=t,o=e.indexOf(`#`);if(o>-1){let t=a.includes(e.slice(o))?e.slice(o).length:1,n=a.slice(t);return n[0]!==`/`&&(n=`/`+n),Ve(n,``)}let s=Ve(r,e),c=!n||Fe(s,n)?s:n;return c+(c.includes(`?`)?``:i)+a}var Hr=A({name:`nuxt:router`,enforce:`pre`,async setup(e){let t,n,r=x().app.baseURL,i=Y.history?.(r)??Jt(r),a=Y.routes?([t,n]=O(()=>Y.routes(Br)),t=await t,n(),t??Br):Br,o,s=Dn({...Y,scrollBehavior:(e,t,n)=>{if(t===K){o=n;return}if(Y.scrollBehavior){if(s.options.scrollBehavior=Y.scrollBehavior,`scrollRestoration`in window.history){let e=s.beforeEach(()=>{e(),window.history.scrollRestoration=`manual`})}return Y.scrollBehavior(e,K,o||n)}},history:i,routes:a});`scrollRestoration`in window.history&&(window.history.scrollRestoration=`auto`),e.vueApp.use(s);let c=C(s.currentRoute.value);s.afterEach((e,t)=>{c.value=t}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>c.value});let l=Vr(r,window.location,e.payload.path),u=C(s.currentRoute.value),d=()=>{u.value=s.currentRoute.value};s.afterEach((e,t)=>{let n=e.matched.at(-1)?.components?.default,r=t.matched.at(-1)?.components?.default;if(n===r){Q({route:e,Component:{type:n}})===Q({route:t,Component:{type:r}})&&d();return}e.matched.length<t.matched.length&&e.matched.every((e,n)=>e.components?.default===t.matched[n]?.components?.default)&&d()});let f={sync:d};for(let e in u.value)Object.defineProperty(f,e,{get:()=>u.value[e],enumerable:!0});e._route=P(f),e._middleware||={global:[],named:{}};let p=F();s.afterEach(async(t,n,r)=>{delete e._processingMiddleware,!e.isHydrating&&p.value&&await e.runWithContext(Oe),r&&await e.callHook(`page:loading:end`)});try{[t,n]=O(()=>s.isReady()),await t,n()}catch(r){[t,n]=O(()=>ve(e,r)),await t,n()}let m=l===s.currentRoute.value.fullPath?s.currentRoute.value:s.resolve(l),h=s.currentRoute.value.fullPath,g=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&l!==e.payload.path&&Fe(s.currentRoute.value.path,e.payload.path);d();function _(t){!e.isHydrating&&t.fullPath!==Vr(r,window.location)&&i.push(t.fullPath)}let v=e.payload.state._layout;return s.beforeEach(async(t,n)=>{await e.callHook(`page:loading:start`),t.meta=T(t.meta),e.isHydrating&&v&&!re(t.meta.layout)&&(t.meta.layout=v),e._processingMiddleware=!0;{let r=new Set([...Rr,...e._middleware.global]);for(let e of t.matched){let t=e.meta.middleware;if(t)for(let e of Lr(t))r.add(e)}let i=zn({path:t.path});if(i.appMiddleware)for(let e in i.appMiddleware)i.appMiddleware[e]?r.add(e):r.delete(e);for(let i of r){let r=typeof i==`string`?e._middleware.named[i]||await zr[i]?.().then(e=>e.default||e):i;if(!r)throw at.NUXT_E2004({entry:String(i),validMiddleware:void 0});try{let i=await e.runWithContext(()=>r(t,n));if(!e.payload.serverRendered&&e.isHydrating&&(i===!1||i instanceof Error)){let t=i||W({status:404,statusText:`Page Not Found: ${l}`});return await e.runWithContext(()=>B(t)),!1}if(i===!0)continue;if(i===!1)return i;if(i)return ke(i)&&i.fatal&&(await e.runWithContext(()=>B(i)),_(t)),i}catch(n){let r=W(n);return r.fatal&&(await e.runWithContext(()=>B(r)),_(t)),r}}}}),s.onError(async()=>{delete e._processingMiddleware,await e.callHook(`page:loading:end`)}),s.afterEach(t=>{if(t.matched.length===0&&!p.value)return e.runWithContext(()=>B(W({status:404,fatal:!1,statusText:`Page not found: ${t.fullPath}`,data:{path:t.fullPath}})))}),e.hooks.hookOnce(`app:created`,async()=>{try{if(`name`in m&&(m.name=void 0),s.currentRoute.value.fullPath===h)if(g){let t=s.resolve(e.payload.path);`name`in t&&(t.name=void 0),await s.replace({...t,force:!0});let n=()=>{e[`~restoreDeferredRoute`]&&(e[`~restoreDeferredRoute`]=void 0,s.currentRoute.value=s.resolve(l),d(),s.replace({...m,force:!0}).catch(()=>{}))};e[`~restoreDeferredRoute`]=n,e.hooks.hookOnce(`app:suspense:resolve`,n)}else await s.replace({...m,force:!0});s.options.scrollBehavior=Y.scrollBehavior}catch(t){await ve(e,t)}}),{provide:{router:s}}}},1),Ur=A({name:`nuxt:payload`,setup(e){let t=new Set;G().beforeResolve(async(n,r)=>{let i=fr(n.path),a=i?je(n.fullPath):n.path;if(a===(i?je(r.fullPath):r.path))return;let o=await lr(a);if(o){for(let n of t)delete e.static.data[n];for(let n in o.data)n in e.static.data||t.add(n),e.static.data[n]=o.data[n]}}),et(()=>{e.hooks.hook(`link:prefetch`,async e=>{let{hostname:t,pathname:n}=new URL(e,window.location.href);t===window.location.hostname&&await lr(e).catch(()=>{Vt.NUXT_E7003({url:e})})}),navigator.connection?.effectiveType!==`slow-2g`&&setTimeout(Rn,1e3)})}}),Wr=A(()=>{let e=G();et(()=>{e.beforeResolve(async()=>{await new Promise(e=>{setTimeout(e,100),requestAnimationFrame(()=>{setTimeout(e,0)})})})})}),Gr=A(e=>{let t;async function n(){let r;try{r=await Rn()}catch(e){let t=e;if(!(`status`in t&&(t.status===404||t.status===403)))throw t}t&&clearTimeout(t),t=setTimeout(n,w);try{let n=await ct(st(`builds/latest.json`)+`?${Date.now()}`);n.id!==r?.id&&(e.hooks.callHook(`app:manifest:update`,n),t&&clearTimeout(t))}catch{}}et(()=>{t=setTimeout(n,w)})});function Kr(e={}){let t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw at.NUXT_E2010({path:t});if(n.protocol&&Je(n.protocol))throw at.NUXT_E2002({toPath:t,protocol:n.protocol});let r={};try{r=JSON.parse(sessionStorage.getItem(`nuxt:reload`)||`{}`)}catch{}if(e.force||r?.path!==t||r?.expires<Date.now()){try{sessionStorage.setItem(`nuxt:reload`,JSON.stringify({path:t,expires:Date.now()+(e.ttl??1e4)}))}catch{}if(e.persistState)try{sessionStorage.setItem(`nuxt:reload:state`,JSON.stringify({state:E().payload.state}))}catch{}window.location.pathname===t?window.location.reload():window.location.href=t}}var qr=A({name:`nuxt:chunk-reload-crawler`,setup(e){let t=!0;e.hooks.hookOnce(`app:suspense:resolve`,()=>{t=!1}),e.hook(`app:chunkError`,()=>{t&&ue(navigator.userAgent)&&Kr()})}}),Jr=A({name:`nuxt:chunk-reload`,setup(e){let t=G(),n=x(),r=new Set;t.beforeEach(()=>{r.clear()}),e.hook(`app:chunkError`,({error:e})=>{r.add(e)});function i(e){Kr({path:Le(n.app.baseURL,e.fullPath),persistState:!0})}e.hook(`app:manifest:update`,()=>{t.beforeResolve(i)}),t.onError((e,t)=>{r.has(e)&&i(t)})}}),Yr=A({name:`nuxt:global-components`}),$={default:u(()=>X(()=>import(`./cbxnBwm6.js`).then(e=>e.default||e),__vite__mapDeps([39,1,2,6,8,9,16,7,4,5,21,10,33,23,38]),import.meta.url))},Xr=[vr,jr,Hr,Ur,Wr,Gr,qr,Jr,Yr,A({name:`nuxt:prefetch`,setup(e){let t=G();e.hooks.hook(`app:mounted`,()=>{t.beforeEach(async e=>{let t=e?.meta?.layout;t&&typeof $[t]==`function`&&await $[t]()})}),e.hooks.hook(`link:prefetch`,e=>{if($e(e))return;let n=t.resolve(e);if(!n)return;let r=n.meta.layout,i=Lr(n.meta.middleware).filter(e=>typeof e==`string`);for(let e of i){let t=zr[e];typeof t==`function`&&t()}typeof r==`string`&&r in $&&bt($[r])})}})],Zr=(t=`RouteProvider`)=>a({name:t,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){let n=t.renderKey,r=t.route,i={};for(let e in t.route)Object.defineProperty(i,e,{get:()=>n===t.renderKey?t.route[e]:r[e],enumerable:!0});return e(H,P(i)),()=>t.vnode?p(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Qr=Zr(),$r=new WeakMap,ei=a({name:`NuxtPage`,inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:r,expose:i}){let a=E(),o=M(),s=n(H,null),c=new Set,l;i({pageRef:o});let u=n(Pe,null),d,f=a.deferHydration(),m=!1,h=!1,g,v=0;if(a.isHydrating){let e=a.hooks.hookOnce(`app:error`,f),t=G().beforeEach(()=>{e(),t()})}e.pageKey&&j(()=>e.pageKey,(e,t)=>{e!==t&&a.callHook(`page:loading:start`)});let y=!1;{let e=G().beforeResolve(()=>{y=!1});ie(()=>{e(),f()})}return()=>p(En,{name:e.name,route:e.route,...t},{default:ri(t=>{let n=ti(s,t.route,t.Component),i=s&&s.matched.length===t.route.matched.length;if(!t.Component){if(d&&!i&&!ai(d))return d;f();return}if(d&&u&&!ai(d)&&!u.isCurrent(t.route))return d;if(n&&s&&(!u||u?.isCurrent(s)))return(i||d)&&!ai(d)?d:null;let b=Q(t,e.pageKey),x=ni(s,t.route,t.Component);!a.isHydrating&&l===b&&!x&&_(()=>{y||(y=!0,a.callHook(`page:loading:end`))}),m&&l!==b&&h&&v++,l=b;let C=!!(e.transition??t.route.meta.pageTransition??!1),ee=C&&Ue([e.transition,t.route.meta.pageTransition,!1,{onAfterLeave(){a[`~transitionFinish`]?.(),delete a[`~transitionFinish`],delete a[`~transitionPromise`],a.callHook(`page:transition:finish`,t.Component)}}]),w=e.keepalive??t.route.meta.keepalive??!1,T=t.Component.type,E=T.name||T.__name;t.route.meta.keepalive&&E&&c.add(E);let D;if(c.size>0&&e.keepalive==null&&(!w||typeof w==`object`&&w&&w.include)){let e=typeof w==`object`&&w?{...w}:{},t=e.include?Array.isArray(e.include)?e.include:[e.include]:[];D={...e,include:Array.from(new Set([...t,...c]))}}else D=w;return d=Me(C&&ee,Ir(D,p(S,{key:v,suspensible:!0,onPending:()=>{m=!0,C&&!a[`~transitionPromise`]&&(a[`~transitionPromise`]=new Promise(e=>{a[`~transitionFinish`]=e})),g=a.callHook(`page:start`,t.Component)},onResolve:async()=>{m=!1,h=!0,a.isHydrating&&a[`~restoreDeferredRoute`]?.();try{await _(),a._route.sync?.(),await g,await a.callHook(`page:finish`,t.Component),!y&&!x&&(y=!0,await a.callHook(`page:loading:end`))}finally{f()}}},{default:()=>{let e={key:b||void 0,vnode:r.default?ii(r.default,t):t.Component,route:t.route,renderKey:b||void 0,trackRootNodes:C,vnodeRef:o};if(!D)return p(Qr,e);let n=T,i=$r.get(n);return i||(i=Zr(E),$r.set(n,i)),p(i,e)}}))).default(),d})})}});function ti(e,t,n){if(!e)return!1;let r=t.matched.findIndex(e=>e.components?.default===n?.type);if(r===-1)return!1;let i=t.matched.slice(0,r).filter(e=>e.components?.default);if(!i.length)return!1;let a=e.matched.filter(e=>e.components?.default);return i.some((e,t)=>e.components?.default!==a[t]?.components?.default)||n&&Q({route:t,Component:n})!==Q({route:e,Component:n})}function ni(e,t,n){return e?t.matched.findIndex(e=>e.components?.default===n?.type)<t.matched.length-1:!1}function ri(e){let t=(t=>{let n=e(t);return Array.isArray(n)?n:n==null||!g(n)?[r()]:[n]});return t._n=!0,t}function ii(e,t){let n=e(t);return n.length===1?p(n[0]):p(se,void 0,n)}function ai(e){return!!e&&(!!e.suspense?.isUnmounted||!!e.component?.isUnmounted)}var oi=An;function si(e,t){return m(t)??e?.meta.layout??oi(e?.path??`/`).appLayout??`default`}var ci=a({name:`LayoutLoader`,inheritAttrs:!1,props:{name:String,layoutProps:Object},setup(e,t){return()=>p($[e.name],e.layoutProps,t.slots)}}),li=a({name:`NuxtLayout`,inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(t,r){let i=E(),a=n(H),o=!a||a===We()?he():a,s=N(()=>{let e=si(o,t.name);return e&&!(e in $)&&t.fallback&&(e=m(t.fallback)),e});e(it,s);let c=C();r.expose({layoutRef:c});let l=i.deferHydration();if(i.isHydrating){let e=i.hooks.hookOnce(`app:error`,l),t=G().beforeEach(()=>{e(),t()})}let u;return()=>{let e=!!s.value&&s.value in $&&!!(o?.meta.layoutTransition??!1),n=e&&Ue([o?.meta.layoutTransition,!1,{onBeforeLeave(){i[`~transitionPromise`]=new Promise(e=>{i[`~transitionFinish`]=e})},onAfterLeave(){i[`~transitionFinish`]?.(),delete i[`~transitionFinish`],delete i[`~transitionPromise`]}}]),a=u;return u=s.value,Me(n,{default:()=>p(S,{suspensible:!0,onResolve:async()=>{await _(l)}},{default:()=>p(ui,{layoutProps:h(r.attrs,o.meta.layoutProps??{},{ref:c}),key:s.value||void 0,name:s.value,shouldProvide:!t.name,isRenderingNewLayout:e=>e!==a&&e===s.value,hasTransition:e},r.slots)})}).default()}}}),ui=a({name:`NuxtLayoutProvider`,inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(t,r){let i=t.name;t.shouldProvide&&e(Pe,{isCurrent:e=>i===!1||i===si(e)});let a=n(H),o=a&&a===We(),s=n(Pe,null);if(o){let n=he(),r={};for(let e in n){let i=e;Object.defineProperty(r,i,{enumerable:!0,get:()=>t.isRenderingNewLayout(t.name)&&(!s||s.isCurrent(n))?n[i]:a[i]})}e(H,P(r))}return()=>!i||typeof i==`string`&&!(i in $)?r.slots.default?.():p(ci,{key:i,layoutProps:t.layoutProps,name:i},r.slots)}}),di=a({__name:`app`,setup(e){return ht({meta:[{name:`color-scheme`,content:`dark light`}],script:[{key:`nnt-theme`,tagPosition:`head`,innerHTML:`(function(){try{var p=localStorage.getItem('nnt-theme');if(p==='system')p=matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';if(p!=='light'&&p!=='dark')p='dark';var d=p==='dark';document.documentElement.classList.toggle('dark',d);document.documentElement.style.colorScheme=d?'dark':'light';}catch(e){}})()`}]}),(e,t)=>{let n=ei,r=li;return d(),i(r,null,{default:oe(()=>[c(n)]),_:1})}}}),fi={__name:`nuxt-error-page`,props:{error:Object},setup(e){let t=e.error,n=Number(t.statusCode||500),r=n===404,a=t.statusMessage??(r?`Page Not Found`:`Internal Server Error`),c=t.message||t.toString(),l=u(()=>X(()=>import(`./D49wVVwm2.js`),__vite__mapDeps([40,1,3,8,2,9,41,42]),import.meta.url)),f=u(()=>X(()=>import(`./BAfR3Wl32.js`),__vite__mapDeps([43,1,3,41,44]),import.meta.url)),p=r?l:f;return(e,t)=>(d(),i(m(p),o(s({status:m(n),statusText:m(a),statusCode:m(n),statusMessage:m(a),description:m(c),stack:m(void 0)})),null,16))}},pi=()=>null,mi={key:0},hi={__name:`nuxt-root`,setup(t){let n=E(),r=n.deferHydration();if(n.isHydrating){let e=n.hooks.hookOnce(`app:error`,r),t=G().beforeEach(()=>{e(),t()})}window.location.pathname,e(H,We()),n.hooks.callHookWith(e=>e.map(e=>e()),`vue:setup`,[]);let a=F();function o(e,t,r){let i=n.vueApp.config.errorHandler;if(i&&!i.__nuxt_default)try{i(e,t,r)}catch(e){console.error("[nuxt] Error in `app.config.errorHandler`",e)}}return y((e,t,r)=>{if(n.hooks.callHook(`vue:error`,e,t,r)?.catch(e=>console.error("[nuxt] Error in `vue:error` hook",e)),ue(navigator.userAgent))return Qe(n,e),!1;if(ke(e)&&(e.fatal||e.unhandled))return n.runWithContext(()=>B(e)),o(e,t,r),!1}),(e,t)=>(d(),i(S,{onResolve:m(r)},{default:oe(()=>[m(!1)?(d(),l(`div`,mi)):m(a)?(d(),i(m(fi),{key:1,error:m(a)},null,8,[`error`])):m(!1)?(d(),i(m(pi),{key:2,context:m(!1)},null,8,[`context`])):m(!1)?(d(),i(D(m(!1)),{key:3})):(d(),i(m(di),{key:4}))]),_:1},8,[`onResolve`]))}},gi;{let e;gi=async function(){if(e)return e;let t=!!(window.__NUXT__?.serverRendered??document.getElementById(`__NUXT_DATA__`)?.dataset.ssr===`true`),n=t?fe(hi):me(hi),r=te({vueApp:n});async function i(e){await r.callHook(`app:error`,e),r.payload.error||=W(e)}i.__nuxt_default=!0,n.config.errorHandler=i,r.hook(`app:suspense:resolve`,()=>{n.config.errorHandler===i&&(n.config.errorHandler=void 0)}),!t&&ee.id&&r.hook(`app:suspense:resolve`,()=>{document.getElementById(ee.id)?.remove()});try{await ae(r,Xr)}catch(e){i(e)}try{await r.hooks.callHook(`app:created`,n),await r.hooks.callHook(`app:beforeMount`,n),n.mount(k),await r.hooks.callHook(`app:mounted`,n),await _()}catch(e){i(e)}return n},e=gi().catch(e=>{throw v.NUXT_E1009({cause:e}),e})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,F as n,Gt as r,Jt as i,M as a,N as o,O as s,Q as c,T as l,Tt as u,tt as d,ut as f,v as p,vt as m,w as h}from"./ZjfInHdu.js";import{Mt as g}from"./OU1MVgXQ.js";import{n as _}from"./CsN_oUfs.js";import{a as v,u as y}from"./D4C6J8YV.js";import{t as b}from"./Dh50_bkx.js";import{t as x}from"./DsH8sTHf.js";import{a as S,o as C,s as w,t as T}from"./Ba6z8j_4.js";import{t as E}from"./CfBMjq8x.js";import{t as D}from"./m3-Vaz25.js";import{t as ee}from"./D9j6aFUy.js";import{t as te}from"./C51OzH6V.js";import{t as ne}from"./BOKlFKrX.js";import{a as re,i as ie,n as ae,o as oe,r as se,t as O}from"./B1jhn8zK.js";var k=b(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),A=b(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),j=b(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),M=b(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),N={class:`space-y-6`},P={class:`inline-flex items-center gap-1.5`},F=[`aria-expanded`,`aria-label`,`onClick`],I={key:1,class:`inline-block size-6`},L={key:2,class:`text-muted-foreground font-normal`},R={class:`flex items-center justify-end gap-2`},z={class:`text-muted-foreground w-10 text-right`},B={key:1,class:`text-muted-foreground`},V={key:0,class:`ml-1`},H={class:`flex items-center justify-end gap-2`},U={class:`text-muted-foreground w-10 text-right`},ce={key:1,class:`text-muted-foreground`},W={key:0,class:`text-muted-foreground text-xs`},G=n({__name:`scopes`,setup(n){_({title:`Projects — nomnomtokens`});let{data:b,pending:G}=v(),K=y(),q=h(()=>(b.value?.rows??[]).reduce((e,t)=>e+t.costUsd,0)),J=e=>q.value>0?e/q.value*100:0,Y=h(()=>{let e=new Map;for(let t of b.value?.rows??[]){let n=t.label?.trim()||t.scopeHash,r=e.get(n)??[];r.push(t),e.set(n,r)}let t=[];for(let[n,r]of e){let e=r.reduce((e,t)=>e+t.costUsd,0),i=r.reduce((e,t)=>e+t.tokens,0),a=r.reduce((e,t)=>e+t.sessions,0),o=r.reduce((e,t)=>e+t.qtyIn,0),s=r.reduce((e,t)=>e+t.qtyCacheRead,0),c=o+s,l=r.map(e=>e.trendPct).filter(e=>e!==null);t.push({key:n,label:n,rows:r.sort((e,t)=>t.costUsd-e.costUsd),costUsd:e,tokens:i,sessions:a,cacheHitRate:c>0?s/c:null,trendPct:l.length?l.reduce((e,t)=>e+t,0)/l.length:null})}return t.sort((e,t)=>t.costUsd-e.costUsd)}),X=m(new Set);function le(e){let t=new Set(X.value);t.has(e)?t.delete(e):t.add(e),X.value=t}function ue(e){return e.rows.every(e=>K.scopes.value.includes(e.scopeHash))&&e.rows.some(e=>K.scopes.value.includes(e.scopeHash))}function de(e){let t=e.rows.filter(e=>K.scopes.value.includes(e.scopeHash)).length;return t>0&&t<e.rows.length}function Z(e){K.toggleScopeGroup(e.rows.map(e=>e.scopeHash))}function fe(e){return e.slice(0,6)}return(n,m)=>{let h=E,_=oe,v=re,y=ie,q=te,Q=se,pe=ee,$=ne,me=ae,he=O,ge=D;return c(),s(`div`,N,[m[7]||=l(`div`,null,[l(`h1`,{class:`text-2xl font-semibold tracking-tight`},`Projects`),l(`p`,{class:`text-muted-foreground mt-1 text-sm`},` Cost by folder name. Click a name to focus every screen on all paths that share it; expand a row to pick one clone or worktree. `)],-1),o(h),m[8]||=l(`p`,{class:`text-muted-foreground text-xs leading-relaxed`},` Names are the last path segment only — we never store the full path, only a hash of it. Clones and worktrees with the same name are grouped here; expand to see each hash. Filtering a group applies to every folder in it. `,-1),o(ge,{class:`py-0`},{default:f(()=>[o(he,{"container-class":`rounded-xl`},{default:f(()=>[o(y,null,{default:f(()=>[o(v,null,{default:f(()=>[o(_,{class:`pl-4`},{default:f(()=>[...m[0]||=[a(`Project`,-1)]]),_:1}),o(_,{numeric:``},{default:f(()=>[...m[1]||=[a(`Cost`,-1)]]),_:1}),o(_,{numeric:``},{default:f(()=>[...m[2]||=[a(`Share`,-1)]]),_:1}),o(_,{numeric:``},{default:f(()=>[...m[3]||=[a(`Trend`,-1)]]),_:1}),o(_,{numeric:``},{default:f(()=>[...m[4]||=[a(`Tokens`,-1)]]),_:1}),o(_,{numeric:``},{default:f(()=>[...m[5]||=[a(`Cache`,-1)]]),_:1}),o(_,{numeric:``,class:`pr-4`},{default:f(()=>[...m[6]||=[a(`Sessions`,-1)]]),_:1})]),_:1})]),_:1}),o(me,null,{default:f(()=>[u(G)&&!u(b)?(c(),t(v,{key:0},{default:f(()=>[o(Q,{colspan:`7`,class:`p-4`},{default:f(()=>[o(q,{class:`h-24 w-full`})]),_:1})]),_:1})):u(Y).length===0?(c(),t(v,{key:1},{default:f(()=>[o(Q,{colspan:`7`},{default:f(()=>[o(pe,{title:`No projects in this range`,description:`Widen the range, or run a scan to pick up more history.`,command:`npx nomnomtokens scan`})]),_:1})]),_:1})):e(``,!0),(c(!0),s(p,null,d(u(Y),m=>(c(),s(p,{key:m.key},[o(v,{clickable:``,selected:ue(m),class:r(de(m)?`bg-muted/40`:void 0),onClick:e=>Z(m)},{default:f(()=>[o(Q,{class:`pl-4 font-medium`},{default:f(()=>[l(`span`,P,[m.rows.length>1?(c(),s(`button`,{key:0,type:`button`,class:`text-muted-foreground hover:text-foreground -ml-1 inline-flex size-6 items-center justify-center rounded-md`,"aria-expanded":u(X).has(m.key),"aria-label":u(X).has(m.key)?`Collapse paths`:`Expand paths`,onClick:g(e=>le(m.key),[`stop`])},[u(X).has(m.key)?(c(),t(u(x),{key:0,class:`size-3.5`})):(c(),t(u(j),{key:1,class:`size-3.5`}))],8,F)):(c(),s(`span`,I)),a(` `+i(m.label)+` `,1),m.rows.length>1?(c(),s(`span`,L,` · `+i(m.rows.length)+` paths `,1)):e(``,!0)])]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[a(i((`formatUsd`in n?n.formatUsd:u(w))(m.costUsd)),1)]),_:2},1024),o(Q,{numeric:``,class:`w-32`},{default:f(()=>[l(`div`,R,[o($,{value:J(m.costUsd),class:`h-1.5 w-16`},null,8,[`value`]),l(`span`,z,i((`formatPct`in n?n.formatPct:u(S))(J(m.costUsd))),1)])]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[m.trendPct===null?(c(),s(`span`,B,`—`)):(c(),s(`span`,{key:0,class:r([`inline-flex items-center gap-1`,m.trendPct>5?`text-destructive`:m.trendPct<-5?`text-success`:`text-muted-foreground`])},[m.trendPct>5?(c(),t(u(A),{key:0,class:`size-3`})):m.trendPct<-5?(c(),t(u(k),{key:1,class:`size-3`})):(c(),t(u(M),{key:2,class:`size-3`})),a(` `+i((`formatPct`in n?n.formatPct:u(S))(Math.abs(m.trendPct))),1)],2))]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[a(i((`formatCompact`in n?n.formatCompact:u(T))(m.tokens)),1)]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[a(i((`formatRatio`in n?n.formatRatio:u(C))(m.cacheHitRate)),1)]),_:2},1024),o(Q,{numeric:``,class:`pr-4`},{default:f(()=>[a(i(m.sessions),1)]),_:2},1024)]),_:2},1032,[`selected`,`class`,`onClick`]),(c(!0),s(p,null,d(u(X).has(m.key)?m.rows:[],d=>(c(),t(v,{key:d.scopeHash,clickable:``,selected:u(K).scopes.value.includes(d.scopeHash),class:`bg-muted/20`,onClick:e=>u(K).toggleScope(d.scopeHash)},{default:f(()=>[o(Q,{class:`text-muted-foreground pl-12 font-mono text-xs`},{default:f(()=>[a(i(fe(d.scopeHash))+` `,1),d.label?e(``,!0):(c(),s(`span`,V,`unlabelled`))]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[a(i((`formatUsd`in n?n.formatUsd:u(w))(d.costUsd)),1)]),_:2},1024),o(Q,{numeric:``,class:`w-32`},{default:f(()=>[l(`div`,H,[o($,{value:J(d.costUsd),class:`h-1.5 w-16`},null,8,[`value`]),l(`span`,U,i((`formatPct`in n?n.formatPct:u(S))(J(d.costUsd))),1)])]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[d.trendPct===null?(c(),s(`span`,ce,`—`)):(c(),s(`span`,{key:0,class:r([`inline-flex items-center gap-1`,d.trendPct>5?`text-destructive`:d.trendPct<-5?`text-success`:`text-muted-foreground`])},[d.trendPct>5?(c(),t(u(A),{key:0,class:`size-3`})):d.trendPct<-5?(c(),t(u(k),{key:1,class:`size-3`})):(c(),t(u(M),{key:2,class:`size-3`})),a(` `+i((`formatPct`in n?n.formatPct:u(S))(Math.abs(d.trendPct))),1)],2))]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[a(i((`formatCompact`in n?n.formatCompact:u(T))(d.tokens)),1)]),_:2},1024),o(Q,{numeric:``},{default:f(()=>[a(i((`formatRatio`in n?n.formatRatio:u(C))(d.cacheHitRate)),1)]),_:2},1024),o(Q,{numeric:``,class:`pr-4`},{default:f(()=>[a(i(d.sessions),1)]),_:2},1024)]),_:2},1032,[`selected`,`onClick`]))),128))],64))),128))]),_:1})]),_:1})]),_:1}),u(b)&&!u(b).hasTrend?(c(),s(`p`,W,` Trend needs a preceding period of equal length — pick a bounded range to see it. `)):e(``,!0)])}}});export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,F as t,Gt as n,Q as r,Tt as i,it as a,nt as o,ut as s,w as c}from"./ZjfInHdu.js";import{o as l}from"./DQEnwY-5.js";import{t as u}from"./4C_a23zt.js";import{n as d}from"./B2aHje2L.js";var f=d(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8 rounded-md`}},defaultVariants:{variant:`default`,size:`default`}}),p=Object.assign(t({__name:`Button`,props:{variant:{},size:{},to:{},href:{},type:{default:`button`},disabled:{type:Boolean},class:{}},setup(t){let d=t,p=c(()=>d.to?u:d.href?`a`:`button`);return(t,c)=>(r(),e(a(i(p)),{to:d.to,href:d.href,type:d.to||d.href?void 0:d.type,disabled:d.to||d.href?void 0:d.disabled,class:n(i(l)(i(f)({variant:d.variant,size:d.size}),d.class)),"data-slot":`button`},{default:s(()=>[o(t.$slots,`default`)]),_:3},8,[`to`,`href`,`type`,`disabled`,`class`]))}}),{__name:`UiButton`});export{p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,Gt as t,O as n,Q as r,Tt as i,nt as a}from"./ZjfInHdu.js";import{o}from"./DQEnwY-5.js";var s=Object.assign(e({__name:`CardAction`,props:{class:{}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-action`,class:t(i(o)(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,s.class))},[a(e.$slots,`default`)],2))}}),{__name:`UiCardAction`});export{s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,F as t,Jt as n,M as r,N as i,O as a,Q as o,T as s,Tt as c,dt as l,j as u,mt as d,ut as f,vt as p}from"./ZjfInHdu.js";import{At as m,Mt as h}from"./OU1MVgXQ.js";import{t as g}from"./CkRZsevx.js";import{n as _}from"./CsN_oUfs.js";import{t as v}from"./DQEnwY-5.js";import{i as y,n as b,r as x,t as S}from"./Bia8fJFj.js";import{t as C}from"./m3-Vaz25.js";var w={class:`space-y-6`},T={class:`grid gap-4 sm:grid-cols-2`},E={class:`space-y-1.5 text-sm`},D={class:`space-y-1.5 text-sm`},O=[`disabled`],k={key:0,class:`text-muted-foreground text-sm`},A={key:1,class:`text-sm text-success`},j={key:2,class:`text-destructive text-sm`},M=t({__name:`import`,setup(t){_({title:`Import — nomnomtokens`});let M=p(`csv`),N=p(`tokens`),P=p(!1),F=p(null),I=p(null),L=p(null);async function R(e){let t=e.target,n=t.files?.[0];n&&(await z(n),t.value=``)}async function z(e){P.value=!0,F.value=null,I.value=null;try{let t=new FormData;t.set(`file`,e),t.set(`provider`,M.value.trim()||`csv`),t.set(`kind`,N.value.trim()||`tokens`);let n=await g(`/api/import/csv`,{method:`POST`,body:t});F.value=`Imported ${n.added} new event(s) (${n.events} in file, ${n.duplicates} already known, ${n.scopes} scope(s)).`,await v()}catch(e){I.value=e instanceof Error?e.message:String(e)}finally{P.value=!1}}function B(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&z(t)}return(t,p)=>{let g=y,_=x,v=b,z=S,V=C;return o(),a(`div`,w,[p[10]||=u(`<div><h1 class="text-2xl font-semibold tracking-tight">Import CSV</h1><p class="text-muted-foreground mt-1 text-sm"> Drop a billing export or spreadsheet. Headers like <span class="font-mono">timestamp</span>, <span class="font-mono">cost</span>, <span class="font-mono">model</span>, <span class="font-mono">project</span>, <span class="font-mono">input_tokens</span> / <span class="font-mono">output_tokens</span> are detected automatically. </p></div>`,1),i(V,null,{default:f(()=>[i(v,null,{default:f(()=>[i(g,null,{default:f(()=>[...p[4]||=[r(`File`,-1)]]),_:1}),i(_,null,{default:f(()=>[...p[5]||=[r(` Re-importing the same rows is safe — each row hashes to a stable id. CLI: `,-1),s(`span`,{class:`font-mono`},`nnt import path/to/file.csv`,-1)]]),_:1})]),_:1}),i(z,{class:`space-y-4`},{default:f(()=>[s(`div`,T,[s(`label`,E,[p[6]||=s(`span`,{class:`text-muted-foreground`},`Provider label`,-1),l(s(`input`,{"onUpdate:modelValue":p[0]||=e=>d(M)?M.value=e:null,class:`border-input bg-background focus-visible:ring-ring/50 flex h-9 w-full rounded-md border px-3 text-sm outline-none focus-visible:ring-[3px]`,placeholder:`csv`},null,512),[[m,c(M)]])]),s(`label`,D,[p[7]||=s(`span`,{class:`text-muted-foreground`},`Kind`,-1),l(s(`input`,{"onUpdate:modelValue":p[1]||=e=>d(N)?N.value=e:null,class:`border-input bg-background focus-visible:ring-ring/50 flex h-9 w-full rounded-md border px-3 text-sm outline-none focus-visible:ring-[3px]`,placeholder:`tokens`},null,512),[[m,c(N)]])])]),s(`div`,{class:`border-muted-foreground/40 hover:border-foreground/40 flex cursor-pointer flex-col items-center justify-center gap-2 rounded-xl border border-dashed px-6 py-12 text-center transition-colors`,onDragover:p[2]||=h(()=>{},[`prevent`]),onDrop:B,onClick:p[3]||=e=>c(L)?.click()},[p[8]||=s(`p`,{class:`text-sm font-medium`},`Drop a .csv here, or click to choose`,-1),p[9]||=s(`p`,{class:`text-muted-foreground text-xs`},`UTF-8 text · first row = headers`,-1),s(`input`,{ref_key:`fileInput`,ref:L,type:`file`,accept:`.csv,text/csv,text/plain`,class:`hidden`,disabled:c(P),onChange:R},null,40,O)],32),c(P)?(o(),a(`p`,k,`Importing…`)):c(F)?(o(),a(`p`,A,n(c(F)),1)):c(I)?(o(),a(`p`,j,n(c(I)),1)):e(``,!0)]),_:1})]),_:1})])}}});export{M as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,F as n,Gt as r,H as i,Jt as a,M as o,N as s,O as c,Q as l,T as u,Tt as d,nt as f,ot as p,tt as m,ut as h,v as g,w as _}from"./ZjfInHdu.js";import{o as v}from"./DQEnwY-5.js";import{t as y}from"./CIKwfDBl.js";import{o as b,u as x}from"./D4C6J8YV.js";import{t as S}from"./Ch3y3mGJ.js";import{t as C}from"./W3KL_OjU.js";var w=[`aria-label`],T=[`aria-selected`,`tabindex`,`data-state`,`onClick`,`onKeydown`],E=Object.assign(n({__name:`Tabs`,props:i({options:{},class:{},ariaLabel:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=p(e,`modelValue`);function i(e,r){let i=t.options.length-1,a=null;e.key===`ArrowRight`?a=r===i?0:r+1:e.key===`ArrowLeft`?a=r===0?i:r-1:e.key===`Home`?a=0:e.key===`End`&&(a=i),a!==null&&(e.preventDefault(),n.value=t.options[a].value,(e.currentTarget.parentElement?.querySelectorAll(`[role=tab]`)?.[a])?.focus())}return(e,o)=>(l(),c(`div`,{role:`tablist`,"aria-label":t.ariaLabel,"data-slot":`tabs-list`,class:r(d(v)(`bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]`,t.class))},[(l(!0),c(g,null,m(t.options,(e,t)=>(l(),c(`button`,{key:e.value,type:`button`,role:`tab`,"aria-selected":n.value===e.value,tabindex:n.value===e.value?0:-1,"data-state":n.value===e.value?`active`:`inactive`,"data-slot":`tabs-trigger`,class:r(d(v)(`inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50`,`data-[state=active]:bg-background data-[state=active]:shadow-sm dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`)),onClick:t=>n.value=e.value,onKeydown:e=>i(e,t)},a(e.label),43,T))),128))],10,w))}}),{__name:`UiTabs`}),D={class:`flex flex-wrap items-center gap-3`},O={key:0,class:`flex flex-wrap items-center gap-1.5`},k={class:`ml-auto`},A=Object.assign(n({__name:`FilterBar`,setup(n){let r=x(),{scopes:i}=b(),p=[{value:`24h`,label:`24h`},{value:`7d`,label:`7d`},{value:`30d`,label:`30d`},{value:`90d`,label:`90d`},{value:`all`,label:`All`}],v=_(()=>i.value.filter(e=>r.scopes.value.includes(e.scopeHash)));return(n,i)=>{let _=E,b=C,x=y;return l(),c(`div`,D,[s(_,{"model-value":d(r).range.value,options:p,"aria-label":`Time range`,"onUpdate:modelValue":i[0]||=e=>d(r).setRange(e)},null,8,[`model-value`]),d(v).length>0?(l(),c(`div`,O,[(l(!0),c(g,null,m(d(v),e=>(l(),t(b,{key:e.scopeHash,variant:`secondary`,class:`cursor-pointer gap-1 pr-1`,onClick:t=>d(r).toggleScope(e.scopeHash)},{default:h(()=>[o(a(e.label)+` `,1),s(d(S),{class:`size-3 opacity-60`})]),_:2},1032,[`onClick`]))),128)),s(x,{variant:`ghost`,size:`sm`,class:`h-6 px-2 text-xs`,onClick:i[1]||=e=>d(r).clearScopes()},{default:h(()=>[...i[2]||=[o(` clear `,-1)]]),_:1})])):e(``,!0),u(`div`,k,[f(n.$slots,`actions`)])])}}}),{__name:`FilterBar`});export{E as n,A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./Dh50_bkx.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mt as e,pt as t,ut as n}from"./
|
|
1
|
+
import{mt as e,pt as t,ut as n}from"./OU1MVgXQ.js";var r=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,i=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,a=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function o(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){s(e);return}return t}function s(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function c(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!a.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(r.test(e)||i.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,o)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}var l=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function u(e){let t=e.error?.message||e.error?.toString()||``,n=e.request?.method||e.options?.method||`GET`,r=e.request?.url||String(e.request)||`/`,i=new l(`${`[${n}] ${JSON.stringify(r)}`}: ${e.response?`${e.response.status} ${e.response.statusText}`:`<no response>`}${t?` ${t}`:``}`,e.error?{cause:e.error}:void 0);for(let t of[`request`,`options`,`response`])Object.defineProperty(i,t,{get(){return e[t]}});for(let[t,n]of[[`data`,`_data`],[`status`,`status`],[`statusCode`,`status`],[`statusText`,`statusText`],[`statusMessage`,`statusText`]])Object.defineProperty(i,t,{get(){return e.response&&e.response[n]}});return i}var d=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function f(e=`GET`){return d.has(e.toUpperCase())}function p(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}var m=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),h=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function g(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return h.test(t)?`json`:t===`text/event-stream`?`stream`:m.has(t)||t.startsWith(`text/`)?`text`:`blob`}function _(e,t,n,r){let i=v(t?.headers??e?.headers,n?.headers,r),a;return(n?.query||n?.params||t?.params||t?.query)&&(a={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:a,params:a,headers:i}}function v(e,t,n){if(!t)return new n(e);let r=new n(t);if(e)for(let[t,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(t,i);return r}async function y(e,t){if(t)if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}var b=new Set([408,409,425,429,500,502,503,504]),x=new Set([101,204,205,304]);function S(n={}){let{fetch:r=globalThis.fetch,Headers:i=globalThis.Headers,AbortController:a=globalThis.AbortController}=n;async function o(e){let t=e.error&&e.error.name===`AbortError`&&!e.options.timeout||!1;if(e.options.retry!==!1&&!t){let t;t=typeof e.options.retry==`number`?e.options.retry:+!f(e.options.method);let n=e.response&&e.response.status||500;if(t>0&&(Array.isArray(e.options.retryStatusCodes)?e.options.retryStatusCodes.includes(n):b.has(n))){let n=typeof e.options.retryDelay==`function`?e.options.retryDelay(e):e.options.retryDelay||0;return n>0&&await new Promise(e=>setTimeout(e,n)),s(e.request,{...e.options,retry:t-1})}}let n=u(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,s),n}let s=async function(s,l={}){let u={request:s,options:_(s,l,n.defaults,i),response:void 0,error:void 0};if(u.options.method&&(u.options.method=u.options.method.toUpperCase()),u.options.onRequest&&(await y(u,u.options.onRequest),u.options.headers instanceof i||(u.options.headers=new i(u.options.headers||{}))),typeof u.request==`string`&&(u.options.baseURL&&(u.request=t(u.request,u.options.baseURL)),u.options.query&&(u.request=e(u.request,u.options.query),delete u.options.query),`query`in u.options&&delete u.options.query,`params`in u.options&&delete u.options.params),u.options.body&&f(u.options.method))if(p(u.options.body)){let e=u.options.headers.get(`content-type`);typeof u.options.body!=`string`&&(u.options.body=e===`application/x-www-form-urlencoded`?new URLSearchParams(u.options.body).toString():JSON.stringify(u.options.body)),e||u.options.headers.set(`content-type`,`application/json`),u.options.headers.has(`accept`)||u.options.headers.set(`accept`,`application/json`)}else(`pipeTo`in u.options.body&&typeof u.options.body.pipeTo==`function`||typeof u.options.body.pipe==`function`)&&(`duplex`in u.options||(u.options.duplex=`half`));let d;if(!u.options.signal&&u.options.timeout){let e=new a;d=setTimeout(()=>{let t=Error(`[TimeoutError]: The operation was aborted due to timeout`);t.name=`TimeoutError`,t.code=23,e.abort(t)},u.options.timeout),u.options.signal=e.signal}try{u.response=await r(u.request,u.options)}catch(e){return u.error=e,u.options.onRequestError&&await y(u,u.options.onRequestError),await o(u)}finally{d&&clearTimeout(d)}if((u.response.body||u.response._bodyInit)&&!x.has(u.response.status)&&u.options.method!==`HEAD`){let e=(u.options.parseResponse?`json`:u.options.responseType)||g(u.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await u.response.text(),t=u.options.parseResponse||c;u.response._data=t(e);break}case`stream`:u.response._data=u.response.body||u.response._bodyInit;break;default:u.response._data=await u.response[e]()}}return u.options.onResponse&&await y(u,u.options.onResponse),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await y(u,u.options.onResponseError),await o(u)):u.response},l=async function(e,t){return(await s(e,t))._data};return l.raw=s,l.native=(...e)=>r(...e),l.create=(e={},t={})=>S({...n,...t,defaults:{...n.defaults,...t.defaults,...e}}),l}var C=(function(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)})(),w=C.fetch?(...e)=>C.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),T=C.Headers,E=C.AbortController,D=S({fetch:w,Headers:T,AbortController:E}),O=()=>window?.__NUXT__?.config||window?.useNuxtApp?.().payload?.config,k=()=>O().app,A=()=>k().baseURL,j=()=>k().buildAssetsDir,M=(...e)=>n(N(),j(),...e),N=(...e)=>{let t=k(),r=t.cdnURL||t.baseURL;return e.length?n(r,...e):r};globalThis.__buildAssetsURL=M,globalThis.__publicAssetsURL=N,globalThis.$fetch||(globalThis.$fetch=D.create({baseURL:A()}));var P=globalThis.$fetch;export{M as n,P as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,F as n,Gt as r,Jt as i,M as a,N as o,O as s,Q as c,T as l,Tt as u,nt as d,ut as f,v as p,w as m}from"./ZjfInHdu.js";import{o as h}from"./DQEnwY-5.js";import{t as g}from"./D9Mxq5ER.js";import{n as _,r as v,t as y}from"./Bia8fJFj.js";import{t as b}from"./m3-Vaz25.js";import{t as x}from"./C51OzH6V.js";var S=[`viewBox`],C=[`d`],w=[`d`],T=100,E=28,D=Object.assign(n({__name:`Sparkline`,props:{values:{},class:{},area:{type:Boolean,default:!0}},setup(t){let n=t,i=m(()=>{let e=n.values;if(e.length<2)return{line:``,area:``};let t=Math.max(...e),r=Math.min(...e,0),i=t-r||1,a=T/(e.length-1),o=e.map((e,t)=>{let n=t*a,o=27-(e-r)/i*26;return`${n.toFixed(2)},${o.toFixed(2)}`});return{line:`M${o.join(`L`)}`,area:`M0,${E} L${o.join(`L`)} L${T},${E} Z`}});return(t,a)=>(c(),s(`svg`,{viewBox:`0 0 ${T} ${E}`,preserveAspectRatio:`none`,class:r(n.class),"aria-hidden":`true`,focusable:`false`},[n.area&&u(i).area?(c(),s(`path`,{key:0,d:u(i).area,fill:`var(--chart-1)`,opacity:`0.15`},null,8,C)):e(``,!0),u(i).line?(c(),s(`path`,{key:1,d:u(i).line,fill:`none`,stroke:`var(--chart-1)`,"stroke-width":`1.5`,"stroke-linejoin":`round`,"stroke-linecap":`round`,"vector-effect":`non-scaling-stroke`},null,8,w)):e(``,!0)],10,S))}}),{__name:`ChartsSparkline`}),O={class:`tabular text-3xl font-semibold tracking-tight`},k={key:0,class:`text-muted-foreground mt-1 text-xs`},A=Object.assign(n({__name:`StatTile`,props:{label:{},value:{},hint:{},detail:{},loading:{type:Boolean},class:{}},setup(n){let m=n;return(n,S)=>{let C=g,w=v,T=_,E=x,D=y,A=b;return c(),t(A,{class:r(u(h)(`gap-3 py-5`,m.class))},{default:f(()=>[o(T,{class:`px-5`},{default:f(()=>[o(w,{class:`flex items-center gap-1.5`},{default:f(()=>[a(i(m.label)+` `,1),m.hint?(c(),t(C,{key:0,content:m.hint},{default:f(()=>[...S[0]||=[l(`span`,{class:`border-muted-foreground/40 text-muted-foreground flex size-3.5 cursor-help items-center justify-center rounded-full border text-[9px]`},`?`,-1)]]),_:1},8,[`content`])):e(``,!0)]),_:1})]),_:1}),o(D,{class:`px-5`},{default:f(()=>[m.loading?(c(),t(E,{key:0,class:`h-8 w-24`})):(c(),s(p,{key:1},[l(`div`,O,i(m.value),1),m.detail?(c(),s(`div`,k,i(m.detail),1)):e(``,!0)],64)),d(n.$slots,`default`)]),_:3})]),_:3},8,[`class`])}}}),{__name:`StatTile`});export{D as n,A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$t as e,B as t,G as n,I as r,J as i,Qt as a,Zt as o,ct as s,ft as c,h as l,i as u,mt as d,q as f,vt as ee,wt as te,z as p}from"./ZjfInHdu.js";var m=e({docsBase:o,reporters:a}),h=new Set([`link`,`style`,`script`,`noscript`]),g=new Set([`title`,`titleTemplate`,`script`,`style`,`noscript`]),_=new Set([`base`,`meta`,`link`,`style`,`script`,`noscript`]),v=new Set([`title`,`base`,`htmlAttrs`,`bodyAttrs`,`meta`,`link`,`style`,`script`,`noscript`]),y=new Set([`base`,`title`,`titleTemplate`,`bodyAttrs`,`htmlAttrs`,`templateParams`]),b=new Set([`key`,`tagPosition`,`tagPriority`,`tagDuplicateStrategy`,`innerHTML`,`textContent`,`processTemplateParams`]),ne=new Set([`templateParams`,`htmlAttrs`,`bodyAttrs`]),x=new Set([`theme-color`,`google-site-verification`,`author`,`og:locale:alternate`,`og:image`,`og:video`,`og:audio`,`article:author`,`article:tag`,`book:author`,`book:tag`,`twitter:image`]),S={critical:-8,high:-1,low:2},C=e=>typeof e==`number`?Number.isFinite(e):e;function w(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function re(e){let t=new l;for(let n in e||{})t.hook(n,e[n]);return t}function T(e,t,n){if(e.hooks?._hooks?.[t]?.length)return e.hooks?.callHook(t,n)}var E=/^(?:viewport|description|keywords|robots)$/,D=[`name`,`property`,`http-equiv`];function O(e){let t=e.indexOf(`:`);if(t===-1)return!1;let n=e.slice(t+1);return x.has(n)||n.startsWith(`og:image:`)||n.startsWith(`og:video:`)||n.startsWith(`og:audio:`)||n.startsWith(`twitter:image:`)}function k(e){let{props:t,tag:n,key:r}=e;if(y.has(n))return n;if(n===`link`){if(t.rel===`canonical`)return`canonical`;if(t.rel===`alternate`&&t.hreflang)return`alternate:${t.hreflang}`}if(t.charset)return`charset`;if(n===`meta`)for(let e of D){let n=t[e];if(n!==void 0)return`meta:${n}${(typeof n!=`string`||!n.includes(`:`))&&!E.test(n)&&r?`:key:${r}`:``}`}return r?`${n}:key:${r}`:t.id?`${n}:id:${t.id}`:n===`link`&&t.rel&&t.href?`link:${t.rel}:${t.href}`:g.has(n)&&(e.textContent||e.innerHTML)?`${n}:content:${e.textContent||e.innerHTML}`:void 0}function A(e){let t=e._h||e._d||e.textContent||e.innerHTML;if(t)return t;let n=Object.keys(e.props).sort(),r=`${e.tag}:`,i=``;for(let t of n)r+=`${i}${t}:${String(e.props[t])}`,i=`,`;return r}function j(e,t,n){if(n===`_resolver`)return e;typeof e==`function`&&(!n||n!==`titleTemplate`&&!n.startsWith(`on`))&&(e=e());let r=t?t(n,e):e;if(Array.isArray(r)){let e;for(let n=0;n<r.length;n++){let i=j(r[n],t);e?e[n]=i:i!==r[n]&&(e=r.slice(0,n),e[n]=i)}return e||r}if(r?.constructor===Object){let e;for(let n in r){let i=w(n),a=i?void 0:j(r[n],t,n);if(!e&&(i||a!==r[n])){e={};for(let t in r){if(t===n)break;e[t]=r[t]}}e&&!i&&(e[n]=a)}return e||r}return r}var M=/[\s"'<>/=\x00-\x1F\x7F]/;function N(e,t){let n=e===`style`,r=n?new Map:new Set,i=e=>{if(e)if(n){let t=e.indexOf(`:`);t>0&&r.set(e.slice(0,t).trim(),e.slice(t+1).trim())}else e.split(` `).forEach(e=>e&&r.add(e))};if(typeof t==`string`)(n?t.split(`;`):[t]).forEach(i);else if(Array.isArray(t))t.forEach(i);else if(t&&typeof t==`object`)for(let e in t){let a=t[e];a&&a!==`false`&&(n?r.set(e.trim(),String(a)):i(e))}return r}function P(e,t){if(e.props=e.props||{},!t)return e;if(e.tag===`templateParams`)return e.props=t,e;let n=_.has(e.tag)||e.tag===`htmlAttrs`||e.tag===`bodyAttrs`;for(let r in t){if(w(r))continue;let i=r.startsWith(`data-`),a=n&&!b.has(r),o=a&&!i?r.toLowerCase():r;if(a&&(!o||M.test(o)))continue;let s=t[r];if(s===null)e.props[o]=null;else if(r===`class`||r===`style`)e.props[r]=N(r,s);else if(b.has(r))if((r===`textContent`||r===`innerHTML`)&&typeof s==`object`){let n=t.type||`application/json`;(n.endsWith(`json`)||n===`speculationrules`||n===`importmap`)&&(e.props.type=t.type=n,e[r]=JSON.stringify(s))}else e[r]=s;else if(s!==void 0){let t=String(s),n=e.tag===`meta`&&o===`content`;e.props[o]=t===`true`||t===``?i||n?t:!0:!s&&i&&t===`false`?`false`:s}}return e}function F(e,t){let n;return t.length&&(n=(e,n)=>{for(let r=0;r<t.length;r++)n=t[r](e,n);return n},e=n(void 0,e)),j(e,n)}function I(e,t){let n=P({tag:e,props:{}},typeof t==`object`&&typeof t!=`function`?t:{[e===`script`||e===`noscript`||e===`style`?`innerHTML`:`textContent`]:t});if(n.key&&h.has(n.tag)&&(n.props[`data-hid`]=n._h=n.key),n.tag===`script`&&typeof n.innerHTML==`object`&&(n.innerHTML=JSON.stringify(n.innerHTML),n.props.type=n.props.type||`application/json`),Array.isArray(n.props.content)){let e=[];for(let t of n.props.content)e.push({...n,props:{...n.props,content:t}});return e}return n}function L(e,t){if(Array.isArray(t))for(let n of t)e.push(n);else e.push(t)}function R(e,t){if(!e)return[];typeof e==`function`&&(e=e()),e=F(e,t);let n=[];for(let t in e){let r=e[t];if(r!==void 0)if(Array.isArray(r))for(let e of r)L(n,I(t,e));else L(n,I(t,r))}return n}var z=/</g,B=/<\/script/g,V=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,H=()=>100;function U(e){for(let t in e)return!1;return!0}var W=/^tags:|:render/;function G(e,t){let n=(t[`entries:resolve`]?.length||0)+(t[`entries:normalize`]?.length||0);if(e._h!==n){e._h=n;for(let t of e.entries.values())delete t._tags}}function K(e){for(let t=0;t<e.length;t++){let n=e[t],r={...n.props};r.class instanceof Set&&(r.class=new Set(r.class)),r.style instanceof Map&&(r.style=new Map(r.style)),e[t]={...n,props:r}}}function q(e,t){let n=e.tags,r=0;for(let t of e.tagMap.values())if(Array.isArray(t))for(let e of t)n[r++]=e;else n[r++]=t;n.length=r,t&&n.sort(V)}function J(e){let t=!1;for(let n of e.tags.sort(V)){let r=n._d||A(n);if(!r)continue;let i=e.tagMap.get(r);if(!i){e.tagMap.set(r,n);continue}if((n.tagDuplicateStrategy||(ne.has(n.tag)?`merge`:null)||(n.key&&n.key===i.key?`merge`:null))===`merge`){let t={...i.props};for(let e in n.props)t[e]=e===`style`?new Map([...i.props.style||new Map,...n.props[e]]):e===`class`?new Set([...i.props.class||[],...n.props[e]]):n.props[e];e.tagMap.set(r,{...n,props:t})}else n._p>>10==i._p>>10&&n.tag===`meta`&&O(r)?(e.tagMap.set(r,Object.assign([...Array.isArray(i)?i:[i],n],n)),t=!0):(n._w===i._w?n._p>i._p:n._w<i._w)&&e.tagMap.set(r,n)}return t}function Y(e,t){let n=e.tagMap.get(`title`),r=e.tagMap.get(`titleTemplate`);if(t._title=n?.textContent,!r)return;let i=r.textContent;if(t._titleTemplate=i,!i)return;let a=typeof i==`function`?i(n?.textContent):i;typeof a==`string`&&!t.plugins.has(`template-params`)&&(a=a.replace(`%s`,n?.textContent||``)),n?a===null?e.tagMap.delete(`title`):e.tagMap.set(`title`,{...n,textContent:a}):e.tagMap.set(`titleTemplate`,{...r,tag:`title`,textContent:a})}function X(e){let t=0;for(let n of e){let{innerHTML:r,tag:i,props:a}=n;if(!(!v.has(i)||U(a)&&!C(r)&&!C(n.textContent))&&!(i===`meta`&&!C(a.content)&&!a[`http-equiv`]&&!a.charset)){if(i===`script`&&(r||n.textContent)){let e=String(a.type),t=e.endsWith(`json`)||e===`importmap`||e===`speculationrules`,i=e=>t?(typeof e==`string`?e:JSON.stringify(e)).replace(z,`\\u003C`):typeof e==`string`?e.replace(B,`<\\/script`):e;n={...n},r&&(n.innerHTML=i(r)),n.textContent&&(n.textContent=i(n.textContent)),n._d=k(n)}e[t++]=n}}return e.length=t,e}function ie(e,t){let n=t?.tagWeight??e.resolvedOptions._tagWeight??H,r={tagMap:new Map,tags:[]},i=e.hooks?._hooks||{};G(e,i);for(let t of e.entries.values())t._pending!==void 0&&(t.input=t._pending,delete t._pending,delete t._tags,delete t._precomputedTags);let a;(i[`entries:resolve`]?.length||i[`entries:normalize`]?.length)&&(a=[...e.entries.values()],i[`entries:resolve`]?.length&&T(e,`entries:resolve`,{entries:a,...r})),G(e,i);for(let t of a||e.entries.values()){let a=t._tags;if(!a)if(t._precomputedTags&&n===e.resolvedOptions._tagWeight&&!i[`entries:normalize`]?.length&&!i[`entries:resolve`]?.length&&(!t.options||U(t.options)))a=t._precomputedTags;else{if(a=R(t.input,e.resolvedOptions.propResolvers||[]),t.options&&!U(t.options))for(let e of a)Object.assign(e,t.options);if(i[`entries:normalize`]?.length){let n={tags:a,entry:t};T(e,`entries:normalize`,n),a=n.tags}for(let e=0;e<a.length;e++){let r=a[e];r._w=n(r),r._p=(t._i<<10)+e,r._d=k(r),r._d||(r._h=A(r))}t._tags=a}r.tags.push(...a)}for(let e in i)if(i[e]?.length&&W.test(e)){K(r.tags);break}let o=J(r);return Y(r,e),q(r,o),T(e,`tags:beforeResolve`,r),T(e,`tags:resolve`,r),T(e,`tags:afterResolve`,r),X(r.tags)}var Z=`usehead`;function ae(){if(p()){let e=t(Z);if(e)return e}throw Error(`useHead() was called without provide context, ensure you call it through the setup() function.`)}function oe(e){return{install(t){t.config.globalProperties.$unhead=e,t.config.globalProperties.$head=e,t.provide(Z,e)}}.install}var se=Object.assign((e,t)=>d(t)?te(t):t,{_static:!0});function ce(e,t={}){let n=t.head||ae();return n.ssr?n.push(e||{},t):le(n,e,t)}function le(e,t,a={}){let o=c();if(o&&!o.active)return{patch(){},dispose(){},_i:-1};let l=ee(!1);if(a.onRendered&&o){let e=a.onRendered;a={...a,onRendered:t=>o.run(()=>e(t))}}let u;return s(()=>{let n=l.value?{}:j(t,se);u?u.patch(n):u=e.push(n,a)}),r()&&(f(()=>{u.dispose()}),i(()=>{l.value=!0}),n(()=>{l.value=!1})),u}function Q(e){let n=e||u();return n.ssrContext?.head||n.runWithContext(()=>{if(p()){let e=t(`usehead`);if(!e)throw m.NUXT_E6001();return e}})}function $(e,t={}){return ce(e,{head:t.head||Q(t.nuxt),...t})}export{A as a,ie as c,_ as d,S as f,k as i,T as l,$ as n,O as o,oe as r,P as s,Q as t,re as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,F as n,Jt as r,M as i,N as a,O as o,Q as s,T as c,Tt as l,lt as u,tt as d,ut as f,v as p,w as m}from"./ZjfInHdu.js";import{it as h}from"./OU1MVgXQ.js";import{n as g}from"./CsN_oUfs.js";import{t as _}from"./B2aHje2L.js";import{t as v}from"./CIKwfDBl.js";import{t as y}from"./Dh50_bkx.js";import{o as b,r as x,s as S,t as C}from"./Ba6z8j_4.js";import{i as ee,n as te,r as ne,t as re}from"./Bia8fJFj.js";import{t as ie}from"./m3-Vaz25.js";import{t as ae}from"./D9j6aFUy.js";import{n as w,t as T}from"./Cq1Sq3Go.js";import{t as E}from"./C51OzH6V.js";import{a as D,i as O,n as k,o as A,r as j,t as M}from"./B1jhn8zK.js";var N=y(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),P={class:`space-y-6`},F={key:0},I={class:`font-mono text-2xl font-semibold tracking-tight`},L={class:`text-muted-foreground mt-1 text-sm`},R={class:`grid gap-4 sm:grid-cols-2 lg:grid-cols-4`},z={key:0},oe={class:`text-success`},B={class:`text-destructive ml-1`},V={key:1,class:`text-muted-foreground`},H=n({__name:`[id]`,async setup(n){let y,H,U=h(),W=m(()=>String(U.params.id)),{data:G,pending:K,error:q}=([y,H]=u(()=>_(()=>`/api/stats/session/${W.value}`,`$1wtwpSAQCo`)),y=await y,H(),y);g({title:()=>`Session ${W.value.slice(0,8)} — nomnomtokens`});let se=m(()=>{let e=0;return(G.value?.events??[]).map(t=>(e+=t.costUsd??0,e))}),J=m(()=>(G.value?.events??[]).reduce((e,t)=>e===null||(t.costUsd??0)>e.cost?{cost:t.costUsd??0,ts:t.ts}:e,null));return(n,u)=>{let m=v,h=ae,g=T,_=ee,y=ne,H=te,U=w,W=re,Y=ie,X=A,Z=D,ce=O,Q=j,le=k,$=M,ue=E;return s(),o(`div`,P,[a(m,{to:`/sessions`,variant:`ghost`,size:`sm`,class:`-ml-2 gap-1.5`},{default:f(()=>[a(l(N),{class:`size-4`}),u[0]||=i(` Sessions `,-1)]),_:1}),l(q)?(s(),o(`div`,F,[a(h,{title:`No such session`,description:`It may have been outside the scanned history, or the id is wrong.`})])):l(G)?(s(),o(p,{key:1},[c(`div`,null,[c(`h1`,I,r(l(G).sessionId.slice(0,8)),1),c(`p`,L,r(l(G).events.length)+` priced turns · `+r(l(G).lines.added+l(G).lines.removed)+` lines changed `,1)]),c(`div`,R,[a(g,{label:`Cost`,value:(`formatUsd`in n?n.formatUsd:l(S))(l(G).totals.costUsd)},null,8,[`value`]),a(g,{label:`Tokens`,value:(`formatCompact`in n?n.formatCompact:l(C))(l(G).totals.tokens)},null,8,[`value`]),a(g,{label:`Cache read`,value:(`formatCompact`in n?n.formatCompact:l(C))(l(G).totals.qtyCacheRead),detail:`${(`formatRatio`in n?n.formatRatio:l(b))(l(G).totals.qtyCacheRead/(l(G).totals.qtyCacheRead+l(G).totals.qtyIn||1))} hit rate`},null,8,[`value`,`detail`]),a(g,{label:`Most expensive turn`,value:(`formatUsd`in n?n.formatUsd:l(S))(l(J)?.cost??0),detail:l(J)?(`formatDateTime`in n?n.formatDateTime:l(x))(l(J).ts):void 0},null,8,[`value`,`detail`])]),a(Y,null,{default:f(()=>[a(H,{class:`border-b pb-4`},{default:f(()=>[a(_,null,{default:f(()=>[...u[1]||=[i(`Cumulative spend`,-1)]]),_:1}),a(y,null,{default:f(()=>[...u[2]||=[i(`How the bill accrued across the session.`,-1)]]),_:1})]),_:1}),a(W,{class:`pt-5`},{default:f(()=>[a(U,{values:l(se),class:`h-24 w-full`},null,8,[`values`])]),_:1})]),_:1}),a(Y,{class:`py-0`},{default:f(()=>[a($,null,{default:f(()=>[a(ce,null,{default:f(()=>[a(Z,null,{default:f(()=>[a(X,{class:`pl-4`},{default:f(()=>[...u[3]||=[i(`Time`,-1)]]),_:1}),a(X,null,{default:f(()=>[...u[4]||=[i(`Model`,-1)]]),_:1}),a(X,{numeric:``},{default:f(()=>[...u[5]||=[i(`Cost`,-1)]]),_:1}),a(X,{numeric:``},{default:f(()=>[...u[6]||=[i(`In`,-1)]]),_:1}),a(X,{numeric:``},{default:f(()=>[...u[7]||=[i(`Out`,-1)]]),_:1}),a(X,{numeric:``},{default:f(()=>[...u[8]||=[i(`Cache read`,-1)]]),_:1}),a(X,{numeric:``,class:`pr-4`},{default:f(()=>[...u[9]||=[i(`Lines`,-1)]]),_:1})]),_:1})]),_:1}),a(le,null,{default:f(()=>[(s(!0),o(p,null,d(l(G).events,e=>(s(),t(Z,{key:e.id},{default:f(()=>[a(Q,{class:`text-muted-foreground pl-4 tabular text-xs`},{default:f(()=>[i(r(new Date(e.ts).toLocaleTimeString()),1)]),_:2},1024),a(Q,{class:`font-mono text-xs`},{default:f(()=>[i(r(e.unitLabel??`—`),1)]),_:2},1024),a(Q,{numeric:``},{default:f(()=>[i(r((`formatUsd`in n?n.formatUsd:l(S))(e.costUsd)),1)]),_:2},1024),a(Q,{numeric:``},{default:f(()=>[i(r((`formatCompact`in n?n.formatCompact:l(C))(e.qty.in??0)),1)]),_:2},1024),a(Q,{numeric:``},{default:f(()=>[i(r((`formatCompact`in n?n.formatCompact:l(C))(e.qty.out??0)),1)]),_:2},1024),a(Q,{numeric:``},{default:f(()=>[i(r((`formatCompact`in n?n.formatCompact:l(C))(e.qty.cacheRead??0)),1)]),_:2},1024),a(Q,{numeric:``,class:`pr-4`},{default:f(()=>[(e.meta.linesAdded??0)+(e.meta.linesRemoved??0)>0?(s(),o(`span`,z,[c(`span`,oe,`+`+r(e.meta.linesAdded??0),1),c(`span`,B,`−`+r(e.meta.linesRemoved??0),1)])):(s(),o(`span`,V,`—`))]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})],64)):l(K)?(s(),t(ue,{key:2,class:`h-96 w-full`})):e(``,!0)])}}});export{H as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Jt as e,M as t,N as n,O as r,Q as i,T as a,ut as o}from"./ZjfInHdu.js";import{n as s}from"./CsN_oUfs.js";import{t as c}from"./4C_a23zt.js";import{t as l}from"./BDNMzG2s2.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=l({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(l){let g=l;return s({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(s,g)=>{let _=c;return i(),r(`div`,u,[a(`div`,d,[a(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:e(l.status)},null,8,f),a(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:e(l.statusText)},null,8,p),a(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:e(l.description)},null,8,m),a(`div`,h,[n(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:o(()=>[t(e(l.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-5932722e`]]);export{g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{w as e}from"./ZjfInHdu.js";import{at as t,it as n}from"./OU1MVgXQ.js";import{t as r}from"./B2aHje2L.js";function i(){let r=n(),i=t(),a=e(()=>{let e=r.query.range;return typeof e==`string`&&[`24h`,`7d`,`30d`,`90d`,`all`].includes(e)?e:`7d`}),o=e(()=>{let e=r.query.scope;return typeof e==`string`&&e?e.split(`,`).filter(Boolean):[]}),s=e(()=>{let e=r.query.provider;return typeof e==`string`&&e?e.split(`,`).filter(Boolean):[]}),c=e(()=>{let e=r.query.metric;return e===`tokens`||e===`sessions`?e:`cost`});function l(e){let t={...r.query,...e};for(let[e,n]of Object.entries(t))(n===void 0||n===``)&&delete t[e];i.push({query:t})}return{range:a,scopes:o,providers:s,metric:c,hasScopeFilter:e(()=>o.value.length>0),setRange:e=>l({range:e===`7d`?void 0:e}),setMetric:e=>l({metric:e===`cost`?void 0:e}),clearScopes:()=>l({scope:void 0}),setScopes(e){l({scope:[...new Set(e.filter(Boolean))].join(`,`)||void 0})},toggleScope(e){l({scope:(o.value.includes(e)?o.value.filter(t=>t!==e):[...o.value,e]).join(`,`)||void 0})},toggleScopeGroup(e){e.length!==0&&l({scope:(e.every(e=>o.value.includes(e))?o.value.filter(t=>!e.includes(t)):[...new Set([...o.value,...e])]).join(`,`)||void 0})},toggleProvider(e){l({provider:(s.value.includes(e)?s.value.filter(t=>t!==e):[...s.value,e]).join(`,`)||void 0})},apiQuery:e(()=>({range:a.value,scope:o.value.join(`,`)||void 0,provider:s.value.join(`,`)||void 0}))}}function a(t,n,a){let o=i();return r(n,{key:`${t}`,query:e(()=>({...o.apiQuery.value,...a?.()})),keepalive:!0},`$B9AxYvUJ0-`)}var o=()=>a(`summary`,`/api/stats/summary`),s=(e,t)=>a(`series`,`/api/stats/series`,()=>({granularity:e.value,groupBy:t?.value})),c=()=>a(`heatmap`,`/api/stats/heatmap`),l=()=>a(`scopes`,`/api/stats/scopes`),u=()=>a(`providers`,`/api/stats/providers`),d=()=>a(`sessions`,`/api/stats/sessions`),f=()=>r(`/api/stats/limits`,{key:`limits`},`$sGY8kRoJWO`);function p(){return r(`/api/meta`,{key:`meta`},`$PttuxlL37K`)}function m(){let{data:t}=p();return{scopes:e(()=>t.value?.scopes??[])}}export{l as a,d as c,u as i,o as l,f as n,m as o,p as r,s,c as t,i as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{X as e,_t as t,q as n,vt as r,w as i}from"./ZjfInHdu.js";var a=r(null),o=r(!1),s=null,c=0,l=1e3;function u(){e(()=>{c+=1,!s&&r()}),n(()=>{--c,c<=0&&(s?.close(),s=null,o.value=!1)});function r(){s=new EventSource(`/api/events/stream`),s.addEventListener(`open`,()=>{o.value=!0,l=1e3}),s.addEventListener(`stats`,e=>{a.value=JSON.parse(e.data)}),s.addEventListener(`error`,()=>{o.value=!1,s?.close(),s=null,c>0&&(setTimeout(r,l),l=Math.min(l*2,3e4))})}return{frame:t(a),connected:t(o),lastTs:i(()=>a.value?.lastTs??null)}}export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,F as t,Gt as n,Jt as r,M as i,N as a,O as o,Q as s,Tt as c,nt as l,ut as u,vt as d,w as f}from"./ZjfInHdu.js";import{Tt as p}from"./OU1MVgXQ.js";import{o as m}from"./DQEnwY-5.js";var h=Object.assign(t({__name:`Tooltip`,props:{content:{},side:{default:`top`},class:{}},setup(t){let h=t,g=f(()=>{switch(h.side){case`bottom`:return`top-full mt-1.5 left-1/2 -translate-x-1/2`;case`left`:return`right-full mr-1.5 top-1/2 -translate-y-1/2`;case`right`:return`left-full ml-1.5 top-1/2 -translate-y-1/2`;default:return`bottom-full mb-1.5 left-1/2 -translate-x-1/2`}}),_=d(!1);return(t,d)=>(s(),o(`span`,{class:`relative inline-flex`,onMouseenter:d[0]||=e=>_.value=!0,onMouseleave:d[1]||=e=>_.value=!1,onFocusin:d[2]||=e=>_.value=!0,onFocusout:d[3]||=e=>_.value=!1},[l(t.$slots,`default`),a(p,{"enter-active-class":`transition-opacity duration-100`,"enter-from-class":`opacity-0`,"leave-active-class":`transition-opacity duration-75`,"leave-to-class":`opacity-0`},{default:u(()=>[c(_)&&(h.content||t.$slots.content)?(s(),o(`span`,{key:0,role:`tooltip`,class:n(c(m)(`bg-primary text-primary-foreground pointer-events-none absolute z-50 w-max max-w-xs rounded-md px-3 py-1.5 text-xs text-balance shadow-md`,c(g),h.class))},[l(t.$slots,`content`,{},()=>[i(r(h.content),1)])],2)):e(``,!0)]),_:3})],32))}}),{__name:`UiTooltip`});export{h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,F as t,Gt as n,Jt as r,N as i,O as a,Q as o,T as s,Tt as c,nt as l,qt as u,vt as d,w as f}from"./ZjfInHdu.js";import{o as p}from"./DQEnwY-5.js";var m=[`aria-label`,`title`],h={class:`font-mono tracking-tight`},g=Object.assign(t({__name:`Mascot`,props:{mood:{default:`content`},size:{default:48},class:{}},setup(e){let t=e,i={hungry:{eyes:`ᐧ ᐧ`,mouth:`ᵕ`,tint:`text-muted-foreground`,title:`The model has not been fed yet`},content:{eyes:`• •`,mouth:`⌣`,tint:`text-foreground`,title:`Nibbling away`},full:{eyes:`◕ ◕`,mouth:`⌣`,tint:`text-foreground`,title:`Getting full`},stuffed:{eyes:`× ×`,mouth:`○`,tint:`text-chart-1`,title:`Stuffed — the cap is close`},overstuffed:{eyes:`⊗ ⊗`,mouth:`︵`,tint:`text-destructive`,title:`Overstuffed — cap reached`}},l=f(()=>i[t.mood]??i.content);return(e,i)=>(o(),a(`div`,{class:n(c(p)(`flex select-none flex-col items-center justify-center leading-none`,c(l).tint,t.class)),style:u({fontSize:`${t.size/3}px`}),role:`img`,"aria-label":c(l).title,title:c(l).title},[s(`span`,h,r(c(l).eyes),1),s(`span`,{class:`font-mono`,style:u({fontSize:`${t.size/2.6}px`})},r(c(l).mouth),5)],14,m))}}),{__name:`Mascot`}),_={class:`flex flex-col items-center justify-center gap-3 px-6 py-16 text-center`},v={class:`mt-2 text-lg font-medium`},y={key:0,class:`text-muted-foreground max-w-md text-sm text-balance`},b=Object.assign(t({__name:`EmptyState`,props:{title:{},description:{},command:{}},setup(t){let n=t,u=d(!1);async function f(){n.command&&(await navigator.clipboard.writeText(n.command),u.value=!0,setTimeout(()=>{u.value=!1},1500))}return(t,d)=>{let p=g;return o(),a(`div`,_,[i(p,{mood:`hungry`,size:64}),s(`h2`,v,r(n.title),1),n.description?(o(),a(`p`,y,r(n.description),1)):e(``,!0),n.command?(o(),a(`button`,{key:1,type:`button`,class:`bg-muted hover:bg-accent mt-1 rounded-md px-3 py-1.5 font-mono text-xs transition-colors`,onClick:f},r(c(u)?`copied`:n.command),1)):e(``,!0),l(t.$slots,`default`)])}}}),{__name:`EmptyState`});export{g as n,b as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,F as n,Jt as r,M as i,N as a,O as o,Q as s,T as c,Tt as l,st as u,tt as d,ut as f,v as p,w as m}from"./ZjfInHdu.js";import{n as h}from"./CsN_oUfs.js";import{t as g}from"./B2aHje2L.js";import{t as _}from"./CIKwfDBl.js";import{l as v,r as y}from"./D4C6J8YV.js";import{t as b}from"./Dh50_bkx.js";import{t as x}from"./D7Ph0tZD.js";import{a as S,c as C,n as w,o as T,s as E,t as D}from"./Ba6z8j_4.js";import{i as O,n as ee,r as te,t as ne}from"./Bia8fJFj.js";import{t as re}from"./m3-Vaz25.js";import{n as ie,t as k}from"./D9j6aFUy.js";import{n as A,t as j}from"./Cq1Sq3Go.js";import{t as M}from"./COwSpxrx.js";import{t as N}from"./BOKlFKrX.js";var P=b(`trending-up`,[[`path`,{d:`M16 7h6v6`,key:`box55l`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`,key:`1t1m79`}]]),F={class:`space-y-6`},I={class:`flex items-start justify-between gap-6`},L={class:`text-muted-foreground mt-1 text-sm`},R={class:`grid gap-4 sm:grid-cols-2 lg:grid-cols-4`},z={key:0,class:`text-muted-foreground text-xs`},B={class:`flex items-baseline justify-between gap-4 text-sm`},V={class:`font-medium`},H={class:`tabular text-muted-foreground`},U={class:`text-muted-foreground flex items-center gap-1.5 text-xs`},W={class:`text-foreground font-medium`},G=n({__name:`index`,setup(n){h({title:`Overview — nomnomtokens`});let{data:b,pending:G,refresh:K}=v(),{data:q}=y(),{frame:J}=x(),{data:Y}=g(`/api/alerts`,{key:`overview-alerts`},`$C2Fd1qWhYf`),X=m(()=>J.value?.today??{costUsd:b.value?.totals.today.costUsd??0,tokens:b.value?.totals.today.tokens??0,sessions:b.value?.totals.today.sessions??0,events:b.value?.totals.today.events??0});u(()=>J.value?.events,(e,t)=>{t!==void 0&&e!==t&&K()});let ae=m(()=>b.value?.sparkline.map(e=>e.costUsd)??[]),Z=m(()=>(b.value?.limits??[]).reduce((e,t)=>e===null||t.usedPct>e.usedPct?t:e,null)),oe=m(()=>Q(Z.value?.usedPct??0));function Q(e){return e<5?`hungry`:e<50?`content`:e<80?`full`:e<100?`stuffed`:`overstuffed`}let se=m(()=>(q.value?.bounds.events??0)===0);return(n,u)=>{let m=k,h=ie,g=A,v=j,y=O,x=te,K=_,J=M,Z=ee,Q=ne,$=re,ce=N;return s(),o(`div`,F,[l(se)&&!l(G)?(s(),t(m,{key:0,title:`The model hasn't been fed yet`,description:`No spend recorded on this machine. Run a scan to read your Claude Code history, then this page fills in.`,command:`npx nomnomtokens scan`})):(s(),o(p,{key:1},[c(`div`,I,[c(`div`,null,[u[0]||=c(`h1`,{class:`text-2xl font-semibold tracking-tight`},`Eaten today`,-1),c(`p`,L,r(l(q)?.bounds.first?`History from ${(`formatDate`in n?n.formatDate:l(w))(l(q).bounds.first)}`:`Local history`),1)]),a(h,{mood:l(oe),size:56},null,8,[`mood`])]),c(`div`,R,[a(v,{label:`Today`,value:(`formatUsd`in n?n.formatUsd:l(E))(l(X).costUsd),detail:`${(`formatCompact`in n?n.formatCompact:l(D))(l(X).tokens)} tokens · ${l(X).sessions} sessions`,loading:l(G)&&!l(b)},{default:f(()=>[a(g,{values:l(ae),class:`mt-3 h-7 w-full`},null,8,[`values`])]),_:1},8,[`value`,`detail`,`loading`]),a(v,{label:`This week`,value:(`formatUsd`in n?n.formatUsd:l(E))(l(b)?.totals.week.costUsd),detail:`${(`formatCompact`in n?n.formatCompact:l(D))(l(b)?.totals.week.tokens??0)} tokens`,loading:l(G)&&!l(b)},null,8,[`value`,`detail`,`loading`]),a(v,{label:`This month`,value:(`formatUsd`in n?n.formatUsd:l(E))(l(b)?.totals.month.costUsd),detail:`${l(b)?.totals.month.sessions??0} sessions`,loading:l(G)&&!l(b)},null,8,[`value`,`detail`,`loading`]),a(v,{label:`Cache hit rate`,hint:`Cache reads as a share of all fresh input. Reads cost a tenth of fresh input, so this is the cheapest number to move.`,value:(`formatRatio`in n?n.formatRatio:l(T))(l(b)?.efficiency.cacheHitRate),detail:l(b)?.efficiency.costPerKLines?`${(`formatUsd`in n?n.formatUsd:l(E))(l(b).efficiency.costPerKLines)} per 1k lines`:void 0,loading:l(G)&&!l(b)},null,8,[`value`,`detail`,`loading`])]),l(b)?.totals.range.unpricedEvents?(s(),o(`div`,z,r(l(b).totals.range.unpricedEvents)+` events in this range use a model with no known price and are excluded from cost. Token counts still include them. `,1)):e(``,!0),(l(Y)?.hits.length??0)>0?(s(),t($,{key:1},{default:f(()=>[a(Z,null,{default:f(()=>[a(y,{class:`text-destructive`},{default:f(()=>[...u[1]||=[i(`Alerts`,-1)]]),_:1}),a(x,null,{default:f(()=>[...u[2]||=[i(`Thresholds crossed against the local store.`,-1)]]),_:1}),a(J,null,{default:f(()=>[a(K,{to:`/alerts`,variant:`ghost`,size:`sm`},{default:f(()=>[...u[3]||=[i(`Configure`,-1)]]),_:1})]),_:1})]),_:1}),a(Q,{class:`space-y-2`},{default:f(()=>[(s(!0),o(p,null,d(l(Y).hits,e=>(s(),o(`p`,{key:e.id,class:`text-sm`},r(e.message),1))),128))]),_:1})]),_:1})):e(``,!0),(l(b)?.limits.length??0)>0?(s(),t($,{key:2},{default:f(()=>[a(Z,null,{default:f(()=>[a(y,null,{default:f(()=>[...u[4]||=[i(`Limits`,-1)]]),_:1}),a(x,null,{default:f(()=>[...u[5]||=[i(`Projected from the burn rate within the current window.`,-1)]]),_:1}),a(J,null,{default:f(()=>[a(K,{to:`/limits`,variant:`ghost`,size:`sm`},{default:f(()=>[...u[6]||=[i(`History`,-1)]]),_:1})]),_:1})]),_:1}),a(Q,{class:`space-y-5`},{default:f(()=>[(s(!0),o(p,null,d(l(b).limits,e=>(s(),o(`div`,{key:`${e.provider}-${e.window}`,class:`space-y-2`},[c(`div`,B,[c(`span`,V,r(e.window)+` window`,1),c(`span`,H,r((`formatPct`in n?n.formatPct:l(S))(e.usedPct,1)),1)]),a(ce,{value:e.usedPct,"indicator-class":e.usedPct>=80?`bg-destructive`:`bg-primary`},null,8,[`value`,`indicator-class`]),c(`p`,U,[a(l(P),{class:`size-3`}),e.willExhaustBeforeReset?(s(),o(p,{key:0},[i(` At `+r(e.burnRatePctPerHour.toFixed(1))+`%/h you hit the cap `,1),c(`strong`,W,r((`formatWhen`in n?n.formatWhen:l(C))(e.exhaustsAt,l(b).now)),1),i(` — before it resets `+r((`formatWhen`in n?n.formatWhen:l(C))(e.resetsAt,l(b).now))+`. `,1)],64)):e.resetsAt?(s(),o(p,{key:1},[i(` Resets `+r((`formatWhen`in n?n.formatWhen:l(C))(e.resetsAt,l(b).now))+`. Not on track to hit the cap first. `,1)],64)):(s(),o(p,{key:2},[i(` Not enough history to project yet (`+r(e.samples)+` samples). `,1)],64))])]))),128))]),_:1})]),_:1})):(s(),t($,{key:3},{default:f(()=>[a(Z,null,{default:f(()=>[a(y,null,{default:f(()=>[...u[7]||=[i(`Limits`,-1)]]),_:1}),a(x,null,{default:f(()=>[...u[8]||=[i(` Subscription limits are only visible to the status line hook — they are not in the transcript. `,-1)]]),_:1})]),_:1}),a(Q,null,{default:f(()=>[...u[9]||=[c(`code`,{class:`bg-muted rounded-md px-2 py-1 font-mono text-xs`},`npx nomnomtokens init`,-1)]]),_:1})]),_:1}))],64))])}}});export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,F as n,Jt as r,M as i,N as a,O as o,Q as s,T as c,Tt as l,tt as u,ut as d,v as f,w as p}from"./ZjfInHdu.js";import{n as m}from"./CsN_oUfs.js";import{t as h}from"./D9Mxq5ER.js";import{i as g}from"./D4C6J8YV.js";import{a as _,o as v,s as y,t as b}from"./Ba6z8j_4.js";import{t as x}from"./CfBMjq8x.js";import{t as S}from"./W3KL_OjU.js";import{i as C,n as w,r as ee,t as te}from"./Bia8fJFj.js";import{t as ne}from"./m3-Vaz25.js";import{t as T}from"./C51OzH6V.js";import{t as E}from"./BOKlFKrX.js";import{a as D,i as O,n as k,o as A,r as j,t as M}from"./B1jhn8zK.js";var N={class:`space-y-6`},P={class:`grid gap-4 lg:grid-cols-3`},F={class:`tabular text-2xl font-semibold`},I={class:`grid grid-cols-2 gap-x-4 gap-y-2 text-sm`},L={class:`tabular text-right`},R={class:`text-muted-foreground flex items-center gap-1`},z={class:`tabular text-right`},B={class:`tabular text-right`},re={class:`tabular text-right`},V=n({__name:`providers`,setup(n){m({title:`Providers — nomnomtokens`});let{data:V,pending:H}=g(),U=p(()=>(V.value?.providers??[]).reduce((e,t)=>e+t.costUsd,0));return(n,p)=>{let m=x,g=C,W=ee,G=w,K=h,q=E,J=te,Y=ne,X=T,Z=A,Q=D,ie=O,$=j,ae=S,oe=k,se=M;return s(),o(`div`,N,[p[14]||=c(`div`,null,[c(`h1`,{class:`text-2xl font-semibold tracking-tight`},`Providers`),c(`p`,{class:`text-muted-foreground mt-1 text-sm`},` Where spend comes from, and how efficiently each source uses its context. `)],-1),a(m),c(`div`,P,[(s(!0),o(f,null,u(l(V)?.providers,e=>(s(),t(Y,{key:e.provider,class:`gap-4`},{default:d(()=>[a(G,null,{default:d(()=>[a(g,{class:`font-mono text-base`},{default:d(()=>[i(r(e.provider),1)]),_:2},1024),a(W,null,{default:d(()=>[i(r((`formatPct`in n?n.formatPct:l(_))(l(U)>0?e.costUsd/l(U)*100:0))+` of spend in range `,1)]),_:2},1024)]),_:2},1024),a(J,{class:`space-y-4`},{default:d(()=>[c(`div`,F,r((`formatUsd`in n?n.formatUsd:l(y))(e.costUsd)),1),c(`dl`,I,[p[2]||=c(`dt`,{class:`text-muted-foreground`},`Tokens`,-1),c(`dd`,L,r((`formatCompact`in n?n.formatCompact:l(b))(e.tokens)),1),c(`dt`,R,[p[1]||=i(` Cache hit `,-1),a(K,{content:`cacheRead / (cacheRead + fresh input). Higher is cheaper — reads bill at a tenth of fresh input.`},{default:d(()=>[...p[0]||=[c(`span`,{class:`border-muted-foreground/40 text-muted-foreground flex size-3.5 cursor-help items-center justify-center rounded-full border text-[9px]`},`?`,-1)]]),_:1})]),c(`dd`,z,r((`formatRatio`in n?n.formatRatio:l(v))(e.cacheHitRate)),1),p[3]||=c(`dt`,{class:`text-muted-foreground`},`Per 1k lines`,-1),c(`dd`,B,r((`formatUsd`in n?n.formatUsd:l(y))(e.costPerKLines)),1),p[4]||=c(`dt`,{class:`text-muted-foreground`},`Sessions`,-1),c(`dd`,re,r(e.sessions),1)]),c(`div`,null,[p[5]||=c(`div`,{class:`text-muted-foreground mb-1.5 flex justify-between text-xs`},[c(`span`,null,`cache read`),c(`span`,null,`fresh input`)],-1),a(q,{value:(e.cacheHitRate??0)*100,class:`h-1.5`,"indicator-class":`bg-chart-2`},null,8,[`value`])])]),_:2},1024)]),_:2},1024))),128)),l(H)&&!l(V)?(s(),t(Y,{key:0,class:`lg:col-span-3`},{default:d(()=>[a(J,{class:`pt-6`},{default:d(()=>[a(X,{class:`h-40 w-full`})]),_:1})]),_:1})):e(``,!0)]),a(Y,{class:`py-0`},{default:d(()=>[a(se,null,{default:d(()=>[a(ie,null,{default:d(()=>[a(Q,null,{default:d(()=>[a(Z,{class:`pl-4`},{default:d(()=>[...p[6]||=[i(`Model`,-1)]]),_:1}),a(Z,{numeric:``},{default:d(()=>[...p[7]||=[i(`Cost`,-1)]]),_:1}),a(Z,{numeric:``},{default:d(()=>[...p[8]||=[i(`Input`,-1)]]),_:1}),a(Z,{numeric:``},{default:d(()=>[...p[9]||=[i(`Output`,-1)]]),_:1}),a(Z,{numeric:``},{default:d(()=>[...p[10]||=[i(`Cache write`,-1)]]),_:1}),a(Z,{numeric:``},{default:d(()=>[...p[11]||=[i(`Cache read`,-1)]]),_:1}),a(Z,{numeric:``,class:`pr-4`},{default:d(()=>[...p[12]||=[i(`Hit rate`,-1)]]),_:1})]),_:1})]),_:1}),a(oe,null,{default:d(()=>[(s(!0),o(f,null,u(l(V)?.models,o=>(s(),t(Q,{key:o.unitLabel??`unknown`},{default:d(()=>[a($,{class:`pl-4 font-mono text-xs`},{default:d(()=>[i(r(o.unitLabel??`unknown`),1)]),_:2},1024),a($,{numeric:``},{default:d(()=>[i(r((`formatUsd`in n?n.formatUsd:l(y))(o.costUsd))+` `,1),o.unpricedEvents>0?(s(),t(K,{key:0,content:`No published price for this model id, so these events contribute tokens but no cost.`},{default:d(()=>[a(ae,{variant:`outline`,class:`ml-1.5`},{default:d(()=>[...p[13]||=[i(`unpriced`,-1)]]),_:1})]),_:1})):e(``,!0)]),_:2},1024),a($,{numeric:``},{default:d(()=>[i(r((`formatCompact`in n?n.formatCompact:l(b))(o.qtyIn)),1)]),_:2},1024),a($,{numeric:``},{default:d(()=>[i(r((`formatCompact`in n?n.formatCompact:l(b))(o.qtyOut)),1)]),_:2},1024),a($,{numeric:``},{default:d(()=>[i(r((`formatCompact`in n?n.formatCompact:l(b))(o.qtyCacheCreate+o.qtyCacheCreate1h)),1)]),_:2},1024),a($,{numeric:``},{default:d(()=>[i(r((`formatCompact`in n?n.formatCompact:l(b))(o.qtyCacheRead)),1)]),_:2},1024),a($,{numeric:``,class:`pr-4`},{default:d(()=>[i(r((`formatRatio`in n?n.formatRatio:l(v))(o.cacheHitRate)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})])}}});export{V as default};
|