@marimo-team/frontend 0.23.10-dev55 → 0.23.10-dev57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{edit-page-p8VsTwE3.js → edit-page-CVBh4l1i.js} +3 -3
- package/dist/assets/file-explorer-panel-BCB8cwDd.js +26 -0
- package/dist/assets/{index-CdnLLLYn.js → index-D2v5nOjW.js} +2 -2
- package/dist/assets/{panels-CBe83v0S.js → panels-DYPu5IGJ.js} +1 -1
- package/dist/assets/{run-page-BdSzJWEw.js → run-page-DrqPHnz9.js} +1 -1
- package/dist/assets/state-DyKcYt57.js +1 -0
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/components/editor/cell/code/code-placeholder.css +1 -0
- package/src/components/editor/cell/code/code-placeholder.tsx +1 -0
- package/src/components/storage/__tests__/storage-inspector.test.ts +129 -2
- package/src/components/storage/storage-inspector.tsx +412 -39
- package/src/core/codemirror/__tests__/editor-mount-scheduler.test.ts +1 -0
- package/src/core/codemirror/editor-mount-scheduler.ts +1 -0
- package/src/utils/schedule-task.ts +1 -0
- package/dist/assets/file-explorer-panel-GJ_Lqi4C.js +0 -26
- package/dist/assets/state-BkLoQLHX.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var WA=Object.defineProperty;var VA=(a,A,e)=>A in a?WA(a,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[A]=e;var J=(a,A,e)=>VA(a,typeof A!="symbol"?A+"":A,e);import{s as hA}from"./chunk-LvLJmgfZ.js";import{d as L,i as uA,l as BA,u as y}from"./useEvent-D91BmmQi.js";import{t as XA}from"./react-Bj1aDYRI.js";import{A as qA,B as JA,D as mA,Gt as zA,I as $A,Jt as Ae,Kt as ee,Pr as ae,R as te,Ri as Ge,Rn as oe,T as se,Tn as ne,Wi as re,at as ke,b as ie,bn as Re,ct as YA,dt as le,g as Ze,h as kA,l as ce,ot as ge,qt as de,zr as fA}from"./cells-CoFnpuSu.js";import{t as u}from"./compiler-runtime-B3qBwwSJ.js";import{C as he,_ as ue,b as Be,c as me,h as Ye,i as fe,m as pe,n as we,o as O,r as xe,s as Ee,t as De,x as Ce,y as ye}from"./state-CsD5BRG0.js";import{_ as x,d as ve,t as be}from"./useEventListener-DvoEXWke.js";import{S as Me,T as Ne}from"./utils-CvI-39U6.js";import{r as iA}from"./constants-DMpttj8Q.js";import{C as v,T as RA,d as Se,l as pA,o as _e,v as Fe,w as Y}from"./config-ClMcu_sV.js";import{o as Qe}from"./switch-Ac7CgLgh.js";import{n as je}from"./ErrorBoundary-DyYDV0HI.js";import{n as Le,t as f}from"./cn-DCUzRj2J.js";import{t as Oe}from"./jsx-runtime-BqBOg78p.js";import{o as Pe,r as Ie}from"./fullscreen-DFky0PAA.js";import{_ as Te,f as Ke,g as He,h as wA,m as xA,p as EA,v as DA,y as Ue}from"./alert-dialog-5BGIfskO.js";import{Dt as We,Ot as Ve,bt as CA}from"./JsonOutput-DOmfCaR3.js";import{h as Xe}from"./download-B10yQcVE.js";import{t as yA}from"./tooltip-B_PkSKN3.js";import{t as vA}from"./button-BbCh-29a.js";import{t as qe}from"./createReducer-CI9qeK_X.js";import{i as bA}from"./strings-wdPMRf6Z.js";import{t as Je}from"./requests-DIwGYs0l.js";import{t as lA}from"./createLucideIcon-D5guW7EU.js";import{N as ze,P as MA,a as $e,i as NA,n as Aa,o as ea,s as aa}from"./layout-BVZ3DZze.js";import{o as ta,r as Ga,s as oa}from"./state-BkLoQLHX.js";import{c as sa}from"./markdown-renderer-DC51vSBA.js";import{n as na}from"./spinner-Bhir8k53.js";import{n as ra}from"./readonly-python-code-Crki_rLb.js";import{t as ka}from"./uuid-e9lSomwA.js";import{t as ZA}from"./use-toast-CJ1Tj2eC.js";import{i as ia}from"./session-0B5NBztP.js";import{t as Ra}from"./RenderHTML-CXsJP1V5.js";import{r as la}from"./share-mSf5FZIP.js";import{i as SA}from"./errors-D3F5g1xA.js";import{s as Za}from"./react-icons.esm-BNzu6e7h.js";import{r as _A}from"./events-CPoJAfgx.js";import{i as ca}from"./cell-link-iYZiKtn4.js";import{n as ga}from"./useAsyncData-bgszE9F0.js";import{t as da}from"./requests-QKoDeQkn.js";import{t as ha}from"./request-registry-BmtPM40k.js";import{t as ua}from"./ws-K6nioC-Z.js";import{n as Ba}from"./types-Cpe-qFT-.js";import{n as ma}from"./runs-DSnhrBgK.js";var Ya=lA("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"}]]),FA=lA("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),fa=lA("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"}]]),pa=u(),R=hA(Oe(),1);const wa=a=>{let A=(0,pa.c)(2),{reason:e}=a,t;return A[0]===e?t=A[1]:(t=(0,R.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,R.jsx)("p",{children:e})}),A[0]=e,A[1]=t),t};var xa=u(),B=hA(XA(),1);const Ea=a=>{let A=(0,xa.c)(7),{connection:e,className:t,children:G}=a,o;A[0]!==e.reason||A[1]!==e.state?(o=e.state===Y.CLOSED&&(0,R.jsx)(wa,{reason:e.reason}),A[0]=e.reason,A[1]=e.state,A[2]=o):o=A[2];let s;return A[3]!==G||A[4]!==t||A[5]!==o?(s=(0,R.jsxs)("div",{className:t,children:[G,o]}),A[3]=G,A[4]=t,A[5]=o,A[6]=s):s=A[6],s};var Da=u();const Ca=a=>{let A=(0,Da.c)(10),{title:e}=a,[t,G]=(0,B.useState)(e),[o,s]=(0,B.useState)(!0),Z,n;A[0]!==t||A[1]!==e?(Z=()=>{if(e!==t){s(!1);let g=setTimeout(()=>{G(e),s(!0)},300);return()=>clearTimeout(g)}},n=[e,t],A[0]=t,A[1]=e,A[2]=Z,A[3]=n):(Z=A[2],n=A[3]),(0,B.useEffect)(Z,n);let r;A[4]===Symbol.for("react.memo_cache_sentinel")?(r=(0,R.jsx)(na,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=r):r=A[4];let i=o?"opacity-100":"opacity-0",k;A[5]===i?k=A[6]:(k=f("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",i),A[5]=i,A[6]=k);let c;return A[7]!==t||A[8]!==k?(c=(0,R.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[r,(0,R.jsx)("div",{className:k,children:t})]}),A[7]=t,A[8]=k,A[9]=c):c=A[9],c};var cA=u();const ya=a=>{let A=(0,cA.c)(2),{children:e}=a;if(!RA())return e;let t;return A[0]===e?t=A[1]:(t=(0,R.jsx)(va,{children:e}),A[0]=e,A[1]=t),t};var va=a=>{let A=(0,cA.c)(9),{children:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],A[0]=t):t=A[0];let{error:G}=ga(Sa,t),o=y(Ze),s=y(ue),Z;A[1]!==o||A[2]!==s?(Z=Ma({hasCells:o,hasOutput:s,mode:ge(),codeHidden:ba()}),A[1]=o,A[2]=s,A[3]=Z):Z=A[3];let n=Z,r=(0,B.useRef)(!1),i,k;if(A[4]!==G||A[5]!==n?(i=()=>{G&&!n&&!r.current&&(r.current=!0,x.error("Pyodide failed to initialize",G),ZA({title:"Failed to start the notebook runtime",description:SA(G),variant:"danger"}))},k=[G,n],A[4]=G,A[5]=n,A[6]=i,A[7]=k):(i=A[6],k=A[7]),(0,B.useEffect)(i,k),G&&n)throw G;if(n){let c;return A[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,R.jsx)(Na,{}),A[8]=c):c=A[8],c}return e};function ba(){return ia(iA.showCode,"false")||!uA.get(Qe)}function Ma(a){let{hasCells:A,hasOutput:e,mode:t,codeHidden:G}=a;return A?!e&&t==="read"&&G:!0}const Na=a=>{let A=(0,cA.c)(2),e=y(ye),t;return A[0]===e?t=A[1]:(t=(0,R.jsx)(Ca,{title:e}),A[0]=e,A[1]=t),t};async function Sa(){return await pe.INSTANCE.initialized.promise,!0}var _a={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 P(a){return _a[a]}function Fa(a){if(document.visibilityState==="visible")return;let A=async()=>{a===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await P("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${a} error(s).`,icon:await P("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const Qa=a=>{let{isRunning:A}=a,e=qA(),t=document.querySelector("link[rel~='icon']");t||(t=document.createElement("link"),t.rel="icon",document.getElementsByTagName("head")[0].append(t)),(0,B.useEffect)(()=>{!A&&t.href.includes("favicon")||(async()=>{let o;if(o=A?"running":e.length===0?"success":"error",t.href=await P(o),!document.hasFocus())return;let s=setTimeout(async()=>{t.href=await P("idle")},3e3);return()=>clearTimeout(s)})()},[A,e,t]);let G=ze(A)??A;return(0,B.useEffect)(()=>{G&&!A&&Fa(e.length)},[e,G,A]),be(window,"focus",async o=>{A||(t.href=await P("idle"))}),null};function ja(){let{cellIds:a,cellRuntime:A}=uA.get(ie),e=a.inOrderIds.find(t=>{var G;return((G=A[t])==null?void 0:G.status)==="running"});e&&ca(e,"focus")}var z=u();const La=a=>{let A=(0,z.c)(18),{connection:e,isRunning:t,onReconnect:G}=a,{mode:o}=y(le),s=e.state===Y.CLOSED,Z=e.state===Y.OPEN,n=s&&e.code===v.KERNEL_DISCONNECTED,r;A[0]===s?r=A[1]:(r=s&&(0,R.jsx)(Ia,{}),A[0]=s,A[1]=r);let i=o==="read"?"fixed":"absolute",k;A[2]===i?k=A[3]:(k=f("z-50 top-4 left-4",i),A[2]=i,A[3]=k);let c;A[4]!==Z||A[5]!==t?(c=Z&&t&&(0,R.jsx)(Pa,{}),A[4]=Z,A[5]=t,A[6]=c):c=A[6];let g;A[7]!==n||A[8]!==s||A[9]!==G?(g=s&&(0,R.jsx)(Oa,{onReconnect:n?G:void 0}),A[7]=n,A[8]=s,A[9]=G,A[10]=g):g=A[10];let d;A[11]!==k||A[12]!==c||A[13]!==g?(d=(0,R.jsxs)("div",{className:k,children:[c,g]}),A[11]=k,A[12]=c,A[13]=g,A[14]=d):d=A[14];let m;return A[15]!==r||A[16]!==d?(m=(0,R.jsxs)(R.Fragment,{children:[r,d]}),A[15]=r,A[16]=d,A[17]=m):m=A[17],m};var QA="print:hidden pointer-events-auto hover:cursor-pointer",Oa=a=>{let A=(0,z.c)(12),{onReconnect:e}=a,t=!e,G=t?"App disconnected":"App disconnected \u2014 click to reconnect",o=t?0:-1,s;A[0]===Symbol.for("react.memo_cache_sentinel")?(s=f(QA,"bg-transparent border-0 p-0"),A[0]=s):s=A[0];let Z=t?"App disconnected":"Reconnect to app",n;A[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,R.jsx)(fa,{className:"w-[25px] h-[25px] text-(--red-11)"}),A[1]=n):n=A[1];let r;A[2]!==t||A[3]!==e||A[4]!==Z?(r=(0,R.jsx)("button",{type:"button",className:s,"aria-label":Z,"data-testid":"disconnected-indicator",onClick:e,disabled:t,children:n}),A[2]=t,A[3]=e,A[4]=Z,A[5]=r):r=A[5];let i;A[6]!==o||A[7]!==r?(i=(0,R.jsx)("span",{tabIndex:o,children:r}),A[6]=o,A[7]=r,A[8]=i):i=A[8];let k;return A[9]!==G||A[10]!==i?(k=(0,R.jsx)(yA,{content:G,children:i}),A[9]=G,A[10]=i,A[11]=k):k=A[11],k},Pa=()=>{let a=(0,z.c)(6),A=y(se),e=A?"Scratchpad is running":"Jump to running cell",t=A?void 0:ja,G;a[0]===Symbol.for("react.memo_cache_sentinel")?(G=(0,R.jsx)(Ya,{className:"running-app-icon",size:30,strokeWidth:1}),a[0]=G):G=a[0];let o;a[1]===t?o=a[2]:(o=(0,R.jsx)("div",{className:QA,"data-testid":"loading-indicator",onClick:t,children:G}),a[1]=t,a[2]=o);let s;return a[3]!==o||a[4]!==e?(s=(0,R.jsx)(yA,{content:e,side:"right",children:o}),a[3]=o,a[4]=e,a[5]=s):s=a[5],s},Ia=()=>{let a=(0,z.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("div",{className:"noise"}),(0,R.jsx)("div",{className:"disconnected-gradient"})]}),a[0]=A):A=a[0],A},M=u(),Ta=Te,Ka=Ue,Ha=Ie(He),jA=B.forwardRef((a,A)=>{let e=(0,M.c)(9),t,G;e[0]===a?(t=e[1],G=e[2]):({className:t,...G}=a,e[0]=a,e[1]=t,e[2]=G);let o;e[3]===t?o=e[4]:(o=f("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",t),e[3]=t,e[4]=o);let s;return e[5]!==G||e[6]!==A||e[7]!==o?(s=(0,R.jsx)(wA,{className:o,...G,ref:A}),e[5]=G,e[6]=A,e[7]=o,e[8]=s):s=e[8],s});jA.displayName=wA.displayName;var Ua=Le("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"}}),LA=B.forwardRef((a,A)=>{let e=(0,M.c)(15),t,G,o,s;e[0]===a?(t=e[1],G=e[2],o=e[3],s=e[4]):({side:s,className:G,children:t,...o}=a,e[0]=a,e[1]=t,e[2]=G,e[3]=o,e[4]=s);let Z=s===void 0?"right":s,n;e[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,R.jsx)(jA,{}),e[5]=n):n=e[5];let r;e[6]!==G||e[7]!==Z?(r=f(Ua({side:Z}),G),e[6]=G,e[7]=Z,e[8]=r):r=e[8];let i;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=(0,R.jsxs)(Ke,{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,R.jsx)(Za,{className:"h-4 w-4"}),(0,R.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=i):i=e[9];let k;return e[10]!==t||e[11]!==o||e[12]!==A||e[13]!==r?(k=(0,R.jsx)(Ha,{children:(0,R.jsxs)(Pe,{children:[n,(0,R.jsxs)(EA,{ref:A,className:r,...o,children:[t,i]})]})}),e[10]=t,e[11]=o,e[12]=A,e[13]=r,e[14]=k):k=e[14],k});LA.displayName=EA.displayName;var Wa=a=>{let A=(0,M.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let G;A[3]===e?G=A[4]:(G=f("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=G);let o;return A[5]!==t||A[6]!==G?(o=(0,R.jsx)("div",{className:G,...t}),A[5]=t,A[6]=G,A[7]=o):o=A[7],o};Wa.displayName="SheetHeader";var Va=a=>{let A=(0,M.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let G;A[3]===e?G=A[4]:(G=f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=G);let o;return A[5]!==t||A[6]!==G?(o=(0,R.jsx)("div",{className:G,...t}),A[5]=t,A[6]=G,A[7]=o):o=A[7],o};Va.displayName="SheetFooter";var Xa=B.forwardRef((a,A)=>{let e=(0,M.c)(9),t,G;e[0]===a?(t=e[1],G=e[2]):({className:t,...G}=a,e[0]=a,e[1]=t,e[2]=G);let o;e[3]===t?o=e[4]:(o=f("text-lg font-semibold text-foreground",t),e[3]=t,e[4]=o);let s;return e[5]!==G||e[6]!==A||e[7]!==o?(s=(0,R.jsx)(DA,{ref:A,className:o,...G}),e[5]=G,e[6]=A,e[7]=o,e[8]=s):s=e[8],s});Xa.displayName=DA.displayName;var qa=B.forwardRef((a,A)=>{let e=(0,M.c)(9),t,G;e[0]===a?(t=e[1],G=e[2]):({className:t,...G}=a,e[0]=a,e[1]=t,e[2]=G);let o;e[3]===t?o=e[4]:(o=f("text-sm text-muted-foreground",t),e[3]=t,e[4]=o);let s;return e[5]!==G||e[6]!==A||e[7]!==o?(s=(0,R.jsx)(xA,{ref:A,className:o,...G}),e[5]=G,e[6]=A,e[7]=o,e[8]=s):s=e[8],s});qa.displayName=xA.displayName;var Ja=u();const gA=(0,B.memo)(()=>{let a=(0,Ja.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,R.jsx)(We,{name:CA.SIDEBAR}),a[0]=A):A=a[0],A});gA.displayName="SidebarSlot";var za=u();const $a=a=>{let A=(0,za.c)(6),{openWidth:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,R.jsx)(Ka,{className:"lg:hidden",asChild:!0,children:(0,R.jsx)(vA,{variant:"ghost",className:"bg-background",children:(0,R.jsx)(FA,{className:"w-5 h-5"})})}),A[0]=t):t=A[0];let G;A[1]===e?G=A[2]:(G={maxWidth:e},A[1]=e,A[2]=G);let o;A[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,R.jsx)(gA,{}),A[3]=o):o=A[3];let s;return A[4]===G?s=A[5]:(s=(0,R.jsxs)(Ta,{children:[t,(0,R.jsx)(LA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:G,side:"left",children:o})]}),A[4]=G,A[5]=s),s};var At=u();const et=a=>{let A=(0,At.c)(7),{isOpen:e,toggle:t}=a,G=e?"rotate-0":"rotate-180",o;A[0]===G?o=A[1]:(o=f("h-5 w-5 transition-transform ease-in-out duration-700",G),A[0]=G,A[1]=o);let s;A[2]===o?s=A[3]:(s=(0,R.jsx)(Xe,{className:o}),A[2]=o,A[3]=s);let Z;return A[4]!==s||A[5]!==t?(Z=(0,R.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,R.jsx)(vA,{onClick:t,className:"w-10 h-8",variant:"ghost",size:"icon",children:s})}),A[4]=s,A[5]=t,A[6]=Z):Z=A[6],Z};var at=u();const tt=a=>{let A=(0,at.c)(11),{isOpen:e,toggle:t,width:G}=a,o=e?G:De,s;A[0]===o?s=A[1]:(s={width:o},A[0]=o,A[1]=s);let Z;A[2]===Symbol.for("react.memo_cache_sentinel")?(Z=f("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]=Z):Z=A[2];let n;A[3]!==e||A[4]!==t?(n=(0,R.jsx)(et,{isOpen:e,toggle:t}),A[3]=e,A[4]=t,A[5]=n):n=A[5];let r;A[6]===Symbol.for("react.memo_cache_sentinel")?(r=(0,R.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,R.jsx)(gA,{})}),A[6]=r):r=A[6];let i;return A[7]!==e||A[8]!==s||A[9]!==n?(i=(0,R.jsxs)("aside",{"data-expanded":e,style:s,className:Z,children:[n,r]}),A[7]=e,A[8]=s,A[9]=n,A[10]=i):i=A[10],i};var Gt=u();const ot=a=>{let A=(0,Gt.c)(15),{children:e}=a,[t,G]=BA(xe),{isOpen:o,width:s}=t;if(Ve(CA.SIDEBAR).length===0)return e;let Z;A[0]===s?Z=A[1]:(Z=we(s),A[0]=s,A[1]=Z);let n=Z,r;A[2]!==G||A[3]!==o?(r=()=>G({type:"toggle",isOpen:!o}),A[2]=G,A[3]=o,A[4]=r):r=A[4];let i;A[5]!==o||A[6]!==n||A[7]!==r?(i=(0,R.jsx)(tt,{isOpen:o,width:n,toggle:r}),A[5]=o,A[6]=n,A[7]=r,A[8]=i):i=A[8];let k;A[9]===n?k=A[10]:(k=(0,R.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,R.jsx)($a,{openWidth:n})}),A[9]=n,A[10]=k);let c;return A[11]!==e||A[12]!==i||A[13]!==k?(c=(0,R.jsxs)("div",{className:"inset-0 absolute flex",children:[i,k,e]}),A[11]=e,A[12]=i,A[13]=k,A[14]=c):c=A[14],c};var st=u();const nt=a=>{let A=(0,st.c)(18),{width:e,connection:t,isRunning:G,children:o,onReconnect:s}=a,Z=t.state,n;A[0]===G?n=A[1]:(n=(0,R.jsx)(Qa,{isRunning:G}),A[0]=G,A[1]=n);let r;A[2]!==t||A[3]!==G||A[4]!==s?(r=(0,R.jsx)(La,{connection:t,isRunning:G,onReconnect:s}),A[2]=t,A[3]=G,A[4]=s,A[5]=r):r=A[5];let i;A[6]!==Z||A[7]!==e?(i=f("mathjax_ignore",Se(Z)&&"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-hidden","print:height-fit"),A[6]=Z,A[7]=e,A[8]=i):i=A[8];let k;A[9]!==o||A[10]!==Z||A[11]!==i||A[12]!==e?(k=(0,R.jsx)(ya,{children:(0,R.jsx)(ot,{children:(0,R.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":Z,className:i,children:o})})}),A[9]=o,A[10]=Z,A[11]=i,A[12]=e,A[13]=k):k=A[13];let c;return A[14]!==n||A[15]!==r||A[16]!==k?(c=(0,R.jsxs)(R.Fragment,{children:[n,r,k]}),A[14]=n,A[15]=r,A[16]=k,A[17]=c):c=A[17],c};function rt(a){return a.kind==="missing"}function OA(a){return a.kind==="installing"}var{valueAtom:kt,useActions:it}=qe(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(a,A)=>{var G;let e={...a.packageLogs};if(OA(A)&&A.logs&&A.log_status)for(let[o,s]of Object.entries(A.logs))switch(A.log_status){case"start":e[o]=s;break;case"append":e[o]=(e[o]||"")+s;break;case"done":e[o]=(e[o]||"")+s;break}let t=((G=a.packageAlert)==null?void 0:G.id)||ka();return{...a,packageAlert:{id:t,...A},packageLogs:e}},clearPackageAlert:(a,A)=>a.packageAlert!==null&&a.packageAlert.id===A?{...a,packageAlert:null,packageLogs:{}}:a,addStartupLog:(a,A)=>{var t;let e=((t=a.startupLogsAlert)==null?void 0:t.content)||"";return{...a,startupLogsAlert:{...a.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:a=>({...a,startupLogsAlert:null})});const Rt=()=>y(kt);function PA(){return it()}var IA=u();const TA=(0,B.memo)(a=>{let A=(0,IA.c)(11),{appConfig:e,mode:t,children:G}=a,{selectedLayout:o,layoutData:s}=$e(),Z=y(YA);if(t==="edit"&&!Z)return G;let n;if(A[0]!==t||A[1]!==o){n=o;let c=new URLSearchParams(window.location.search);if(t==="read"&&c.has(iA.viewAs)){let g=c.get(iA.viewAs);Ba.includes(g)&&(n=g)}A[0]=t,A[1]=o,A[2]=n}else n=A[2];let r;A[3]===n?r=A[4]:(r=ea.find(c=>c.type===n),A[3]=n,A[4]=r);let i=r;if(!i)return G;let k;return A[5]!==e||A[6]!==n||A[7]!==s||A[8]!==t||A[9]!==i?(k=(0,R.jsx)(lt,{appConfig:e,mode:t,plugin:i,layoutData:s,finalLayout:n}),A[5]=e,A[6]=n,A[7]=s,A[8]=t,A[9]=i,A[10]=k):k=A[10],k});TA.displayName="CellsRenderer";const lt=a=>{let A=(0,IA.c)(18),{appConfig:e,mode:t,plugin:G,layoutData:o,finalLayout:s}=a,Z=$A(),{setCurrentLayoutData:n}=NA(),r,i,k,c,g;if(A[0]!==e||A[1]!==s||A[2]!==o||A[3]!==t||A[4]!==Z||A[5]!==G){let m=ce(Z);r=G.Component,i=e,k=t,c=m,g=o[s]||G.getInitialLayout(m),A[0]=e,A[1]=s,A[2]=o,A[3]=t,A[4]=Z,A[5]=G,A[6]=r,A[7]=i,A[8]=k,A[9]=c,A[10]=g}else r=A[6],i=A[7],k=A[8],c=A[9],g=A[10];let d;return A[11]!==r||A[12]!==n||A[13]!==i||A[14]!==k||A[15]!==c||A[16]!==g?(d=(0,R.jsx)(r,{appConfig:i,mode:k,cells:c,layout:g,setLayout:n}),A[11]=r,A[12]=n,A[13]=i,A[14]=k,A[15]=c,A[16]=g,A[17]=d):d=A[17],d};var Zt=class HA{constructor(A){J(this,"hasStarted",!1);J(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let t=this.uiElementRegistry.lookupValue(e);t!==void 0&&this.sendComponentValues({objectIds:[e],values:[t]}).catch(G=>{x.warn(G)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new HA(O)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){x.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(_A.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){x.warn("RuntimeState already stopped");return}document.removeEventListener(_A.TYPE,this.handleReadyEvent),this.hasStarted=!1}};const KA="MARIMO_TRANSPORT_EXHAUSTED";var ct=class{constructor(a){J(this,"closeWrappers",new WeakMap);this.inner=new ua(a,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}get readyState(){return this.inner.readyState}reconnect(a,A){this.inner.reconnect(a,A)}close(){this.inner.close()}send(a){this.inner.send(a)}addEventListener(a,A){if(a==="close"){let e=A;if(this.closeWrappers.has(e))return;let t=G=>{this.inner.retryCount>=10?e(new CloseEvent("close",{code:G.code,reason:KA,wasClean:G.wasClean})):e(G)};this.closeWrappers.set(e,t),this.inner.addEventListener("close",t);return}this.inner.addEventListener(a,A)}removeEventListener(a,A){if(a==="close"){let e=A,t=this.closeWrappers.get(e);t&&(this.closeWrappers.delete(e),this.inner.removeEventListener("close",t));return}this.inner.removeEventListener(a,A)}},gt=u();function dt(a){return a.static?Be.empty():RA()?Ye():new ct(a.url)}function ht(a){let A=(0,gt.c)(15),{onOpen:e,onMessage:t,onClose:G,onError:o,waitToConnect:s}=a,Z;A[0]!==G||A[1]!==o||A[2]!==t||A[3]!==e||A[4]!==a?(Z=()=>{let k=dt(a);return k.addEventListener("open",e),k.addEventListener("close",G),k.addEventListener("error",o),k.addEventListener("message",t),k},A[0]=G,A[1]=o,A[2]=t,A[3]=e,A[4]=a,A[5]=Z):Z=A[5];let[n]=(0,B.useState)(Z),r;A[6]!==G||A[7]!==o||A[8]!==t||A[9]!==e||A[10]!==n||A[11]!==s?(r=()=>(n.readyState===WebSocket.CLOSED&&s().then(()=>n.reconnect()).catch(k=>{x.error("Healthy connection never made",k),n.close()}),()=>{x.warn("useConnectionTransport is unmounting. This likely means there is a bug."),n.close(),n.removeEventListener("open",e),n.removeEventListener("close",G),n.removeEventListener("error",o),n.removeEventListener("message",t)}),A[6]=G,A[7]=o,A[8]=t,A[9]=e,A[10]=n,A[11]=s,A[12]=r):r=A[12];let i;return A[13]===n?i=A[14]:(i=[n],A[13]=n,A[14]=i),(0,B.useEffect)(r,i),n}function ut(a){let{codes:A,names:e,configs:t,cell_ids:G,last_executed_code:o,last_execution_time:s}=a,Z=o||{},n=s||{};return A.map((r,i)=>{let k=G[i],c=Z[k];return te({id:k,code:r,edited:c?c!==r:!1,name:e[i],lastCodeRun:Z[k]??null,lastExecutionTime:n[k]??null,config:t[i]})})}function Bt(a,A,e){let t=Aa(),{layout:G}=a;if(G){let o=G.type,s=aa({type:o,data:G.data,cells:A});t.selectedLayout=o,t.layoutData[o]=s,e({layoutView:o,data:s})}return t}function mt(){let a=[],A=[];return O.entries.forEach((e,t)=>{a.push(t),A.push(e.value)}),{objectIds:a,values:A}}function Yt(a,A){let{existingCells:e,autoInstantiate:t,setCells:G,setLayoutData:o,setAppConfig:s,setCapabilities:Z,setKernelState:n,onError:r}=A,{resumed:i,ui_values:k,app_config:c,capabilities:g,auto_instantiated:d}=a,m=e&&e.length>0,b=m&&!i?e:ut(a);G(b,Bt(a,b,o));let D=Ne.safeParse(c);if(D.success?s(D.data):x.error("Failed to parse app config",D.error),Z(g),d)return;if(i){for(let[p,F]of ve.entries(k||{})){let Q=p;O.set(Q,F)}return}let{objectIds:N,values:S}=mt(),_=m?Object.fromEntries(e.map(p=>[p.id,p.code])):void 0;Je().sendInstantiate({objectIds:N,values:S,autoRun:t,codes:_}).then(()=>{n({isInstantiated:!0,error:null})}).catch(p=>{n({isInstantiated:!1,error:p}),r(Error("Failed to instantiate",{cause:p}))})}function ft(a){let A=a.cell_id;O.removeElementsByCell(A),MA.INSTANCE.removeForCellId(A)}function pt(a,A){A(a),MA.INSTANCE.track(a)}const $={append:a=>{let A=new URL(window.location.href);A.searchParams.append(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:a=>{let A=new URL(window.location.href);Array.isArray(a.value)?(A.searchParams.delete(a.key),a.value.forEach(e=>A.searchParams.append(a.key,e))):A.searchParams.set(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:a=>{let A=new URL(window.location.href);a.value==null?A.searchParams.delete(a.key):A.searchParams.delete(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let a=new URL(window.location.href);a.search="",window.history.pushState({},"",`${a.pathname}${a.search}`)}};var wt=u();function xt(a){switch(a.reason){case KA:return{kind:"gave-up",status:{state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"}};case"MARIMO_WRONG_KERNEL_ID":case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":return{kind:"terminal",status:{state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"},closeTransport:!0};case"MARIMO_MALFORMED_QUERY":return{kind:"terminal",status:{state:Y.CLOSED,code:v.MALFORMED_QUERY,reason:"the kernel did not recognize a request; please file a bug with marimo"},closeTransport:!1};case"MARIMO_KERNEL_STARTUP_ERROR":return{kind:"terminal",status:{state:Y.CLOSED,code:v.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"},closeTransport:!0};default:a.reason&&bA(a.reason)}return{kind:"retry",status:{state:Y.CONNECTING}}}function Et(){return Object.values(kA().cellData).filter(a=>a.id!==Ge)}function Dt(a){let A=(0,wt.c)(42),e=(0,B.useRef)(!0),{autoInstantiate:t,sessionId:G,setCells:o}=a,{showBoundary:s}=je(),{handleCellMessage:Z}=mA(),n;A[0]===Symbol.for("react.memo_cache_sentinel")?(n={skipMiddleware:!0},A[0]=n):n=A[0];let r=mA(n),i;A[1]===r?i=A[2]:(i=h=>{ke(h.changes,r,St)},A[1]=r,A[2]=i);let k=i,{addCellNotification:c}=ma(),g=L(ra),d=Me(),{setVariables:m,setMetadata:b}=oe(),{addColumnPreview:D}=fA(),{addDatasets:N,filterDatasetsFromVariables:S}=fA(),{addDataSourceConnection:_,filterDataSourcesFromVariables:p}=ae(),{setLayoutData:F}=NA(),[Q,C]=BA(Fe),{addBanner:AA}=he(),{addPackageAlert:I,addStartupLog:eA}=PA(),T=L(YA),aA=L(ne),E=_e(),tA=L(da),GA=L(Ce),{setNamespaces:oA,filterFromVariables:sA}=Ga(),K;A[3]!==AA||A[4]!==c||A[5]!==D||A[6]!==_||A[7]!==N||A[8]!==I||A[9]!==eA||A[10]!==t||A[11]!==p||A[12]!==S||A[13]!==sA||A[14]!==Z||A[15]!==k||A[16]!==d||A[17]!==tA||A[18]!==aA||A[19]!==o||A[20]!==GA||A[21]!==g||A[22]!==T||A[23]!==F||A[24]!==b||A[25]!==oA||A[26]!==m||A[27]!==s?(K=h=>{let l=re(h.data);switch(l.data.op){case"reload":la();return;case"kernel-ready":{let w=Et();Yt(l.data,{autoInstantiate:t,setCells:o,setLayoutData:F,setAppConfig:d,setCapabilities:aA,setKernelState:g,onError:s,existingCells:w}),T(l.data.kiosk);return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":GA(l.data.error);return;case"send-ui-element-message":{let w=l.data.ui_element;if(w){let UA=sa(l.data);O.broadcastMessage(w,l.data.message,UA)}return}case"model-lifecycle":me(Ee,l.data);return;case"remove-ui-elements":ft(l.data);return;case"completion-result":Re.resolve(l.data.completion_id,l.data);return;case"function-call-result":fe.resolve(l.data.function_call_id,l.data);return;case"cell-op":{pt(l.data,Z);let w=kA().cellData[l.data.cell_id];if(!w)return;c({cellNotification:l.data,code:w.code});return}case"variables":m(l.data.variables.map(Nt)),S(l.data.variables.map(Mt)),p(l.data.variables.map(bt)),sA(l.data.variables.map(vt));return;case"variable-values":b(l.data.variables.map(yt));return;case"alert":ZA({title:l.data.title,description:Ra({html:l.data.description}),variant:l.data.variant});return;case"banner":AA(l.data);return;case"missing-package-alert":I({...l.data,kind:"missing"});return;case"installing-package-alert":I({...l.data,kind:"installing"});return;case"startup-logs":eA({content:l.data.content,status:l.data.status});return;case"query-params-append":$.append(l.data);return;case"query-params-set":$.set(l.data);return;case"query-params-delete":$.delete(l.data);return;case"query-params-clear":$.clear();return;case"datasets":N(l.data);return;case"data-column-preview":D(l.data);return;case"sql-table-preview":ee.resolve(l.data.request_id,l.data);return;case"sql-table-list-preview":de.resolve(l.data.request_id,l.data);return;case"sql-schema-list-preview":zA.resolve(l.data.request_id,l.data);return;case"validate-sql-result":Ae.resolve(l.data.request_id,l.data);return;case"secret-keys-result":ha.resolve(l.data.request_id,l.data);return;case"cache-info":tA(l.data);return;case"cache-cleared":return;case"data-source-connections":_({connections:l.data.connections.map(Ct)});return;case"storage-namespaces":oA(l.data);return;case"storage-entries":oa.resolve(l.data.request_id,l.data);return;case"storage-download-ready":ta.resolve(l.data.request_id,l.data);return;case"reconnected":return;case"focus-cell":JA(l.data.cell_id);return;case"notebook-document-transaction":k(l.data.transaction);return;case"consumer-capabilities":T(!l.data.consumer_capabilities.edit);return;default:bA(l.data)}},A[3]=AA,A[4]=c,A[5]=D,A[6]=_,A[7]=N,A[8]=I,A[9]=eA,A[10]=t,A[11]=p,A[12]=S,A[13]=sA,A[14]=Z,A[15]=k,A[16]=d,A[17]=tA,A[18]=aA,A[19]=o,A[20]=GA,A[21]=g,A[22]=T,A[23]=F,A[24]=b,A[25]=oA,A[26]=m,A[27]=s,A[28]=K):K=A[28];let nA=K,dA=(h,l)=>{e.current&&(e.current=!1,j.reconnect(h,l))},rA=async()=>{if(!(j.readyState===WebSocket.OPEN||j.readyState===WebSocket.CONNECTING)){if(e.current=!0,C({state:Y.CONNECTING}),!await E.reconcileFromHealth()){e.current=!1,C({state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"});return}j.reconnect()}},H;A[29]===Symbol.for("react.memo_cache_sentinel")?(H=pA(),A[29]=H):H=A[29];let U;A[30]!==E||A[31]!==G?(U=()=>E.getWsURL(G).toString(),A[30]=E,A[31]=G,A[32]=U):U=A[32];let W;A[33]===C?W=A[34]:(W=async()=>{e.current=!0,C({state:Y.OPEN})},A[33]=C,A[34]=W);let V;A[35]===E?V=A[36]:(V=async()=>{pA()||RA()||E.isSameOrigin||await E.waitForHealthy()},A[35]=E,A[36]=V);let X;A[37]===nA?X=A[38]:(X=h=>{try{nA(h)}catch(l){let w=l;x.error("Failed to handle message",h.data,w),ZA({title:"Failed to handle message",description:SA(w),variant:"danger"})}},A[37]=nA,A[38]=X);let j=ht({static:H,url:U,onOpen:W,waitToConnect:V,onMessage:X,onClose:h=>{x.warn("WebSocket closed",h.code,h.reason);let l=xt(h);if(C(l.status),l.kind==="terminal"&&l.closeTransport){j.close();return}l.kind==="retry"&&dA(h.code,h.reason)},onError:h=>{x.warn("WebSocket error",h),C({state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"}),dA()}}),q;return A[39]!==Q||A[40]!==rA?(q={connection:Q,reconnect:rA},A[39]=Q,A[40]=rA,A[41]=q):q=A[41],q}function Ct(a){return{...a,name:a.name}}function yt(a){return{name:a.name,dataType:a.datatype,value:a.value}}function vt(a){return a.name}function bt(a){return a.name}function Mt(a){return a.name}function Nt(a){return{name:a.name,declaredBy:a.declared_by,usedBy:a.used_by}}function St(){return kA().cellIds.inOrderIds}var _t=u();const Ft=a=>{let A=(0,_t.c)(2),{children:e}=a,t;return A[0]===e?t=A[1]:(t=(0,R.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]=t),t};export{OA as a,Rt as c,FA as d,TA as i,nt as l,Dt as n,rt as o,Zt as r,PA as s,Ft as t,Ea as u};
|
|
1
|
+
var WA=Object.defineProperty;var VA=(a,A,e)=>A in a?WA(a,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[A]=e;var J=(a,A,e)=>VA(a,typeof A!="symbol"?A+"":A,e);import{s as hA}from"./chunk-LvLJmgfZ.js";import{d as L,i as uA,l as BA,u as y}from"./useEvent-D91BmmQi.js";import{t as XA}from"./react-Bj1aDYRI.js";import{A as qA,B as JA,D as mA,Gt as zA,I as $A,Jt as Ae,Kt as ee,Pr as ae,R as te,Ri as Ge,Rn as oe,T as se,Tn as ne,Wi as re,at as ke,b as ie,bn as Re,ct as YA,dt as le,g as Ze,h as kA,l as ce,ot as ge,qt as de,zr as fA}from"./cells-CoFnpuSu.js";import{t as u}from"./compiler-runtime-B3qBwwSJ.js";import{C as he,_ as ue,b as Be,c as me,h as Ye,i as fe,m as pe,n as we,o as O,r as xe,s as Ee,t as De,x as Ce,y as ye}from"./state-CsD5BRG0.js";import{_ as x,d as ve,t as be}from"./useEventListener-DvoEXWke.js";import{S as Me,T as Ne}from"./utils-CvI-39U6.js";import{r as iA}from"./constants-DMpttj8Q.js";import{C as v,T as RA,d as Se,l as pA,o as _e,v as Fe,w as Y}from"./config-ClMcu_sV.js";import{o as Qe}from"./switch-Ac7CgLgh.js";import{n as je}from"./ErrorBoundary-DyYDV0HI.js";import{n as Le,t as f}from"./cn-DCUzRj2J.js";import{t as Oe}from"./jsx-runtime-BqBOg78p.js";import{o as Pe,r as Ie}from"./fullscreen-DFky0PAA.js";import{_ as Te,f as Ke,g as He,h as wA,m as xA,p as EA,v as DA,y as Ue}from"./alert-dialog-5BGIfskO.js";import{Dt as We,Ot as Ve,bt as CA}from"./JsonOutput-DOmfCaR3.js";import{h as Xe}from"./download-B10yQcVE.js";import{t as yA}from"./tooltip-B_PkSKN3.js";import{t as vA}from"./button-BbCh-29a.js";import{t as qe}from"./createReducer-CI9qeK_X.js";import{i as bA}from"./strings-wdPMRf6Z.js";import{t as Je}from"./requests-DIwGYs0l.js";import{t as lA}from"./createLucideIcon-D5guW7EU.js";import{N as ze,P as MA,a as $e,i as NA,n as Aa,o as ea,s as aa}from"./layout-BVZ3DZze.js";import{c as ta,r as Ga,s as oa}from"./state-DyKcYt57.js";import{c as sa}from"./markdown-renderer-DC51vSBA.js";import{n as na}from"./spinner-Bhir8k53.js";import{n as ra}from"./readonly-python-code-Crki_rLb.js";import{t as ka}from"./uuid-e9lSomwA.js";import{t as ZA}from"./use-toast-CJ1Tj2eC.js";import{i as ia}from"./session-0B5NBztP.js";import{t as Ra}from"./RenderHTML-CXsJP1V5.js";import{r as la}from"./share-mSf5FZIP.js";import{i as SA}from"./errors-D3F5g1xA.js";import{s as Za}from"./react-icons.esm-BNzu6e7h.js";import{r as _A}from"./events-CPoJAfgx.js";import{i as ca}from"./cell-link-iYZiKtn4.js";import{n as ga}from"./useAsyncData-bgszE9F0.js";import{t as da}from"./requests-QKoDeQkn.js";import{t as ha}from"./request-registry-BmtPM40k.js";import{t as ua}from"./ws-K6nioC-Z.js";import{n as Ba}from"./types-Cpe-qFT-.js";import{n as ma}from"./runs-DSnhrBgK.js";var Ya=lA("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"}]]),FA=lA("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),fa=lA("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"}]]),pa=u(),R=hA(Oe(),1);const wa=a=>{let A=(0,pa.c)(2),{reason:e}=a,t;return A[0]===e?t=A[1]:(t=(0,R.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,R.jsx)("p",{children:e})}),A[0]=e,A[1]=t),t};var xa=u(),B=hA(XA(),1);const Ea=a=>{let A=(0,xa.c)(7),{connection:e,className:t,children:G}=a,o;A[0]!==e.reason||A[1]!==e.state?(o=e.state===Y.CLOSED&&(0,R.jsx)(wa,{reason:e.reason}),A[0]=e.reason,A[1]=e.state,A[2]=o):o=A[2];let s;return A[3]!==G||A[4]!==t||A[5]!==o?(s=(0,R.jsxs)("div",{className:t,children:[G,o]}),A[3]=G,A[4]=t,A[5]=o,A[6]=s):s=A[6],s};var Da=u();const Ca=a=>{let A=(0,Da.c)(10),{title:e}=a,[t,G]=(0,B.useState)(e),[o,s]=(0,B.useState)(!0),Z,n;A[0]!==t||A[1]!==e?(Z=()=>{if(e!==t){s(!1);let g=setTimeout(()=>{G(e),s(!0)},300);return()=>clearTimeout(g)}},n=[e,t],A[0]=t,A[1]=e,A[2]=Z,A[3]=n):(Z=A[2],n=A[3]),(0,B.useEffect)(Z,n);let r;A[4]===Symbol.for("react.memo_cache_sentinel")?(r=(0,R.jsx)(na,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=r):r=A[4];let i=o?"opacity-100":"opacity-0",k;A[5]===i?k=A[6]:(k=f("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",i),A[5]=i,A[6]=k);let c;return A[7]!==t||A[8]!==k?(c=(0,R.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[r,(0,R.jsx)("div",{className:k,children:t})]}),A[7]=t,A[8]=k,A[9]=c):c=A[9],c};var cA=u();const ya=a=>{let A=(0,cA.c)(2),{children:e}=a;if(!RA())return e;let t;return A[0]===e?t=A[1]:(t=(0,R.jsx)(va,{children:e}),A[0]=e,A[1]=t),t};var va=a=>{let A=(0,cA.c)(9),{children:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],A[0]=t):t=A[0];let{error:G}=ga(Sa,t),o=y(Ze),s=y(ue),Z;A[1]!==o||A[2]!==s?(Z=Ma({hasCells:o,hasOutput:s,mode:ge(),codeHidden:ba()}),A[1]=o,A[2]=s,A[3]=Z):Z=A[3];let n=Z,r=(0,B.useRef)(!1),i,k;if(A[4]!==G||A[5]!==n?(i=()=>{G&&!n&&!r.current&&(r.current=!0,x.error("Pyodide failed to initialize",G),ZA({title:"Failed to start the notebook runtime",description:SA(G),variant:"danger"}))},k=[G,n],A[4]=G,A[5]=n,A[6]=i,A[7]=k):(i=A[6],k=A[7]),(0,B.useEffect)(i,k),G&&n)throw G;if(n){let c;return A[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,R.jsx)(Na,{}),A[8]=c):c=A[8],c}return e};function ba(){return ia(iA.showCode,"false")||!uA.get(Qe)}function Ma(a){let{hasCells:A,hasOutput:e,mode:t,codeHidden:G}=a;return A?!e&&t==="read"&&G:!0}const Na=a=>{let A=(0,cA.c)(2),e=y(ye),t;return A[0]===e?t=A[1]:(t=(0,R.jsx)(Ca,{title:e}),A[0]=e,A[1]=t),t};async function Sa(){return await pe.INSTANCE.initialized.promise,!0}var _a={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 P(a){return _a[a]}function Fa(a){if(document.visibilityState==="visible")return;let A=async()=>{a===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await P("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${a} error(s).`,icon:await P("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const Qa=a=>{let{isRunning:A}=a,e=qA(),t=document.querySelector("link[rel~='icon']");t||(t=document.createElement("link"),t.rel="icon",document.getElementsByTagName("head")[0].append(t)),(0,B.useEffect)(()=>{!A&&t.href.includes("favicon")||(async()=>{let o;if(o=A?"running":e.length===0?"success":"error",t.href=await P(o),!document.hasFocus())return;let s=setTimeout(async()=>{t.href=await P("idle")},3e3);return()=>clearTimeout(s)})()},[A,e,t]);let G=ze(A)??A;return(0,B.useEffect)(()=>{G&&!A&&Fa(e.length)},[e,G,A]),be(window,"focus",async o=>{A||(t.href=await P("idle"))}),null};function ja(){let{cellIds:a,cellRuntime:A}=uA.get(ie),e=a.inOrderIds.find(t=>{var G;return((G=A[t])==null?void 0:G.status)==="running"});e&&ca(e,"focus")}var z=u();const La=a=>{let A=(0,z.c)(18),{connection:e,isRunning:t,onReconnect:G}=a,{mode:o}=y(le),s=e.state===Y.CLOSED,Z=e.state===Y.OPEN,n=s&&e.code===v.KERNEL_DISCONNECTED,r;A[0]===s?r=A[1]:(r=s&&(0,R.jsx)(Ia,{}),A[0]=s,A[1]=r);let i=o==="read"?"fixed":"absolute",k;A[2]===i?k=A[3]:(k=f("z-50 top-4 left-4",i),A[2]=i,A[3]=k);let c;A[4]!==Z||A[5]!==t?(c=Z&&t&&(0,R.jsx)(Pa,{}),A[4]=Z,A[5]=t,A[6]=c):c=A[6];let g;A[7]!==n||A[8]!==s||A[9]!==G?(g=s&&(0,R.jsx)(Oa,{onReconnect:n?G:void 0}),A[7]=n,A[8]=s,A[9]=G,A[10]=g):g=A[10];let d;A[11]!==k||A[12]!==c||A[13]!==g?(d=(0,R.jsxs)("div",{className:k,children:[c,g]}),A[11]=k,A[12]=c,A[13]=g,A[14]=d):d=A[14];let m;return A[15]!==r||A[16]!==d?(m=(0,R.jsxs)(R.Fragment,{children:[r,d]}),A[15]=r,A[16]=d,A[17]=m):m=A[17],m};var QA="print:hidden pointer-events-auto hover:cursor-pointer",Oa=a=>{let A=(0,z.c)(12),{onReconnect:e}=a,t=!e,G=t?"App disconnected":"App disconnected \u2014 click to reconnect",o=t?0:-1,s;A[0]===Symbol.for("react.memo_cache_sentinel")?(s=f(QA,"bg-transparent border-0 p-0"),A[0]=s):s=A[0];let Z=t?"App disconnected":"Reconnect to app",n;A[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,R.jsx)(fa,{className:"w-[25px] h-[25px] text-(--red-11)"}),A[1]=n):n=A[1];let r;A[2]!==t||A[3]!==e||A[4]!==Z?(r=(0,R.jsx)("button",{type:"button",className:s,"aria-label":Z,"data-testid":"disconnected-indicator",onClick:e,disabled:t,children:n}),A[2]=t,A[3]=e,A[4]=Z,A[5]=r):r=A[5];let i;A[6]!==o||A[7]!==r?(i=(0,R.jsx)("span",{tabIndex:o,children:r}),A[6]=o,A[7]=r,A[8]=i):i=A[8];let k;return A[9]!==G||A[10]!==i?(k=(0,R.jsx)(yA,{content:G,children:i}),A[9]=G,A[10]=i,A[11]=k):k=A[11],k},Pa=()=>{let a=(0,z.c)(6),A=y(se),e=A?"Scratchpad is running":"Jump to running cell",t=A?void 0:ja,G;a[0]===Symbol.for("react.memo_cache_sentinel")?(G=(0,R.jsx)(Ya,{className:"running-app-icon",size:30,strokeWidth:1}),a[0]=G):G=a[0];let o;a[1]===t?o=a[2]:(o=(0,R.jsx)("div",{className:QA,"data-testid":"loading-indicator",onClick:t,children:G}),a[1]=t,a[2]=o);let s;return a[3]!==o||a[4]!==e?(s=(0,R.jsx)(yA,{content:e,side:"right",children:o}),a[3]=o,a[4]=e,a[5]=s):s=a[5],s},Ia=()=>{let a=(0,z.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("div",{className:"noise"}),(0,R.jsx)("div",{className:"disconnected-gradient"})]}),a[0]=A):A=a[0],A},M=u(),Ta=Te,Ka=Ue,Ha=Ie(He),jA=B.forwardRef((a,A)=>{let e=(0,M.c)(9),t,G;e[0]===a?(t=e[1],G=e[2]):({className:t,...G}=a,e[0]=a,e[1]=t,e[2]=G);let o;e[3]===t?o=e[4]:(o=f("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",t),e[3]=t,e[4]=o);let s;return e[5]!==G||e[6]!==A||e[7]!==o?(s=(0,R.jsx)(wA,{className:o,...G,ref:A}),e[5]=G,e[6]=A,e[7]=o,e[8]=s):s=e[8],s});jA.displayName=wA.displayName;var Ua=Le("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"}}),LA=B.forwardRef((a,A)=>{let e=(0,M.c)(15),t,G,o,s;e[0]===a?(t=e[1],G=e[2],o=e[3],s=e[4]):({side:s,className:G,children:t,...o}=a,e[0]=a,e[1]=t,e[2]=G,e[3]=o,e[4]=s);let Z=s===void 0?"right":s,n;e[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,R.jsx)(jA,{}),e[5]=n):n=e[5];let r;e[6]!==G||e[7]!==Z?(r=f(Ua({side:Z}),G),e[6]=G,e[7]=Z,e[8]=r):r=e[8];let i;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=(0,R.jsxs)(Ke,{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,R.jsx)(Za,{className:"h-4 w-4"}),(0,R.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=i):i=e[9];let k;return e[10]!==t||e[11]!==o||e[12]!==A||e[13]!==r?(k=(0,R.jsx)(Ha,{children:(0,R.jsxs)(Pe,{children:[n,(0,R.jsxs)(EA,{ref:A,className:r,...o,children:[t,i]})]})}),e[10]=t,e[11]=o,e[12]=A,e[13]=r,e[14]=k):k=e[14],k});LA.displayName=EA.displayName;var Wa=a=>{let A=(0,M.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let G;A[3]===e?G=A[4]:(G=f("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=G);let o;return A[5]!==t||A[6]!==G?(o=(0,R.jsx)("div",{className:G,...t}),A[5]=t,A[6]=G,A[7]=o):o=A[7],o};Wa.displayName="SheetHeader";var Va=a=>{let A=(0,M.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let G;A[3]===e?G=A[4]:(G=f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=G);let o;return A[5]!==t||A[6]!==G?(o=(0,R.jsx)("div",{className:G,...t}),A[5]=t,A[6]=G,A[7]=o):o=A[7],o};Va.displayName="SheetFooter";var Xa=B.forwardRef((a,A)=>{let e=(0,M.c)(9),t,G;e[0]===a?(t=e[1],G=e[2]):({className:t,...G}=a,e[0]=a,e[1]=t,e[2]=G);let o;e[3]===t?o=e[4]:(o=f("text-lg font-semibold text-foreground",t),e[3]=t,e[4]=o);let s;return e[5]!==G||e[6]!==A||e[7]!==o?(s=(0,R.jsx)(DA,{ref:A,className:o,...G}),e[5]=G,e[6]=A,e[7]=o,e[8]=s):s=e[8],s});Xa.displayName=DA.displayName;var qa=B.forwardRef((a,A)=>{let e=(0,M.c)(9),t,G;e[0]===a?(t=e[1],G=e[2]):({className:t,...G}=a,e[0]=a,e[1]=t,e[2]=G);let o;e[3]===t?o=e[4]:(o=f("text-sm text-muted-foreground",t),e[3]=t,e[4]=o);let s;return e[5]!==G||e[6]!==A||e[7]!==o?(s=(0,R.jsx)(xA,{ref:A,className:o,...G}),e[5]=G,e[6]=A,e[7]=o,e[8]=s):s=e[8],s});qa.displayName=xA.displayName;var Ja=u();const gA=(0,B.memo)(()=>{let a=(0,Ja.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,R.jsx)(We,{name:CA.SIDEBAR}),a[0]=A):A=a[0],A});gA.displayName="SidebarSlot";var za=u();const $a=a=>{let A=(0,za.c)(6),{openWidth:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,R.jsx)(Ka,{className:"lg:hidden",asChild:!0,children:(0,R.jsx)(vA,{variant:"ghost",className:"bg-background",children:(0,R.jsx)(FA,{className:"w-5 h-5"})})}),A[0]=t):t=A[0];let G;A[1]===e?G=A[2]:(G={maxWidth:e},A[1]=e,A[2]=G);let o;A[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,R.jsx)(gA,{}),A[3]=o):o=A[3];let s;return A[4]===G?s=A[5]:(s=(0,R.jsxs)(Ta,{children:[t,(0,R.jsx)(LA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:G,side:"left",children:o})]}),A[4]=G,A[5]=s),s};var At=u();const et=a=>{let A=(0,At.c)(7),{isOpen:e,toggle:t}=a,G=e?"rotate-0":"rotate-180",o;A[0]===G?o=A[1]:(o=f("h-5 w-5 transition-transform ease-in-out duration-700",G),A[0]=G,A[1]=o);let s;A[2]===o?s=A[3]:(s=(0,R.jsx)(Xe,{className:o}),A[2]=o,A[3]=s);let Z;return A[4]!==s||A[5]!==t?(Z=(0,R.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,R.jsx)(vA,{onClick:t,className:"w-10 h-8",variant:"ghost",size:"icon",children:s})}),A[4]=s,A[5]=t,A[6]=Z):Z=A[6],Z};var at=u();const tt=a=>{let A=(0,at.c)(11),{isOpen:e,toggle:t,width:G}=a,o=e?G:De,s;A[0]===o?s=A[1]:(s={width:o},A[0]=o,A[1]=s);let Z;A[2]===Symbol.for("react.memo_cache_sentinel")?(Z=f("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]=Z):Z=A[2];let n;A[3]!==e||A[4]!==t?(n=(0,R.jsx)(et,{isOpen:e,toggle:t}),A[3]=e,A[4]=t,A[5]=n):n=A[5];let r;A[6]===Symbol.for("react.memo_cache_sentinel")?(r=(0,R.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,R.jsx)(gA,{})}),A[6]=r):r=A[6];let i;return A[7]!==e||A[8]!==s||A[9]!==n?(i=(0,R.jsxs)("aside",{"data-expanded":e,style:s,className:Z,children:[n,r]}),A[7]=e,A[8]=s,A[9]=n,A[10]=i):i=A[10],i};var Gt=u();const ot=a=>{let A=(0,Gt.c)(15),{children:e}=a,[t,G]=BA(xe),{isOpen:o,width:s}=t;if(Ve(CA.SIDEBAR).length===0)return e;let Z;A[0]===s?Z=A[1]:(Z=we(s),A[0]=s,A[1]=Z);let n=Z,r;A[2]!==G||A[3]!==o?(r=()=>G({type:"toggle",isOpen:!o}),A[2]=G,A[3]=o,A[4]=r):r=A[4];let i;A[5]!==o||A[6]!==n||A[7]!==r?(i=(0,R.jsx)(tt,{isOpen:o,width:n,toggle:r}),A[5]=o,A[6]=n,A[7]=r,A[8]=i):i=A[8];let k;A[9]===n?k=A[10]:(k=(0,R.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,R.jsx)($a,{openWidth:n})}),A[9]=n,A[10]=k);let c;return A[11]!==e||A[12]!==i||A[13]!==k?(c=(0,R.jsxs)("div",{className:"inset-0 absolute flex",children:[i,k,e]}),A[11]=e,A[12]=i,A[13]=k,A[14]=c):c=A[14],c};var st=u();const nt=a=>{let A=(0,st.c)(18),{width:e,connection:t,isRunning:G,children:o,onReconnect:s}=a,Z=t.state,n;A[0]===G?n=A[1]:(n=(0,R.jsx)(Qa,{isRunning:G}),A[0]=G,A[1]=n);let r;A[2]!==t||A[3]!==G||A[4]!==s?(r=(0,R.jsx)(La,{connection:t,isRunning:G,onReconnect:s}),A[2]=t,A[3]=G,A[4]=s,A[5]=r):r=A[5];let i;A[6]!==Z||A[7]!==e?(i=f("mathjax_ignore",Se(Z)&&"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-hidden","print:height-fit"),A[6]=Z,A[7]=e,A[8]=i):i=A[8];let k;A[9]!==o||A[10]!==Z||A[11]!==i||A[12]!==e?(k=(0,R.jsx)(ya,{children:(0,R.jsx)(ot,{children:(0,R.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":Z,className:i,children:o})})}),A[9]=o,A[10]=Z,A[11]=i,A[12]=e,A[13]=k):k=A[13];let c;return A[14]!==n||A[15]!==r||A[16]!==k?(c=(0,R.jsxs)(R.Fragment,{children:[n,r,k]}),A[14]=n,A[15]=r,A[16]=k,A[17]=c):c=A[17],c};function rt(a){return a.kind==="missing"}function OA(a){return a.kind==="installing"}var{valueAtom:kt,useActions:it}=qe(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(a,A)=>{var G;let e={...a.packageLogs};if(OA(A)&&A.logs&&A.log_status)for(let[o,s]of Object.entries(A.logs))switch(A.log_status){case"start":e[o]=s;break;case"append":e[o]=(e[o]||"")+s;break;case"done":e[o]=(e[o]||"")+s;break}let t=((G=a.packageAlert)==null?void 0:G.id)||ka();return{...a,packageAlert:{id:t,...A},packageLogs:e}},clearPackageAlert:(a,A)=>a.packageAlert!==null&&a.packageAlert.id===A?{...a,packageAlert:null,packageLogs:{}}:a,addStartupLog:(a,A)=>{var t;let e=((t=a.startupLogsAlert)==null?void 0:t.content)||"";return{...a,startupLogsAlert:{...a.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:a=>({...a,startupLogsAlert:null})});const Rt=()=>y(kt);function PA(){return it()}var IA=u();const TA=(0,B.memo)(a=>{let A=(0,IA.c)(11),{appConfig:e,mode:t,children:G}=a,{selectedLayout:o,layoutData:s}=$e(),Z=y(YA);if(t==="edit"&&!Z)return G;let n;if(A[0]!==t||A[1]!==o){n=o;let c=new URLSearchParams(window.location.search);if(t==="read"&&c.has(iA.viewAs)){let g=c.get(iA.viewAs);Ba.includes(g)&&(n=g)}A[0]=t,A[1]=o,A[2]=n}else n=A[2];let r;A[3]===n?r=A[4]:(r=ea.find(c=>c.type===n),A[3]=n,A[4]=r);let i=r;if(!i)return G;let k;return A[5]!==e||A[6]!==n||A[7]!==s||A[8]!==t||A[9]!==i?(k=(0,R.jsx)(lt,{appConfig:e,mode:t,plugin:i,layoutData:s,finalLayout:n}),A[5]=e,A[6]=n,A[7]=s,A[8]=t,A[9]=i,A[10]=k):k=A[10],k});TA.displayName="CellsRenderer";const lt=a=>{let A=(0,IA.c)(18),{appConfig:e,mode:t,plugin:G,layoutData:o,finalLayout:s}=a,Z=$A(),{setCurrentLayoutData:n}=NA(),r,i,k,c,g;if(A[0]!==e||A[1]!==s||A[2]!==o||A[3]!==t||A[4]!==Z||A[5]!==G){let m=ce(Z);r=G.Component,i=e,k=t,c=m,g=o[s]||G.getInitialLayout(m),A[0]=e,A[1]=s,A[2]=o,A[3]=t,A[4]=Z,A[5]=G,A[6]=r,A[7]=i,A[8]=k,A[9]=c,A[10]=g}else r=A[6],i=A[7],k=A[8],c=A[9],g=A[10];let d;return A[11]!==r||A[12]!==n||A[13]!==i||A[14]!==k||A[15]!==c||A[16]!==g?(d=(0,R.jsx)(r,{appConfig:i,mode:k,cells:c,layout:g,setLayout:n}),A[11]=r,A[12]=n,A[13]=i,A[14]=k,A[15]=c,A[16]=g,A[17]=d):d=A[17],d};var Zt=class HA{constructor(A){J(this,"hasStarted",!1);J(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let t=this.uiElementRegistry.lookupValue(e);t!==void 0&&this.sendComponentValues({objectIds:[e],values:[t]}).catch(G=>{x.warn(G)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new HA(O)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){x.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(_A.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){x.warn("RuntimeState already stopped");return}document.removeEventListener(_A.TYPE,this.handleReadyEvent),this.hasStarted=!1}};const KA="MARIMO_TRANSPORT_EXHAUSTED";var ct=class{constructor(a){J(this,"closeWrappers",new WeakMap);this.inner=new ua(a,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}get readyState(){return this.inner.readyState}reconnect(a,A){this.inner.reconnect(a,A)}close(){this.inner.close()}send(a){this.inner.send(a)}addEventListener(a,A){if(a==="close"){let e=A;if(this.closeWrappers.has(e))return;let t=G=>{this.inner.retryCount>=10?e(new CloseEvent("close",{code:G.code,reason:KA,wasClean:G.wasClean})):e(G)};this.closeWrappers.set(e,t),this.inner.addEventListener("close",t);return}this.inner.addEventListener(a,A)}removeEventListener(a,A){if(a==="close"){let e=A,t=this.closeWrappers.get(e);t&&(this.closeWrappers.delete(e),this.inner.removeEventListener("close",t));return}this.inner.removeEventListener(a,A)}},gt=u();function dt(a){return a.static?Be.empty():RA()?Ye():new ct(a.url)}function ht(a){let A=(0,gt.c)(15),{onOpen:e,onMessage:t,onClose:G,onError:o,waitToConnect:s}=a,Z;A[0]!==G||A[1]!==o||A[2]!==t||A[3]!==e||A[4]!==a?(Z=()=>{let k=dt(a);return k.addEventListener("open",e),k.addEventListener("close",G),k.addEventListener("error",o),k.addEventListener("message",t),k},A[0]=G,A[1]=o,A[2]=t,A[3]=e,A[4]=a,A[5]=Z):Z=A[5];let[n]=(0,B.useState)(Z),r;A[6]!==G||A[7]!==o||A[8]!==t||A[9]!==e||A[10]!==n||A[11]!==s?(r=()=>(n.readyState===WebSocket.CLOSED&&s().then(()=>n.reconnect()).catch(k=>{x.error("Healthy connection never made",k),n.close()}),()=>{x.warn("useConnectionTransport is unmounting. This likely means there is a bug."),n.close(),n.removeEventListener("open",e),n.removeEventListener("close",G),n.removeEventListener("error",o),n.removeEventListener("message",t)}),A[6]=G,A[7]=o,A[8]=t,A[9]=e,A[10]=n,A[11]=s,A[12]=r):r=A[12];let i;return A[13]===n?i=A[14]:(i=[n],A[13]=n,A[14]=i),(0,B.useEffect)(r,i),n}function ut(a){let{codes:A,names:e,configs:t,cell_ids:G,last_executed_code:o,last_execution_time:s}=a,Z=o||{},n=s||{};return A.map((r,i)=>{let k=G[i],c=Z[k];return te({id:k,code:r,edited:c?c!==r:!1,name:e[i],lastCodeRun:Z[k]??null,lastExecutionTime:n[k]??null,config:t[i]})})}function Bt(a,A,e){let t=Aa(),{layout:G}=a;if(G){let o=G.type,s=aa({type:o,data:G.data,cells:A});t.selectedLayout=o,t.layoutData[o]=s,e({layoutView:o,data:s})}return t}function mt(){let a=[],A=[];return O.entries.forEach((e,t)=>{a.push(t),A.push(e.value)}),{objectIds:a,values:A}}function Yt(a,A){let{existingCells:e,autoInstantiate:t,setCells:G,setLayoutData:o,setAppConfig:s,setCapabilities:Z,setKernelState:n,onError:r}=A,{resumed:i,ui_values:k,app_config:c,capabilities:g,auto_instantiated:d}=a,m=e&&e.length>0,b=m&&!i?e:ut(a);G(b,Bt(a,b,o));let D=Ne.safeParse(c);if(D.success?s(D.data):x.error("Failed to parse app config",D.error),Z(g),d)return;if(i){for(let[p,F]of ve.entries(k||{})){let Q=p;O.set(Q,F)}return}let{objectIds:N,values:S}=mt(),_=m?Object.fromEntries(e.map(p=>[p.id,p.code])):void 0;Je().sendInstantiate({objectIds:N,values:S,autoRun:t,codes:_}).then(()=>{n({isInstantiated:!0,error:null})}).catch(p=>{n({isInstantiated:!1,error:p}),r(Error("Failed to instantiate",{cause:p}))})}function ft(a){let A=a.cell_id;O.removeElementsByCell(A),MA.INSTANCE.removeForCellId(A)}function pt(a,A){A(a),MA.INSTANCE.track(a)}const $={append:a=>{let A=new URL(window.location.href);A.searchParams.append(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:a=>{let A=new URL(window.location.href);Array.isArray(a.value)?(A.searchParams.delete(a.key),a.value.forEach(e=>A.searchParams.append(a.key,e))):A.searchParams.set(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:a=>{let A=new URL(window.location.href);a.value==null?A.searchParams.delete(a.key):A.searchParams.delete(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let a=new URL(window.location.href);a.search="",window.history.pushState({},"",`${a.pathname}${a.search}`)}};var wt=u();function xt(a){switch(a.reason){case KA:return{kind:"gave-up",status:{state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"}};case"MARIMO_WRONG_KERNEL_ID":case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":return{kind:"terminal",status:{state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"},closeTransport:!0};case"MARIMO_MALFORMED_QUERY":return{kind:"terminal",status:{state:Y.CLOSED,code:v.MALFORMED_QUERY,reason:"the kernel did not recognize a request; please file a bug with marimo"},closeTransport:!1};case"MARIMO_KERNEL_STARTUP_ERROR":return{kind:"terminal",status:{state:Y.CLOSED,code:v.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"},closeTransport:!0};default:a.reason&&bA(a.reason)}return{kind:"retry",status:{state:Y.CONNECTING}}}function Et(){return Object.values(kA().cellData).filter(a=>a.id!==Ge)}function Dt(a){let A=(0,wt.c)(42),e=(0,B.useRef)(!0),{autoInstantiate:t,sessionId:G,setCells:o}=a,{showBoundary:s}=je(),{handleCellMessage:Z}=mA(),n;A[0]===Symbol.for("react.memo_cache_sentinel")?(n={skipMiddleware:!0},A[0]=n):n=A[0];let r=mA(n),i;A[1]===r?i=A[2]:(i=h=>{ke(h.changes,r,St)},A[1]=r,A[2]=i);let k=i,{addCellNotification:c}=ma(),g=L(ra),d=Me(),{setVariables:m,setMetadata:b}=oe(),{addColumnPreview:D}=fA(),{addDatasets:N,filterDatasetsFromVariables:S}=fA(),{addDataSourceConnection:_,filterDataSourcesFromVariables:p}=ae(),{setLayoutData:F}=NA(),[Q,C]=BA(Fe),{addBanner:AA}=he(),{addPackageAlert:I,addStartupLog:eA}=PA(),T=L(YA),aA=L(ne),E=_e(),tA=L(da),GA=L(Ce),{setNamespaces:oA,filterFromVariables:sA}=Ga(),K;A[3]!==AA||A[4]!==c||A[5]!==D||A[6]!==_||A[7]!==N||A[8]!==I||A[9]!==eA||A[10]!==t||A[11]!==p||A[12]!==S||A[13]!==sA||A[14]!==Z||A[15]!==k||A[16]!==d||A[17]!==tA||A[18]!==aA||A[19]!==o||A[20]!==GA||A[21]!==g||A[22]!==T||A[23]!==F||A[24]!==b||A[25]!==oA||A[26]!==m||A[27]!==s?(K=h=>{let l=re(h.data);switch(l.data.op){case"reload":la();return;case"kernel-ready":{let w=Et();Yt(l.data,{autoInstantiate:t,setCells:o,setLayoutData:F,setAppConfig:d,setCapabilities:aA,setKernelState:g,onError:s,existingCells:w}),T(l.data.kiosk);return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":GA(l.data.error);return;case"send-ui-element-message":{let w=l.data.ui_element;if(w){let UA=sa(l.data);O.broadcastMessage(w,l.data.message,UA)}return}case"model-lifecycle":me(Ee,l.data);return;case"remove-ui-elements":ft(l.data);return;case"completion-result":Re.resolve(l.data.completion_id,l.data);return;case"function-call-result":fe.resolve(l.data.function_call_id,l.data);return;case"cell-op":{pt(l.data,Z);let w=kA().cellData[l.data.cell_id];if(!w)return;c({cellNotification:l.data,code:w.code});return}case"variables":m(l.data.variables.map(Nt)),S(l.data.variables.map(Mt)),p(l.data.variables.map(bt)),sA(l.data.variables.map(vt));return;case"variable-values":b(l.data.variables.map(yt));return;case"alert":ZA({title:l.data.title,description:Ra({html:l.data.description}),variant:l.data.variant});return;case"banner":AA(l.data);return;case"missing-package-alert":I({...l.data,kind:"missing"});return;case"installing-package-alert":I({...l.data,kind:"installing"});return;case"startup-logs":eA({content:l.data.content,status:l.data.status});return;case"query-params-append":$.append(l.data);return;case"query-params-set":$.set(l.data);return;case"query-params-delete":$.delete(l.data);return;case"query-params-clear":$.clear();return;case"datasets":N(l.data);return;case"data-column-preview":D(l.data);return;case"sql-table-preview":ee.resolve(l.data.request_id,l.data);return;case"sql-table-list-preview":de.resolve(l.data.request_id,l.data);return;case"sql-schema-list-preview":zA.resolve(l.data.request_id,l.data);return;case"validate-sql-result":Ae.resolve(l.data.request_id,l.data);return;case"secret-keys-result":ha.resolve(l.data.request_id,l.data);return;case"cache-info":tA(l.data);return;case"cache-cleared":return;case"data-source-connections":_({connections:l.data.connections.map(Ct)});return;case"storage-namespaces":oA(l.data);return;case"storage-entries":ta.resolve(l.data.request_id,l.data);return;case"storage-download-ready":oa.resolve(l.data.request_id,l.data);return;case"reconnected":return;case"focus-cell":JA(l.data.cell_id);return;case"notebook-document-transaction":k(l.data.transaction);return;case"consumer-capabilities":T(!l.data.consumer_capabilities.edit);return;default:bA(l.data)}},A[3]=AA,A[4]=c,A[5]=D,A[6]=_,A[7]=N,A[8]=I,A[9]=eA,A[10]=t,A[11]=p,A[12]=S,A[13]=sA,A[14]=Z,A[15]=k,A[16]=d,A[17]=tA,A[18]=aA,A[19]=o,A[20]=GA,A[21]=g,A[22]=T,A[23]=F,A[24]=b,A[25]=oA,A[26]=m,A[27]=s,A[28]=K):K=A[28];let nA=K,dA=(h,l)=>{e.current&&(e.current=!1,j.reconnect(h,l))},rA=async()=>{if(!(j.readyState===WebSocket.OPEN||j.readyState===WebSocket.CONNECTING)){if(e.current=!0,C({state:Y.CONNECTING}),!await E.reconcileFromHealth()){e.current=!1,C({state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"});return}j.reconnect()}},H;A[29]===Symbol.for("react.memo_cache_sentinel")?(H=pA(),A[29]=H):H=A[29];let U;A[30]!==E||A[31]!==G?(U=()=>E.getWsURL(G).toString(),A[30]=E,A[31]=G,A[32]=U):U=A[32];let W;A[33]===C?W=A[34]:(W=async()=>{e.current=!0,C({state:Y.OPEN})},A[33]=C,A[34]=W);let V;A[35]===E?V=A[36]:(V=async()=>{pA()||RA()||E.isSameOrigin||await E.waitForHealthy()},A[35]=E,A[36]=V);let X;A[37]===nA?X=A[38]:(X=h=>{try{nA(h)}catch(l){let w=l;x.error("Failed to handle message",h.data,w),ZA({title:"Failed to handle message",description:SA(w),variant:"danger"})}},A[37]=nA,A[38]=X);let j=ht({static:H,url:U,onOpen:W,waitToConnect:V,onMessage:X,onClose:h=>{x.warn("WebSocket closed",h.code,h.reason);let l=xt(h);if(C(l.status),l.kind==="terminal"&&l.closeTransport){j.close();return}l.kind==="retry"&&dA(h.code,h.reason)},onError:h=>{x.warn("WebSocket error",h),C({state:Y.CLOSED,code:v.KERNEL_DISCONNECTED,reason:"kernel not found"}),dA()}}),q;return A[39]!==Q||A[40]!==rA?(q={connection:Q,reconnect:rA},A[39]=Q,A[40]=rA,A[41]=q):q=A[41],q}function Ct(a){return{...a,name:a.name}}function yt(a){return{name:a.name,dataType:a.datatype,value:a.value}}function vt(a){return a.name}function bt(a){return a.name}function Mt(a){return a.name}function Nt(a){return{name:a.name,declaredBy:a.declared_by,usedBy:a.used_by}}function St(){return kA().cellIds.inOrderIds}var _t=u();const Ft=a=>{let A=(0,_t.c)(2),{children:e}=a,t;return A[0]===e?t=A[1]:(t=(0,R.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]=t),t};export{OA as a,Rt as c,FA as d,TA as i,nt as l,Dt as n,rt as o,Zt as r,PA as s,Ft as t,Ea as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as E}from"./chunk-LvLJmgfZ.js";import{u as I}from"./useEvent-D91BmmQi.js";import{t as L}from"./react-Bj1aDYRI.js";import{Ci as U,D as $,g as W,x as F}from"./cells-CoFnpuSu.js";import"./react-dom-CSu739Rf.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{x as H}from"./utils-CvI-39U6.js";import{n as z}from"./constants-DMpttj8Q.js";import{T as M,l as O,m as V}from"./config-ClMcu_sV.js";import{t as Y}from"./cn-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import"./popover-CNCYAwbC.js";import{N as G,Nt as J,Y as K}from"./JsonOutput-DOmfCaR3.js";import{r as Q}from"./download-B10yQcVE.js";import{n as X,t as R}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as Z}from"./requests-DIwGYs0l.js";import"./layout-BVZ3DZze.js";import{
|
|
1
|
+
import{s as E}from"./chunk-LvLJmgfZ.js";import{u as I}from"./useEvent-D91BmmQi.js";import{t as L}from"./react-Bj1aDYRI.js";import{Ci as U,D as $,g as W,x as F}from"./cells-CoFnpuSu.js";import"./react-dom-CSu739Rf.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{x as H}from"./utils-CvI-39U6.js";import{n as z}from"./constants-DMpttj8Q.js";import{T as M,l as O,m as V}from"./config-ClMcu_sV.js";import{t as Y}from"./cn-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import"./popover-CNCYAwbC.js";import{N as G,Nt as J,Y as K}from"./JsonOutput-DOmfCaR3.js";import{r as Q}from"./download-B10yQcVE.js";import{n as X,t as R}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as Z}from"./requests-DIwGYs0l.js";import"./layout-BVZ3DZze.js";import{l as ee}from"./state-DyKcYt57.js";import"./markdown-renderer-DC51vSBA.js";import{t as te}from"./copy-BwrPA9zQ.js";import{i as re,l as se,n as oe,r as B,t as ae,u as ie}from"./panels-DYPu5IGJ.js";import{t as ne}from"./spinner-Bhir8k53.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import{t as le}from"./use-toast-CJ1Tj2eC.js";import{t as me}from"./session-0B5NBztP.js";import"./purify.es-B9KxLTTS.js";import"./dates-CTxr0EqQ.js";import{n as ce}from"./copy-LK56fFow.js";import{a as de,c as pe,l as he,n as xe,r as fe,t as be}from"./dialog-DRnNAWYl.js";import{t as je}from"./share-mSf5FZIP.js";import"./utils-DCL4n9wx.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{a as ue}from"./cell-link-iYZiKtn4.js";import"./chunk-5FQGJX7Z-D91x7QHS.js";import"./html-to-image-DkJzNEld.js";import{n as ge,t as ye}from"./react-resizable-panels.browser.esm-CV8-hvjx.js";import"./esm-xaw4Vy8N.js";import"./name-cell-input-D0WKoNHr.js";import{n as ke,t as _e}from"./marimo-icons-CLbC-oB3.js";import"./ws-K6nioC-Z.js";import"./dist-QqcJxlfK.js";import"./dist-2FedModH.js";import"./dist-DCzr8T5W.js";import"./dist-DxlQcmyw.js";import"./dist-flL-WW8v.js";import"./dist-BieDRQs9.js";import"./dist-BcvGVYKl.js";import"./dist-DU8NrdIh.js";import"./dist-BscEQwf7.js";import"./esm-DgI-7XOj.js";var Ne=P(),ve=E(L(),1),t=E(q(),1);const we=o=>{let e=(0,Ne.c)(27),{appConfig:s}=o,{setCells:r}=$(),{sendComponentValues:p}=Z(),i;e[0]===p?i=e[1]:(i=()=>(B.INSTANCE.start(p),Se),e[0]=p,e[1]=i);let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2],(0,ve.useEffect)(i,n);let h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=me(),e[3]=h):h=e[3];let u;e[4]===r?u=e[5]:(u={autoInstantiate:!0,setCells:r,sessionId:h},e[4]=r,e[5]=u);let{connection:l,reconnect:v}=oe(u),f=I(F),g;e[6]===l.state?g=e[7]:(g=V(l.state),e[6]=l.state,e[7]=g);let w=g,b=I(W),y;e[8]!==s||e[9]!==b||e[10]!==w?(y=()=>w&&!b?(0,t.jsxs)(K,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ne,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(re,{appConfig:s,mode:"read"}),e[8]=s,e[9]=b,e[10]=w,e[11]=y):y=e[11];let j=y,m;e:{if(typeof window>"u"){m=null;break e}let x,a;if(e[12]===Symbol.for("react.memo_cache_sentinel")){if(a=new URL(window.location.href),!a.searchParams.has("file")){m=null;break e}a.searchParams.delete("file"),x=a.searchParams.toString(),e[12]=x,e[13]=a,e[14]=m}else x=e[12],a=e[13],m=e[14];let C=x;m=C?`${a.pathname}?${C}`:a.pathname}let k=m,S=s.width,_;e[15]===Symbol.for("react.memo_cache_sentinel")?(_=k&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:k,"aria-label":"Back to gallery",className:Y(X({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(ee,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[15]=_):_=e[15];let c;e[16]===l?c=e[17]:(c=(0,t.jsx)(ie,{connection:l,className:"sm:pt-8",children:_}),e[16]=l,e[17]=c);let d;e[18]===j?d=e[19]:(d=j(),e[18]=j,e[19]=d);let N;return e[20]!==s.width||e[21]!==l||e[22]!==f||e[23]!==v||e[24]!==c||e[25]!==d?(N=(0,t.jsxs)(se,{connection:l,isRunning:f,width:S,onReconnect:v,children:[c,d]}),e[20]=s.width,e[21]=l,e[22]=f,e[23]=v,e[24]=c,e[25]=d,e[26]=N):N=e[26],N};function Se(){B.INSTANCE.stop()}var A=P();const Ce=()=>{let o=(0,A.c)(3),e=I(U);if(!O()||!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)(ze,{code:e})})]}),o[1]=e,o[2]=r),r};var ze=o=>{var T;let e=(0,A.c)(36),{code:s}=o,r=ue()||"notebook.py",p=r.lastIndexOf("/");p!==-1&&(r=r.slice(p+1));let[i]=H(),n=((T=i.sharing)==null?void 0:T.molab)!==!1,h=window.location.href,u;e[0]===s?u=e[1]:(u=je({code:s,baseUrl:`${z.molab}/new`}),e[0]=s,e[1]=u);let l=u,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(he,{asChild:!0,children:(0,t.jsx)(R,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[2]=v):v=e[2];let f;e[3]===r?f=e[4]:(f=(0,t.jsx)(pe,{children:r}),e[3]=r,e[4]=f);let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=(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]=g):g=e[5];let w;e[6]===Symbol.for("react.memo_cache_sentinel")?(w=(0,t.jsx)("br",{}),e[6]=w):w=e[6];let b;e[7]===r?b=e[8]:(b=(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",w,"marimo edit ",r]})}),e[7]=r,e[8]=b);let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=!h.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]=y):y=e[9];let j;e[10]!==n||e[11]!==l?(j=n&&(0,t.jsxs)("div",{className:"pt-3 border-t flex gap-2 items-center",children:[(0,t.jsx)(R,{asChild:!0,variant:"outline",size:"xs",className:"shrink-0",children:(0,t.jsxs)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)(ke,{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]=n,e[11]=l,e[12]=j):j=e[12];let m;e[13]!==b||e[14]!==j?(m=(0,t.jsxs)(fe,{className:"pt-3 text-left space-y-3",children:[g,b,y,j]}),e[13]=b,e[14]=j,e[15]=m):m=e[15];let k;e[16]!==f||e[17]!==m?(k=(0,t.jsxs)(de,{children:[f,m]}),e[16]=f,e[17]=m,e[18]=k):k=e[18];let S;e[19]===s?S=e[20]:(S=async()=>{await ce(s),le({title:"Copied to clipboard"})},e[19]=s,e[20]=S);let _;e[21]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(te,{className:"w-3 h-3 mr-2"}),e[21]=_):_=e[21];let c;e[22]===S?c=e[23]:(c=(0,t.jsxs)(R,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:S,children:[_,"Copy code"]}),e[22]=S,e[23]=c);let d;e[24]!==s||e[25]!==r?(d=()=>{Q(new Blob([s],{type:"text/plain"}),r)},e[24]=s,e[25]=r,e[26]=d):d=e[26];let N;e[27]===Symbol.for("react.memo_cache_sentinel")?(N=(0,t.jsx)(J,{className:"w-3 h-3 mr-2"}),e[27]=N):N=e[27];let x;e[28]===d?x=e[29]:(x=(0,t.jsxs)(R,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:d,children:[N,"Download"]}),e[28]=d,e[29]=x);let a;e[30]!==c||e[31]!==x?(a=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[c,x]}),e[30]=c,e[31]=x,e[32]=a):a=e[32];let C;return e[33]!==k||e[34]!==a?(C=(0,t.jsxs)(be,{children:[v,(0,t.jsxs)(xe,{children:[k,a]})]}),e[33]=k,e[34]=a,e[35]=C):C=e[35],C},D=P(),Re=M()||O(),Ie=o=>{let e=(0,D.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Ce,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(we,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=Re&&(0,t.jsx)(Pe,{}),e[3]=p):p=e[3];let i;e[4]===r?i=e[5]:(i=(0,t.jsxs)(ye,{children:[s,r,p]}),e[4]=r,e[5]=i);let n;e[6]===Symbol.for("react.memo_cache_sentinel")?(n=(0,t.jsx)(G,{}),e[6]=n):n=e[6];let h;return e[7]===i?h=e[8]:(h=(0,t.jsx)(ae,{children:(0,t.jsxs)(ge,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[i,n]})}),e[7]=i,e[8]=h),h},Pe=()=>{let o=(0,D.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)(_e,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},Te=Ie;export{Te as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as _}from"./chunk-LvLJmgfZ.js";import{p as b,u as q}from"./useEvent-D91BmmQi.js";import{t as A}from"./react-Bj1aDYRI.js";import{t as C}from"./compiler-runtime-B3qBwwSJ.js";import{t as $}from"./createReducer-CI9qeK_X.js";import{t as y}from"./requests-DIwGYs0l.js";import{t as I}from"./createLucideIcon-D5guW7EU.js";import{t as w}from"./DeferredRequestRegistry-CNldVcrP.js";import{n as N}from"./useAsyncData-bgszE9F0.js";var W=I("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);const M=new w("storage-list-entries",async(e,a)=>{await y().listStorageEntries({requestId:e,...a})}),z=new w("storage-download",async(e,a)=>{await y().downloadStorage({requestId:e,...a})});function m(e,a){return`${e}::${a??""}`}function D(e){return`${e}::`}var F=C(),p=_(A(),1);function H(){return{namespaces:[],entriesByPath:new Map,pageMetadataByPath:new Map}}var{reducer:ee,createActions:ae,valueAtom:P,useActions:L}=$(H,{setNamespaces:(e,a)=>{let t=new Map(e.namespaces.map(r=>[r.name,r]));for(let r of a.namespaces)t.set(r.name,r);return{...e,namespaces:[...t.values()]}},setEntries:(e,a)=>{let t=m(a.namespace,a.prefix),r=new Map(e.entriesByPath),s=a.append&&r.has(t)?[...r.get(t)??[],...a.entries]:a.entries;r.set(t,s);let n=new Map(e.pageMetadataByPath);return n.set(t,{nextPageToken:a.nextPageToken??null}),{...e,entriesByPath:r,pageMetadataByPath:n}},clearNamespaceCache:(e,a)=>{let t=new Map(e.entriesByPath),r=new Map(e.pageMetadataByPath),s=D(a);for(let n of t.keys())n.startsWith(s)&&t.delete(n);for(let n of r.keys())n.startsWith(s)&&r.delete(n);return{...e,entriesByPath:t,pageMetadataByPath:r}},filterFromVariables:(e,a)=>{let t=new Set(a),r=e.namespaces.filter(s=>t.has(s.name));return{...e,namespaces:r}}});const x=()=>q(P),R=b(e=>e(P).namespaces);function f(){return L()}async function u({namespace:e,prefix:a,pageToken:t,append:r,setEntries:s}){let n=await M.request({namespace:e,prefix:a??"",limit:150,...t==null?{}:{pageToken:t}});if(n.error)throw Error(n.error);return s({namespace:e,prefix:a,entries:n.entries,nextPageToken:n.next_page_token,append:r}),n}function V(e,a){var h;let{entriesByPath:t,pageMetadataByPath:r}=x(),{setEntries:s}=f(),n=m(e,a),o=t.get(n),i=((h=r.get(n))==null?void 0:h.nextPageToken)??null,c=(0,p.useRef)(!1),[k,d]=(0,p.useState)(!1),[E,g]=(0,p.useState)(),{isPending:B,error:v,refetch:T}=N(async()=>{o||await u({namespace:e,prefix:a,setEntries:s})},[e,a,o===void 0]),S=(0,p.useCallback)(async()=>{if(!(i==null||c.current)){c.current=!0,d(!0),g(void 0);try{await u({namespace:e,prefix:a,pageToken:i,append:!0,setEntries:s})}catch(l){g(l instanceof Error?l:Error(String(l)))}finally{c.current=!1,d(!1)}}},[e,a,i,s]);return{entries:o??[],isPending:B&&!o,error:o?void 0:v,hasMore:i!==null,loadMore:S,isLoadingMore:k,loadMoreError:E,refetch:T}}function j(){let e=(0,F.c)(2),{setEntries:a}=f(),t;return e[0]===a?t=e[1]:(t=r=>u({...r,setEntries:a}),e[0]=a,e[1]=t),t}export{j as a,M as c,V as i,W as l,x as n,m as o,f as r,z as s,R as t};
|
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-
|
|
69
|
+
<script type="module" crossorigin src="./assets/index-D2v5nOjW.js"></script>
|
|
70
70
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-BPPi7vOr.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
|
package/package.json
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
import { describe, expect, it } from "vitest";
|
|
3
|
-
import type { StorageEntry } from "@/core/storage/types";
|
|
4
|
-
import {
|
|
3
|
+
import type { StorageEntry, StoragePathKey } from "@/core/storage/types";
|
|
4
|
+
import { storagePathKey } from "@/core/storage/types";
|
|
5
|
+
import {
|
|
6
|
+
filterEntries,
|
|
7
|
+
remoteSearchPrefix,
|
|
8
|
+
storageEntryKey,
|
|
9
|
+
} from "../storage-inspector";
|
|
5
10
|
|
|
6
11
|
function makeEntry(
|
|
7
12
|
overrides: Partial<StorageEntry> & { path: string },
|
|
@@ -51,3 +56,125 @@ describe("storageEntryKey", () => {
|
|
|
51
56
|
).toBe("a.pdf::2");
|
|
52
57
|
});
|
|
53
58
|
});
|
|
59
|
+
|
|
60
|
+
describe("storage inspector search", () => {
|
|
61
|
+
describe("remoteSearchPrefix", () => {
|
|
62
|
+
it("returns the parent directory of the query so backends can list it", () => {
|
|
63
|
+
// Object stores match prefixes on path segments, so we list the parent
|
|
64
|
+
// directory and filter the rest client-side.
|
|
65
|
+
expect(remoteSearchPrefix("folder/x")).toBe("folder/");
|
|
66
|
+
expect(remoteSearchPrefix("nested/folder/x")).toBe("nested/folder/");
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it("preserves trailing slashes when the user explicitly typed one", () => {
|
|
70
|
+
expect(remoteSearchPrefix("folder/x/")).toBe("folder/x/");
|
|
71
|
+
expect(remoteSearchPrefix("nested/folder/x/")).toBe("nested/folder/x/");
|
|
72
|
+
expect(remoteSearchPrefix("/")).toBe("/");
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it("returns an empty string for queries without a directory component", () => {
|
|
76
|
+
// Without a slash there is nothing useful to send to the backend; rely on
|
|
77
|
+
// local filtering instead.
|
|
78
|
+
expect(remoteSearchPrefix("x")).toBe("");
|
|
79
|
+
expect(remoteSearchPrefix("report")).toBe("");
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it("trims leading/trailing whitespace before computing the prefix", () => {
|
|
83
|
+
expect(remoteSearchPrefix(" nested/folder/x ")).toBe("nested/folder/");
|
|
84
|
+
expect(remoteSearchPrefix(" ")).toBe("");
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
describe("filterEntries", () => {
|
|
89
|
+
it("matches loaded entries by basename, extension, and full path", () => {
|
|
90
|
+
const entries = [
|
|
91
|
+
makeEntry({ path: "data/report.csv" }),
|
|
92
|
+
makeEntry({ path: "logs/readme.md" }),
|
|
93
|
+
];
|
|
94
|
+
|
|
95
|
+
expect(
|
|
96
|
+
filterEntries(entries, {
|
|
97
|
+
namespace: "store",
|
|
98
|
+
searchValue: ".csv",
|
|
99
|
+
entriesByPath: new Map(),
|
|
100
|
+
}),
|
|
101
|
+
).toEqual([entries[0]]);
|
|
102
|
+
expect(
|
|
103
|
+
filterEntries(entries, {
|
|
104
|
+
namespace: "store",
|
|
105
|
+
searchValue: "data/report",
|
|
106
|
+
entriesByPath: new Map(),
|
|
107
|
+
}),
|
|
108
|
+
).toEqual([entries[0]]);
|
|
109
|
+
expect(
|
|
110
|
+
filterEntries(entries, {
|
|
111
|
+
namespace: "store",
|
|
112
|
+
searchValue: "readme",
|
|
113
|
+
entriesByPath: new Map(),
|
|
114
|
+
}),
|
|
115
|
+
).toEqual([entries[1]]);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it("returns the original entries when search is cleared", () => {
|
|
119
|
+
const entries = [
|
|
120
|
+
makeEntry({ path: "data/report.csv" }),
|
|
121
|
+
makeEntry({ path: "logs/readme.md" }),
|
|
122
|
+
];
|
|
123
|
+
|
|
124
|
+
expect(
|
|
125
|
+
filterEntries(entries, {
|
|
126
|
+
namespace: "store",
|
|
127
|
+
searchValue: "",
|
|
128
|
+
entriesByPath: new Map(),
|
|
129
|
+
}),
|
|
130
|
+
).toBe(entries);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it("keeps directories whose loaded descendants match a path query", () => {
|
|
134
|
+
const directory = makeEntry({ path: "data", kind: "directory" });
|
|
135
|
+
const child = makeEntry({ path: "data/report.csv" });
|
|
136
|
+
const entriesByPath = new Map<StoragePathKey, StorageEntry[]>([
|
|
137
|
+
[storagePathKey("store", "data/"), [child]],
|
|
138
|
+
]);
|
|
139
|
+
|
|
140
|
+
expect(
|
|
141
|
+
filterEntries([directory], {
|
|
142
|
+
namespace: "store",
|
|
143
|
+
searchValue: "data/report",
|
|
144
|
+
entriesByPath,
|
|
145
|
+
}),
|
|
146
|
+
).toEqual([directory]);
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
it("matches partial path queries against loaded sibling files (folder/x -> folder/xsomething)", () => {
|
|
150
|
+
// Regression test for the obstore path-segment prefix bug: typing
|
|
151
|
+
// "folder/x" should surface "folder/xsomething" once the folder has
|
|
152
|
+
// been listed locally.
|
|
153
|
+
const folder = makeEntry({ path: "folder/", kind: "directory" });
|
|
154
|
+
const matching = makeEntry({ path: "folder/xsomething" });
|
|
155
|
+
const matchingAlt = makeEntry({ path: "folder/xanother" });
|
|
156
|
+
const other = makeEntry({ path: "folder/something" });
|
|
157
|
+
const entriesByPath = new Map<StoragePathKey, StorageEntry[]>([
|
|
158
|
+
[storagePathKey("store", "folder/"), [other, matchingAlt, matching]],
|
|
159
|
+
]);
|
|
160
|
+
|
|
161
|
+
expect(
|
|
162
|
+
filterEntries([folder], {
|
|
163
|
+
namespace: "store",
|
|
164
|
+
searchValue: "folder/x",
|
|
165
|
+
entriesByPath,
|
|
166
|
+
}),
|
|
167
|
+
).toEqual([folder]);
|
|
168
|
+
|
|
169
|
+
// Same query, but applied directly to the loaded folder contents (as
|
|
170
|
+
// happens for the "remote results" fallback) should drop non-matches.
|
|
171
|
+
expect(
|
|
172
|
+
filterEntries([other, matchingAlt, matching], {
|
|
173
|
+
namespace: "store",
|
|
174
|
+
searchValue: "folder/x",
|
|
175
|
+
entriesByPath,
|
|
176
|
+
}),
|
|
177
|
+
).toEqual([matchingAlt, matching]);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
});
|