@marimo-team/frontend 0.25.2-dev65 → 0.25.2-dev66

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.
@@ -26,4 +26,4 @@ ${n}
26
26
  stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw">
27
27
  <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
28
28
  <path d="M3 3v5h5" />
29
- </svg>`},click:m}];y&&e.push(...Vw(g)),b=!1,x=_,S=Hw(e,_.modeBarButtonsToAdd),t[12]=_,t[13]=m,t[14]=g,t[15]=y,t[16]=b,t[17]=x,t[18]=S}else b=t[16],x=t[17],S=t[18];let C;t[19]!==b||t[20]!==x||t[21]!==S?(C={displaylogo:b,...x,modeBarButtonsToAdd:S},t[19]=b,t[20]=x,t[21]=S,t[22]=C):C=t[22];let w=C,T;t[23]===i?T=t[24]:(T=e=>{if(`dragmode`in e&&i(t=>({...t,dragmode:e.dragmode})),Object.keys(e).some(sT)){let t={};Object.entries(e).forEach(e=>{let[n,r]=e;Nt(t,n,r)}),i(e=>({...e,...t}))}},t[23]=i,t[24]=T);let E;t[25]===i?E=t[26]:(E=()=>{i(cT)},t[25]=i,t[26]=E);let D=s(E),O;t[27]===i?O=t[28]:(O=e=>{e&&i(t=>({...t,points:Yw(e.points)}))},t[27]=i,t[28]=O);let k=s(O),A;t[29]===i?A=t[30]:(A=e=>{e&&i(t=>({...t,points:Jw(e.points)}))},t[29]=i,t[30]=A);let j=s(A),M;t[31]===i?M=t[32]:(M=e=>{if(!e||!Uw(e.points))return;let t=qw(e.points),n=Ww(e.points);i(e=>({...e,selections:ko.EMPTY,range:void 0,lasso:void 0,points:t,indices:n}))},t[31]=i,t[32]=M);let N=s(M),P;t[33]===i?P=t[34]:(P=e=>{e&&i(t=>({...t,selections:`selections`in e?e.selections:[],points:qw(e.points),indices:Ww(e.points),range:e.range,lasso:`lassoPoints`in e?e.lassoPoints:void 0}))},t[33]=i,t[34]=P);let F=s(P),I=l.frames??void 0,ee=s(lT),L;return t[35]!==l||t[36]!==u||t[37]!==w||t[38]!==D||t[39]!==k||t[40]!==j||t[41]!==N||t[42]!==F||t[43]!==I||t[44]!==ee||t[45]!==T?(L=(0,q.jsx)(aT,{...l,layout:u,onRelayout:T,onDeselect:D,onTreemapClick:k,onSunburstClick:j,config:w,onClick:N,onSelected:F,className:`w-full`,useResizeHandler:!0,frames:I,onError:ee}),t[35]=l,t[36]=u,t[37]=w,t[38]=D,t[39]=k,t[40]=j,t[41]=N,t[42]=F,t[43]=I,t[44]=ee,t[45]=T,t[46]=L):L=t[46],L});oT.displayName=`PlotlyComponent`;function sT(e){return e.includes(`xaxis`)||e.includes(`yaxis`)}function cT(e){return{...e,selections:ko.EMPTY,points:ko.EMPTY,indices:ko.EMPTY,range:void 0,lasso:void 0}}function lT(e){W.error(`PlotlyPlugin: `,e)}var uT=class{tagName=`marimo-radio`;validator=H({initialValue:B().nullable(),inline:V().default(!1),label:B().nullable(),options:U(B()),disabled:V().optional()});render(e){return(0,q.jsx)(dT,{...e.data,value:e.value,setValue:e.setValue})}},dT=e=>{let t=(0,J.c)(18),n=(0,K.useId)(),r=e.label,i=e.inline?`left`:`top`,a=e.value??``,o=e.setValue,s=e.inline&&`grid-flow-col gap-4`,c;t[0]===s?c=t[1]:(c=G(s),t[0]=s,t[1]=c);let l=e.disabled,u;if(t[2]!==n||t[3]!==e.options){let r;t[5]===n?r=t[6]:(r=(e,t)=>(0,q.jsxs)(`div`,{className:`flex items-start space-x-2`,children:[(0,q.jsx)(oe,{value:e,id:`${n}-${t.toString()}`,className:`shrink-0`}),(0,q.jsx)(mi,{htmlFor:`${n}-${t.toString()}`,className:`text-sm font-normal`,children:e})]},t),t[5]=n,t[6]=r),u=e.options.map(r),t[2]=n,t[3]=e.options,t[4]=u}else u=t[4];let d;t[7]!==e.disabled||t[8]!==e.setValue||t[9]!==a||t[10]!==c||t[11]!==u?(d=(0,q.jsx)(pe,{"data-testid":`marimo-plugin-radio`,value:a,onValueChange:o,className:c,"aria-label":`Radio Group`,disabled:l,children:u}),t[7]=e.disabled,t[8]=e.setValue,t[9]=a,t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==n||t[14]!==e.label||t[15]!==i||t[16]!==d?(f=(0,q.jsx)(kv,{label:r,controlId:n,align:i,children:d}),t[13]=n,t[14]=e.label,t[15]=i,t[16]=d,t[17]=f):f=t[17],f},fT=K.forwardRef((e,t)=>{let n=(0,J.c)(56),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,valueMap:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let[o,s]=Aa(!1),{locale:c}=zo(),l=K.useRef(!1),u=K.useRef(0),d=K.useRef(0),f;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],n[4]=f):f=n[4];let p=K.useRef(f),m;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],n[5]=m):m=n[5];let h=K.useRef(m),g=K.useRef(null),_=K.useRef(null),v=K.useRef(null),y;n[6]===t?y=n[7]:(y=e=>{g.current=e,typeof t==`function`?t(e):t&&(t.current=e)},n[6]=t,n[7]=y);let b=y,x;n[8]!==i.disabled||n[9]!==i.value?(x=e=>{!i.value||i.value.length!==2||i.disabled||(e.preventDefault(),e.stopPropagation(),l.current=!0,u.current=e.clientX,d.current=e.clientY,p.current=[...i.value],h.current=[...i.value],v.current=_.current?.getBoundingClientRect()??null,e.currentTarget.setPointerCapture(e.pointerId))},n[8]=i.disabled,n[9]=i.value,n[10]=x):x=n[10];let S=x,C;n[11]===i?C=n[12]:(C=e=>{if(!l.current)return;e.stopPropagation();let t=v.current;if(!t)return;let n=i.orientation===`vertical`,r=i.min??0,a=i.max??100,o=a-r,s;if(n){let n=t.height;s=-((e.clientY-d.current)/n)*o}else{let n=t.width;s=(e.clientX-u.current)/n*o}let[c,f]=p.current,m=f-c,g=i.steps,_=g&&g.length>1?Math.min(...g.slice(1).map((e,t)=>e-g[t])):i.step??1,y=Math.round(s/_)*_,b=c+Math.max(r-c,Math.min(a-f,y)),x=b+m;h.current=[b,x],i.onValueChange?.([b,x])},n[11]=i,n[12]=C);let w=C,T;n[13]===i?T=n[14]:(T=e=>{l.current&&(e.currentTarget.releasePointerCapture(e.pointerId),l.current=!1,h.current.length===2&&i.onValueCommit?.(h.current))},n[13]=i,n[14]=T);let E=T,D;n[15]===r?D=n[16]:(D=G(`relative flex touch-none select-none hover:cursor-pointer`,`data-[orientation=horizontal]:w-full data-[orientation=horizontal]:items-center`,`data-[orientation=vertical]:h-full data-[orientation=vertical]:justify-center`,`data-disabled:cursor-not-allowed forced-color-adjust-none`,r),n[15]=r,n[16]=D);let O;n[17]===Symbol.for(`react.memo_cache_sentinel`)?(O=G(`relative grow overflow-hidden rounded-full bg-slate-200 dark:bg-accent/60`,`forced-colors:border forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace]`,`data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:w-full`,`data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2`),n[17]=O):O=n[17];let k;n[18]===Symbol.for(`react.memo_cache_sentinel`)?(k=G(`absolute bg-blue-500 dark:bg-primary`,`forced-colors:bg-[Highlight] forced-colors:data-disabled:bg-[GrayText]`,`data-[orientation=horizontal]:h-full`,`data-[orientation=vertical]:w-full`,`data-disabled:opacity-50`,`hover:cursor-grab active:cursor-grabbing`),n[18]=k):k=n[18];let A;n[19]!==S||n[20]!==w||n[21]!==E?(A=(0,q.jsx)(ll,{ref:_,"data-testid":`track`,className:O,children:(0,q.jsx)(dl,{"data-testid":`range`,className:k,onPointerDown:S,onPointerMove:w,onPointerUp:E})}),n[19]=S,n[20]=w,n[21]=E,n[22]=A):A=n[22];let j;n[23]!==s.setFalse||n[24]!==s.setTrue?(j=(0,q.jsx)(zi,{asChild:!0,children:(0,q.jsx)(vl,{"data-testid":`thumb`,className:`block h-4 w-4 rounded-full shadow-xs-solid border border-blue-500 dark:border-primary dark:bg-accent bg-white hover:bg-blue-300 focus:bg-blue-300 transition-colors focus-visible:outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:data-disabled:border-[GrayText]`,onFocus:s.setTrue,onBlur:s.setFalse,onMouseEnter:s.setTrue,onMouseLeave:s.setFalse})}),n[23]=s.setFalse,n[24]=s.setTrue,n[25]=j):j=n[25];let M;n[26]!==c||n[27]!==i.value||n[28]!==a?(M=i.value!=null&&i.value.length===2&&(0,q.jsx)(Ri,{children:Bo(a(i.value[0]),{locale:c})},i.value[0]),n[26]=c,n[27]=i.value,n[28]=a,n[29]=M):M=n[29];let N;n[30]===M?N=n[31]:(N=(0,q.jsx)(Bi,{children:M}),n[30]=M,n[31]=N);let P;n[32]!==o||n[33]!==j||n[34]!==N?(P=(0,q.jsx)(Li,{children:(0,q.jsxs)(Ii,{delayDuration:0,open:o,children:[j,N]})}),n[32]=o,n[33]=j,n[34]=N,n[35]=P):P=n[35];let F;n[36]!==s.setFalse||n[37]!==s.setTrue?(F=(0,q.jsx)(zi,{asChild:!0,children:(0,q.jsx)(vl,{"data-testid":`thumb`,className:`block h-4 w-4 rounded-full shadow-xs-solid border border-blue-500 dark:border-primary dark:bg-accent bg-white hover:bg-blue-300 focus:bg-blue-300 transition-colors focus-visible:outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:data-disabled:border-[GrayText]`,onFocus:s.setTrue,onBlur:s.setFalse,onMouseEnter:s.setTrue,onMouseLeave:s.setFalse})}),n[36]=s.setFalse,n[37]=s.setTrue,n[38]=F):F=n[38];let I;n[39]!==c||n[40]!==i.value||n[41]!==a?(I=i.value!=null&&i.value.length===2&&(0,q.jsx)(Ri,{children:Bo(a(i.value[1]),{locale:c})},i.value[1]),n[39]=c,n[40]=i.value,n[41]=a,n[42]=I):I=n[42];let ee;n[43]===I?ee=n[44]:(ee=(0,q.jsx)(Bi,{children:I}),n[43]=I,n[44]=ee);let L;n[45]!==o||n[46]!==F||n[47]!==ee?(L=(0,q.jsx)(Li,{children:(0,q.jsxs)(Ii,{delayDuration:0,open:o,children:[F,ee]})}),n[45]=o,n[46]=F,n[47]=ee,n[48]=L):L=n[48];let te;return n[49]!==b||n[50]!==i||n[51]!==A||n[52]!==P||n[53]!==L||n[54]!==D?(te=(0,q.jsxs)(nl,{ref:b,className:D,...i,children:[A,P,L]}),n[49]=b,n[50]=i,n[51]=A,n[52]=P,n[53]=L,n[54]=D,n[55]=te):te=n[55],te});fT.displayName=nl.displayName;var pT=class{tagName=`marimo-range-slider`;validator=H({initialValue:U(z()),label:B().nullable(),start:z(),stop:z(),step:z().optional(),steps:U(z()).nullable(),debounce:V().default(!1),orientation:Ze([`horizontal`,`vertical`]).default(`horizontal`),showValue:V().default(!1),fullWidth:V().default(!1),disabled:V().optional()});render(e){let t=t=>e.data.steps&&e.data.steps.length>0?e.data.steps[t]:t;return(0,q.jsx)(mT,{...e.data,value:e.value,setValue:e.setValue,valueMap:t})}},mT=e=>{let t=(0,J.c)(50),{label:n,setValue:r,value:a,start:o,stop:s,step:c,debounce:l,orientation:u,showValue:d,fullWidth:f,disabled:p,valueMap:m}=e,h=(0,K.useId)(),{locale:g}=zo(),[_,v]=(0,K.useState)(a),y,b;t[0]===a?(y=t[1],b=t[2]):(y=()=>{v(a)},b=[a],t[0]=a,t[1]=y,t[2]=b),(0,K.useEffect)(y,b);let x=u===`horizontal`?`left`:`top`,S=f&&`my-1 w-full`,C;t[3]===S?C=t[4]:(C=G(S),t[3]=S,t[4]=C);let w=u===`vertical`&&`items-end inline-flex justify-center self-center mx-2`,T=f&&`w-full`,E;t[5]!==w||t[6]!==T?(E=G(`flex items-center gap-2`,w,T),t[5]=w,t[6]=T,t[7]=E):E=t[7];let D=!f&&`data-[orientation=horizontal]:w-36 `,O;t[8]===D?O=t[9]:(O=G(`relative flex items-center select-none`,D,`data-[orientation=vertical]:h-36`),t[8]=D,t[9]=O);let k,A;t[10]!==l||t[11]!==r?(k=e=>{v(e),l||r(e)},A=e=>{l&&r(e)},t[10]=l,t[11]=r,t[12]=k,t[13]=A):(k=t[12],A=t[13]);let j,M;t[14]!==l||t[15]!==_||t[16]!==r||t[17]!==a?(j=()=>{l&&!i(_,a)&&r(_)},M=()=>{l&&!i(_,a)&&r(_)},t[14]=l,t[15]=_,t[16]=r,t[17]=a,t[18]=j,t[19]=M):(j=t[18],M=t[19]);let N;t[20]!==p||t[21]!==h||t[22]!==_||t[23]!==u||t[24]!==o||t[25]!==c||t[26]!==s||t[27]!==O||t[28]!==k||t[29]!==A||t[30]!==j||t[31]!==M||t[32]!==m?(N=(0,q.jsx)(fT,{id:h,className:O,value:_,min:o,max:s,step:c,orientation:u,disabled:p,onValueChange:k,onValueCommit:A,onPointerUp:j,onMouseUp:M,valueMap:m}),t[20]=p,t[21]=h,t[22]=_,t[23]=u,t[24]=o,t[25]=c,t[26]=s,t[27]=O,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=m,t[33]=N):N=t[33];let P;t[34]!==_||t[35]!==g||t[36]!==d||t[37]!==m?(P=d&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground min-w-[16px]`,children:`${Bo(m(_[0]),{locale:g})}, ${Bo(m(_[1]),{locale:g})}`}),t[34]=_,t[35]=g,t[36]=d,t[37]=m,t[38]=P):P=t[38];let F;t[39]!==N||t[40]!==P||t[41]!==E?(F=(0,q.jsxs)(`div`,{className:E,children:[N,P]}),t[39]=N,t[40]=P,t[41]=E,t[42]=F):F=t[42];let I;return t[43]!==f||t[44]!==h||t[45]!==n||t[46]!==F||t[47]!==x||t[48]!==C?(I=(0,q.jsx)(kv,{label:n,controlId:h,align:x,className:C,fullWidth:f,children:F}),t[43]=f,t[44]=h,t[45]=n,t[46]=F,t[47]=x,t[48]=C,t[49]=I):I=t[49],I},hT=e(t(((e,t)=>{t.exports=i;var n={hoursPerDay:24,daysPerWeek:7,weeksPerMonth:4,monthsPerYear:12,daysPerYear:365.25},r={ms:[`ms`,`milli`,`millisecond`,`milliseconds`],s:[`s`,`sec`,`secs`,`second`,`seconds`],m:[`m`,`min`,`mins`,`minute`,`minutes`],h:[`h`,`hr`,`hrs`,`hour`,`hours`],d:[`d`,`day`,`days`],w:[`w`,`week`,`weeks`],mth:[`mon`,`mth`,`mths`,`month`,`months`],y:[`y`,`yr`,`yrs`,`year`,`years`]};function i(e,t,r){r=Object.assign({},n,r||{}),(typeof e==`number`||e.match(/^[-+]?[0-9.]+$/g))&&(e=parseInt(e)+`ms`);let i=0,o=a(r),l=e.toLowerCase().replace(/[^.\w+-]+/g,``).match(/[-+]?[0-9.]+[a-z]+/g);if(l===null)throw Error(`The value [${e}] could not be parsed by timestring`);return l.forEach(e=>{let t=e.match(/[0-9.]+/g)[0],n=e.match(/[a-z]+/g)[0];i+=s(t,n,o)}),t?c(i,t,o):i}function a(e){let t={ms:.001,s:1,m:60,h:3600};return t.d=e.hoursPerDay*t.h,t.w=e.daysPerWeek*t.d,t.mth=e.daysPerYear/e.monthsPerYear*t.d,t.y=e.daysPerYear*t.d,t}function o(e){for(let t of Object.keys(r))if(r[t].indexOf(e)>-1)return t;throw Error(`The unit [${e}] is not supported by timestring`)}function s(e,t,n){return e*n[o(t)]}function c(e,t,n){return e/n[o(t)]}}))(),1),gT=.1,_T=B().superRefine((e,t)=>{try{(0,hT.default)(e)<gT&&t.addIssue({code:Fs.custom,message:`Must be greater than ${gT} seconds.`});return}catch{t.addIssue({code:Fs.custom,message:`Must be a valid timestring. e.g. 1m, 30m, 1h.`});return}}),vT=class{tagName=`marimo-refresh`;validator=H({options:U(We([_T,z().min(gT)])).default([]),defaultInterval:We([_T,z().min(gT)]).optional(),label:B().nullable()});render(e){return(0,q.jsx)(xT,{...e})}},yT=`off`,bT=0,xT=({setValue:e,data:t})=>{let[n,r]=(0,K.useState)(t.defaultInterval??yT);(0,K.useEffect)(()=>{r(t.defaultInterval??yT)},[t.defaultInterval]);let[i,a]=(0,K.useState)(!1),o=s(()=>{a(!0),e(()=>`${n} (${bT++})`),setTimeout(()=>a(!1),500)});(0,K.useEffect)(()=>{if(n===yT)return;let e=typeof n==`number`?n:/[a-z]/.test(n)?(0,hT.default)(n):(0,hT.default)(`${n}s`);e=Math.max(e,gT);let t=setInterval(o,e*1e3);return()=>clearInterval(t)},[n,o]);let c=`shadow-none! hover:shadow-none! focus:shadow-none! active:shadow-none!`,l=t.options.length>0;return(0,q.jsx)(kv,{label:t.label,children:(0,q.jsxs)(`span`,{className:`inline-flex items-center text-secondary-foreground rounded shadow-sm-solid`,children:[(0,q.jsx)(Ui,{"data-testid":`marimo-plugin-refresh-button`,variant:`secondary`,size:`icon`,className:G(c,`border mb-0 rounded`,l&&`border-r-0 rounded-tr-none rounded-br-none`),onClick:o,children:(0,q.jsx)(ao,{className:G(`w-3.5 h-3.5`,i&&`animate-spin`)})}),(0,q.jsxs)(vi,{"data-testid":`marimo-plugin-refresh-select`,onChange:e=>{r(e.target.value)},value:n,className:G(c,`border mb-0 bg-secondary rounded rounded-tl-none rounded-bl-none hover:bg-secondary/60`,!l&&`hidden`),children:[(0,q.jsx)(`option`,{value:yT,children:`off`}),t.options.map(e=>(0,q.jsx)(`option`,{value:e,children:typeof e==`number`?`${e}s`:e},e))]})]})})},ST=class{tagName=`marimo-slider`;validator=H({initialValue:z(),label:B().nullable(),start:z(),stop:z(),step:z().optional(),steps:U(z()).nullable(),debounce:V().default(!1),orientation:Ze([`horizontal`,`vertical`]).default(`horizontal`),showValue:V().default(!1),fullWidth:V().default(!1),includeInput:V().default(!1),disabled:V().optional()});render(e){let t=t=>{let{steps:n}=e.data;return n&&n.length>0?n[Oo(t,0,n.length-1)]:t};return(0,q.jsx)(TT,{...e.data,value:e.value,setValue:e.setValue,valueMap:t})}};function CT(e,t){let n=0,r=1/0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i]-t);a<r&&(r=a,n=i)}return n}function wT(e){if(!e||e.length===0)return null;let t=e.toSorted((e,t)=>e-t),n=1/0;for(let e=1;e<t.length;e++){let r=t[e]-t[e-1];r>0&&r<n&&(n=r)}(!Number.isFinite(n)||n<=0)&&(n=1);let r=Uo(e,n);return{steps:e,fractionDigits:r,minValue:Ho(t[0],r),maxValue:Ho(t[t.length-1],r),inputStep:Ho(n,r),formatOptions:{minimumFractionDigits:0,maximumFractionDigits:r}}}var TT=e=>{let t=(0,J.c)(64),{label:n,setValue:r,value:i,start:a,stop:o,step:s,steps:c,debounce:l,orientation:u,showValue:d,fullWidth:f,valueMap:p,includeInput:m,disabled:h}=e,g=(0,K.useId)(),{locale:_}=zo(),[v,y]=(0,K.useState)(i),b,x;t[0]===i?(b=t[1],x=t[2]):(b=()=>{y(i)},x=[i],t[0]=i,t[1]=b,t[2]=x),(0,K.useEffect)(b,x);let S;t[3]===c?S=t[4]:(S=wT(c),t[3]=c,t[4]=S);let C=S,w;t[5]!==v||t[6]!==r||t[7]!==a||t[8]!==C?(w=e=>{if(C){let{steps:t,fractionDigits:n}=C;if(e==null||Number.isNaN(e)){y(0),r(0);return}let i=Ho(e,n),a=CT(t,i),o=Ho(t[v]??t[0],n);a===v&&i!==o&&(a=i>o?Math.min(v+1,t.length-1):Math.max(v-1,0)),y(a),r(a);return}let t=e==null||Number.isNaN(e)?Number(a):e;y(t),r(t)},t[5]=v,t[6]=r,t[7]=a,t[8]=C,t[9]=w):w=t[9];let T=w,E;t[10]!==v||t[11]!==a||t[12]!==s||t[13]!==C||t[14]!==o||t[15]!==p?(E=C?{value:Ho(p(v),C.fractionDigits),minValue:C.minValue,maxValue:C.maxValue,step:C.inputStep,formatOptions:C.formatOptions}:{value:p(v),minValue:a,maxValue:o,step:s},t[10]=v,t[11]=a,t[12]=s,t[13]=C,t[14]=o,t[15]=p,t[16]=E):E=t[16];let D=E,O=u===`horizontal`?`left`:`top`,k=f&&`my-1 w-full`,A;t[17]===k?A=t[18]:(A=G(k),t[17]=k,t[18]=A);let j=u===`vertical`&&`items-end inline-flex justify-center self-center mx-2`,M;t[19]===j?M=t[20]:(M=G(`flex items-center gap-2`,j),t[19]=j,t[20]=M);let N=!f&&`data-[orientation=horizontal]:w-36 `,P;t[21]===N?P=t[22]:(P=G(`relative flex items-center select-none`,N,`data-[orientation=vertical]:h-36`),t[21]=N,t[22]=P);let F;t[23]===v?F=t[24]:(F=[v],t[23]=v,t[24]=F);let I,ee;t[25]!==l||t[26]!==r?(I=e=>{let[t]=e;y(t),l||r(t)},ee=e=>{let[t]=e;l&&r(t)},t[25]=l,t[26]=r,t[27]=I,t[28]=ee):(I=t[27],ee=t[28]);let L;t[29]!==h||t[30]!==g||t[31]!==u||t[32]!==a||t[33]!==s||t[34]!==o||t[35]!==P||t[36]!==F||t[37]!==I||t[38]!==ee||t[39]!==p?(L=(0,q.jsx)(Qy,{id:g,className:P,value:F,min:a,max:o,step:s,orientation:u,onValueChange:I,onValueCommit:ee,valueMap:p,disabled:h}),t[29]=h,t[30]=g,t[31]=u,t[32]=a,t[33]=s,t[34]=o,t[35]=P,t[36]=F,t[37]=I,t[38]=ee,t[39]=p,t[40]=L):L=t[40];let te;t[41]!==v||t[42]!==_||t[43]!==d||t[44]!==p?(te=d&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground min-w-[16px]`,children:Bo(p(v),{locale:_})}),t[41]=v,t[42]=_,t[43]=d,t[44]=p,t[45]=te):te=t[45];let ne;t[46]!==h||t[47]!==T||t[48]!==m||t[49]!==D||t[50]!==n?(ne=m&&(0,q.jsx)(co,{...D,onChange:T,className:`w-24`,"aria-label":`${n||`Slider`} value input`,isDisabled:h}),t[46]=h,t[47]=T,t[48]=m,t[49]=D,t[50]=n,t[51]=ne):ne=t[51];let re;t[52]!==M||t[53]!==L||t[54]!==te||t[55]!==ne?(re=(0,q.jsxs)(`div`,{className:M,children:[L,te,ne]}),t[52]=M,t[53]=L,t[54]=te,t[55]=ne,t[56]=re):re=t[56];let ie;return t[57]!==f||t[58]!==g||t[59]!==n||t[60]!==re||t[61]!==O||t[62]!==A?(ie=(0,q.jsx)(kv,{label:n,controlId:g,align:O,fullWidth:f,className:A,children:re}),t[57]=f,t[58]=g,t[59]=n,t[60]=re,t[61]=O,t[62]=A,t[63]=ie):ie=t[63],ie},ET=class{tagName=`marimo-switch`;validator=H({initialValue:V(),label:B().nullable(),disabled:V().optional()});render(e){return(0,q.jsx)(DT,{...e})}},DT=e=>{let t=(0,J.c)(9),{value:n,setValue:r,data:i}=e,a=(0,K.useId)(),o;t[0]!==i.disabled||t[1]!==a||t[2]!==r||t[3]!==n?(o=(0,q.jsx)(ji,{"data-testid":`marimo-plugin-switch`,checked:n,onCheckedChange:r,id:a,className:`data-[state=unchecked]:hover:bg-input/80 mb-0`,disabled:i.disabled}),t[0]=i.disabled,t[1]=a,t[2]=r,t[3]=n,t[4]=o):o=t[4];let s;return t[5]!==i.label||t[6]!==a||t[7]!==o?(s=(0,q.jsx)(kv,{label:i.label,align:`right`,controlId:a,labelClassName:`ml-1`,children:o}),t[5]=i.label,t[6]=a,t[7]=o,t[8]=s):s=t[8],s},OT=class{tagName=`marimo-tabs`;validator=H({tabs:U(B()),label:B().nullable(),orientation:Ze([`horizontal`,`vertical`]).default(`horizontal`)});render(e){return(0,q.jsx)(kT,{...e.data,value:e.value,setValue:e.setValue,children:e.children})}},kT=e=>{let t=(0,J.c)(33),{tabs:n,label:r,orientation:i,value:a,setValue:o,children:s}=e,[c,l]=K.useState(a||`0`),u;t[0]===o?u=t[1]:(u=e=>{l(e),o(e)},t[0]=o,t[1]=u);let d=u;a!==c&&a&&l(a);let f=i===`vertical`,p;t[2]===s?p=t[3]:(p=s==null?[]:Array.isArray(s)?s:[s],t[2]=s,t[3]=p);let m=p,h=f&&`flex flex-row gap-3`,g;t[4]===h?g=t[5]:(g=G(h),t[4]=h,t[5]=g);let _=f?`flex flex-col items-stretch justify-start h-auto max-h-none shrink-0 min-w-40 overflow-y-auto`:`max-w-full overflow-x-auto justify-start`,v;t[6]===_?v=t[7]:(v=G(`scrollbar-thin`,_),t[6]=_,t[7]=v);let y;if(t[8]!==f||t[9]!==n){let e;t[11]===f?e=t[12]:(e=(e,t)=>(0,q.jsx)(Mi,{value:t.toString(),className:G(f&&`w-full justify-start`),children:Xo({html:e})},t),t[11]=f,t[12]=e),y=n.map(e),t[8]=f,t[9]=n,t[10]=y}else y=t[10];let b;t[13]!==v||t[14]!==y?(b=(0,q.jsx)(Pi,{className:v,children:y}),t[13]=v,t[14]=y,t[15]=b):b=t[15];let x=f&&`flex-1 min-w-0`,S;t[16]===x?S=t[17]:(S=G(x),t[16]=x,t[17]=S);let C;t[18]===m?C=t[19]:(C=m.map(AT),t[18]=m,t[19]=C);let w;t[20]!==S||t[21]!==C?(w=(0,q.jsx)(`div`,{className:S,children:C}),t[20]=S,t[21]=C,t[22]=w):w=t[22];let T;t[23]!==d||t[24]!==c||t[25]!==i||t[26]!==w||t[27]!==g||t[28]!==b?(T=(0,q.jsxs)(Fi,{value:c,onValueChange:d,orientation:i,className:g,children:[b,w]}),t[23]=d,t[24]=c,t[25]=i,t[26]=w,t[27]=g,t[28]=b,t[29]=T):T=t[29];let E;return t[30]!==r||t[31]!==T?(E=(0,q.jsx)(kv,{label:r,align:`top`,fullWidth:!0,children:T}),t[30]=r,t[31]=T,t[32]=E):E=t[32],E};function AT(e,t){return(0,q.jsx)(Ni,{value:t.toString(),children:e},t)}var jT=class{tagName=`marimo-text-area`;validator=H({initialValue:B(),placeholder:B(),label:B().nullable(),maxLength:z().optional(),minLength:z().optional(),disabled:V().optional(),debounce:Ke(We([V(),z()])),rows:z().default(4),fullWidth:V().default(!1)});render(e){return(0,q.jsx)(MT,{...e.data,value:e.value,setValue:e.setValue})}},MT=e=>{let t=(0,J.c)(57),n;t[0]!==e.maxLength||t[1]!==e.value?(n=e.maxLength?(0,q.jsxs)(`span`,{className:`text-muted-foreground text-xs font-medium`,children:[e.value.length,`/`,e.maxLength]}):null,t[0]=e.maxLength,t[1]=e.value,t[2]=n):n=t[2];let r=n;if(e.debounce===!0){let n=e.label,i=e.fullWidth,a;t[3]===e.fullWidth?a=t[4]:(a=G(`font-code`,{"w-full":e.fullWidth}),t[3]=e.fullWidth,t[4]=a);let o=e.minLength!=null&&e.minLength>0,s;t[5]!==r||t[6]!==e.disabled||t[7]!==e.maxLength||t[8]!==e.minLength||t[9]!==e.placeholder||t[10]!==e.rows||t[11]!==e.setValue||t[12]!==e.value||t[13]!==a||t[14]!==o?(s=(0,q.jsx)(Ua,{className:a,rows:e.rows,cols:33,maxLength:e.maxLength,minLength:e.minLength,required:o,disabled:e.disabled,bottomAdornment:r,value:e.value,onValueChange:e.setValue,placeholder:e.placeholder}),t[5]=r,t[6]=e.disabled,t[7]=e.maxLength,t[8]=e.minLength,t[9]=e.placeholder,t[10]=e.rows,t[11]=e.setValue,t[12]=e.value,t[13]=a,t[14]=o,t[15]=s):s=t[15];let c;return t[16]!==e.fullWidth||t[17]!==e.label||t[18]!==s?(c=(0,q.jsx)(kv,{label:n,align:`top`,fullWidth:i,children:s}),t[16]=e.fullWidth,t[17]=e.label,t[18]=s,t[19]=c):c=t[19],c}if(typeof e.debounce==`number`){let n=e.label,i=e.fullWidth,a;t[20]===e.fullWidth?a=t[21]:(a=G(`font-code`,{"w-full":e.fullWidth}),t[20]=e.fullWidth,t[21]=a);let o=e.minLength!=null&&e.minLength>0,s;t[22]!==r||t[23]!==e.debounce||t[24]!==e.disabled||t[25]!==e.maxLength||t[26]!==e.minLength||t[27]!==e.placeholder||t[28]!==e.rows||t[29]!==e.setValue||t[30]!==e.value||t[31]!==a||t[32]!==o?(s=(0,q.jsx)(Wa,{className:a,rows:e.rows,cols:33,maxLength:e.maxLength,minLength:e.minLength,required:o,disabled:e.disabled,bottomAdornment:r,value:e.value,onValueChange:e.setValue,placeholder:e.placeholder,delay:e.debounce}),t[22]=r,t[23]=e.debounce,t[24]=e.disabled,t[25]=e.maxLength,t[26]=e.minLength,t[27]=e.placeholder,t[28]=e.rows,t[29]=e.setValue,t[30]=e.value,t[31]=a,t[32]=o,t[33]=s):s=t[33];let c;return t[34]!==e.fullWidth||t[35]!==e.label||t[36]!==s?(c=(0,q.jsx)(kv,{label:n,align:`top`,fullWidth:i,children:s}),t[34]=e.fullWidth,t[35]=e.label,t[36]=s,t[37]=c):c=t[37],c}let i=e.label,a=e.fullWidth,o;t[38]===e.fullWidth?o=t[39]:(o=G(`font-code`,{"w-full":e.fullWidth}),t[38]=e.fullWidth,t[39]=o);let s=e.minLength!=null&&e.minLength>0,c;t[40]===e?c=t[41]:(c=t=>e.setValue(t.target.value),t[40]=e,t[41]=c);let l;t[42]!==r||t[43]!==e.disabled||t[44]!==e.maxLength||t[45]!==e.minLength||t[46]!==e.placeholder||t[47]!==e.rows||t[48]!==e.value||t[49]!==o||t[50]!==s||t[51]!==c?(l=(0,q.jsx)(Ha,{className:o,rows:e.rows,cols:33,maxLength:e.maxLength,minLength:e.minLength,required:s,disabled:e.disabled,bottomAdornment:r,value:e.value,onInput:c,placeholder:e.placeholder}),t[42]=r,t[43]=e.disabled,t[44]=e.maxLength,t[45]=e.minLength,t[46]=e.placeholder,t[47]=e.rows,t[48]=e.value,t[49]=o,t[50]=s,t[51]=c,t[52]=l):l=t[52];let u;return t[53]!==e.fullWidth||t[54]!==e.label||t[55]!==l?(u=(0,q.jsx)(kv,{label:i,align:`top`,fullWidth:a,children:l}),t[53]=e.fullWidth,t[54]=e.label,t[55]=l,t[56]=u):u=t[56],u},NT=`••••••••`,PT=class{tagName=`marimo-text`;validator=H({initialValue:B(),placeholder:B(),label:B().nullable(),kind:Ze([`text`,`password`,`email`,`url`]).default(`text`),maxLength:z().optional(),minLength:z().optional(),fullWidth:V().default(!1),disabled:V().optional(),debounce:Ke(We([V(),z()])),passwordHasValue:V().optional()});render(e){let t=e.data.kind===`password`?e.host.closest(`[${_}]`)?.getAttribute(_):void 0;return(0,q.jsx)(FT,{...e.data,value:e.value,setValue:e.setValue},t??void 0)}},FT=e=>{let t=(0,J.c)(63),n=e.kind===`password`&&e.passwordHasValue===!0,[r,i]=(0,K.useState)(n),a=(0,K.useRef)(!1),o=r?``:e.value,s=r?NT:e.placeholder,c;t[0]!==r||t[1]!==e?(c=r?t=>{a.current&&(i(!1),e.setValue(t))}:e.setValue,t[0]=r,t[1]=e,t[2]=c):c=t[2];let l=c,u;t[3]===r?u=t[4]:(u=r?()=>{a.current=!0}:void 0,t[3]=r,t[4]=u);let d=u,[f,p]=(0,K.useState)(e.value),m=f??o,h;t[5]!==e.kind||t[6]!==m?(h=IT(e.kind,m),t[5]=e.kind,t[6]=m,t[7]=h):h=t[7];let g=h,_;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_={text:null,password:(0,q.jsx)(Ya,{size:16}),email:(0,q.jsx)(ba,{size:16}),url:(0,q.jsx)(Va,{size:16})},t[8]=_):_=t[8];let v=_,y;t[9]!==e.maxLength||t[10]!==o?(y=e.maxLength?(0,q.jsxs)(`span`,{className:`text-muted-foreground text-xs font-medium`,children:[o.length,`/`,e.maxLength]}):null,t[9]=e.maxLength,t[10]=o,t[11]=y):y=t[11];let b=y,x=!g,S;t[12]!==e.fullWidth||t[13]!==x?(S=G({"border-destructive":x,"w-full":e.fullWidth}),t[12]=e.fullWidth,t[13]=x,t[14]=S):S=t[14];let C=S,w;if(e.debounce===!0){let n=v[e.kind],r=e.minLength!=null&&e.minLength>0,i;t[15]!==b||t[16]!==C||t[17]!==d||t[18]!==s||t[19]!==e.disabled||t[20]!==e.kind||t[21]!==e.maxLength||t[22]!==e.minLength||t[23]!==l||t[24]!==n||t[25]!==r||t[26]!==o?(i=(0,q.jsx)(oo,{"data-testid":`marimo-plugin-text-input`,type:e.kind,icon:n,placeholder:s,maxLength:e.maxLength,minLength:e.minLength,required:r,disabled:e.disabled,className:C,endAdornment:b,value:o,onValueChange:l,onInputCapture:d}),t[15]=b,t[16]=C,t[17]=d,t[18]=s,t[19]=e.disabled,t[20]=e.kind,t[21]=e.maxLength,t[22]=e.minLength,t[23]=l,t[24]=n,t[25]=r,t[26]=o,t[27]=i):i=t[27],w=i}else if(typeof e.debounce==`number`){let n=v[e.kind],r=e.minLength!=null&&e.minLength>0,i;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(i=e=>p(e.currentTarget.value),t[28]=i):i=t[28];let a;t[29]!==b||t[30]!==C||t[31]!==d||t[32]!==s||t[33]!==e.debounce||t[34]!==e.disabled||t[35]!==e.kind||t[36]!==e.maxLength||t[37]!==e.minLength||t[38]!==l||t[39]!==n||t[40]!==r||t[41]!==o?(a=(0,q.jsx)(uo,{"data-testid":`marimo-plugin-text-input`,type:e.kind,icon:n,placeholder:s,maxLength:e.maxLength,minLength:e.minLength,required:r,disabled:e.disabled,className:C,endAdornment:b,value:o,onValueChange:l,onBlur:i,delay:e.debounce,onInputCapture:d}),t[29]=b,t[30]=C,t[31]=d,t[32]=s,t[33]=e.debounce,t[34]=e.disabled,t[35]=e.kind,t[36]=e.maxLength,t[37]=e.minLength,t[38]=l,t[39]=n,t[40]=r,t[41]=o,t[42]=a):a=t[42],w=a}else{let n=v[e.kind],r=e.minLength!=null&&e.minLength>0,i;t[43]===l?i=t[44]:(i=e=>l(e.currentTarget.value),t[43]=l,t[44]=i);let a;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>p(e.currentTarget.value),t[45]=a):a=t[45];let c;t[46]!==b||t[47]!==C||t[48]!==d||t[49]!==s||t[50]!==e.disabled||t[51]!==e.kind||t[52]!==e.maxLength||t[53]!==e.minLength||t[54]!==n||t[55]!==r||t[56]!==i||t[57]!==o?(c=(0,q.jsx)(lo,{"data-testid":`marimo-plugin-text-input`,type:e.kind,icon:n,placeholder:s,maxLength:e.maxLength,minLength:e.minLength,required:r,disabled:e.disabled,className:C,endAdornment:b,value:o,onInput:i,onBlur:a,onInputCapture:d}),t[46]=b,t[47]=C,t[48]=d,t[49]=s,t[50]=e.disabled,t[51]=e.kind,t[52]=e.maxLength,t[53]=e.minLength,t[54]=n,t[55]=r,t[56]=i,t[57]=o,t[58]=c):c=t[58],w=c}let T;return t[59]!==w||t[60]!==e.fullWidth||t[61]!==e.label?(T=(0,q.jsx)(kv,{label:e.label,fullWidth:e.fullWidth,children:w}),t[59]=w,t[60]=e.fullWidth,t[61]=e.label,t[62]=T):T=t[62],T};function IT(e,t){if(!t)return!0;switch(e){case`email`:return B().email().safeParse(t).success;case`url`:return B().url().safeParse(t).success;default:return!0}}var LT=K.lazy(()=>wo(()=>import(`./vega-component-C28fL5fD.js`),__vite__mapDeps([367,1,2,3,4,8,9,10,11,15,16,20,17,18,19,21,22,23,24,37,25,6,26,32,40,30,47,71,12,7,13,14,72,132,155,156,157,158,159,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,122,88,43,28,89,162,163,368,107,369]),import.meta.url)),RT=class{tagName=`marimo-vega`;validator=H({spec:H({}).passthrough().transform(e=>e),chartSelection:We([V(),He(`point`),He(`interval`)]).default(!0),fieldSelection:We([V(),U(B())]).default(!0),embedOptions:H({}).passthrough().default({})});render(e){return(0,q.jsx)(LT,{value:e.value,setValue:e.setValue,...e.data})}},zT=class{tagName=`marimo-accordion`;validator=H({labels:U(B()),multiple:V(),expanded:U(B()).default([])});render(e){return(0,q.jsx)(BT,{...e.data,children:e.children})}},BT=e=>{let t=(0,J.c)(11),{labels:n,multiple:r,expanded:i,children:a}=e,o;t[0]!==i||t[1]!==r?(o=r?{type:`multiple`,defaultValue:i}:{type:`single`,defaultValue:i[0],collapsible:!0},t[0]=i,t[1]=r,t[2]=o):o=t[2];let s=o,c;if(t[3]!==a||t[4]!==n){let e;t[6]===n?e=t[7]:(e=(e,t)=>(0,q.jsxs)(Ln,{value:t.toString(),children:[(0,q.jsx)(Vn,{className:`py-2 text-md`,children:Xo({html:n[t]})}),(0,q.jsx)(zn,{className:`text-md`,children:e})]},t),t[6]=n,t[7]=e),c=K.Children.map(a,e),t[3]=a,t[4]=n,t[5]=c}else c=t[5];let l;return t[8]!==s||t[9]!==c?(l=(0,q.jsx)(Hn,{...s,className:`text-muted-foreground`,children:c}),t[8]=s,t[9]=c,t[10]=l):l=t[10],l},VT={neutral:`neutral`,info:`info`,warn:`warning`,success:`success`,danger:`danger`,alert:`danger`},HT=(0,K.memo)(e=>{let t=(0,J.c)(10),{html:n,kind:r,title:i}=e,a=VT[r],o;t[0]===a?o=t[1]:(o=G(`admonition`,a),t[0]=a,t[1]=o);let s;t[2]===i?s=t[3]:(s=i&&(0,q.jsx)(`span`,{className:`admonition-title`,children:i}),t[2]=i,t[3]=s);let c;t[4]===n?c=t[5]:(c=(0,q.jsx)(si,{html:n,alwaysSanitizeHtml:!0}),t[4]=n,t[5]=c);let l;return t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,q.jsxs)(`div`,{className:o,children:[s,c]}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l});HT.displayName=`CalloutOutput`;var UT=class{tagName=`marimo-callout-output`;validator=H({html:B(),kind:Ev,title:B().optional()});render({data:e}){return(0,q.jsx)(HT,{html:e.html,kind:e.kind,title:e.title})}},WT=`:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;height:var(--swiper-navigation-size);width:var(--swiper-navigation-size);z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}:is(.swiper-button-next,.swiper-button-prev).swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}:is(.swiper-button-next,.swiper-button-prev).swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-next,.swiper-button-prev){display:none!important}:is(.swiper-button-next,.swiper-button-prev) ::slotted(svg),:is(.swiper-button-next,.swiper-button-prev) svg{object-fit:contain;transform-origin:50%;fill:currentColor;pointer-events:none;width:100%;height:100%}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon,.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal .swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(0)}.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-next,.swiper-vertical~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) ::slotted(.swiper-navigation-icon){transform:rotate(90deg)}`,GT=`.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translateZ(0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination.swiper-pagination-disabled,.swiper-pagination-disabled>.swiper-pagination{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));display:inline-block}button.swiper-pagination-bullet{appearance:none;box-shadow:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>.swiper-pagination-progressbar,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);width:100%;top:0;left:0}.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar{height:100%;width:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-pagination-lock{display:none}`,KT=`.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);touch-action:none;position:relative}.swiper-scrollbar.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>.swiper-scrollbar{display:none!important}.swiper-scrollbar.swiper-scrollbar-horizontal,.swiper-horizontal>.swiper-scrollbar{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);z-index:50;position:absolute}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50;position:absolute}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);width:100%;height:100%;position:relative;top:0;left:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}`,qT=`.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";pointer-events:none;position:absolute;top:0;left:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}`,JT=`:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:content-box;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);z-index:1;width:100%;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);width:100%;min-width:1px}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));box-sizing:border-box;transform-origin:50%;z-index:10;border-top:4px solid #0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress)) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}`,YT=`.mo-slide-content{justify-content:center;width:100%;min-height:fit-content;display:flex}.mo-slide-content .output{max-width:100%;width:unset;margin:auto 0}.mo-slide-content>:only-child:has(>.output:only-child,>*>.output:only-child){flex:1}.mo-slide-content div:has(>marimo-ui-element>marimo-vega){flex:1;display:block!important}@media (width>=500px){.mo-slide-content div:has(>marimo-ui-element>marimo-vega){min-width:350px}}.mo-slides-notes-resize{background-color:#0000;outline:none;height:4px;transition:background-color .2s linear}.mo-slides-notes-resize:hover,.mo-slides-notes-resize[data-resize-handle-active]{background-color:var(--slate-11)}`,XT=`:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:content-box;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);z-index:1;width:100%;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);width:100%;min-width:1px}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));box-sizing:border-box;transform-origin:50%;z-index:10;border-top:4px solid #0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress)) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";pointer-events:none;position:absolute;top:0;left:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;height:var(--swiper-navigation-size);width:var(--swiper-navigation-size);z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}:is(.swiper-button-next,.swiper-button-prev).swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}:is(.swiper-button-next,.swiper-button-prev).swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-next,.swiper-button-prev){display:none!important}:is(.swiper-button-next,.swiper-button-prev) ::slotted(svg),:is(.swiper-button-next,.swiper-button-prev) svg{object-fit:contain;transform-origin:50%;fill:currentColor;pointer-events:none;width:100%;height:100%}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon,.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal .swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(0)}.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-next,.swiper-vertical~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) ::slotted(.swiper-navigation-icon){transform:rotate(90deg)}.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translateZ(0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination.swiper-pagination-disabled,.swiper-pagination-disabled>.swiper-pagination{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));display:inline-block}button.swiper-pagination-bullet{appearance:none;box-shadow:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>.swiper-pagination-progressbar,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);width:100%;top:0;left:0}.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar{height:100%;width:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);touch-action:none;position:relative}.swiper-scrollbar.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>.swiper-scrollbar{display:none!important}.swiper-scrollbar.swiper-scrollbar-horizontal,.swiper-horizontal>.swiper-scrollbar{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);z-index:50;position:absolute}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50;position:absolute}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);width:100%;height:100%;position:relative;top:0;left:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.mo-slides-theme{--swiper-theme-color:var(--primary);--swiper-pagination-color:var(--swiper-theme-color);--swiper-pagination-left:auto;--swiper-pagination-right:8px;--swiper-pagination-bottom:8px;--swiper-pagination-top:auto;--swiper-pagination-fraction-color:inherit;--swiper-pagination-progressbar-bg-color:#00000040;--swiper-pagination-progressbar-size:4px;--swiper-pagination-bullet-size:8px;--swiper-pagination-bullet-width:8px;--swiper-pagination-bullet-height:8px;--swiper-pagination-bullet-border-radius:50%;--swiper-pagination-bullet-inactive-color:#000;--swiper-pagination-bullet-inactive-opacity:.2;--swiper-pagination-bullet-opacity:1;--swiper-pagination-bullet-horizontal-gap:4px;--swiper-pagination-bullet-vertical-gap:6px}.mo-slides-theme .swiper-button-next,.mo-slides-theme .swiper-button-prev{opacity:0;--swiper-navigation-sides-offset:0;--swiper-navigation-size:20px;background-color:#0000001a;height:100%;margin-top:0;padding:0 15px;font-weight:900;transition:opacity .3s;top:0;bottom:0}:is(.mo-slides-theme .swiper-button-next,.mo-slides-theme .swiper-button-prev).swiper-button-disabled{opacity:0}:is(.mo-slides-theme .swiper-button-next,.mo-slides-theme .swiper-button-prev):hover:not(.swiper-button-disabled){opacity:1}@font-face{font-family:swiper-icons;font-style:normal;font-weight:400;src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")}:host:host{display:initial}`,ZT=class{tagName=`marimo-carousel`;validator=H({index:B().nullish(),height:We([B(),z()]).nullish()});cssStyles=[JT,qT,WT,GT,KT,YT,XT];render(e){return(0,q.jsx)(QT,{...e.data,wrapAround:!0,children:e.children})}},QT=K.lazy(()=>wo(()=>import(`./swiper-component-eXUBvFuA.js`),__vite__mapDeps([370,1,3,4,15,16,22,23,24,32,161,57,46,47,17,371,372]),import.meta.url)),$T=Cv(`marimo-download`).withData(H({data:B(),disabled:V().default(!1),filename:B().nullish(),label:B().nullish(),lazy:V().default(!1)})).withFunctions({load:Pv.input(H({})).output(H({data:B(),filename:B().nullish()}))}).renderer(e=>(0,q.jsx)(eE,{data:e.data,...e.functions})),eE=({data:e,load:t})=>{let[n,r]=(0,K.useState)(!1),i=async n=>{if(e.disabled){n.preventDefault(),n.stopPropagation();return}if(n.preventDefault(),!e.lazy){Ai(e.data,e.filename??void 0);return}r(!0);try{let n=await t({});Ai(n.data||e.data,n.filename??e.filename??void 0)}catch(e){So({title:`Failed to download`,description:`Please try again.`}),W.error(`Failed to download:`,e)}finally{r(!1)}},a=n?Ka:hr,o=e.label?Xo({html:e.label}):`Download`;return(0,q.jsxs)(`a`,{href:e.data,download:e.filename??``,onClick:i,className:Hi({variant:`secondary`,disabled:e.disabled||n}),children:[(0,q.jsx)(a,{className:G(`w-3 h-3`,e.label&&`mr-2`,n&&`animate-spin`)}),o]})},tE=K.lazy(()=>wo(()=>import(`./ImageComparisonComponent-pCLPT6RA.js`),__vite__mapDeps([373,1,3,4,24]),import.meta.url)),nE=class{tagName=`marimo-image-comparison`;validator=H({beforeSrc:B(),afterSrc:B(),value:z().min(0).max(100).default(50),direction:Ze([`horizontal`,`vertical`]).default(`horizontal`),width:B().optional(),height:B().optional()});render(e){return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{children:`Loading image comparison...`}),children:(0,q.jsx)(tE,{...e.data})})}},rE=class{tagName=`marimo-json-output`;validator=H({name:B().nullish(),jsonData:Ge(),valueTypes:Ze([`json`,`python`]).default(`python`)});render({data:e}){let t=e.name===void 0?!1:e.name||``;return(0,q.jsx)(ti,{data:e.jsonData,format:`auto`,valueTypes:e.valueTypes,name:t})}},iE=Cv(`marimo-lazy`).withData(H({showLoadingIndicator:V().default(!1)})).withFunctions({load:Pv.input(H({})).output(H({html:B()}))}).renderer(e=>(0,q.jsx)(aE,{value:e.value,setValue:e.setValue,...e.data,...e.functions})),aE=e=>{let t=(0,J.c)(15),{load:n,showLoadingIndicator:r,value:i,setValue:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={threshold:0,root:null,rootMargin:`0px`},t[0]=o):o=t[0];let[s,c]=Cr(o);c?.isIntersecting&&!i&&a(!0);let l;t[1]!==n||t[2]!==i?(l=e=>i?n({}):(e.previous(),Promise.resolve(void 0)),t[1]=n,t[2]=i,t[3]=l):l=t[3];let u;t[4]===i?u=t[5]:(u=[i],t[4]=i,t[5]=u);let{data:d,error:f,isPending:p}=Ko(l,u);if(f){let e;return t[6]===f?e=t[7]:(e=(0,q.jsx)(_s,{error:f}),t[6]=f,t[7]=e),e}let m;t[8]!==d||t[9]!==p||t[10]!==r?(m=p&&r?(0,q.jsx)(Ka,{className:`w-12 h-12 animate-spin text-primary my-4 mx-4`}):d&&Xo({html:d.html}),t[8]=d,t[9]=p,t[10]=r,t[11]=m):m=t[11];let h;return t[12]!==s||t[13]!==m?(h=(0,q.jsx)(`div`,{ref:s,className:`min-h-4`,children:m}),t[12]=s,t[13]=m,t[14]=h):h=t[14],h},oE=class{tagName=`marimo-mime-renderer`;validator=H({mime:B().transform(e=>e),data:We([B(),rt(),qe(B(),Ge()),U(Qe())]).transform(e=>e)});render({data:e}){return e.data?(0,q.jsx)($r,{message:{data:e.data,channel:`output`,mimetype:e.mime}}):(0,q.jsx)(`div`,{})}},sE=class{tagName=`marimo-mermaid`;validator=H({diagram:B(),theme:B().optional(),theme_variables:qe(B(),B()).optional()});render(e){return(0,q.jsx)(cE,{diagram:e.data.diagram,theme:e.data.theme,themeVariables:e.data.theme_variables})}},cE=(0,K.lazy)(()=>wo(()=>import(`./mermaid-CX6aTquk.js`),__vite__mapDeps([374,1,3,4,15,16,24,54,71,2,12,7,13,9,14,17,18,72,73,88,22,23,43,25,6,28,32,89,375,362,359,376,354,377,378,379,380,381,382,383,384,385,386,387,388,389,363,358,361,390,391,110,11,342,392,112,393,394]),import.meta.url)),lE=e=>{let t=(0,J.c)(12),{label:n}=e,{items:i}=r(A),a;t[0]===i?a=t[1]:(a=Ps(i),t[0]=i,t[1]=a);let{activeHeaderId:o,activeOccurrences:s}=Ms(a);if(i.length===0){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,q.jsx)(`div`,{className:`text-muted-foreground text-sm p-4 border border-dashed border-border rounded-lg`,children:`No outline found. Add markdown headings to your notebook to create an outline.`}),t[2]=e):e=t[2],e}let c;t[3]===n?c=t[4]:(c=n&&(0,q.jsx)(`div`,{className:`px-4 py-2 border-b border-border font-medium text-sm`,children:n}),t[3]=n,t[4]=c);let l;t[5]!==o||t[6]!==s||t[7]!==i?(l=(0,q.jsx)(Ns,{className:`max-h-[400px]`,items:i,activeHeaderId:o,activeOccurrences:s}),t[5]=o,t[6]=s,t[7]=i,t[8]=l):l=t[8];let u;return t[9]!==c||t[10]!==l?(u=(0,q.jsxs)(`div`,{className:`border border-border rounded-lg`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u},uE=class{tagName=`marimo-outline`;validator=H({label:B().optional()});render(e){let{label:t}=e.data;return(0,q.jsx)(o,{store:a,children:(0,q.jsx)(lE,{label:t})})}},dE=e(t(((e,t)=>{(function(e){var n=Object.assign||function(e){for(var t,n=1;n<arguments.length;n++)for(var r in t=arguments[n],t)_(t,r)&&(e[r]=t[r]);return e},r=Array.isArray||function(e){return Object.prototype.toString.call(e)===`[object Array]`},i=c([`χρόνος`,`χρόνια`],[`μήνας`,`μήνες`],[`εβδομάδα`,`εβδομάδες`],[`μέρα`,`μέρες`],[`ώρα`,`ώρες`],[`λεπτό`,`λεπτά`],[`δευτερόλεπτο`,`δευτερόλεπτα`],[`χιλιοστό του δευτερολέπτου`,`χιλιοστά του δευτερολέπτου`],`,`),a={af:c([`jaar`,`jaar`],[`maand`,`maande`],[`week`,`weke`],[`dag`,`dae`],[`uur`,`ure`],[`minuut`,`minute`],[`sekonde`,`sekondes`],[`millisekonde`,`millisekondes`],`,`),am:o(`ዓመት`,`ወር`,`ሳምንት`,`ቀን`,`ሰዓት`,`ደቂቃ`,`ሰከንድ`,`ሚሊሰከንድ`),ar:n(o(function(e){return[`سنة`,`سنتان`,`سنوات`][f(e)]},function(e){return[`شهر`,`شهران`,`أشهر`][f(e)]},function(e){return[`أسبوع`,`أسبوعين`,`أسابيع`][f(e)]},function(e){return[`يوم`,`يومين`,`أيام`][f(e)]},function(e){return[`ساعة`,`ساعتين`,`ساعات`][f(e)]},function(e){return[`دقيقة`,`دقيقتان`,`دقائق`][f(e)]},function(e){return[`ثانية`,`ثانيتان`,`ثواني`][f(e)]},function(e){return[`جزء من الثانية`,`جزآن من الثانية`,`أجزاء من الثانية`][f(e)]},`,`),{delimiter:` ﻭ `,_hideCountIf2:!0,_digitReplacements:[`۰`,`١`,`٢`,`٣`,`٤`,`٥`,`٦`,`٧`,`٨`,`٩`]}),bg:d([`години`,`година`,`години`],[`месеца`,`месец`,`месеца`],[`седмици`,`седмица`,`седмици`],[`дни`,`ден`,`дни`],[`часа`,`час`,`часа`],[`минути`,`минута`,`минути`],[`секунди`,`секунда`,`секунди`],[`милисекунди`,`милисекунда`,`милисекунди`]),bn:o(`বছর`,`মাস`,`সপ্তাহ`,`দিন`,`ঘন্টা`,`মিনিট`,`সেকেন্ড`,`মিলিসেকেন্ড`),ca:c([`any`,`anys`],[`mes`,`mesos`],[`setmana`,`setmanes`],[`dia`,`dies`],[`hora`,`hores`],[`minut`,`minuts`],[`segon`,`segons`],[`milisegon`,`milisegons`],`,`),ckb:o(`ساڵ`,`مانگ`,`هەفتە`,`ڕۆژ`,`کاژێر`,`خولەک`,`چرکە`,`میلی چرکە`,`.`),cs:o(function(e){return[`rok`,`roku`,`roky`,`let`][m(e)]},function(e){return[`měsíc`,`měsíce`,`měsíce`,`měsíců`][m(e)]},function(e){return[`týden`,`týdne`,`týdny`,`týdnů`][m(e)]},function(e){return[`den`,`dne`,`dny`,`dní`][m(e)]},function(e){return[`hodina`,`hodiny`,`hodiny`,`hodin`][m(e)]},function(e){return[`minuta`,`minuty`,`minuty`,`minut`][m(e)]},function(e){return[`sekunda`,`sekundy`,`sekundy`,`sekund`][m(e)]},function(e){return[`milisekunda`,`milisekundy`,`milisekundy`,`milisekund`][m(e)]},`,`),cy:o(`flwyddyn`,`mis`,`wythnos`,`diwrnod`,`awr`,`munud`,`eiliad`,`milieiliad`),da:c([`år`,`år`],[`måned`,`måneder`],[`uge`,`uger`],[`dag`,`dage`],[`time`,`timer`],[`minut`,`minutter`],[`sekund`,`sekunder`],[`millisekund`,`millisekunder`],`,`),de:c([`Jahr`,`Jahre`],[`Monat`,`Monate`],[`Woche`,`Wochen`],[`Tag`,`Tage`],[`Stunde`,`Stunden`],[`Minute`,`Minuten`],[`Sekunde`,`Sekunden`],[`Millisekunde`,`Millisekunden`],`,`),el:i,en:c([`year`,`years`],[`month`,`months`],[`week`,`weeks`],[`day`,`days`],[`hour`,`hours`],[`minute`,`minutes`],[`second`,`seconds`],[`millisecond`,`milliseconds`]),eo:c([`jaro`,`jaroj`],[`monato`,`monatoj`],[`semajno`,`semajnoj`],[`tago`,`tagoj`],[`horo`,`horoj`],[`minuto`,`minutoj`],[`sekundo`,`sekundoj`],[`milisekundo`,`milisekundoj`],`,`),es:c([`año`,`años`],[`mes`,`meses`],[`semana`,`semanas`],[`día`,`días`],[`hora`,`horas`],[`minuto`,`minutos`],[`segundo`,`segundos`],[`milisegundo`,`milisegundos`],`,`),et:c([`aasta`,`aastat`],[`kuu`,`kuud`],[`nädal`,`nädalat`],[`päev`,`päeva`],[`tund`,`tundi`],[`minut`,`minutit`],[`sekund`,`sekundit`],[`millisekund`,`millisekundit`],`,`),eu:o(`urte`,`hilabete`,`aste`,`egun`,`ordu`,`minutu`,`segundo`,`milisegundo`,`,`),fa:o(`سال`,`ماه`,`هفته`,`روز`,`ساعت`,`دقیقه`,`ثانیه`,`میلی ثانیه`),fi:c([`vuosi`,`vuotta`],[`kuukausi`,`kuukautta`],[`viikko`,`viikkoa`],[`päivä`,`päivää`],[`tunti`,`tuntia`],[`minuutti`,`minuuttia`],[`sekunti`,`sekuntia`],[`millisekunti`,`millisekuntia`],`,`),fo:c([`ár`,`ár`],[`mánaður`,`mánaðir`],[`vika`,`vikur`],[`dagur`,`dagar`],[`tími`,`tímar`],[`minuttur`,`minuttir`],[`sekund`,`sekund`],[`millisekund`,`millisekund`],`,`),fr:o(function(e){return`an`+(e>=2?`s`:``)},`mois`,function(e){return`semaine`+(e>=2?`s`:``)},function(e){return`jour`+(e>=2?`s`:``)},function(e){return`heure`+(e>=2?`s`:``)},function(e){return`minute`+(e>=2?`s`:``)},function(e){return`seconde`+(e>=2?`s`:``)},function(e){return`milliseconde`+(e>=2?`s`:``)},`,`),gr:i,he:c([`שנה`,`שנים`],[`חודש`,`חודשים`],[`שבוע`,`שבועות`],[`יום`,`ימים`],[`שעה`,`שעות`],[`דקה`,`דקות`],[`שניה`,`שניות`],[`מילישנייה`,`מילישניות`]),hr:o(function(e){return e%10==2||e%10==3||e%10==4?`godine`:`godina`},function(e){return e===1?`mjesec`:e===2||e===3||e===4?`mjeseca`:`mjeseci`},function(e){return e%10==1&&e!==11?`tjedan`:`tjedna`},s([`dan`,`dana`]),function(e){return e===1?`sat`:e===2||e===3||e===4?`sata`:`sati`},function(e){var t=e%10;return(t===2||t===3||t===4)&&(e<10||e>14)?`minute`:`minuta`},function(e){var t=e%10;return t===5||Math.floor(e)===e&&e>=10&&e<=19?`sekundi`:t===1?`sekunda`:t===2||t===3||t===4?`sekunde`:`sekundi`},function(e){return e===1?`milisekunda`:e%10==2||e%10==3||e%10==4?`milisekunde`:`milisekundi`},`,`),hi:o(`साल`,s([`महीना`,`महीने`]),s([`हफ़्ता`,`हफ्ते`]),`दिन`,s([`घंटा`,`घंटे`]),`मिनट`,`सेकंड`,`मिलीसेकंड`),hu:o(`év`,`hónap`,`hét`,`nap`,`óra`,`perc`,`másodperc`,`ezredmásodperc`,`,`),id:o(`tahun`,`bulan`,`minggu`,`hari`,`jam`,`menit`,`detik`,`milidetik`),is:c([`ár`,`ár`],[`mánuður`,`mánuðir`],[`vika`,`vikur`],[`dagur`,`dagar`],[`klukkutími`,`klukkutímar`],[`mínúta`,`mínútur`],[`sekúnda`,`sekúndur`],[`millisekúnda`,`millisekúndur`]),it:c([`anno`,`anni`],[`mese`,`mesi`],[`settimana`,`settimane`],[`giorno`,`giorni`],[`ora`,`ore`],[`minuto`,`minuti`],[`secondo`,`secondi`],[`millisecondo`,`millisecondi`],`,`),ja:o(`年`,`ヶ月`,`週間`,`日`,`時間`,`分`,`秒`,`ミリ秒`),km:o(`ឆ្នាំ`,`ខែ`,`សប្តាហ៍`,`ថ្ងៃ`,`ម៉ោង`,`នាទី`,`វិនាទី`,`មិល្លីវិនាទី`),kn:c([`ವರ್ಷ`,`ವರ್ಷಗಳು`],[`ತಿಂಗಳು`,`ತಿಂಗಳುಗಳು`],[`ವಾರ`,`ವಾರಗಳು`],[`ದಿನ`,`ದಿನಗಳು`],[`ಗಂಟೆ`,`ಗಂಟೆಗಳು`],[`ನಿಮಿಷ`,`ನಿಮಿಷಗಳು`],[`ಸೆಕೆಂಡ್`,`ಸೆಕೆಂಡುಗಳು`],[`ಮಿಲಿಸೆಕೆಂಡ್`,`ಮಿಲಿಸೆಕೆಂಡುಗಳು`]),ko:o(`년`,`개월`,`주일`,`일`,`시간`,`분`,`초`,`밀리 초`),ku:o(`sal`,`meh`,`hefte`,`roj`,`seet`,`deqe`,`saniye`,`mîlîçirk`,`,`),lo:o(`ປີ`,`ເດືອນ`,`ອາທິດ`,`ມື້`,`ຊົ່ວໂມງ`,`ນາທີ`,`ວິນາທີ`,`ມິນລິວິນາທີ`,`,`),lt:o(function(e){return e%10==0||e%100>=10&&e%100<=20?`metų`:`metai`},function(e){return[`mėnuo`,`mėnesiai`,`mėnesių`][h(e)]},function(e){return[`savaitė`,`savaitės`,`savaičių`][h(e)]},function(e){return[`diena`,`dienos`,`dienų`][h(e)]},function(e){return[`valanda`,`valandos`,`valandų`][h(e)]},function(e){return[`minutė`,`minutės`,`minučių`][h(e)]},function(e){return[`sekundė`,`sekundės`,`sekundžių`][h(e)]},function(e){return[`milisekundė`,`milisekundės`,`milisekundžių`][h(e)]},`,`),lv:o(function(e){return g(e)?`gads`:`gadi`},function(e){return g(e)?`mēnesis`:`mēneši`},function(e){return g(e)?`nedēļa`:`nedēļas`},function(e){return g(e)?`diena`:`dienas`},function(e){return g(e)?`stunda`:`stundas`},function(e){return g(e)?`minūte`:`minūtes`},function(e){return g(e)?`sekunde`:`sekundes`},function(e){return g(e)?`milisekunde`:`milisekundes`},`,`),mk:c([`година`,`години`],[`месец`,`месеци`],[`недела`,`недели`],[`ден`,`дена`],[`час`,`часа`],[`минута`,`минути`],[`секунда`,`секунди`],[`милисекунда`,`милисекунди`],`,`),mn:o(`жил`,`сар`,`долоо хоног`,`өдөр`,`цаг`,`минут`,`секунд`,`миллисекунд`),mr:o(s([`वर्ष`,`वर्षे`]),s([`महिना`,`महिने`]),s([`आठवडा`,`आठवडे`]),`दिवस`,`तास`,s([`मिनिट`,`मिनिटे`]),`सेकंद`,`मिलिसेकंद`),ms:o(`tahun`,`bulan`,`minggu`,`hari`,`jam`,`minit`,`saat`,`milisaat`),nl:c([`jaar`,`jaar`],[`maand`,`maanden`],[`week`,`weken`],[`dag`,`dagen`],[`uur`,`uur`],[`minuut`,`minuten`],[`seconde`,`seconden`],[`milliseconde`,`milliseconden`],`,`),nn:c([`år`,`år`],[`månad`,`månader`],[`veke`,`veker`],[`dag`,`dagar`],[`time`,`timar`],[`minutt`,`minutt`],[`sekund`,`sekund`],[`millisekund`,`millisekund`],`,`),no:c([`år`,`år`],[`måned`,`måneder`],[`uke`,`uker`],[`dag`,`dager`],[`time`,`timer`],[`minutt`,`minutter`],[`sekund`,`sekunder`],[`millisekund`,`millisekunder`],`,`),pl:o(function(e){return[`rok`,`roku`,`lata`,`lat`][p(e)]},function(e){return[`miesiąc`,`miesiąca`,`miesiące`,`miesięcy`][p(e)]},function(e){return[`tydzień`,`tygodnia`,`tygodnie`,`tygodni`][p(e)]},function(e){return[`dzień`,`dnia`,`dni`,`dni`][p(e)]},function(e){return[`godzina`,`godziny`,`godziny`,`godzin`][p(e)]},function(e){return[`minuta`,`minuty`,`minuty`,`minut`][p(e)]},function(e){return[`sekunda`,`sekundy`,`sekundy`,`sekund`][p(e)]},function(e){return[`milisekunda`,`milisekundy`,`milisekundy`,`milisekund`][p(e)]},`,`),pt:c([`ano`,`anos`],[`mês`,`meses`],[`semana`,`semanas`],[`dia`,`dias`],[`hora`,`horas`],[`minuto`,`minutos`],[`segundo`,`segundos`],[`milissegundo`,`milissegundos`],`,`),ro:o(l(`an`,`ani`,`de ani`),l(`lună`,`luni`,`de luni`),l(`săptămână`,`săptămâni`,`de săptămâni`),l(`zi`,`zile`,`de zile`),l(`oră`,`ore`,`de ore`),l(`minut`,`minute`,`de minute`),l(`secundă`,`secunde`,`de secunde`),l(`milisecundă`,`milisecunde`,`de milisecunde`),`,`),ru:d([`лет`,`год`,`года`],[`месяцев`,`месяц`,`месяца`],[`недель`,`неделя`,`недели`],[`дней`,`день`,`дня`],[`часов`,`час`,`часа`],[`минут`,`минута`,`минуты`],[`секунд`,`секунда`,`секунды`],[`миллисекунд`,`миллисекунда`,`миллисекунды`]),sq:o(s([`vit`,`vjet`]),`muaj`,`javë`,`ditë`,`orë`,function(e){return`minut`+(e===1?`ë`:`a`)},function(e){return`sekond`+(e===1?`ë`:`a`)},function(e){return`milisekond`+(e===1?`ë`:`a`)},`,`),sr:d([`години`,`година`,`године`],[`месеци`,`месец`,`месеца`],[`недељи`,`недеља`,`недеље`],[`дани`,`дан`,`дана`],[`сати`,`сат`,`сата`],[`минута`,`минут`,`минута`],[`секунди`,`секунда`,`секунде`],[`милисекунди`,`милисекунда`,`милисекунде`]),sr_Latn:d([`godini`,`godina`,`godine`],[`meseci`,`mesec`,`meseca`],[`nedelji`,`nedelja`,`nedelje`],[`dani`,`dan`,`dana`],[`sati`,`sat`,`sata`],[`minuta`,`minut`,`minuta`],[`sekundi`,`sekunda`,`sekunde`],[`milisekundi`,`milisekunda`,`milisekunde`]),ta:c([`வருடம்`,`ஆண்டுகள்`],[`மாதம்`,`மாதங்கள்`],[`வாரம்`,`வாரங்கள்`],[`நாள்`,`நாட்கள்`],[`மணி`,`மணிநேரம்`],[`நிமிடம்`,`நிமிடங்கள்`],[`வினாடி`,`வினாடிகள்`],[`மில்லி விநாடி`,`மில்லி விநாடிகள்`]),te:c([`సంవత్సరం`,`సంవత్సరాల`],[`నెల`,`నెలల`],[`వారం`,`వారాలు`],[`రోజు`,`రోజులు`],[`గంట`,`గంటలు`],[`నిమిషం`,`నిమిషాలు`],[`సెకను`,`సెకన్లు`],[`మిల్లీసెకన్`,`మిల్లీసెకన్లు`]),uk:d([`років`,`рік`,`роки`],[`місяців`,`місяць`,`місяці`],[`тижнів`,`тиждень`,`тижні`],[`днів`,`день`,`дні`],[`годин`,`година`,`години`],[`хвилин`,`хвилина`,`хвилини`],[`секунд`,`секунда`,`секунди`],[`мілісекунд`,`мілісекунда`,`мілісекунди`]),ur:o(`سال`,s([`مہینہ`,`مہینے`]),s([`ہفتہ`,`ہفتے`]),`دن`,s([`گھنٹہ`,`گھنٹے`]),`منٹ`,`سیکنڈ`,`ملی سیکنڈ`),sk:o(function(e){return[`rok`,`roky`,`roky`,`rokov`][m(e)]},function(e){return[`mesiac`,`mesiace`,`mesiace`,`mesiacov`][m(e)]},function(e){return[`týždeň`,`týždne`,`týždne`,`týždňov`][m(e)]},function(e){return[`deň`,`dni`,`dni`,`dní`][m(e)]},function(e){return[`hodina`,`hodiny`,`hodiny`,`hodín`][m(e)]},function(e){return[`minúta`,`minúty`,`minúty`,`minút`][m(e)]},function(e){return[`sekunda`,`sekundy`,`sekundy`,`sekúnd`][m(e)]},function(e){return[`milisekunda`,`milisekundy`,`milisekundy`,`milisekúnd`][m(e)]},`,`),sl:o(function(e){return e%10==1?`leto`:e%100==2?`leti`:e%100==3||e%100==4||Math.floor(e)!==e&&e%100<=5?`leta`:`let`},function(e){return e%10==1?`mesec`:e%100==2||Math.floor(e)!==e&&e%100<=5?`meseca`:e%10==3||e%10==4?`mesece`:`mesecev`},function(e){return e%10==1?`teden`:e%10==2||Math.floor(e)!==e&&e%100<=4?`tedna`:e%10==3||e%10==4?`tedne`:`tednov`},function(e){return e%100==1?`dan`:`dni`},function(e){return e%10==1?`ura`:e%100==2?`uri`:e%10==3||e%10==4||Math.floor(e)!==e?`ure`:`ur`},function(e){return e%10==1?`minuta`:e%10==2?`minuti`:e%10==3||e%10==4||Math.floor(e)!==e&&e%100<=4?`minute`:`minut`},function(e){return e%10==1?`sekunda`:e%100==2?`sekundi`:e%100==3||e%100==4||Math.floor(e)!==e?`sekunde`:`sekund`},function(e){return e%10==1?`milisekunda`:e%100==2?`milisekundi`:e%100==3||e%100==4||Math.floor(e)!==e?`milisekunde`:`milisekund`},`,`),sv:c([`år`,`år`],[`månad`,`månader`],[`vecka`,`veckor`],[`dag`,`dagar`],[`timme`,`timmar`],[`minut`,`minuter`],[`sekund`,`sekunder`],[`millisekund`,`millisekunder`],`,`),sw:n(c([`mwaka`,`miaka`],[`mwezi`,`miezi`],[`wiki`,`wiki`],[`siku`,`masiku`],[`saa`,`masaa`],[`dakika`,`dakika`],[`sekunde`,`sekunde`],[`milisekunde`,`milisekunde`]),{_numberFirst:!0}),tr:o(`yıl`,`ay`,`hafta`,`gün`,`saat`,`dakika`,`saniye`,`milisaniye`,`,`),th:o(`ปี`,`เดือน`,`สัปดาห์`,`วัน`,`ชั่วโมง`,`นาที`,`วินาที`,`มิลลิวินาที`),uz:o(`yil`,`oy`,`hafta`,`kun`,`soat`,`minut`,`sekund`,`millisekund`),uz_CYR:o(`йил`,`ой`,`ҳафта`,`кун`,`соат`,`минут`,`секунд`,`миллисекунд`),vi:o(`năm`,`tháng`,`tuần`,`ngày`,`giờ`,`phút`,`giây`,`mili giây`,`,`),zh_CN:o(`年`,`个月`,`周`,`天`,`小时`,`分钟`,`秒`,`毫秒`),zh_TW:o(`年`,`個月`,`周`,`天`,`小時`,`分鐘`,`秒`,`毫秒`)};function o(e,t,n,r,i,a,o,s,c){var l={y:e,mo:t,w:n,d:r,h:i,m:a,s:o,ms:s};return c&&(l.decimal=c),l}function s(e){return function(t){return t===1?e[0]:e[1]}}function c(e,t,n,r,i,a,c,l,u){return o(s(e),s(t),s(n),s(r),s(i),s(a),s(c),s(l),u)}function l(e,t,n){return function(r){if(r===1)return e;if(Math.floor(r)!==r||r===0)return t;var i=r%100;return i>=1&&i<=19?t:n}}function u(e){return function(t){return Math.floor(t)===t?t%100>=5&&t%100<=20||t%10>=5&&t%10<=9||t%10==0?e[0]:t%10==1?e[1]:t>1?e[2]:e[1]:e[2]}}function d(e,t,n,r,i,a,s,c){return o(u(e),u(t),u(n),u(r),u(i),u(a),u(s),u(c),`,`)}function f(e){return e===2?1:e>2&&e<11?2:0}function p(e){return e===1?0:Math.floor(e)===e?e%10>=2&&e%10<=4&&!(e%100>10&&e%100<20)?2:3:1}function m(e){return e===1?0:Math.floor(e)===e?e%10>=2&&e%10<=4&&e%100<10?2:3:1}function h(e){return e%10==1&&e%100!=11?0:Math.floor(e)!==e||e%10>=2&&e%100>20||e%10>=2&&e%100<10?1:2}function g(e){return e%10==1&&e%100!=11}function _(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function v(e){var t=[e.language];if(_(e,`fallbacks`)){if(r(e.fallbacks)&&e.fallbacks.length)t=t.concat(e.fallbacks);else throw Error(`fallbacks must be an array with at least one element`)}for(var n=0;n<t.length;n++){var i=t[n];if(_(e.languages,i))return e.languages[i];if(_(a,i))return a[i]}throw Error(`No language found.`)}function y(e,t,n){var r=e.unitName,i=e.unitCount,a=n.spacer,o=n.maxDecimalPoints,s=typeof n.decimal==`string`?n.decimal:typeof t.decimal==`string`?t.decimal:`.`,c;`digitReplacements`in n?c=n.digitReplacements:`_digitReplacements`in t&&(c=t._digitReplacements);var l,u=(o===void 0?i:Math.floor(i*10**o)/10**o).toString();if(t._hideCountIf2&&i===2)l=``,a=``;else if(c){l=``;for(var d=0;d<u.length;d++){var f=u[d];if(f===`.`)l+=s;else{var p=Number(f),m=c[p];l+=m===void 0?f:m}}}else l=u.replace(`.`,s);var h=t[r],g=typeof h==`function`?h(i):h;return t._numberFirst?g+a+l:l+a+g}function b(e,t){var n,r,i,a,o=t.units,s=t.unitMeasures,c=typeof t.largest==`number`?t.largest:1/0;if(!o.length)return[];var l={};for(a=e,r=0;r<o.length;r++){n=o[r];var u=s[n];i=r===o.length-1?a/u:Math.floor(a/u),l[n]=i,a-=i*u}if(t.round){var d=c;for(r=0;r<o.length;r++)if(n=o[r],i=l[n],i!==0&&(d--,d===0)){for(var f=r+1;f<o.length;f++){var p=o[f],m=l[p];l[n]=l[n]+m*s[p]/s[n],l[p]=0}break}for(r=o.length-1;r>=0;r--)if(n=o[r],i=l[n],i!==0){var h=Math.round(i);if(l[n]=h,r===0)break;var g=o[r-1],_=s[g],v=Math.floor(h*s[n]/_);if(v)l[g]=l[g]+v,l[n]=0;else break}}var y=[];for(r=0;r<o.length&&y.length<c;r++)n=o[r],i=l[n],i&&y.push({unitName:n,unitCount:i});return y}function x(e,t){var n=v(t);if(!e.length){var r=t.units,i=r[r.length-1];return y({unitName:i,unitCount:0},n,t)}for(var a=t.conjunction,o=t.serialComma,s=_(t,`delimiter`)?t.delimiter:_(n,`delimiter`)?n.delimiter:`, `,c=[],l=0;l<e.length;l++)c.push(y(e[l],n,t));return!a||e.length===1?c.join(s):e.length===2?c.join(a):c.slice(0,-1).join(s)+(o?`,`:``)+a+c.slice(-1)}function S(e){var t=(function(e,r){e=Math.abs(e);var i=n({},t,r||{});return x(b(e,i),i)});return n(t,{language:`en`,spacer:` `,conjunction:``,serialComma:!0,units:[`y`,`mo`,`w`,`d`,`h`,`m`,`s`],languages:{},round:!1,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},e)}var C=n(S({}),{getSupportedLanguages:function(){var e=[];for(var t in a)_(a,t)&&t!==`gr`&&e.push(t);return e},humanizer:S});typeof define==`function`&&define.amd?define(function(){return C}):t!==void 0&&t.exports?t.exports=C:e.humanizeDuration=C})(e)}))(),1),fE=class{tagName=`marimo-progress`;validator=H({title:B().optional(),subtitle:B().optional(),progress:We([z(),V()]),total:z().optional(),eta:z().optional(),rate:z().optional()});render(e){return(0,q.jsx)(pE,{...e.data})}},pE=e=>{let t=(0,J.c)(24),{title:n,subtitle:r,progress:i,total:a,eta:o,rate:s}=e,c=typeof i==`number`?`items-start`:`items-center`,l;t[0]!==i||t[1]!==a?(l=()=>typeof i==`number`&&a!=null&&a>0?(0,q.jsxs)(`div`,{className:`flex gap-3 text-sm text-muted-foreground items-baseline`,children:[(0,q.jsx)(Di,{value:mE(i/a*100)}),(0,q.jsxs)(`span`,{className:`shrink-0`,children:[i,` / `,a]})]}):(0,q.jsx)(Ka,{className:`w-12 h-12 animate-spin text-primary mx-auto`}),t[0]=i,t[1]=a,t[2]=l):l=t[2];let u=l,d;t[3]!==o||t[4]!==i||t[5]!==s||t[6]!==a?(d=()=>{let e=typeof i==`number`&&a!=null&&i>=a,t=[];if(s&&(s<1?t.push((0,q.jsxs)(`span`,{children:[gE(1/s),` per iter`]},`rate`)):t.push((0,q.jsxs)(`span`,{children:[s,` iter/s`]},`rate`)),t.push((0,q.jsx)(`span`,{children:`·`},`spacer-rate`))),!e&&o&&t.push((0,q.jsxs)(`span`,{children:[`ETA `,gE(o)]},`eta`),(0,q.jsx)(`span`,{children:`·`},`spacer-eta`)),e&&s){let e=i/s;t.push((0,q.jsxs)(`span`,{children:[`Total time `,gE(e)]},`completed`),(0,q.jsx)(`span`,{children:`·`},`spacer-completed`))}if(t.pop(),t.length>0)return(0,q.jsx)(`div`,{className:`flex gap-2 text-muted-foreground text-sm`,children:t})},t[3]=o,t[4]=i,t[5]=s,t[6]=a,t[7]=d):d=t[7];let f=d,p=`flex flex-col ${c} max-w-sm p-6 mx-auto`,m;t[8]===n?m=t[9]:(m=n&&(0,q.jsx)(`div`,{className:`text-lg font-bold text-foreground/60`,children:Xo({html:n})}),t[8]=n,t[9]=m);let h;t[10]===r?h=t[11]:(h=r&&(0,q.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:Xo({html:r})}),t[10]=r,t[11]=h);let g;t[12]===u?g=t[13]:(g=u(),t[12]=u,t[13]=g);let _;t[14]===f?_=t[15]:(_=f(),t[14]=f,t[15]=_);let v;t[16]!==g||t[17]!==_?(v=(0,q.jsxs)(`div`,{className:`mt-2 w-full flex flex-col gap-1`,children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;return t[19]!==p||t[20]!==m||t[21]!==h||t[22]!==v?(y=(0,q.jsxs)(`div`,{className:p,children:[m,h,v]}),t[19]=p,t[20]=m,t[21]=h,t[22]=v,t[23]=y):y=t[23],y};function mE(e){return Oo(e,0,100)}var hE=dE.default.humanizer({language:`shortEn`,languages:{shortEn:{y:()=>`y`,mo:()=>`mo`,w:()=>`w`,d:()=>`d`,h:()=>`h`,m:()=>`m`,s:()=>`s`,ms:()=>`ms`}}});function gE(e){return hE(e*1e3,{language:`shortEn`,largest:2,spacer:``,maxDecimalPoints:e<10?2:0})}var _E=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PathError=e.TokenData=void 0,e.match=l;var t=`/`,n=e=>e,r=/^[$_\p{ID_Start}]$/u,i=/^[$\u200c\u200d\p{ID_Continue}]$/u;function a(e){return e.replace(/[.+*?^${}()[\]|/\\]/g,`\\$&`)}var o=class{constructor(e,t){this.tokens=e,this.originalPath=t}};e.TokenData=o;var s=class extends TypeError{constructor(e,t){let n=e;t&&(n+=`: ${t}`),n+=`; visit https://git.new/pathToRegexpError for info`,super(n),this.originalPath=t}};e.PathError=s;function c(e,t={}){let{encodePath:a=n}=t,c=[...e],l=0;function u(t){let n=[],o=``;function d(){o&&=(n.push({type:`text`,value:a(o)}),``)}for(;l<c.length;){let a=c[l++];if(a===t)return d(),n;if(a===`\\`){if(l===c.length)throw new s(`Unexpected end after \\ at index ${l}`,e);o+=c[l++];continue}if(a===`:`||a===`*`){let t=a===`:`?`param`:`wildcard`,o=``;if(r.test(c[l]))do o+=c[l++];while(i.test(c[l]));else if(c[l]===`"`){let t=l;for(;l<c.length;){if(c[++l]===`"`){l++,t=0;break}c[l]===`\\`&&l++,o+=c[l]}if(t)throw new s(`Unterminated quote at index ${t}`,e)}if(!o)throw new s(`Missing parameter name at index ${l}`,e);d(),n.push({type:t,name:o});continue}if(a===`{`){d(),n.push({type:`group`,tokens:u(`}`)});continue}if(a===`}`||a===`(`||a===`)`||a===`[`||a===`]`||a===`+`||a===`?`||a===`!`)throw new s(`Unexpected ${a} at index ${l-1}`,e);o+=a}if(t)throw new s(`Unexpected end at index ${l}, expected ${t}`,e);return d(),n}return new o(u(``),e)}function l(e,r={}){let{decode:i=decodeURIComponent,delimiter:a=t}=r,{regexp:o,keys:s}=u(e,r),c=s.map(e=>i===!1?n:e.type===`param`?i:e=>e.split(a).map(i));return function(e){let t=o.exec(e);if(!t)return!1;let n=t[0],r=Object.create(null);for(let e=1;e<t.length;e++){if(t[e]===void 0)continue;let n=s[e-1],i=c[e-1];r[n.name]=i(t[e])}return{path:n,params:r}}}function u(e,n={}){let{delimiter:r=t,end:i=!0,sensitive:o=!1,trailing:l=!0}=n,u=[],p=``,m=0;function h(e){if(Array.isArray(e)){for(let t of e)h(t);return}let t=typeof e==`object`?e:c(e,n);d(t.tokens,0,[],e=>{if(m>=256)throw new s(`Too many path combinations`,t.originalPath);m>0&&(p+=`|`),p+=f(e,r,u,t.originalPath),m++})}h(e);let g=`^(?:${p})`;return l&&(g+=`(?:`+a(r)+`$)?`),g+=i?`$`:`(?=`+a(r)+`|$)`,{regexp:new RegExp(g,o?``:`i`),keys:u}}function d(e,t,n,r){for(;t<e.length;){let i=e[t++];if(i.type===`group`){let a=n.length;d(i.tokens,0,n,n=>d(e,t,n,r)),n.length=a;continue}n.push(i)}r(n)}function f(e,t,n,r){let i=``,o=``,c=``,l=0,u=0,d=0;function f(n,r){for(;n<e.length;){let i=e[n++];if(i.type===r)return!0;if(i.type===`text`&&i.value.includes(t))break}return!1}function m(t){let n=``;for(;t<e.length;){let r=e[t++];if(r.type!==`text`)break;n+=r.value}return n}for(;d<e.length;){let h=e[d++];if(h.type===`text`){i+=a(h.value),o+=h.value,l===2&&(c+=h.value),h.value.includes(t)&&(u=0);continue}if(h.type===`param`||h.type===`wildcard`){if(l&&!o)throw new s(`Missing text before "${h.name}" ${h.type}`,r);h.type===`param`?(i+=u&2?`(${p(t,o)}+)`:f(d,`wildcard`)?`(${p(t,m(d))}+)`:u&1?`(${p(t,o)}+|${a(o)})`:`(${p(t,``)}+)`,u|=l=1):(i+=u&2?`(${p(o,``)}+)`:c?`(${p(c,``)}+|${p(t,``)}+)`:`([^]+)`,c=``,u|=l=2),n.push(h),o=``;continue}throw TypeError(`Unknown token type: ${h.type}`)}return i}function p(e,t){return t.length>e.length?p(t,e):(e===t&&(t=``),t.length>1?`(?:(?!${a(e)}|${a(t)})[^])`:e.length>1?`(?:(?!${a(e)})[^${a(t)}])`:`[^${a(e+t)}]`)}}))(),vE=class{routes;constructor(e){this.routes=e.map(e=>({template:e,pathFunction:(0,_E.match)(e)}))}match(e){for(let{pathFunction:t,template:n}of this.routes){let r=t(e.hash)||t(e.pathname);if(r)return[r,n]}return!1}},yE=class{tagName=`marimo-routes`;validator=H({routes:U(B())});render(e){return(0,q.jsx)(bE,{...e.data,children:e.children})}},bE=e=>{let t=(0,J.c)(11),{routes:n,children:r}=e,i=K.Children.count(r);if(i!==n.length)throw Error(`Expected ${n.length} children, but got ${i}`);let a;t[0]===n?a=t[1]:(a=new vE(n),t[0]=n,t[1]=a);let o=a,c;t[2]===o?c=t[3]:(c=()=>{let e=o.match(window.location);return e?e[1]:null},t[2]=o,t[3]=c);let[l,u]=(0,K.useState)(c),d;t[4]===o?d=t[5]:(d=e=>{let t=o.match(e);u(t?t[1]:null)},t[4]=o,t[5]=d);let f=s(d),p,m;if(t[6]===f?(p=t[7],m=t[8]):(p=()=>{let e=e=>{f(window.location)};return window.addEventListener(`hashchange`,e),window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`hashchange`,e),window.removeEventListener(`popstate`,e)}},m=[f],t[6]=f,t[7]=p,t[8]=m),(0,K.useEffect)(p,m),!l)return null;let h=n.indexOf(l),g;return t[9]===r?g=t[10]:(g=K.Children.toArray(r),t[9]=r,t[10]=g),g[h]},xE=class{tagName=`marimo-stat`;validator=H({value:We([B(),z(),V()]).optional(),label:B().optional(),caption:B().optional(),bordered:V().default(!1),direction:Ze([`increase`,`decrease`]).optional(),target_direction:Ze([`increase`,`decrease`]).default(`increase`),slot:Qe().optional()});render({data:e}){return(0,q.jsx)(SE,{...e})}},SE=e=>{let t=(0,J.c)(31),{value:n,label:r,caption:i,bordered:a,direction:o,target_direction:s,slot:c}=e,{locale:l}=zo(),u;t[0]!==l||t[1]!==n?(u=()=>n==null?(0,q.jsx)(`i`,{children:`No value`}):typeof n==`string`?n:typeof n==`number`?Vo(n,l):typeof n==`boolean`?n?`True`:`False`:String(n),t[0]=l,t[1]=n,t[2]=u):u=t[2];let d=u,f=o===s,p=f?`var(--grass-8)`:`var(--red-8)`,m=f?`var(--grass-9)`:`var(--red-9)`,h;t[3]===c?h=t[4]:(h=()=>{let e=Yr(c);if(e?.[0]){let{mimetype:t,data:n}=e[0];return t!==`text/html`&&W.warn(`Expected text/html, got ${t}`),Xo({html:n,alwaysSanitizeHtml:!0})}},t[3]=c,t[4]=h);let g=h,_=a&&`rounded-xl border shadow bg-card`,v;t[5]===_?v=t[6]:(v=G(`text-card-foreground p-6`,_),t[5]=_,t[6]=v);let y;t[7]===r?y=t[8]:(y=r&&(0,q.jsx)(`div`,{className:`flex flex-row items-center justify-between space-y-0 pb-2`,children:(0,q.jsx)(`h3`,{className:`tracking-tight text-sm font-medium`,children:r})}),t[7]=r,t[8]=y);let b;t[9]===d?b=t[10]:(b=d(),t[9]=d,t[10]=b);let x;t[11]===b?x=t[12]:(x=(0,q.jsx)(`div`,{className:`text-2xl font-bold`,children:b}),t[11]=b,t[12]=x);let S;t[13]!==i||t[14]!==o||t[15]!==p||t[16]!==m?(S=i&&(0,q.jsxs)(`p`,{className:`pt-1 text-xs text-muted-foreground flex align-center whitespace-nowrap`,children:[o===`increase`&&(0,q.jsx)(Wl,{className:`w-4 h-4 mr-1 p-0.5`,fill:p,stroke:m}),o===`decrease`&&(0,q.jsx)(Wl,{className:`w-4 h-4 mr-1 p-0.5 transform rotate-180`,fill:p,stroke:m}),i]}),t[13]=i,t[14]=o,t[15]=p,t[16]=m,t[17]=S):S=t[17];let C;t[18]!==x||t[19]!==S?(C=(0,q.jsxs)(`div`,{children:[x,S]}),t[18]=x,t[19]=S,t[20]=C):C=t[20];let w;t[21]!==g||t[22]!==c?(w=c&&(0,q.jsx)(`div`,{className:`[--slot:true]`,children:g()}),t[21]=g,t[22]=c,t[23]=w):w=t[23];let T;t[24]!==w||t[25]!==C?(T=(0,q.jsxs)(`div`,{className:`pt-0 flex flex-row gap-3.5`,children:[C,w]}),t[24]=w,t[25]=C,t[26]=T):T=t[26];let E;return t[27]!==T||t[28]!==v||t[29]!==y?(E=(0,q.jsxs)(`div`,{className:v,children:[y,T]}),t[27]=T,t[28]=v,t[29]=y,t[30]=E):E=t[30],E},CE=class{tagName=`marimo-tex`;validator=H({});render(e){return(0,q.jsx)(OE,{host:e.host,tex:e.host.textContent||e.host.innerHTML})}},wE=Ao(async()=>(await wo(async()=>{let{default:e}=await import(`./katex-CQIbPNPT.js`);return{default:e}},__vite__mapDeps([395,396]),import.meta.url)).default),TE=Ao(async()=>{await wo(()=>import(`./mhchem-hMh9XtQZ.js`),__vite__mapDeps([397,396]),import.meta.url)}),EE={"\\mbox":`\\text{#1}`};async function DE(e,t){let[n]=await Promise.all([wE(),TE()]);t.startsWith(`||(||(`)&&t.endsWith(`||)||)`)?n.render(t.slice(6,-6),e,{displayMode:!0,globalGroup:!0,throwOnError:!1,macros:EE}):t.startsWith(`||(`)&&t.endsWith(`||)`)?n.render(t.slice(3,-3),e,{displayMode:!1,globalGroup:!0,throwOnError:!1,macros:EE}):t.startsWith(`||[`)&&t.endsWith(`||]`)&&n.render(t.slice(3,-3),e,{displayMode:!0,globalGroup:!0,throwOnError:!1,macros:EE})}var OE=e=>{let t=(0,J.c)(10),{host:n,tex:r}=e,i=(0,K.useRef)(null),[a,o]=(0,K.useState)(r),s,c;t[0]===n?(s=t[1],c=t[2]):(s=()=>{let e=new MutationObserver(()=>{let e=n.textContent||n.innerHTML;o(e)});return e.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{e.disconnect()}},c=[n],t[0]=n,t[1]=s,t[2]=c),(0,K.useLayoutEffect)(s,c);let l;t[3]===n.parentElement?.tagName?l=t[4]:(l=n.parentElement?.tagName.toLowerCase(),t[3]=n.parentElement?.tagName,t[4]=l);let u=l===`marimo-tex`,d,f;t[5]!==a||t[6]!==u?(d=()=>{i.current&&!u&&DE(i.current,a)},f=[a,u],t[5]=a,t[6]=u,t[7]=d,t[8]=f):(d=t[7],f=t[8]),(0,K.useLayoutEffect)(d,f);let p;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(`span`,{ref:i}),t[9]=p):p=t[9],p},kE=[new Dv,new Av,iS,new yS,new CS,new xS,new TS,new Mv,new kS,new uC,oC,yC,new TC,new VC,new $y,new dw,new uT,new vT,new pT,new ST,new ET,new OT,new jT,new PT,new RT,new tw,new iT,Rv,NS,nC,iE,$T,wv,Fy,_w,aw],AE=[new zT,new UT,new ZT,new nE,new rE,new oE,new sE,new bp,new uE,new fE,new yE,new xE,new CE];function jE(){vv(),Sv(),kE.forEach(pv),AE.forEach(pv)}async function ME(){if(typeof document>`u`)return;let{onLCP:e,onINP:t,onCLS:n}=await wo(async()=>{let{onLCP:e,onINP:t,onCLS:n}=await import(`./web-vitals-GNyUJRRQ.js`);return{onLCP:e,onINP:t,onCLS:n}},[],import.meta.url);W.debug(`Reporting vitals`);let r=e=>{let t=e.rating===`good`?`green`:e.rating===`needs-improvement`?`orange`:`red`;W.log(`%c [Metric ${e.name}] ${e.value}`,`background:${t}; color:white; padding:2px 0; border-radius:2px`)};n(r),t(r),e(r)}var NE=!1;function PE(e,t){if(NE)return W.warn(`marimo app has already been mounted.`),Error(`marimo app has already been mounted.`);NE=!0;let n=(0,Gl.createRoot)(t);try{ka(),jE(),Hf(),an()&&(St(),Ct(os),RE()),LE(e),n.render((0,q.jsx)(o,{store:a,children:(0,q.jsx)(kf,{children:(0,q.jsx)(zf,{})})}))}catch(e){return n.render((0,q.jsx)(_n,{children:(0,q.jsx)(()=>{throw e},{})})),e}finally{ME()}}var FE=Ve({}).nullish().default({}).transform(e=>e||(typeof e==`string`?(W.warn(`[marimo] received JSON string instead of object. Parsing...`),JSON.parse(e)):(W.warn(`[marimo] missing config data`),{}))),IE=H({filename:B().nullish().transform(e=>e||(W.warn(`No filename provided, using fallback`),be())),cwd:B().nullish().default(null),lspWorkspace:H({rootUri:B(),documentUri:B()}).nullish().default(null),code:B().nullish().transform(e=>e??mn()??``),version:B().nullish().transform(e=>e??`unknown`),mode:Ze([`edit`,`read`,`home`,`run`,`gallery`]).transform(e=>e===`run`?`read`:e),config:FE,configOverrides:FE,pairPreview:Vt.optional(),appConfig:FE,layout:Ge().optional().transform(e=>Ja(e)?e:void 0),view:H({showAppCode:V().default(!0)}).nullish().transform(e=>e??{showAppCode:!0}),serverToken:B().nullish().transform(e=>e??``),fileStores:U(Be()).optional(),session:We([rt().optional(),Ve({version:He(`1`),metadata:Qe(),cells:U(Qe())}).transform(e=>e)]),notebook:We([rt().optional(),Ve({version:He(`1`),metadata:Qe(),cells:U(Qe())}).transform(e=>e)]),runtimeConfig:U(Ve({url:B(),lazy:V().default(!0),authToken:B().nullish()})).nullish().transform(e=>e??[])});function LE(e){let t=IE.safeParse(e);if(!t.success)throw W.error(`Invalid marimo mount options`,t.error),Error(`Invalid marimo mount options`);let n=t.data.mode;if(Rf(n),t.data.fileStores&&t.data.fileStores.length>0){W.log(`🗄️ Initializing file stores via mount...`);for(let e=t.data.fileStores.length-1;e>=0;e--)wt.insert(0,t.data.fileStores[e]);W.log(`🗄️ Injected ${t.data.fileStores.length} file store(s) into notebookFileStore`)}a.set(Io,ap()),a.set(Re,t.data.filename),a.set(O,t.data.cwd??null),a.set(f,t.data.lspWorkspace),a.set(w,t.data.code),a.set(Gt,n),a.set(fn,t.data.version),a.set(dn,t.data.view.showAppCode);let r=new URL(window.location.href),i=r.searchParams.get(zt.viewAs)===`present`,o=r.searchParams.get(zt.kiosk)===`true`,s=n===`edit`&&i?`present`:n;if(a.set(Yt,{mode:s,cellAnchor:null}),a.set(qt,o),a.set(un,t.data.serverToken),a.set(vt,mt(t.data.configOverrides)),a.set(ft,ht(t.data.config)),a.set(_t,pt(t.data.appConfig)),a.set(Ht,t.data.pairPreview),t.data.runtimeConfig.length>0){let e=t.data.runtimeConfig[0];W.debug(`⚡ Runtime URL`,e.url),a.set(rn,{...e,serverToken:t.data.serverToken}),!e.lazy&&!an()&&a.set(tn,{state:en.CONNECTING})}else a.set(rn,{...cn,lazy:!1,serverToken:t.data.serverToken});let c=iu(t.data.session,t.data.notebook);a.set(Za,Xa(t.data.layout)),c&&a.set(se,c)}function RE(){let e=sn();if(e)for(let t of e)xt(At,t)}var zE=document.getElementById(`root`);if(zE){if(!window.__MARIMO_MOUNT_CONFIG__)throw Error(`[marimo] mount config not found`);PE(window.__MARIMO_MOUNT_CONFIG__,zE)}else throw Error(`[marimo] root element not found`);
29
+ </svg>`},click:m}];y&&e.push(...Vw(g)),b=!1,x=_,S=Hw(e,_.modeBarButtonsToAdd),t[12]=_,t[13]=m,t[14]=g,t[15]=y,t[16]=b,t[17]=x,t[18]=S}else b=t[16],x=t[17],S=t[18];let C;t[19]!==b||t[20]!==x||t[21]!==S?(C={displaylogo:b,...x,modeBarButtonsToAdd:S},t[19]=b,t[20]=x,t[21]=S,t[22]=C):C=t[22];let w=C,T;t[23]===i?T=t[24]:(T=e=>{if(`dragmode`in e&&i(t=>({...t,dragmode:e.dragmode})),Object.keys(e).some(sT)){let t={};Object.entries(e).forEach(e=>{let[n,r]=e;Nt(t,n,r)}),i(e=>({...e,...t}))}},t[23]=i,t[24]=T);let E;t[25]===i?E=t[26]:(E=()=>{i(cT)},t[25]=i,t[26]=E);let D=s(E),O;t[27]===i?O=t[28]:(O=e=>{e&&i(t=>({...t,points:Yw(e.points)}))},t[27]=i,t[28]=O);let k=s(O),A;t[29]===i?A=t[30]:(A=e=>{e&&i(t=>({...t,points:Jw(e.points)}))},t[29]=i,t[30]=A);let j=s(A),M;t[31]===i?M=t[32]:(M=e=>{if(!e||!Uw(e.points))return;let t=qw(e.points),n=Ww(e.points);i(e=>({...e,selections:ko.EMPTY,range:void 0,lasso:void 0,points:t,indices:n}))},t[31]=i,t[32]=M);let N=s(M),P;t[33]===i?P=t[34]:(P=e=>{e&&i(t=>({...t,selections:`selections`in e?e.selections:[],points:qw(e.points),indices:Ww(e.points),range:e.range,lasso:`lassoPoints`in e?e.lassoPoints:void 0}))},t[33]=i,t[34]=P);let F=s(P),I=l.frames??void 0,ee=s(lT),L;return t[35]!==l||t[36]!==u||t[37]!==w||t[38]!==D||t[39]!==k||t[40]!==j||t[41]!==N||t[42]!==F||t[43]!==I||t[44]!==ee||t[45]!==T?(L=(0,q.jsx)(aT,{...l,layout:u,onRelayout:T,onDeselect:D,onTreemapClick:k,onSunburstClick:j,config:w,onClick:N,onSelected:F,className:`w-full`,useResizeHandler:!0,frames:I,onError:ee}),t[35]=l,t[36]=u,t[37]=w,t[38]=D,t[39]=k,t[40]=j,t[41]=N,t[42]=F,t[43]=I,t[44]=ee,t[45]=T,t[46]=L):L=t[46],L});oT.displayName=`PlotlyComponent`;function sT(e){return e.includes(`xaxis`)||e.includes(`yaxis`)}function cT(e){return{...e,selections:ko.EMPTY,points:ko.EMPTY,indices:ko.EMPTY,range:void 0,lasso:void 0}}function lT(e){W.error(`PlotlyPlugin: `,e)}var uT=class{tagName=`marimo-radio`;validator=H({initialValue:B().nullable(),inline:V().default(!1),label:B().nullable(),options:U(B()),disabled:V().optional()});render(e){return(0,q.jsx)(dT,{...e.data,value:e.value,setValue:e.setValue})}},dT=e=>{let t=(0,J.c)(18),n=(0,K.useId)(),r=e.label,i=e.inline?`left`:`top`,a=e.value??``,o=e.setValue,s=e.inline&&`grid-flow-col gap-4`,c;t[0]===s?c=t[1]:(c=G(s),t[0]=s,t[1]=c);let l=e.disabled,u;if(t[2]!==n||t[3]!==e.options){let r;t[5]===n?r=t[6]:(r=(e,t)=>(0,q.jsxs)(`div`,{className:`flex items-start space-x-2`,children:[(0,q.jsx)(oe,{value:e,id:`${n}-${t.toString()}`,className:`shrink-0`}),(0,q.jsx)(mi,{htmlFor:`${n}-${t.toString()}`,className:`text-sm font-normal`,children:e})]},t),t[5]=n,t[6]=r),u=e.options.map(r),t[2]=n,t[3]=e.options,t[4]=u}else u=t[4];let d;t[7]!==e.disabled||t[8]!==e.setValue||t[9]!==a||t[10]!==c||t[11]!==u?(d=(0,q.jsx)(pe,{"data-testid":`marimo-plugin-radio`,value:a,onValueChange:o,className:c,"aria-label":`Radio Group`,disabled:l,children:u}),t[7]=e.disabled,t[8]=e.setValue,t[9]=a,t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==n||t[14]!==e.label||t[15]!==i||t[16]!==d?(f=(0,q.jsx)(kv,{label:r,controlId:n,align:i,children:d}),t[13]=n,t[14]=e.label,t[15]=i,t[16]=d,t[17]=f):f=t[17],f},fT=K.forwardRef((e,t)=>{let n=(0,J.c)(56),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,valueMap:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let[o,s]=Aa(!1),{locale:c}=zo(),l=K.useRef(!1),u=K.useRef(0),d=K.useRef(0),f;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],n[4]=f):f=n[4];let p=K.useRef(f),m;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],n[5]=m):m=n[5];let h=K.useRef(m),g=K.useRef(null),_=K.useRef(null),v=K.useRef(null),y;n[6]===t?y=n[7]:(y=e=>{g.current=e,typeof t==`function`?t(e):t&&(t.current=e)},n[6]=t,n[7]=y);let b=y,x;n[8]!==i.disabled||n[9]!==i.value?(x=e=>{!i.value||i.value.length!==2||i.disabled||(e.preventDefault(),e.stopPropagation(),l.current=!0,u.current=e.clientX,d.current=e.clientY,p.current=[...i.value],h.current=[...i.value],v.current=_.current?.getBoundingClientRect()??null,e.currentTarget.setPointerCapture(e.pointerId))},n[8]=i.disabled,n[9]=i.value,n[10]=x):x=n[10];let S=x,C;n[11]===i?C=n[12]:(C=e=>{if(!l.current)return;e.stopPropagation();let t=v.current;if(!t)return;let n=i.orientation===`vertical`,r=i.min??0,a=i.max??100,o=a-r,s;if(n){let n=t.height;s=-((e.clientY-d.current)/n)*o}else{let n=t.width;s=(e.clientX-u.current)/n*o}let[c,f]=p.current,m=f-c,g=i.steps,_=g&&g.length>1?Math.min(...g.slice(1).map((e,t)=>e-g[t])):i.step??1,y=Math.round(s/_)*_,b=c+Math.max(r-c,Math.min(a-f,y)),x=b+m;h.current=[b,x],i.onValueChange?.([b,x])},n[11]=i,n[12]=C);let w=C,T;n[13]===i?T=n[14]:(T=e=>{l.current&&(e.currentTarget.releasePointerCapture(e.pointerId),l.current=!1,h.current.length===2&&i.onValueCommit?.(h.current))},n[13]=i,n[14]=T);let E=T,D;n[15]===r?D=n[16]:(D=G(`relative flex touch-none select-none hover:cursor-pointer`,`data-[orientation=horizontal]:w-full data-[orientation=horizontal]:items-center`,`data-[orientation=vertical]:h-full data-[orientation=vertical]:justify-center`,`data-disabled:cursor-not-allowed forced-color-adjust-none`,r),n[15]=r,n[16]=D);let O;n[17]===Symbol.for(`react.memo_cache_sentinel`)?(O=G(`relative grow overflow-hidden rounded-full bg-slate-200 dark:bg-accent/60`,`forced-colors:border forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace]`,`data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:w-full`,`data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2`),n[17]=O):O=n[17];let k;n[18]===Symbol.for(`react.memo_cache_sentinel`)?(k=G(`absolute bg-blue-500 dark:bg-primary`,`forced-colors:bg-[Highlight] forced-colors:data-disabled:bg-[GrayText]`,`data-[orientation=horizontal]:h-full`,`data-[orientation=vertical]:w-full`,`data-disabled:opacity-50`,`hover:cursor-grab active:cursor-grabbing`),n[18]=k):k=n[18];let A;n[19]!==S||n[20]!==w||n[21]!==E?(A=(0,q.jsx)(ll,{ref:_,"data-testid":`track`,className:O,children:(0,q.jsx)(dl,{"data-testid":`range`,className:k,onPointerDown:S,onPointerMove:w,onPointerUp:E})}),n[19]=S,n[20]=w,n[21]=E,n[22]=A):A=n[22];let j;n[23]!==s.setFalse||n[24]!==s.setTrue?(j=(0,q.jsx)(zi,{asChild:!0,children:(0,q.jsx)(vl,{"data-testid":`thumb`,className:`block h-4 w-4 rounded-full shadow-xs-solid border border-blue-500 dark:border-primary dark:bg-accent bg-white hover:bg-blue-300 focus:bg-blue-300 transition-colors focus-visible:outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:data-disabled:border-[GrayText]`,onFocus:s.setTrue,onBlur:s.setFalse,onMouseEnter:s.setTrue,onMouseLeave:s.setFalse})}),n[23]=s.setFalse,n[24]=s.setTrue,n[25]=j):j=n[25];let M;n[26]!==c||n[27]!==i.value||n[28]!==a?(M=i.value!=null&&i.value.length===2&&(0,q.jsx)(Ri,{children:Bo(a(i.value[0]),{locale:c})},i.value[0]),n[26]=c,n[27]=i.value,n[28]=a,n[29]=M):M=n[29];let N;n[30]===M?N=n[31]:(N=(0,q.jsx)(Bi,{children:M}),n[30]=M,n[31]=N);let P;n[32]!==o||n[33]!==j||n[34]!==N?(P=(0,q.jsx)(Li,{children:(0,q.jsxs)(Ii,{delayDuration:0,open:o,children:[j,N]})}),n[32]=o,n[33]=j,n[34]=N,n[35]=P):P=n[35];let F;n[36]!==s.setFalse||n[37]!==s.setTrue?(F=(0,q.jsx)(zi,{asChild:!0,children:(0,q.jsx)(vl,{"data-testid":`thumb`,className:`block h-4 w-4 rounded-full shadow-xs-solid border border-blue-500 dark:border-primary dark:bg-accent bg-white hover:bg-blue-300 focus:bg-blue-300 transition-colors focus-visible:outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:data-disabled:border-[GrayText]`,onFocus:s.setTrue,onBlur:s.setFalse,onMouseEnter:s.setTrue,onMouseLeave:s.setFalse})}),n[36]=s.setFalse,n[37]=s.setTrue,n[38]=F):F=n[38];let I;n[39]!==c||n[40]!==i.value||n[41]!==a?(I=i.value!=null&&i.value.length===2&&(0,q.jsx)(Ri,{children:Bo(a(i.value[1]),{locale:c})},i.value[1]),n[39]=c,n[40]=i.value,n[41]=a,n[42]=I):I=n[42];let ee;n[43]===I?ee=n[44]:(ee=(0,q.jsx)(Bi,{children:I}),n[43]=I,n[44]=ee);let L;n[45]!==o||n[46]!==F||n[47]!==ee?(L=(0,q.jsx)(Li,{children:(0,q.jsxs)(Ii,{delayDuration:0,open:o,children:[F,ee]})}),n[45]=o,n[46]=F,n[47]=ee,n[48]=L):L=n[48];let te;return n[49]!==b||n[50]!==i||n[51]!==A||n[52]!==P||n[53]!==L||n[54]!==D?(te=(0,q.jsxs)(nl,{ref:b,className:D,...i,children:[A,P,L]}),n[49]=b,n[50]=i,n[51]=A,n[52]=P,n[53]=L,n[54]=D,n[55]=te):te=n[55],te});fT.displayName=nl.displayName;var pT=class{tagName=`marimo-range-slider`;validator=H({initialValue:U(z()),label:B().nullable(),start:z(),stop:z(),step:z().optional(),steps:U(z()).nullable(),debounce:V().default(!1),orientation:Ze([`horizontal`,`vertical`]).default(`horizontal`),showValue:V().default(!1),fullWidth:V().default(!1),disabled:V().optional()});render(e){let t=t=>e.data.steps&&e.data.steps.length>0?e.data.steps[t]:t;return(0,q.jsx)(mT,{...e.data,value:e.value,setValue:e.setValue,valueMap:t})}},mT=e=>{let t=(0,J.c)(50),{label:n,setValue:r,value:a,start:o,stop:s,step:c,debounce:l,orientation:u,showValue:d,fullWidth:f,disabled:p,valueMap:m}=e,h=(0,K.useId)(),{locale:g}=zo(),[_,v]=(0,K.useState)(a),y,b;t[0]===a?(y=t[1],b=t[2]):(y=()=>{v(a)},b=[a],t[0]=a,t[1]=y,t[2]=b),(0,K.useEffect)(y,b);let x=u===`horizontal`?`left`:`top`,S=f&&`my-1 w-full`,C;t[3]===S?C=t[4]:(C=G(S),t[3]=S,t[4]=C);let w=u===`vertical`&&`items-end inline-flex justify-center self-center mx-2`,T=f&&`w-full`,E;t[5]!==w||t[6]!==T?(E=G(`flex items-center gap-2`,w,T),t[5]=w,t[6]=T,t[7]=E):E=t[7];let D=!f&&`data-[orientation=horizontal]:w-36 `,O;t[8]===D?O=t[9]:(O=G(`relative flex items-center select-none`,D,`data-[orientation=vertical]:h-36`),t[8]=D,t[9]=O);let k,A;t[10]!==l||t[11]!==r?(k=e=>{v(e),l||r(e)},A=e=>{l&&r(e)},t[10]=l,t[11]=r,t[12]=k,t[13]=A):(k=t[12],A=t[13]);let j,M;t[14]!==l||t[15]!==_||t[16]!==r||t[17]!==a?(j=()=>{l&&!i(_,a)&&r(_)},M=()=>{l&&!i(_,a)&&r(_)},t[14]=l,t[15]=_,t[16]=r,t[17]=a,t[18]=j,t[19]=M):(j=t[18],M=t[19]);let N;t[20]!==p||t[21]!==h||t[22]!==_||t[23]!==u||t[24]!==o||t[25]!==c||t[26]!==s||t[27]!==O||t[28]!==k||t[29]!==A||t[30]!==j||t[31]!==M||t[32]!==m?(N=(0,q.jsx)(fT,{id:h,className:O,value:_,min:o,max:s,step:c,orientation:u,disabled:p,onValueChange:k,onValueCommit:A,onPointerUp:j,onMouseUp:M,valueMap:m}),t[20]=p,t[21]=h,t[22]=_,t[23]=u,t[24]=o,t[25]=c,t[26]=s,t[27]=O,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=m,t[33]=N):N=t[33];let P;t[34]!==_||t[35]!==g||t[36]!==d||t[37]!==m?(P=d&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground min-w-[16px]`,children:`${Bo(m(_[0]),{locale:g})}, ${Bo(m(_[1]),{locale:g})}`}),t[34]=_,t[35]=g,t[36]=d,t[37]=m,t[38]=P):P=t[38];let F;t[39]!==N||t[40]!==P||t[41]!==E?(F=(0,q.jsxs)(`div`,{className:E,children:[N,P]}),t[39]=N,t[40]=P,t[41]=E,t[42]=F):F=t[42];let I;return t[43]!==f||t[44]!==h||t[45]!==n||t[46]!==F||t[47]!==x||t[48]!==C?(I=(0,q.jsx)(kv,{label:n,controlId:h,align:x,className:C,fullWidth:f,children:F}),t[43]=f,t[44]=h,t[45]=n,t[46]=F,t[47]=x,t[48]=C,t[49]=I):I=t[49],I},hT=e(t(((e,t)=>{t.exports=i;var n={hoursPerDay:24,daysPerWeek:7,weeksPerMonth:4,monthsPerYear:12,daysPerYear:365.25},r={ms:[`ms`,`milli`,`millisecond`,`milliseconds`],s:[`s`,`sec`,`secs`,`second`,`seconds`],m:[`m`,`min`,`mins`,`minute`,`minutes`],h:[`h`,`hr`,`hrs`,`hour`,`hours`],d:[`d`,`day`,`days`],w:[`w`,`week`,`weeks`],mth:[`mon`,`mth`,`mths`,`month`,`months`],y:[`y`,`yr`,`yrs`,`year`,`years`]};function i(e,t,r){r=Object.assign({},n,r||{}),(typeof e==`number`||e.match(/^[-+]?[0-9.]+$/g))&&(e=parseInt(e)+`ms`);let i=0,o=a(r),l=e.toLowerCase().replace(/[^.\w+-]+/g,``).match(/[-+]?[0-9.]+[a-z]+/g);if(l===null)throw Error(`The value [${e}] could not be parsed by timestring`);return l.forEach(e=>{let t=e.match(/[0-9.]+/g)[0],n=e.match(/[a-z]+/g)[0];i+=s(t,n,o)}),t?c(i,t,o):i}function a(e){let t={ms:.001,s:1,m:60,h:3600};return t.d=e.hoursPerDay*t.h,t.w=e.daysPerWeek*t.d,t.mth=e.daysPerYear/e.monthsPerYear*t.d,t.y=e.daysPerYear*t.d,t}function o(e){for(let t of Object.keys(r))if(r[t].indexOf(e)>-1)return t;throw Error(`The unit [${e}] is not supported by timestring`)}function s(e,t,n){return e*n[o(t)]}function c(e,t,n){return e/n[o(t)]}}))(),1),gT=.1,_T=B().superRefine((e,t)=>{try{(0,hT.default)(e)<gT&&t.addIssue({code:Fs.custom,message:`Must be greater than ${gT} seconds.`});return}catch{t.addIssue({code:Fs.custom,message:`Must be a valid timestring. e.g. 1m, 30m, 1h.`});return}}),vT=class{tagName=`marimo-refresh`;validator=H({options:U(We([_T,z().min(gT)])).default([]),defaultInterval:We([_T,z().min(gT)]).optional(),label:B().nullable()});render(e){return(0,q.jsx)(xT,{...e})}},yT=`off`,bT=0,xT=({setValue:e,data:t})=>{let[n,r]=(0,K.useState)(t.defaultInterval??yT);(0,K.useEffect)(()=>{r(t.defaultInterval??yT)},[t.defaultInterval]);let[i,a]=(0,K.useState)(!1),o=s(()=>{a(!0),e(()=>`${n} (${bT++})`),setTimeout(()=>a(!1),500)});(0,K.useEffect)(()=>{if(n===yT)return;let e=typeof n==`number`?n:/[a-z]/.test(n)?(0,hT.default)(n):(0,hT.default)(`${n}s`);e=Math.max(e,gT);let t=setInterval(o,e*1e3);return()=>clearInterval(t)},[n,o]);let c=`shadow-none! hover:shadow-none! focus:shadow-none! active:shadow-none!`,l=t.options.length>0;return(0,q.jsx)(kv,{label:t.label,children:(0,q.jsxs)(`span`,{className:`inline-flex items-center text-secondary-foreground rounded shadow-sm-solid`,children:[(0,q.jsx)(Ui,{"data-testid":`marimo-plugin-refresh-button`,variant:`secondary`,size:`icon`,className:G(c,`border mb-0 rounded`,l&&`border-r-0 rounded-tr-none rounded-br-none`),onClick:o,children:(0,q.jsx)(ao,{className:G(`w-3.5 h-3.5`,i&&`animate-spin`)})}),(0,q.jsxs)(vi,{"data-testid":`marimo-plugin-refresh-select`,onChange:e=>{r(e.target.value)},value:n,className:G(c,`border mb-0 bg-secondary rounded rounded-tl-none rounded-bl-none hover:bg-secondary/60`,!l&&`hidden`),children:[(0,q.jsx)(`option`,{value:yT,children:`off`}),t.options.map(e=>(0,q.jsx)(`option`,{value:e,children:typeof e==`number`?`${e}s`:e},e))]})]})})},ST=class{tagName=`marimo-slider`;validator=H({initialValue:z(),label:B().nullable(),start:z(),stop:z(),step:z().optional(),steps:U(z()).nullable(),debounce:V().default(!1),orientation:Ze([`horizontal`,`vertical`]).default(`horizontal`),showValue:V().default(!1),fullWidth:V().default(!1),includeInput:V().default(!1),disabled:V().optional()});render(e){let t=t=>{let{steps:n}=e.data;return n&&n.length>0?n[Oo(t,0,n.length-1)]:t};return(0,q.jsx)(TT,{...e.data,value:e.value,setValue:e.setValue,valueMap:t})}};function CT(e,t){let n=0,r=1/0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i]-t);a<r&&(r=a,n=i)}return n}function wT(e){if(!e||e.length===0)return null;let t=e.toSorted((e,t)=>e-t),n=1/0;for(let e=1;e<t.length;e++){let r=t[e]-t[e-1];r>0&&r<n&&(n=r)}(!Number.isFinite(n)||n<=0)&&(n=1);let r=Uo(e,n);return{steps:e,fractionDigits:r,minValue:Ho(t[0],r),maxValue:Ho(t[t.length-1],r),inputStep:Ho(n,r),formatOptions:{minimumFractionDigits:0,maximumFractionDigits:r}}}var TT=e=>{let t=(0,J.c)(64),{label:n,setValue:r,value:i,start:a,stop:o,step:s,steps:c,debounce:l,orientation:u,showValue:d,fullWidth:f,valueMap:p,includeInput:m,disabled:h}=e,g=(0,K.useId)(),{locale:_}=zo(),[v,y]=(0,K.useState)(i),b,x;t[0]===i?(b=t[1],x=t[2]):(b=()=>{y(i)},x=[i],t[0]=i,t[1]=b,t[2]=x),(0,K.useEffect)(b,x);let S;t[3]===c?S=t[4]:(S=wT(c),t[3]=c,t[4]=S);let C=S,w;t[5]!==v||t[6]!==r||t[7]!==a||t[8]!==C?(w=e=>{if(C){let{steps:t,fractionDigits:n}=C;if(e==null||Number.isNaN(e)){y(0),r(0);return}let i=Ho(e,n),a=CT(t,i),o=Ho(t[v]??t[0],n);a===v&&i!==o&&(a=i>o?Math.min(v+1,t.length-1):Math.max(v-1,0)),y(a),r(a);return}let t=e==null||Number.isNaN(e)?Number(a):e;y(t),r(t)},t[5]=v,t[6]=r,t[7]=a,t[8]=C,t[9]=w):w=t[9];let T=w,E;t[10]!==v||t[11]!==a||t[12]!==s||t[13]!==C||t[14]!==o||t[15]!==p?(E=C?{value:Ho(p(v),C.fractionDigits),minValue:C.minValue,maxValue:C.maxValue,step:C.inputStep,formatOptions:C.formatOptions}:{value:p(v),minValue:a,maxValue:o,step:s},t[10]=v,t[11]=a,t[12]=s,t[13]=C,t[14]=o,t[15]=p,t[16]=E):E=t[16];let D=E,O=u===`horizontal`?`left`:`top`,k=f&&`my-1 w-full`,A;t[17]===k?A=t[18]:(A=G(k),t[17]=k,t[18]=A);let j=u===`vertical`&&`items-end inline-flex justify-center self-center mx-2`,M;t[19]===j?M=t[20]:(M=G(`flex items-center gap-2`,j),t[19]=j,t[20]=M);let N=!f&&`data-[orientation=horizontal]:w-36 `,P;t[21]===N?P=t[22]:(P=G(`relative flex items-center select-none`,N,`data-[orientation=vertical]:h-36`),t[21]=N,t[22]=P);let F;t[23]===v?F=t[24]:(F=[v],t[23]=v,t[24]=F);let I,ee;t[25]!==l||t[26]!==r?(I=e=>{let[t]=e;y(t),l||r(t)},ee=e=>{let[t]=e;l&&r(t)},t[25]=l,t[26]=r,t[27]=I,t[28]=ee):(I=t[27],ee=t[28]);let L;t[29]!==h||t[30]!==g||t[31]!==u||t[32]!==a||t[33]!==s||t[34]!==o||t[35]!==P||t[36]!==F||t[37]!==I||t[38]!==ee||t[39]!==p?(L=(0,q.jsx)(Qy,{id:g,className:P,value:F,min:a,max:o,step:s,orientation:u,onValueChange:I,onValueCommit:ee,valueMap:p,disabled:h}),t[29]=h,t[30]=g,t[31]=u,t[32]=a,t[33]=s,t[34]=o,t[35]=P,t[36]=F,t[37]=I,t[38]=ee,t[39]=p,t[40]=L):L=t[40];let te;t[41]!==v||t[42]!==_||t[43]!==d||t[44]!==p?(te=d&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground min-w-[16px]`,children:Bo(p(v),{locale:_})}),t[41]=v,t[42]=_,t[43]=d,t[44]=p,t[45]=te):te=t[45];let ne;t[46]!==h||t[47]!==T||t[48]!==m||t[49]!==D||t[50]!==n?(ne=m&&(0,q.jsx)(co,{...D,onChange:T,className:`w-24`,"aria-label":`${n||`Slider`} value input`,isDisabled:h}),t[46]=h,t[47]=T,t[48]=m,t[49]=D,t[50]=n,t[51]=ne):ne=t[51];let re;t[52]!==M||t[53]!==L||t[54]!==te||t[55]!==ne?(re=(0,q.jsxs)(`div`,{className:M,children:[L,te,ne]}),t[52]=M,t[53]=L,t[54]=te,t[55]=ne,t[56]=re):re=t[56];let ie;return t[57]!==f||t[58]!==g||t[59]!==n||t[60]!==re||t[61]!==O||t[62]!==A?(ie=(0,q.jsx)(kv,{label:n,controlId:g,align:O,fullWidth:f,className:A,children:re}),t[57]=f,t[58]=g,t[59]=n,t[60]=re,t[61]=O,t[62]=A,t[63]=ie):ie=t[63],ie},ET=class{tagName=`marimo-switch`;validator=H({initialValue:V(),label:B().nullable(),disabled:V().optional()});render(e){return(0,q.jsx)(DT,{...e})}},DT=e=>{let t=(0,J.c)(9),{value:n,setValue:r,data:i}=e,a=(0,K.useId)(),o;t[0]!==i.disabled||t[1]!==a||t[2]!==r||t[3]!==n?(o=(0,q.jsx)(ji,{"data-testid":`marimo-plugin-switch`,checked:n,onCheckedChange:r,id:a,className:`data-[state=unchecked]:hover:bg-input/80 mb-0`,disabled:i.disabled}),t[0]=i.disabled,t[1]=a,t[2]=r,t[3]=n,t[4]=o):o=t[4];let s;return t[5]!==i.label||t[6]!==a||t[7]!==o?(s=(0,q.jsx)(kv,{label:i.label,align:`right`,controlId:a,labelClassName:`ml-1`,children:o}),t[5]=i.label,t[6]=a,t[7]=o,t[8]=s):s=t[8],s},OT=class{tagName=`marimo-tabs`;validator=H({tabs:U(B()),label:B().nullable(),orientation:Ze([`horizontal`,`vertical`]).default(`horizontal`)});render(e){return(0,q.jsx)(kT,{...e.data,value:e.value,setValue:e.setValue,children:e.children})}},kT=e=>{let t=(0,J.c)(33),{tabs:n,label:r,orientation:i,value:a,setValue:o,children:s}=e,[c,l]=K.useState(a||`0`),u;t[0]===o?u=t[1]:(u=e=>{l(e),o(e)},t[0]=o,t[1]=u);let d=u;a!==c&&a&&l(a);let f=i===`vertical`,p;t[2]===s?p=t[3]:(p=s==null?[]:Array.isArray(s)?s:[s],t[2]=s,t[3]=p);let m=p,h=f&&`flex flex-row gap-3`,g;t[4]===h?g=t[5]:(g=G(h),t[4]=h,t[5]=g);let _=f?`flex flex-col items-stretch justify-start h-auto max-h-none shrink-0 min-w-40 overflow-y-auto`:`max-w-full overflow-x-auto justify-start`,v;t[6]===_?v=t[7]:(v=G(`scrollbar-thin`,_),t[6]=_,t[7]=v);let y;if(t[8]!==f||t[9]!==n){let e;t[11]===f?e=t[12]:(e=(e,t)=>(0,q.jsx)(Mi,{value:t.toString(),className:G(f&&`w-full justify-start`),children:Xo({html:e})},t),t[11]=f,t[12]=e),y=n.map(e),t[8]=f,t[9]=n,t[10]=y}else y=t[10];let b;t[13]!==v||t[14]!==y?(b=(0,q.jsx)(Pi,{className:v,children:y}),t[13]=v,t[14]=y,t[15]=b):b=t[15];let x=f&&`flex-1 min-w-0`,S;t[16]===x?S=t[17]:(S=G(x),t[16]=x,t[17]=S);let C;t[18]===m?C=t[19]:(C=m.map(AT),t[18]=m,t[19]=C);let w;t[20]!==S||t[21]!==C?(w=(0,q.jsx)(`div`,{className:S,children:C}),t[20]=S,t[21]=C,t[22]=w):w=t[22];let T;t[23]!==d||t[24]!==c||t[25]!==i||t[26]!==w||t[27]!==g||t[28]!==b?(T=(0,q.jsxs)(Fi,{value:c,onValueChange:d,orientation:i,className:g,children:[b,w]}),t[23]=d,t[24]=c,t[25]=i,t[26]=w,t[27]=g,t[28]=b,t[29]=T):T=t[29];let E;return t[30]!==r||t[31]!==T?(E=(0,q.jsx)(kv,{label:r,align:`top`,fullWidth:!0,children:T}),t[30]=r,t[31]=T,t[32]=E):E=t[32],E};function AT(e,t){return(0,q.jsx)(Ni,{value:t.toString(),children:e},t)}var jT=class{tagName=`marimo-text-area`;validator=H({initialValue:B(),placeholder:B(),label:B().nullable(),maxLength:z().optional(),minLength:z().optional(),disabled:V().optional(),debounce:Ke(We([V(),z()])),rows:z().default(4),fullWidth:V().default(!1)});render(e){return(0,q.jsx)(MT,{...e.data,value:e.value,setValue:e.setValue})}},MT=e=>{let t=(0,J.c)(63),n=(0,K.useId)(),r;t[0]!==e.maxLength||t[1]!==e.value?(r=e.maxLength?(0,q.jsxs)(`span`,{className:`text-muted-foreground text-xs font-medium`,children:[e.value.length,`/`,e.maxLength]}):null,t[0]=e.maxLength,t[1]=e.value,t[2]=r):r=t[2];let i=r;if(e.debounce===!0){let r=e.label,a=e.fullWidth,o;t[3]===e.fullWidth?o=t[4]:(o=G(`font-code`,{"w-full":e.fullWidth}),t[3]=e.fullWidth,t[4]=o);let s=e.minLength!=null&&e.minLength>0,c;t[5]!==i||t[6]!==e.disabled||t[7]!==e.maxLength||t[8]!==e.minLength||t[9]!==e.placeholder||t[10]!==e.rows||t[11]!==e.setValue||t[12]!==e.value||t[13]!==o||t[14]!==s||t[15]!==n?(c=(0,q.jsx)(Ua,{id:n,className:o,rows:e.rows,cols:33,maxLength:e.maxLength,minLength:e.minLength,required:s,disabled:e.disabled,bottomAdornment:i,value:e.value,onValueChange:e.setValue,placeholder:e.placeholder}),t[5]=i,t[6]=e.disabled,t[7]=e.maxLength,t[8]=e.minLength,t[9]=e.placeholder,t[10]=e.rows,t[11]=e.setValue,t[12]=e.value,t[13]=o,t[14]=s,t[15]=n,t[16]=c):c=t[16];let l;return t[17]!==e.fullWidth||t[18]!==e.label||t[19]!==c||t[20]!==n?(l=(0,q.jsx)(kv,{controlId:n,label:r,align:`top`,fullWidth:a,children:c}),t[17]=e.fullWidth,t[18]=e.label,t[19]=c,t[20]=n,t[21]=l):l=t[21],l}if(typeof e.debounce==`number`){let r=e.label,a=e.fullWidth,o;t[22]===e.fullWidth?o=t[23]:(o=G(`font-code`,{"w-full":e.fullWidth}),t[22]=e.fullWidth,t[23]=o);let s=e.minLength!=null&&e.minLength>0,c;t[24]!==i||t[25]!==e.debounce||t[26]!==e.disabled||t[27]!==e.maxLength||t[28]!==e.minLength||t[29]!==e.placeholder||t[30]!==e.rows||t[31]!==e.setValue||t[32]!==e.value||t[33]!==o||t[34]!==s||t[35]!==n?(c=(0,q.jsx)(Wa,{id:n,className:o,rows:e.rows,cols:33,maxLength:e.maxLength,minLength:e.minLength,required:s,disabled:e.disabled,bottomAdornment:i,value:e.value,onValueChange:e.setValue,placeholder:e.placeholder,delay:e.debounce}),t[24]=i,t[25]=e.debounce,t[26]=e.disabled,t[27]=e.maxLength,t[28]=e.minLength,t[29]=e.placeholder,t[30]=e.rows,t[31]=e.setValue,t[32]=e.value,t[33]=o,t[34]=s,t[35]=n,t[36]=c):c=t[36];let l;return t[37]!==e.fullWidth||t[38]!==e.label||t[39]!==c||t[40]!==n?(l=(0,q.jsx)(kv,{controlId:n,label:r,align:`top`,fullWidth:a,children:c}),t[37]=e.fullWidth,t[38]=e.label,t[39]=c,t[40]=n,t[41]=l):l=t[41],l}let a=e.label,o=e.fullWidth,s;t[42]===e.fullWidth?s=t[43]:(s=G(`font-code`,{"w-full":e.fullWidth}),t[42]=e.fullWidth,t[43]=s);let c=e.minLength!=null&&e.minLength>0,l;t[44]===e?l=t[45]:(l=t=>e.setValue(t.target.value),t[44]=e,t[45]=l);let u;t[46]!==i||t[47]!==e.disabled||t[48]!==e.maxLength||t[49]!==e.minLength||t[50]!==e.placeholder||t[51]!==e.rows||t[52]!==e.value||t[53]!==s||t[54]!==c||t[55]!==l||t[56]!==n?(u=(0,q.jsx)(Ha,{id:n,className:s,rows:e.rows,cols:33,maxLength:e.maxLength,minLength:e.minLength,required:c,disabled:e.disabled,bottomAdornment:i,value:e.value,onInput:l,placeholder:e.placeholder}),t[46]=i,t[47]=e.disabled,t[48]=e.maxLength,t[49]=e.minLength,t[50]=e.placeholder,t[51]=e.rows,t[52]=e.value,t[53]=s,t[54]=c,t[55]=l,t[56]=n,t[57]=u):u=t[57];let d;return t[58]!==e.fullWidth||t[59]!==e.label||t[60]!==u||t[61]!==n?(d=(0,q.jsx)(kv,{controlId:n,label:a,align:`top`,fullWidth:o,children:u}),t[58]=e.fullWidth,t[59]=e.label,t[60]=u,t[61]=n,t[62]=d):d=t[62],d},NT=`••••••••`,PT=class{tagName=`marimo-text`;validator=H({initialValue:B(),placeholder:B(),label:B().nullable(),kind:Ze([`text`,`password`,`email`,`url`]).default(`text`),maxLength:z().optional(),minLength:z().optional(),fullWidth:V().default(!1),disabled:V().optional(),debounce:Ke(We([V(),z()])),passwordHasValue:V().optional()});render(e){let t=e.data.kind===`password`?e.host.closest(`[${_}]`)?.getAttribute(_):void 0;return(0,q.jsx)(FT,{...e.data,value:e.value,setValue:e.setValue},t??void 0)}},FT=e=>{let t=(0,J.c)(67),n=(0,K.useId)(),r=e.kind===`password`&&e.passwordHasValue===!0,[i,a]=(0,K.useState)(r),o=(0,K.useRef)(!1),s=i?``:e.value,c=i?NT:e.placeholder,l;t[0]!==i||t[1]!==e?(l=i?t=>{o.current&&(a(!1),e.setValue(t))}:e.setValue,t[0]=i,t[1]=e,t[2]=l):l=t[2];let u=l,d;t[3]===i?d=t[4]:(d=i?()=>{o.current=!0}:void 0,t[3]=i,t[4]=d);let f=d,[p,m]=(0,K.useState)(e.value),h=p??s,g;t[5]!==e.kind||t[6]!==h?(g=IT(e.kind,h),t[5]=e.kind,t[6]=h,t[7]=g):g=t[7];let _=g,v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v={text:null,password:(0,q.jsx)(Ya,{size:16}),email:(0,q.jsx)(ba,{size:16}),url:(0,q.jsx)(Va,{size:16})},t[8]=v):v=t[8];let y=v,b;t[9]!==e.maxLength||t[10]!==s?(b=e.maxLength?(0,q.jsxs)(`span`,{className:`text-muted-foreground text-xs font-medium`,children:[s.length,`/`,e.maxLength]}):null,t[9]=e.maxLength,t[10]=s,t[11]=b):b=t[11];let x=b,S=!_,C;t[12]!==e.fullWidth||t[13]!==S?(C=G({"border-destructive":S,"w-full":e.fullWidth}),t[12]=e.fullWidth,t[13]=S,t[14]=C):C=t[14];let w=C,T;if(e.debounce===!0){let r=y[e.kind],i=e.minLength!=null&&e.minLength>0,a;t[15]!==x||t[16]!==w||t[17]!==n||t[18]!==f||t[19]!==c||t[20]!==e.disabled||t[21]!==e.kind||t[22]!==e.maxLength||t[23]!==e.minLength||t[24]!==u||t[25]!==r||t[26]!==i||t[27]!==s?(a=(0,q.jsx)(oo,{id:n,"data-testid":`marimo-plugin-text-input`,type:e.kind,icon:r,placeholder:c,maxLength:e.maxLength,minLength:e.minLength,required:i,disabled:e.disabled,className:w,endAdornment:x,value:s,onValueChange:u,onInputCapture:f}),t[15]=x,t[16]=w,t[17]=n,t[18]=f,t[19]=c,t[20]=e.disabled,t[21]=e.kind,t[22]=e.maxLength,t[23]=e.minLength,t[24]=u,t[25]=r,t[26]=i,t[27]=s,t[28]=a):a=t[28],T=a}else if(typeof e.debounce==`number`){let r=y[e.kind],i=e.minLength!=null&&e.minLength>0,a;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>m(e.currentTarget.value),t[29]=a):a=t[29];let o;t[30]!==x||t[31]!==w||t[32]!==n||t[33]!==f||t[34]!==c||t[35]!==e.debounce||t[36]!==e.disabled||t[37]!==e.kind||t[38]!==e.maxLength||t[39]!==e.minLength||t[40]!==u||t[41]!==r||t[42]!==i||t[43]!==s?(o=(0,q.jsx)(uo,{id:n,"data-testid":`marimo-plugin-text-input`,type:e.kind,icon:r,placeholder:c,maxLength:e.maxLength,minLength:e.minLength,required:i,disabled:e.disabled,className:w,endAdornment:x,value:s,onValueChange:u,onBlur:a,delay:e.debounce,onInputCapture:f}),t[30]=x,t[31]=w,t[32]=n,t[33]=f,t[34]=c,t[35]=e.debounce,t[36]=e.disabled,t[37]=e.kind,t[38]=e.maxLength,t[39]=e.minLength,t[40]=u,t[41]=r,t[42]=i,t[43]=s,t[44]=o):o=t[44],T=o}else{let r=y[e.kind],i=e.minLength!=null&&e.minLength>0,a;t[45]===u?a=t[46]:(a=e=>u(e.currentTarget.value),t[45]=u,t[46]=a);let o;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(o=e=>m(e.currentTarget.value),t[47]=o):o=t[47];let l;t[48]!==x||t[49]!==w||t[50]!==n||t[51]!==f||t[52]!==c||t[53]!==e.disabled||t[54]!==e.kind||t[55]!==e.maxLength||t[56]!==e.minLength||t[57]!==r||t[58]!==i||t[59]!==a||t[60]!==s?(l=(0,q.jsx)(lo,{id:n,"data-testid":`marimo-plugin-text-input`,type:e.kind,icon:r,placeholder:c,maxLength:e.maxLength,minLength:e.minLength,required:i,disabled:e.disabled,className:w,endAdornment:x,value:s,onInput:a,onBlur:o,onInputCapture:f}),t[48]=x,t[49]=w,t[50]=n,t[51]=f,t[52]=c,t[53]=e.disabled,t[54]=e.kind,t[55]=e.maxLength,t[56]=e.minLength,t[57]=r,t[58]=i,t[59]=a,t[60]=s,t[61]=l):l=t[61],T=l}let E;return t[62]!==T||t[63]!==n||t[64]!==e.fullWidth||t[65]!==e.label?(E=(0,q.jsx)(kv,{controlId:n,label:e.label,fullWidth:e.fullWidth,children:T}),t[62]=T,t[63]=n,t[64]=e.fullWidth,t[65]=e.label,t[66]=E):E=t[66],E};function IT(e,t){if(!t)return!0;switch(e){case`email`:return B().email().safeParse(t).success;case`url`:return B().url().safeParse(t).success;default:return!0}}var LT=K.lazy(()=>wo(()=>import(`./vega-component-C28fL5fD.js`),__vite__mapDeps([367,1,2,3,4,8,9,10,11,15,16,20,17,18,19,21,22,23,24,37,25,6,26,32,40,30,47,71,12,7,13,14,72,132,155,156,157,158,159,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,122,88,43,28,89,162,163,368,107,369]),import.meta.url)),RT=class{tagName=`marimo-vega`;validator=H({spec:H({}).passthrough().transform(e=>e),chartSelection:We([V(),He(`point`),He(`interval`)]).default(!0),fieldSelection:We([V(),U(B())]).default(!0),embedOptions:H({}).passthrough().default({})});render(e){return(0,q.jsx)(LT,{value:e.value,setValue:e.setValue,...e.data})}},zT=class{tagName=`marimo-accordion`;validator=H({labels:U(B()),multiple:V(),expanded:U(B()).default([])});render(e){return(0,q.jsx)(BT,{...e.data,children:e.children})}},BT=e=>{let t=(0,J.c)(11),{labels:n,multiple:r,expanded:i,children:a}=e,o;t[0]!==i||t[1]!==r?(o=r?{type:`multiple`,defaultValue:i}:{type:`single`,defaultValue:i[0],collapsible:!0},t[0]=i,t[1]=r,t[2]=o):o=t[2];let s=o,c;if(t[3]!==a||t[4]!==n){let e;t[6]===n?e=t[7]:(e=(e,t)=>(0,q.jsxs)(Ln,{value:t.toString(),children:[(0,q.jsx)(Vn,{className:`py-2 text-md`,children:Xo({html:n[t]})}),(0,q.jsx)(zn,{className:`text-md`,children:e})]},t),t[6]=n,t[7]=e),c=K.Children.map(a,e),t[3]=a,t[4]=n,t[5]=c}else c=t[5];let l;return t[8]!==s||t[9]!==c?(l=(0,q.jsx)(Hn,{...s,className:`text-muted-foreground`,children:c}),t[8]=s,t[9]=c,t[10]=l):l=t[10],l},VT={neutral:`neutral`,info:`info`,warn:`warning`,success:`success`,danger:`danger`,alert:`danger`},HT=(0,K.memo)(e=>{let t=(0,J.c)(10),{html:n,kind:r,title:i}=e,a=VT[r],o;t[0]===a?o=t[1]:(o=G(`admonition`,a),t[0]=a,t[1]=o);let s;t[2]===i?s=t[3]:(s=i&&(0,q.jsx)(`span`,{className:`admonition-title`,children:i}),t[2]=i,t[3]=s);let c;t[4]===n?c=t[5]:(c=(0,q.jsx)(si,{html:n,alwaysSanitizeHtml:!0}),t[4]=n,t[5]=c);let l;return t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,q.jsxs)(`div`,{className:o,children:[s,c]}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l});HT.displayName=`CalloutOutput`;var UT=class{tagName=`marimo-callout-output`;validator=H({html:B(),kind:Ev,title:B().optional()});render({data:e}){return(0,q.jsx)(HT,{html:e.html,kind:e.kind,title:e.title})}},WT=`:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;height:var(--swiper-navigation-size);width:var(--swiper-navigation-size);z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}:is(.swiper-button-next,.swiper-button-prev).swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}:is(.swiper-button-next,.swiper-button-prev).swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-next,.swiper-button-prev){display:none!important}:is(.swiper-button-next,.swiper-button-prev) ::slotted(svg),:is(.swiper-button-next,.swiper-button-prev) svg{object-fit:contain;transform-origin:50%;fill:currentColor;pointer-events:none;width:100%;height:100%}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon,.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal .swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(0)}.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-next,.swiper-vertical~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) ::slotted(.swiper-navigation-icon){transform:rotate(90deg)}`,GT=`.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translateZ(0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination.swiper-pagination-disabled,.swiper-pagination-disabled>.swiper-pagination{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));display:inline-block}button.swiper-pagination-bullet{appearance:none;box-shadow:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>.swiper-pagination-progressbar,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);width:100%;top:0;left:0}.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar{height:100%;width:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-pagination-lock{display:none}`,KT=`.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);touch-action:none;position:relative}.swiper-scrollbar.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>.swiper-scrollbar{display:none!important}.swiper-scrollbar.swiper-scrollbar-horizontal,.swiper-horizontal>.swiper-scrollbar{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);z-index:50;position:absolute}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50;position:absolute}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);width:100%;height:100%;position:relative;top:0;left:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}`,qT=`.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";pointer-events:none;position:absolute;top:0;left:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}`,JT=`:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:content-box;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);z-index:1;width:100%;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);width:100%;min-width:1px}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));box-sizing:border-box;transform-origin:50%;z-index:10;border-top:4px solid #0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress)) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}`,YT=`.mo-slide-content{justify-content:center;width:100%;min-height:fit-content;display:flex}.mo-slide-content .output{max-width:100%;width:unset;margin:auto 0}.mo-slide-content>:only-child:has(>.output:only-child,>*>.output:only-child){flex:1}.mo-slide-content div:has(>marimo-ui-element>marimo-vega){flex:1;display:block!important}@media (width>=500px){.mo-slide-content div:has(>marimo-ui-element>marimo-vega){min-width:350px}}.mo-slides-notes-resize{background-color:#0000;outline:none;height:4px;transition:background-color .2s linear}.mo-slides-notes-resize:hover,.mo-slides-notes-resize[data-resize-handle-active]{background-color:var(--slate-11)}`,XT=`:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:content-box;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);z-index:1;width:100%;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);width:100%;min-width:1px}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));box-sizing:border-box;transform-origin:50%;z-index:10;border-top:4px solid #0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress)) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";pointer-events:none;position:absolute;top:0;left:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;height:var(--swiper-navigation-size);width:var(--swiper-navigation-size);z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}:is(.swiper-button-next,.swiper-button-prev).swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}:is(.swiper-button-next,.swiper-button-prev).swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-next,.swiper-button-prev){display:none!important}:is(.swiper-button-next,.swiper-button-prev) ::slotted(svg),:is(.swiper-button-next,.swiper-button-prev) svg{object-fit:contain;transform-origin:50%;fill:currentColor;pointer-events:none;width:100%;height:100%}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon,.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal .swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal .swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(0)}.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-next,.swiper-vertical~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px)}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) ::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon,:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) ::slotted(.swiper-navigation-icon){transform:rotate(90deg)}.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translateZ(0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination.swiper-pagination-disabled,.swiper-pagination-disabled>.swiper-pagination{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));display:inline-block}button.swiper-pagination-bullet{appearance:none;box-shadow:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>.swiper-pagination-progressbar,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);width:100%;top:0;left:0}.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar{height:100%;width:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);touch-action:none;position:relative}.swiper-scrollbar.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>.swiper-scrollbar{display:none!important}.swiper-scrollbar.swiper-scrollbar-horizontal,.swiper-horizontal>.swiper-scrollbar{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);z-index:50;position:absolute}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50;position:absolute}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);width:100%;height:100%;position:relative;top:0;left:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.mo-slides-theme{--swiper-theme-color:var(--primary);--swiper-pagination-color:var(--swiper-theme-color);--swiper-pagination-left:auto;--swiper-pagination-right:8px;--swiper-pagination-bottom:8px;--swiper-pagination-top:auto;--swiper-pagination-fraction-color:inherit;--swiper-pagination-progressbar-bg-color:#00000040;--swiper-pagination-progressbar-size:4px;--swiper-pagination-bullet-size:8px;--swiper-pagination-bullet-width:8px;--swiper-pagination-bullet-height:8px;--swiper-pagination-bullet-border-radius:50%;--swiper-pagination-bullet-inactive-color:#000;--swiper-pagination-bullet-inactive-opacity:.2;--swiper-pagination-bullet-opacity:1;--swiper-pagination-bullet-horizontal-gap:4px;--swiper-pagination-bullet-vertical-gap:6px}.mo-slides-theme .swiper-button-next,.mo-slides-theme .swiper-button-prev{opacity:0;--swiper-navigation-sides-offset:0;--swiper-navigation-size:20px;background-color:#0000001a;height:100%;margin-top:0;padding:0 15px;font-weight:900;transition:opacity .3s;top:0;bottom:0}:is(.mo-slides-theme .swiper-button-next,.mo-slides-theme .swiper-button-prev).swiper-button-disabled{opacity:0}:is(.mo-slides-theme .swiper-button-next,.mo-slides-theme .swiper-button-prev):hover:not(.swiper-button-disabled){opacity:1}@font-face{font-family:swiper-icons;font-style:normal;font-weight:400;src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")}:host:host{display:initial}`,ZT=class{tagName=`marimo-carousel`;validator=H({index:B().nullish(),height:We([B(),z()]).nullish()});cssStyles=[JT,qT,WT,GT,KT,YT,XT];render(e){return(0,q.jsx)(QT,{...e.data,wrapAround:!0,children:e.children})}},QT=K.lazy(()=>wo(()=>import(`./swiper-component-eXUBvFuA.js`),__vite__mapDeps([370,1,3,4,15,16,22,23,24,32,161,57,46,47,17,371,372]),import.meta.url)),$T=Cv(`marimo-download`).withData(H({data:B(),disabled:V().default(!1),filename:B().nullish(),label:B().nullish(),lazy:V().default(!1)})).withFunctions({load:Pv.input(H({})).output(H({data:B(),filename:B().nullish()}))}).renderer(e=>(0,q.jsx)(eE,{data:e.data,...e.functions})),eE=({data:e,load:t})=>{let[n,r]=(0,K.useState)(!1),i=async n=>{if(e.disabled){n.preventDefault(),n.stopPropagation();return}if(n.preventDefault(),!e.lazy){Ai(e.data,e.filename??void 0);return}r(!0);try{let n=await t({});Ai(n.data||e.data,n.filename??e.filename??void 0)}catch(e){So({title:`Failed to download`,description:`Please try again.`}),W.error(`Failed to download:`,e)}finally{r(!1)}},a=n?Ka:hr,o=e.label?Xo({html:e.label}):`Download`;return(0,q.jsxs)(`a`,{href:e.data,download:e.filename??``,onClick:i,className:Hi({variant:`secondary`,disabled:e.disabled||n}),children:[(0,q.jsx)(a,{className:G(`w-3 h-3`,e.label&&`mr-2`,n&&`animate-spin`)}),o]})},tE=K.lazy(()=>wo(()=>import(`./ImageComparisonComponent-pCLPT6RA.js`),__vite__mapDeps([373,1,3,4,24]),import.meta.url)),nE=class{tagName=`marimo-image-comparison`;validator=H({beforeSrc:B(),afterSrc:B(),value:z().min(0).max(100).default(50),direction:Ze([`horizontal`,`vertical`]).default(`horizontal`),width:B().optional(),height:B().optional()});render(e){return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{children:`Loading image comparison...`}),children:(0,q.jsx)(tE,{...e.data})})}},rE=class{tagName=`marimo-json-output`;validator=H({name:B().nullish(),jsonData:Ge(),valueTypes:Ze([`json`,`python`]).default(`python`)});render({data:e}){let t=e.name===void 0?!1:e.name||``;return(0,q.jsx)(ti,{data:e.jsonData,format:`auto`,valueTypes:e.valueTypes,name:t})}},iE=Cv(`marimo-lazy`).withData(H({showLoadingIndicator:V().default(!1)})).withFunctions({load:Pv.input(H({})).output(H({html:B()}))}).renderer(e=>(0,q.jsx)(aE,{value:e.value,setValue:e.setValue,...e.data,...e.functions})),aE=e=>{let t=(0,J.c)(15),{load:n,showLoadingIndicator:r,value:i,setValue:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={threshold:0,root:null,rootMargin:`0px`},t[0]=o):o=t[0];let[s,c]=Cr(o);c?.isIntersecting&&!i&&a(!0);let l;t[1]!==n||t[2]!==i?(l=e=>i?n({}):(e.previous(),Promise.resolve(void 0)),t[1]=n,t[2]=i,t[3]=l):l=t[3];let u;t[4]===i?u=t[5]:(u=[i],t[4]=i,t[5]=u);let{data:d,error:f,isPending:p}=Ko(l,u);if(f){let e;return t[6]===f?e=t[7]:(e=(0,q.jsx)(_s,{error:f}),t[6]=f,t[7]=e),e}let m;t[8]!==d||t[9]!==p||t[10]!==r?(m=p&&r?(0,q.jsx)(Ka,{className:`w-12 h-12 animate-spin text-primary my-4 mx-4`}):d&&Xo({html:d.html}),t[8]=d,t[9]=p,t[10]=r,t[11]=m):m=t[11];let h;return t[12]!==s||t[13]!==m?(h=(0,q.jsx)(`div`,{ref:s,className:`min-h-4`,children:m}),t[12]=s,t[13]=m,t[14]=h):h=t[14],h},oE=class{tagName=`marimo-mime-renderer`;validator=H({mime:B().transform(e=>e),data:We([B(),rt(),qe(B(),Ge()),U(Qe())]).transform(e=>e)});render({data:e}){return e.data?(0,q.jsx)($r,{message:{data:e.data,channel:`output`,mimetype:e.mime}}):(0,q.jsx)(`div`,{})}},sE=class{tagName=`marimo-mermaid`;validator=H({diagram:B(),theme:B().optional(),theme_variables:qe(B(),B()).optional()});render(e){return(0,q.jsx)(cE,{diagram:e.data.diagram,theme:e.data.theme,themeVariables:e.data.theme_variables})}},cE=(0,K.lazy)(()=>wo(()=>import(`./mermaid-CX6aTquk.js`),__vite__mapDeps([374,1,3,4,15,16,24,54,71,2,12,7,13,9,14,17,18,72,73,88,22,23,43,25,6,28,32,89,375,362,359,376,354,377,378,379,380,381,382,383,384,385,386,387,388,389,363,358,361,390,391,110,11,342,392,112,393,394]),import.meta.url)),lE=e=>{let t=(0,J.c)(12),{label:n}=e,{items:i}=r(A),a;t[0]===i?a=t[1]:(a=Ps(i),t[0]=i,t[1]=a);let{activeHeaderId:o,activeOccurrences:s}=Ms(a);if(i.length===0){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,q.jsx)(`div`,{className:`text-muted-foreground text-sm p-4 border border-dashed border-border rounded-lg`,children:`No outline found. Add markdown headings to your notebook to create an outline.`}),t[2]=e):e=t[2],e}let c;t[3]===n?c=t[4]:(c=n&&(0,q.jsx)(`div`,{className:`px-4 py-2 border-b border-border font-medium text-sm`,children:n}),t[3]=n,t[4]=c);let l;t[5]!==o||t[6]!==s||t[7]!==i?(l=(0,q.jsx)(Ns,{className:`max-h-[400px]`,items:i,activeHeaderId:o,activeOccurrences:s}),t[5]=o,t[6]=s,t[7]=i,t[8]=l):l=t[8];let u;return t[9]!==c||t[10]!==l?(u=(0,q.jsxs)(`div`,{className:`border border-border rounded-lg`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u},uE=class{tagName=`marimo-outline`;validator=H({label:B().optional()});render(e){let{label:t}=e.data;return(0,q.jsx)(o,{store:a,children:(0,q.jsx)(lE,{label:t})})}},dE=e(t(((e,t)=>{(function(e){var n=Object.assign||function(e){for(var t,n=1;n<arguments.length;n++)for(var r in t=arguments[n],t)_(t,r)&&(e[r]=t[r]);return e},r=Array.isArray||function(e){return Object.prototype.toString.call(e)===`[object Array]`},i=c([`χρόνος`,`χρόνια`],[`μήνας`,`μήνες`],[`εβδομάδα`,`εβδομάδες`],[`μέρα`,`μέρες`],[`ώρα`,`ώρες`],[`λεπτό`,`λεπτά`],[`δευτερόλεπτο`,`δευτερόλεπτα`],[`χιλιοστό του δευτερολέπτου`,`χιλιοστά του δευτερολέπτου`],`,`),a={af:c([`jaar`,`jaar`],[`maand`,`maande`],[`week`,`weke`],[`dag`,`dae`],[`uur`,`ure`],[`minuut`,`minute`],[`sekonde`,`sekondes`],[`millisekonde`,`millisekondes`],`,`),am:o(`ዓመት`,`ወር`,`ሳምንት`,`ቀን`,`ሰዓት`,`ደቂቃ`,`ሰከንድ`,`ሚሊሰከንድ`),ar:n(o(function(e){return[`سنة`,`سنتان`,`سنوات`][f(e)]},function(e){return[`شهر`,`شهران`,`أشهر`][f(e)]},function(e){return[`أسبوع`,`أسبوعين`,`أسابيع`][f(e)]},function(e){return[`يوم`,`يومين`,`أيام`][f(e)]},function(e){return[`ساعة`,`ساعتين`,`ساعات`][f(e)]},function(e){return[`دقيقة`,`دقيقتان`,`دقائق`][f(e)]},function(e){return[`ثانية`,`ثانيتان`,`ثواني`][f(e)]},function(e){return[`جزء من الثانية`,`جزآن من الثانية`,`أجزاء من الثانية`][f(e)]},`,`),{delimiter:` ﻭ `,_hideCountIf2:!0,_digitReplacements:[`۰`,`١`,`٢`,`٣`,`٤`,`٥`,`٦`,`٧`,`٨`,`٩`]}),bg:d([`години`,`година`,`години`],[`месеца`,`месец`,`месеца`],[`седмици`,`седмица`,`седмици`],[`дни`,`ден`,`дни`],[`часа`,`час`,`часа`],[`минути`,`минута`,`минути`],[`секунди`,`секунда`,`секунди`],[`милисекунди`,`милисекунда`,`милисекунди`]),bn:o(`বছর`,`মাস`,`সপ্তাহ`,`দিন`,`ঘন্টা`,`মিনিট`,`সেকেন্ড`,`মিলিসেকেন্ড`),ca:c([`any`,`anys`],[`mes`,`mesos`],[`setmana`,`setmanes`],[`dia`,`dies`],[`hora`,`hores`],[`minut`,`minuts`],[`segon`,`segons`],[`milisegon`,`milisegons`],`,`),ckb:o(`ساڵ`,`مانگ`,`هەفتە`,`ڕۆژ`,`کاژێر`,`خولەک`,`چرکە`,`میلی چرکە`,`.`),cs:o(function(e){return[`rok`,`roku`,`roky`,`let`][m(e)]},function(e){return[`měsíc`,`měsíce`,`měsíce`,`měsíců`][m(e)]},function(e){return[`týden`,`týdne`,`týdny`,`týdnů`][m(e)]},function(e){return[`den`,`dne`,`dny`,`dní`][m(e)]},function(e){return[`hodina`,`hodiny`,`hodiny`,`hodin`][m(e)]},function(e){return[`minuta`,`minuty`,`minuty`,`minut`][m(e)]},function(e){return[`sekunda`,`sekundy`,`sekundy`,`sekund`][m(e)]},function(e){return[`milisekunda`,`milisekundy`,`milisekundy`,`milisekund`][m(e)]},`,`),cy:o(`flwyddyn`,`mis`,`wythnos`,`diwrnod`,`awr`,`munud`,`eiliad`,`milieiliad`),da:c([`år`,`år`],[`måned`,`måneder`],[`uge`,`uger`],[`dag`,`dage`],[`time`,`timer`],[`minut`,`minutter`],[`sekund`,`sekunder`],[`millisekund`,`millisekunder`],`,`),de:c([`Jahr`,`Jahre`],[`Monat`,`Monate`],[`Woche`,`Wochen`],[`Tag`,`Tage`],[`Stunde`,`Stunden`],[`Minute`,`Minuten`],[`Sekunde`,`Sekunden`],[`Millisekunde`,`Millisekunden`],`,`),el:i,en:c([`year`,`years`],[`month`,`months`],[`week`,`weeks`],[`day`,`days`],[`hour`,`hours`],[`minute`,`minutes`],[`second`,`seconds`],[`millisecond`,`milliseconds`]),eo:c([`jaro`,`jaroj`],[`monato`,`monatoj`],[`semajno`,`semajnoj`],[`tago`,`tagoj`],[`horo`,`horoj`],[`minuto`,`minutoj`],[`sekundo`,`sekundoj`],[`milisekundo`,`milisekundoj`],`,`),es:c([`año`,`años`],[`mes`,`meses`],[`semana`,`semanas`],[`día`,`días`],[`hora`,`horas`],[`minuto`,`minutos`],[`segundo`,`segundos`],[`milisegundo`,`milisegundos`],`,`),et:c([`aasta`,`aastat`],[`kuu`,`kuud`],[`nädal`,`nädalat`],[`päev`,`päeva`],[`tund`,`tundi`],[`minut`,`minutit`],[`sekund`,`sekundit`],[`millisekund`,`millisekundit`],`,`),eu:o(`urte`,`hilabete`,`aste`,`egun`,`ordu`,`minutu`,`segundo`,`milisegundo`,`,`),fa:o(`سال`,`ماه`,`هفته`,`روز`,`ساعت`,`دقیقه`,`ثانیه`,`میلی ثانیه`),fi:c([`vuosi`,`vuotta`],[`kuukausi`,`kuukautta`],[`viikko`,`viikkoa`],[`päivä`,`päivää`],[`tunti`,`tuntia`],[`minuutti`,`minuuttia`],[`sekunti`,`sekuntia`],[`millisekunti`,`millisekuntia`],`,`),fo:c([`ár`,`ár`],[`mánaður`,`mánaðir`],[`vika`,`vikur`],[`dagur`,`dagar`],[`tími`,`tímar`],[`minuttur`,`minuttir`],[`sekund`,`sekund`],[`millisekund`,`millisekund`],`,`),fr:o(function(e){return`an`+(e>=2?`s`:``)},`mois`,function(e){return`semaine`+(e>=2?`s`:``)},function(e){return`jour`+(e>=2?`s`:``)},function(e){return`heure`+(e>=2?`s`:``)},function(e){return`minute`+(e>=2?`s`:``)},function(e){return`seconde`+(e>=2?`s`:``)},function(e){return`milliseconde`+(e>=2?`s`:``)},`,`),gr:i,he:c([`שנה`,`שנים`],[`חודש`,`חודשים`],[`שבוע`,`שבועות`],[`יום`,`ימים`],[`שעה`,`שעות`],[`דקה`,`דקות`],[`שניה`,`שניות`],[`מילישנייה`,`מילישניות`]),hr:o(function(e){return e%10==2||e%10==3||e%10==4?`godine`:`godina`},function(e){return e===1?`mjesec`:e===2||e===3||e===4?`mjeseca`:`mjeseci`},function(e){return e%10==1&&e!==11?`tjedan`:`tjedna`},s([`dan`,`dana`]),function(e){return e===1?`sat`:e===2||e===3||e===4?`sata`:`sati`},function(e){var t=e%10;return(t===2||t===3||t===4)&&(e<10||e>14)?`minute`:`minuta`},function(e){var t=e%10;return t===5||Math.floor(e)===e&&e>=10&&e<=19?`sekundi`:t===1?`sekunda`:t===2||t===3||t===4?`sekunde`:`sekundi`},function(e){return e===1?`milisekunda`:e%10==2||e%10==3||e%10==4?`milisekunde`:`milisekundi`},`,`),hi:o(`साल`,s([`महीना`,`महीने`]),s([`हफ़्ता`,`हफ्ते`]),`दिन`,s([`घंटा`,`घंटे`]),`मिनट`,`सेकंड`,`मिलीसेकंड`),hu:o(`év`,`hónap`,`hét`,`nap`,`óra`,`perc`,`másodperc`,`ezredmásodperc`,`,`),id:o(`tahun`,`bulan`,`minggu`,`hari`,`jam`,`menit`,`detik`,`milidetik`),is:c([`ár`,`ár`],[`mánuður`,`mánuðir`],[`vika`,`vikur`],[`dagur`,`dagar`],[`klukkutími`,`klukkutímar`],[`mínúta`,`mínútur`],[`sekúnda`,`sekúndur`],[`millisekúnda`,`millisekúndur`]),it:c([`anno`,`anni`],[`mese`,`mesi`],[`settimana`,`settimane`],[`giorno`,`giorni`],[`ora`,`ore`],[`minuto`,`minuti`],[`secondo`,`secondi`],[`millisecondo`,`millisecondi`],`,`),ja:o(`年`,`ヶ月`,`週間`,`日`,`時間`,`分`,`秒`,`ミリ秒`),km:o(`ឆ្នាំ`,`ខែ`,`សប្តាហ៍`,`ថ្ងៃ`,`ម៉ោង`,`នាទី`,`វិនាទី`,`មិល្លីវិនាទី`),kn:c([`ವರ್ಷ`,`ವರ್ಷಗಳು`],[`ತಿಂಗಳು`,`ತಿಂಗಳುಗಳು`],[`ವಾರ`,`ವಾರಗಳು`],[`ದಿನ`,`ದಿನಗಳು`],[`ಗಂಟೆ`,`ಗಂಟೆಗಳು`],[`ನಿಮಿಷ`,`ನಿಮಿಷಗಳು`],[`ಸೆಕೆಂಡ್`,`ಸೆಕೆಂಡುಗಳು`],[`ಮಿಲಿಸೆಕೆಂಡ್`,`ಮಿಲಿಸೆಕೆಂಡುಗಳು`]),ko:o(`년`,`개월`,`주일`,`일`,`시간`,`분`,`초`,`밀리 초`),ku:o(`sal`,`meh`,`hefte`,`roj`,`seet`,`deqe`,`saniye`,`mîlîçirk`,`,`),lo:o(`ປີ`,`ເດືອນ`,`ອາທິດ`,`ມື້`,`ຊົ່ວໂມງ`,`ນາທີ`,`ວິນາທີ`,`ມິນລິວິນາທີ`,`,`),lt:o(function(e){return e%10==0||e%100>=10&&e%100<=20?`metų`:`metai`},function(e){return[`mėnuo`,`mėnesiai`,`mėnesių`][h(e)]},function(e){return[`savaitė`,`savaitės`,`savaičių`][h(e)]},function(e){return[`diena`,`dienos`,`dienų`][h(e)]},function(e){return[`valanda`,`valandos`,`valandų`][h(e)]},function(e){return[`minutė`,`minutės`,`minučių`][h(e)]},function(e){return[`sekundė`,`sekundės`,`sekundžių`][h(e)]},function(e){return[`milisekundė`,`milisekundės`,`milisekundžių`][h(e)]},`,`),lv:o(function(e){return g(e)?`gads`:`gadi`},function(e){return g(e)?`mēnesis`:`mēneši`},function(e){return g(e)?`nedēļa`:`nedēļas`},function(e){return g(e)?`diena`:`dienas`},function(e){return g(e)?`stunda`:`stundas`},function(e){return g(e)?`minūte`:`minūtes`},function(e){return g(e)?`sekunde`:`sekundes`},function(e){return g(e)?`milisekunde`:`milisekundes`},`,`),mk:c([`година`,`години`],[`месец`,`месеци`],[`недела`,`недели`],[`ден`,`дена`],[`час`,`часа`],[`минута`,`минути`],[`секунда`,`секунди`],[`милисекунда`,`милисекунди`],`,`),mn:o(`жил`,`сар`,`долоо хоног`,`өдөр`,`цаг`,`минут`,`секунд`,`миллисекунд`),mr:o(s([`वर्ष`,`वर्षे`]),s([`महिना`,`महिने`]),s([`आठवडा`,`आठवडे`]),`दिवस`,`तास`,s([`मिनिट`,`मिनिटे`]),`सेकंद`,`मिलिसेकंद`),ms:o(`tahun`,`bulan`,`minggu`,`hari`,`jam`,`minit`,`saat`,`milisaat`),nl:c([`jaar`,`jaar`],[`maand`,`maanden`],[`week`,`weken`],[`dag`,`dagen`],[`uur`,`uur`],[`minuut`,`minuten`],[`seconde`,`seconden`],[`milliseconde`,`milliseconden`],`,`),nn:c([`år`,`år`],[`månad`,`månader`],[`veke`,`veker`],[`dag`,`dagar`],[`time`,`timar`],[`minutt`,`minutt`],[`sekund`,`sekund`],[`millisekund`,`millisekund`],`,`),no:c([`år`,`år`],[`måned`,`måneder`],[`uke`,`uker`],[`dag`,`dager`],[`time`,`timer`],[`minutt`,`minutter`],[`sekund`,`sekunder`],[`millisekund`,`millisekunder`],`,`),pl:o(function(e){return[`rok`,`roku`,`lata`,`lat`][p(e)]},function(e){return[`miesiąc`,`miesiąca`,`miesiące`,`miesięcy`][p(e)]},function(e){return[`tydzień`,`tygodnia`,`tygodnie`,`tygodni`][p(e)]},function(e){return[`dzień`,`dnia`,`dni`,`dni`][p(e)]},function(e){return[`godzina`,`godziny`,`godziny`,`godzin`][p(e)]},function(e){return[`minuta`,`minuty`,`minuty`,`minut`][p(e)]},function(e){return[`sekunda`,`sekundy`,`sekundy`,`sekund`][p(e)]},function(e){return[`milisekunda`,`milisekundy`,`milisekundy`,`milisekund`][p(e)]},`,`),pt:c([`ano`,`anos`],[`mês`,`meses`],[`semana`,`semanas`],[`dia`,`dias`],[`hora`,`horas`],[`minuto`,`minutos`],[`segundo`,`segundos`],[`milissegundo`,`milissegundos`],`,`),ro:o(l(`an`,`ani`,`de ani`),l(`lună`,`luni`,`de luni`),l(`săptămână`,`săptămâni`,`de săptămâni`),l(`zi`,`zile`,`de zile`),l(`oră`,`ore`,`de ore`),l(`minut`,`minute`,`de minute`),l(`secundă`,`secunde`,`de secunde`),l(`milisecundă`,`milisecunde`,`de milisecunde`),`,`),ru:d([`лет`,`год`,`года`],[`месяцев`,`месяц`,`месяца`],[`недель`,`неделя`,`недели`],[`дней`,`день`,`дня`],[`часов`,`час`,`часа`],[`минут`,`минута`,`минуты`],[`секунд`,`секунда`,`секунды`],[`миллисекунд`,`миллисекунда`,`миллисекунды`]),sq:o(s([`vit`,`vjet`]),`muaj`,`javë`,`ditë`,`orë`,function(e){return`minut`+(e===1?`ë`:`a`)},function(e){return`sekond`+(e===1?`ë`:`a`)},function(e){return`milisekond`+(e===1?`ë`:`a`)},`,`),sr:d([`години`,`година`,`године`],[`месеци`,`месец`,`месеца`],[`недељи`,`недеља`,`недеље`],[`дани`,`дан`,`дана`],[`сати`,`сат`,`сата`],[`минута`,`минут`,`минута`],[`секунди`,`секунда`,`секунде`],[`милисекунди`,`милисекунда`,`милисекунде`]),sr_Latn:d([`godini`,`godina`,`godine`],[`meseci`,`mesec`,`meseca`],[`nedelji`,`nedelja`,`nedelje`],[`dani`,`dan`,`dana`],[`sati`,`sat`,`sata`],[`minuta`,`minut`,`minuta`],[`sekundi`,`sekunda`,`sekunde`],[`milisekundi`,`milisekunda`,`milisekunde`]),ta:c([`வருடம்`,`ஆண்டுகள்`],[`மாதம்`,`மாதங்கள்`],[`வாரம்`,`வாரங்கள்`],[`நாள்`,`நாட்கள்`],[`மணி`,`மணிநேரம்`],[`நிமிடம்`,`நிமிடங்கள்`],[`வினாடி`,`வினாடிகள்`],[`மில்லி விநாடி`,`மில்லி விநாடிகள்`]),te:c([`సంవత్సరం`,`సంవత్సరాల`],[`నెల`,`నెలల`],[`వారం`,`వారాలు`],[`రోజు`,`రోజులు`],[`గంట`,`గంటలు`],[`నిమిషం`,`నిమిషాలు`],[`సెకను`,`సెకన్లు`],[`మిల్లీసెకన్`,`మిల్లీసెకన్లు`]),uk:d([`років`,`рік`,`роки`],[`місяців`,`місяць`,`місяці`],[`тижнів`,`тиждень`,`тижні`],[`днів`,`день`,`дні`],[`годин`,`година`,`години`],[`хвилин`,`хвилина`,`хвилини`],[`секунд`,`секунда`,`секунди`],[`мілісекунд`,`мілісекунда`,`мілісекунди`]),ur:o(`سال`,s([`مہینہ`,`مہینے`]),s([`ہفتہ`,`ہفتے`]),`دن`,s([`گھنٹہ`,`گھنٹے`]),`منٹ`,`سیکنڈ`,`ملی سیکنڈ`),sk:o(function(e){return[`rok`,`roky`,`roky`,`rokov`][m(e)]},function(e){return[`mesiac`,`mesiace`,`mesiace`,`mesiacov`][m(e)]},function(e){return[`týždeň`,`týždne`,`týždne`,`týždňov`][m(e)]},function(e){return[`deň`,`dni`,`dni`,`dní`][m(e)]},function(e){return[`hodina`,`hodiny`,`hodiny`,`hodín`][m(e)]},function(e){return[`minúta`,`minúty`,`minúty`,`minút`][m(e)]},function(e){return[`sekunda`,`sekundy`,`sekundy`,`sekúnd`][m(e)]},function(e){return[`milisekunda`,`milisekundy`,`milisekundy`,`milisekúnd`][m(e)]},`,`),sl:o(function(e){return e%10==1?`leto`:e%100==2?`leti`:e%100==3||e%100==4||Math.floor(e)!==e&&e%100<=5?`leta`:`let`},function(e){return e%10==1?`mesec`:e%100==2||Math.floor(e)!==e&&e%100<=5?`meseca`:e%10==3||e%10==4?`mesece`:`mesecev`},function(e){return e%10==1?`teden`:e%10==2||Math.floor(e)!==e&&e%100<=4?`tedna`:e%10==3||e%10==4?`tedne`:`tednov`},function(e){return e%100==1?`dan`:`dni`},function(e){return e%10==1?`ura`:e%100==2?`uri`:e%10==3||e%10==4||Math.floor(e)!==e?`ure`:`ur`},function(e){return e%10==1?`minuta`:e%10==2?`minuti`:e%10==3||e%10==4||Math.floor(e)!==e&&e%100<=4?`minute`:`minut`},function(e){return e%10==1?`sekunda`:e%100==2?`sekundi`:e%100==3||e%100==4||Math.floor(e)!==e?`sekunde`:`sekund`},function(e){return e%10==1?`milisekunda`:e%100==2?`milisekundi`:e%100==3||e%100==4||Math.floor(e)!==e?`milisekunde`:`milisekund`},`,`),sv:c([`år`,`år`],[`månad`,`månader`],[`vecka`,`veckor`],[`dag`,`dagar`],[`timme`,`timmar`],[`minut`,`minuter`],[`sekund`,`sekunder`],[`millisekund`,`millisekunder`],`,`),sw:n(c([`mwaka`,`miaka`],[`mwezi`,`miezi`],[`wiki`,`wiki`],[`siku`,`masiku`],[`saa`,`masaa`],[`dakika`,`dakika`],[`sekunde`,`sekunde`],[`milisekunde`,`milisekunde`]),{_numberFirst:!0}),tr:o(`yıl`,`ay`,`hafta`,`gün`,`saat`,`dakika`,`saniye`,`milisaniye`,`,`),th:o(`ปี`,`เดือน`,`สัปดาห์`,`วัน`,`ชั่วโมง`,`นาที`,`วินาที`,`มิลลิวินาที`),uz:o(`yil`,`oy`,`hafta`,`kun`,`soat`,`minut`,`sekund`,`millisekund`),uz_CYR:o(`йил`,`ой`,`ҳафта`,`кун`,`соат`,`минут`,`секунд`,`миллисекунд`),vi:o(`năm`,`tháng`,`tuần`,`ngày`,`giờ`,`phút`,`giây`,`mili giây`,`,`),zh_CN:o(`年`,`个月`,`周`,`天`,`小时`,`分钟`,`秒`,`毫秒`),zh_TW:o(`年`,`個月`,`周`,`天`,`小時`,`分鐘`,`秒`,`毫秒`)};function o(e,t,n,r,i,a,o,s,c){var l={y:e,mo:t,w:n,d:r,h:i,m:a,s:o,ms:s};return c&&(l.decimal=c),l}function s(e){return function(t){return t===1?e[0]:e[1]}}function c(e,t,n,r,i,a,c,l,u){return o(s(e),s(t),s(n),s(r),s(i),s(a),s(c),s(l),u)}function l(e,t,n){return function(r){if(r===1)return e;if(Math.floor(r)!==r||r===0)return t;var i=r%100;return i>=1&&i<=19?t:n}}function u(e){return function(t){return Math.floor(t)===t?t%100>=5&&t%100<=20||t%10>=5&&t%10<=9||t%10==0?e[0]:t%10==1?e[1]:t>1?e[2]:e[1]:e[2]}}function d(e,t,n,r,i,a,s,c){return o(u(e),u(t),u(n),u(r),u(i),u(a),u(s),u(c),`,`)}function f(e){return e===2?1:e>2&&e<11?2:0}function p(e){return e===1?0:Math.floor(e)===e?e%10>=2&&e%10<=4&&!(e%100>10&&e%100<20)?2:3:1}function m(e){return e===1?0:Math.floor(e)===e?e%10>=2&&e%10<=4&&e%100<10?2:3:1}function h(e){return e%10==1&&e%100!=11?0:Math.floor(e)!==e||e%10>=2&&e%100>20||e%10>=2&&e%100<10?1:2}function g(e){return e%10==1&&e%100!=11}function _(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function v(e){var t=[e.language];if(_(e,`fallbacks`)){if(r(e.fallbacks)&&e.fallbacks.length)t=t.concat(e.fallbacks);else throw Error(`fallbacks must be an array with at least one element`)}for(var n=0;n<t.length;n++){var i=t[n];if(_(e.languages,i))return e.languages[i];if(_(a,i))return a[i]}throw Error(`No language found.`)}function y(e,t,n){var r=e.unitName,i=e.unitCount,a=n.spacer,o=n.maxDecimalPoints,s=typeof n.decimal==`string`?n.decimal:typeof t.decimal==`string`?t.decimal:`.`,c;`digitReplacements`in n?c=n.digitReplacements:`_digitReplacements`in t&&(c=t._digitReplacements);var l,u=(o===void 0?i:Math.floor(i*10**o)/10**o).toString();if(t._hideCountIf2&&i===2)l=``,a=``;else if(c){l=``;for(var d=0;d<u.length;d++){var f=u[d];if(f===`.`)l+=s;else{var p=Number(f),m=c[p];l+=m===void 0?f:m}}}else l=u.replace(`.`,s);var h=t[r],g=typeof h==`function`?h(i):h;return t._numberFirst?g+a+l:l+a+g}function b(e,t){var n,r,i,a,o=t.units,s=t.unitMeasures,c=typeof t.largest==`number`?t.largest:1/0;if(!o.length)return[];var l={};for(a=e,r=0;r<o.length;r++){n=o[r];var u=s[n];i=r===o.length-1?a/u:Math.floor(a/u),l[n]=i,a-=i*u}if(t.round){var d=c;for(r=0;r<o.length;r++)if(n=o[r],i=l[n],i!==0&&(d--,d===0)){for(var f=r+1;f<o.length;f++){var p=o[f],m=l[p];l[n]=l[n]+m*s[p]/s[n],l[p]=0}break}for(r=o.length-1;r>=0;r--)if(n=o[r],i=l[n],i!==0){var h=Math.round(i);if(l[n]=h,r===0)break;var g=o[r-1],_=s[g],v=Math.floor(h*s[n]/_);if(v)l[g]=l[g]+v,l[n]=0;else break}}var y=[];for(r=0;r<o.length&&y.length<c;r++)n=o[r],i=l[n],i&&y.push({unitName:n,unitCount:i});return y}function x(e,t){var n=v(t);if(!e.length){var r=t.units,i=r[r.length-1];return y({unitName:i,unitCount:0},n,t)}for(var a=t.conjunction,o=t.serialComma,s=_(t,`delimiter`)?t.delimiter:_(n,`delimiter`)?n.delimiter:`, `,c=[],l=0;l<e.length;l++)c.push(y(e[l],n,t));return!a||e.length===1?c.join(s):e.length===2?c.join(a):c.slice(0,-1).join(s)+(o?`,`:``)+a+c.slice(-1)}function S(e){var t=(function(e,r){e=Math.abs(e);var i=n({},t,r||{});return x(b(e,i),i)});return n(t,{language:`en`,spacer:` `,conjunction:``,serialComma:!0,units:[`y`,`mo`,`w`,`d`,`h`,`m`,`s`],languages:{},round:!1,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},e)}var C=n(S({}),{getSupportedLanguages:function(){var e=[];for(var t in a)_(a,t)&&t!==`gr`&&e.push(t);return e},humanizer:S});typeof define==`function`&&define.amd?define(function(){return C}):t!==void 0&&t.exports?t.exports=C:e.humanizeDuration=C})(e)}))(),1),fE=class{tagName=`marimo-progress`;validator=H({title:B().optional(),subtitle:B().optional(),progress:We([z(),V()]),total:z().optional(),eta:z().optional(),rate:z().optional()});render(e){return(0,q.jsx)(pE,{...e.data})}},pE=e=>{let t=(0,J.c)(24),{title:n,subtitle:r,progress:i,total:a,eta:o,rate:s}=e,c=typeof i==`number`?`items-start`:`items-center`,l;t[0]!==i||t[1]!==a?(l=()=>typeof i==`number`&&a!=null&&a>0?(0,q.jsxs)(`div`,{className:`flex gap-3 text-sm text-muted-foreground items-baseline`,children:[(0,q.jsx)(Di,{value:mE(i/a*100)}),(0,q.jsxs)(`span`,{className:`shrink-0`,children:[i,` / `,a]})]}):(0,q.jsx)(Ka,{className:`w-12 h-12 animate-spin text-primary mx-auto`}),t[0]=i,t[1]=a,t[2]=l):l=t[2];let u=l,d;t[3]!==o||t[4]!==i||t[5]!==s||t[6]!==a?(d=()=>{let e=typeof i==`number`&&a!=null&&i>=a,t=[];if(s&&(s<1?t.push((0,q.jsxs)(`span`,{children:[gE(1/s),` per iter`]},`rate`)):t.push((0,q.jsxs)(`span`,{children:[s,` iter/s`]},`rate`)),t.push((0,q.jsx)(`span`,{children:`·`},`spacer-rate`))),!e&&o&&t.push((0,q.jsxs)(`span`,{children:[`ETA `,gE(o)]},`eta`),(0,q.jsx)(`span`,{children:`·`},`spacer-eta`)),e&&s){let e=i/s;t.push((0,q.jsxs)(`span`,{children:[`Total time `,gE(e)]},`completed`),(0,q.jsx)(`span`,{children:`·`},`spacer-completed`))}if(t.pop(),t.length>0)return(0,q.jsx)(`div`,{className:`flex gap-2 text-muted-foreground text-sm`,children:t})},t[3]=o,t[4]=i,t[5]=s,t[6]=a,t[7]=d):d=t[7];let f=d,p=`flex flex-col ${c} max-w-sm p-6 mx-auto`,m;t[8]===n?m=t[9]:(m=n&&(0,q.jsx)(`div`,{className:`text-lg font-bold text-foreground/60`,children:Xo({html:n})}),t[8]=n,t[9]=m);let h;t[10]===r?h=t[11]:(h=r&&(0,q.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:Xo({html:r})}),t[10]=r,t[11]=h);let g;t[12]===u?g=t[13]:(g=u(),t[12]=u,t[13]=g);let _;t[14]===f?_=t[15]:(_=f(),t[14]=f,t[15]=_);let v;t[16]!==g||t[17]!==_?(v=(0,q.jsxs)(`div`,{className:`mt-2 w-full flex flex-col gap-1`,children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;return t[19]!==p||t[20]!==m||t[21]!==h||t[22]!==v?(y=(0,q.jsxs)(`div`,{className:p,children:[m,h,v]}),t[19]=p,t[20]=m,t[21]=h,t[22]=v,t[23]=y):y=t[23],y};function mE(e){return Oo(e,0,100)}var hE=dE.default.humanizer({language:`shortEn`,languages:{shortEn:{y:()=>`y`,mo:()=>`mo`,w:()=>`w`,d:()=>`d`,h:()=>`h`,m:()=>`m`,s:()=>`s`,ms:()=>`ms`}}});function gE(e){return hE(e*1e3,{language:`shortEn`,largest:2,spacer:``,maxDecimalPoints:e<10?2:0})}var _E=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PathError=e.TokenData=void 0,e.match=l;var t=`/`,n=e=>e,r=/^[$_\p{ID_Start}]$/u,i=/^[$\u200c\u200d\p{ID_Continue}]$/u;function a(e){return e.replace(/[.+*?^${}()[\]|/\\]/g,`\\$&`)}var o=class{constructor(e,t){this.tokens=e,this.originalPath=t}};e.TokenData=o;var s=class extends TypeError{constructor(e,t){let n=e;t&&(n+=`: ${t}`),n+=`; visit https://git.new/pathToRegexpError for info`,super(n),this.originalPath=t}};e.PathError=s;function c(e,t={}){let{encodePath:a=n}=t,c=[...e],l=0;function u(t){let n=[],o=``;function d(){o&&=(n.push({type:`text`,value:a(o)}),``)}for(;l<c.length;){let a=c[l++];if(a===t)return d(),n;if(a===`\\`){if(l===c.length)throw new s(`Unexpected end after \\ at index ${l}`,e);o+=c[l++];continue}if(a===`:`||a===`*`){let t=a===`:`?`param`:`wildcard`,o=``;if(r.test(c[l]))do o+=c[l++];while(i.test(c[l]));else if(c[l]===`"`){let t=l;for(;l<c.length;){if(c[++l]===`"`){l++,t=0;break}c[l]===`\\`&&l++,o+=c[l]}if(t)throw new s(`Unterminated quote at index ${t}`,e)}if(!o)throw new s(`Missing parameter name at index ${l}`,e);d(),n.push({type:t,name:o});continue}if(a===`{`){d(),n.push({type:`group`,tokens:u(`}`)});continue}if(a===`}`||a===`(`||a===`)`||a===`[`||a===`]`||a===`+`||a===`?`||a===`!`)throw new s(`Unexpected ${a} at index ${l-1}`,e);o+=a}if(t)throw new s(`Unexpected end at index ${l}, expected ${t}`,e);return d(),n}return new o(u(``),e)}function l(e,r={}){let{decode:i=decodeURIComponent,delimiter:a=t}=r,{regexp:o,keys:s}=u(e,r),c=s.map(e=>i===!1?n:e.type===`param`?i:e=>e.split(a).map(i));return function(e){let t=o.exec(e);if(!t)return!1;let n=t[0],r=Object.create(null);for(let e=1;e<t.length;e++){if(t[e]===void 0)continue;let n=s[e-1],i=c[e-1];r[n.name]=i(t[e])}return{path:n,params:r}}}function u(e,n={}){let{delimiter:r=t,end:i=!0,sensitive:o=!1,trailing:l=!0}=n,u=[],p=``,m=0;function h(e){if(Array.isArray(e)){for(let t of e)h(t);return}let t=typeof e==`object`?e:c(e,n);d(t.tokens,0,[],e=>{if(m>=256)throw new s(`Too many path combinations`,t.originalPath);m>0&&(p+=`|`),p+=f(e,r,u,t.originalPath),m++})}h(e);let g=`^(?:${p})`;return l&&(g+=`(?:`+a(r)+`$)?`),g+=i?`$`:`(?=`+a(r)+`|$)`,{regexp:new RegExp(g,o?``:`i`),keys:u}}function d(e,t,n,r){for(;t<e.length;){let i=e[t++];if(i.type===`group`){let a=n.length;d(i.tokens,0,n,n=>d(e,t,n,r)),n.length=a;continue}n.push(i)}r(n)}function f(e,t,n,r){let i=``,o=``,c=``,l=0,u=0,d=0;function f(n,r){for(;n<e.length;){let i=e[n++];if(i.type===r)return!0;if(i.type===`text`&&i.value.includes(t))break}return!1}function m(t){let n=``;for(;t<e.length;){let r=e[t++];if(r.type!==`text`)break;n+=r.value}return n}for(;d<e.length;){let h=e[d++];if(h.type===`text`){i+=a(h.value),o+=h.value,l===2&&(c+=h.value),h.value.includes(t)&&(u=0);continue}if(h.type===`param`||h.type===`wildcard`){if(l&&!o)throw new s(`Missing text before "${h.name}" ${h.type}`,r);h.type===`param`?(i+=u&2?`(${p(t,o)}+)`:f(d,`wildcard`)?`(${p(t,m(d))}+)`:u&1?`(${p(t,o)}+|${a(o)})`:`(${p(t,``)}+)`,u|=l=1):(i+=u&2?`(${p(o,``)}+)`:c?`(${p(c,``)}+|${p(t,``)}+)`:`([^]+)`,c=``,u|=l=2),n.push(h),o=``;continue}throw TypeError(`Unknown token type: ${h.type}`)}return i}function p(e,t){return t.length>e.length?p(t,e):(e===t&&(t=``),t.length>1?`(?:(?!${a(e)}|${a(t)})[^])`:e.length>1?`(?:(?!${a(e)})[^${a(t)}])`:`[^${a(e+t)}]`)}}))(),vE=class{routes;constructor(e){this.routes=e.map(e=>({template:e,pathFunction:(0,_E.match)(e)}))}match(e){for(let{pathFunction:t,template:n}of this.routes){let r=t(e.hash)||t(e.pathname);if(r)return[r,n]}return!1}},yE=class{tagName=`marimo-routes`;validator=H({routes:U(B())});render(e){return(0,q.jsx)(bE,{...e.data,children:e.children})}},bE=e=>{let t=(0,J.c)(11),{routes:n,children:r}=e,i=K.Children.count(r);if(i!==n.length)throw Error(`Expected ${n.length} children, but got ${i}`);let a;t[0]===n?a=t[1]:(a=new vE(n),t[0]=n,t[1]=a);let o=a,c;t[2]===o?c=t[3]:(c=()=>{let e=o.match(window.location);return e?e[1]:null},t[2]=o,t[3]=c);let[l,u]=(0,K.useState)(c),d;t[4]===o?d=t[5]:(d=e=>{let t=o.match(e);u(t?t[1]:null)},t[4]=o,t[5]=d);let f=s(d),p,m;if(t[6]===f?(p=t[7],m=t[8]):(p=()=>{let e=e=>{f(window.location)};return window.addEventListener(`hashchange`,e),window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`hashchange`,e),window.removeEventListener(`popstate`,e)}},m=[f],t[6]=f,t[7]=p,t[8]=m),(0,K.useEffect)(p,m),!l)return null;let h=n.indexOf(l),g;return t[9]===r?g=t[10]:(g=K.Children.toArray(r),t[9]=r,t[10]=g),g[h]},xE=class{tagName=`marimo-stat`;validator=H({value:We([B(),z(),V()]).optional(),label:B().optional(),caption:B().optional(),bordered:V().default(!1),direction:Ze([`increase`,`decrease`]).optional(),target_direction:Ze([`increase`,`decrease`]).default(`increase`),slot:Qe().optional()});render({data:e}){return(0,q.jsx)(SE,{...e})}},SE=e=>{let t=(0,J.c)(31),{value:n,label:r,caption:i,bordered:a,direction:o,target_direction:s,slot:c}=e,{locale:l}=zo(),u;t[0]!==l||t[1]!==n?(u=()=>n==null?(0,q.jsx)(`i`,{children:`No value`}):typeof n==`string`?n:typeof n==`number`?Vo(n,l):typeof n==`boolean`?n?`True`:`False`:String(n),t[0]=l,t[1]=n,t[2]=u):u=t[2];let d=u,f=o===s,p=f?`var(--grass-8)`:`var(--red-8)`,m=f?`var(--grass-9)`:`var(--red-9)`,h;t[3]===c?h=t[4]:(h=()=>{let e=Yr(c);if(e?.[0]){let{mimetype:t,data:n}=e[0];return t!==`text/html`&&W.warn(`Expected text/html, got ${t}`),Xo({html:n,alwaysSanitizeHtml:!0})}},t[3]=c,t[4]=h);let g=h,_=a&&`rounded-xl border shadow bg-card`,v;t[5]===_?v=t[6]:(v=G(`text-card-foreground p-6`,_),t[5]=_,t[6]=v);let y;t[7]===r?y=t[8]:(y=r&&(0,q.jsx)(`div`,{className:`flex flex-row items-center justify-between space-y-0 pb-2`,children:(0,q.jsx)(`h3`,{className:`tracking-tight text-sm font-medium`,children:r})}),t[7]=r,t[8]=y);let b;t[9]===d?b=t[10]:(b=d(),t[9]=d,t[10]=b);let x;t[11]===b?x=t[12]:(x=(0,q.jsx)(`div`,{className:`text-2xl font-bold`,children:b}),t[11]=b,t[12]=x);let S;t[13]!==i||t[14]!==o||t[15]!==p||t[16]!==m?(S=i&&(0,q.jsxs)(`p`,{className:`pt-1 text-xs text-muted-foreground flex align-center whitespace-nowrap`,children:[o===`increase`&&(0,q.jsx)(Wl,{className:`w-4 h-4 mr-1 p-0.5`,fill:p,stroke:m}),o===`decrease`&&(0,q.jsx)(Wl,{className:`w-4 h-4 mr-1 p-0.5 transform rotate-180`,fill:p,stroke:m}),i]}),t[13]=i,t[14]=o,t[15]=p,t[16]=m,t[17]=S):S=t[17];let C;t[18]!==x||t[19]!==S?(C=(0,q.jsxs)(`div`,{children:[x,S]}),t[18]=x,t[19]=S,t[20]=C):C=t[20];let w;t[21]!==g||t[22]!==c?(w=c&&(0,q.jsx)(`div`,{className:`[--slot:true]`,children:g()}),t[21]=g,t[22]=c,t[23]=w):w=t[23];let T;t[24]!==w||t[25]!==C?(T=(0,q.jsxs)(`div`,{className:`pt-0 flex flex-row gap-3.5`,children:[C,w]}),t[24]=w,t[25]=C,t[26]=T):T=t[26];let E;return t[27]!==T||t[28]!==v||t[29]!==y?(E=(0,q.jsxs)(`div`,{className:v,children:[y,T]}),t[27]=T,t[28]=v,t[29]=y,t[30]=E):E=t[30],E},CE=class{tagName=`marimo-tex`;validator=H({});render(e){return(0,q.jsx)(OE,{host:e.host,tex:e.host.textContent||e.host.innerHTML})}},wE=Ao(async()=>(await wo(async()=>{let{default:e}=await import(`./katex-CQIbPNPT.js`);return{default:e}},__vite__mapDeps([395,396]),import.meta.url)).default),TE=Ao(async()=>{await wo(()=>import(`./mhchem-hMh9XtQZ.js`),__vite__mapDeps([397,396]),import.meta.url)}),EE={"\\mbox":`\\text{#1}`};async function DE(e,t){let[n]=await Promise.all([wE(),TE()]);t.startsWith(`||(||(`)&&t.endsWith(`||)||)`)?n.render(t.slice(6,-6),e,{displayMode:!0,globalGroup:!0,throwOnError:!1,macros:EE}):t.startsWith(`||(`)&&t.endsWith(`||)`)?n.render(t.slice(3,-3),e,{displayMode:!1,globalGroup:!0,throwOnError:!1,macros:EE}):t.startsWith(`||[`)&&t.endsWith(`||]`)&&n.render(t.slice(3,-3),e,{displayMode:!0,globalGroup:!0,throwOnError:!1,macros:EE})}var OE=e=>{let t=(0,J.c)(10),{host:n,tex:r}=e,i=(0,K.useRef)(null),[a,o]=(0,K.useState)(r),s,c;t[0]===n?(s=t[1],c=t[2]):(s=()=>{let e=new MutationObserver(()=>{let e=n.textContent||n.innerHTML;o(e)});return e.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{e.disconnect()}},c=[n],t[0]=n,t[1]=s,t[2]=c),(0,K.useLayoutEffect)(s,c);let l;t[3]===n.parentElement?.tagName?l=t[4]:(l=n.parentElement?.tagName.toLowerCase(),t[3]=n.parentElement?.tagName,t[4]=l);let u=l===`marimo-tex`,d,f;t[5]!==a||t[6]!==u?(d=()=>{i.current&&!u&&DE(i.current,a)},f=[a,u],t[5]=a,t[6]=u,t[7]=d,t[8]=f):(d=t[7],f=t[8]),(0,K.useLayoutEffect)(d,f);let p;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(`span`,{ref:i}),t[9]=p):p=t[9],p},kE=[new Dv,new Av,iS,new yS,new CS,new xS,new TS,new Mv,new kS,new uC,oC,yC,new TC,new VC,new $y,new dw,new uT,new vT,new pT,new ST,new ET,new OT,new jT,new PT,new RT,new tw,new iT,Rv,NS,nC,iE,$T,wv,Fy,_w,aw],AE=[new zT,new UT,new ZT,new nE,new rE,new oE,new sE,new bp,new uE,new fE,new yE,new xE,new CE];function jE(){vv(),Sv(),kE.forEach(pv),AE.forEach(pv)}async function ME(){if(typeof document>`u`)return;let{onLCP:e,onINP:t,onCLS:n}=await wo(async()=>{let{onLCP:e,onINP:t,onCLS:n}=await import(`./web-vitals-GNyUJRRQ.js`);return{onLCP:e,onINP:t,onCLS:n}},[],import.meta.url);W.debug(`Reporting vitals`);let r=e=>{let t=e.rating===`good`?`green`:e.rating===`needs-improvement`?`orange`:`red`;W.log(`%c [Metric ${e.name}] ${e.value}`,`background:${t}; color:white; padding:2px 0; border-radius:2px`)};n(r),t(r),e(r)}var NE=!1;function PE(e,t){if(NE)return W.warn(`marimo app has already been mounted.`),Error(`marimo app has already been mounted.`);NE=!0;let n=(0,Gl.createRoot)(t);try{ka(),jE(),Hf(),an()&&(St(),Ct(os),RE()),LE(e),n.render((0,q.jsx)(o,{store:a,children:(0,q.jsx)(kf,{children:(0,q.jsx)(zf,{})})}))}catch(e){return n.render((0,q.jsx)(_n,{children:(0,q.jsx)(()=>{throw e},{})})),e}finally{ME()}}var FE=Ve({}).nullish().default({}).transform(e=>e||(typeof e==`string`?(W.warn(`[marimo] received JSON string instead of object. Parsing...`),JSON.parse(e)):(W.warn(`[marimo] missing config data`),{}))),IE=H({filename:B().nullish().transform(e=>e||(W.warn(`No filename provided, using fallback`),be())),cwd:B().nullish().default(null),lspWorkspace:H({rootUri:B(),documentUri:B()}).nullish().default(null),code:B().nullish().transform(e=>e??mn()??``),version:B().nullish().transform(e=>e??`unknown`),mode:Ze([`edit`,`read`,`home`,`run`,`gallery`]).transform(e=>e===`run`?`read`:e),config:FE,configOverrides:FE,pairPreview:Vt.optional(),appConfig:FE,layout:Ge().optional().transform(e=>Ja(e)?e:void 0),view:H({showAppCode:V().default(!0)}).nullish().transform(e=>e??{showAppCode:!0}),serverToken:B().nullish().transform(e=>e??``),fileStores:U(Be()).optional(),session:We([rt().optional(),Ve({version:He(`1`),metadata:Qe(),cells:U(Qe())}).transform(e=>e)]),notebook:We([rt().optional(),Ve({version:He(`1`),metadata:Qe(),cells:U(Qe())}).transform(e=>e)]),runtimeConfig:U(Ve({url:B(),lazy:V().default(!0),authToken:B().nullish()})).nullish().transform(e=>e??[])});function LE(e){let t=IE.safeParse(e);if(!t.success)throw W.error(`Invalid marimo mount options`,t.error),Error(`Invalid marimo mount options`);let n=t.data.mode;if(Rf(n),t.data.fileStores&&t.data.fileStores.length>0){W.log(`🗄️ Initializing file stores via mount...`);for(let e=t.data.fileStores.length-1;e>=0;e--)wt.insert(0,t.data.fileStores[e]);W.log(`🗄️ Injected ${t.data.fileStores.length} file store(s) into notebookFileStore`)}a.set(Io,ap()),a.set(Re,t.data.filename),a.set(O,t.data.cwd??null),a.set(f,t.data.lspWorkspace),a.set(w,t.data.code),a.set(Gt,n),a.set(fn,t.data.version),a.set(dn,t.data.view.showAppCode);let r=new URL(window.location.href),i=r.searchParams.get(zt.viewAs)===`present`,o=r.searchParams.get(zt.kiosk)===`true`,s=n===`edit`&&i?`present`:n;if(a.set(Yt,{mode:s,cellAnchor:null}),a.set(qt,o),a.set(un,t.data.serverToken),a.set(vt,mt(t.data.configOverrides)),a.set(ft,ht(t.data.config)),a.set(_t,pt(t.data.appConfig)),a.set(Ht,t.data.pairPreview),t.data.runtimeConfig.length>0){let e=t.data.runtimeConfig[0];W.debug(`⚡ Runtime URL`,e.url),a.set(rn,{...e,serverToken:t.data.serverToken}),!e.lazy&&!an()&&a.set(tn,{state:en.CONNECTING})}else a.set(rn,{...cn,lazy:!1,serverToken:t.data.serverToken});let c=iu(t.data.session,t.data.notebook);a.set(Za,Xa(t.data.layout)),c&&a.set(se,c)}function RE(){let e=sn();if(e)for(let t of e)xt(At,t)}var zE=document.getElementById(`root`);if(zE){if(!window.__MARIMO_MOUNT_CONFIG__)throw Error(`[marimo] mount config not found`);PE(window.__MARIMO_MOUNT_CONFIG__,zE)}else throw Error(`[marimo] root element not found`);
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-2x6EiFI0.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-BtV91sqJ.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-B0Z9INg1.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/react-CUdNIagt.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-BQ9S8nyo.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.25.2-dev65",
3
+ "version": "0.25.2-dev66",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import type { JSX } from "react";
3
+ import { type JSX, useId } from "react";
4
4
  import { z } from "zod";
5
5
  import { cn } from "@/utils/cn";
6
6
  import {
@@ -56,6 +56,7 @@ interface TextAreaComponentProps extends Data {
56
56
  }
57
57
 
58
58
  const TextAreaComponent = (props: TextAreaComponentProps) => {
59
+ const textareaId = useId();
59
60
  const bottomAdornment = props.maxLength ? (
60
61
  <span className="text-muted-foreground text-xs font-medium">
61
62
  {props.value.length}/{props.maxLength}
@@ -64,8 +65,14 @@ const TextAreaComponent = (props: TextAreaComponentProps) => {
64
65
 
65
66
  if (props.debounce === true) {
66
67
  return (
67
- <Labeled label={props.label} align="top" fullWidth={props.fullWidth}>
68
+ <Labeled
69
+ controlId={textareaId}
70
+ label={props.label}
71
+ align="top"
72
+ fullWidth={props.fullWidth}
73
+ >
68
74
  <OnBlurredTextarea
75
+ id={textareaId}
69
76
  className={cn("font-code", {
70
77
  "w-full": props.fullWidth,
71
78
  })}
@@ -86,8 +93,14 @@ const TextAreaComponent = (props: TextAreaComponentProps) => {
86
93
 
87
94
  if (typeof props.debounce === "number") {
88
95
  return (
89
- <Labeled label={props.label} align="top" fullWidth={props.fullWidth}>
96
+ <Labeled
97
+ controlId={textareaId}
98
+ label={props.label}
99
+ align="top"
100
+ fullWidth={props.fullWidth}
101
+ >
90
102
  <DebouncedTextarea
103
+ id={textareaId}
91
104
  className={cn("font-code", {
92
105
  "w-full": props.fullWidth,
93
106
  })}
@@ -108,8 +121,14 @@ const TextAreaComponent = (props: TextAreaComponentProps) => {
108
121
  }
109
122
 
110
123
  return (
111
- <Labeled label={props.label} align="top" fullWidth={props.fullWidth}>
124
+ <Labeled
125
+ controlId={textareaId}
126
+ label={props.label}
127
+ align="top"
128
+ fullWidth={props.fullWidth}
129
+ >
112
130
  <Textarea
131
+ id={textareaId}
113
132
  className={cn("font-code", {
114
133
  "w-full": props.fullWidth,
115
134
  })}
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { AtSignIcon, GlobeIcon, LockIcon } from "lucide-react";
4
- import { type JSX, useRef, useState } from "react";
4
+ import { type JSX, useId, useRef, useState } from "react";
5
5
  import { z } from "zod";
6
6
  import {
7
7
  DebouncedInput,
@@ -73,6 +73,7 @@ interface TextComponentProps extends Data {
73
73
  }
74
74
 
75
75
  const TextComponent = (props: TextComponentProps) => {
76
+ const inputId = useId();
76
77
  // Before first real keystroke: show masked placeholder, suppress setValue.
77
78
  // After first keystroke: normal password field.
78
79
  const initiallyMasked =
@@ -125,6 +126,7 @@ const TextComponent = (props: TextComponentProps) => {
125
126
  if (props.debounce === true) {
126
127
  input = (
127
128
  <OnBlurredInput
129
+ id={inputId}
128
130
  data-testid="marimo-plugin-text-input"
129
131
  type={props.kind}
130
132
  icon={icon[props.kind]}
@@ -143,6 +145,7 @@ const TextComponent = (props: TextComponentProps) => {
143
145
  } else if (typeof props.debounce === "number") {
144
146
  input = (
145
147
  <DebouncedInput
148
+ id={inputId}
146
149
  data-testid="marimo-plugin-text-input"
147
150
  type={props.kind}
148
151
  icon={icon[props.kind]}
@@ -163,6 +166,7 @@ const TextComponent = (props: TextComponentProps) => {
163
166
  } else {
164
167
  input = (
165
168
  <Input
169
+ id={inputId}
166
170
  data-testid="marimo-plugin-text-input"
167
171
  type={props.kind}
168
172
  icon={icon[props.kind]}
@@ -182,7 +186,11 @@ const TextComponent = (props: TextComponentProps) => {
182
186
  }
183
187
 
184
188
  return (
185
- <Labeled label={props.label} fullWidth={props.fullWidth}>
189
+ <Labeled
190
+ controlId={inputId}
191
+ label={props.label}
192
+ fullWidth={props.fullWidth}
193
+ >
186
194
  {input}
187
195
  </Labeled>
188
196
  );
@@ -0,0 +1,141 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+ import { act, fireEvent, render, screen } from "@testing-library/react";
3
+ import { expect, test, vi } from "vitest";
4
+ import type { IPlugin } from "../../types";
5
+ import { TextInputPlugin } from "../TextInputPlugin";
6
+ import { TextAreaPlugin } from "../TextAreaPlugin";
7
+
8
+ function testLabelBehavior<D extends { label: string | null }>(
9
+ plugin: IPlugin<string, D>,
10
+ ) {
11
+ for (const debounce of [false, true, 200]) {
12
+ test(`${plugin.tagName} associates formatted label with debounce=${debounce}`, () => {
13
+ const setValue = vi.fn();
14
+ const props = {
15
+ host: document.createElement("div"),
16
+ value: "",
17
+ setValue,
18
+ functions: {},
19
+ data: plugin.validator.parse({
20
+ initialValue: "",
21
+ placeholder: "",
22
+ label: "<strong>Notes &amp; details</strong>",
23
+ debounce,
24
+ }),
25
+ };
26
+ const { rerender } = render(plugin.render(props));
27
+ const control = screen.getByLabelText("Notes & details");
28
+ expect(control).toHaveAccessibleName("Notes & details");
29
+ const id = control.id;
30
+ rerender(
31
+ plugin.render({
32
+ ...props,
33
+ data: { ...props.data, label: "Updated notes" },
34
+ }),
35
+ );
36
+ expect(screen.getByLabelText("Updated notes").id).toBe(id);
37
+ rerender(
38
+ plugin.render({ ...props, data: { ...props.data, label: null } }),
39
+ );
40
+ expect(control).toHaveAccessibleName("");
41
+ });
42
+ test(`${plugin.tagName} preserves commit timing with debounce=${debounce}`, () => {
43
+ vi.useFakeTimers();
44
+ try {
45
+ const setValue = vi.fn();
46
+ const props = {
47
+ host: document.createElement("div"),
48
+ value: "",
49
+ setValue,
50
+ functions: {},
51
+ data: plugin.validator.parse({
52
+ initialValue: "",
53
+ placeholder: "",
54
+ label: "Notes",
55
+ debounce,
56
+ }),
57
+ };
58
+ render(plugin.render(props));
59
+ const control = screen.getByLabelText("Notes");
60
+ if (debounce === false) {
61
+ fireEvent.input(control, { target: { value: "hello" } });
62
+ } else {
63
+ fireEvent.change(control, { target: { value: "hello" } });
64
+ }
65
+ const immediateCalls = debounce === false ? 1 : 0;
66
+ expect(setValue).toHaveBeenCalledTimes(immediateCalls);
67
+ act(() => vi.advanceTimersByTime(199));
68
+ expect(setValue).toHaveBeenCalledTimes(immediateCalls);
69
+ if (debounce === true) {
70
+ fireEvent.blur(control);
71
+ } else if (typeof debounce === "number") {
72
+ act(() => vi.advanceTimersByTime(1));
73
+ }
74
+ expect(setValue).toHaveBeenCalledWith("hello");
75
+ } finally {
76
+ vi.useRealTimers();
77
+ }
78
+ });
79
+ }
80
+ }
81
+
82
+ for (const kind of ["text", "password", "email", "url"] as const) {
83
+ test(`native association preserves ${kind} input attributes`, () => {
84
+ const plugin = new TextInputPlugin();
85
+ render(
86
+ plugin.render({
87
+ host: document.createElement("div"),
88
+ value: "",
89
+ setValue: vi.fn(),
90
+ functions: {},
91
+ data: plugin.validator.parse({
92
+ initialValue: "",
93
+ placeholder: "",
94
+ label: "Account",
95
+ kind,
96
+ disabled: true,
97
+ minLength: 2,
98
+ maxLength: 30,
99
+ }),
100
+ }),
101
+ );
102
+ const control = screen.getByLabelText("Account");
103
+ expect(control).toHaveAttribute("type", kind);
104
+ expect(control).toBeDisabled();
105
+ expect(control).toBeRequired();
106
+ expect(control).toHaveAttribute("minlength", "2");
107
+ expect(control).toHaveAttribute("maxlength", "30");
108
+ });
109
+ }
110
+
111
+ function testMultipleInstances<D>(plugin: IPlugin<string, D>) {
112
+ test(`${plugin.tagName} keeps repeated labels independently associated`, () => {
113
+ const props = {
114
+ host: document.createElement("div"),
115
+ value: "",
116
+ setValue: vi.fn(),
117
+ functions: {},
118
+ data: plugin.validator.parse({
119
+ initialValue: "",
120
+ placeholder: "",
121
+ label: "Notes",
122
+ }),
123
+ };
124
+ render(
125
+ <>
126
+ {plugin.render(props)}
127
+ {plugin.render(props)}
128
+ </>,
129
+ );
130
+ const controls = screen.getAllByLabelText("Notes");
131
+ expect(controls).toHaveLength(2);
132
+ expect(controls[0].id).not.toBe(controls[1].id);
133
+ expect(controls[0]).toHaveAccessibleName("Notes");
134
+ expect(controls[1]).toHaveAccessibleName("Notes");
135
+ });
136
+ }
137
+
138
+ testLabelBehavior(new TextInputPlugin());
139
+ testLabelBehavior(new TextAreaPlugin());
140
+ testMultipleInstances(new TextInputPlugin());
141
+ testMultipleInstances(new TextAreaPlugin());