@marimo-team/frontend 0.23.16-dev29 → 0.23.16-dev31

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.
@@ -1,4 +1,4 @@
1
- var ee=Object.defineProperty;var te=(t,A,e)=>A in t?ee(t,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[A]=e;var E=(t,A,e)=>te(t,typeof A!="symbol"?A+"":A,e);import{s as pA}from"./chunk-LvLJmgfZ.js";import{d as j,i as ae,l as fA,p as P,u as y}from"./useEvent-D91BmmQi.js";import{t as Ge}from"./react-Bj1aDYRI.js";import{E as wA,F as se,Ft as oe,In as re,It as ne,L as ie,Lt as le,Pr as ke,Rt as ce,Tn as Re,Xi as Ze,bn as de,c as he,h as ge,it as ue,k as Be,m as RA,na as me,nn as xA,tn as Ye,w as pe,y as CA,z as fe,zr as EA}from"./cells-6yd8nOAu.js";import{t as B}from"./compiler-runtime-B3qBwwSJ.js";import{_ as we,c as xe,g as Ce,i as Ee,m as ye,n as De,o as T,p as ve,r as be,s as Ne,t as Se,v as Me,x as _e,y as Fe}from"./state-B7LxUcAy.js";import{g as Y,t as Oe}from"./useEventListener-C0195JsF.js";import{t as Qe}from"./objects-BlG0ZrO0.js";import{D as Le,f as je,w as Pe}from"./utils-BWBBpCkT.js";import{r as I}from"./constants-CDyU_g2F.js";import{D as Te,M as ZA,O as yA,T as p,d as Ie,j as Ke,l as DA,o as He,v as We,w as D}from"./config-B-Q7J_6d.js";import{o as Ue}from"./switch-OVajJBPR.js";import{i as Ve}from"./readonly-python-code-n_TrLmsR.js";import{n as Xe}from"./ErrorBoundary-DzTD8LVq.js";import{n as qe,t as w}from"./cn-DYvqRARy.js";import{t as Je}from"./jsx-runtime-Blw4afVn.js";import{o as ze,r as $e}from"./fullscreen-CTDqNQr6.js";import{_ as At,f as et,g as tt,h as vA,m as bA,p as NA,v as SA,y as at}from"./alert-dialog-Bb8Lz8ko.js";import{Ct as MA,Mt as Gt,jt as st}from"./JsonOutput-BwwRpByA.js";import{g as ot}from"./download-HKgqJX4l.js";import{t as _A}from"./tooltip-4bZlU7jl.js";import{t as FA}from"./button-DDGiD1NW.js";import{t as rt}from"./createReducer-DGx5Af-C.js";import{i as OA}from"./strings--BknHX9C.js";import{t as nt}from"./requests-9-v2bhoi.js";import{t as dA}from"./createLucideIcon-w-Qo9n0R.js";import{F as QA,P as it,a as lt,i as LA,n as kt,o as ct,s as Rt}from"./layout-Dtql_o_T.js";import{c as Zt,r as dt,s as ht}from"./state-DDag0B_B.js";import{d as gt,n as ut}from"./markdown-renderer-dABDqZDw.js";import{n as Bt}from"./spinner-D-V4psAa.js";import{t as mt}from"./uuid-ImXS-885.js";import{t as hA}from"./use-toast-BwJoaaDM.js";import{i as gA}from"./session-BmukRjSi.js";import{t as Yt}from"./RenderHTML-DRltV71H.js";import{r as pt}from"./share-852X_cqy.js";import{a as jA}from"./errors-PgHhDa-M.js";import{s as ft}from"./react-icons.esm-D4GMDkIf.js";import{r as PA}from"./events-90X9nql5.js";import{i as wt}from"./cell-link-C5gpAn3R.js";import{n as xt}from"./useAsyncData-Bg5iAViP.js";import{t as Ct}from"./requests-DYeT4CEe.js";import{t as Et}from"./request-registry-DHocQ_4I.js";import{t as yt}from"./ws-BmTnbVEi.js";import{n as Dt}from"./types-Da7lA5YC.js";import{n as vt}from"./runs-DBTXqJHS.js";var bt=dA("hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),TA=dA("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),Nt=dA("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),St=B(),c=pA(Je(),1);const Mt=t=>{let A=(0,St.c)(2),{reason:e}=t,a;return A[0]===e?a=A[1]:(a=(0,c.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,c.jsx)("p",{children:e})}),A[0]=e,A[1]=a),a};var _t=B(),g=pA(Ge(),1);const Ft=t=>{let A=(0,_t.c)(7),{connection:e,className:a,children:G}=t,s;A[0]!==e.reason||A[1]!==e.state?(s=e.state===p.CLOSED&&(0,c.jsx)(Mt,{reason:e.reason}),A[0]=e.reason,A[1]=e.state,A[2]=s):s=A[2];let o;return A[3]!==G||A[4]!==a||A[5]!==s?(o=(0,c.jsxs)("div",{className:a,children:[G,s]}),A[3]=G,A[4]=a,A[5]=s,A[6]=o):o=A[6],o};var Ot=B();function Qt(t){let A=(0,Ot.c)(3),[e,a]=(0,g.useState)(t<=0),G,s;return A[0]===t?(G=A[1],s=A[2]):(G=()=>{if(t<=0){a(!0);return}a(!1);let o=setTimeout(()=>a(!0),t);return()=>clearTimeout(o)},s=[t],A[0]=t,A[1]=G,A[2]=s),(0,g.useLayoutEffect)(G,s),e}const IA=t=>{let{requires:A,fallback:e,delay:a,children:G}=t,s=e===void 0?null:e,o=a===void 0?0:a,i=y(A),r=Qt(i?0:o);return i?G:r?s:null};var Lt=B();const jt=t=>{let A=(0,Lt.c)(10),{title:e}=t,[a,G]=(0,g.useState)(e),[s,o]=(0,g.useState)(!0),i,r;A[0]!==a||A[1]!==e?(i=()=>{if(e!==a){o(!1);let d=setTimeout(()=>{G(e),o(!0)},300);return()=>clearTimeout(d)}},r=[e,a],A[0]=a,A[1]=e,A[2]=i,A[3]=r):(i=A[2],r=A[3]),(0,g.useEffect)(i,r);let n;A[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,c.jsx)(Bt,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=n):n=A[4];let k=s?"opacity-100":"opacity-0",l;A[5]===k?l=A[6]:(l=w("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",k),A[5]=k,A[6]=l);let Z;return A[7]!==a||A[8]!==l?(Z=(0,c.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[n,(0,c.jsx)("div",{className:l,children:a})]}),A[7]=a,A[8]=l,A[9]=Z):Z=A[9],Z};function Pt(t,A){return t==="edit"||t==="home"||t==="gallery"?!0:t==="present"||gA(I.includeCode,"false")||gA(I.showCode,"false")?!1:gA(I.showCode,"true")?!0:A}function Tt(t){let A=Pt(t.mode,t.showAppCode),e=t.hasCells&&t.hasCachedOutputs;return{showCode:A,showCachedOutputs:e,canPaint:t.hasCells&&(A||e||t.allCellsIdle)}}var KA=P(t=>{let A=!1,e=!0;for(let a of Object.values(t(CA).cellRuntime))ut(a.output)||(A=!0),a.status!=="idle"&&(e=!1);return{hasCachedOutputs:A,allCellsIdle:e}}),It=P(t=>t(KA).hasCachedOutputs),Kt=P(t=>t(KA).allCellsIdle);const Ht=P(t=>Tt({mode:t(Te),showAppCode:t(Ue),hasCells:t(ge),hasCachedOutputs:t(It),allCellsIdle:t(Kt)})),HA=P(t=>t(Ht).canPaint);var uA=B();const Wt=t=>{let A=(0,uA.c)(2),{children:e}=t;if(!ZA())return e;let a;return A[0]===e?a=A[1]:(a=(0,c.jsx)(Ut,{children:e}),A[0]=e,A[1]=a),a};var Ut=t=>{let A=(0,uA.c)(8),{children:e}=t,a;A[0]===Symbol.for("react.memo_cache_sentinel")?(a=[],A[0]=a):a=A[0];let{error:G}=xt(Xt,a),s=y(HA),o=(0,g.useRef)(!1),i,r;if(A[1]!==s||A[2]!==G?(i=()=>{G&&s&&!o.current&&(o.current=!0,Y.error("Pyodide failed to initialize",G),hA({title:"Failed to start the notebook runtime",description:jA(G),variant:"danger"}))},r=[G,s],A[1]=s,A[2]=G,A[3]=i,A[4]=r):(i=A[3],r=A[4]),(0,g.useEffect)(i,r),G&&!s)throw G;let n;A[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,c.jsx)(Vt,{}),A[5]=n):n=A[5];let k;return A[6]===e?k=A[7]:(k=(0,c.jsx)(IA,{requires:HA,fallback:n,children:e}),A[6]=e,A[7]=k),k},Vt=()=>{let t=(0,uA.c)(2),A=y(Ce),e=A.kind==="loading"?A.message:"Loading\u2026",a;return t[0]===e?a=t[1]:(a=(0,c.jsx)(jt,{title:e}),t[0]=e,t[1]=a),a};async function Xt(){return await ve.INSTANCE.initialized.promise,!0}var qt={idle:"./favicon.ico",success:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAAXXQAAFd3AwBWeAQAVngEAFd4AwBXeAQAVnkEAFh3AwBXdwQAVXcGAFd4BQBXeAQAWHgEAFd6AwBXeAMAVnkEAFZ5AwBXdwQAV3cFAFd4BABYeAQAV3gEAFh4BABXeAQA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGRkXFhYVGRkZGRkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGRcYGBgYFxkZGRkZGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZFxgYGBgYGBcZGRkZGRkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkXGBgYGBgYGBgXGRkZGRkZGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRUYGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRYYGBgYFxcYGBgYGBcZGRkZGRkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRYYGBgXGRkXGBgYGBgXGRkZGRkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRUWFhcZGRkZFxgYGBgYFxkZGRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGRkZGRkZGRcYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGRkZGRkZGRkXGBgYGBYZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGRkZGRkZGRkZFxgYGBYZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGRkZGRkZGRkZGRUWFhUZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",running:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAA0YsAAMWEAwDHgwIAx4QBAMeEAgDGhAIAyIUBAMaFAwDGhAIAxoIAAMaFAgDHhAIAx4QCAMiFAwDHhAIAx4YAAMaFAgDHhQEAxoMCAMeEAgDHgwQAx4QDAMeDAgDHhAIA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRgWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBYVGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBYVGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBYVGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBUWGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBYVGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRUWGBgYGBgYFxkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFxkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFhkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkXGBgYGBgYFRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBkXGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBcZGRkZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBcZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBcZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRYWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",error:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAALi7oACcn2wAlJdsAJibcACYm3AAmJtsAJyfdACUl3QAmJtsAKCjdACUl3AAmJtwAJyfcACYm3AAoKNcAJibcACcn3AAmJt0AJibcACUl3AAmJtwAKCjbACcn3AAmJtsAJibcAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAABxkZGRAaGhoaGhoaGhYXFxYaGhoaGhoaGhgXFxYaGhoaGhoaGhAZGRkHAAAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAADGRkZDRoaGhoaGhoaGhgZGRkZGRgaGhgZGRkZGRYaGhoaGhoaGhoNGRkZAwAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAADGRkZDRoaGhoaGhoaGhYZGRkZGRgaGhgZGRkZGRgaGhoaGhoaGhoNGRkZAwAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAAABxkZGRAaGhoaGhoaGhYXFxgaGhoaGhoaGhYXFxYaGhoaGhoaGhAZGRkHAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA"};async function K(t){return qt[t]}function Jt(t){if(document.visibilityState==="visible")return;let A=async()=>{t===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await K("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${t} error(s).`,icon:await K("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const zt=t=>{let{isRunning:A}=t,e=Be(),a=document.querySelector("link[rel~='icon']");a||(a=document.createElement("link"),a.rel="icon",document.getElementsByTagName("head")[0].append(a)),(0,g.useEffect)(()=>{!A&&a.href.includes("favicon")||(async()=>{let s;if(s=A?"running":e.length===0?"success":"error",a.href=await K(s),!document.hasFocus())return;let o=setTimeout(async()=>{a.href=await K("idle")},3e3);return()=>clearTimeout(o)})()},[A,e,a]);let G=it(A)??A;return(0,g.useEffect)(()=>{G&&!A&&Jt(e.length)},[e,G,A]),Oe(window,"focus",async s=>{A||(a.href=await K("idle"))}),null};function $t(){let{cellIds:t,cellRuntime:A}=ae.get(CA),e=t.inOrderIds.find(a=>{var G;return((G=A[a])==null?void 0:G.status)==="running"});e&&wt(e,"focus")}var tA=B();const Aa=t=>{let A=(0,tA.c)(18),{connection:e,isRunning:a,onReconnect:G}=t,{mode:s}=y(Ke),o=e.state===p.CLOSED,i=e.state===p.OPEN,r=o&&e.code===D.KERNEL_DISCONNECTED,n;A[0]===o?n=A[1]:(n=o&&(0,c.jsx)(aa,{}),A[0]=o,A[1]=n);let k=s==="read"?"fixed":"absolute",l;A[2]===k?l=A[3]:(l=w("z-50 top-4 left-4",k),A[2]=k,A[3]=l);let Z;A[4]!==i||A[5]!==a?(Z=i&&a&&(0,c.jsx)(ta,{}),A[4]=i,A[5]=a,A[6]=Z):Z=A[6];let d;A[7]!==r||A[8]!==o||A[9]!==G?(d=o&&(0,c.jsx)(ea,{onReconnect:r?G:void 0}),A[7]=r,A[8]=o,A[9]=G,A[10]=d):d=A[10];let h;A[11]!==l||A[12]!==Z||A[13]!==d?(h=(0,c.jsxs)("div",{className:l,children:[Z,d]}),A[11]=l,A[12]=Z,A[13]=d,A[14]=h):h=A[14];let u;return A[15]!==n||A[16]!==h?(u=(0,c.jsxs)(c.Fragment,{children:[n,h]}),A[15]=n,A[16]=h,A[17]=u):u=A[17],u};var WA="print:hidden pointer-events-auto hover:cursor-pointer",ea=t=>{let A=(0,tA.c)(12),{onReconnect:e}=t,a=!e,G=a?"App disconnected":"App disconnected \u2014 click to reconnect",s=a?0:-1,o;A[0]===Symbol.for("react.memo_cache_sentinel")?(o=w(WA,"bg-transparent border-0 p-0"),A[0]=o):o=A[0];let i=a?"App disconnected":"Reconnect to app",r;A[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,c.jsx)(Nt,{className:"w-[25px] h-[25px] text-(--red-11)"}),A[1]=r):r=A[1];let n;A[2]!==a||A[3]!==e||A[4]!==i?(n=(0,c.jsx)("button",{type:"button",className:o,"aria-label":i,"data-testid":"disconnected-indicator",onClick:e,disabled:a,children:r}),A[2]=a,A[3]=e,A[4]=i,A[5]=n):n=A[5];let k;A[6]!==s||A[7]!==n?(k=(0,c.jsx)("span",{tabIndex:s,children:n}),A[6]=s,A[7]=n,A[8]=k):k=A[8];let l;return A[9]!==G||A[10]!==k?(l=(0,c.jsx)(_A,{content:G,children:k}),A[9]=G,A[10]=k,A[11]=l):l=A[11],l},ta=()=>{let t=(0,tA.c)(6),A=y(pe),e=A?"Scratchpad is running":"Jump to running cell",a=A?void 0:$t,G;t[0]===Symbol.for("react.memo_cache_sentinel")?(G=(0,c.jsx)(bt,{className:"running-app-icon",size:30,strokeWidth:1}),t[0]=G):G=t[0];let s;t[1]===a?s=t[2]:(s=(0,c.jsx)("div",{className:WA,"data-testid":"loading-indicator",onClick:a,children:G}),t[1]=a,t[2]=s);let o;return t[3]!==s||t[4]!==e?(o=(0,c.jsx)(_A,{content:e,side:"right",children:s}),t[3]=s,t[4]=e,t[5]=o):o=t[5],o},aa=()=>{let t=(0,tA.c)(1),A;return t[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"noise"}),(0,c.jsx)("div",{className:"disconnected-gradient"})]}),t[0]=A):A=t[0],A},S=B(),Ga=At,sa=at,oa=$e(tt),UA=g.forwardRef((t,A)=>{let e=(0,S.c)(9),a,G;e[0]===t?(a=e[1],G=e[2]):({className:a,...G}=t,e[0]=t,e[1]=a,e[2]=G);let s;e[3]===a?s=e[4]:(s=w("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),e[3]=a,e[4]=s);let o;return e[5]!==G||e[6]!==A||e[7]!==s?(o=(0,c.jsx)(vA,{className:s,...G,ref:A}),e[5]=G,e[6]=A,e[7]=s,e[8]=o):o=e[8],o});UA.displayName=vA.displayName;var ra=qe("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),VA=g.forwardRef((t,A)=>{let e=(0,S.c)(15),a,G,s,o;e[0]===t?(a=e[1],G=e[2],s=e[3],o=e[4]):({side:o,className:G,children:a,...s}=t,e[0]=t,e[1]=a,e[2]=G,e[3]=s,e[4]=o);let i=o===void 0?"right":o,r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=(0,c.jsx)(UA,{}),e[5]=r):r=e[5];let n;e[6]!==G||e[7]!==i?(n=w(ra({side:i}),G),e[6]=G,e[7]=i,e[8]=n):n=e[8];let k;e[9]===Symbol.for("react.memo_cache_sentinel")?(k=(0,c.jsxs)(et,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,c.jsx)(ft,{className:"h-4 w-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=k):k=e[9];let l;return e[10]!==a||e[11]!==s||e[12]!==A||e[13]!==n?(l=(0,c.jsx)(oa,{children:(0,c.jsxs)(ze,{children:[r,(0,c.jsxs)(NA,{ref:A,className:n,...s,children:[a,k]})]})}),e[10]=a,e[11]=s,e[12]=A,e[13]=n,e[14]=l):l=e[14],l});VA.displayName=NA.displayName;var na=t=>{let A=(0,S.c)(8),e,a;A[0]===t?(e=A[1],a=A[2]):({className:e,...a}=t,A[0]=t,A[1]=e,A[2]=a);let G;A[3]===e?G=A[4]:(G=w("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=G);let s;return A[5]!==a||A[6]!==G?(s=(0,c.jsx)("div",{className:G,...a}),A[5]=a,A[6]=G,A[7]=s):s=A[7],s};na.displayName="SheetHeader";var ia=t=>{let A=(0,S.c)(8),e,a;A[0]===t?(e=A[1],a=A[2]):({className:e,...a}=t,A[0]=t,A[1]=e,A[2]=a);let G;A[3]===e?G=A[4]:(G=w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=G);let s;return A[5]!==a||A[6]!==G?(s=(0,c.jsx)("div",{className:G,...a}),A[5]=a,A[6]=G,A[7]=s):s=A[7],s};ia.displayName="SheetFooter";var la=g.forwardRef((t,A)=>{let e=(0,S.c)(9),a,G;e[0]===t?(a=e[1],G=e[2]):({className:a,...G}=t,e[0]=t,e[1]=a,e[2]=G);let s;e[3]===a?s=e[4]:(s=w("text-lg font-semibold text-foreground",a),e[3]=a,e[4]=s);let o;return e[5]!==G||e[6]!==A||e[7]!==s?(o=(0,c.jsx)(SA,{ref:A,className:s,...G}),e[5]=G,e[6]=A,e[7]=s,e[8]=o):o=e[8],o});la.displayName=SA.displayName;var ka=g.forwardRef((t,A)=>{let e=(0,S.c)(9),a,G;e[0]===t?(a=e[1],G=e[2]):({className:a,...G}=t,e[0]=t,e[1]=a,e[2]=G);let s;e[3]===a?s=e[4]:(s=w("text-sm text-muted-foreground",a),e[3]=a,e[4]=s);let o;return e[5]!==G||e[6]!==A||e[7]!==s?(o=(0,c.jsx)(bA,{ref:A,className:s,...G}),e[5]=G,e[6]=A,e[7]=s,e[8]=o):o=e[8],o});ka.displayName=bA.displayName;var ca=B();const BA=(0,g.memo)(()=>{let t=(0,ca.c)(1),A;return t[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,c.jsx)(st,{name:MA.SIDEBAR}),t[0]=A):A=t[0],A});BA.displayName="SidebarSlot";var Ra=B();const Za=t=>{let A=(0,Ra.c)(6),{openWidth:e}=t,a;A[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,c.jsx)(sa,{className:"lg:hidden",asChild:!0,children:(0,c.jsx)(FA,{variant:"ghost",className:"bg-background",children:(0,c.jsx)(TA,{className:"w-5 h-5"})})}),A[0]=a):a=A[0];let G;A[1]===e?G=A[2]:(G={maxWidth:e},A[1]=e,A[2]=G);let s;A[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,c.jsx)(BA,{}),A[3]=s):s=A[3];let o;return A[4]===G?o=A[5]:(o=(0,c.jsxs)(Ga,{children:[a,(0,c.jsx)(VA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:G,side:"left",children:s})]}),A[4]=G,A[5]=o),o};var da=B();const ha=t=>{let A=(0,da.c)(7),{isOpen:e,toggle:a}=t,G=e?"rotate-0":"rotate-180",s;A[0]===G?s=A[1]:(s=w("h-5 w-5 transition-transform ease-in-out duration-700",G),A[0]=G,A[1]=s);let o;A[2]===s?o=A[3]:(o=(0,c.jsx)(ot,{className:s}),A[2]=s,A[3]=o);let i;return A[4]!==o||A[5]!==a?(i=(0,c.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,c.jsx)(FA,{onClick:a,className:"w-10 h-8",variant:"ghost",size:"icon",children:o})}),A[4]=o,A[5]=a,A[6]=i):i=A[6],i};var ga=B();const ua=t=>{let A=(0,ga.c)(11),{isOpen:e,toggle:a,width:G}=t,s=e?G:Se,o;A[0]===s?o=A[1]:(o={width:s},A[0]=s,A[1]=o);let i;A[2]===Symbol.for("react.memo_cache_sentinel")?(i=w("app-sidebar auto-collapse-nav","top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300"),A[2]=i):i=A[2];let r;A[3]!==e||A[4]!==a?(r=(0,c.jsx)(ha,{isOpen:e,toggle:a}),A[3]=e,A[4]=a,A[5]=r):r=A[5];let n;A[6]===Symbol.for("react.memo_cache_sentinel")?(n=(0,c.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,c.jsx)(BA,{})}),A[6]=n):n=A[6];let k;return A[7]!==e||A[8]!==o||A[9]!==r?(k=(0,c.jsxs)("aside",{"data-expanded":e,style:o,className:i,children:[r,n]}),A[7]=e,A[8]=o,A[9]=r,A[10]=k):k=A[10],k};var Ba=B();const ma=t=>{let A=(0,Ba.c)(15),{children:e}=t,[a,G]=fA(be),{isOpen:s,width:o}=a;if(Gt(MA.SIDEBAR).length===0)return e;let i;A[0]===o?i=A[1]:(i=De(o),A[0]=o,A[1]=i);let r=i,n;A[2]!==G||A[3]!==s?(n=()=>G({type:"toggle",isOpen:!s}),A[2]=G,A[3]=s,A[4]=n):n=A[4];let k;A[5]!==s||A[6]!==r||A[7]!==n?(k=(0,c.jsx)(ua,{isOpen:s,width:r,toggle:n}),A[5]=s,A[6]=r,A[7]=n,A[8]=k):k=A[8];let l;A[9]===r?l=A[10]:(l=(0,c.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,c.jsx)(Za,{openWidth:r})}),A[9]=r,A[10]=l);let Z;return A[11]!==e||A[12]!==k||A[13]!==l?(Z=(0,c.jsxs)("div",{className:"inset-0 absolute flex",children:[k,l,e]}),A[11]=e,A[12]=k,A[13]=l,A[14]=Z):Z=A[14],Z};var Ya=B();const pa=t=>{let A=(0,Ya.c)(18),{width:e,connection:a,isRunning:G,children:s,onReconnect:o}=t,i=a.state,r;A[0]===G?r=A[1]:(r=(0,c.jsx)(zt,{isRunning:G}),A[0]=G,A[1]=r);let n;A[2]!==a||A[3]!==G||A[4]!==o?(n=(0,c.jsx)(Aa,{connection:a,isRunning:G,onReconnect:o}),A[2]=a,A[3]=G,A[4]=o,A[5]=n):n=A[5];let k;A[6]!==i||A[7]!==e?(k=w("mathjax_ignore",Ie(i)&&"disconnected","bg-background w-full h-full text-textColor","flex flex-col overflow-y-auto",e==="full"&&"config-width-full",e==="columns"?"overflow-x-auto":"overflow-x-auto sm:overflow-x-hidden","print:height-fit"),A[6]=i,A[7]=e,A[8]=k):k=A[8];let l;A[9]!==s||A[10]!==i||A[11]!==k||A[12]!==e?(l=(0,c.jsx)(Wt,{children:(0,c.jsx)(ma,{children:(0,c.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":i,className:k,children:s})})}),A[9]=s,A[10]=i,A[11]=k,A[12]=e,A[13]=l):l=A[13];let Z;return A[14]!==r||A[15]!==n||A[16]!==l?(Z=(0,c.jsxs)(c.Fragment,{children:[r,n,l]}),A[14]=r,A[15]=n,A[16]=l,A[17]=Z):Z=A[17],Z};function fa(t){return t.kind==="missing"}function XA(t){return t.kind==="installing"}var{valueAtom:wa,useActions:xa}=rt(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(t,A)=>{var G;let e={...t.packageLogs};if(XA(A)&&A.logs&&A.log_status)for(let[s,o]of Object.entries(A.logs))switch(A.log_status){case"start":e[s]=o;break;case"append":e[s]=(e[s]||"")+o;break;case"done":e[s]=(e[s]||"")+o;break}let a=((G=t.packageAlert)==null?void 0:G.id)||mt();return{...t,packageAlert:{id:a,...A},packageLogs:e}},clearPackageAlert:(t,A)=>t.packageAlert!==null&&t.packageAlert.id===A?{...t,packageAlert:null,packageLogs:{}}:t,addStartupLog:(t,A)=>{var a;let e=((a=t.startupLogsAlert)==null?void 0:a.content)||"";return{...t,startupLogsAlert:{...t.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:t=>({...t,startupLogsAlert:null})});const Ca=()=>y(wa);function qA(){return xa()}var JA=B();const zA=(0,g.memo)(t=>{let A=(0,JA.c)(11),{appConfig:e,mode:a,children:G}=t,{selectedLayout:s,layoutData:o}=lt();if(!y(yA)&&(a==="edit"||a==="present"&&s==="vertical"))return G;let i;if(A[0]!==a||A[1]!==s){i=s;let l=new URLSearchParams(window.location.search);if(a==="read"&&l.has(I.viewAs)){let Z=l.get(I.viewAs);Dt.includes(Z)&&(i=Z)}A[0]=a,A[1]=s,A[2]=i}else i=A[2];let r;A[3]===i?r=A[4]:(r=ct.find(l=>l.type===i),A[3]=i,A[4]=r);let n=r;if(!n)return G;let k;return A[5]!==e||A[6]!==i||A[7]!==o||A[8]!==a||A[9]!==n?(k=(0,c.jsx)(Ea,{appConfig:e,mode:a,plugin:n,layoutData:o,finalLayout:i}),A[5]=e,A[6]=i,A[7]=o,A[8]=a,A[9]=n,A[10]=k):k=A[10],k});zA.displayName="CellsRenderer";const Ea=t=>{let A=(0,JA.c)(18),{appConfig:e,mode:a,plugin:G,layoutData:s,finalLayout:o}=t,i=se(),{setCurrentLayoutData:r}=LA(),n,k,l,Z,d;if(A[0]!==e||A[1]!==o||A[2]!==s||A[3]!==a||A[4]!==i||A[5]!==G){let u=he(i);n=G.Component,k=e,l=a,Z=u,d=s[o]||G.getInitialLayout(u),A[0]=e,A[1]=o,A[2]=s,A[3]=a,A[4]=i,A[5]=G,A[6]=n,A[7]=k,A[8]=l,A[9]=Z,A[10]=d}else n=A[6],k=A[7],l=A[8],Z=A[9],d=A[10];let h;return A[11]!==n||A[12]!==r||A[13]!==k||A[14]!==l||A[15]!==Z||A[16]!==d?(h=(0,c.jsx)(n,{appConfig:k,mode:l,cells:Z,layout:d,setLayout:r}),A[11]=n,A[12]=r,A[13]=k,A[14]=l,A[15]=Z,A[16]=d,A[17]=h):h=A[17],h};var ya=class $A{constructor(A){E(this,"hasStarted",!1);E(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let a=this.uiElementRegistry.lookupValue(e);a!==void 0&&this.sendComponentValues({objectIds:[e],values:[a]}).catch(G=>{Y.warn(G)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new $A(T)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){Y.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(PA.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){Y.warn("RuntimeState already stopped");return}document.removeEventListener(PA.TYPE,this.handleReadyEvent),this.hasStarted=!1}};const mA="MARIMO_TRANSPORT_EXHAUSTED";var Da=class{constructor(t){E(this,"closeWrappers",new WeakMap);this.inner=new yt(t,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}get readyState(){return this.inner.readyState}reconnect(t,A){this.inner.reconnect(t,A)}close(){this.inner.close()}send(t){this.inner.send(t)}addEventListener(t,A){if(t==="close"){let e=A;if(this.closeWrappers.has(e))return;let a=G=>{this.inner.retryCount>=10?e(new CloseEvent("close",{code:G.code,reason:mA,wasClean:G.wasClean})):e(G)};this.closeWrappers.set(e,a),this.inner.addEventListener("close",a);return}this.inner.addEventListener(t,A)}removeEventListener(t,A){if(t==="close"){let e=A,a=this.closeWrappers.get(e);a&&(this.closeWrappers.delete(e),this.inner.removeEventListener("close",a));return}this.inner.removeEventListener(t,A)}},va=1e4,ba=1e3,Na=1e4,Sa=1.3,Ma=1006,_a=class{constructor(t,A=()=>({})){E(this,"subscriptions",new Me);E(this,"abortController",null);E(this,"retryTimer",null);E(this,"retryCount",0);E(this,"userClosed",!1);E(this,"state",WebSocket.CLOSED);this.urlProvider=t,this.headersProvider=A}get readyState(){return this.state}reconnect(t,A){var e;this.userClosed=!1,this.retryCount=0,this.clearRetryTimer(),(e=this.abortController)==null||e.abort(),this.connect()}close(){var t;this.userClosed=!0,this.clearRetryTimer(),this.state=WebSocket.CLOSED,(t=this.abortController)==null||t.abort(),this.abortController=null}send(t){Y.warn("SseTransport does not support send(); dropping message")}addEventListener(t,A){this.subscriptions.addSubscription(t,A)}removeEventListener(t,A){this.subscriptions.removeSubscription(t,A)}connect(){this.state=WebSocket.CONNECTING,this.run()}async run(){let t=new AbortController;this.abortController=t;let A=setTimeout(()=>t.abort(),va),e=null;try{let G=await fetch(this.urlProvider(),{headers:{...this.headersProvider(),Accept:"text/event-stream"},signal:t.signal});if(clearTimeout(A),!G.ok||G.body===null)throw Error(`Unexpected SSE response: ${G.status}`);this.state=WebSocket.OPEN,this.subscriptions.notify("open",new Event("open")),e=await this.readEvents(G.body)}catch(G){if(clearTimeout(A),this.isSuperseded(t))return;Y.warn("SSE connection failed",G),this.subscriptions.notify("error",new Event("error"))}if(this.isSuperseded(t))return;t.abort(),this.state=WebSocket.CLOSED,this.retryCount+=1;let a=this.retryCount>=10;this.subscriptions.notify("close",new CloseEvent("close",{code:(e==null?void 0:e.code)??Ma,reason:a?mA:(e==null?void 0:e.reason)??"",wasClean:e!==null})),!(a||this.isSuperseded(t))&&this.scheduleRetry()}isSuperseded(t){return this.userClosed||this.abortController!==t}scheduleRetry(){this.clearRetryTimer(),this.state=WebSocket.CONNECTING;let t=Math.min(ba*Sa**this.retryCount,Na);this.retryTimer=setTimeout(()=>{this.retryTimer=null,this.connect()},t)}clearRetryTimer(){this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null)}async readEvents(t){let A=t.getReader(),e=new TextDecoder,a="",G=null,s=[],o=()=>{if(s.length===0)return G=null,null;let i=s.join(`
1
+ var ee=Object.defineProperty;var te=(t,A,e)=>A in t?ee(t,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[A]=e;var E=(t,A,e)=>te(t,typeof A!="symbol"?A+"":A,e);import{s as pA}from"./chunk-LvLJmgfZ.js";import{d as j,i as ae,l as fA,p as P,u as y}from"./useEvent-D91BmmQi.js";import{t as Ge}from"./react-Bj1aDYRI.js";import{E as wA,F as se,Ft as oe,In as re,It as ne,L as ie,Lt as le,Pr as ke,Rt as ce,Tn as Re,Xi as Ze,bn as de,c as he,h as ge,it as ue,k as Be,m as RA,na as me,nn as xA,tn as Ye,w as pe,y as CA,z as fe,zr as EA}from"./cells-6yd8nOAu.js";import{t as B}from"./compiler-runtime-B3qBwwSJ.js";import{_ as we,c as xe,g as Ce,i as Ee,m as ye,n as De,o as T,p as ve,r as be,s as Ne,t as Se,v as Me,x as _e,y as Fe}from"./state-DFPAfLw7.js";import{g as Y,t as Oe}from"./useEventListener-C0195JsF.js";import{t as Qe}from"./objects-BlG0ZrO0.js";import{D as Le,f as je,w as Pe}from"./utils-BWBBpCkT.js";import{r as I}from"./constants-CDyU_g2F.js";import{D as Te,M as ZA,O as yA,T as p,d as Ie,j as Ke,l as DA,o as He,v as We,w as D}from"./config-B-Q7J_6d.js";import{o as Ue}from"./switch-OVajJBPR.js";import{i as Ve}from"./readonly-python-code-n_TrLmsR.js";import{n as Xe}from"./ErrorBoundary-DzTD8LVq.js";import{n as qe,t as w}from"./cn-DYvqRARy.js";import{t as Je}from"./jsx-runtime-Blw4afVn.js";import{o as ze,r as $e}from"./fullscreen-CTDqNQr6.js";import{_ as At,f as et,g as tt,h as vA,m as bA,p as NA,v as SA,y as at}from"./alert-dialog-Bb8Lz8ko.js";import{Ct as MA,Mt as Gt,jt as st}from"./JsonOutput-BwwRpByA.js";import{g as ot}from"./download-HKgqJX4l.js";import{t as _A}from"./tooltip-4bZlU7jl.js";import{t as FA}from"./button-DDGiD1NW.js";import{t as rt}from"./createReducer-DGx5Af-C.js";import{i as OA}from"./strings--BknHX9C.js";import{t as nt}from"./requests-9-v2bhoi.js";import{t as dA}from"./createLucideIcon-w-Qo9n0R.js";import{F as QA,P as it,a as lt,i as LA,n as kt,o as ct,s as Rt}from"./layout-Dtql_o_T.js";import{c as Zt,r as dt,s as ht}from"./state-DDag0B_B.js";import{d as gt,n as ut}from"./markdown-renderer-dABDqZDw.js";import{n as Bt}from"./spinner-D-V4psAa.js";import{t as mt}from"./uuid-ImXS-885.js";import{t as hA}from"./use-toast-BwJoaaDM.js";import{i as gA}from"./session-BmukRjSi.js";import{t as Yt}from"./RenderHTML-DRltV71H.js";import{r as pt}from"./share-852X_cqy.js";import{a as jA}from"./errors-PgHhDa-M.js";import{s as ft}from"./react-icons.esm-D4GMDkIf.js";import{r as PA}from"./events-90X9nql5.js";import{i as wt}from"./cell-link-C5gpAn3R.js";import{n as xt}from"./useAsyncData-Bg5iAViP.js";import{t as Ct}from"./requests-DYeT4CEe.js";import{t as Et}from"./request-registry-DHocQ_4I.js";import{t as yt}from"./ws-BmTnbVEi.js";import{n as Dt}from"./types-Da7lA5YC.js";import{n as vt}from"./runs-DBTXqJHS.js";var bt=dA("hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),TA=dA("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),Nt=dA("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),St=B(),c=pA(Je(),1);const Mt=t=>{let A=(0,St.c)(2),{reason:e}=t,a;return A[0]===e?a=A[1]:(a=(0,c.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,c.jsx)("p",{children:e})}),A[0]=e,A[1]=a),a};var _t=B(),g=pA(Ge(),1);const Ft=t=>{let A=(0,_t.c)(7),{connection:e,className:a,children:G}=t,s;A[0]!==e.reason||A[1]!==e.state?(s=e.state===p.CLOSED&&(0,c.jsx)(Mt,{reason:e.reason}),A[0]=e.reason,A[1]=e.state,A[2]=s):s=A[2];let o;return A[3]!==G||A[4]!==a||A[5]!==s?(o=(0,c.jsxs)("div",{className:a,children:[G,s]}),A[3]=G,A[4]=a,A[5]=s,A[6]=o):o=A[6],o};var Ot=B();function Qt(t){let A=(0,Ot.c)(3),[e,a]=(0,g.useState)(t<=0),G,s;return A[0]===t?(G=A[1],s=A[2]):(G=()=>{if(t<=0){a(!0);return}a(!1);let o=setTimeout(()=>a(!0),t);return()=>clearTimeout(o)},s=[t],A[0]=t,A[1]=G,A[2]=s),(0,g.useLayoutEffect)(G,s),e}const IA=t=>{let{requires:A,fallback:e,delay:a,children:G}=t,s=e===void 0?null:e,o=a===void 0?0:a,i=y(A),r=Qt(i?0:o);return i?G:r?s:null};var Lt=B();const jt=t=>{let A=(0,Lt.c)(10),{title:e}=t,[a,G]=(0,g.useState)(e),[s,o]=(0,g.useState)(!0),i,r;A[0]!==a||A[1]!==e?(i=()=>{if(e!==a){o(!1);let d=setTimeout(()=>{G(e),o(!0)},300);return()=>clearTimeout(d)}},r=[e,a],A[0]=a,A[1]=e,A[2]=i,A[3]=r):(i=A[2],r=A[3]),(0,g.useEffect)(i,r);let n;A[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,c.jsx)(Bt,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=n):n=A[4];let k=s?"opacity-100":"opacity-0",l;A[5]===k?l=A[6]:(l=w("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",k),A[5]=k,A[6]=l);let Z;return A[7]!==a||A[8]!==l?(Z=(0,c.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[n,(0,c.jsx)("div",{className:l,children:a})]}),A[7]=a,A[8]=l,A[9]=Z):Z=A[9],Z};function Pt(t,A){return t==="edit"||t==="home"||t==="gallery"?!0:t==="present"||gA(I.includeCode,"false")||gA(I.showCode,"false")?!1:gA(I.showCode,"true")?!0:A}function Tt(t){let A=Pt(t.mode,t.showAppCode),e=t.hasCells&&t.hasCachedOutputs;return{showCode:A,showCachedOutputs:e,canPaint:t.hasCells&&(A||e||t.allCellsIdle)}}var KA=P(t=>{let A=!1,e=!0;for(let a of Object.values(t(CA).cellRuntime))ut(a.output)||(A=!0),a.status!=="idle"&&(e=!1);return{hasCachedOutputs:A,allCellsIdle:e}}),It=P(t=>t(KA).hasCachedOutputs),Kt=P(t=>t(KA).allCellsIdle);const Ht=P(t=>Tt({mode:t(Te),showAppCode:t(Ue),hasCells:t(ge),hasCachedOutputs:t(It),allCellsIdle:t(Kt)})),HA=P(t=>t(Ht).canPaint);var uA=B();const Wt=t=>{let A=(0,uA.c)(2),{children:e}=t;if(!ZA())return e;let a;return A[0]===e?a=A[1]:(a=(0,c.jsx)(Ut,{children:e}),A[0]=e,A[1]=a),a};var Ut=t=>{let A=(0,uA.c)(8),{children:e}=t,a;A[0]===Symbol.for("react.memo_cache_sentinel")?(a=[],A[0]=a):a=A[0];let{error:G}=xt(Xt,a),s=y(HA),o=(0,g.useRef)(!1),i,r;if(A[1]!==s||A[2]!==G?(i=()=>{G&&s&&!o.current&&(o.current=!0,Y.error("Pyodide failed to initialize",G),hA({title:"Failed to start the notebook runtime",description:jA(G),variant:"danger"}))},r=[G,s],A[1]=s,A[2]=G,A[3]=i,A[4]=r):(i=A[3],r=A[4]),(0,g.useEffect)(i,r),G&&!s)throw G;let n;A[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,c.jsx)(Vt,{}),A[5]=n):n=A[5];let k;return A[6]===e?k=A[7]:(k=(0,c.jsx)(IA,{requires:HA,fallback:n,children:e}),A[6]=e,A[7]=k),k},Vt=()=>{let t=(0,uA.c)(2),A=y(Ce),e=A.kind==="loading"?A.message:"Loading\u2026",a;return t[0]===e?a=t[1]:(a=(0,c.jsx)(jt,{title:e}),t[0]=e,t[1]=a),a};async function Xt(){return await ve.INSTANCE.initialized.promise,!0}var qt={idle:"./favicon.ico",success:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAAXXQAAFd3AwBWeAQAVngEAFd4AwBXeAQAVnkEAFh3AwBXdwQAVXcGAFd4BQBXeAQAWHgEAFd6AwBXeAMAVnkEAFZ5AwBXdwQAV3cFAFd4BABYeAQAV3gEAFh4BABXeAQA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGRkXFhYVGRkZGRkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGRcYGBgYFxkZGRkZGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZFxgYGBgYGBcZGRkZGRkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkXGBgYGBgYGBgXGRkZGRkZGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRUYGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRYYGBgYFxcYGBgYGBcZGRkZGRkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRYYGBgXGRkXGBgYGBgXGRkZGRkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRUWFhcZGRkZFxgYGBgYFxkZGRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGRkZGRkZGRcYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGRkZGRkZGRkXGBgYGBYZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGRkZGRkZGRkZFxgYGBYZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGRkZGRkZGRkZGRUWFhUZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",running:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAA0YsAAMWEAwDHgwIAx4QBAMeEAgDGhAIAyIUBAMaFAwDGhAIAxoIAAMaFAgDHhAIAx4QCAMiFAwDHhAIAx4YAAMaFAgDHhQEAxoMCAMeEAgDHgwQAx4QDAMeDAgDHhAIA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRgWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBYVGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBYVGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBYVGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBUWGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBYVGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRUWGBgYGBgYFxkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFxkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFhkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkXGBgYGBgYFRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBkXGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBcZGRkZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBcZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBcZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRYWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",error:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAALi7oACcn2wAlJdsAJibcACYm3AAmJtsAJyfdACUl3QAmJtsAKCjdACUl3AAmJtwAJyfcACYm3AAoKNcAJibcACcn3AAmJt0AJibcACUl3AAmJtwAKCjbACcn3AAmJtsAJibcAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAABxkZGRAaGhoaGhoaGhYXFxYaGhoaGhoaGhgXFxYaGhoaGhoaGhAZGRkHAAAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAADGRkZDRoaGhoaGhoaGhgZGRkZGRgaGhgZGRkZGRYaGhoaGhoaGhoNGRkZAwAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAADGRkZDRoaGhoaGhoaGhYZGRkZGRgaGhgZGRkZGRgaGhoaGhoaGhoNGRkZAwAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAAABxkZGRAaGhoaGhoaGhYXFxgaGhoaGhoaGhYXFxYaGhoaGhoaGhAZGRkHAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA"};async function K(t){return qt[t]}function Jt(t){if(document.visibilityState==="visible")return;let A=async()=>{t===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await K("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${t} error(s).`,icon:await K("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const zt=t=>{let{isRunning:A}=t,e=Be(),a=document.querySelector("link[rel~='icon']");a||(a=document.createElement("link"),a.rel="icon",document.getElementsByTagName("head")[0].append(a)),(0,g.useEffect)(()=>{!A&&a.href.includes("favicon")||(async()=>{let s;if(s=A?"running":e.length===0?"success":"error",a.href=await K(s),!document.hasFocus())return;let o=setTimeout(async()=>{a.href=await K("idle")},3e3);return()=>clearTimeout(o)})()},[A,e,a]);let G=it(A)??A;return(0,g.useEffect)(()=>{G&&!A&&Jt(e.length)},[e,G,A]),Oe(window,"focus",async s=>{A||(a.href=await K("idle"))}),null};function $t(){let{cellIds:t,cellRuntime:A}=ae.get(CA),e=t.inOrderIds.find(a=>{var G;return((G=A[a])==null?void 0:G.status)==="running"});e&&wt(e,"focus")}var tA=B();const Aa=t=>{let A=(0,tA.c)(18),{connection:e,isRunning:a,onReconnect:G}=t,{mode:s}=y(Ke),o=e.state===p.CLOSED,i=e.state===p.OPEN,r=o&&e.code===D.KERNEL_DISCONNECTED,n;A[0]===o?n=A[1]:(n=o&&(0,c.jsx)(aa,{}),A[0]=o,A[1]=n);let k=s==="read"?"fixed":"absolute",l;A[2]===k?l=A[3]:(l=w("z-50 top-4 left-4",k),A[2]=k,A[3]=l);let Z;A[4]!==i||A[5]!==a?(Z=i&&a&&(0,c.jsx)(ta,{}),A[4]=i,A[5]=a,A[6]=Z):Z=A[6];let d;A[7]!==r||A[8]!==o||A[9]!==G?(d=o&&(0,c.jsx)(ea,{onReconnect:r?G:void 0}),A[7]=r,A[8]=o,A[9]=G,A[10]=d):d=A[10];let h;A[11]!==l||A[12]!==Z||A[13]!==d?(h=(0,c.jsxs)("div",{className:l,children:[Z,d]}),A[11]=l,A[12]=Z,A[13]=d,A[14]=h):h=A[14];let u;return A[15]!==n||A[16]!==h?(u=(0,c.jsxs)(c.Fragment,{children:[n,h]}),A[15]=n,A[16]=h,A[17]=u):u=A[17],u};var WA="print:hidden pointer-events-auto hover:cursor-pointer",ea=t=>{let A=(0,tA.c)(12),{onReconnect:e}=t,a=!e,G=a?"App disconnected":"App disconnected \u2014 click to reconnect",s=a?0:-1,o;A[0]===Symbol.for("react.memo_cache_sentinel")?(o=w(WA,"bg-transparent border-0 p-0"),A[0]=o):o=A[0];let i=a?"App disconnected":"Reconnect to app",r;A[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,c.jsx)(Nt,{className:"w-[25px] h-[25px] text-(--red-11)"}),A[1]=r):r=A[1];let n;A[2]!==a||A[3]!==e||A[4]!==i?(n=(0,c.jsx)("button",{type:"button",className:o,"aria-label":i,"data-testid":"disconnected-indicator",onClick:e,disabled:a,children:r}),A[2]=a,A[3]=e,A[4]=i,A[5]=n):n=A[5];let k;A[6]!==s||A[7]!==n?(k=(0,c.jsx)("span",{tabIndex:s,children:n}),A[6]=s,A[7]=n,A[8]=k):k=A[8];let l;return A[9]!==G||A[10]!==k?(l=(0,c.jsx)(_A,{content:G,children:k}),A[9]=G,A[10]=k,A[11]=l):l=A[11],l},ta=()=>{let t=(0,tA.c)(6),A=y(pe),e=A?"Scratchpad is running":"Jump to running cell",a=A?void 0:$t,G;t[0]===Symbol.for("react.memo_cache_sentinel")?(G=(0,c.jsx)(bt,{className:"running-app-icon",size:30,strokeWidth:1}),t[0]=G):G=t[0];let s;t[1]===a?s=t[2]:(s=(0,c.jsx)("div",{className:WA,"data-testid":"loading-indicator",onClick:a,children:G}),t[1]=a,t[2]=s);let o;return t[3]!==s||t[4]!==e?(o=(0,c.jsx)(_A,{content:e,side:"right",children:s}),t[3]=s,t[4]=e,t[5]=o):o=t[5],o},aa=()=>{let t=(0,tA.c)(1),A;return t[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"noise"}),(0,c.jsx)("div",{className:"disconnected-gradient"})]}),t[0]=A):A=t[0],A},S=B(),Ga=At,sa=at,oa=$e(tt),UA=g.forwardRef((t,A)=>{let e=(0,S.c)(9),a,G;e[0]===t?(a=e[1],G=e[2]):({className:a,...G}=t,e[0]=t,e[1]=a,e[2]=G);let s;e[3]===a?s=e[4]:(s=w("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),e[3]=a,e[4]=s);let o;return e[5]!==G||e[6]!==A||e[7]!==s?(o=(0,c.jsx)(vA,{className:s,...G,ref:A}),e[5]=G,e[6]=A,e[7]=s,e[8]=o):o=e[8],o});UA.displayName=vA.displayName;var ra=qe("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),VA=g.forwardRef((t,A)=>{let e=(0,S.c)(15),a,G,s,o;e[0]===t?(a=e[1],G=e[2],s=e[3],o=e[4]):({side:o,className:G,children:a,...s}=t,e[0]=t,e[1]=a,e[2]=G,e[3]=s,e[4]=o);let i=o===void 0?"right":o,r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=(0,c.jsx)(UA,{}),e[5]=r):r=e[5];let n;e[6]!==G||e[7]!==i?(n=w(ra({side:i}),G),e[6]=G,e[7]=i,e[8]=n):n=e[8];let k;e[9]===Symbol.for("react.memo_cache_sentinel")?(k=(0,c.jsxs)(et,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,c.jsx)(ft,{className:"h-4 w-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=k):k=e[9];let l;return e[10]!==a||e[11]!==s||e[12]!==A||e[13]!==n?(l=(0,c.jsx)(oa,{children:(0,c.jsxs)(ze,{children:[r,(0,c.jsxs)(NA,{ref:A,className:n,...s,children:[a,k]})]})}),e[10]=a,e[11]=s,e[12]=A,e[13]=n,e[14]=l):l=e[14],l});VA.displayName=NA.displayName;var na=t=>{let A=(0,S.c)(8),e,a;A[0]===t?(e=A[1],a=A[2]):({className:e,...a}=t,A[0]=t,A[1]=e,A[2]=a);let G;A[3]===e?G=A[4]:(G=w("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=G);let s;return A[5]!==a||A[6]!==G?(s=(0,c.jsx)("div",{className:G,...a}),A[5]=a,A[6]=G,A[7]=s):s=A[7],s};na.displayName="SheetHeader";var ia=t=>{let A=(0,S.c)(8),e,a;A[0]===t?(e=A[1],a=A[2]):({className:e,...a}=t,A[0]=t,A[1]=e,A[2]=a);let G;A[3]===e?G=A[4]:(G=w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=G);let s;return A[5]!==a||A[6]!==G?(s=(0,c.jsx)("div",{className:G,...a}),A[5]=a,A[6]=G,A[7]=s):s=A[7],s};ia.displayName="SheetFooter";var la=g.forwardRef((t,A)=>{let e=(0,S.c)(9),a,G;e[0]===t?(a=e[1],G=e[2]):({className:a,...G}=t,e[0]=t,e[1]=a,e[2]=G);let s;e[3]===a?s=e[4]:(s=w("text-lg font-semibold text-foreground",a),e[3]=a,e[4]=s);let o;return e[5]!==G||e[6]!==A||e[7]!==s?(o=(0,c.jsx)(SA,{ref:A,className:s,...G}),e[5]=G,e[6]=A,e[7]=s,e[8]=o):o=e[8],o});la.displayName=SA.displayName;var ka=g.forwardRef((t,A)=>{let e=(0,S.c)(9),a,G;e[0]===t?(a=e[1],G=e[2]):({className:a,...G}=t,e[0]=t,e[1]=a,e[2]=G);let s;e[3]===a?s=e[4]:(s=w("text-sm text-muted-foreground",a),e[3]=a,e[4]=s);let o;return e[5]!==G||e[6]!==A||e[7]!==s?(o=(0,c.jsx)(bA,{ref:A,className:s,...G}),e[5]=G,e[6]=A,e[7]=s,e[8]=o):o=e[8],o});ka.displayName=bA.displayName;var ca=B();const BA=(0,g.memo)(()=>{let t=(0,ca.c)(1),A;return t[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,c.jsx)(st,{name:MA.SIDEBAR}),t[0]=A):A=t[0],A});BA.displayName="SidebarSlot";var Ra=B();const Za=t=>{let A=(0,Ra.c)(6),{openWidth:e}=t,a;A[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,c.jsx)(sa,{className:"lg:hidden",asChild:!0,children:(0,c.jsx)(FA,{variant:"ghost",className:"bg-background",children:(0,c.jsx)(TA,{className:"w-5 h-5"})})}),A[0]=a):a=A[0];let G;A[1]===e?G=A[2]:(G={maxWidth:e},A[1]=e,A[2]=G);let s;A[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,c.jsx)(BA,{}),A[3]=s):s=A[3];let o;return A[4]===G?o=A[5]:(o=(0,c.jsxs)(Ga,{children:[a,(0,c.jsx)(VA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:G,side:"left",children:s})]}),A[4]=G,A[5]=o),o};var da=B();const ha=t=>{let A=(0,da.c)(7),{isOpen:e,toggle:a}=t,G=e?"rotate-0":"rotate-180",s;A[0]===G?s=A[1]:(s=w("h-5 w-5 transition-transform ease-in-out duration-700",G),A[0]=G,A[1]=s);let o;A[2]===s?o=A[3]:(o=(0,c.jsx)(ot,{className:s}),A[2]=s,A[3]=o);let i;return A[4]!==o||A[5]!==a?(i=(0,c.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,c.jsx)(FA,{onClick:a,className:"w-10 h-8",variant:"ghost",size:"icon",children:o})}),A[4]=o,A[5]=a,A[6]=i):i=A[6],i};var ga=B();const ua=t=>{let A=(0,ga.c)(11),{isOpen:e,toggle:a,width:G}=t,s=e?G:Se,o;A[0]===s?o=A[1]:(o={width:s},A[0]=s,A[1]=o);let i;A[2]===Symbol.for("react.memo_cache_sentinel")?(i=w("app-sidebar auto-collapse-nav","top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300"),A[2]=i):i=A[2];let r;A[3]!==e||A[4]!==a?(r=(0,c.jsx)(ha,{isOpen:e,toggle:a}),A[3]=e,A[4]=a,A[5]=r):r=A[5];let n;A[6]===Symbol.for("react.memo_cache_sentinel")?(n=(0,c.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,c.jsx)(BA,{})}),A[6]=n):n=A[6];let k;return A[7]!==e||A[8]!==o||A[9]!==r?(k=(0,c.jsxs)("aside",{"data-expanded":e,style:o,className:i,children:[r,n]}),A[7]=e,A[8]=o,A[9]=r,A[10]=k):k=A[10],k};var Ba=B();const ma=t=>{let A=(0,Ba.c)(15),{children:e}=t,[a,G]=fA(be),{isOpen:s,width:o}=a;if(Gt(MA.SIDEBAR).length===0)return e;let i;A[0]===o?i=A[1]:(i=De(o),A[0]=o,A[1]=i);let r=i,n;A[2]!==G||A[3]!==s?(n=()=>G({type:"toggle",isOpen:!s}),A[2]=G,A[3]=s,A[4]=n):n=A[4];let k;A[5]!==s||A[6]!==r||A[7]!==n?(k=(0,c.jsx)(ua,{isOpen:s,width:r,toggle:n}),A[5]=s,A[6]=r,A[7]=n,A[8]=k):k=A[8];let l;A[9]===r?l=A[10]:(l=(0,c.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,c.jsx)(Za,{openWidth:r})}),A[9]=r,A[10]=l);let Z;return A[11]!==e||A[12]!==k||A[13]!==l?(Z=(0,c.jsxs)("div",{className:"inset-0 absolute flex",children:[k,l,e]}),A[11]=e,A[12]=k,A[13]=l,A[14]=Z):Z=A[14],Z};var Ya=B();const pa=t=>{let A=(0,Ya.c)(18),{width:e,connection:a,isRunning:G,children:s,onReconnect:o}=t,i=a.state,r;A[0]===G?r=A[1]:(r=(0,c.jsx)(zt,{isRunning:G}),A[0]=G,A[1]=r);let n;A[2]!==a||A[3]!==G||A[4]!==o?(n=(0,c.jsx)(Aa,{connection:a,isRunning:G,onReconnect:o}),A[2]=a,A[3]=G,A[4]=o,A[5]=n):n=A[5];let k;A[6]!==i||A[7]!==e?(k=w("mathjax_ignore",Ie(i)&&"disconnected","bg-background w-full h-full text-textColor","flex flex-col overflow-y-auto",e==="full"&&"config-width-full",e==="columns"?"overflow-x-auto":"overflow-x-auto sm:overflow-x-hidden","print:height-fit"),A[6]=i,A[7]=e,A[8]=k):k=A[8];let l;A[9]!==s||A[10]!==i||A[11]!==k||A[12]!==e?(l=(0,c.jsx)(Wt,{children:(0,c.jsx)(ma,{children:(0,c.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":i,className:k,children:s})})}),A[9]=s,A[10]=i,A[11]=k,A[12]=e,A[13]=l):l=A[13];let Z;return A[14]!==r||A[15]!==n||A[16]!==l?(Z=(0,c.jsxs)(c.Fragment,{children:[r,n,l]}),A[14]=r,A[15]=n,A[16]=l,A[17]=Z):Z=A[17],Z};function fa(t){return t.kind==="missing"}function XA(t){return t.kind==="installing"}var{valueAtom:wa,useActions:xa}=rt(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(t,A)=>{var G;let e={...t.packageLogs};if(XA(A)&&A.logs&&A.log_status)for(let[s,o]of Object.entries(A.logs))switch(A.log_status){case"start":e[s]=o;break;case"append":e[s]=(e[s]||"")+o;break;case"done":e[s]=(e[s]||"")+o;break}let a=((G=t.packageAlert)==null?void 0:G.id)||mt();return{...t,packageAlert:{id:a,...A},packageLogs:e}},clearPackageAlert:(t,A)=>t.packageAlert!==null&&t.packageAlert.id===A?{...t,packageAlert:null,packageLogs:{}}:t,addStartupLog:(t,A)=>{var a;let e=((a=t.startupLogsAlert)==null?void 0:a.content)||"";return{...t,startupLogsAlert:{...t.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:t=>({...t,startupLogsAlert:null})});const Ca=()=>y(wa);function qA(){return xa()}var JA=B();const zA=(0,g.memo)(t=>{let A=(0,JA.c)(11),{appConfig:e,mode:a,children:G}=t,{selectedLayout:s,layoutData:o}=lt();if(!y(yA)&&(a==="edit"||a==="present"&&s==="vertical"))return G;let i;if(A[0]!==a||A[1]!==s){i=s;let l=new URLSearchParams(window.location.search);if(a==="read"&&l.has(I.viewAs)){let Z=l.get(I.viewAs);Dt.includes(Z)&&(i=Z)}A[0]=a,A[1]=s,A[2]=i}else i=A[2];let r;A[3]===i?r=A[4]:(r=ct.find(l=>l.type===i),A[3]=i,A[4]=r);let n=r;if(!n)return G;let k;return A[5]!==e||A[6]!==i||A[7]!==o||A[8]!==a||A[9]!==n?(k=(0,c.jsx)(Ea,{appConfig:e,mode:a,plugin:n,layoutData:o,finalLayout:i}),A[5]=e,A[6]=i,A[7]=o,A[8]=a,A[9]=n,A[10]=k):k=A[10],k});zA.displayName="CellsRenderer";const Ea=t=>{let A=(0,JA.c)(18),{appConfig:e,mode:a,plugin:G,layoutData:s,finalLayout:o}=t,i=se(),{setCurrentLayoutData:r}=LA(),n,k,l,Z,d;if(A[0]!==e||A[1]!==o||A[2]!==s||A[3]!==a||A[4]!==i||A[5]!==G){let u=he(i);n=G.Component,k=e,l=a,Z=u,d=s[o]||G.getInitialLayout(u),A[0]=e,A[1]=o,A[2]=s,A[3]=a,A[4]=i,A[5]=G,A[6]=n,A[7]=k,A[8]=l,A[9]=Z,A[10]=d}else n=A[6],k=A[7],l=A[8],Z=A[9],d=A[10];let h;return A[11]!==n||A[12]!==r||A[13]!==k||A[14]!==l||A[15]!==Z||A[16]!==d?(h=(0,c.jsx)(n,{appConfig:k,mode:l,cells:Z,layout:d,setLayout:r}),A[11]=n,A[12]=r,A[13]=k,A[14]=l,A[15]=Z,A[16]=d,A[17]=h):h=A[17],h};var ya=class $A{constructor(A){E(this,"hasStarted",!1);E(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let a=this.uiElementRegistry.lookupValue(e);a!==void 0&&this.sendComponentValues({objectIds:[e],values:[a]}).catch(G=>{Y.warn(G)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new $A(T)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){Y.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(PA.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){Y.warn("RuntimeState already stopped");return}document.removeEventListener(PA.TYPE,this.handleReadyEvent),this.hasStarted=!1}};const mA="MARIMO_TRANSPORT_EXHAUSTED";var Da=class{constructor(t){E(this,"closeWrappers",new WeakMap);this.inner=new yt(t,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}get readyState(){return this.inner.readyState}reconnect(t,A){this.inner.reconnect(t,A)}close(){this.inner.close()}send(t){this.inner.send(t)}addEventListener(t,A){if(t==="close"){let e=A;if(this.closeWrappers.has(e))return;let a=G=>{this.inner.retryCount>=10?e(new CloseEvent("close",{code:G.code,reason:mA,wasClean:G.wasClean})):e(G)};this.closeWrappers.set(e,a),this.inner.addEventListener("close",a);return}this.inner.addEventListener(t,A)}removeEventListener(t,A){if(t==="close"){let e=A,a=this.closeWrappers.get(e);a&&(this.closeWrappers.delete(e),this.inner.removeEventListener("close",a));return}this.inner.removeEventListener(t,A)}},va=1e4,ba=1e3,Na=1e4,Sa=1.3,Ma=1006,_a=class{constructor(t,A=()=>({})){E(this,"subscriptions",new Me);E(this,"abortController",null);E(this,"retryTimer",null);E(this,"retryCount",0);E(this,"userClosed",!1);E(this,"state",WebSocket.CLOSED);this.urlProvider=t,this.headersProvider=A}get readyState(){return this.state}reconnect(t,A){var e;this.userClosed=!1,this.retryCount=0,this.clearRetryTimer(),(e=this.abortController)==null||e.abort(),this.connect()}close(){var t;this.userClosed=!0,this.clearRetryTimer(),this.state=WebSocket.CLOSED,(t=this.abortController)==null||t.abort(),this.abortController=null}send(t){Y.warn("SseTransport does not support send(); dropping message")}addEventListener(t,A){this.subscriptions.addSubscription(t,A)}removeEventListener(t,A){this.subscriptions.removeSubscription(t,A)}connect(){this.state=WebSocket.CONNECTING,this.run()}async run(){let t=new AbortController;this.abortController=t;let A=setTimeout(()=>t.abort(),va),e=null;try{let G=await fetch(this.urlProvider(),{headers:{...this.headersProvider(),Accept:"text/event-stream"},signal:t.signal});if(clearTimeout(A),!G.ok||G.body===null)throw Error(`Unexpected SSE response: ${G.status}`);this.state=WebSocket.OPEN,this.subscriptions.notify("open",new Event("open")),e=await this.readEvents(G.body)}catch(G){if(clearTimeout(A),this.isSuperseded(t))return;Y.warn("SSE connection failed",G),this.subscriptions.notify("error",new Event("error"))}if(this.isSuperseded(t))return;t.abort(),this.state=WebSocket.CLOSED,this.retryCount+=1;let a=this.retryCount>=10;this.subscriptions.notify("close",new CloseEvent("close",{code:(e==null?void 0:e.code)??Ma,reason:a?mA:(e==null?void 0:e.reason)??"",wasClean:e!==null})),!(a||this.isSuperseded(t))&&this.scheduleRetry()}isSuperseded(t){return this.userClosed||this.abortController!==t}scheduleRetry(){this.clearRetryTimer(),this.state=WebSocket.CONNECTING;let t=Math.min(ba*Sa**this.retryCount,Na);this.retryTimer=setTimeout(()=>{this.retryTimer=null,this.connect()},t)}clearRetryTimer(){this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null)}async readEvents(t){let A=t.getReader(),e=new TextDecoder,a="",G=null,s=[],o=()=>{if(s.length===0)return G=null,null;let i=s.join(`
2
2
  `),r=G;return G=null,s=[],r==="close"?Fa(i):(this.retryCount=0,this.subscriptions.notify("message",new MessageEvent("message",{data:i})),null)};for(;;){let{done:i,value:r}=await A.read();if(i)return null;a+=e.decode(r,{stream:!0});let n=0,k=a.indexOf(`
3
3
  `,n);for(;k!==-1;){let l=a.slice(n,k);if(n=k+1,k=a.indexOf(`
4
4
  `,n),l.endsWith("\r")&&(l=l.slice(0,-1)),l===""){let u=o();if(u!==null)return u;continue}if(l.startsWith(":"))continue;let Z=l.indexOf(":"),d=Z===-1?l:l.slice(0,Z),h=Z===-1?"":l.slice(Z+1);h.startsWith(" ")&&(h=h.slice(1)),d==="data"?s.push(h):d==="event"&&(G=h)}n>0&&(a=a.slice(n))}}};function Fa(t){try{let A=JSON.parse(t);return{code:typeof A.code=="number"?A.code:1e3,reason:typeof A.reason=="string"?A.reason:""}}catch{return Y.warn("Failed to parse SSE close event",t),{code:1e3,reason:""}}}var Oa=B();function Qa(t){return t.static?we.empty():ZA()?ye():t.transportType==="sse"?new _a(t.url,t.headers):new Da(t.url)}function La(t){let A=(0,Oa.c)(15),{onOpen:e,onMessage:a,onClose:G,onError:s,waitToConnect:o}=t,i;A[0]!==G||A[1]!==s||A[2]!==a||A[3]!==e||A[4]!==t?(i=()=>{let l=Qa(t);return l.addEventListener("open",e),l.addEventListener("close",G),l.addEventListener("error",s),l.addEventListener("message",a),l},A[0]=G,A[1]=s,A[2]=a,A[3]=e,A[4]=t,A[5]=i):i=A[5];let[r]=(0,g.useState)(i),n;A[6]!==G||A[7]!==s||A[8]!==a||A[9]!==e||A[10]!==r||A[11]!==o?(n=()=>(r.readyState===WebSocket.CLOSED&&o().then(()=>r.reconnect()).catch(l=>{Y.error("Healthy connection never made",l),r.close()}),()=>{Y.warn("useConnectionTransport is unmounting. This likely means there is a bug."),r.close(),r.removeEventListener("open",e),r.removeEventListener("close",G),r.removeEventListener("error",s),r.removeEventListener("message",a)}),A[6]=G,A[7]=s,A[8]=a,A[9]=e,A[10]=r,A[11]=o,A[12]=n):n=A[12];let k;return A[13]===r?k=A[14]:(k=[r],A[13]=r,A[14]=k),(0,g.useEffect)(n,k),r}function ja(t){let{codes:A,names:e,configs:a,cell_ids:G,last_executed_code:s,last_execution_time:o}=t,i=s||{},r=o||{};return A.map((n,k)=>{let l=G[k],Z=i[l];return ie({id:l,code:n,edited:Z?Z!==n:!1,name:e[k],lastCodeRun:i[l]??null,lastExecutionTime:r[l]??null,config:a[k]})})}function Pa(t,A,e){let a=kt(),{layout:G}=t;if(G){let s=G.type,o=Rt({type:s,data:G.data,cells:A});a.selectedLayout=s,a.layoutData[s]=o,e({layoutView:s,data:o})}return a}function Ta(){let t=[],A=[];return T.entries.forEach((e,a)=>{t.push(a),A.push(e.value)}),{objectIds:t,values:A}}function Ia(t,A){let{existingCells:e,autoInstantiate:a,setCells:G,setLayoutData:s,setAppConfig:o,setCapabilities:i,setKernelState:r,onError:n}=A,{resumed:k,ui_values:l,app_config:Z,capabilities:d,auto_instantiated:h}=t,u=e&&e.length>0,N=u&&!k?e:ja(t);G(N,Pa(t,N,s));let v=Le.safeParse(Z);if(v.success?o(v.data):Y.error("Failed to parse app config",v.error),i(d),h)return;if(k){for(let[x,O]of Qe.entries(l||{})){let Q=x;T.set(Q,O)}return}let{objectIds:M,values:_}=Ta(),F=u?Object.fromEntries(e.map(x=>[x.id,x.code])):void 0;nt().sendInstantiate({objectIds:M,values:_,autoRun:a,codes:F}).then(()=>{r({isInstantiated:!0,error:null})}).catch(x=>{r({isInstantiated:!1,error:x}),n(Error("Failed to instantiate",{cause:x}))})}function Ka(t){let A=t.cell_id;T.removeElementsByCell(A),QA.INSTANCE.removeForCellId(A)}function Ha(t,A){A(t),QA.INSTANCE.track(t)}const aA={append:t=>{let A=new URL(window.location.href);A.searchParams.append(t.key,t.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:t=>{let A=new URL(window.location.href);Array.isArray(t.value)?(A.searchParams.delete(t.key),t.value.forEach(e=>A.searchParams.append(t.key,e))):A.searchParams.set(t.key,t.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:t=>{let A=new URL(window.location.href);t.value==null?A.searchParams.delete(t.key):A.searchParams.delete(t.key,t.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let t=new URL(window.location.href);t.search="",window.history.pushState({},"",`${t.pathname}${t.search}`)}};var Wa=B();function Ua(t){switch(t.reason){case mA:return{kind:"gave-up",status:{state:p.CLOSED,code:D.KERNEL_DISCONNECTED,reason:"kernel not found"}};case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":return{kind:"terminal",status:{state:p.CLOSED,code:D.KERNEL_DISCONNECTED,reason:"kernel not found"},closeTransport:!0};case"MARIMO_UNAUTHORIZED":return{kind:"terminal",status:{state:p.CLOSED,code:D.KERNEL_DISCONNECTED,reason:"not authorized"},closeTransport:!0};case"MARIMO_KIOSK_NOT_ALLOWED":return{kind:"terminal",status:{state:p.CLOSED,code:D.KERNEL_DISCONNECTED,reason:"kiosk mode is not available for this session"},closeTransport:!0};case"MARIMO_KERNEL_STARTUP_ERROR":return{kind:"terminal",status:{state:p.CLOSED,code:D.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"},closeTransport:!0};default:t.reason&&OA(t.reason)}return{kind:"retry",status:{state:p.CONNECTING}}}function Va(){return Object.values(RA().cellData).filter(t=>t.id!==Ze)}function Xa(t){let A=(0,Wa.c)(45),e=(0,g.useRef)(!0),{autoInstantiate:a,sessionId:G,setCells:s}=t,{showBoundary:o}=Xe(),{handleCellMessage:i}=wA(),r;A[0]===Symbol.for("react.memo_cache_sentinel")?(r={skipMiddleware:!0},A[0]=r):r=A[0];let n=wA(r),k;A[1]===n?k=A[2]:(k=m=>{ue(m.changes,n,tG)},A[1]=n,A[2]=k);let l=k,{addCellNotification:Z}=vt(),d=j(Ve),h=Pe(),{setVariables:u,setMetadata:N}=re(),{addColumnPreview:v}=EA(),{addDatasets:M,filterDatasetsFromVariables:_}=EA(),{addDataSourceConnection:F,filterDataSourcesFromVariables:x}=ke(),{setLayoutData:O}=LA(),[Q,b]=fA(We),{addBanner:GA}=_e(),{addPackageAlert:H,addStartupLog:sA}=qA(),W=j(yA),oA=j(Re),f=He(),U=y(je),rA=j(Ct),nA=j(Fe),{setNamespaces:iA,filterFromVariables:lA}=dt(),V;A[3]!==GA||A[4]!==Z||A[5]!==v||A[6]!==F||A[7]!==M||A[8]!==H||A[9]!==sA||A[10]!==a||A[11]!==x||A[12]!==_||A[13]!==lA||A[14]!==i||A[15]!==l||A[16]!==h||A[17]!==rA||A[18]!==oA||A[19]!==s||A[20]!==nA||A[21]!==d||A[22]!==W||A[23]!==O||A[24]!==N||A[25]!==iA||A[26]!==u||A[27]!==o?(V=m=>{let R=me(m.data);switch(R.data.op){case"reload":pt();return;case"kernel-ready":{let C=Va();Ia(R.data,{autoInstantiate:a,setCells:s,setLayoutData:O,setAppConfig:h,setCapabilities:oA,setKernelState:d,onError:o,existingCells:C}),W(R.data.kiosk),xA(null),Ye();return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":nA(R.data.error);return;case"send-ui-element-message":{let C=R.data.ui_element;if(C){let Ae=gt(R.data);T.broadcastMessage(C,R.data.message,Ae)}return}case"model-lifecycle":xe(Ne,R.data);return;case"remove-ui-elements":Ka(R.data);return;case"completion-result":de.resolve(R.data.completion_id,R.data);return;case"function-call-result":Ee.resolve(R.data.function_call_id,R.data);return;case"cell-op":{Ha(R.data,i);let C=RA().cellData[R.data.cell_id];if(!C)return;Z({cellNotification:R.data,code:C.code});return}case"variables":u(R.data.variables.map(eG)),_(R.data.variables.map(AG)),x(R.data.variables.map($a)),lA(R.data.variables.map(za));return;case"variable-values":N(R.data.variables.map(Ja));return;case"alert":hA({title:R.data.title,description:Yt({html:R.data.description}),variant:R.data.variant});return;case"banner":GA(R.data);return;case"missing-package-alert":H({...R.data,kind:"missing"});return;case"installing-package-alert":H({...R.data,kind:"installing"});return;case"startup-logs":sA({content:R.data.content,status:R.data.status});return;case"query-params-append":aA.append(R.data);return;case"query-params-set":aA.set(R.data);return;case"query-params-delete":aA.delete(R.data);return;case"query-params-clear":aA.clear();return;case"datasets":M(R.data);return;case"data-column-preview":v(R.data);return;case"sql-table-preview":ne.resolve(R.data.request_id,R.data);return;case"sql-table-list-preview":le.resolve(R.data.request_id,R.data);return;case"sql-schema-list-preview":oe.resolve(R.data.request_id,R.data);return;case"validate-sql-result":ce.resolve(R.data.request_id,R.data);return;case"secret-keys-result":Et.resolve(R.data.request_id,R.data);return;case"cache-info":rA(R.data);return;case"cache-cleared":return;case"data-source-connections":F({connections:R.data.connections.map(qa)});return;case"storage-namespaces":iA(R.data);return;case"storage-entries":Zt.resolve(R.data.request_id,R.data);return;case"storage-download-ready":ht.resolve(R.data.request_id,R.data);return;case"reconnected":return;case"focus-cell":fe(R.data.cell_id);return;case"active-line":xA(R.data.line==null?null:{cellId:R.data.cell_id,line:R.data.line});return;case"notebook-document-transaction":l(R.data.transaction);return;case"consumer-capabilities":W(!R.data.consumer_capabilities.edit);return;default:OA(R.data)}},A[3]=GA,A[4]=Z,A[5]=v,A[6]=F,A[7]=M,A[8]=H,A[9]=sA,A[10]=a,A[11]=x,A[12]=_,A[13]=lA,A[14]=i,A[15]=l,A[16]=h,A[17]=rA,A[18]=oA,A[19]=s,A[20]=nA,A[21]=d,A[22]=W,A[23]=O,A[24]=N,A[25]=iA,A[26]=u,A[27]=o,A[28]=V):V=A[28];let kA=V,YA=(m,R)=>{e.current&&(e.current=!1,L.reconnect(m,R))},cA=async()=>{if(!(L.readyState===WebSocket.OPEN||L.readyState===WebSocket.CONNECTING)){if(e.current=!0,b({state:p.CONNECTING}),!await f.reconcileFromHealth()){e.current=!1,b({state:p.CLOSED,code:D.KERNEL_DISCONNECTED,reason:"kernel not found"});return}L.reconnect()}},X;A[29]===Symbol.for("react.memo_cache_sentinel")?(X=DA(),A[29]=X):X=A[29];let q;A[30]!==f||A[31]!==G||A[32]!==U?(q=()=>U==="sse"?f.getSseURL(G).toString():f.getWsURL(G).toString(),A[30]=f,A[31]=G,A[32]=U,A[33]=q):q=A[33];let J;A[34]===f?J=A[35]:(J=()=>f.headers(),A[34]=f,A[35]=J);let z;A[36]===b?z=A[37]:(z=async()=>{e.current=!0,b({state:p.OPEN})},A[36]=b,A[37]=z);let $;A[38]===f?$=A[39]:($=async()=>{DA()||ZA()||f.isSameOrigin||await f.waitForHealthy()},A[38]=f,A[39]=$);let AA;A[40]===kA?AA=A[41]:(AA=m=>{try{kA(m)}catch(R){let C=R;Y.error("Failed to handle message",m.data,C),hA({title:"Failed to handle message",description:jA(C),variant:"danger"})}},A[40]=kA,A[41]=AA);let L=La({static:X,transportType:U,url:q,headers:J,onOpen:z,waitToConnect:$,onMessage:AA,onClose:m=>{Y.warn("WebSocket closed",m.code,m.reason);let R=Ua(m);if(b(R.status),R.kind==="terminal"&&R.closeTransport){L.close();return}R.kind==="retry"&&YA(m.code,m.reason)},onError:m=>{Y.warn("WebSocket error",m),b({state:p.CLOSED,code:D.KERNEL_DISCONNECTED,reason:"kernel not found"}),YA()}}),eA;return A[42]!==Q||A[43]!==cA?(eA={connection:Q,reconnect:cA},A[42]=Q,A[43]=cA,A[44]=eA):eA=A[44],eA}function qa(t){return{...t,name:t.name}}function Ja(t){return{name:t.name,dataType:t.datatype,value:t.value}}function za(t){return t.name}function $a(t){return t.name}function AG(t){return t.name}function eG(t){return{name:t.name,declaredBy:t.declared_by,usedBy:t.used_by}}function tG(){return RA().cellIds.inOrderIds}var aG=B();const GG=t=>{let A=(0,aG.c)(2),{children:e}=t,a;return A[0]===e?a=A[1]:(a=(0,c.jsx)("div",{"data-testid":"chrome-wrapper",className:"flex flex-col flex-1 overflow-hidden absolute inset-0 print:relative",children:e}),A[0]=e,A[1]=a),a};export{XA as a,Ca as c,Ft as d,TA as f,zA as i,pa as l,Xa as n,fa as o,ya as r,qA as s,GG as t,IA as u};
@@ -1 +1 @@
1
- import{s as I}from"./chunk-LvLJmgfZ.js";import{p as U,u as T}from"./useEvent-D91BmmQi.js";import{t as $}from"./react-Bj1aDYRI.js";import{E as D,Fi as F,b as M,h as W}from"./cells-6yd8nOAu.js";import"./react-dom-CSu739Rf.js";import{t as R}from"./compiler-runtime-B3qBwwSJ.js";import{C as q}from"./utils-BWBBpCkT.js";import{n as z}from"./constants-CDyU_g2F.js";import{M as V,l as A,m as G,v as H}from"./config-B-Q7J_6d.js";import"./readonly-python-code-n_TrLmsR.js";import{t as J}from"./cn-DYvqRARy.js";import{t as K}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import{Lt as Q,P as X}from"./JsonOutput-BwwRpByA.js";import{r as Y}from"./download-HKgqJX4l.js";import{n as Z,t as P}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ee}from"./requests-9-v2bhoi.js";import"./layout-Dtql_o_T.js";import{l as te}from"./state-DDag0B_B.js";import"./markdown-renderer-dABDqZDw.js";import{t as re}from"./copy-3iHFdt22.js";import{d as se,i as oe,l as ae,n as ie,r as O,t as ne,u as me}from"./panels-Nt5IZl-9.js";import{t as le}from"./spinner-D-V4psAa.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as ce}from"./use-toast-BwJoaaDM.js";import{t as de}from"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as pe}from"./copy-Bxb1_Gtw.js";import{a as he,c as fe,l as xe,n as be,r as je,t as ue}from"./dialog-BCVepWLJ.js";import{t as ge}from"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{a as ye}from"./cell-link-C5gpAn3R.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-C-4ysbGe.js";import{n as ke,t as _e}from"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import"./esm-B30N1GS0.js";import"./name-cell-input-Y4knmEIU.js";import{n as Ne,t as ve}from"./marimo-icons-C_nFooxr.js";import"./ws-BmTnbVEi.js";import"./dist-D5ToCtv8.js";import"./dist-D35OyUMQ.js";import"./dist-ByK00N0T.js";import"./dist-C5kf6g-d.js";import"./dist-BaKJ0-Tb.js";import"./dist-DNGKAtWk.js";import"./dist-56ul6-mm.js";import"./dist-3N7-WLqi.js";import"./dist-CM-lWxt3.js";import"./esm-Cmv0Nuxi.js";var we=R(),Se=I($(),1),t=I(K(),1),Ce=U(o=>o(W)||!G(o(H).state));const ze=o=>{let e=(0,we.c)(22),{appConfig:s}=o,{setCells:r}=D(),{sendComponentValues:l}=ee(),a;e[0]===l?a=e[1]:(a=()=>(O.INSTANCE.start(l),Pe),e[0]=l,e[1]=a);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2],(0,Se.useEffect)(a,i);let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=de(),e[3]=c):c=e[3];let g;e[4]===r?g=e[5]:(g={autoInstantiate:!0,setCells:r,sessionId:c},e[4]=r,e[5]=g);let{connection:j,reconnect:k}=ie(g),u=T(M),d;e:{if(typeof window>"u"){d=null;break e}let b,m;if(e[6]===Symbol.for("react.memo_cache_sentinel")){if(m=new URL(window.location.href),!m.searchParams.has("file")){d=null;break e}m.searchParams.delete("file"),b=m.searchParams.toString(),e[6]=b,e[7]=m,e[8]=d}else b=e[6],m=e[7],d=e[8];let y=b;d=y?`${m.pathname}?${y}`:m.pathname}let _=d,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=_&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:_,"aria-label":"Back to gallery",className:J(Z({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(te,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[9]=p):p=e[9];let h;e[10]===j?h=e[11]:(h=(0,t.jsx)(se,{connection:j,className:"sm:pt-8",children:p}),e[10]=j,e[11]=h);let f;e[12]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(le,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}),e[12]=f):f=e[12];let n;e[13]===s?n=e[14]:(n=(0,t.jsx)(me,{requires:Ce,delay:2e3,fallback:f,children:(0,t.jsx)(oe,{appConfig:s,mode:"read"})}),e[13]=s,e[14]=n);let x;return e[15]!==s.width||e[16]!==j||e[17]!==u||e[18]!==k||e[19]!==h||e[20]!==n?(x=(0,t.jsxs)(ae,{connection:j,isRunning:u,width:s.width,onReconnect:k,children:[h,n]}),e[15]=s.width,e[16]=j,e[17]=u,e[18]=k,e[19]=h,e[20]=n,e[21]=x):x=e[21],x};function Pe(){O.INSTANCE.stop()}var B=R();const Re=()=>{let o=(0,B.c)(3),e=T(F);if(!A()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:z.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm","data-testid":"static-notebook-banner",children:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Ee,{code:e})})]}),o[1]=e,o[2]=r),r};var Ee=o=>{var E;let e=(0,B.c)(36),{code:s}=o,r=ye()||"notebook.py",l=r.lastIndexOf("/");l!==-1&&(r=r.slice(l+1));let[a]=q(),i=((E=a.sharing)==null?void 0:E.molab)!==!1,c=window.location.href,g;e[0]===s?g=e[1]:(g=ge({code:s,baseUrl:`${z.molab}/new`}),e[0]=s,e[1]=g);let j=g,k;e[2]===Symbol.for("react.memo_cache_sentinel")?(k=(0,t.jsx)(xe,{asChild:!0,children:(0,t.jsx)(P,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[2]=k):k=e[2];let u;e[3]===r?u=e[4]:(u=(0,t.jsx)(fe,{children:r}),e[3]=r,e[4]=u);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:z.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[5]=d):d=e[5];let _;e[6]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)("br",{}),e[6]=_):_=e[6];let p;e[7]===r?p=e[8]:(p=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",_,"marimo edit ",r]})}),e[7]=r,e[8]=p);let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=!c.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[9]=h):h=e[9];let f;e[10]!==i||e[11]!==j?(f=i&&(0,t.jsxs)("div",{className:"pt-3 border-t flex gap-2 items-center",children:[(0,t.jsx)(P,{asChild:!0,variant:"outline",size:"xs",className:"shrink-0",children:(0,t.jsxs)("a",{href:j,target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)(Ne,{size:12,strokeWidth:1.5,className:"mr-1.5 mt-px text-(--grass-11)"}),"Open in molab"]})}),(0,t.jsxs)("p",{className:"text-sm text-(--sky-12)",children:["Run this notebook in"," ",(0,t.jsx)("span",{className:"font-semibold",children:"molab"}),", marimo's cloud-hosted notebook platform."]})]}),e[10]=i,e[11]=j,e[12]=f):f=e[12];let n;e[13]!==p||e[14]!==f?(n=(0,t.jsxs)(je,{className:"pt-3 text-left space-y-3",children:[d,p,h,f]}),e[13]=p,e[14]=f,e[15]=n):n=e[15];let x;e[16]!==u||e[17]!==n?(x=(0,t.jsxs)(he,{children:[u,n]}),e[16]=u,e[17]=n,e[18]=x):x=e[18];let b;e[19]===s?b=e[20]:(b=async()=>{await pe(s),ce({title:"Copied to clipboard"})},e[19]=s,e[20]=b);let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(re,{className:"w-3 h-3 mr-2"}),e[21]=m):m=e[21];let y;e[22]===b?y=e[23]:(y=(0,t.jsxs)(P,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:b,children:[m,"Copy code"]}),e[22]=b,e[23]=y);let N;e[24]!==s||e[25]!==r?(N=()=>{Y(new Blob([s],{type:"text/plain"}),r)},e[24]=s,e[25]=r,e[26]=N):N=e[26];let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=(0,t.jsx)(Q,{className:"w-3 h-3 mr-2"}),e[27]=S):S=e[27];let v;e[28]===N?v=e[29]:(v=(0,t.jsxs)(P,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:N,children:[S,"Download"]}),e[28]=N,e[29]=v);let w;e[30]!==y||e[31]!==v?(w=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[y,v]}),e[30]=y,e[31]=v,e[32]=w):w=e[32];let C;return e[33]!==x||e[34]!==w?(C=(0,t.jsxs)(ue,{children:[k,(0,t.jsxs)(be,{children:[x,w]})]}),e[33]=x,e[34]=w,e[35]=C):C=e[35],C},L=R(),Ie=V()||A(),Te=o=>{let e=(0,L.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Re,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(ze,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=Ie&&(0,t.jsx)(Ae,{}),e[3]=l):l=e[3];let a;e[4]===r?a=e[5]:(a=(0,t.jsxs)(_e,{children:[s,r,l]}),e[4]=r,e[5]=a);let i;e[6]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(X,{}),e[6]=i):i=e[6];let c;return e[7]===a?c=e[8]:(c=(0,t.jsx)(ne,{children:(0,t.jsxs)(ke,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[a,i]})}),e[7]=a,e[8]=c),c},Ae=()=>{let o=(0,L.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50 print:hidden","data-testid":"watermark",children:(0,t.jsxs)("a",{href:z.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(ve,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},Oe=Te;export{Oe as default};
1
+ import{s as I}from"./chunk-LvLJmgfZ.js";import{p as U,u as T}from"./useEvent-D91BmmQi.js";import{t as $}from"./react-Bj1aDYRI.js";import{E as D,Fi as F,b as M,h as W}from"./cells-6yd8nOAu.js";import"./react-dom-CSu739Rf.js";import{t as R}from"./compiler-runtime-B3qBwwSJ.js";import{C as q}from"./utils-BWBBpCkT.js";import{n as z}from"./constants-CDyU_g2F.js";import{M as V,l as A,m as G,v as H}from"./config-B-Q7J_6d.js";import"./readonly-python-code-n_TrLmsR.js";import{t as J}from"./cn-DYvqRARy.js";import{t as K}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import{Lt as Q,P as X}from"./JsonOutput-BwwRpByA.js";import{r as Y}from"./download-HKgqJX4l.js";import{n as Z,t as P}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ee}from"./requests-9-v2bhoi.js";import"./layout-Dtql_o_T.js";import{l as te}from"./state-DDag0B_B.js";import"./markdown-renderer-dABDqZDw.js";import{t as re}from"./copy-3iHFdt22.js";import{d as se,i as oe,l as ae,n as ie,r as O,t as ne,u as me}from"./panels-DfU1Oikj.js";import{t as le}from"./spinner-D-V4psAa.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as ce}from"./use-toast-BwJoaaDM.js";import{t as de}from"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as pe}from"./copy-Bxb1_Gtw.js";import{a as he,c as fe,l as xe,n as be,r as je,t as ue}from"./dialog-BCVepWLJ.js";import{t as ge}from"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{a as ye}from"./cell-link-C5gpAn3R.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-C-4ysbGe.js";import{n as ke,t as _e}from"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import"./esm-B30N1GS0.js";import"./name-cell-input-Y4knmEIU.js";import{n as Ne,t as ve}from"./marimo-icons-C_nFooxr.js";import"./ws-BmTnbVEi.js";import"./dist-D5ToCtv8.js";import"./dist-D35OyUMQ.js";import"./dist-ByK00N0T.js";import"./dist-C5kf6g-d.js";import"./dist-BaKJ0-Tb.js";import"./dist-DNGKAtWk.js";import"./dist-56ul6-mm.js";import"./dist-3N7-WLqi.js";import"./dist-CM-lWxt3.js";import"./esm-Cmv0Nuxi.js";var we=R(),Se=I($(),1),t=I(K(),1),Ce=U(o=>o(W)||!G(o(H).state));const ze=o=>{let e=(0,we.c)(22),{appConfig:s}=o,{setCells:r}=D(),{sendComponentValues:l}=ee(),a;e[0]===l?a=e[1]:(a=()=>(O.INSTANCE.start(l),Pe),e[0]=l,e[1]=a);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2],(0,Se.useEffect)(a,i);let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=de(),e[3]=c):c=e[3];let g;e[4]===r?g=e[5]:(g={autoInstantiate:!0,setCells:r,sessionId:c},e[4]=r,e[5]=g);let{connection:j,reconnect:k}=ie(g),u=T(M),d;e:{if(typeof window>"u"){d=null;break e}let b,m;if(e[6]===Symbol.for("react.memo_cache_sentinel")){if(m=new URL(window.location.href),!m.searchParams.has("file")){d=null;break e}m.searchParams.delete("file"),b=m.searchParams.toString(),e[6]=b,e[7]=m,e[8]=d}else b=e[6],m=e[7],d=e[8];let y=b;d=y?`${m.pathname}?${y}`:m.pathname}let _=d,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=_&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:_,"aria-label":"Back to gallery",className:J(Z({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(te,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[9]=p):p=e[9];let h;e[10]===j?h=e[11]:(h=(0,t.jsx)(se,{connection:j,className:"sm:pt-8",children:p}),e[10]=j,e[11]=h);let f;e[12]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(le,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}),e[12]=f):f=e[12];let n;e[13]===s?n=e[14]:(n=(0,t.jsx)(me,{requires:Ce,delay:2e3,fallback:f,children:(0,t.jsx)(oe,{appConfig:s,mode:"read"})}),e[13]=s,e[14]=n);let x;return e[15]!==s.width||e[16]!==j||e[17]!==u||e[18]!==k||e[19]!==h||e[20]!==n?(x=(0,t.jsxs)(ae,{connection:j,isRunning:u,width:s.width,onReconnect:k,children:[h,n]}),e[15]=s.width,e[16]=j,e[17]=u,e[18]=k,e[19]=h,e[20]=n,e[21]=x):x=e[21],x};function Pe(){O.INSTANCE.stop()}var B=R();const Re=()=>{let o=(0,B.c)(3),e=T(F);if(!A()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:z.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm","data-testid":"static-notebook-banner",children:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Ee,{code:e})})]}),o[1]=e,o[2]=r),r};var Ee=o=>{var E;let e=(0,B.c)(36),{code:s}=o,r=ye()||"notebook.py",l=r.lastIndexOf("/");l!==-1&&(r=r.slice(l+1));let[a]=q(),i=((E=a.sharing)==null?void 0:E.molab)!==!1,c=window.location.href,g;e[0]===s?g=e[1]:(g=ge({code:s,baseUrl:`${z.molab}/new`}),e[0]=s,e[1]=g);let j=g,k;e[2]===Symbol.for("react.memo_cache_sentinel")?(k=(0,t.jsx)(xe,{asChild:!0,children:(0,t.jsx)(P,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[2]=k):k=e[2];let u;e[3]===r?u=e[4]:(u=(0,t.jsx)(fe,{children:r}),e[3]=r,e[4]=u);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:z.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[5]=d):d=e[5];let _;e[6]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)("br",{}),e[6]=_):_=e[6];let p;e[7]===r?p=e[8]:(p=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",_,"marimo edit ",r]})}),e[7]=r,e[8]=p);let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=!c.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[9]=h):h=e[9];let f;e[10]!==i||e[11]!==j?(f=i&&(0,t.jsxs)("div",{className:"pt-3 border-t flex gap-2 items-center",children:[(0,t.jsx)(P,{asChild:!0,variant:"outline",size:"xs",className:"shrink-0",children:(0,t.jsxs)("a",{href:j,target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)(Ne,{size:12,strokeWidth:1.5,className:"mr-1.5 mt-px text-(--grass-11)"}),"Open in molab"]})}),(0,t.jsxs)("p",{className:"text-sm text-(--sky-12)",children:["Run this notebook in"," ",(0,t.jsx)("span",{className:"font-semibold",children:"molab"}),", marimo's cloud-hosted notebook platform."]})]}),e[10]=i,e[11]=j,e[12]=f):f=e[12];let n;e[13]!==p||e[14]!==f?(n=(0,t.jsxs)(je,{className:"pt-3 text-left space-y-3",children:[d,p,h,f]}),e[13]=p,e[14]=f,e[15]=n):n=e[15];let x;e[16]!==u||e[17]!==n?(x=(0,t.jsxs)(he,{children:[u,n]}),e[16]=u,e[17]=n,e[18]=x):x=e[18];let b;e[19]===s?b=e[20]:(b=async()=>{await pe(s),ce({title:"Copied to clipboard"})},e[19]=s,e[20]=b);let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(re,{className:"w-3 h-3 mr-2"}),e[21]=m):m=e[21];let y;e[22]===b?y=e[23]:(y=(0,t.jsxs)(P,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:b,children:[m,"Copy code"]}),e[22]=b,e[23]=y);let N;e[24]!==s||e[25]!==r?(N=()=>{Y(new Blob([s],{type:"text/plain"}),r)},e[24]=s,e[25]=r,e[26]=N):N=e[26];let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=(0,t.jsx)(Q,{className:"w-3 h-3 mr-2"}),e[27]=S):S=e[27];let v;e[28]===N?v=e[29]:(v=(0,t.jsxs)(P,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:N,children:[S,"Download"]}),e[28]=N,e[29]=v);let w;e[30]!==y||e[31]!==v?(w=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[y,v]}),e[30]=y,e[31]=v,e[32]=w):w=e[32];let C;return e[33]!==x||e[34]!==w?(C=(0,t.jsxs)(ue,{children:[k,(0,t.jsxs)(be,{children:[x,w]})]}),e[33]=x,e[34]=w,e[35]=C):C=e[35],C},L=R(),Ie=V()||A(),Te=o=>{let e=(0,L.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Re,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(ze,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=Ie&&(0,t.jsx)(Ae,{}),e[3]=l):l=e[3];let a;e[4]===r?a=e[5]:(a=(0,t.jsxs)(_e,{children:[s,r,l]}),e[4]=r,e[5]=a);let i;e[6]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(X,{}),e[6]=i):i=e[6];let c;return e[7]===a?c=e[8]:(c=(0,t.jsx)(ne,{children:(0,t.jsxs)(ke,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[a,i]})}),e[7]=a,e[8]=c),c},Ae=()=>{let o=(0,L.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50 print:hidden","data-testid":"watermark",children:(0,t.jsxs)("a",{href:z.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(ve,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},Oe=Te;export{Oe as default};
@@ -0,0 +1,3 @@
1
+ var jr=Object.defineProperty;var Ct=m=>{throw TypeError(m)};var $r=(m,y,_)=>y in m?jr(m,y,{enumerable:!0,configurable:!0,writable:!0,value:_}):m[y]=_;var o=(m,y,_)=>$r(m,typeof y!="symbol"?y+"":y,_),We=(m,y,_)=>y.has(m)||Ct("Cannot "+_);var i=(m,y,_)=>(We(m,y,"read from private field"),_?_.call(m):y.get(m)),u=(m,y,_)=>y.has(m)?Ct("Cannot add the same private member more than once"):y instanceof WeakSet?y.add(m):y.set(m,_),h=(m,y,_,le)=>(We(m,y,"write to private field"),le?le.call(m,_):y.set(m,_),_),g=(m,y,_)=>(We(m,y,"access private method"),_);import{i as U,p as Rt,u as Hr}from"./useEvent-D91BmmQi.js";import{Bi as Dr,Fi as Or,Gi as zr,Hn as Br,Ki as Se,Li as Vr,Mi as Qr,b as Gr,__tla as Yr}from"./cells-6yd8nOAu.js";import{t as Kr}from"./get-C-qh_et5.js";import{t as Jr}from"./debounce-OiXznToA.js";import{t as Xr}from"./_baseSet-CsW0tABf.js";import{g as p,v as b}from"./useEventListener-C0195JsF.js";import{t as Zr}from"./invariant-CkiqGLcK.js";import{E as en}from"./utils-BWBBpCkT.js";import{E as qt,M as tn,c as je,j as rn,l as kt,n as nn}from"./config-B-Q7J_6d.js";import{n as sn}from"./switch-OVajJBPR.js";import{c as an}from"./readonly-python-code-n_TrLmsR.js";import{St as ie,xt as Pt,__tla as on}from"./JsonOutput-BwwRpByA.js";import{t as ln}from"./createReducer-DGx5Af-C.js";import{r as dn}from"./strings--BknHX9C.js";import{t as $e}from"./requests-9-v2bhoi.js";import{c as Ft,o as It,__tla as un}from"./markdown-renderer-dABDqZDw.js";import{t as cn}from"./DeferredRequestRegistry-C8EV1PoE.js";import{t as hn}from"./preload-helper-TXkS1QI3.js";import{t as At}from"./Deferred-D2igisxY.js";import{t as Nt}from"./uuid-ImXS-885.js";import{t as pn}from"./use-toast-BwJoaaDM.js";import{n as fn}from"./RenderHTML-DRltV71H.js";import{t as gn}from"./useRunCells-DHsd7HGL.js";import{n as mn,t as yn}from"./blob-C3EfaMOb.js";import{n as wn,r as bn,t as vn}from"./share-852X_cqy.js";import{i as Lt,r as Sn,t as _n}from"./events-90X9nql5.js";let _e,He,De,Tt,Ut,Wt,jt,ae,oe,$t,Oe,Ht,Dt,Ot,ze,zt,Fe,Bt,Ie,Be,Vt,Qt,xn=Promise.all([(()=>{try{return Yr}catch{}})(),(()=>{try{return on}catch{}})(),(()=>{try{return un}catch{}})()]).then(async()=>{var vt,Re,$,H,Z,q,D,Yt,Kt,Jt,qe,ee,z,ke,Xt,St,te,de,ue,ce,he,B,re,V,Zt,Qe,ne,O,pe,fe,ge,me,F,C,Q,A,N,G,E,ye,Y,v,Ge,Ye,er,Ke,tr,Je,Xe,rr,_t,L,we,be,W,X,xt;function m(t,e,r){return t==null?t:Xr(t,e,r)}_e=m,Qt=Rt(null);var{valueAtom:y,useActions:_}=ln(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Nt()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});Tt=()=>Hr(y),Vt=function(){return _()};let le,Ze;Be=class{constructor(){o(this,"subscriptions",new Map)}addSubscription(t,e){var r;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(r=this.subscriptions.get(t))==null||r.add(e)}removeSubscription(t,e){var r;(r=this.subscriptions.get(t))==null||r.delete(e)}notify(t,e){for(let r of this.subscriptions.get(t)??[])r(e)}},He=class Ve{constructor(e){o(this,"subscriptions",new Be);this.producer=e}static withProducerCallback(e){return new Ve(e)}static empty(){return new Ve}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify("message",e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify("open",new Event("open"))})}get readyState(){return WebSocket.OPEN}reconnect(e,r){this.close(),this.connect()}close(){this.subscriptions.notify("close",new Event("close"))}send(e){return this.subscriptions.notify("message",new MessageEvent("message",{data:e})),Promise.resolve()}addEventListener(e,r){this.subscriptions.addSubscription(e,r),e==="open"&&r(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,r){this.subscriptions.removeSubscription(e,r)}},le=1e10,Ze=1e3;function xe(t,e){let r=t.map(n=>`"${n}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${r}`)}function sr(t={}){let e={};function r(d){e=d}let n={};function s(d){var f;n.unregisterHandler&&n.unregisterHandler(),n=d,(f=n.registerHandler)==null||f.call(n,Wr)}let a;function l(d){if(typeof d=="function"){a=d;return}a=(f,x)=>{let S=d[f];if(S)return S(x);let M=d._;if(!M)throw Error(`The requested method has no handler: ${f}`);return M(f,x)}}let{maxRequestTime:c=Ze}=t;t.transport&&s(t.transport),t.requestHandler&&l(t.requestHandler),t._debugHooks&&r(t._debugHooks);let w=0;function R(){return w<=le?++w:w=0}let k=new Map,P=new Map;function j(d,...f){let x=f[0];return new Promise((S,M)=>{var se;if(!n.send)throw xe(["send"],"make requests");let T=R(),J={type:"request",id:T,method:d,params:x};k.set(T,{resolve:S,reject:M}),c!==1/0&&P.set(T,setTimeout(()=>{P.delete(T),M(Error("RPC request timed out."))},c)),(se=e.onSend)==null||se.call(e,J),n.send(J)})}let I=new Proxy(j,{get:(d,f,x)=>f in d?Reflect.get(d,f,x):S=>j(f,S)}),Pe=I;function ve(d,...f){var M;let x=f[0];if(!n.send)throw xe(["send"],"send messages");let S={type:"message",id:d,payload:x};(M=e.onSend)==null||M.call(e,S),n.send(S)}let Et=new Proxy(ve,{get:(d,f,x)=>f in d?Reflect.get(d,f,x):S=>ve(f,S)}),Mt=Et,K=new Map,Ue=new Set;function Tr(d,f){var x;if(!n.registerHandler)throw xe(["registerHandler"],"register message listeners");if(d==="*"){Ue.add(f);return}K.has(d)||K.set(d,new Set),(x=K.get(d))==null||x.add(f)}function Ur(d,f){var x,S;if(d==="*"){Ue.delete(f);return}(x=K.get(d))==null||x.delete(f),((S=K.get(d))==null?void 0:S.size)===0&&K.delete(d)}async function Wr(d){var f,x;if((f=e.onReceive)==null||f.call(e,d),!("type"in d))throw Error("Message does not contain a type.");if(d.type==="request"){if(!n.send||!a)throw xe(["send","requestHandler"],"handle requests");let{id:S,method:M,params:T}=d,J;try{J={type:"response",id:S,success:!0,payload:await a(M,T)}}catch(se){if(!(se instanceof Error))throw se;J={type:"response",id:S,success:!1,error:se.message}}(x=e.onSend)==null||x.call(e,J),n.send(J);return}if(d.type==="response"){let S=P.get(d.id);S!=null&&clearTimeout(S);let{resolve:M,reject:T}=k.get(d.id)??{};d.success?M==null||M(d.payload):T==null||T(Error(d.error));return}if(d.type==="message"){for(let M of Ue)M(d.id,d.payload);let S=K.get(d.id);if(!S)return;for(let M of S)M(d.payload);return}throw Error(`Unexpected RPC message type: ${d.type}`)}return{setTransport:s,setRequestHandler:l,request:I,requestProxy:Pe,send:Et,sendProxy:Mt,addMessageListener:Tr,removeMessageListener:Ur,proxy:{send:Mt,request:Pe},_setDebugHooks:r}}function ir(t){return sr(t)}var et="[transport-id]";function ar(t,e){let{transportId:r}=e;return r==null?t:{[et]:r,data:t}}function or(t,e){let{transportId:r,filter:n}=e,s=n==null?void 0:n();if(r!=null&&s!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=t;if(r){if(t[et]!==r)return[!0];a=t.data}return s===!1?[!0]:[!1,a]}function lr(t,e={}){let{transportId:r,filter:n,remotePort:s}=e,a=t,l=s??t,c;return{send(w){l.postMessage(ar(w,{transportId:r}))},registerHandler(w){c=R=>{let k=R.data,[P,j]=or(k,{transportId:r,filter:()=>n==null?void 0:n(R)});P||w(j)},a.addEventListener("message",c)},unregisterHandler(){c&&a.removeEventListener("message",c)}}}function dr(t,e){return lr(t,e)}function tt(t){return ir({transport:dr(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{p.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{p.debug("[rpc] Worker -> Parent",e)}}})}ae=Rt({kind:"loading",message:"Initializing..."});var rt=wn(),nt="marimo:file",st=new Qr(null);const ur={saveFile(t){st.set(nt,t)},readFile(){return st.get(nt)}};var cr={saveFile(t){Se.setCodeForHash((0,rt.compressToEncodedURIComponent)(t))},readFile(){let t=Se.getCodeFromHash()||Se.getCodeFromSearchParam();return t?(0,rt.decompressFromEncodedURIComponent)(t):null}};const hr={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var pr={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("export_demos/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}};const fr={saveFile(t){},readFile(){return U.get(Or)??null}};var gr={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
2
+ `)}},it=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};let Ee;oe=new it([fr,hr,cr]),Ee=new it([ur,pr,gr]),ze=class Gt{constructor(){o(this,"initialized",new At);o(this,"sendRename",async({filename:e})=>(e===null||(Se.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));o(this,"sendSave",async e=>{if(!this.saveRpc)return p.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let r=await this.readCode();return r.contents&&(oe.saveFile(r.contents),Ee.saveFile(r.contents)),this.rpc.proxy.request.saveNotebook(e).catch(n=>{p.error(n)}),null});o(this,"sendCopy",async()=>{b()});o(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));o(this,"sendPdb",async()=>{b()});o(this,"sendSetBreakpoints",async()=>{b()});o(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
+ `)),await this.putControlRequest({type:"execute-cells",...e}),null));o(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));o(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));o(this,"sendShutdown",async()=>(window.close(),null));o(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));o(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));o(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));o(this,"sendCodeCompletionRequest",async e=>(U.get(Gr)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));o(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),sn.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(p.error(r),null))));o(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));o(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));o(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(oe.saveFile(e.contents),Ee.saveFile(e.contents)),bn(),null});o(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(p.warn("Save RPC not initialized"),{contents:""}));o(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));o(this,"openFile",async({path:e})=>{let r=vn({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});o(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));o(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));o(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Nt()}),null));o(this,"sendInstantiate",async e=>null);o(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));o(this,"sendCreateFileOrFolder",async e=>{let r=null;return e.file&&(r=(await mn(e.file)).split(",")[1]??""),await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:{path:e.path,type:e.type,name:e.name,contents:r}})});o(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));o(this,"sendCopyFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"copy_file_or_directory",payload:e}));o(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));o(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));o(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));o(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));o(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));o(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));o(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));o(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));o(this,"previewSQLSchemaList",async e=>(await this.putControlRequest({type:"list-sql-schemas",...e}),null));o(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));o(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));o(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));o(this,"sendDocumentTransaction",()=>Promise.resolve(null));o(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));o(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));o(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());o(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));o(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));o(this,"getUsageStats",b);o(this,"getEnvironmentInfo",async()=>await this.rpc.proxy.request.bridge({functionName:"get_environment_info",payload:void 0}));o(this,"openTutorial",b);o(this,"getRecentFiles",b);o(this,"getWorkspaceFiles",b);o(this,"getRunningNotebooks",b);o(this,"shutdownSession",b);o(this,"getExportAvailability",b);o(this,"exportAsIPYNB",b);o(this,"exportAsPDF",b);o(this,"autoExportAsHTML",b);o(this,"autoExportAsMarkdown",b);o(this,"autoExportAsIPYNB",b);o(this,"updateCellOutputs",b);o(this,"writeSecret",b);o(this,"invokeAiTool",b);o(this,"clearCache",b);o(this,"getCacheInfo",b);o(this,"listStorageEntries",b);o(this,"downloadStorage",b);tn()&&(this.rpc=tt(new Worker(new URL(""+new URL("worker-BQo2bijx.js",import.meta.url).href,""+import.meta.url),{type:"module",name:at()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),U.set(ae,{kind:"ready"}),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{U.get(ae).kind==="loading"&&U.set(ae,{kind:"loading",message:e})}),this.rpc.addMessageListener("initializedError",({error:e})=>{if(this.initialized.status==="resolved"){p.error(e),pn({title:"Error initializing",description:e,variant:"danger"});return}U.set(ae,{kind:"error",message:e}),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new Gt),window[e]}getSaveWorker(){return qt()==="read"?(p.debug("Using partially disabled SaveWorker in read-mode"),{readFile:b,readNotebook:async()=>await oe.readFile()??"",saveNotebook:b}):tt(new Worker(new URL(""+new URL("save-worker-_Qc1hOeF.js",import.meta.url).href,""+import.meta.url),{type:"module",name:at()})).proxy.request}async startSession(){let e=await oe.readFile(),r=await Ee.readFile(),n=U.get(Vr)??Se.getFilename(),s=U.get(en),a={},l=new URLSearchParams(window.location.search);for(let c of l.keys()){let w=l.getAll(c);a[c]=w.length===1?w[0]:w}await this.rpc.proxy.request.startSession({queryParameters:a,code:e||r||"",filename:n,userConfig:{...s,runtime:{...s.runtime,auto_instantiate:qt()==="read"?!0:s.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):p.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},Ht=function(){return He.withProducerCallback(t=>{ze.INSTANCE.attachMessageConsumer(t)})};function at(){let t=typeof window<"u"&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0;return an()+(t?"::controller":"")}Wt=function(t=je()){let e=window.fetch;return window.fetch=async(r,n)=>{let s=r instanceof Request?r.url:r.toString();if(s.startsWith("data:"))return e(r,n);try{let a=Me(s,t);if(a){let l=await(await e(a)).arrayBuffer();return new Response(l,{headers:{"Content-Type":mr(s)}})}return e(r,n)}catch(a){return p.error("Error parsing URL",a),e(r,n)}},()=>{window.fetch=e}};function mr(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}jt=function(t,e=je()){let r=t.http.bind(t),n=t.load.bind(t);return t.http=async s=>{let a=Me(s,e);if(a)return await window.fetch(a).then(l=>l.text());try{return await r(s)}catch(l){if(s.startsWith("data:"))return await window.fetch(s).then(c=>c.text());throw l}},t.load=async s=>{let a=Me(s,e);if(a)return await window.fetch(a).then(l=>l.text());try{return await n(s)}catch(l){if(s.startsWith("data:"))return await window.fetch(s).then(c=>c.text());throw l}},()=>{t.http=r,t.load=n}};function ot(t){return t.startsWith(".")?t.slice(1):t}function yr(t,e=je()){let r=Me(t,e);if(!r)return t;let n=yn(r);return URL.createObjectURL(n)}function Me(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let n=new URL(t,r).pathname,s=lt(t),a=lt(n);return e[t]||e[ot(t)]||e[n]||e[ot(n)]||s&&e[s]||a&&e[a]}function lt(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function Ce(t,e){return{get(r){return t.get(r)},set(r,n){t.set(r,n)},save_changes(){t.save_changes()},send:t.send.bind(t),on(r,n){e.aborted||(t.on(r,n),e.addEventListener("abort",()=>t.off(r,n),{once:!0}))},off(r,n){t.off(r??null,n??null)},widget_manager:{async get_model(r){return Ce(await t.widget_manager.get_model(r),e)}}}}Ie=function(t){return typeof t=="string"&&t.length>0};function dt(t){if(typeof t=="string"&&t.startsWith("anywidget:")){let e=t.slice(10);if(Ie(e))return e}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(t)}`)}function wr(t,e){return{async getModel(r){let n=dt(r);return Ce(await t.getModel(n),e)},async getWidget(r){let n=dt(r),s=await t.getWidget(n);return{exports:s.exports,async render({el:a,signal:l}){await s.render({el:a,signal:l??e})}}}}}var ut=Symbol("marimo");function Ae(t){return t[ut]}var ct=(vt=ut,ee=class{constructor(e,r,n){u(this,D);u(this,Re,"change");u(this,$);u(this,H);u(this,Z);u(this,q,{});o(this,vt,{updateAndEmitDiffs:e=>g(this,D,Kt).call(this,e),emitCustomMessage:(e,r)=>g(this,D,Jt).call(this,e,r)});o(this,"widget_manager",{async get_model(e){let r=await ee._modelManager.getModel(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});u(this,qe,Jr(()=>{let e=i(this,q)[i(this,Re)];if(e)for(let r of[...e])try{r()}catch(n){p.error("Error emitting event",n)}},0));h(this,H,e),h(this,Z,r),h(this,$,new Map),n&&n.addEventListener("abort",()=>{p.debug("[Model] Signal aborted, clearing all listeners"),h(this,q,{})})}off(e,r){var n;if(!e){h(this,q,{});return}if(!r){i(this,q)[e]=new Set;return}(n=i(this,q)[e])==null||n.delete(r)}send(e,r,n){let s=(n??[]).map(a=>a instanceof ArrayBuffer?new DataView(a):new DataView(a.buffer,a.byteOffset,a.byteLength));return i(this,Z).sendCustomMessage(e,s).then(()=>r==null?void 0:r())}get(e){return i(this,H)[e]}set(e,r){h(this,H,{...i(this,H),[e]:r}),i(this,$).set(e,r),g(this,D,Yt).call(this,`change:${e}`,r),i(this,qe).call(this)}save_changes(){if(i(this,$).size===0)return;let e=Object.fromEntries(i(this,$).entries());i(this,$).clear(),i(this,Z).sendUpdate(e)}on(e,r,n){let s=n==null?void 0:n.signal;s!=null&&s.aborted||(i(this,q)[e]||(i(this,q)[e]=new Set),i(this,q)[e].add(r),s==null||s.addEventListener("abort",()=>this.off(e,r),{once:!0}))}},Re=new WeakMap,$=new WeakMap,H=new WeakMap,Z=new WeakMap,q=new WeakMap,D=new WeakSet,Yt=function(e,r){let n=i(this,q)[e];if(n)for(let s of[...n])try{s(r)}catch(a){p.error("Error emitting event",a)}},Kt=function(e){e!=null&&Object.keys(e).forEach(r=>{let n=r;i(this,H)[n]!==e[n]&&this.set(n,e[n])})},Jt=function(e,r=[]){let n=i(this,q)["msg:custom"];if(n)for(let s of[...n])try{s(e.content,r)}catch(a){p.error("Error emitting event",a)}},qe=new WeakMap,ee);function ht(t){return typeof t=="function"}function pt(t){return typeof t=="function"}function br(t){return ie(t)&&(ht(t.render)||pt(t.initialize))}function vr(t){return typeof t=="function"||br(t)}function Sr(t){return ie(t)&&vr(t.default)}var ft=new Set,gt=new WeakMap;function _r(t,e){if(Sr(t))return t.default;if(!ie(t)||t.default!==void 0)return null;let r=ht(t.render)?t.render:void 0,n=pt(t.initialize)?t.initialize:void 0;if(r===void 0&&n===void 0)return null;let s=gt.get(t);if(s)return s;ft.has(e)||(ft.add(e),p.warn(`Anywidget module at ${e} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let a={render:r,initialize:n};return gt.set(t,a),a}function xr(t,e){let r="https://anywidget.dev/en/afm/",n=ie(t)&&Pt(t,"render"),s=ie(t)&&Pt(t,"initialize");if(ie(t)&&t.default!==void 0)return Error(`Anywidget module at ${e} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${r}`);if(n||s){let a=[n?"`render`":null,s?"`initialize`":null].filter(Boolean).join(" and "),l=[n?"render":null,s?"initialize":null].filter(R=>R!==null),c=`export default { ${l.join(", ")} }`,w=l.length===1?`export function ${l[0]}`:"named export function ...";return Error(`Anywidget module at ${e} uses named exports (${a}). Per the AFM spec, use a default export instead: \`${c}\` (not \`${w}\`). See ${r}`)}return Error(`Anywidget module at ${e} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${r}`)}Oe=function(t){return typeof t!="string"||t.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(t)||Mr(t))};function Er(){return U.get(gn)||fn()}function Mr(t){return t.startsWith("data:text/javascript;base64,")||t.startsWith("data:application/javascript;base64,")||t.startsWith("data:text/css;base64,")?Er():!1}const mt={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw p.warn(t),Error(t)}};function Cr(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Rr=(St=class{constructor(){u(this,ke);u(this,z,new Map)}getModule(t){let{jsUrl:e,jsHash:r,kernelAuthored:n=!1}=t,s=i(this,z).get(r);if(s)return s;let a=g(this,ke,Xt).call(this,e,{kernelAuthored:n}).catch(l=>{throw i(this,z).delete(r),l});return i(this,z).set(r,a),a}invalidate(t){i(this,z).delete(t)}},z=new WeakMap,ke=new WeakSet,Xt=async function(t,e={}){if(!(Oe(t)||e.kernelAuthored===!0&&/^(https?:|data:)/.test(t)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(t)}`);let r=nn(t).toString();return kt()&&(r=yr(r)),hn(()=>import(r).then(async n=>(await n.__tla,n)),[],import.meta.url)},St);function Ne(t){return typeof t=="function"}async function yt(t,e){try{await t()}catch(r){p.warn(`[WidgetBinding] ${e} cleanup failed`,r)}}var qr=(ne=class{constructor(e){u(this,V);u(this,te);u(this,de);u(this,ue);u(this,ce);u(this,he);u(this,B,new Set);u(this,re,new Set);h(this,de,e.widget),h(this,ue,e.model),h(this,ce,e.exports),h(this,te,e.controller),h(this,he,e.createHost)}static async create({widgetDef:e,model:r,createHost:n,controller:s=new AbortController}){var j;let a=s.signal,l=typeof e=="function"?await e():e,c=Promise.resolve((j=l.initialize)==null?void 0:j.call(l,{model:Ce(r,a),experimental:mt,signal:a}));c.then(async I=>{a.aborted&&Ne(I)&&await yt(I,"late initialize")}).catch(()=>{});let w=await Promise.race([c,new Promise((I,Pe)=>{let ve=()=>Pe(Error("[anywidget] binding destroyed"));if(a.aborted){ve();return}a.addEventListener("abort",ve,{once:!0})})]);if(a.aborted)throw Error("[anywidget] binding destroyed");let R,k;Ne(w)?(k=w,R=void 0):R=typeof w=="object"&&w?w:void 0;let P=new ne({widget:l,model:r,exports:R,controller:s,createHost:n});return k&&a.addEventListener("abort",()=>{var I;g(I=P,V,Qe).call(I,k,"initialize")},{once:!0}),P}get exports(){return i(this,ce)}async createView(e,r){let n=g(this,V,Zt).call(this,e,r);i(this,re).add(n);try{await n}finally{i(this,re).delete(n)}}async destroy(){for(p.debug("[WidgetBinding] Destroying binding generation"),i(this,te).abort(),await Promise.allSettled(i(this,re));i(this,B).size>0;)await Promise.all(i(this,B))}},te=new WeakMap,de=new WeakMap,ue=new WeakMap,ce=new WeakMap,he=new WeakMap,B=new WeakMap,re=new WeakMap,V=new WeakSet,Zt=async function(e,r){let n=i(this,de);if(!n.render)return;let s=Cr([r.signal,i(this,te).signal]);if(s.aborted)return;e.el.innerHTML="";let a=i(this,he).call(this,s),l=await n.render({model:Ce(i(this,ue),s),el:e.el,experimental:mt,signal:s,host:a});if(Ne(l)){let c=()=>{let w=r.signal.aborted?"view unmount":"binding destroyed";return p.debug(`[WidgetBinding] Render cleanup triggered (reason: ${w})`),g(this,V,Qe).call(this,l,"render")};if(s.aborted){await c();return}s.addEventListener("abort",()=>{c()},{once:!0})}},Qe=function(e,r){let n=yt(e,r);return i(this,B).add(n),n.finally(()=>i(this,B).delete(n)),n},ne);const wt=new Rr;var kr=(_t=class{constructor(t,e){u(this,v);u(this,O);u(this,pe);u(this,fe);u(this,ge);u(this,me);u(this,F,new AbortController);u(this,C,new At);u(this,Q,new Set);u(this,A,new Map);u(this,N);u(this,G);u(this,E);u(this,ye,Promise.resolve());u(this,Y,"");h(this,O,t),h(this,pe,e.timeout),h(this,fe,e.isEditMode),h(this,ge,e.createHost),h(this,me,e.onModelTimeout)}getModel(){return i(this,C).status==="pending"&&!i(this,N)&&h(this,N,setTimeout(()=>{i(this,C).status==="pending"&&(h(this,N,void 0),i(this,C).reject(Error(`Model not found for key: ${i(this,O)}`)),i(this,me).call(this))},i(this,pe))),i(this,C).promise}getModelSync(){return i(this,C).status==="resolved"?i(this,C).value:void 0}createModel(t){i(this,C).status==="pending"&&g(this,v,Ge).call(this,t(i(this,F).signal))}setModel(t){i(this,C).status==="pending"&&g(this,v,Ge).call(this,t)}setSpec(t){if(!i(this,G)){h(this,G,t);return}i(this,fe).call(this)&&(h(this,G,t),i(this,E)&&i(this,E).hash!==t.hash&&g(this,v,tr).call(this,t))}async getWidget(){return{exports:(await g(this,v,Ye).call(this)).exports,render:async({el:t,signal:e})=>{await this.createView({el:t,signal:e??i(this,F).signal})}}}async createView(t){if(t.signal.aborted||i(this,F).signal.aborted)return;let e={el:t.el,signal:t.signal};i(this,Q).add(e),g(this,v,rr).call(this,e),t.signal.addEventListener("abort",()=>i(this,Q).delete(e),{once:!0}),await g(this,v,Xe).call(this,e)}dispose(){if(!i(this,F).signal.aborted){p.debug(`[WidgetRuntime] Disposing model=${i(this,O)}`),i(this,N)&&h(this,N,(clearTimeout(i(this,N)),void 0)),i(this,C).status==="pending"&&(i(this,C).promise.catch(()=>{}),i(this,C).reject(Error("[anywidget] widget runtime destroyed"))),i(this,E)&&g(this,v,Je).call(this,i(this,E)),i(this,F).abort(),i(this,Q).clear();for(let t of i(this,A).values())t.dispose();i(this,A).clear()}}},O=new WeakMap,pe=new WeakMap,fe=new WeakMap,ge=new WeakMap,me=new WeakMap,F=new WeakMap,C=new WeakMap,Q=new WeakMap,A=new WeakMap,N=new WeakMap,G=new WeakMap,E=new WeakMap,ye=new WeakMap,Y=new WeakMap,v=new WeakSet,Ge=function(t){i(this,N)&&h(this,N,(clearTimeout(i(this,N)),void 0)),i(this,C).resolve(t);let e=t.get("_css");h(this,Y,typeof e=="string"?e:""),t.on("change:_css",r=>{h(this,Y,typeof r=="string"?r:"");for(let n of i(this,A).values())n.update(i(this,Y))},{signal:i(this,F).signal})},Ye=async function(){for(;!i(this,F).signal.aborted;){let t=await this.getModel(),e=i(this,E);if(!e){let r=i(this,G);if(!r)throw Error(`[anywidget] No ESM spec for model ${i(this,O)}: nothing ever provided this widget's code`);e=g(this,v,Ke).call(this,r,t)}try{let r=await e.promise;if(e===i(this,E))return r}catch(r){if(!i(this,E)||e===i(this,E))throw r}}throw Error("[anywidget] widget runtime destroyed")},er=async function(t){let{spec:e,model:r,controller:n}=t,s=await wt.getModule({jsUrl:e.url,jsHash:e.hash,kernelAuthored:!0}),a=_r(s,e.url);if(!a)throw wt.invalidate(e.hash),xr(s,e.url);return qr.create({widgetDef:a,model:r,createHost:i(this,ge),controller:n})},Ke=function(t,e){let r=new AbortController,n={hash:t.hash,controller:r,promise:g(this,v,er).call(this,{spec:t,model:e,controller:r})};return n.promise.catch(()=>{i(this,E)===n&&h(this,E,void 0)}),h(this,E,n),n},tr=function(t){let e=i(this,E);if(!e)return;p.debug(`[WidgetRuntime] Hot-swapping generation for model=${i(this,O)}`);let r=g(this,v,Je).call(this,e),n=this.getModelSync();if(!n)return;let s=g(this,v,Ke).call(this,t,n);for(let a of i(this,Q))a.generation=void 0,r.then(()=>g(this,v,Xe).call(this,a,s)).catch(l=>{p.error("[WidgetRuntime] Error replacing widget view",l)})},Je=function(t){t.controller.abort();let e=i(this,ye).then(async()=>{try{await(await t.promise).destroy()}catch{}});return h(this,ye,e),e},Xe=async function(t,e){if(t.signal.aborted||i(this,F).signal.aborted)return;let r=e??i(this,E),n=r?await r.promise:await g(this,v,Ye).call(this),s=i(this,E);if(!(!s||s!==(r??s))&&t.generation!==s){t.generation=s;try{await n.createView({el:t.el},{signal:t.signal})}catch(a){if(s!==i(this,E)){t.generation=void 0;return}throw a}}},rr=function(t){let e=t.el.getRootNode();if(!Le(e)&&!Pr(e))return;let r=i(this,A).get(e);r||(r=Fr(e,i(this,Y)),i(this,A).set(e,r)),r.references+=1;let n=!1;t.signal.addEventListener("abort",()=>{if(n)return;n=!0;let s=i(this,A).get(e);s&&(--s.references,s.references===0&&(s.dispose(),i(this,A).delete(e)))},{once:!0})},_t);function Le(t){return t.nodeType===Node.DOCUMENT_NODE}function Pr(t){return t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in t}function Fr(t,e){let r=Le(t)?t:t.ownerDocument??document,n=r.defaultView??window;if("adoptedStyleSheets"in t&&n.CSSStyleSheet!==void 0&&typeof n.CSSStyleSheet.prototype.replaceSync=="function")try{let a=new n.CSSStyleSheet;return a.replaceSync(e),t.adoptedStyleSheets=[...t.adoptedStyleSheets,a],{references:0,update(l){a.replaceSync(l)},dispose(){t.adoptedStyleSheets=t.adoptedStyleSheets.filter(l=>l!==a)}}}catch{}let s=r.createElement("style");return s.textContent=e,Le(t)?r.head.append(s):t.append(s),{references:0,update(a){s.textContent=a},dispose(){s.remove()}}}function Te(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[n,s]of t.entries())r.push(...Te(s,[...e,n]));else if(typeof t=="object"&&t)for(let[n,s]of Object.entries(t))r.push(...Te(s,[...e,n]));return r}function Ir(t){let e=Te(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),n=[],s=[];for(let a of e){let l=Kr(t,a);if(l instanceof DataView){let c=Ft(l);n.push(c),s.push(a),_e(r,a,c)}}return{state:r,buffers:n,bufferPaths:s}}function bt(t){let{state:e,bufferPaths:r,buffers:n}=t;if(!r||r.length===0)return e;n&&Zr(n.length===r.length,"Buffers and buffer paths not the same length");let s=e;for(let[a,l]of r.entries()){let c=n==null?void 0:n[a];if(c==null){p.warn("[anywidget] Could not find buffer at path",l);continue}typeof c=="string"?_e(s,l,It(c)):_e(s,l,c)}return s}function Ar(){let t=U.get(rn).mode;return t==="edit"||t==="present"}Fe=new(xt=class{constructor(t=1e4,e=Ar){u(this,W);u(this,L,new Map);u(this,we);u(this,be);h(this,we,t),h(this,be,e)}getModel(t){return g(this,W,X).call(this,t).getModel()}getModelSync(t){var e;return(e=i(this,L).get(t))==null?void 0:e.getModelSync()}createModel(t,e){g(this,W,X).call(this,t).createModel(e)}setModel(t,e){g(this,W,X).call(this,t).setModel(e)}setSpec(t,e){g(this,W,X).call(this,t).setSpec(e)}getWidget(t){return g(this,W,X).call(this,t).getWidget()}createView(t){return g(this,W,X).call(this,t.modelId).createView(t)}delete(t){let e=i(this,L).get(t);e&&(e.dispose(),i(this,L).delete(t))}},L=new WeakMap,we=new WeakMap,be=new WeakMap,W=new WeakSet,X=function(t){let e=i(this,L).get(t);if(!e){let r=new kr(t,{timeout:i(this,we),isEditMode:i(this,be),createHost:n=>wr(this,n),onModelTimeout:()=>{i(this,L).get(t)===r&&(r.dispose(),i(this,L).delete(t))}});e=r,i(this,L).set(t,e)}return e},xt),ct._modelManager=Fe,Ut=async function(t,e){let r=e.model_id;if(!Ie(r))throw Error(`[anywidget] Invalid model id: ${String(r)}`);let n=e.message,s=("buffers"in n?n.buffers:[]).map(It);switch(n.method){case"open":{let{state:a,buffer_paths:l=[]}=n;n.esm_spec&&t.setSpec(r,n.esm_spec);let c=bt({state:a,bufferPaths:l,buffers:s}),w=t.getModelSync(r);if(w){Ae(w).updateAndEmitDiffs(c);return}t.createModel(r,R=>new ct(c,kt()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(k){if(R.aborted){p.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:P,buffers:j,bufferPaths:I}=Ir(k);await $e().sendModelValue({modelId:r,message:{method:"update",state:P,bufferPaths:I},buffers:j})},async sendCustomMessage(k,P){if(R.aborted){p.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await $e().sendModelValue({modelId:r,message:{method:"custom",content:k},buffers:P.map(Ft)})}},R));return}case"custom":Ae(await t.getModel(r)).emitCustomMessage({method:"custom",content:n.content},s);return;case"close":t.delete(r);return;case"update":{let{state:a,buffer_paths:l=[]}=n;n.esm_spec&&t.setSpec(r,n.esm_spec);let c=bt({state:a,bufferPaths:l,buffers:s});Ae(await t.getModel(r)).updateAndEmitDiffs(c);return}default:dn(n)}},Br(Fe,"WIDGET_REGISTRY");function Nr(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}De=class nr{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new nr),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&p.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:zr(r,this),elements:new Set([r])}):n.elements.add(r)}removeInstance(e,r){let n=this.entries.get(e);n!=null&&n.elements.has(r)&&n.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,n){let s=this.entries.get(e);if(s===void 0){p.warn("UIElementRegistry missing entry",e);return}if(Nr(r)){s.value=r.value,s.elements.forEach(a=>{a.dispatchEvent(Lt.create({bubbles:!1,composed:!0,detail:{value:r.value,element:a}}))});return}s.elements.forEach(a=>{a.dispatchEvent(_n.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:n}}))})}broadcastValueUpdate(e,r,n){let s=this.entries.get(r);s===void 0?p.warn("UIElementRegistry missing entry",r):(s.value=n,s.elements.forEach(a=>{a!==e&&a.dispatchEvent(Lt.create({bubbles:!1,composed:!0,detail:{value:n,element:a}}))}),document.dispatchEvent(Sn.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},Ot=De.INSTANCE,$t=new cn("function-call-result",async(t,e)=>{await $e().sendFunctionRequest({functionCallId:t,...e})}),Bt="68px";var Lr="288px";Dt=t=>t?/^\d+$/.test(t)?`${t}px`:t:Lr,zt=Dr({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}})});export{_e as S,He as _,xn as __tla,De as a,Tt as b,Ut as c,Wt as d,jt as f,ae as g,oe as h,$t as i,Oe as l,Ht as m,Dt as n,Ot as o,ze as p,zt as r,Fe as s,Bt as t,Ie as u,Be as v,Vt as x,Qt as y};
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-BJDqUUF2.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-4k5eCUzO.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-TXkS1QI3.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/objects-BlG0ZrO0.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
@@ -223,7 +223,7 @@
223
223
  <link rel="modulepreload" crossorigin href="./assets/memoize-Tp7rARFe.js">
224
224
  <link rel="modulepreload" crossorigin href="./assets/get-C-qh_et5.js">
225
225
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-CsW0tABf.js">
226
- <link rel="modulepreload" crossorigin href="./assets/state-B7LxUcAy.js">
226
+ <link rel="modulepreload" crossorigin href="./assets/state-DFPAfLw7.js">
227
227
  <link rel="modulepreload" crossorigin href="./assets/label-CqjrpwRC.js">
228
228
  <link rel="modulepreload" crossorigin href="./assets/textarea-DuEtSOCl.js">
229
229
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-sLaKP2vj.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.16-dev29",
3
+ "version": "0.23.16-dev31",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -64,6 +64,31 @@ export const MockRequestClient = {
64
64
  getWorkspaceFiles: vi.fn().mockResolvedValue({ files: [] }),
65
65
  getRunningNotebooks: vi.fn().mockResolvedValue({ files: [] }),
66
66
  shutdownSession: vi.fn().mockResolvedValue({}),
67
+ getExportAvailability: vi.fn().mockResolvedValue({
68
+ source: "server",
69
+ formats: [
70
+ {
71
+ format: "html",
72
+ dependenciesAvailable: true,
73
+ missingPackages: [],
74
+ },
75
+ {
76
+ format: "markdown",
77
+ dependenciesAvailable: true,
78
+ missingPackages: [],
79
+ },
80
+ {
81
+ format: "ipynb",
82
+ dependenciesAvailable: true,
83
+ missingPackages: [],
84
+ },
85
+ {
86
+ format: "pdf",
87
+ dependenciesAvailable: true,
88
+ missingPackages: [],
89
+ },
90
+ ],
91
+ }),
67
92
  exportAsHTML: vi.fn().mockResolvedValue({
68
93
  contents: "",
69
94
  filename: "notebook.html",
@@ -354,6 +354,7 @@ export class IslandsPyodideBridge implements RunRequests, EditRequests {
354
354
  sendUpdateFile = throwNotImplemented;
355
355
  sendFileDetails = throwNotImplemented;
356
356
  openTutorial = throwNotImplemented;
357
+ getExportAvailability = throwNotImplemented;
357
358
  exportAsHTML = throwNotImplemented;
358
359
  exportAsIPYNB = throwNotImplemented;
359
360
  exportAsMarkdown = throwNotImplemented;
@@ -4,7 +4,11 @@ import { beforeEach, describe, expect, it, vi } from "vitest";
4
4
  import { cellId, requestId, uiElementId } from "@/__tests__/branded";
5
5
  import type { RuntimeManager } from "../../runtime/runtime";
6
6
  import { createLazyRequests } from "../requests-lazy";
7
- import type { EditRequests, RunRequests } from "../types";
7
+ import type {
8
+ EditRequests,
9
+ ExportAvailabilityResponse,
10
+ RunRequests,
11
+ } from "../types";
8
12
 
9
13
  // Mock the connection module
10
14
  vi.mock("../connection", async () => {
@@ -72,6 +76,33 @@ describe("createLazyRequests", () => {
72
76
  expect(mockDelegate.getEnvironmentInfo).toHaveBeenCalledOnce();
73
77
  });
74
78
 
79
+ it("gets export availability without starting a kernel", async () => {
80
+ const availability: ExportAvailabilityResponse = {
81
+ source: "server",
82
+ formats: [
83
+ {
84
+ format: "ipynb",
85
+ dependenciesAvailable: false,
86
+ missingPackages: ["nbformat"],
87
+ },
88
+ ],
89
+ };
90
+ mockDelegate.getExportAvailability = vi
91
+ .fn()
92
+ .mockResolvedValue(availability) as EditRequests["getExportAvailability"];
93
+
94
+ const lazyRequests = createLazyRequests(
95
+ mockDelegate,
96
+ mockGetRuntimeManager,
97
+ );
98
+
99
+ await expect(lazyRequests.getExportAvailability()).resolves.toEqual(
100
+ availability,
101
+ );
102
+ expect(mockInit).not.toHaveBeenCalled();
103
+ expect(mockDelegate.getExportAvailability).toHaveBeenCalledOnce();
104
+ });
105
+
75
106
  it("should call init once before first request", async () => {
76
107
  const lazyRequests = createLazyRequests(
77
108
  mockDelegate,
@@ -123,6 +123,13 @@ describe("createNetworkRequests", () => {
123
123
  expect(mockClient.GET).toHaveBeenCalledWith("/api/environment");
124
124
  });
125
125
 
126
+ it("getExportAvailability should GET /api/export/availability", async () => {
127
+ const requests = createNetworkRequests();
128
+ await requests.getExportAvailability();
129
+
130
+ expect(mockClient.GET).toHaveBeenCalledWith("/api/export/availability");
131
+ });
132
+
126
133
  it("getPackageList should not require a kernel connection", async () => {
127
134
  const { waitForConnectionOpen, waitForConnectionOpenIfNotebook } =
128
135
  await import("../connection");
@@ -103,6 +103,7 @@ const ACTIONS: Record<keyof AllRequests, Action> = {
103
103
 
104
104
  // Served by the marimo server without a kernel session
105
105
  getEnvironmentInfo: "serverOnly",
106
+ getExportAvailability: "serverOnly",
106
107
 
107
108
  // Home operations throw errors
108
109
  getRecentFiles: "startConnection",
@@ -402,6 +402,9 @@ export function createNetworkRequests(): EditRequests & RunRequests {
402
402
  })
403
403
  .then(handleResponse);
404
404
  },
405
+ getExportAvailability: () => {
406
+ return getClient().GET("/api/export/availability").then(handleResponse);
407
+ },
405
408
  exportAsHTML: async (request) => {
406
409
  if (
407
410
  process.env.NODE_ENV === "development" ||
@@ -82,6 +82,7 @@ export function createStaticRequests(): EditRequests & RunRequests {
82
82
  getWorkspaceFiles: throwNotInEditMode,
83
83
  getRunningNotebooks: throwNotInEditMode,
84
84
  shutdownSession: throwNotInEditMode,
85
+ getExportAvailability: throwNotInEditMode,
85
86
  exportAsHTML: throwNotInEditMode,
86
87
  exportAsIPYNB: throwNotInEditMode,
87
88
  exportAsMarkdown: throwNotInEditMode,
@@ -63,6 +63,7 @@ export function createErrorToastingRequests(
63
63
  getWorkspaceFiles: "Failed to get workspace files",
64
64
  getRunningNotebooks: "Failed to get running notebooks",
65
65
  shutdownSession: "Failed to shutdown session",
66
+ getExportAvailability: "", // No toast
66
67
  exportAsHTML: "Failed to export HTML",
67
68
  exportAsIPYNB: "Failed to export ipynb",
68
69
  exportAsMarkdown: "Failed to export Markdown",
@@ -17,6 +17,7 @@ export type CellConfig = schemas["CellConfig"];
17
17
  export type RuntimeState = schemas["CellNotification"]["status"];
18
18
  export type CodeCompletionRequest = schemas["CodeCompletionRequest"];
19
19
  export type DeleteCellRequest = schemas["DeleteCellRequest"];
20
+ export type AutoExportAsIPYNBRequest = schemas["AutoExportAsIPYNBRequest"];
20
21
  export type AutoExportAsMarkdownRequest =
21
22
  schemas["AutoExportAsMarkdownRequest"];
22
23
  export type ExportAsHTMLRequest = schemas["ExportAsHTMLRequest"];
@@ -24,6 +25,7 @@ export type ExportAsMarkdownRequest = schemas["ExportAsMarkdownRequest"];
24
25
  export type ExportAsIPYNBRequest = schemas["ExportAsIPYNBRequest"];
25
26
  export type ExportAsScriptRequest = schemas["ExportAsScriptRequest"];
26
27
  export type ExportAsPDFRequest = schemas["ExportAsPDFRequest"];
28
+ export type ExportAvailabilityResponse = schemas["ExportAvailabilityResponse"];
27
29
  export type UpdateCellOutputsRequest = schemas["UpdateCellOutputsRequest"];
28
30
 
29
31
  export interface ExportedFile<T extends BlobPart = BlobPart> {
@@ -214,6 +216,7 @@ export interface EditRequests {
214
216
  request: ShutdownSessionRequest,
215
217
  ) => Promise<RunningNotebooksResponse>;
216
218
  // Export requests
219
+ getExportAvailability: () => Promise<ExportAvailabilityResponse>;
217
220
  exportAsHTML: (request: ExportAsHTMLRequest) => Promise<ExportedFile<string>>;
218
221
  exportAsIPYNB: (
219
222
  request: ExportAsIPYNBRequest,
@@ -224,7 +227,7 @@ export interface EditRequests {
224
227
  exportAsPDF: (request: ExportAsPDFRequest) => Promise<ExportedFile<Blob>>;
225
228
  autoExportAsHTML: (request: ExportAsHTMLRequest) => Promise<null>;
226
229
  autoExportAsMarkdown: (request: AutoExportAsMarkdownRequest) => Promise<null>;
227
- autoExportAsIPYNB: (request: ExportAsIPYNBRequest) => Promise<null>;
230
+ autoExportAsIPYNB: (request: AutoExportAsIPYNBRequest) => Promise<null>;
228
231
  updateCellOutputs: (request: UpdateCellOutputsRequest) => Promise<null>;
229
232
  // Package requests
230
233
  getPackageList: () => Promise<ListPackagesResponse>;
@@ -643,6 +643,7 @@ export class PyodideBridge implements RunRequests, EditRequests {
643
643
  getWorkspaceFiles = throwNotImplemented;
644
644
  getRunningNotebooks = throwNotImplemented;
645
645
  shutdownSession = throwNotImplemented;
646
+ getExportAvailability = throwNotImplemented;
646
647
  exportAsIPYNB = throwNotImplemented;
647
648
  exportAsPDF = throwNotImplemented;
648
649
  autoExportAsHTML = throwNotImplemented;