@marimo-team/frontend 0.24.3-dev3 → 0.24.3-dev4

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.
Files changed (94) hide show
  1. package/dist/assets/{CellStatus-LoTwk7fR.js → CellStatus-0QNZS4By.js} +1 -1
  2. package/dist/assets/{JsonOutput-CzIGPEZQ.js → JsonOutput-D2ZWLZs4.js} +7 -7
  3. package/dist/assets/{MarimoErrorOutput-DqpoYOvw.js → MarimoErrorOutput-BlmIJ9WY.js} +2 -2
  4. package/dist/assets/{RenderHTML-DwhMAd9l.js → RenderHTML-DnPB4qpJ.js} +1 -1
  5. package/dist/assets/{RunButton-BlpbweyH.js → RunButton-C7TxE07w.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-R-3DS79K.js → add-cell-with-ai-OQ4sSXg4.js} +12 -12
  7. package/dist/assets/{add-connection-dialog-BGfpw5lC.js → add-connection-dialog-MTOC2ycO.js} +73 -73
  8. package/dist/assets/{agent-panel-Cgt_K0tD.js → agent-panel-BdEDIHdc.js} +4 -4
  9. package/dist/assets/ai-model-dropdown-CmJEEhSC.js +3 -0
  10. package/dist/assets/app-config-button-W8Pytgb5.js +1 -0
  11. package/dist/assets/{blob-B2d_dHwI.js → blob-BrVH7IJp.js} +1 -1
  12. package/dist/assets/{cell-editor-Dw09J9yD.js → cell-editor-C7IiingQ.js} +8 -8
  13. package/dist/assets/{cell-link-6burT2XF.js → cell-link-CbHXmrt8.js} +1 -1
  14. package/dist/assets/{cells-Cp-G34Rz.js → cells-BBhW3FXj.js} +1 -1
  15. package/dist/assets/{chat-display-Bu405iyc.js → chat-display-CIpYPLlF.js} +1 -1
  16. package/dist/assets/{chat-panel-BlUwNY5j.js → chat-panel-CK3X_KPy.js} +2 -2
  17. package/dist/assets/{chat-ui-DGiVDzNh.js → chat-ui-BJwtx1SR.js} +4 -4
  18. package/dist/assets/{column-preview-riSXbYe_.js → column-preview-Coa5PyHk.js} +1 -1
  19. package/dist/assets/{command-palette-CCVzJcyf.js → command-palette-_xpwMniA.js} +1 -1
  20. package/dist/assets/{common-CHR7w7aQ.js → common-KqtqJsml.js} +1 -1
  21. package/dist/assets/{components-C7mWrmXr.js → components-Cpv2z-yV.js} +1 -1
  22. package/dist/assets/{datasource-DrODSIs0.js → datasource-B3qF2oaW.js} +2 -2
  23. package/dist/assets/{dependency-graph-panel-AY5BEVH2.js → dependency-graph-panel-Av1CMZ61.js} +3 -3
  24. package/dist/assets/{documentation-panel-CaJF7e-j.js → documentation-panel-BEz3Hjfu.js} +1 -1
  25. package/dist/assets/{download-DMxOzI7b.js → download-BgO9EN-W.js} +1 -1
  26. package/dist/assets/edit-page-DslcxB67.js +9 -0
  27. package/dist/assets/error-entries-BFzSRy80.js +5 -0
  28. package/dist/assets/{error-panel-Bhlvt6_H.js → error-panel-BtLTJDUq.js} +1 -1
  29. package/dist/assets/{file-explorer-panel-s0ohSG_L.js → file-explorer-panel-DEyChgqS.js} +1 -1
  30. package/dist/assets/{file-icons-DdGYuADJ.js → file-icons-BhotQqrU.js} +1 -1
  31. package/dist/assets/{file-name-input-K4MKESI_.js → file-name-input-CH-hNP6F.js} +1 -1
  32. package/dist/assets/{floating-outline-DaUHnl_e.js → floating-outline-Cmk3XDJi.js} +1 -1
  33. package/dist/assets/{home-page-BLd6rnbk.js → home-page-CUBuu5Go.js} +1 -1
  34. package/dist/assets/index-C5h1aWhw.js +29 -0
  35. package/dist/assets/{layout-DWnrxIo2.js → layout-CsLuqwD3.js} +5 -5
  36. package/dist/assets/{logs-panel-BGS2v3ba.js → logs-panel-BV4VZ_uH.js} +1 -1
  37. package/dist/assets/{markdown-renderer-BZKlbm2Q.js → markdown-renderer-751VNlrQ.js} +1 -1
  38. package/dist/assets/{name-cell-input-BMCdK-el.js → name-cell-input-DexJ7ZIH.js} +1 -1
  39. package/dist/assets/{outline-panel-Dr5u73V6.js → outline-panel-QU3nj1VW.js} +1 -1
  40. package/dist/assets/packages-panel-D7oDuI6v.js +1 -0
  41. package/dist/assets/panel-accordion-state-Dl0VcB79.js +1 -0
  42. package/dist/assets/panels-nM4QKfEI.js +4 -0
  43. package/dist/assets/process-output-CPUOlFhp.js +1 -0
  44. package/dist/assets/readonly-code-display-DP7DxRA1.js +1 -0
  45. package/dist/assets/{readonly-python-code-DpIyjHqY.js → readonly-python-code-CAYyabaV.js} +1 -1
  46. package/dist/assets/{reveal-component-nZIAapoD.js → reveal-component-D9DygPds.js} +2 -2
  47. package/dist/assets/rotate-cw-CESctpLh.js +1 -0
  48. package/dist/assets/{run-page-9pl8qhQR.js → run-page-CzO-uMUn.js} +1 -1
  49. package/dist/assets/{scratchpad-panel-BleGt2KM.js → scratchpad-panel-7YBL6E95.js} +1 -1
  50. package/dist/assets/session-panel-hnFaUP0Y.js +1 -0
  51. package/dist/assets/share-BZW3tzEX.js +1 -0
  52. package/dist/assets/{skeleton-BKeh8hf3.js → skeleton-CM7HxSva.js} +1 -1
  53. package/dist/assets/{snippets-panel-D5yy7kj0.js → snippets-panel-AdjuR23O.js} +1 -1
  54. package/dist/assets/state-DOrY1Jyf.js +1 -0
  55. package/dist/assets/state-DQHafeTV.js +3 -0
  56. package/dist/assets/{tracing-DNk3gmWv.js → tracing-CUlvXr_H.js} +1 -1
  57. package/dist/assets/{tracing-panel-Yqazr6w_.js → tracing-panel-CjyayE-l.js} +2 -2
  58. package/dist/assets/{tree-actions-CG5g7aUQ.js → tree-actions-mfuAcK1x.js} +1 -1
  59. package/dist/assets/{useAddCell-DdB_uBif.js → useAddCell-BR8kYnb6.js} +1 -1
  60. package/dist/assets/{useCellActionButton-B31neI3m.js → useCellActionButton-BhREXvvn.js} +1 -1
  61. package/dist/assets/{useDeleteCell-Bz49_cFj.js → useDeleteCell-DwaN6KAw.js} +1 -1
  62. package/dist/assets/useDependencyPanelTab-I-7B78cW.js +1 -0
  63. package/dist/assets/useInstallPackage-IUt497GC.js +1 -0
  64. package/dist/assets/useNotebookActions-D5_YLR42.js +10 -0
  65. package/dist/assets/useRunCells-BMQuitYY.js +1 -0
  66. package/dist/assets/{useSplitCell-Dy2_DmJR.js → useSplitCell-B7AvHoya.js} +1 -1
  67. package/dist/index.html +22 -22
  68. package/package.json +1 -1
  69. package/src/__mocks__/requests.ts +7 -2
  70. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +143 -0
  71. package/src/components/editor/chrome/panels/packages-panel.tsx +145 -51
  72. package/src/components/editor/package-alert.tsx +25 -1
  73. package/src/core/packages/__tests__/useInstallPackage.test.tsx +47 -1
  74. package/src/core/packages/toast-components.tsx +26 -0
  75. package/src/core/packages/useInstallPackage.ts +7 -2
  76. package/src/core/wasm/bridge.ts +1 -0
  77. package/dist/assets/ai-model-dropdown-DCmiuk7x.js +0 -3
  78. package/dist/assets/app-config-button-DUJC6b6x.js +0 -1
  79. package/dist/assets/edit-page-xlMlcLnI.js +0 -9
  80. package/dist/assets/error-entries-Cv2m1yhc.js +0 -5
  81. package/dist/assets/index-4n22QjCD.js +0 -29
  82. package/dist/assets/packages-panel-BdpRg9tX.js +0 -1
  83. package/dist/assets/panel-accordion-state-DjUTN7i5.js +0 -1
  84. package/dist/assets/panels-CWn0Yh1D.js +0 -4
  85. package/dist/assets/process-output-Ck7-P_xp.js +0 -1
  86. package/dist/assets/readonly-code-display--S2daDa6.js +0 -1
  87. package/dist/assets/session-panel-DRGPlL5J.js +0 -1
  88. package/dist/assets/share-CPtBiNgr.js +0 -1
  89. package/dist/assets/state-B6AklCzD.js +0 -1
  90. package/dist/assets/state-Di9TbuV9.js +0 -3
  91. package/dist/assets/useDependencyPanelTab-C_ps0r--.js +0 -1
  92. package/dist/assets/useInstallPackage-DsD08SLK.js +0 -1
  93. package/dist/assets/useNotebookActions-CQtbk9CB.js +0 -10
  94. package/dist/assets/useRunCells-CX7oW5zy.js +0 -1
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t,u as n}from"./useEvent-xfs0Sn4r.js";import{t as r}from"./react-CBDbhulC.js";import{sa as i}from"./cells-Cp-G34Rz.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{w as o}from"./utils-D5Ywm7-q.js";import{r as s}from"./ai-model-dropdown-DCmiuk7x.js";import{N as c}from"./config-BlNM0caL.js";import{t as l}from"./cn-ldLVeaqm.js";import{t as u}from"./jsx-runtime-B74pBk57.js";import{t as d}from"./tooltip-BUtPzKB4.js";import{r as f}from"./button-Dh8EwhsF.js";import{r as p}from"./requests-C6_IaFh7.js";import{a as m}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as h}from"./chevron-right-CKA5zVsM.js";import{u as g}from"./toDate-hGYJX0Ha.js";import{t as _}from"./spinner-Ck-Hgfvj.js";import{a as v}from"./input-DEbY281O.js";import{t as y}from"./use-toast-DpWHUGuF.js";import{n as b}from"./useAsyncData-Buhk-UgR.js";import{n as x}from"./copy-DlEomWzI.js";import{i as S,n as C,r as w,s as T,t as E}from"./useInstallPackage-DsD08SLK.js";import{n as D}from"./error-banner-Dw5YY9wq.js";import{a as O,i as k,n as A,o as j,r as M,t as N}from"./table-DmqOOjfe.js";import{t as P}from"./empty-state-kWyb5dCS.js";var F=e(r(),1),I=a();function L(e){let t=e.trim();for(let e of[`pip install`,`pip3 install`,`uv add`,`uv pip install`,`poetry add`,`conda install`,`pipenv install`])if(t.toLowerCase().startsWith(e.toLowerCase()))return t.slice(e.length).trim();return t}var R=u(),z=e=>{let t=(0,I.c)(9),{onClick:n,loading:r,children:i,className:a}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(_,{size:`small`,className:`h-4 w-4 shrink-0 opacity-50`}),t[0]=e):e=t[0],e}let o;t[1]===a?o=t[2]:(o=l(`px-2 h-full text-xs text-muted-foreground hover:text-foreground`,`invisible group-hover:visible`,a),t[1]=a,t[2]=o);let s;t[3]===n?s=t[4]:(s=f.stopPropagation(n),t[3]=n,t[4]=s);let c;return t[5]!==i||t[6]!==o||t[7]!==s?(c=(0,R.jsx)(`button`,{type:`button`,className:o,onClick:s,children:i}),t[5]=i,t[6]=o,t[7]=s,t[8]=c):c=t[8],c},B=()=>{let e=(0,I.c)(30),[t]=o(),n=t.package_management.manager,{getDependencyTree:r,getPackageList:i}=p(),[a,s]=F.useState(null),c;e[0]!==r||e[1]!==i?(c=async()=>{let[e,t]=await Promise.all([i(),r()]);return{list:e.packages,tree:t.tree}},e[0]=r,e[1]=i,e[2]=c):c=e[2];let u;e[3]===n?u=e[4]:(u=[n],e[3]=n,e[4]=u);let{data:d,error:f,refetch:m,isPending:h}=b(c,u);if(h){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(_,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}if(f){let t;return e[6]===f?t=e[7]:(t=(0,R.jsx)(D,{error:f}),e[6]=f,e[7]=t),t}let g=d.tree!=null,v;e[8]!==g||e[9]!==a?(v=q(a,g),e[8]=g,e[9]=a,e[10]=v):v=e[10];let y=v,x=d.tree?.name,S=d?.tree?.version,C=x===`<root>`,w;e[11]!==n||e[12]!==m?(w=(0,R.jsx)(V,{packageManager:n,onSuccess:m}),e[11]=n,e[12]=m,e[13]=w):w=e[13];let T;e[14]!==C||e[15]!==g||e[16]!==x||e[17]!==S||e[18]!==y?(T=g&&(0,R.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1 border-b`,children:[(0,R.jsxs)(`div`,{className:`flex gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,className:l(`px-2 py-1 text-xs rounded`,y===`list`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>s(`list`),children:`List`}),(0,R.jsx)(`button`,{type:`button`,className:l(`px-2 py-1 text-xs rounded`,y===`tree`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>s(`tree`),children:`Tree`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`div`,{className:`items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium`,title:C?`sandbox`:`project`,children:C?`sandbox`:`project`}),x&&!C&&(0,R.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[x,S&&` v${S}`]})]})]}),e[14]=C,e[15]=g,e[16]=x,e[17]=S,e[18]=y,e[19]=T):T=e[19];let E;e[20]!==d.list||e[21]!==d.tree||e[22]!==f||e[23]!==m||e[24]!==y?(E=y===`list`?(0,R.jsx)(H,{packages:d.list,onSuccess:m}):(0,R.jsx)(G,{tree:d.tree,error:f,onSuccess:m}),e[20]=d.list,e[21]=d.tree,e[22]=f,e[23]=m,e[24]=y,e[25]=E):E=e[25];let O;return e[26]!==w||e[27]!==T||e[28]!==E?(O=(0,R.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[w,T,E]}),e[26]=w,e[27]=T,e[28]=E,e[29]=O):O=e[29],O},V=e=>{let r=(0,I.c)(40),{onSuccess:a,packageManager:o}=e,[c,u]=F.useState(``),{handleClick:f}=s(),p=t(T),m=n(T),h,y;r[0]!==p||r[1]!==m?(h=()=>{p&&(u(p),m(null))},y=[p,m],r[0]=p,r[1]=m,r[2]=h,r[3]=y):(h=r[2],y=r[3]),F.useEffect(h,y);let{loading:b,handleInstallPackages:x}=E(),C;r[4]===a?C=r[5]:(C=()=>{a(),u(``)},r[4]=a,r[5]=C);let w=C,D;r[6]!==x||r[7]!==c||r[8]!==w?(D=()=>{let e=L(c);x([e],w)},r[6]=x,r[7]=c,r[8]=w,r[9]=D):D=r[9];let O=D,k=`Install packages with ${o}...`,A;r[10]!==b||r[11]!==f?(A=b?(0,R.jsx)(_,{size:`small`,className:`mr-2 h-4 w-4 shrink-0 opacity-50`}):(0,R.jsx)(d,{content:`Change package manager`,children:(0,R.jsx)(i,{onClick:()=>f(`packageManagementAndData`),className:`mr-2 h-4 w-4 shrink-0 opacity-50 hover:opacity-80 cursor-pointer`})}),r[10]=b,r[11]=f,r[12]=A):A=r[12];let j;r[13]===O?j=r[14]:(j=e=>{e.key===`Enter`&&(e.preventDefault(),O())},r[13]=O,r[14]=j);let M;r[15]===Symbol.for(`react.memo_cache_sentinel`)?(M=e=>u(e.target.value),r[15]=M):M=r[15];let N;r[16]!==c||r[17]!==k||r[18]!==A||r[19]!==j?(N=(0,R.jsx)(v,{placeholder:k,id:S,icon:A,rootClassName:`flex-1 border-none`,value:c,onKeyDown:j,onChange:M}),r[16]=c,r[17]=k,r[18]=A,r[19]=j,r[20]=N):N=r[20];let P;r[21]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Package name:`}),r[21]=P):P=r[21];let z,B;r[22]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,R.jsxs)(`div`,{children:[P,` A package name; this will install the latest version.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: httpx`})]}),B=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Package and version:`}),r[22]=z,r[23]=B):(z=r[22],B=r[23]);let V,H;r[24]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,R.jsxs)(`div`,{children:[B,` `,`A package with a specific version or version range.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Examples: httpx==0.27.0, httpx>=0.27.0`})]}),H=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Git:`}),r[24]=V,r[25]=H):(V=r[24],H=r[25]);let U,W;r[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,R.jsxs)(`div`,{children:[H,` A Git repository`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: git+https://github.com/encode/httpx`})]}),W=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`URL:`}),r[26]=U,r[27]=W):(U=r[26],W=r[27]);let G,K;r[28]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,R.jsxs)(`div`,{children:[W,` A remote wheel or source distribution.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: https://example.com/httpx-0.27.0.tar.gz`})]}),K=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Path:`}),r[28]=G,r[29]=K):(G=r[28],K=r[29]);let q;r[30]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,R.jsx)(d,{delayDuration:300,side:`left`,align:`start`,content:(0,R.jsxs)(`div`,{className:`text-sm flex flex-col w-full max-w-[360px]`,children:[`Packages are installed using the package manager specified in your user configuration. Depending on your package manager, you can install packages with various formats:`,(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 mt-2`,children:[z,V,U,G,(0,R.jsxs)(`div`,{children:[K,` A local wheel, source distribution, or project directory.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: /example/foo-0.1.0-py3-none-any.whl`})]})]})]}),children:(0,R.jsx)(g,{className:`h-4 w-4 cursor-help text-muted-foreground hover:text-foreground bg-transparent`})}),r[30]=q):q=r[30];let J=c&&`bg-accent text-accent-foreground`,Y;r[31]===J?Y=r[32]:(Y=l(`float-right px-2 m-0 h-full text-sm text-secondary-foreground ml-2`,J,`disabled:cursor-not-allowed disabled:opacity-50`),r[31]=J,r[32]=Y);let X=!c,Z;r[33]!==O||r[34]!==Y||r[35]!==X?(Z=(0,R.jsx)(`button`,{type:`button`,className:Y,onClick:O,disabled:X,children:`Add`}),r[33]=O,r[34]=Y,r[35]=X,r[36]=Z):Z=r[36];let Q;return r[37]!==Z||r[38]!==N?(Q=(0,R.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[N,q,Z]}),r[37]=Z,r[38]=N,r[39]=Q):Q=r[39],Q},H=e=>{let t=(0,I.c)(11),{onSuccess:n,packages:r}=e,a;t[0]===r?a=t[1]:(a=r.toSorted(J),t[0]=r,t[1]=a);let o=a;if(r.length===0){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(P,{title:`No packages`,description:`No packages are installed in this environment.`,icon:(0,R.jsx)(i,{})}),t[2]=e):e=t[2],e}let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,R.jsx)(O,{children:(0,R.jsxs)(j,{children:[(0,R.jsx)(k,{children:`Name`}),(0,R.jsx)(k,{children:`Version`}),(0,R.jsx)(k,{})]})}),t[3]=s):s=t[3];let c;if(t[4]!==n||t[5]!==o){let e;t[7]===n?e=t[8]:(e=e=>(0,R.jsxs)(j,{className:`group`,onClick:async()=>{await x(`${e.name}==${e.version}`),y({title:`Copied to clipboard`})},children:[(0,R.jsx)(M,{children:e.name}),(0,R.jsx)(M,{children:e.version}),(0,R.jsxs)(M,{className:`flex justify-end`,children:[(0,R.jsx)(U,{packageName:e.name,onSuccess:n}),(0,R.jsx)(W,{packageName:e.name,onSuccess:n})]})]},e.name),t[7]=n,t[8]=e),c=o.map(e),t[4]=n,t[5]=o,t[6]=c}else c=t[6];let l;return t[9]===c?l=t[10]:(l=(0,R.jsxs)(N,{className:`overflow-auto flex-1`,children:[s,(0,R.jsx)(A,{children:c})]}),t[9]=c,t[10]=l),l},U=({packageName:e,tags:t,onSuccess:n})=>{let[r,i]=F.useState(!1),{addPackage:a}=p();return c()?null:(0,R.jsx)(z,{onClick:async()=>{try{i(!0);let r=t?.find(e=>e.kind===`group`)?.value,o=await a({package:e,upgrade:!0,group:r});o.success?(n(),w(e)):w(e,o.error)}finally{i(!1)}},loading:r,children:`Upgrade`})},W=({packageName:e,tags:t,onSuccess:n})=>{let[r,i]=F.useState(!1),{removePackage:a}=p();return(0,R.jsx)(z,{onClick:async()=>{try{i(!0);let r=t?.find(e=>e.kind===`group`)?.value,o=await a({package:e,group:r});o.success?(n(),C(e)):C(e,o.error)}finally{i(!1)}},loading:r,children:`Remove`})},G=e=>{let t=(0,I.c)(18),{tree:n,error:r,onSuccess:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=new Set,t[0]=o):o=t[0];let[s,c]=F.useState(o),l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c(new Set)},t[1]=l):l=t[1];let u;if(t[2]===n?u=t[3]:(u=[n],t[2]=n,t[3]=u),F.useEffect(l,u),r){let e;return t[4]===r?e=t[5]:(e=(0,R.jsx)(D,{error:r}),t[4]=r,t[5]=e),e}if(!n){let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(_,{size:`medium`,centered:!0}),t[6]=e):e=t[6],e}if(n.dependencies.length===0){let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(P,{title:`No dependencies`,description:`No package dependencies found in this environment.`,icon:(0,R.jsx)(i,{})}),t[7]=e):e=t[7],e}let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[8]=d):d=t[8];let f=d,p;if(t[9]!==s||t[10]!==a||t[11]!==n.dependencies){let e;t[13]!==s||t[14]!==a?(e=(e,t)=>(0,R.jsx)(`div`,{className:`border-b`,children:(0,R.jsx)(K,{nodeId:`root-${t}`,node:e,level:0,isTopLevel:!0,expandedNodes:s,onToggle:f,onSuccess:a})},`${e.name}-${t}`),t[13]=s,t[14]=a,t[15]=e):e=t[15],p=n.dependencies.map(e),t[9]=s,t[10]=a,t[11]=n.dependencies,t[12]=p}else p=t[12];let m;return t[16]===p?m=t[17]:(m=(0,R.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,R.jsx)(`div`,{children:p})}),t[16]=p,t[17]=m),m},K=e=>{let t=(0,I.c)(58),{nodeId:n,node:r,level:i,isTopLevel:a,expandedNodes:o,onToggle:s,onSuccess:c}=e,u=a!==void 0&&a,d=r.dependencies.length>0,f;t[0]!==o||t[1]!==n?(f=o.has(n),t[0]=o,t[1]=n,t[2]=f):f=t[2];let p=f,g=u?0:16+i*16,_;t[3]!==d||t[4]!==n||t[5]!==s?(_=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d&&s(n))},t[3]=d,t[4]=n,t[5]=s,t[6]=_):_=t[6];let v=_,y;t[7]!==d||t[8]!==n||t[9]!==s?(y=e=>{e.stopPropagation(),d&&s(n)},t[7]=d,t[8]=n,t[9]=s,t[10]=y):y=t[10];let b=y,x=d&&`select-none`,S=u?`px-2 py-0.5`:``,C;t[11]!==x||t[12]!==S?(C=l(`flex items-center group cursor-pointer text-sm whitespace-nowrap`,`hover:bg-(--slate-2) focus:bg-(--slate-2) focus:outline-hidden`,x,S),t[11]=x,t[12]=S,t[13]=C):C=t[13];let w;t[14]!==g||t[15]!==u?(w=u?{}:{paddingLeft:`${g}px`},t[14]=g,t[15]=u,t[16]=w):w=t[16];let T=d?p:void 0,E;t[17]!==d||t[18]!==p?(E=d?p?(0,R.jsx)(m,{className:`w-4 h-4 mr-2 shrink-0`}):(0,R.jsx)(h,{className:`w-4 h-4 mr-2 shrink-0`}):(0,R.jsx)(`div`,{className:`w-4 mr-2 shrink-0`}),t[17]=d,t[18]=p,t[19]=E):E=t[19];let D;t[20]===r.name?D=t[21]:(D=(0,R.jsx)(`span`,{className:`font-medium truncate`,children:r.name}),t[20]=r.name,t[21]=D);let O;t[22]===r.version?O=t[23]:(O=r.version&&(0,R.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`v`,r.version]}),t[22]=r.version,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0 py-1.5`,children:[D,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]===r.tags?A=t[28]:(A=r.tags.map(Y),t[27]=r.tags,t[28]=A);let j;t[29]===A?j=t[30]:(j=(0,R.jsx)(`div`,{className:`flex items-center gap-1 ml-2`,children:A}),t[29]=A,t[30]=j);let M;t[31]!==u||t[32]!==r.name||t[33]!==r.tags||t[34]!==c?(M=u&&(0,R.jsxs)(`div`,{className:`flex gap-1 invisible group-hover:visible`,children:[(0,R.jsx)(U,{packageName:r.name,tags:r.tags,onSuccess:c}),(0,R.jsx)(W,{packageName:r.name,tags:r.tags,onSuccess:c})]}),t[31]=u,t[32]=r.name,t[33]=r.tags,t[34]=c,t[35]=M):M=t[35];let N;t[36]!==b||t[37]!==v||t[38]!==E||t[39]!==k||t[40]!==j||t[41]!==M||t[42]!==C||t[43]!==w||t[44]!==T?(N=(0,R.jsxs)(`div`,{className:C,style:w,onClick:b,onKeyDown:v,tabIndex:0,role:`treeitem`,"aria-selected":!1,"aria-expanded":T,children:[E,k,j,M]}),t[36]=b,t[37]=v,t[38]=E,t[39]=k,t[40]=j,t[41]=M,t[42]=C,t[43]=w,t[44]=T,t[45]=N):N=t[45];let P;t[46]!==o||t[47]!==d||t[48]!==p||t[49]!==i||t[50]!==r.dependencies||t[51]!==n||t[52]!==c||t[53]!==s?(P=d&&p&&(0,R.jsx)(`div`,{role:`group`,children:r.dependencies.map((e,t)=>(0,R.jsx)(K,{nodeId:`${n}-${t}`,node:e,level:i+1,isTopLevel:!1,expandedNodes:o,onToggle:s,onSuccess:c},`${e.name}-${t}`))}),t[46]=o,t[47]=d,t[48]=p,t[49]=i,t[50]=r.dependencies,t[51]=n,t[52]=c,t[53]=s,t[54]=P):P=t[54];let F;return t[55]!==N||t[56]!==P?(F=(0,R.jsxs)(`div`,{children:[N,P]}),t[55]=N,t[56]=P,t[57]=F):F=t[57],F};function q(e,t){return e===`list`?`list`:t?e||`tree`:`list`}function J(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:`base`})}function Y(e,t){return e.kind===`cycle`?(0,R.jsx)(`div`,{className:`items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-orange-300 dark:border-orange-700 text-orange-700 dark:text-orange-300`,title:`cycle`,children:`cycle`},t):e.kind===`extra`?(0,R.jsx)(`div`,{className:`items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-blue-300 dark:border-blue-700 text-blue-700 dark:text-blue-300`,title:e.value,children:e.value},t):e.kind===`group`?(0,R.jsx)(`div`,{className:`items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-green-300 dark:border-green-700 text-green-700 dark:text-green-300`,title:e.value,children:e.value},t):null}export{B as default};
@@ -1 +0,0 @@
1
- import{r as e}from"./useEvent-xfs0Sn4r.js";import{Co as t,ii as n}from"./cells-Cp-G34Rz.js";var r=t(`marimo:session-panel:state`,{openSections:[`variables`],hasUserInteracted:!1},n,{getOnInit:!0}),i=t(`marimo:file-explorer-panel:state`,{openSections:[`files`],hasUserInteracted:!1},n,{getOnInit:!0});function a(t,n){e.set(t,e=>e.openSections.includes(n)?e:{...e,openSections:[...e.openSections,n]})}export{i as n,r,a as t};
@@ -1,4 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,r as i,u as a}from"./useEvent-xfs0Sn4r.js";import{t as o}from"./react-CBDbhulC.js";import{$n as s,A as c,B as l,D as u,Fo as d,I as f,Jr as p,Mt as m,Nt as h,Ot as g,Pt as ee,Qn as te,R as _,Rr as ne,T as v,Vo as re,Xn as ie,Zn as ae,at as oe,b as y,br as se,er as ce,g as b,ga as le,h as ue,l as de,oi as fe,xa as pe,yr as me}from"./cells-Cp-G34Rz.js";import{t as he}from"./compiler-runtime-CYIjoINj.js";import{O as ge,T as _e,f as ve}from"./utils-D5Ywm7-q.js";import{_ as x,b as ye,c as be,g as xe,i as Se,m as S,n as C,o as w,p as Ce,r as T,s as we,t as Te,v as Ee}from"./state-Di9TbuV9.js";import{g as E,t as De}from"./useEventListener-92uWqz-P.js";import{t as Oe}from"./objects-snlMn4yk.js";import{r as D}from"./constants-BDbGiS7O.js";import{D as ke,M as O,N as Ae,O as je,T as k,d as Me,l as Ne,o as Pe,v as Fe,w as A}from"./config-BlNM0caL.js";import{o as j}from"./switch-DjXr9Y9D.js";import{h as M,l as N,m as Ie,o as Le,p as Re,s as ze}from"./readonly-python-code-DpIyjHqY.js";import{n as Be}from"./ErrorBoundary-CDVGFYfr.js";import{n as P,t as F}from"./cn-ldLVeaqm.js";import{t as I}from"./jsx-runtime-B74pBk57.js";import{i as L,s as R}from"./fullscreen-BH2jz-F4.js";import{_ as z,f as B,g as Ve,h as He,m as V,p as H,v as U,y as W}from"./alert-dialog-CA-2mBs3.js";import{Ct as G,Ot as K,kt as q}from"./JsonOutput-CzIGPEZQ.js";import{h as J}from"./download-DMxOzI7b.js";import{t as Y}from"./tooltip-BUtPzKB4.js";import{t as Ue}from"./button-Dh8EwhsF.js";import{t as We}from"./createReducer-B_XmHROl.js";import{i as Ge}from"./strings-CReV1AYG.js";import{t as Ke}from"./requests-C6_IaFh7.js";import{t as qe}from"./createLucideIcon-B7HeEoG2.js";import{I as Je,a as Ye,c as Xe,i as Ze,n as Qe}from"./layout-DWnrxIo2.js";import{d as $e,n as et}from"./markdown-renderer-BZKlbm2Q.js";import{v as tt}from"./write-secret-modal-D6zoZgLY.js";import{n as nt}from"./spinner-Ck-Hgfvj.js";import{t as rt}from"./uuid-k9DpjH68.js";import{t as it}from"./use-toast-DpWHUGuF.js";import{i as at}from"./session-Sz5nSFku.js";import{n as ot}from"./useAsyncData-Buhk-UgR.js";import{t as st}from"./RenderHTML-DwhMAd9l.js";import{r as ct}from"./share-CPtBiNgr.js";import{a as lt}from"./errors-DzO-nXy-.js";import{s as ut}from"./react-icons.esm-hr79-MCS.js";import{r as dt}from"./events-CbeVJ6OD.js";import{i as ft}from"./cell-link-6burT2XF.js";import{t as pt}from"./requests-S_7PqcSt.js";import{t as mt}from"./ws-DLVysDhS.js";import{n as ht}from"./runs-euHSzlw_.js";var gt=qe(`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`}]]),_t=qe(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),vt=qe(`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`}]]),X=e(o(),1),Z=he(),Q=I(),yt=e=>{let t=(0,Z.c)(2),{reason:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{className:`font-mono text-center text-base text-(--red-11)`,children:(0,Q.jsx)(`p`,{children:n})}),t[0]=n,t[1]=r),r},bt=e=>{let t=(0,Z.c)(7),{connection:n,className:r,children:i}=e,a;t[0]!==n.reason||t[1]!==n.state?(a=n.state===k.CLOSED&&(0,Q.jsx)(yt,{reason:n.reason}),t[0]=n.reason,t[1]=n.state,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==r||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:r,children:[i,a]}),t[3]=i,t[4]=r,t[5]=a,t[6]=o):o=t[6],o};function xt(e){let t=(0,Z.c)(3),[n,r]=(0,X.useState)(e<=0),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(e<=0){r(!0);return}r(!1);let t=setTimeout(()=>r(!0),e);return()=>clearTimeout(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,X.useLayoutEffect)(i,a),n}var St=e=>{let{requires:t,fallback:n,delay:i,children:a}=e,o=n===void 0?null:n,s=i===void 0?0:i,c=r(t),l=xt(c?0:s);return c?a:l?o:null},Ct=e=>{let t=(0,Z.c)(10),{title:n}=e,[r,i]=(0,X.useState)(n),[a,o]=(0,X.useState)(!0),s,c;t[0]!==r||t[1]!==n?(s=()=>{if(n!==r){o(!1);let e=setTimeout(()=>{i(n),o(!0)},300);return()=>clearTimeout(e)}},c=[n,r],t[0]=r,t[1]=n,t[2]=s,t[3]=c):(s=t[2],c=t[3]),(0,X.useEffect)(s,c);let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(nt,{className:`size-20 animate-spin text-primary`,"data-testid":`large-spinner`,strokeWidth:1}),t[4]=l):l=t[4];let u=a?`opacity-100`:`opacity-0`,d;t[5]===u?d=t[6]:(d=F(`mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300`,u),t[5]=u,t[6]=d);let f;return t[7]!==r||t[8]!==d?(f=(0,Q.jsxs)(`div`,{className:`flex flex-col h-full flex-1 items-center justify-center p-4`,children:[l,(0,Q.jsx)(`div`,{className:d,children:r})]}),t[7]=r,t[8]=d,t[9]=f):f=t[9],f};function wt(e,t){return e===`edit`||e===`home`||e===`gallery`?!0:e===`present`||at(D.includeCode,`false`)||at(D.showCode,`false`)?!1:at(D.showCode,`true`)?!0:t}function Tt(e){let t=wt(e.mode,e.showAppCode),n=e.hasCells&&e.hasCachedOutputs;return{showCode:t,showCachedOutputs:n,canPaint:e.hasCells&&(t||n||e.allCellsIdle)}}var Et=n(e=>{let t=!1,n=!0;for(let r of Object.values(e(y).cellRuntime))et(r.output)||(t=!0),r.status!==`idle`&&(n=!1);return{hasCachedOutputs:t,allCellsIdle:n}}),Dt=n(e=>e(Et).hasCachedOutputs),Ot=n(e=>e(Et).allCellsIdle),kt=n(e=>Tt({mode:e(ke),showAppCode:e(j),hasCells:e(b),hasCachedOutputs:e(Dt),allCellsIdle:e(Ot)})),At=n(e=>e(kt).canPaint),jt=e=>{let t=(0,Z.c)(2),{children:n}=e;if(!Ae())return n;let r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(Mt,{children:n}),t[0]=n,t[1]=r),r},Mt=e=>{let t=(0,Z.c)(8),{children:n}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0];let{error:a}=ot(Pt,i),o=r(At),s=(0,X.useRef)(!1),c,l;if(t[1]!==o||t[2]!==a?(c=()=>{a&&o&&!s.current&&(s.current=!0,E.error(`Pyodide failed to initialize`,a),it({title:`Failed to start the notebook runtime`,description:lt(a),variant:`danger`}))},l=[a,o],t[1]=o,t[2]=a,t[3]=c,t[4]=l):(c=t[3],l=t[4]),(0,X.useEffect)(c,l),a&&!o)throw a;let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(Nt,{}),t[5]=u):u=t[5];let d;return t[6]===n?d=t[7]:(d=(0,Q.jsx)(St,{requires:At,fallback:u,children:n}),t[6]=n,t[7]=d),d},Nt=()=>{let e=(0,Z.c)(2),t=r(N),n=t.kind===`loading`?t.message:`Loading…`,i;return e[0]===n?i=e[1]:(i=(0,Q.jsx)(Ct,{title:n}),e[0]=n,e[1]=i),i};async function Pt(){return await Ce.INSTANCE.initialized.promise,!0}var Ft={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 $(e){return Ft[e]}function It(e){if(document.visibilityState===`visible`)return;let t=async()=>{e===0?new Notification(`Execution completed`,{body:`Your notebook run completed successfully.`,icon:await $(`success`)}):new Notification(`Execution failed`,{body:`Your notebook run encountered ${e} error(s).`,icon:await $(`error`)})};!(`Notification`in window)||Notification.permission===`denied`||(Notification.permission===`granted`?t():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e===`granted`&&t()}))}var Lt=e=>{let{isRunning:t}=e,n=c(),r=document.querySelector(`link[rel~='icon']`);r||(r=document.createElement(`link`),r.rel=`icon`,document.getElementsByTagName(`head`)[0].append(r)),(0,X.useEffect)(()=>{!t&&r.href.includes(`favicon`)||(async()=>{let e;if(e=t?`running`:n.length===0?`success`:`error`,r.href=await $(e),!document.hasFocus())return;let i=setTimeout(async()=>{r.href=await $(`idle`)},3e3);return()=>clearTimeout(i)})()},[t,n,r]);let i=Je(t)??t;return(0,X.useEffect)(()=>{i&&!t&&It(n.length)},[n,i,t]),De(window,`focus`,async e=>{t||(r.href=await $(`idle`))}),null};function Rt(){let{cellIds:e,cellRuntime:t}=i.get(y),n=e.inOrderIds.find(e=>t[e]?.status===`running`);n&&ft(n,`focus`)}var zt=e=>{let t=(0,Z.c)(18),{connection:n,isRunning:i,onReconnect:a}=e,{mode:o}=r(O),s=n.state===k.CLOSED,c=n.state===k.OPEN,l=s&&n.code===A.KERNEL_DISCONNECTED,u;t[0]===s?u=t[1]:(u=s&&(0,Q.jsx)(Ut,{}),t[0]=s,t[1]=u);let d=o===`read`?`fixed`:`absolute`,f;t[2]===d?f=t[3]:(f=F(`z-50 top-4 left-4`,d),t[2]=d,t[3]=f);let p;t[4]!==c||t[5]!==i?(p=c&&i&&(0,Q.jsx)(Ht,{}),t[4]=c,t[5]=i,t[6]=p):p=t[6];let m;t[7]!==l||t[8]!==s||t[9]!==a?(m=s&&(0,Q.jsx)(Vt,{onReconnect:l?a:void 0}),t[7]=l,t[8]=s,t[9]=a,t[10]=m):m=t[10];let h;t[11]!==f||t[12]!==p||t[13]!==m?(h=(0,Q.jsxs)(`div`,{className:f,children:[p,m]}),t[11]=f,t[12]=p,t[13]=m,t[14]=h):h=t[14];let g;return t[15]!==u||t[16]!==h?(g=(0,Q.jsxs)(Q.Fragment,{children:[u,h]}),t[15]=u,t[16]=h,t[17]=g):g=t[17],g},Bt=`print:hidden pointer-events-auto hover:cursor-pointer`,Vt=e=>{let t=(0,Z.c)(12),{onReconnect:n}=e,r=!n,i=r?`App disconnected`:`App disconnected — click to reconnect`,a=r?0:-1,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=F(Bt,`bg-transparent border-0 p-0`),t[0]=o):o=t[0];let s=r?`App disconnected`:`Reconnect to app`,c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(vt,{className:`w-[25px] h-[25px] text-(--red-11)`}),t[1]=c):c=t[1];let l;t[2]!==r||t[3]!==n||t[4]!==s?(l=(0,Q.jsx)(`button`,{type:`button`,className:o,"aria-label":s,"data-testid":`disconnected-indicator`,onClick:n,disabled:r,children:c}),t[2]=r,t[3]=n,t[4]=s,t[5]=l):l=t[5];let u;t[6]!==a||t[7]!==l?(u=(0,Q.jsx)(`span`,{tabIndex:a,children:l}),t[6]=a,t[7]=l,t[8]=u):u=t[8];let d;return t[9]!==i||t[10]!==u?(d=(0,Q.jsx)(Y,{content:i,children:u}),t[9]=i,t[10]=u,t[11]=d):d=t[11],d},Ht=()=>{let e=(0,Z.c)(6),t=r(v),n=t?`Scratchpad is running`:`Jump to running cell`,i=t?void 0:Rt,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(gt,{className:`running-app-icon`,size:30,strokeWidth:1}),e[0]=a):a=e[0];let o;e[1]===i?o=e[2]:(o=(0,Q.jsx)(`div`,{className:Bt,"data-testid":`loading-indicator`,onClick:i,children:a}),e[1]=i,e[2]=o);let s;return e[3]!==o||e[4]!==n?(s=(0,Q.jsx)(Y,{content:n,side:`right`,children:o}),e[3]=o,e[4]=n,e[5]=s):s=e[5],s},Ut=()=>{let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`noise`}),(0,Q.jsx)(`div`,{className:`disconnected-gradient`})]}),e[0]=t):t=e[0],t},Wt=z,Gt=W,Kt=L(Ve),qt=X.forwardRef((e,t)=>{let n=(0,Z.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=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`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Q.jsx)(He,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});qt.displayName=He.displayName;var Jt=P(`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`}}),Yt=X.forwardRef((e,t)=>{let n=(0,Z.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({side:o,className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?`right`:o,c;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(qt,{}),n[5]=c):c=n[5];let l;n[6]!==i||n[7]!==s?(l=F(Jt({side:s}),i),n[6]=i,n[7]=s,n[8]=l):l=n[8];let u;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsxs)(B,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,Q.jsx)(ut,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[9]=u):u=n[9];let d;return n[10]!==r||n[11]!==a||n[12]!==t||n[13]!==l?(d=(0,Q.jsx)(Kt,{children:(0,Q.jsxs)(R,{children:[c,(0,Q.jsxs)(H,{ref:t,className:l,...a,children:[r,u]})]})}),n[10]=r,n[11]=a,n[12]=t,n[13]=l,n[14]=d):d=n[14],d});Yt.displayName=H.displayName;var Xt=X.forwardRef((e,t)=>{let n=(0,Z.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`text-lg font-semibold text-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Q.jsx)(U,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Xt.displayName=U.displayName;var Zt=X.forwardRef((e,t)=>{let n=(0,Z.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`text-sm text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Q.jsx)(V,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Zt.displayName=V.displayName;var Qt=(0,X.memo)(()=>{let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(K,{name:G.SIDEBAR}),e[0]=t):t=e[0],t});Qt.displayName=`SidebarSlot`;var $t=e=>{let t=(0,Z.c)(6),{openWidth:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(Gt,{className:`lg:hidden`,asChild:!0,children:(0,Q.jsx)(Ue,{variant:`ghost`,className:`bg-background`,children:(0,Q.jsx)(_t,{className:`w-5 h-5`})})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i={maxWidth:n},t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(Qt,{}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,Q.jsxs)(Wt,{children:[r,(0,Q.jsx)(Yt,{className:`w-full px-3 h-full flex flex-col overflow-y-auto`,style:i,side:`left`,children:a})]}),t[4]=i,t[5]=o),o},en=e=>{let t=(0,Z.c)(7),{isOpen:n,toggle:r}=e,i=n?`rotate-0`:`rotate-180`,a;t[0]===i?a=t[1]:(a=F(`h-5 w-5 transition-transform ease-in-out duration-700`,i),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,Q.jsx)(J,{className:a}),t[2]=a,t[3]=o);let s;return t[4]!==o||t[5]!==r?(s=(0,Q.jsx)(`div`,{className:`invisible lg:visible absolute top-[12px] right-[16px] z-20`,children:(0,Q.jsx)(Ue,{onClick:r,className:`w-10 h-8`,variant:`ghost`,size:`icon`,children:o})}),t[4]=o,t[5]=r,t[6]=s):s=t[6],s},tn=e=>{let t=(0,Z.c)(11),{isOpen:n,toggle:r,width:i}=e,a=n?i:Te,o;t[0]===a?o=t[1]:(o={width:a},t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=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`),t[2]=s):s=t[2];let c;t[3]!==n||t[4]!==r?(c=(0,Q.jsx)(en,{isOpen:n,toggle:r}),t[3]=n,t[4]=r,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(`div`,{className:`relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l`,children:(0,Q.jsx)(Qt,{})}),t[6]=l):l=t[6];let u;return t[7]!==n||t[8]!==o||t[9]!==c?(u=(0,Q.jsxs)(`aside`,{"data-expanded":n,style:o,className:s,children:[c,l]}),t[7]=n,t[8]=o,t[9]=c,t[10]=u):u=t[10],u},nn=e=>{let n=(0,Z.c)(15),{children:r}=e,[i,a]=t(T),{isOpen:o,width:s}=i;if(q(G.SIDEBAR).length===0)return r;let c;n[0]===s?c=n[1]:(c=C(s),n[0]=s,n[1]=c);let l=c,u;n[2]!==a||n[3]!==o?(u=()=>a({type:`toggle`,isOpen:!o}),n[2]=a,n[3]=o,n[4]=u):u=n[4];let d;n[5]!==o||n[6]!==l||n[7]!==u?(d=(0,Q.jsx)(tn,{isOpen:o,width:l,toggle:u}),n[5]=o,n[6]=l,n[7]=u,n[8]=d):d=n[8];let f;n[9]===l?f=n[10]:(f=(0,Q.jsx)(`div`,{className:`absolute top-3 left-4 flex items-center z-50`,children:(0,Q.jsx)($t,{openWidth:l})}),n[9]=l,n[10]=f);let p;return n[11]!==r||n[12]!==d||n[13]!==f?(p=(0,Q.jsxs)(`div`,{className:`inset-0 absolute flex`,children:[d,f,r]}),n[11]=r,n[12]=d,n[13]=f,n[14]=p):p=n[14],p},rn=e=>{let t=(0,Z.c)(18),{width:n,connection:r,isRunning:i,children:a,onReconnect:o}=e,s=r.state,c;t[0]===i?c=t[1]:(c=(0,Q.jsx)(Lt,{isRunning:i}),t[0]=i,t[1]=c);let l;t[2]!==r||t[3]!==i||t[4]!==o?(l=(0,Q.jsx)(zt,{connection:r,isRunning:i,onReconnect:o}),t[2]=r,t[3]=i,t[4]=o,t[5]=l):l=t[5];let u;t[6]!==s||t[7]!==n?(u=F(`mathjax_ignore`,Me(s)&&`disconnected`,`bg-background w-full h-full text-textColor`,`flex flex-col overflow-y-auto`,n===`full`&&`config-width-full`,n===`columns`?`overflow-x-auto`:`overflow-x-auto sm:overflow-x-hidden`,`print:height-fit`),t[6]=s,t[7]=n,t[8]=u):u=t[8];let d;t[9]!==a||t[10]!==s||t[11]!==u||t[12]!==n?(d=(0,Q.jsx)(jt,{children:(0,Q.jsx)(nn,{children:(0,Q.jsx)(`div`,{id:`App`,"data-config-width":n,"data-connection-state":s,className:u,children:a})})}),t[9]=a,t[10]=s,t[11]=u,t[12]=n,t[13]=d):d=t[13];let f;return t[14]!==c||t[15]!==l||t[16]!==d?(f=(0,Q.jsxs)(Q.Fragment,{children:[c,l,d]}),t[14]=c,t[15]=l,t[16]=d,t[17]=f):f=t[17],f};function an(e){return e.kind===`missing`}function on(e){return e.kind===`installing`}var{valueAtom:sn,useActions:cn}=We(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(e,t)=>{let n={...e.packageLogs};if(on(t)&&t.logs&&t.log_status)for(let[e,r]of Object.entries(t.logs))switch(t.log_status){case`start`:n[e]=r;break;case`append`:n[e]=(n[e]||``)+r;break;case`done`:n[e]=(n[e]||``)+r}let r=e.packageAlert?.id||rt();return{...e,packageAlert:{id:r,...t},packageLogs:n}},clearPackageAlert:(e,t)=>e.packageAlert!==null&&e.packageAlert.id===t?{...e,packageAlert:null,packageLogs:{}}:e,addStartupLog:(e,t)=>{let n=e.startupLogsAlert?.content||``;return{...e,startupLogsAlert:{...e.startupLogsAlert,content:n+t.content,status:t.status}}},clearStartupLogsAlert:e=>({...e,startupLogsAlert:null})}),ln=()=>r(sn);function un(){return cn()}var dn=(0,X.memo)(e=>{let t=(0,Z.c)(9),{appConfig:n,mode:i,children:a}=e,{selectedLayout:o}=M();if(!r(je)&&(i===`edit`||i===`present`&&o===`vertical`))return a;let s=i===`read`,c;t[0]!==o||t[1]!==s?(c=Re({selectedLayout:o,isReading:s,searchParams:new URLSearchParams(window.location.search)}),t[0]=o,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===l?u=t[4]:(u=Ye.find(e=>e.type===l),t[3]=l,t[4]=u);let d=u;if(!d)return a;let f;return t[5]!==n||t[6]!==i||t[7]!==d?(f=(0,Q.jsx)(fn,{appConfig:n,mode:i,plugin:d}),t[5]=n,t[6]=i,t[7]=d,t[8]=f):f=t[8],f});dn.displayName=`CellsRenderer`;var fn=e=>{let t=(0,Z.c)(12),{appConfig:n,mode:r,plugin:i}=e,a=M(),o=f(),{setCurrentLayoutData:s}=Ie(),c,l;t[0]!==a||t[1]!==o||t[2]!==i?(c=de(o),l=Ze({state:a,plugin:i,cells:c}),t[0]=a,t[1]=o,t[2]=i,t[3]=c,t[4]=l):(c=t[3],l=t[4]);let u=l,d=i.Component,p;return t[5]!==d||t[6]!==n||t[7]!==c||t[8]!==u||t[9]!==r||t[10]!==s?(p=(0,Q.jsx)(d,{appConfig:n,mode:r,cells:c,layout:u,setLayout:s}),t[5]=d,t[6]=n,t[7]=c,t[8]=u,t[9]=r,t[10]=s,t[11]=p):p=t[11],p},pn=class e{hasStarted=!1;static get INSTANCE(){let t=`_marimo_private_RuntimeState`;return window[t]||(window[t]=new e(w)),window[t]}_sendComponentValues;uiElementRegistry;constructor(e){this.uiElementRegistry=e}get sendComponentValues(){if(!this._sendComponentValues)throw Error(`sendComponentValues is not set`);return this._sendComponentValues}start(e){if(this.hasStarted){E.warn(`RuntimeState already started`);return}this._sendComponentValues=e,document.addEventListener(dt.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){E.warn(`RuntimeState already stopped`);return}document.removeEventListener(dt.TYPE,this.handleReadyEvent),this.hasStarted=!1}handleReadyEvent=e=>{let t=e.detail.objectId;if(!this.uiElementRegistry.has(t))return;let n=this.uiElementRegistry.lookupValue(t);n!==void 0&&this.sendComponentValues({objectIds:[t],values:[n]}).catch(e=>{E.warn(e)})}},mn=`MARIMO_TRANSPORT_EXHAUSTED`,hn=class{inner;closeWrappers=new WeakMap;constructor(e){this.inner=new mt(e,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}get readyState(){return this.inner.readyState}reconnect(e,t){this.inner.reconnect(e,t)}close(){this.inner.close()}send(e){this.inner.send(e)}addEventListener(e,t){if(e===`close`){let e=t;if(this.closeWrappers.has(e))return;let n=t=>{this.inner.retryCount>=10?e(new CloseEvent(`close`,{code:t.code,reason:mn,wasClean:t.wasClean})):e(t)};this.closeWrappers.set(e,n),this.inner.addEventListener(`close`,n);return}this.inner.addEventListener(e,t)}removeEventListener(e,t){if(e===`close`){let e=t,n=this.closeWrappers.get(e);n&&(this.closeWrappers.delete(e),this.inner.removeEventListener(`close`,n));return}this.inner.removeEventListener(e,t)}},gn=1e4,_n=1e3,vn=1e4,yn=1.3,bn=1006,xn=class{subscriptions=new x;urlProvider;headersProvider;abortController=null;retryTimer=null;retryCount=0;userClosed=!1;state=WebSocket.CLOSED;constructor(e,t=()=>({})){this.urlProvider=e,this.headersProvider=t}get readyState(){return this.state}reconnect(e,t){this.userClosed=!1,this.retryCount=0,this.clearRetryTimer(),this.abortController?.abort(),this.connect()}close(){this.userClosed=!0,this.clearRetryTimer(),this.state=WebSocket.CLOSED,this.abortController?.abort(),this.abortController=null}send(e){E.warn(`SseTransport does not support send(); dropping message`)}addEventListener(e,t){this.subscriptions.addSubscription(e,t)}removeEventListener(e,t){this.subscriptions.removeSubscription(e,t)}connect(){this.state=WebSocket.CONNECTING,this.run()}async run(){let e=new AbortController;this.abortController=e;let t=setTimeout(()=>e.abort(),gn),n=null;try{let r=await fetch(this.urlProvider(),{headers:{...this.headersProvider(),Accept:`text/event-stream`},signal:e.signal});if(clearTimeout(t),!r.ok||r.body===null)throw Error(`Unexpected SSE response: ${r.status}`);this.state=WebSocket.OPEN,this.subscriptions.notify(`open`,new Event(`open`)),n=await this.readEvents(r.body)}catch(n){if(clearTimeout(t),this.isSuperseded(e))return;E.warn(`SSE connection failed`,n),this.subscriptions.notify(`error`,new Event(`error`))}if(this.isSuperseded(e))return;e.abort(),this.state=WebSocket.CLOSED,this.retryCount+=1;let r=this.retryCount>=10;this.subscriptions.notify(`close`,new CloseEvent(`close`,{code:n?.code??bn,reason:r?mn:n?.reason??``,wasClean:n!==null})),!(r||this.isSuperseded(e))&&this.scheduleRetry()}isSuperseded(e){return this.userClosed||this.abortController!==e}scheduleRetry(){this.clearRetryTimer(),this.state=WebSocket.CONNECTING;let e=Math.min(_n*yn**this.retryCount,vn);this.retryTimer=setTimeout(()=>{this.retryTimer=null,this.connect()},e)}clearRetryTimer(){this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null)}async readEvents(e){let t=e.getReader(),n=new TextDecoder,r=``,i=null,a=[],o=()=>{if(a.length===0)return i=null,null;let e=a.join(`
2
- `),t=i;return i=null,a=[],t===`close`?Sn(e):(this.retryCount=0,this.subscriptions.notify(`message`,new MessageEvent(`message`,{data:e})),null)};for(;;){let{done:e,value:s}=await t.read();if(e)return null;r+=n.decode(s,{stream:!0});let c=0,l=r.indexOf(`
3
- `,c);for(;l!==-1;){let e=r.slice(c,l);if(c=l+1,l=r.indexOf(`
4
- `,c),e.endsWith(`\r`)&&(e=e.slice(0,-1)),e===``){let e=o();if(e!==null)return e;continue}if(e.startsWith(`:`))continue;let t=e.indexOf(`:`),n=t===-1?e:e.slice(0,t),s=t===-1?``:e.slice(t+1);s.startsWith(` `)&&(s=s.slice(1)),n===`data`?a.push(s):n===`event`&&(i=s)}c>0&&(r=r.slice(c))}}};function Sn(e){try{let t=JSON.parse(e);return{code:typeof t.code==`number`?t.code:1e3,reason:typeof t.reason==`string`?t.reason:``}}catch{return E.warn(`Failed to parse SSE close event`,e),{code:1e3,reason:``}}}function Cn(e){return e.static?xe.empty():Ae()?S():e.transportType===`sse`?new xn(e.url,e.headers):new hn(e.url)}function wn(e){let{onOpen:t,onMessage:n,onClose:r,onError:i,waitToConnect:a}=e,[o]=(0,X.useState)(()=>{let a=Cn(e);return a.addEventListener(`open`,t),a.addEventListener(`close`,r),a.addEventListener(`error`,i),a.addEventListener(`message`,n),a});return(0,X.useEffect)(()=>(o.readyState===WebSocket.CLOSED&&a().then(()=>o.reconnect()).catch(e=>{E.error(`Healthy connection never made`,e),o.close()}),()=>{E.warn(`useConnectionTransport is unmounting. This likely means there is a bug.`),o.close(),o.removeEventListener(`open`,t),o.removeEventListener(`close`,r),o.removeEventListener(`error`,i),o.removeEventListener(`message`,n)}),[o]),o}function Tn(e){let{codes:t,names:n,configs:r,cell_ids:i,last_executed_code:a,last_execution_time:o}=e,s=a||{},c=o||{};return t.map((e,t)=>{let a=i[t],o=s[a];return _({id:a,code:e,edited:o?o!==e:!1,name:n[t],lastCodeRun:s[a]??null,lastExecutionTime:c[a]??null,config:r[t]})})}function En(e,t,n){let{layout:r}=e,i=Qe(r,t);return r&&r.type===i.selectedLayout&&n({layoutView:i.selectedLayout,data:i.layoutData[i.selectedLayout]}),i}function Dn(){let e=[],t=[];return w.entries.forEach((n,r)=>{e.push(r),t.push(n.value)}),{objectIds:e,values:t}}function On(e,t){let{existingCells:n,autoInstantiate:r,setCells:i,setLayoutData:a,setAppConfig:o,setCapabilities:s,setKernelState:c,onError:l}=t,{resumed:u,ui_values:d,app_config:f,capabilities:p,auto_instantiated:m}=e,h=n&&n.length>0,g=h&&!u?n:Tn(e);i(g,En(e,g,a));let ee=ge.safeParse(f);if(ee.success?o(ee.data):E.error(`Failed to parse app config`,ee.error),s(p),m)return;if(u){for(let[e,t]of Oe.entries(d||{})){let n=e;w.set(n,t)}return}let{objectIds:te,values:_}=Dn(),ne=h?Object.fromEntries(n.map(e=>[e.id,e.code])):void 0;Ke().sendInstantiate({objectIds:te,values:_,autoRun:r,codes:ne}).then(()=>{c({isInstantiated:!0,error:null})}).catch(e=>{c({isInstantiated:!1,error:e}),l(Error(`Failed to instantiate`,{cause:e}))})}function kn(e){let t=e.cell_id;w.removeElementsByCell(t),Xe.INSTANCE.removeForCellId(t)}function An(e,t){t(e),Xe.INSTANCE.track(e)}var jn={append:e=>{let t=new URL(window.location.href);t.searchParams.append(e.key,e.value),window.history.pushState({},``,`${t.pathname}${t.search}`)},set:e=>{let t=new URL(window.location.href);Array.isArray(e.value)?(t.searchParams.delete(e.key),e.value.forEach(n=>t.searchParams.append(e.key,n))):t.searchParams.set(e.key,e.value),window.history.pushState({},``,`${t.pathname}${t.search}`)},delete:e=>{let t=new URL(window.location.href);e.value==null?t.searchParams.delete(e.key):t.searchParams.delete(e.key,e.value),window.history.pushState({},``,`${t.pathname}${t.search}`)},clear:()=>{let e=new URL(window.location.href);e.search=``,window.history.pushState({},``,`${e.pathname}${e.search}`)}};function Mn(e){switch(e.reason){case mn:return{kind:`gave-up`,status:{state:k.CLOSED,code:A.KERNEL_DISCONNECTED,reason:`kernel not found`}};case`MARIMO_NO_FILE_KEY`:case`MARIMO_NO_SESSION_ID`:case`MARIMO_NO_SESSION`:case`MARIMO_SHUTDOWN`:return{kind:`terminal`,status:{state:k.CLOSED,code:A.KERNEL_DISCONNECTED,reason:`kernel not found`},closeTransport:!0};case`MARIMO_UNAUTHORIZED`:return{kind:`terminal`,status:{state:k.CLOSED,code:A.KERNEL_DISCONNECTED,reason:`not authorized`},closeTransport:!0};case`MARIMO_KIOSK_NOT_ALLOWED`:return{kind:`terminal`,status:{state:k.CLOSED,code:A.KERNEL_DISCONNECTED,reason:`kiosk mode is not available for this session`},closeTransport:!0};case`MARIMO_KERNEL_STARTUP_ERROR`:return{kind:`terminal`,status:{state:k.CLOSED,code:A.KERNEL_STARTUP_ERROR,reason:`Failed to start kernel sandbox`},closeTransport:!0};default:e.reason&&Ge(e.reason)}return{kind:`retry`,status:{state:k.CONNECTING}}}function Nn(){return Object.values(ue().cellData).filter(e=>e.id!==d)}function Pn(e){let n=(0,Z.c)(46),i=(0,X.useRef)(!0),{autoInstantiate:o,sessionId:c,setCells:d}=e,{showBoundary:f}=Be(),{handleCellMessage:_}=u(),v;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(v={skipMiddleware:!0},n[0]=v):v=n[0];let y=u(v),b;n[1]===y?b=n[2]:(b=e=>{oe(e.changes,y,zn)},n[1]=y,n[2]=b);let de=b,{addCellNotification:he}=ht(),ge=a(ze),x=a(Le),xe=_e(),{setVariables:S,setMetadata:C}=fe(),{addColumnPreview:Ce}=pe(),{addDatasets:T,filterDatasetsFromVariables:Te}=pe(),{addDataSourceConnection:De,filterDataSourcesFromVariables:Oe}=le(),{setLayoutData:D}=Ie(),[ke,O]=t(Fe),{addBanner:Me}=ye(),{addPackageAlert:j,addStartupLog:M}=un(),N=a(je),Re=a(p),P=Pe(),F=r(ve),I=a(pt),L=a(Ee),{setNamespaces:R,filterFromVariables:z}=g(),B;n[3]!==Me||n[4]!==he||n[5]!==Ce||n[6]!==De||n[7]!==T||n[8]!==j||n[9]!==M||n[10]!==o||n[11]!==Oe||n[12]!==Te||n[13]!==z||n[14]!==_||n[15]!==de||n[16]!==xe||n[17]!==I||n[18]!==Re||n[19]!==d||n[20]!==x||n[21]!==L||n[22]!==ge||n[23]!==N||n[24]!==D||n[25]!==C||n[26]!==R||n[27]!==S||n[28]!==f?(B=e=>{let t=re(e.data);switch(t.data.op){case`reload`:ct();return;case`kernel-ready`:{x(!!(t.data.resumed||t.data.auto_instantiated));let e=Nn();On(t.data,{autoInstantiate:o,setCells:d,setLayoutData:D,setAppConfig:xe,setCapabilities:Re,setKernelState:ge,onError:f,existingCells:e}),t.data.resumed||ee(),N(t.data.kiosk),se(null),me();return}case`completed-run`:x(!0);return;case`interrupted`:return;case`kernel-startup-error`:L(t.data.error);return;case`send-ui-element-message`:{let e=t.data.ui_element;if(e){let n=$e(t.data);w.broadcastMessage(e,t.data.message,n)}return}case`model-lifecycle`:be(we,t.data);return;case`remove-ui-elements`:kn(t.data);return;case`completion-result`:ne.resolve(t.data.completion_id,t.data);return;case`function-call-result`:Se.resolve(t.data.function_call_id,t.data);return;case`cell-op`:{An(t.data,_);let e=ue().cellData[t.data.cell_id];if(!e)return;he({cellNotification:t.data,code:e.code});return}case`variables`:{let e=t.data.variables.map(Rn);S(t.data.variables.map(Ln)),Te(e),Oe(e),z(e);return}case`variable-values`:C(t.data.variables.map(In));return;case`alert`:it({title:t.data.title,description:st({html:t.data.description}),variant:t.data.variant});return;case`banner`:Me(t.data);return;case`missing-package-alert`:j({...t.data,kind:`missing`});return;case`installing-package-alert`:j({...t.data,kind:`installing`});return;case`startup-logs`:M({content:t.data.content,status:t.data.status});return;case`query-params-append`:jn.append(t.data);return;case`query-params-set`:jn.set(t.data);return;case`query-params-delete`:jn.delete(t.data);return;case`query-params-clear`:jn.clear();return;case`datasets`:T(t.data);return;case`data-column-preview`:Ce(t.data);return;case`sql-table-preview`:te.resolve(t.data.request_id,t.data);return;case`sql-table-list-preview`:s.resolve(t.data.request_id,t.data);return;case`sql-schema-list-preview`:ae.resolve(t.data.request_id,t.data);return;case`validate-sql-result`:ce.resolve(t.data.request_id,t.data);return;case`data-source-discovery-result`:ie.resolve(t.data.request_id,t.data);return;case`secret-keys-result`:tt.resolve(t.data.request_id,t.data);return;case`cache-info`:I(t.data);return;case`cache-cleared`:return;case`data-source-connections`:De({connections:t.data.connections.map(Fn)});return;case`storage-namespaces`:R(t.data);return;case`storage-entries`:h.resolve(t.data.request_id,t.data);return;case`storage-download-ready`:m.resolve(t.data.request_id,t.data);return;case`reconnected`:return;case`focus-cell`:l(t.data.cell_id);return;case`active-line`:se(t.data.line==null?null:{cellId:t.data.cell_id,line:t.data.line});return;case`notebook-document-transaction`:de(t.data.transaction);return;case`consumer-capabilities`:N(!t.data.consumer_capabilities.edit);return;default:Ge(t.data)}},n[3]=Me,n[4]=he,n[5]=Ce,n[6]=De,n[7]=T,n[8]=j,n[9]=M,n[10]=o,n[11]=Oe,n[12]=Te,n[13]=z,n[14]=_,n[15]=de,n[16]=xe,n[17]=I,n[18]=Re,n[19]=d,n[20]=x,n[21]=L,n[22]=ge,n[23]=N,n[24]=D,n[25]=C,n[26]=R,n[27]=S,n[28]=f,n[29]=B):B=n[29];let Ve=B,He=(e,t)=>{i.current&&(i.current=!1,J.reconnect(e,t))},V=async()=>{if(J.readyState!==WebSocket.OPEN&&J.readyState!==WebSocket.CONNECTING){if(i.current=!0,O({state:k.CONNECTING}),!await P.reconcileFromHealth()){i.current=!1,O({state:k.CLOSED,code:A.KERNEL_DISCONNECTED,reason:`kernel not found`});return}J.reconnect()}},H;n[30]===Symbol.for(`react.memo_cache_sentinel`)?(H=Ne(),n[30]=H):H=n[30];let U;n[31]!==P||n[32]!==c||n[33]!==F?(U=()=>F===`sse`?P.getSseURL(c).toString():P.getWsURL(c).toString(),n[31]=P,n[32]=c,n[33]=F,n[34]=U):U=n[34];let W;n[35]===P?W=n[36]:(W=()=>P.headers(),n[35]=P,n[36]=W);let G;n[37]===O?G=n[38]:(G=async()=>{i.current=!0,O({state:k.OPEN})},n[37]=O,n[38]=G);let K;n[39]===P?K=n[40]:(K=async()=>{Ne()||Ae()||P.isSameOrigin||await P.waitForHealthy()},n[39]=P,n[40]=K);let q;n[41]===Ve?q=n[42]:(q=e=>{try{Ve(e)}catch(t){let n=t;E.error(`Failed to handle message`,e.data,n),it({title:`Failed to handle message`,description:lt(n),variant:`danger`})}},n[41]=Ve,n[42]=q);let J=wn({static:H,transportType:F,url:U,headers:W,onOpen:G,waitToConnect:K,onMessage:q,onClose:e=>{E.warn(`WebSocket closed`,e.code,e.reason);let t=Mn(e);if(O(t.status),t.kind===`terminal`&&t.closeTransport){J.close();return}t.kind===`retry`&&He(e.code,e.reason)},onError:e=>{E.warn(`WebSocket error`,e),O({state:k.CLOSED,code:A.KERNEL_DISCONNECTED,reason:`kernel not found`}),He()}}),Y;return n[43]!==ke||n[44]!==V?(Y={connection:ke,reconnect:V},n[43]=ke,n[44]=V,n[45]=Y):Y=n[45],Y}function Fn(e){return{...e,name:e.name}}function In(e){return{name:e.name,dataType:e.datatype,value:e.value}}function Ln(e){return{name:e.name,declaredBy:e.declared_by,usedBy:e.used_by}}function Rn(e){return e.name}function zn(){return ue().cellIds.inOrderIds}var Bn=e=>{let t=(0,Z.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{"data-testid":`chrome-wrapper`,className:`flex flex-col flex-1 overflow-hidden absolute inset-0 print:relative`,children:n}),t[0]=n,t[1]=r),r};export{on as a,ln as c,bt as d,_t as f,dn as i,rn as l,Pn as n,an as o,pn as r,un as s,Bn as t,St as u};
@@ -1 +0,0 @@
1
- import{nt as e,rt as t}from"./cells-Cp-G34Rz.js";import{t as n}from"./strings-CReV1AYG.js";function r(r){return r.mimetype.startsWith(`application/vnd.marimo`)||r.mimetype===`text/html`?t(n.asString(r.data)):e(n.asString(r.data))}export{r as t};
@@ -1 +0,0 @@
1
- import{bi as e,xi as t}from"./cells-Cp-G34Rz.js";var n=new t,r=new e;function i(e){let t=e.trim();return t?n.isSupported(t)?{code:n.transformIn(t).code,language:`markdown`}:r.isSupported(t)?{code:r.transformIn(t).code,language:`sql`}:{code:e,language:`python`}:{code:e,language:`python`}}export{i as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,u as i}from"./useEvent-xfs0Sn4r.js";import{t as a}from"./react-CBDbhulC.js";import{$i as o,$n as s,Aa as c,Ca as l,Cn as u,Co as d,D as f,Da as p,Ea as m,Ii as h,Kt as g,Li as _,Ln as v,M as y,Oa as b,P as x,Qn as S,Sa as C,Sn as w,Tr as T,Tt as E,Wn as D,Wt as O,Xi as k,Zn as A,_a as j,ai as M,ba as N,c as P,ea as F,fa as I,ga as L,i as R,ii as z,ja as B,ka as ee,kn as V,si as te,va as H,vn as U,wa as W,ya as ne,zi as re}from"./cells-Cp-G34Rz.js";import{t as ie}from"./compiler-runtime-CYIjoINj.js";import{c as ae}from"./utils-D5Ywm7-q.js";import{t as G}from"./ErrorBoundary-CDVGFYfr.js";import{t as oe}from"./cn-ldLVeaqm.js";import{t as se}from"./jsx-runtime-B74pBk57.js";import{r as K}from"./config-B-r81uZ6.js";import{_ as ce,at as q,f as J,g as le,h as ue,it as de,m as fe,nt as pe,ot as me,rt as he,tt as ge,v as _e}from"./JsonOutput-CzIGPEZQ.js";import{t as ve}from"./tooltip-BUtPzKB4.js";import{r as ye,t as be}from"./button-Dh8EwhsF.js";import{l as xe}from"./arrays-BqUx5USx.js";import{i as Se}from"./strings-CReV1AYG.js";import{r as Ce}from"./requests-C6_IaFh7.js";import{t as we}from"./createLucideIcon-B7HeEoG2.js";import{r as Te}from"./useNumberFormatter-DHJ9s6Vk.js";import{a as Ee,r as De}from"./tree-actions-CG5g7aUQ.js";import{a as Oe}from"./input-DEbY281O.js";import{n as ke,o as Ae}from"./column-preview-riSXbYe_.js";import{t as je}from"./workflow-SJ9KZapt.js";import{t as Me}from"./context-Do8M9TDF.js";import{n as Ne}from"./useAsyncData-Buhk-UgR.js";import{t as Pe}from"./copy-icon-z8fuTE3w.js";import{t as Fe}from"./cell-link-6burT2XF.js";import{a as Ie,i as Le,n as Re,o as ze,r as Be,t as Ve}from"./table-DmqOOjfe.js";import{n as He}from"./icons-CjLa9BiH.js";import{t as Ue}from"./useAddCell-DdB_uBif.js";import{t as We}from"./useDeepCompareMemoize-CLytDdMl.js";import{t as Ge}from"./empty-state-kWyb5dCS.js";import{n as Ke,t as qe}from"./common-CHR7w7aQ.js";import{a as Je,i as Ye,n as Xe,o as Ze,r as Qe,s as $e,t as et}from"./components-C7mWrmXr.js";import{r as tt}from"./panel-accordion-state-DjUTN7i5.js";var nt=we(`square-equal`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 10h10`,key:`1101jm`}],[`path`,{d:`M7 14h10`,key:`1mhdw3`}]]),Y=ie(),X=e(a(),1),Z=se(),rt=1;function it(e){return 1.75+e*rt}function at(e){return 3+e*rt}function ot(e){return 3.25+e*rt}var Q={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function $(e){return{paddingLeft:`${e}rem`}}var st=n(e=>{let t=e(H),n=e(te),r=e(R);return xe(t,e=>{if(!e.variable_name)return-1;let t=Object.values(n).find(t=>t.name===e.variable_name);if(!t)return 0;let i=r.inOrderIds.indexOf(t.declaredBy[0]);return i===-1?0:i})}),ct=d(`marimo:datasources:hideEmpty`,!1,z,{getOnInit:!0});function lt(e){let t=!1,n=[];for(let r of e){if(!W(r)||!C(r)){n.push(r);continue}let e=r.child_schemas??[],i=lt(e);if(r.tables.length===0&&i.length===0){t=!0;continue}if(i===e){n.push(r);continue}t=!0,n.push({...r,child_schemas:i})}return t?n:e}function ut(e){let t=!1,n=[];for(let r of e){if(l(r)&&r.schemas.length===0){t=!0;continue}if(r.schemas.length===0){n.push(r);continue}let e=lt(r.schemas);if(e.length===0){t=!0;continue}if(e===r.schemas){n.push(r);continue}t=!0,n.push({...r,schemas:e})}return t?n:e}var dt=()=>{let e=(0,Y.c)(42),[n,a]=X.useState(``),[o,s]=t(ct),c=i(j),l=r(st),u=r(I),d;bb0:{if(!o){d=u;break bb0}let t,n;e[0]===u?(t=e[1],n=e[2]):(t=!1,n=u.map(e=>{let n=ut(e.databases);return n===e.databases?e:(t=!0,{...e,databases:n})}),e[0]=u,e[1]=t,e[2]=n),d=t?n:u}let f=d;if(l.length===0&&f.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(Ge,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,Z.jsx)(Ze,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,Z.jsx)(F,{})}),e[3]=t):t=e[3],t}let p;e[4]===n?p=e[5]:(p=n.trim(),e[4]=n,e[5]=p);let m=!!p,h;e[6]===c?h=e[7]:(h=e=>{c(e.length>0),a(e)},e[6]=c,e[7]=h);let g;e[8]!==n||e[9]!==h?(g=(0,Z.jsx)(w,{placeholder:`Search tables...`,className:`h-6 m-1`,value:n,onValueChange:h,rootClassName:`flex-1 border-r border-b-0`}),e[8]=n,e[9]=h,e[10]=g):g=e[10];let _;e[11]===m?_=e[12]:(_=m&&(0,Z.jsx)(`button`,{type:`button`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,Z.jsx)(Te,{className:`h-4 w-4`})}),e[11]=m,e[12]=_);let v=!o,y;e[13]!==o||e[14]!==s?(y=()=>s(!o),e[13]=o,e[14]=s,e[15]=y):y=e[15];let b;e[16]!==v||e[17]!==y?(b=(0,Z.jsx)(Ee,{"data-testid":`datasources-hide-empty-button`,isVisible:v,onToggle:y,showTooltip:`Show empty schemas and databases`,hideTooltip:`Hide empty schemas and databases`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[16]=v,e[17]=y,e[18]=b):b=e[18];let x;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Z.jsx)(Ze,{group:`database`,label:`Add database or catalog`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[19]=x):x=e[19];let S;e[20]!==g||e[21]!==_||e[22]!==b?(S=(0,Z.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,_,b,x]}),e[20]=g,e[21]=_,e[22]=b,e[23]=S):S=e[23];let C;if(e[24]!==f||e[25]!==n){let t;e[27]===n?t=e[28]:(t=e=>(0,Z.jsx)(ft,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,Z.jsx)(gt,{connection:e,database:t,searchValue:n},t.name))},e.name),e[27]=n,e[28]=t),C=f.map(t),e[24]=f,e[25]=n,e[26]=C}else C=e[26];let T;e[29]!==f.length||e[30]!==l.length?(T=f.length>0&&l.length>0&&(0,Z.jsxs)(fe,{className:`pr-2`,style:$(Q.engine),children:[(0,Z.jsx)(He,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs`,children:`Python`})]}),e[29]=f.length,e[30]=l.length,e[31]=T):T=e[31];let E;e[32]!==n||e[33]!==l?(E=l.length>0&&(0,Z.jsx)(bt,{tables:l,searchValue:n}),e[32]=n,e[33]=l,e[34]=E):E=e[34];let D;e[35]!==C||e[36]!==T||e[37]!==E?(D=(0,Z.jsxs)(V,{className:`flex flex-col`,children:[C,T,E]}),e[35]=C,e[36]=T,e[37]=E,e[38]=D):D=e[38];let O;return e[39]!==D||e[40]!==S?(O=(0,Z.jsxs)(U,{className:`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden`,shouldFilter:!1,children:[S,D]}),e[39]=D,e[40]=S,e[41]=O):O=e[41],O},ft=e=>{let t=(0,Y.c)(26),{connection:n,children:r,hasChildren:i}=e,a=n.name===B,o=a?`In-Memory`:n.name,{previewDataSourceConnection:s}=Ce(),c;t[0]!==n.name||t[1]!==s?(c=async()=>{await s({engine:n.name})},t[0]=n.name,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=$(Q.engine),t[3]=u):u=t[3];let d;t[4]===n.dialect?d=t[5]:(d=(0,Z.jsx)(v,{className:`h-4 w-4 text-muted-foreground`,name:n.dialect}),t[4]=n.dialect,t[5]=d);let f;t[6]===n.dialect?f=t[7]:(f=h(n.dialect),t[6]=n.dialect,t[7]=f);let p;t[8]===f?p=t[9]:(p=(0,Z.jsx)(`span`,{className:`text-xs`,children:f}),t[8]=f,t[9]=p);let m=o,g;t[10]===m?g=t[11]:(g=(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(0,Z.jsx)($e,{variableName:m}),`)`]}),t[10]=m,t[11]=g);let _;t[12]!==l||t[13]!==a?(_=!a&&(0,Z.jsx)(De,{onClick:l,tooltip:`Refresh connection`,className:`ml-auto h-4 p-0`,iconClassName:`h-3.5 w-3.5`}),t[12]=l,t[13]=a,t[14]=_):_=t[14];let y;t[15]!==d||t[16]!==p||t[17]!==g||t[18]!==_?(y=(0,Z.jsxs)(fe,{className:`pr-2`,style:u,children:[d,p,g,_]}),t[15]=d,t[16]=p,t[17]=g,t[18]=_,t[19]=y):y=t[19];let b;t[20]!==r||t[21]!==i?(b=i?r:(0,Z.jsx)(ue,{content:`No databases available`,style:$(Q.engineEmpty)}),t[20]=r,t[21]=i,t[22]=b):b=t[22];let x;return t[23]!==b||t[24]!==y?(x=(0,Z.jsxs)(Z.Fragment,{children:[y,b]}),t[23]=b,t[24]=y,t[25]=x):x=t[25],x},pt=X.createContext(null);function mt(){let e=X.useContext(pt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function ht(e,{schema:t,schemaPath:n}){return{engine:e.engineName,database:e.databaseName,schema:t,schemaPath:n,defaultSchema:e.defaultSchema,defaultDatabase:e.defaultDatabase,dialect:e.dialect}}var gt=e=>{let t=(0,Y.c)(21),{connection:n,database:r,searchValue:i}=e,a;t[0]!==n.default_database||t[1]!==n.default_schema||t[2]!==n.dialect||t[3]!==n.name||t[4]!==r.name||t[5]!==i?(a={engineName:n.name,databaseName:r.name,dialect:n.dialect,defaultSchema:n.default_schema,defaultDatabase:n.default_database,searchValue:i},t[0]=n.default_database,t[1]=n.default_schema,t[2]=n.dialect,t[3]=n.name,t[4]=r.name,t[5]=i,t[6]=a):a=t[6];let o=a,s=n.name,c=r.schemas,u;t[7]===r?u=t[8]:(u=l(r),t[7]=r,t[8]=u);let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=[],t[9]=d):d=t[9];let f;t[10]!==r.schemas||t[11]!==u?(f=(0,Z.jsx)(vt,{schemas:c,schemasResolved:u,schemaPath:d,depth:0}),t[10]=r.schemas,t[11]=u,t[12]=f):f=t[12];let p;t[13]!==f||t[14]!==o?(p=(0,Z.jsx)(pt.Provider,{value:o,children:f}),t[13]=f,t[14]=o,t[15]=p):p=t[15];let m;return t[16]!==n.name||t[17]!==r||t[18]!==i||t[19]!==p?(m=(0,Z.jsx)(_t,{engineName:s,database:r,searchValue:i,children:p}),t[16]=n.name,t[17]=r,t[18]=i,t[19]=p,t[20]=m):m=t[20],m},_t=e=>{let t=(0,Y.c)(29),{searchValue:n,engineName:r,database:i,children:a}=e,o;t[0]!==i||t[1]!==n?(o=b(i,n),t[0]=i,t[1]=n,t[2]=o):o=t[2];let s=o,[c,l]=X.useState(s),[d,f]=X.useState(!1),[p,m]=X.useState(n),[h,g]=X.useState(s);(p!==n||h!==s)&&(m(n),g(s),l(s));let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=$(Q.database),t[3]=_):_=t[3];let v;t[4]!==c||t[5]!==d?(v=()=>{l(!c),f(!d)},t[4]=c,t[5]=d,t[6]=v):v=t[6];let y=`${r}:${i.name}`,x;t[7]===c?x=t[8]:(x=(0,Z.jsx)(_e,{isExpanded:c}),t[7]=c,t[8]=x);let S=d&&c?`text-foreground`:`text-muted-foreground`,C;t[9]===S?C=t[10]:(C=oe(`h-4 w-4`,S),t[9]=S,t[10]=C);let w;t[11]===C?w=t[12]:(w=(0,Z.jsx)(F,{className:C}),t[11]=C,t[12]=w);let T=d&&c&&`font-semibold`,E;t[13]===T?E=t[14]:(E=oe(T),t[13]=T,t[14]=E);let D;t[15]===i.name?D=t[16]:(D=i.name===``?(0,Z.jsx)(`i`,{children:`Not connected`}):i.name,t[15]=i.name,t[16]=D);let O;t[17]!==E||t[18]!==D?(O=(0,Z.jsx)(`span`,{className:E,children:D}),t[17]=E,t[18]=D,t[19]=O):O=t[19];let k;t[20]!==O||t[21]!==v||t[22]!==y||t[23]!==x||t[24]!==w?(k=(0,Z.jsxs)(u,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:_,onSelect:v,value:y,children:[x,w,O]}),t[20]=O,t[21]=v,t[22]=y,t[23]=x,t[24]=w,t[25]=k):k=t[25];let A=c&&a,j;return t[26]!==k||t[27]!==A?(j=(0,Z.jsxs)(Z.Fragment,{children:[k,A]}),t[26]=k,t[27]=A,t[28]=j):j=t[28],j},vt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=mt(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=L(),l=We(e.schemaPath),[u,d]=X.useState(!1),{isPending:f,error:p}=Ne(async()=>{if(!n&&a){d(!0);try{let e=await A.request({engine:a,database:o,schemaPath:l});c({schemas:e.schemas??[],sqlSchemaContext:{engine:a,database:o,schemaPath:l}})}finally{d(!1)}}},[n,a,o,l]),h=$(it(r));return f||u?(0,Z.jsx)(ce,{message:`Loading schemas...`,style:h}):p?(0,Z.jsx)(le,{error:p,style:h}):t.length===0?(0,Z.jsx)(ue,{content:`No schemas available`,style:h}):(0,Z.jsx)(Z.Fragment,{children:t.map(e=>m(e.name)?(0,Z.jsx)(bt,{tables:e.tables,tablesResolved:W(e),searchValue:s,sqlTableContext:ht(i,{schema:e.name,schemaPath:l})},e.name):(0,Z.jsx)(yt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},yt=e=>{let t=(0,Y.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=mt(),{databaseName:o,searchValue:s}=a,c;t[0]!==n||t[1]!==s?(c=p(n,s),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l=c,[d,f]=X.useState(l),[m,h]=X.useState(!1),[g,_]=X.useState(s),[v,y]=X.useState(l),b;t[3]===r?b=t[4]:(b=r.join(`.`),t[3]=r,t[4]=b);let x=`${o}:${b}`,S;t[5]===n.child_schemas?S=t[6]:(S=n.child_schemas??[],t[5]=n.child_schemas,t[6]=S);let w=S;(g!==s||v!==l)&&(_(s),y(l),f(l));let T;t[7]===i?T=t[8]:(T=$(it(i)),t[7]=i,t[8]=T);let E;t[9]!==d||t[10]!==m?(E=()=>{f(!d),h(!m)},t[9]=d,t[10]=m,t[11]=E):E=t[11];let D;t[12]===d?D=t[13]:(D=(0,Z.jsx)(_e,{isExpanded:d}),t[12]=d,t[13]=D);let O=m&&d&&`text-foreground`,A;t[14]===O?A=t[15]:(A=oe(`h-4 w-4 text-muted-foreground`,O),t[14]=O,t[15]=A);let j;t[16]===A?j=t[17]:(j=(0,Z.jsx)(k,{className:A}),t[16]=A,t[17]=j);let M=m&&d&&`font-semibold`,N;t[18]===M?N=t[19]:(N=oe(M),t[18]=M,t[19]=N);let P;t[20]!==n.name||t[21]!==N?(P=(0,Z.jsx)(`span`,{className:N,children:n.name}),t[20]=n.name,t[21]=N,t[22]=P):P=t[22];let F;t[23]!==P||t[24]!==T||t[25]!==E||t[26]!==D||t[27]!==j||t[28]!==x?(F=(0,Z.jsxs)(u,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:T,onSelect:E,value:x,children:[D,j,P]}),t[23]=P,t[24]=T,t[25]=E,t[26]=D,t[27]=j,t[28]=x,t[29]=F):F=t[29];let I;t[30]!==w||t[31]!==i||t[32]!==d||t[33]!==n||t[34]!==r||t[35]!==s||t[36]!==a?(I=d&&(0,Z.jsxs)(Z.Fragment,{children:[(w.length>0||!C(n))&&(0,Z.jsx)(vt,{schemas:w,schemasResolved:C(n),schemaPath:r,depth:i+1}),(0,Z.jsx)(bt,{tables:n.tables,tablesResolved:W(n),searchValue:s,tableIndentRem:at(i),columnIndentRem:ot(i),sqlTableContext:ht(a,{schema:n.name,schemaPath:r})})]}),t[30]=w,t[31]=i,t[32]=d,t[33]=n,t[34]=r,t[35]=s,t[36]=a,t[37]=I):I=t[37];let L;return t[38]!==F||t[39]!==I?(L=(0,Z.jsxs)(Z.Fragment,{children:[F,I]}),t[38]=F,t[39]=I,t[40]=L):L=t[40],L},bt=e=>{let t=(0,Y.c)(31),{tables:n,sqlTableContext:r,searchValue:i,tablesResolved:a,tableIndentRem:o,columnIndentRem:c}=e,l=a===void 0||a,{addTableList:u}=L(),[d,f]=X.useState(!1),p;t[0]!==u||t[1]!==r||t[2]!==l?(p=async()=>{if(!l&&r){f(!0);let{engine:e,database:t,schema:n,schemaPath:i}=r,a=await s.request({engine:e,database:t,schema:n,schemaPath:i??[]});if(!a?.tables)throw f(!1),Error(`No tables available`);u({tables:a.tables,sqlTableContext:r}),f(!1)}},t[0]=u,t[1]=r,t[2]=l,t[3]=p):p=t[3];let m;t[4]!==r||t[5]!==l?(m=[l,r],t[4]=r,t[5]=l,t[6]=m):m=t[6];let{isPending:h,error:g}=Ne(p,m),_=o??Q.tableLoading,v;t[7]===_?v=t[8]:(v=$(_),t[7]=_,t[8]=v);let y=v;if(h||d){let e;return t[9]===y?e=t[10]:(e=(0,Z.jsx)(ce,{message:`Loading tables...`,style:y}),t[9]=y,t[10]=e),e}if(g){let e;return t[11]!==g||t[12]!==y?(e=(0,Z.jsx)(le,{error:g,style:y}),t[11]=g,t[12]=y,t[13]=e):e=t[13],e}if(n.length===0){let e;return t[14]===y?e=t[15]:(e=(0,Z.jsx)(ue,{content:`No tables found`,style:y}),t[14]=y,t[15]=e),e}let b;if(t[16]!==c||t[17]!==i||t[18]!==r||t[19]!==o||t[20]!==n){let e;t[22]===i?e=t[23]:(e=e=>!i||e.name.toLowerCase().includes(i.toLowerCase()),t[22]=i,t[23]=e);let a=n.filter(e),s;t[24]!==c||t[25]!==i||t[26]!==r||t[27]!==o?(s=e=>(0,Z.jsx)(xt,{table:e,sqlTableContext:r,isSearching:!!i,tableIndentRem:o,columnIndentRem:c},e.name),t[24]=c,t[25]=i,t[26]=r,t[27]=o,t[28]=s):s=t[28],b=a.map(s),t[16]=c,t[17]=i,t[18]=r,t[19]=o,t[20]=n,t[21]=b}else b=t[21];let x;return t[29]===b?x=t[30]:(x=(0,Z.jsx)(Z.Fragment,{children:b}),t[29]=b,t[30]=x),x},xt=e=>{let t=(0,Y.c)(69),{table:n,sqlTableContext:i,isSearching:a,tableIndentRem:s,columnIndentRem:l}=e,{addTable:d}=L(),[p,m]=X.useState(!1),h=n.columns.length>0,_;t[0]!==d||t[1]!==p||t[2]!==i||t[3]!==n.name||t[4]!==h?(_=async()=>{if(p&&!h&&i){let{engine:e,database:t,schema:r,schemaPath:a}=i,o=await S.request({engine:e,database:t,schema:r,tableName:n.name,schemaPath:a??[]});if(!o?.table)throw Error(`No table details available`);d({table:o.table,sqlTableContext:i})}},t[0]=d,t[1]=p,t[2]=i,t[3]=n.name,t[4]=h,t[5]=_):_=t[5];let v;t[6]!==p||t[7]!==h?(v=[p,h],t[6]=p,t[7]=h,t[8]=v):v=t[8];let{isFetching:y,isPending:b,error:x}=Ne(_,v),C=r(ae),w=O(),{createNewCell:T}=f(),E=Ue(),D;t[9]!==E||t[10]!==C||t[11]!==T||t[12]!==w||t[13]!==i||t[14]!==n?(D=()=>{g({autoInstantiate:C,createNewCell:T,fromCellId:w}),E((()=>{if(n.source_type===`catalog`){let e=i?.database?[i.database,...i.schemaPath??[],n.name].join(`.`):n.name;return`${n.engine}.load_table("${e}")`}if(i)return ee({table:n,columnName:`*`,sqlTableContext:i});switch(n.source_type){case`local`:return`mo.ui.table(${n.name})`;case`duckdb`:case`connection`:return ee({table:n,columnName:`*`,sqlTableContext:i});default:return Se(n.source_type),``}})())},t[9]=E,t[10]=C,t[11]=T,t[12]=w,t[13]=i,t[14]=n,t[15]=D):D=t[15];let k=D,A;t[16]!==n.num_columns||t[17]!==n.num_rows?(A=()=>{let e=[];return n.num_rows!=null&&e.push(`${n.num_rows} rows`),n.num_columns!=null&&e.push(`${n.num_columns} columns`),e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-row gap-2 items-center pl-6 group-hover:hidden`,children:(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.join(`, `)})})},t[16]=n.num_columns,t[17]=n.num_rows,t[18]=A):A=t[18];let j=A,M;t[19]!==l||t[20]!==x||t[21]!==y||t[22]!==b||t[23]!==i||t[24]!==n?(M=()=>{let e=$(l??Q.tableLoading);if(b||y)return(0,Z.jsx)(ce,{message:`Loading columns...`,style:e});if(x)return(0,Z.jsx)(le,{error:x,style:e});let t=n.columns;return t.length===0?(0,Z.jsx)(ue,{content:`No columns found`,style:e}):t.map(e=>(0,Z.jsx)(St,{table:n,column:e,sqlTableContext:i,columnIndentRem:l},e.name))},t[19]=l,t[20]=x,t[21]=y,t[22]=b,t[23]=i,t[24]=n,t[25]=M):M=t[25];let N=M,P;t[26]!==p||t[27]!==a||t[28]!==n.source_type||t[29]!==n.type?(P=()=>{if(n.source_type===`local`)return;let e=n.type===`table`?re:o;return(0,Z.jsx)(e,{className:`h-3 w-3`,strokeWidth:p||a?2.5:void 0})},t[26]=p,t[27]=a,t[28]=n.source_type,t[29]=n.type,t[30]=P):P=t[30];let F=P,I;t[31]!==i||t[32]!==n.name?(I=c(i,n.name),t[31]=i,t[32]=n.name,t[33]=I):I=t[33];let R=I,z=s??(i?Q.tableSchemaless:0),B=(p||a)&&`font-semibold`,V;t[34]===B?V=t[35]:(V=oe(`rounded-none group h-8 cursor-pointer`,B),t[34]=B,t[35]=V);let te;t[36]===z?te=t[37]:(te=$(z),t[36]=z,t[37]=te);let H;t[38]===p?H=t[39]:(H=()=>m(!p),t[38]=p,t[39]=H);let U;t[40]===F?U=t[41]:(U=F(),t[40]=F,t[41]=U);let W;t[42]===n.name?W=t[43]:(W=(0,Z.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=W);let ne;t[44]!==U||t[45]!==W?(ne=(0,Z.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[U,W]}),t[44]=U,t[45]=W,t[46]=ne):ne=t[46];let ie;t[47]===j?ie=t[48]:(ie=j(),t[47]=j,t[48]=ie);let G;t[49]===k?G=t[50]:(G=ye.stopPropagation(()=>k()),t[49]=k,t[50]=G);let se;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,Z.jsx)(Ae,{className:`h-3 w-3`}),t[51]=se):se=t[51];let K;t[52]===G?K=t[53]:(K=(0,Z.jsx)(ve,{content:`Add table to notebook`,delayDuration:400,children:(0,Z.jsx)(be,{className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:G,children:se})}),t[52]=G,t[53]=K);let q;t[54]!==p||t[55]!==te||t[56]!==H||t[57]!==ne||t[58]!==ie||t[59]!==K||t[60]!==V||t[61]!==R?(q=(0,Z.jsxs)(u,{className:V,style:te,value:R,"aria-selected":p,forceMount:!0,onSelect:H,children:[ne,ie,K]}),t[54]=p,t[55]=te,t[56]=H,t[57]=ne,t[58]=ie,t[59]=K,t[60]=V,t[61]=R,t[62]=q):q=t[62];let J;t[63]!==p||t[64]!==N?(J=p&&N(),t[63]=p,t[64]=N,t[65]=J):J=t[65];let de;return t[66]!==q||t[67]!==J?(de=(0,Z.jsxs)(Z.Fragment,{children:[q,J]}),t[66]=q,t[67]=J,t[68]=de):de=t[68],de},St=e=>{let t=(0,Y.c)(51),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[c,l]=X.useState(!1),d=r(j),f=i(ne);d&&c&&l(!1),f(c?e=>new Set([...e,`${n.name}:${a.name}`]):e=>(e.delete(`${n.name}:${a.name}`),new Set(e)));let p=Ue(),{columnsPreviews:m}=N(),h;t[0]!==a.name||t[1]!==n.primary_keys?(h=n.primary_keys?.includes(a.name)||!1,t[0]=a.name,t[1]=n.primary_keys,t[2]=h):h=t[2];let g=h,_;t[3]!==a.name||t[4]!==n.indexes?(_=n.indexes?.includes(a.name)||!1,t[3]=a.name,t[4]=n.indexes,t[5]=_):_=t[5];let v=_,y;t[6]===p?y=t[7]:(y=e=>{p(e)},t[6]=p,t[7]=y);let b=y,x=Ct,S=c?`font-semibold`:``,C;t[8]!==a.name||t[9]!==S?(C=(0,Z.jsx)(`span`,{className:S,children:a.name}),t[8]=a.name,t[9]=S,t[10]=C):C=t[10];let w=C,T=`${n.name}.${a.name}`,E=`${n.name}.${a.name}`,D;t[11]===c?D=t[12]:(D=()=>l(!c),t[11]=c,t[12]=D);let O;t[13]!==s||t[14]!==o?(O=s??(o?ot(0):Q.columnLocal),t[13]=s,t[14]=o,t[15]=O):O=t[15];let k;t[16]===O?k=t[17]:(k=$(O),t[16]=O,t[17]=k);let A;t[18]!==a.type||t[19]!==w?(A=(0,Z.jsx)(J,{columnName:w,dataType:a.type}),t[18]=a.type,t[19]=w,t[20]=A):A=t[20];let M;t[21]===g?M=t[22]:(M=g&&x({tooltipContent:`Primary key`,content:`PK`}),t[21]=g,t[22]=M);let P;t[23]===v?P=t[24]:(P=v&&x({tooltipContent:`Indexed`,content:`IDX`}),t[23]=v,t[24]=P);let F;t[25]!==k||t[26]!==A||t[27]!==M||t[28]!==P?(F=(0,Z.jsxs)(`div`,{className:`flex flex-row gap-2 items-center flex-1`,style:k,children:[A,M,P]}),t[25]=k,t[26]=A,t[27]=M,t[28]=P,t[29]=F):F=t[29];let I;t[30]===a.name?I=t[31]:(I=(0,Z.jsx)(ve,{content:`Copy column name`,delayDuration:400,children:(0,Z.jsx)(be,{variant:`text`,size:`icon`,className:`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(Pe,{tooltip:!1,value:a.name,className:`h-3 w-3`})})}),t[30]=a.name,t[31]=I);let L;t[32]===a.external_type?L=t[33]:(L=(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[32]=a.external_type,t[33]=L);let R;t[34]!==F||t[35]!==I||t[36]!==L||t[37]!==T||t[38]!==E||t[39]!==D?(R=(0,Z.jsxs)(u,{className:`rounded-none py-1 group cursor-pointer`,value:E,onSelect:D,children:[F,I,L]},T),t[34]=F,t[35]=I,t[36]=L,t[37]=T,t[38]=E,t[39]=D,t[40]=R):R=t[40];let z;t[41]!==a||t[42]!==m||t[43]!==b||t[44]!==c||t[45]!==o||t[46]!==n?(z=c&&(0,Z.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:$(Q.columnPreview),children:(0,Z.jsx)(G,{children:(0,Z.jsx)(ke,{table:n,column:a,onAddColumnChart:b,preview:m.get(o?`${o.database}.${o.schema}.${n.name}:${a.name}`:`${n.name}:${a.name}`),sqlTableContext:o})})}),t[41]=a,t[42]=m,t[43]=b,t[44]=c,t[45]=o,t[46]=n,t[47]=z):z=t[47];let B;return t[48]!==R||t[49]!==z?(B=(0,Z.jsxs)(Z.Fragment,{children:[R,z]}),t[48]=R,t[49]=z,t[50]=B):B=t[50],B};function Ct(e){let{tooltipContent:t,content:n}=e;return(0,Z.jsx)(ve,{content:t,delayDuration:100,children:(0,Z.jsx)(`span`,{className:`text-xs text-black bg-gray-100 dark:invert rounded px-1`,children:n})})}function wt(e){return e}var Tt={name:`name`,type:`type-value`,defs:`defs-refs`},Et=[wt({id:Tt.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(ge,{header:`Name`,column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsx)(qe,{name:t,declaredBy:n})}}),wt({id:Tt.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(ge,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Type`}),(0,Z.jsx)(`span`,{children:`Value`})]}),column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsxs)(`div`,{className:`max-w-[150px]`,children:[(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs`,children:t}),(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap`,title:n??``,children:n})]})}}),wt({id:Tt.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:`basic`,header:({column:e})=>(0,Z.jsx)(ge,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Declared By`}),(0,Z.jsx)(`span`,{children:`Used By`})]}),column:e}),cell:({getValue:e})=>{let[t,n,r]=e(),i=e=>{let t=P(e);t&&T(t,r)};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 py-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-center`,children:[(0,Z.jsx)(`span`,{title:`Declared by`,children:(0,Z.jsx)(nt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,Z.jsx)(Fe,{variant:`focus`,cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,Z.jsx)(`div`,{className:`text-destructive flex flex-row gap-2`,children:t.slice(0,3).map((e,n)=>(0,Z.jsxs)(`span`,{className:`flex`,children:[(0,Z.jsx)(Fe,{variant:`focus`,cellId:e,skipScroll:!0,className:`whitespace-nowrap text-destructive`,onClick:()=>i(e)},e),n<t.length-1&&`, `]},e))})]}),(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-baseline`,children:[(0,Z.jsx)(`span`,{title:`Used by`,children:(0,Z.jsx)(je,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,Z.jsx)(Ke,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function Dt({variables:e,sort:t,cellIdToIndex:n}){t||={id:Tt.defs,desc:!1};let r=[];switch(t.id){case Tt.name:r=xe(e,e=>e.name);break;case Tt.type:r=xe(e,e=>e.dataType);break;case Tt.defs:r=xe(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var Ot=(0,X.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=X.useState([]),[a,o]=X.useState(``),s=x(),{locale:c}=Me(),l=(0,X.useMemo)(()=>{let e=e=>{let n=s[e];return D(n)?`cell-${t.indexOf(e)}`:n??`cell-${t.indexOf(e)}`};return Object.values(n).map(t=>({...t,declaredByNames:t.declaredBy.map(e),usedByNames:t.usedBy.map(e)}))},[n,s,t]),u=(0,X.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),Dt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=he({data:u,columns:Et,getCoreRowModel:de(),onGlobalFilterChange:o,getFilteredRowModel:q(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(e){return e.columnDef.enableGlobalFilter??!0},globalFilterFn:`auto`,manualSorting:!0,locale:c,onSortingChange:i,getSortedRowModel:me(),state:{sorting:r,globalFilter:a}});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Oe,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,Z.jsxs)(Ve,{className:oe(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,Z.jsx)(Ie,{children:(0,Z.jsx)(ze,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,Z.jsx)(Le,{className:`sticky top-0 bg-background border-b`,children:pe(e.column.columnDef.header,e.getContext())},e.id))})}),(0,Z.jsx)(Re,{children:d.getRowModel().rows.map(e=>(0,Z.jsx)(ze,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,Z.jsx)(Be,{className:`border-b`,children:pe(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});Ot.displayName=`VariableTable`;var kt=()=>{let e=(0,Y.c)(30),n=M(),i=y(),a=r(H),o=r(I),s=E(`database`),[c,l]=t(tt),u=a.length+o.length,d;e[0]!==u||e[1]!==c.hasUserInteracted||e[2]!==c.openSections?(d=!c.hasUserInteracted&&u>0?[...new Set([...c.openSections,`datasources`])]:c.openSections,e[0]=u,e[1]=c.hasUserInteracted,e[2]=c.openSections,e[3]=d):d=e[3];let f=d,p;e[4]===l?p=e[5]:(p=e=>{l({openSections:e,hasUserInteracted:!0})},e[4]=l,e[5]=p);let m=p,h;e[6]===f?h=e[7]:(h=f.includes(`datasources`),e[6]=f,e[7]=h);let g=!h&&u>0,v=s.length>0,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(F,{className:`w-4 h-4`}),e[8]=b):b=e[8];let x;e[9]!==u||e[10]!==g?(x=g&&(0,Z.jsx)(Je,{children:u}),e[9]=u,e[10]=g,e[11]=x):x=e[11];let S;e[12]!==s.length||e[13]!==v?(S=v&&(0,Z.jsx)(et,{count:s.length,type:`database`}),e[12]=s.length,e[13]=v,e[14]=S):S=e[14];let C;e[15]!==x||e[16]!==S?(C=(0,Z.jsxs)(Ye,{children:[b,`Data sources`,x,S]}),e[15]=x,e[16]=S,e[17]=C):C=e[17];let w;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(Xe,{children:(0,Z.jsx)(dt,{})}),e[18]=w):w=e[18];let T;e[19]===C?T=e[20]:(T=(0,Z.jsxs)(Qe,{value:`datasources`,children:[C,w]}),e[19]=C,e[20]=T);let D;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsxs)(Ye,{children:[(0,Z.jsx)(_,{className:`w-4 h-4`}),`Variables`]}),e[21]=D):D=e[21];let O;e[22]!==i||e[23]!==n?(O=(0,Z.jsxs)(Qe,{value:`variables`,lastItem:!0,children:[D,(0,Z.jsx)(Xe,{children:Object.keys(n).length===0?(0,Z.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground`,children:`No variables defined`}):(0,Z.jsx)(Ot,{cellIds:i.inOrderIds,variables:n})})]}),e[22]=i,e[23]=n,e[24]=O):O=e[24];let k;return e[25]!==m||e[26]!==f||e[27]!==O||e[28]!==T?(k=(0,Z.jsxs)(K,{type:`multiple`,value:f,onValueChange:m,className:`flex flex-col h-full overflow-auto`,children:[T,O]}),e[25]=m,e[26]=f,e[27]=O,e[28]=T,e[29]=k):k=e[29],k};export{kt as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-B0Z9INg1.js";import{g as t}from"./useEventListener-92uWqz-P.js";import{t as n}from"./use-toast-DpWHUGuF.js";function r(){try{window.location.reload()}catch(e){t.error(`Failed to reload page`,e),n({title:`Failed to reload page`,description:`Please refresh the page manually.`})}}var i=e(((e,t)=>{var n=(function(){var e=String.fromCharCode,t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$`,r={};function i(e,t){if(!r[e]){r[e]={};for(var n=0;n<e.length;n++)r[e][e.charAt(n)]=n}return r[e][t]}var a={compressToBase64:function(e){if(e==null)return``;var n=a._compress(e,6,function(e){return t.charAt(e)});switch(n.length%4){default:case 0:return n;case 1:return n+`===`;case 2:return n+`==`;case 3:return n+`=`}},decompressFromBase64:function(e){return e==null?``:e==``?null:a._decompress(e.length,32,function(n){return i(t,e.charAt(n))})},compressToUTF16:function(t){return t==null?``:a._compress(t,15,function(t){return e(t+32)})+` `},decompressFromUTF16:function(e){return e==null?``:e==``?null:a._decompress(e.length,16384,function(t){return e.charCodeAt(t)-32})},compressToUint8Array:function(e){for(var t=a.compress(e),n=new Uint8Array(t.length*2),r=0,i=t.length;r<i;r++){var o=t.charCodeAt(r);n[r*2]=o>>>8,n[r*2+1]=o%256}return n},decompressFromUint8Array:function(t){if(t==null)return a.decompress(t);for(var n=Array(t.length/2),r=0,i=n.length;r<i;r++)n[r]=t[r*2]*256+t[r*2+1];var o=[];return n.forEach(function(t){o.push(e(t))}),a.decompress(o.join(``))},compressToEncodedURIComponent:function(e){return e==null?``:a._compress(e,6,function(e){return n.charAt(e)})},decompressFromEncodedURIComponent:function(e){return e==null?``:e==``?null:(e=e.replace(/ /g,`+`),a._decompress(e.length,32,function(t){return i(n,e.charAt(t))}))},compress:function(t){return a._compress(t,16,function(t){return e(t)})},_compress:function(e,t,n){if(e==null)return``;var r,i,a={},o={},s=``,c=``,l=``,u=2,d=3,f=2,p=[],m=0,h=0,g;for(g=0;g<e.length;g+=1)if(s=e.charAt(g),Object.prototype.hasOwnProperty.call(a,s)||(a[s]=d++,o[s]=!0),c=l+s,Object.prototype.hasOwnProperty.call(a,c))l=c;else{if(Object.prototype.hasOwnProperty.call(o,l)){if(l.charCodeAt(0)<256){for(r=0;r<f;r++)m<<=1,h==t-1?(h=0,p.push(n(m)),m=0):h++;for(i=l.charCodeAt(0),r=0;r<8;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1}else{for(i=1,r=0;r<f;r++)m=m<<1|i,h==t-1?(h=0,p.push(n(m)),m=0):h++,i=0;for(i=l.charCodeAt(0),r=0;r<16;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1}u--,u==0&&(u=2**f,f++),delete o[l]}else for(i=a[l],r=0;r<f;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1;u--,u==0&&(u=2**f,f++),a[c]=d++,l=String(s)}if(l!==``){if(Object.prototype.hasOwnProperty.call(o,l)){if(l.charCodeAt(0)<256){for(r=0;r<f;r++)m<<=1,h==t-1?(h=0,p.push(n(m)),m=0):h++;for(i=l.charCodeAt(0),r=0;r<8;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1}else{for(i=1,r=0;r<f;r++)m=m<<1|i,h==t-1?(h=0,p.push(n(m)),m=0):h++,i=0;for(i=l.charCodeAt(0),r=0;r<16;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1}u--,u==0&&(u=2**f,f++),delete o[l]}else for(i=a[l],r=0;r<f;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1;u--,u==0&&(u=2**f,f++)}for(i=2,r=0;r<f;r++)m=m<<1|i&1,h==t-1?(h=0,p.push(n(m)),m=0):h++,i>>=1;for(;;){if(m<<=1,h==t-1){p.push(n(m));break}h++}return p.join(``)},decompress:function(e){return e==null?``:e==``?null:a._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(t,n,r){var i=[],a=4,o=4,s=3,c=``,l=[],u,d,f,p,m,h,g,_={val:r(0),position:n,index:1};for(u=0;u<3;u+=1)i[u]=u;for(f=0,m=4,h=1;h!=m;)p=_.val&_.position,_.position>>=1,_.position==0&&(_.position=n,_.val=r(_.index++)),f|=+(p>0)*h,h<<=1;switch(f){case 0:for(f=0,m=256,h=1;h!=m;)p=_.val&_.position,_.position>>=1,_.position==0&&(_.position=n,_.val=r(_.index++)),f|=+(p>0)*h,h<<=1;g=e(f);break;case 1:for(f=0,m=2**16,h=1;h!=m;)p=_.val&_.position,_.position>>=1,_.position==0&&(_.position=n,_.val=r(_.index++)),f|=+(p>0)*h,h<<=1;g=e(f);break;case 2:return``}for(i[3]=g,d=g,l.push(g);;){if(_.index>t)return``;for(f=0,m=2**s,h=1;h!=m;)p=_.val&_.position,_.position>>=1,_.position==0&&(_.position=n,_.val=r(_.index++)),f|=+(p>0)*h,h<<=1;switch(g=f){case 0:for(f=0,m=256,h=1;h!=m;)p=_.val&_.position,_.position>>=1,_.position==0&&(_.position=n,_.val=r(_.index++)),f|=+(p>0)*h,h<<=1;i[o++]=e(f),g=o-1,a--;break;case 1:for(f=0,m=2**16,h=1;h!=m;)p=_.val&_.position,_.position>>=1,_.position==0&&(_.position=n,_.val=r(_.index++)),f|=+(p>0)*h,h<<=1;i[o++]=e(f),g=o-1,a--;break;case 2:return l.join(``)}if(a==0&&(a=2**s,s++),i[g])c=i[g];else if(g===o)c=d+d.charAt(0);else return null;l.push(c),i[o++]=d+c.charAt(0),a--,d=c,a==0&&(a=2**s,s++)}}};return a})();typeof define==`function`&&define.amd?define(function(){return n}):t!==void 0&&t!=null?t.exports=n:typeof angular<`u`&&angular!=null&&angular.module(`LZString`,[]).factory(`LZString`,function(){return n})})),a=i();function o(e){let{code:t,baseUrl:n=`https://marimo.app`}=e,r=new URL(n);return t&&(r.hash=`#code/${(0,a.compressToEncodedURIComponent)(t)}`),r.href}export{i as n,r,o as t};
@@ -1 +0,0 @@
1
- import{f as e}from"./useEvent-xfs0Sn4r.js";import{Co as t,ii as n,ri as r}from"./cells-Cp-G34Rz.js";import{d as i}from"./arrays-BqUx5USx.js";var a=`marimo:ai:chatState:v5`,o=e(null),s=e(null),c=t(`marimo:ai:chatOptions`,{webSearch:!1},n),l=t(`marimo:ai:includeOtherCells`,!0,n);function u(e){let t=new Map;for(let[n,r]of e.entries()){if(r.messages.length===0)continue;let e=i(r.messages,e=>e.id);t.set(n,{...r,messages:e})}return t}var d=t(a,{chats:new Map,activeChatId:null},r({toSerializable:e=>({chats:[...u(e.chats).entries()],activeChatId:e.activeChatId}),fromSerializable:e=>({chats:new Map(e.chats),activeChatId:e.activeChatId})})),f=e(e=>{let t=e(d);return t.activeChatId?t.chats.get(t.activeChatId):null},(e,t,n)=>{t(d,e=>({...e,activeChatId:n}))});export{l as a,d as i,o as n,s as o,c as r,f as t};
@@ -1,3 +0,0 @@
1
- import{f as e,l as t,r as n}from"./useEvent-xfs0Sn4r.js";import{Ao as r,So as i,_o as a,ar as o,fi as s,ir as c,jo as l,mo as u,x as d,yo as f}from"./cells-Cp-G34Rz.js";import{t as p}from"./get-DjNf4SIX.js";import{t as m}from"./debounce-aFmHgJZY.js";import{D as h}from"./utils-D5Ywm7-q.js";import{t as g}from"./_baseSet-gX6o3Pih.js";import{g as _,v}from"./useEventListener-92uWqz-P.js";import{t as y}from"./invariant-Ci2dTZ72.js";import{E as b,M as ee,N as te,c as x,l as S,n as ne}from"./config-BlNM0caL.js";import{n as re}from"./switch-DjXr9Y9D.js";import{l as C,y as ie}from"./readonly-python-code-DpIyjHqY.js";import{t as ae}from"./createReducer-B_XmHROl.js";import{r as oe}from"./strings-CReV1AYG.js";import{t as w}from"./requests-C6_IaFh7.js";import{c as T,o as se}from"./markdown-renderer-BZKlbm2Q.js";import{N as ce}from"./write-secret-modal-D6zoZgLY.js";import{t as le}from"./preload-helper-HclGiUj8.js";import{t as E}from"./Deferred-CrTnjj37.js";import{t as D}from"./uuid-k9DpjH68.js";import{t as ue}from"./use-toast-DpWHUGuF.js";import{n as de}from"./RenderHTML-DwhMAd9l.js";import{t as fe}from"./useRunCells-CX7oW5zy.js";import{r as pe,t as me}from"./blob-B2d_dHwI.js";import{n as he,r as ge,t as _e}from"./share-CPtBiNgr.js";import{i as O,r as ve,t as ye}from"./events-CbeVJ6OD.js";function k(e,t,n){return e==null?e:g(e,t,n)}var be=e(null),{valueAtom:xe,useActions:Se}=ae(()=>({banners:[]}),{addBanner:(e,t)=>({...e,banners:[...e.banners,{...t,id:D()}]}),removeBanner:(e,t)=>({...e,banners:e.banners.filter(e=>e.id!==t)}),clearBanners:e=>({...e,banners:[]})}),Ce=()=>t(xe);function we(){return Se()}var A=class{subscriptions=new Map;addSubscription(e,t){this.subscriptions.has(e)||this.subscriptions.set(e,new Set),this.subscriptions.get(e)?.add(t)}removeSubscription(e,t){this.subscriptions.get(e)?.delete(t)}notify(e,t){for(let n of this.subscriptions.get(e)??[])n(t)}},j=class e{subscriptions=new A;producer;static withProducerCallback(t){return new e(t)}static empty(){return new e}constructor(e){this.producer=e}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify(`message`,e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify(`open`,new Event(`open`))})}get readyState(){return WebSocket.OPEN}reconnect(e,t){this.close(),this.connect()}close(){this.subscriptions.notify(`close`,new Event(`close`))}send(e){return this.subscriptions.notify(`message`,new MessageEvent(`message`,{data:e})),Promise.resolve()}addEventListener(e,t){this.subscriptions.addSubscription(e,t),e===`open`&&t(new Event(`open`)),e===`message`&&this.startProducer()}removeEventListener(e,t){this.subscriptions.removeSubscription(e,t)}},Te=1e10,Ee=1e3;function M(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function De(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(te)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=Ee}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=Te?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw M([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw M([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function b(e,t){if(!r.registerHandler)throw M([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function ee(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function te(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw M([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:b,removeMessageListener:ee,proxy:{send:_,request:m},_setDebugHooks:n}}function Oe(e){return De(e)}var ke=`[transport-id]`;function Ae(e,t){let{transportId:n}=t;return n==null?e:{[ke]:n,data:e}}function je(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[ke]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function Me(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(Ae(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=je(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function Ne(e,t){return Me(e,t)}var Pe=`marimo-transport`;function Fe(e){return Oe({transport:Ne(e,{transportId:Pe}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{_.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{_.debug(`[rpc] Worker -> Parent`,e)}}})}var N=he(),P=`marimo:file`,F=new u(null),Ie={saveFile(e){F.set(P,e)},readFile(){return F.get(P)}},Le={saveFile(e){l.setCodeForHash((0,N.compressToEncodedURIComponent)(e))},readFile(){let e=l.getCodeFromHash()||l.getCodeFromSearchParam();return e?(0,N.decompressFromEncodedURIComponent)(e):null}},Re={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},ze={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Be={saveFile(e){},readFile(){return n.get(a)??null}},Ve={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
2
- `)}},I=class{stores;constructor(e){this.stores=e}insert(e,t){this.stores.splice(e,0,t)}saveFile(e){this.stores.forEach(t=>t.saveFile(e))}readFile(){for(let e of this.stores){let t=e.readFile();if(t)return t}return null}},L=new I([Be,Re,Le]),R=new I([Ie,ze,Ve]),z=class e{static get INSTANCE(){let t=`_marimo_private_PyodideBridge`;return window[t]||(window[t]=new e),window[t]}rpc;saveRpc;pendingSessionSave=Promise.resolve();interruptBuffer;messageConsumer;initialized=new E;getSaveWorker(){return b()===`read`?(_.debug(`Using partially disabled SaveWorker in read-mode`),{readFile:v,readNotebook:async()=>await L.readFile()??``,saveNotebook:v}):Fe(new Worker(new URL(``+new URL(`save-worker-DfWXpMak.js`,import.meta.url).href,``+import.meta.url),{type:`module`,name:B()})).proxy.request}constructor(){if(!te())return;let e=new Worker(new URL(``+new URL(`worker-Dog-z1OZ.js`,import.meta.url).href,``+import.meta.url),{type:`module`,name:B()});this.rpc=Fe(e),this.rpc.addMessageListener(`ready`,()=>{this.startSession()}),this.rpc.addMessageListener(`initialized`,()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),n.set(C,{kind:`ready`}),this.initialized.resolve()}),this.rpc.addMessageListener(`initializingMessage`,({message:e})=>{n.get(C).kind===`loading`&&n.set(C,{kind:`loading`,message:e})}),this.rpc.addMessageListener(`initializedError`,({error:e})=>{if(this.initialized.status===`resolved`){_.error(e),ue({title:`Error initializing`,description:e,variant:`danger`});return}n.set(C,{kind:`error`,message:e}),this.initialized.reject(Error(e))}),this.rpc.addMessageListener(`kernelMessage`,({message:e})=>{this.messageConsumer?.(new MessageEvent(`message`,{data:e}))})}async startSession(){let e=await L.readFile(),t=await R.readFile(),r=n.get(f)??l.getFilename(),i=n.get(h),a={},o=new URLSearchParams(window.location.search);for(let e of o.keys()){let t=o.getAll(e);a[e]=t.length===1?t[0]:t}await this.rpc.proxy.request.startSession({queryParameters:a,code:e||t||``,filename:r,userConfig:{...i,runtime:{...i.runtime,auto_instantiate:b()===`read`||i.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):_.warn(`Not running in a secure context; interrupts are not available.`)}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}sendRename=async({filename:e})=>e===null?null:(l.setFilename(e),await this.rpc.proxy.request.bridge({functionName:`rename_file`,payload:e}),null);sendSave=async e=>{if(!this.saveRpc)return _.warn(`Save RPC not initialized`),null;let t=this.saveRpc.saveNotebook(e);this.pendingSessionSave=this.pendingSessionSave.catch(()=>void 0).then(async()=>{await t,await this.rpc.proxy.request.saveNotebook(e)}),this.pendingSessionSave.catch(e=>{_.error(e)}),await t;let n=await this.readCode();return n.contents&&(L.saveFile(n.contents),R.saveFile(n.contents)),null};sendCopy=async()=>{v()};sendStdin=async e=>(await this.rpc.proxy.request.bridge({functionName:`put_input`,payload:e.text}),null);sendPdb=async()=>{v()};sendSetBreakpoints=async()=>{v()};sendRun=async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
- `)),await this.putControlRequest({type:`execute-cells`,...e}),null);sendRunScratchpad=async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:`execute-scratchpad`,...e}),null);sendInterrupt=async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null);sendShutdown=async()=>(window.close(),null);sendFormat=async e=>await this.rpc.proxy.request.bridge({functionName:`format`,payload:e});sendDeleteCell=async e=>(await this.putControlRequest({type:`delete-cell`,...e}),null);sendInstallMissingPackages=async e=>(this.putControlRequest({type:`install-packages`,...e}),null);sendCodeCompletionRequest=async e=>(n.get(d)||await this.rpc.proxy.request.bridge({functionName:`code_complete`,payload:e}),null);saveUserConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_user_config`,payload:e}),re.post(`/kernel/save_user_config`,e,{baseUrl:`/`}).catch(e=>(_.error(e),null)));saveAppConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_app_config`,payload:e}),null);saveCellConfig=async e=>(await this.putControlRequest({type:`update-cell-config`,...e}),null);sendRestart=async()=>{let e=await this.readCode();return e.contents&&(L.saveFile(e.contents),R.saveFile(e.contents)),ge(),null};readCode=async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(_.warn(`Save RPC not initialized`),{contents:``});readSnippets=async()=>await this.rpc.proxy.request.bridge({functionName:`read_snippets`,payload:void 0});openFile=async({path:e})=>{let t=_e({code:null,baseUrl:window.location.origin});return window.open(t,`_blank`),null};sendListFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`list_files`,payload:e});getFileRoots=async()=>await this.rpc.proxy.request.bridge({functionName:`file_roots`,payload:void 0});sendSearchFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`search_files`,payload:e});sendComponentValues=async e=>(await this.putControlRequest({type:`update-ui-element`,...e,token:D()}),null);sendInstantiate=async e=>null;sendFunctionRequest=async e=>(await this.putControlRequest({type:`invoke-function`,...e}),null);sendCreateFileOrFolder=async e=>{let t=null;return e.file&&(t=(await pe(e.file)).split(`,`)[1]??``),await this.rpc.proxy.request.bridge({functionName:`create_file_or_directory`,payload:{path:e.path,type:e.type,name:e.name,contents:t}})};sendDeleteFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`delete_file_or_directory`,payload:e});sendCopyFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`copy_file_or_directory`,payload:e});sendRenameFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`move_file_or_directory`,payload:e});sendUpdateFile=async e=>await this.rpc.proxy.request.bridge({functionName:`update_file`,payload:e});sendFileDetails=async e=>await this.rpc.proxy.request.bridge({functionName:`file_details`,payload:e});exportAsHTML=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_html`,payload:e}));exportAsMarkdown=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_markdown`,payload:e}));exportAsScript=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_script`,payload:e}));previewDatasetColumn=async e=>(await this.putControlRequest({type:`preview-dataset-column`,...e}),null);previewSQLTable=async e=>(await this.putControlRequest({type:`preview-sql-table`,...e}),null);previewSQLTableList=async e=>(await this.putControlRequest({type:`list-sql-tables`,...e}),null);previewSQLSchemaList=async e=>(await this.putControlRequest({type:`list-sql-schemas`,...e}),null);previewDataSourceConnection=async e=>(await this.putControlRequest({type:`list-data-source-connection`,...e}),null);validateSQL=async e=>(await this.putControlRequest({type:`validate-sql`,...e}),null);sendModelValue=async e=>(await this.putControlRequest({type:`model`,...e}),null);sendDocumentTransaction=()=>Promise.resolve(null);addPackage=async e=>this.rpc.proxy.request.addPackage(e);removePackage=async e=>this.rpc.proxy.request.removePackage(e);getPackageList=async()=>await this.rpc.proxy.request.listPackages();getDependencyTree=async()=>({tree:{dependencies:[],name:``,tags:[],version:null}});listSecretKeys=async e=>(await this.putControlRequest({type:`list-secret-keys`,...e}),null);discoverDataSources=async e=>(await this.putControlRequest({type:`discover-data-sources`,...e}),null);getUsageStats=v;getEnvironmentInfo=async()=>await this.rpc.proxy.request.bridge({functionName:`get_environment_info`,payload:void 0});openTutorial=v;getRecentFiles=v;getWorkspaceFiles=v;getRunningNotebooks=v;shutdownSession=v;getExportAvailability=v;installExportRequirements=v;exportAsIPYNB=v;exportAsPDF=v;autoExportAsHTML=v;autoExportAsMarkdown=v;autoExportAsIPYNB=v;updateCellOutputs=v;writeSecret=v;invokeAiTool=v;clearCache=v;getCacheInfo=v;listStorageEntries=v;downloadStorage=v;async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:`put_control_request`,payload:e})}};function He(){return j.withProducerCallback(e=>{z.INSTANCE.attachMessageConsumer(e)})}function B(){let e=typeof window<`u`&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0;return ie()+(e?`::controller`:``)}function Ue(e=x()){let t=window.fetch;return window.fetch=async(n,r)=>{let i=n instanceof Request?n.url:n.toString();if(i.startsWith(`data:`))return t(n,r);try{let a=H(i,e);if(a){let e=await(await t(a)).arrayBuffer();return new Response(e,{headers:{"Content-Type":We(i)}})}return t(n,r)}catch(e){return _.error(`Error parsing URL`,e),t(n,r)}},()=>{window.fetch=t}}function We(e){return e.endsWith(`.csv`)?`text/csv`:e.endsWith(`.json`)?`application/json`:e.endsWith(`.txt`)?`text/plain`:`application/octet-stream`}function Ge(e,t=x()){let n=e.http.bind(e),r=e.load.bind(e);return e.http=async e=>{let r=H(e,t);if(r)return await window.fetch(r).then(e=>e.text());try{return await n(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},e.load=async e=>{let n=H(e,t);if(n)return await window.fetch(n).then(e=>e.text());try{return await r(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},()=>{e.http=n,e.load=r}}function V(e){return e.startsWith(`.`)?e.slice(1):e}function Ke(e,t=x()){let n=H(e,t);if(!n)return e;let r=me(n);return URL.createObjectURL(r)}function H(e,t){let n=document.baseURI;n.startsWith(`blob:`)&&(n=n.replace(`blob:`,``));let r=new URL(e,n).pathname,i=U(e),a=U(r);return t[e]||t[V(e)]||t[r]||t[V(r)]||i&&t[i]||a&&t[a]}function U(e){let t=e.indexOf(`/@file/`);return t===-1?null:e.slice(t)}function W(e,t){return{get(t){return e.get(t)},set(t,n){e.set(t,n)},save_changes(){e.save_changes()},send:e.send.bind(e),on(n,r){t.aborted||(e.on(n,r),t.addEventListener(`abort`,()=>e.off(n,r),{once:!0}))},off(t,n){e.off(t??null,n??null)},widget_manager:{async get_model(n){return W(await e.widget_manager.get_model(n),t)}}}}function G(e){return typeof e==`string`&&e.length>0}function K(e){if(typeof e==`string`&&e.startsWith(`anywidget:`)){let t=e.slice(10);if(G(t))return t}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(e)}`)}function qe(e,t){return{async getModel(n){let r=K(n);return W(await e.getModel(r),t)},async getWidget(n){let r=K(n),i=await e.getWidget(r);return{exports:i.exports,async render({el:e,signal:n}){await i.render({el:e,signal:n??t})}}}}}var q=Symbol(`marimo`);function J(e){return e[q]}var Y=class e{#e=`change`;#t;#n;#r;#i={};static _modelManager;constructor(e,t,n){this.#n=e,this.#r=t,this.#t=new Set,n&&n.addEventListener(`abort`,()=>{_.debug(`[Model] Signal aborted, clearing all listeners`),this.#i={}})}[q]={updateAndEmitDiffs:e=>this.#o(e),emitCustomMessage:(e,t)=>this.#s(e,t)};off(e,t){if(!e){this.#i={};return}if(!t){this.#i[e]=new Set;return}this.#i[e]?.delete(t)}send(e,t,n){let r=(n??[]).map(e=>e instanceof ArrayBuffer?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength));return this.#r.sendCustomMessage(e,r).then(()=>t?.())}widget_manager={async get_model(t){let n=await e._modelManager.getModel(t);if(!n)throw Error(`Model not found with id: ${t}. This is likely because the model was not registered.`);return n}};get(e){return this.#n[e]}set(e,t){this.#n={...this.#n,[e]:t},this.#t.add(e),this.#a(`change:${e}`,t),this.#c()}save_changes(){if(this.#t.size===0)return;let e=Object.fromEntries([...this.#t].map(e=>[e,this.#n[e]]));this.#t.clear(),this.#r.sendUpdate(e)}on(e,t,n){let r=n?.signal;r?.aborted||(this.#i[e]||(this.#i[e]=new Set),this.#i[e].add(t),r?.addEventListener(`abort`,()=>this.off(e,t),{once:!0}))}#a(e,t){let n=this.#i[e];if(n)for(let e of[...n])try{e(t)}catch(e){_.error(`Error emitting event`,e)}}#o(e){e!=null&&Object.keys(e).forEach(t=>{let n=t;this.#t.delete(n),this.#n[n]!==e[n]&&(this.#n={...this.#n,[n]:e[n]},this.#a(`change:${n}`,e[n]),this.#c())})}#s(e,t=[]){let n=this.#i[`msg:custom`];if(n)for(let r of[...n])try{r(e.content,t)}catch(e){_.error(`Error emitting event`,e)}}#c=m(()=>{let e=this.#i[this.#e];if(e)for(let t of[...e])try{t()}catch(e){_.error(`Error emitting event`,e)}},0)};function Je(e){return typeof e==`function`}function Ye(e){return typeof e==`function`}function Xe(e){return o(e)&&(Je(e.render)||Ye(e.initialize))}function Ze(e){return typeof e==`function`||Xe(e)}function Qe(e){return o(e)&&Ze(e.default)}var $e=new Set,et=new WeakMap;function tt(e,t){if(Qe(e))return e.default;if(!o(e)||e.default!==void 0)return null;let n=Je(e.render)?e.render:void 0,r=Ye(e.initialize)?e.initialize:void 0;if(n===void 0&&r===void 0)return null;let i=et.get(e);if(i)return i;$e.has(t)||($e.add(t),_.warn(`Anywidget module at ${t} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let a={render:n,initialize:r};return et.set(e,a),a}function nt(e,t){let n=`https://anywidget.dev/en/afm/`,r=o(e)&&c(e,`render`),i=o(e)&&c(e,`initialize`);if(o(e)&&e.default!==void 0)return Error(`Anywidget module at ${t} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${n}`);if(r||i){let e=[r?"`render`":null,i?"`initialize`":null].filter(Boolean).join(` and `),a=[r?`render`:null,i?`initialize`:null].filter(e=>e!==null),o=`export default { ${a.join(`, `)} }`,s=a.length===1?`export function ${a[0]}`:`named export function ...`;return Error(`Anywidget module at ${t} uses named exports (${e}). Per the AFM spec, use a default export instead: \`${o}\` (not \`${s}\`). See ${n}`)}return Error(`Anywidget module at ${t} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${n}`)}function rt(e){return typeof e!=`string`||e.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(e)||at(e))}function it(){return n.get(fe)||de()}function at(e){return e.startsWith(`data:text/javascript;base64,`)||e.startsWith(`data:application/javascript;base64,`)||e.startsWith(`data:text/css;base64,`)?it():!1}var ot={invoke:async()=>{let e=`anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues`;throw _.warn(e),Error(e)}};function st(e){if(typeof AbortSignal.any==`function`)return AbortSignal.any(e);let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(n.reason),t.signal;n.addEventListener(`abort`,()=>t.abort(n.reason),{once:!0})}return t.signal}var ct=class{#e=new Map;getModule(e){let{jsUrl:t,jsHash:n,kernelAuthored:r=!1}=e,i=this.#e.get(n);if(i)return i;let a=this.#t(t,{kernelAuthored:r}).catch(e=>{throw this.#e.delete(n),e});return this.#e.set(n,a),a}invalidate(e){this.#e.delete(e)}async#t(e,t={}){if(!(rt(e)||t.kernelAuthored===!0&&/^(https?:|data:)/.test(e)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(e)}`);let n=ne(e).toString();return S()&&(n=Ke(n)),le(()=>import(n),[],import.meta.url)}};function X(e){return typeof e==`function`}async function lt(e,t){try{await e()}catch(e){_.warn(`[WidgetBinding] ${t} cleanup failed`,e)}}var ut=class e{#e;#t;#n;#r;#i;#a=new Set;#o=new Set;constructor(e){this.#t=e.widget,this.#n=e.model,this.#r=e.exports,this.#e=e.controller,this.#i=e.createHost}static async create({widgetDef:t,model:n,createHost:r,controller:i=new AbortController}){let a=i.signal,o=typeof t==`function`?await t():t,s=Promise.resolve(o.initialize?.({model:W(n,a),experimental:ot,signal:a}));s.then(async e=>{a.aborted&&X(e)&&await lt(e,`late initialize`)}).catch(()=>void 0);let c=await Promise.race([s,new Promise((e,t)=>{let n=()=>t(Error(`[anywidget] binding destroyed`));if(a.aborted){n();return}a.addEventListener(`abort`,n,{once:!0})})]);if(a.aborted)throw Error(`[anywidget] binding destroyed`);let l,u;X(c)?(u=c,l=void 0):l=typeof c==`object`&&c?c:void 0;let d=new e({widget:o,model:n,exports:l,controller:i,createHost:r});return u&&a.addEventListener(`abort`,()=>void d.#c(u,`initialize`),{once:!0}),d}get exports(){return this.#r}async createView(e,t){let n=this.#s(e,t);this.#o.add(n);try{await n}finally{this.#o.delete(n)}}async#s(e,t){let n=this.#t;if(!n.render)return;let r=st([t.signal,this.#e.signal]);if(r.aborted)return;e.el.innerHTML=``;let i=this.#i(r),a=await n.render({model:W(this.#n,r),el:e.el,experimental:ot,signal:r,host:i});if(X(a)){let e=()=>{let e=t.signal.aborted?`view unmount`:`binding destroyed`;return _.debug(`[WidgetBinding] Render cleanup triggered (reason: ${e})`),this.#c(a,`render`)};if(r.aborted){await e();return}r.addEventListener(`abort`,()=>void e(),{once:!0})}}#c(e,t){let n=lt(e,t);return this.#a.add(n),n.finally(()=>this.#a.delete(n)),n}async destroy(){for(_.debug(`[WidgetBinding] Destroying binding generation`),this.#e.abort(),await Promise.allSettled(this.#o);this.#a.size>0;)await Promise.all(this.#a)}},dt=new ct,ft=class{#e;#t;#n;#r;#i;#a=new AbortController;#o=new E;#s=new Set;#c=new Map;#l;#u;#d;#f=Promise.resolve();#p=``;constructor(e,t){this.#e=e,this.#t=t.timeout,this.#n=t.isEditMode,this.#r=t.createHost,this.#i=t.onModelTimeout}getModel(){return this.#o.status===`pending`&&!this.#l&&(this.#l=setTimeout(()=>{this.#o.status===`pending`&&(this.#l=void 0,this.#o.reject(Error(`Model not found for key: ${this.#e}`)),this.#i())},this.#t)),this.#o.promise}getModelSync(){return this.#o.status===`resolved`?this.#o.value:void 0}createModel(e){this.#o.status===`pending`&&this.#m(e(this.#a.signal))}setModel(e){this.#o.status===`pending`&&this.#m(e)}#m(e){this.#l&&=(clearTimeout(this.#l),void 0),this.#o.resolve(e);let t=e.get(`_css`);this.#p=typeof t==`string`?t:``,e.on(`change:_css`,e=>{this.#p=typeof e==`string`?e:``;for(let e of this.#c.values())e.update(this.#p)},{signal:this.#a.signal})}setSpec(e){if(!this.#u){this.#u=e;return}this.#n()&&(this.#u=e,this.#d&&this.#d.hash!==e.hash&&this.#v(e))}async getWidget(){return{exports:(await this.#h()).exports,render:async({el:e,signal:t})=>{await this.createView({el:e,signal:t??this.#a.signal})}}}async createView(e){if(e.signal.aborted||this.#a.signal.aborted)return;let t={el:e.el,signal:e.signal};this.#s.add(t),this.#x(t),e.signal.addEventListener(`abort`,()=>this.#s.delete(t),{once:!0}),await this.#b(t)}async#h(){for(;!this.#a.signal.aborted;){let e=await this.getModel(),t=this.#d;if(!t){let n=this.#u;if(!n)throw Error(`[anywidget] No ESM spec for model ${this.#e}: nothing ever provided this widget's code`);t=this.#_(n,e)}try{let e=await t.promise;if(t===this.#d)return e}catch(e){if(!this.#d||t===this.#d)throw e}}throw Error(`[anywidget] widget runtime destroyed`)}async#g(e){let{spec:t,model:n,controller:r}=e,i=await dt.getModule({jsUrl:t.url,jsHash:t.hash,kernelAuthored:!0}),a=tt(i,t.url);if(!a)throw dt.invalidate(t.hash),nt(i,t.url);return ut.create({widgetDef:a,model:n,createHost:this.#r,controller:r})}#_(e,t){let n=new AbortController,r={hash:e.hash,controller:n,promise:this.#g({spec:e,model:t,controller:n})};return r.promise.catch(()=>{this.#d===r&&(this.#d=void 0)}),this.#d=r,r}#v(e){let t=this.#d;if(!t)return;_.debug(`[WidgetRuntime] Hot-swapping generation for model=${this.#e}`);let n=this.#y(t),r=this.getModelSync();if(!r)return;let i=this.#_(e,r);for(let e of this.#s)e.generation=void 0,n.then(()=>this.#b(e,i)).catch(e=>{_.error(`[WidgetRuntime] Error replacing widget view`,e)})}#y(e){e.controller.abort();let t=this.#f.then(async()=>{try{await(await e.promise).destroy()}catch{}});return this.#f=t,t}async#b(e,t){if(e.signal.aborted||this.#a.signal.aborted)return;let n=t??this.#d,r=n?await n.promise:await this.#h(),i=this.#d;if(!(!i||i!==(n??i))&&e.generation!==i){e.generation=i;try{await r.createView({el:e.el},{signal:e.signal})}catch(t){if(i!==this.#d){e.generation=void 0;return}throw t}}}#x(e){let t=e.el.getRootNode();if(!Z(t)&&!pt(t))return;let n=this.#c.get(t);n||(n=mt(t,this.#p),this.#c.set(t,n)),n.references+=1;let r=!1;e.signal.addEventListener(`abort`,()=>{if(r)return;r=!0;let e=this.#c.get(t);e&&(--e.references,e.references===0&&(e.dispose(),this.#c.delete(t)))},{once:!0})}dispose(){if(!this.#a.signal.aborted){_.debug(`[WidgetRuntime] Disposing model=${this.#e}`),this.#l&&=(clearTimeout(this.#l),void 0),this.#o.status===`pending`&&(this.#o.promise.catch(()=>void 0),this.#o.reject(Error(`[anywidget] widget runtime destroyed`))),this.#d&&this.#y(this.#d),this.#a.abort(),this.#s.clear();for(let e of this.#c.values())e.dispose();this.#c.clear()}}};function Z(e){return e.nodeType===Node.DOCUMENT_NODE}function pt(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}function mt(e,t){let n=Z(e)?e:e.ownerDocument??document,r=n.defaultView??window;if(`adoptedStyleSheets`in e&&r.CSSStyleSheet!==void 0&&typeof r.CSSStyleSheet.prototype.replaceSync==`function`)try{let n=new r.CSSStyleSheet;return n.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],{references:0,update(e){n.replaceSync(e)},dispose(){e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>e!==n)}}}catch{}let i=n.createElement(`style`);return i.textContent=t,Z(e)?n.head.append(i):e.append(i),{references:0,update(e){i.textContent=e},dispose(){i.remove()}}}function Q(e,t=[]){let n=[];if(e instanceof DataView)n.push(t);else if(Array.isArray(e))for(let[r,i]of e.entries())n.push(...Q(i,[...t,r]));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))n.push(...Q(i,[...t,r]));return n}function ht(e){let t=Q(e);if(t.length===0)return{state:e,buffers:[],bufferPaths:[]};let n=structuredClone(e),r=[],i=[];for(let a of t){let t=p(e,a);if(t instanceof DataView){let e=T(t);r.push(e),i.push(a),k(n,a,e)}}return{state:n,buffers:r,bufferPaths:i}}function gt(e){let{state:t,bufferPaths:n,buffers:r}=e;if(!n||n.length===0)return t;r&&y(r.length===n.length,`Buffers and buffer paths not the same length`);let i=t;for(let[e,t]of n.entries()){let n=r?.[e];if(n==null){_.warn(`[anywidget] Could not find buffer at path`,t);continue}typeof n==`string`?k(i,t,se(n)):k(i,t,n)}return i}function _t(){let e=n.get(ee).mode;return e===`edit`||e===`present`}var $=new class{#e=new Map;#t;#n;constructor(e=1e4,t=_t){this.#t=e,this.#n=t}#r(e){let t=this.#e.get(e);if(!t){let n=new ft(e,{timeout:this.#t,isEditMode:this.#n,createHost:e=>qe(this,e),onModelTimeout:()=>{this.#e.get(e)===n&&(n.dispose(),this.#e.delete(e))}});t=n,this.#e.set(e,t)}return t}getModel(e){return this.#r(e).getModel()}getModelSync(e){return this.#e.get(e)?.getModelSync()}createModel(e,t){this.#r(e).createModel(t)}setModel(e,t){this.#r(e).setModel(t)}setSpec(e,t){this.#r(e).setSpec(t)}getWidget(e){return this.#r(e).getWidget()}createView(e){return this.#r(e.modelId).createView(e)}delete(e){let t=this.#e.get(e);t&&(t.dispose(),this.#e.delete(e))}};Y._modelManager=$;async function vt(e,t){let n=t.model_id;if(!G(n))throw Error(`[anywidget] Invalid model id: ${String(n)}`);let r=t.message,i=(`buffers`in r?r.buffers:[]).map(se);switch(r.method){case`open`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=gt({state:t,bufferPaths:a,buffers:i}),s=e.getModelSync(n);if(s){J(s).updateAndEmitDiffs(o);return}e.createModel(n,e=>{let t=S()?{sendUpdate:async()=>void 0,sendCustomMessage:async()=>void 0}:{async sendUpdate(t){if(e.aborted){_.debug(`[Model] sendUpdate suppressed for model=${n} (signal aborted)`);return}let{state:r,buffers:i,bufferPaths:a}=ht(t);await w().sendModelValue({modelId:n,message:{method:`update`,state:r,bufferPaths:a},buffers:i})},async sendCustomMessage(t,r){if(e.aborted){_.debug(`[Model] sendCustomMessage suppressed for model=${n} (signal aborted)`);return}await w().sendModelValue({modelId:n,message:{method:`custom`,content:t},buffers:r.map(T)})}};return new Y(o,t,e)});return}case`custom`:J(await e.getModel(n)).emitCustomMessage({method:`custom`,content:r.content},i);return;case`close`:e.delete(n);return;case`update`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=gt({state:t,bufferPaths:a,buffers:i});J(await e.getModel(n)).updateAndEmitDiffs(o);return}default:oe(r)}}s($,`WIDGET_REGISTRY`);function yt(e){return typeof e!=`object`||!e?!1:`type`in e&&e.type===`marimo-ui-value-update`}var bt=class e{entries;static get INSTANCE(){let t=`_marimo_private_UIElementRegistry`;return window[t]||(window[t]=new e),window[t]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,t){this.entries.has(e)&&_.debug(`UIElementRegistry overwriting entry for objectId.`,e),this.entries.set(e,{objectId:e,value:t,elements:new Set})}registerInstance(e,t){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:r(t,this),elements:new Set([t])}):n.elements.add(t)}removeInstance(e,t){let n=this.entries.get(e);n?.elements.has(t)&&n.elements.delete(t)}removeElementsByCell(e){[...this.entries.keys()].filter(t=>t.startsWith(`${e}-`)).forEach(e=>{this.entries.delete(e)})}lookupValue(e){let t=this.entries.get(e);return t===void 0?void 0:t.value}broadcastMessage(e,t,n){let r=this.entries.get(e);if(r===void 0){_.warn(`UIElementRegistry missing entry`,e);return}if(yt(t)){r.value=t.value,r.elements.forEach(e=>{e.dispatchEvent(O.create({bubbles:!1,composed:!0,detail:{value:t.value,element:e}}))});return}r.elements.forEach(r=>{r.dispatchEvent(ye.create({bubbles:!1,composed:!0,detail:{objectId:e,message:t,buffers:n}}))})}broadcastValueUpdate(e,t,n){let r=this.entries.get(t);r===void 0?_.warn(`UIElementRegistry missing entry`,t):(r.value=n,r.elements.forEach(t=>{t!==e&&t.dispatchEvent(O.create({bubbles:!1,composed:!0,detail:{value:n,element:t}}))}),document.dispatchEvent(ve.create({bubbles:!0,composed:!0,detail:{objectId:t}})))}},xt=bt.INSTANCE,St=new ce(`function-call-result`,async(e,t)=>{await w().sendFunctionRequest({functionCallId:e,...t})}),Ct=`68px`,wt=`288px`,Tt=e=>e?/^\d+$/.test(e)?`${e}px`:e:wt,Et=i({isOpen:!0},(e,t)=>{if(!t)return e;switch(t.type){case`toggle`:return{...e,isOpen:t.isOpen??e.isOpen};case`setWidth`:return{...e,width:t.width};default:return e}});export{A as _,bt as a,we as b,vt as c,Ue as d,Ge as f,j as g,L as h,St as i,rt as l,He as m,Tt as n,xt as o,z as p,Et as r,$ as s,Ct as t,G as u,be as v,k as x,Ce as y};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,t as i,u as a}from"./useEvent-xfs0Sn4r.js";import{t as o}from"./react-CBDbhulC.js";import{Bt as s,Cn as c,K as ee,Sn as l,Tn as u,Vn as d,_n as f,bn as p,gn as m,kn as h,mn as g,vn as _,xn as v}from"./cells-Cp-G34Rz.js";import{t as y}from"./compiler-runtime-CYIjoINj.js";import{t as b}from"./cn-ldLVeaqm.js";import{t as x}from"./jsx-runtime-B74pBk57.js";import{d as te}from"./alert-dialog-CA-2mBs3.js";import{a as ne,n as re,o as ie,t as ae}from"./tooltip-BUtPzKB4.js";import{t as oe}from"./useCellActionButton-B31neI3m.js";import{a as se,i as ce}from"./renderShortcut-X-CJUSM8.js";var S=y(),C=e(o(),1),w=x(),T=C.memo(C.forwardRef((e,t)=>{let n=(0,S.c)(39),{children:r,showTooltip:a,...o}=e,s=a===void 0||a,[y,x]=(0,C.useState)(!1),T;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>x(!1),n[0]=T):T=n[0];let E=T,D=(0,C.useRef)(null),j=oe({cell:o,closePopover:E}).map(O).filter(k),M=te(),N;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>{ee(()=>{D.current&&D.current.scrollIntoView({behavior:`auto`,block:`nearest`})})},n[1]=N):N=n[1];let P=i(N),F;n[2]===P?F=n[3]:(F=e=>{x(t=>{let n=typeof e==`function`?e(t):e;return n&&P(),n})},n[2]=P,n[3]=F);let I=i(F),L;n[4]===I?L=n[5]:(L=()=>({toggle:()=>I(A)}),n[4]=I,n[5]=L),(0,C.useImperativeHandle)(t,L);let R=m,z=_,B=d(o.cellId),V;n[6]===B?V=n[7]:(V=(0,w.jsx)(l,{placeholder:`Search actions...`,className:`h-6 m-1`,...B}),n[6]=B,n[7]=V);let H=h,U;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,w.jsx)(p,{children:`No results`}),n[8]=U):U=n[8];let W=j.map((e,t)=>(0,w.jsxs)(C.Fragment,{children:[(0,w.jsx)(v,{children:e.map(e=>{let t=(0,w.jsxs)(`div`,{className:`flex items-center flex-1`,children:[e.icon&&(0,w.jsx)(`div`,{className:`mr-2 w-5 text-muted-foreground`,children:e.icon}),(0,w.jsx)(`div`,{className:`flex-1`,children:e.label}),(0,w.jsxs)(`div`,{className:`shrink-0 text-sm`,children:[e.hotkey&&ce(e.hotkey),e.rightElement]})]});return e.tooltip&&(t=(0,w.jsx)(ae,{content:e.tooltip,delayDuration:100,children:t})),(0,w.jsx)(c,{className:b(e.disabled&&`opacity-50!`),onSelect:()=>{e.disableClick||e.disabled||(e.handle(),x(!1))},variant:e.variant,children:t},e.label)})},t),t<j.length-1&&(0,w.jsx)(u,{})]},t)),G;n[9]!==H||n[10]!==U||n[11]!==W?(G=(0,w.jsxs)(H,{children:[U,W]}),n[9]=H,n[10]=U,n[11]=W,n[12]=G):G=n[12];let K;n[13]!==z||n[14]!==G||n[15]!==V?(K=(0,w.jsxs)(z,{children:[V,G]}),n[13]=z,n[14]=G,n[15]=V,n[16]=K):K=n[16];let q;n[17]!==R||n[18]!==M||n[19]!==K?(q=(0,w.jsx)(R,{className:`w-[300px] p-0 pt-1 overflow-auto`,scrollable:!0,...M,children:K}),n[17]=R,n[18]=M,n[19]=K,n[20]=q):q=n[20];let J=q;if(!s){let e;n[21]===r?e=n[22]:(e=(0,w.jsx)(f,{asChild:!0,children:r}),n[21]=r,n[22]=e);let t;return n[23]!==J||n[24]!==I||n[25]!==y||n[26]!==e?(t=(0,w.jsxs)(g,{open:y,onOpenChange:I,children:[e,J]}),n[23]=J,n[24]=I,n[25]=y,n[26]=e,n[27]=t):t=n[27],t}let Y;n[28]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,w.jsx)(re,{tabIndex:-1,children:se(`cell.cellActions`)}),n[28]=Y):Y=n[28];let X=!y&&Y,Z;n[29]===r?Z=n[30]:(Z=(0,w.jsx)(ie,{ref:D,children:(0,w.jsx)(f,{className:`flex`,children:r})}),n[29]=r,n[30]=Z);let Q;n[31]!==X||n[32]!==Z?(Q=(0,w.jsxs)(ne,{delayDuration:200,disableHoverableContent:!0,children:[X,Z]}),n[31]=X,n[32]=Z,n[33]=Q):Q=n[33];let $;return n[34]!==J||n[35]!==I||n[36]!==y||n[37]!==Q?($=(0,w.jsxs)(g,{open:y,onOpenChange:I,children:[Q,J]}),n[34]=J,n[35]=I,n[36]=y,n[37]=Q,n[38]=$):$=n[38],$})),E=C.memo(e=>{let t=(0,S.c)(5),{children:n,cellId:i}=e,a;t[0]===i?a=t[1]:(a=s(i),t[0]=i,t[1]=a);let o=r(a);if(!o)return null;let c;return t[2]!==n||t[3]!==o?(c=(0,w.jsx)(T,{showTooltip:!1,...o,children:n}),t[2]=n,t[3]=o,t[4]=c):c=t[4],c});E.displayName=`ConnectionCellActionsDropdown`;function D(e){return!e.redundant}function O(e){return e.filter(D)}function k(e){return e.length>0}function A(e){return!e}var j=n(`minimap`);function M(){let e=(0,S.c)(3),[n,r]=t(j),i;return e[0]!==n||e[1]!==r?(i={dependencyPanelTab:n,setDependencyPanelTab:r},e[0]=n,e[1]=r,e[2]=i):i=e[2],i}function N(){return a(j)}export{E as i,N as n,T as r,M as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{g as r}from"./useEventListener-92uWqz-P.js";import{t as i}from"./jsx-runtime-B74pBk57.js";import{r as a}from"./requests-C6_IaFh7.js";import{t as o}from"./use-toast-DpWHUGuF.js";import{t as s}from"./kbd-Cwh96ZBE.js";var c=t(null),l=`packages-install-input`,u=()=>{requestAnimationFrame(()=>{let e=document.getElementById(l);e&&e.focus()})},d=e=>{e.openApplication(`packages`),u()},f=e(n(),1),p=i(),m=(e,t)=>{let n=Array.isArray(e)?e:[e];o(t?{title:n.length>1?`Failed to add packages`:`Failed to add package`,description:t,variant:`danger`}:{title:n.length>1?`Packages added`:`Package added`,description:(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`div`,{children:[n.length>1?`The packages `:`The package `,n.map((e,t)=>(0,p.jsxs)(`span`,{children:[t>0&&`, `,(0,p.jsx)(s,{className:`inline`,children:e})]},e)),` `,`and `,n.length>1?`their`:`its`,` dependencies have been added to your environment.`]}),(0,p.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`Some Python packages may require a kernel restart to see changes.`})]})})},h=(e,t)=>{o(t?{title:`Failed to upgrade package`,description:t,variant:`danger`}:{title:`Package upgraded`,description:(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`div`,{children:[`The package `,(0,p.jsx)(s,{className:`inline`,children:e}),` has been upgraded.`]}),(0,p.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`Some Python packages may require a kernel restart to see changes.`})]})})},g=(e,t)=>{o(t?{title:`Failed to remove package`,description:t,variant:`danger`}:{title:`Package removed`,description:(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`div`,{children:[`The package `,(0,p.jsx)(s,{className:`inline`,children:e}),` has been removed from your environment.`]}),(0,p.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`Some Python packages may require a kernel restart to see changes.`})]})})};function _(){let[e,t]=(0,f.useState)(!1),{addPackage:n}=a();return{loading:e,handleInstallPackages:async(e,i)=>{t(!0);try{let t=await n({package:e.join(` `)});t.success?m(e):m(e,t.error),i?.()}catch(e){r.error(e)}finally{t(!1)}}}}export{u as a,l as i,g as n,d as o,h as r,c as s,_ as t};
@@ -1,10 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,r as i,u as a}from"./useEvent-xfs0Sn4r.js";import{t as o}from"./react-CBDbhulC.js";import{$i as s,$r as c,Co as l,D as u,E as d,Hi as f,Jr as p,Kn as m,La as h,Po as g,Qi as _,Qr as v,Rt as y,Tt as b,Vi as x,_ as S,aa as C,b as w,di as T,dn as E,ea as D,ei as ee,h as te,la as ne,mo as O,ni as k,or as A,ra as j,ri as M,t as re,un as N,yo as P}from"./cells-Cp-G34Rz.js";import{Cn as F,kt as I,vt as L}from"./schemas-aTUejmFi.js";import{t as R}from"./compiler-runtime-CYIjoINj.js";import{r as ie,w as z}from"./utils-D5Ywm7-q.js";import{C as B,n as V,r as H}from"./ai-model-dropdown-DCmiuk7x.js";import{g as U,n as W}from"./useEventListener-92uWqz-P.js";import{t as ae}from"./objects-snlMn4yk.js";import{n as G,t as K}from"./constants-BDbGiS7O.js";import{A as q,M as oe,N as J,O as se,T as ce,j as le,k as ue,v as de}from"./config-BlNM0caL.js";import{t as fe}from"./switch-DjXr9Y9D.js";import{g as pe,h as me,m as he,y as ge}from"./readonly-python-code-DpIyjHqY.js";import{t as _e}from"./cn-ldLVeaqm.js";import{t as ve}from"./jsx-runtime-B74pBk57.js";import{o as ye}from"./alert-dialog-CA-2mBs3.js";import{i as be,n as xe,r as Se,t as Ce}from"./tabs-Cy1qXLzH.js";import{a as we,c as Te,i as Ee,n as De,r as Oe,s as ke,t as Ae}from"./select-nLt2y0Sw.js";import{$ as je,Lt as Me}from"./JsonOutput-CzIGPEZQ.js";import{a as Ne,c as Pe,o as Fe,p as Ie,t as Le}from"./download-DMxOzI7b.js";import{t as Re}from"./tooltip-BUtPzKB4.js";import{n as ze,r as Be,t as Ve}from"./button-Dh8EwhsF.js";import{i as He,r as Ue,t as We}from"./strings-CReV1AYG.js";import{r as Ge}from"./requests-C6_IaFh7.js";import{t as Y}from"./createLucideIcon-B7HeEoG2.js";import{L as Ke,R as qe,c as Je,l as Ye,t as Xe,z as Ze}from"./layout-DWnrxIo2.js";import{t as Qe}from"./check-BoA6XBpj.js";import{r as $e}from"./useCellActionButton-B31neI3m.js";import{t as et}from"./code-CF0HKE9K.js";import{t as tt}from"./copy-BMXKNElG.js";import{t as nt}from"./eye-off-CFuPxa9F.js";import{t as rt}from"./external-link-Bp3BxyRA.js";import{t as it}from"./file-DF8n85RA.js";import{t as at}from"./globe-BQf75qV_.js";import{n as ot,r as st,t as ct}from"./youtube-DCJ-ihUU.js";import{n as lt}from"./components-DUYCXngU.js";import{i as ut,n as dt,r as ft}from"./markdown-export-0rLbaq8b.js";import{t as pt}from"./image-ab13yGv4.js";import{D as mt,E as ht,O as gt,T as _t,b as vt,j as yt}from"./write-secret-modal-D6zoZgLY.js";import{t as bt}from"./link-Cap-MZiw.js";import{t as xt}from"./spinner-Ck-Hgfvj.js";import{r as St}from"./input-DEbY281O.js";import{t as Ct}from"./settings-C-cYas75.js";import{t as wt}from"./square-B58Ib8Ir.js";import{t as Tt}from"./triangle-alert-MihykDYG.js";import{t as Et}from"./use-toast-DpWHUGuF.js";import{n as Dt,t as Ot}from"./paths-zcL04qUW.js";import{o as kt}from"./session-Sz5nSFku.js";import{n as At}from"./useAsyncData-Buhk-UgR.js";import{n as jt}from"./copy-DlEomWzI.js";import{t as Mt}from"./copy-icon-z8fuTE3w.js";import{r as Nt}from"./useRunCells-CX7oW5zy.js";import{r as Pt,t as Ft}from"./share-CPtBiNgr.js";import{n as It,t as Lt}from"./alert-dmKwNsrp.js";import{a as Rt}from"./cell-link-6burT2XF.js";import{t as zt}from"./icons-CjLa9BiH.js";import{i as Bt,n as Vt}from"./error-entries-Cv2m1yhc.js";import{t as Ht}from"./shell-DLpUCctE.js";import{t as Ut}from"./pair-with-agent-modal-CbUFKJHP.js";import{i as Wt,n as Gt,r as Kt}from"./add-connection-dialog-BGfpw5lC.js";import{t as qt}from"./github-YRgb6LMu.js";import{n as Jt}from"./marimo-icons-C3KxMV9A.js";import{t as Yt}from"./links-DLvOXyO_.js";import{i as Xt,n as Zt,t as Qt}from"./skeleton-BKeh8hf3.js";var $t=Y(`circle-chevron-down`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 10-4 4-4-4`,key:`894hmk`}]]),en=Y(`circle-chevron-right`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m10 8 4 4-4 4`,key:`1wy4r4`}]]),tn=Y(`clipboard-copy`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`,key:`4jdomd`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`,key:`3hqy98`}],[`path`,{d:`M21 14H11`,key:`1bme5i`}],[`path`,{d:`m15 10-4 4 4 4`,key:`5dvupr`}]]),nn=Y(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),rn=Y(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),an=Y(`diamond-plus`,[[`path`,{d:`M12 8v8`,key:`napkw2`}],[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`,key:`1ey20j`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),on=Y(`fast-forward`,[[`path`,{d:`M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z`,key:`b19h5q`}],[`path`,{d:`M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z`,key:`h7h5ge`}]]),sn=Y(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),cn=Y(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),ln=Y(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),un=Y(`notebook`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M16 2v20`,key:`rotuqe`}]]),dn=Y(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),fn=Y(`presentation`,[[`path`,{d:`M2 3h20`,key:`91anmk`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`,key:`2k9sn8`}],[`path`,{d:`m7 21 5-5 5 5`,key:`bip4we`}]]),pn=Y(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),mn=Y(`square-power`,[[`path`,{d:`M12 7v4`,key:`xawao1`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`,key:`1pek45`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]),hn=Y(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),X=ve(),Z=R(),Q=e(o(),1);function gn(e,t){let n=(0,Z.c)(11),r;n[0]===t?r=n[1]:(r=new O(t),n[0]=t,n[1]=r);let i=r,a;n[2]!==e||n[3]!==i?(a=()=>i.get(e),n[2]=e,n[3]=i,n[4]=a):a=n[4];let[o,s]=(0,Q.useState)(a),c;n[5]!==e||n[6]!==i?(c=t=>{s(t),i.set(e,t)},n[5]=e,n[6]=i,n[7]=c):c=n[7];let l=c,u;return n[8]!==l||n[9]!==o?(u=[o,l],n[8]=l,n[9]=o,n[10]=u):u=n[10],u}function _n(e,t){return{...e,Binaries:{...e.Binaries,Browser:t}}}function vn(e,t,n,r){return{marimo:e,Locale:n||void 0,Binaries:{Browser:t},"Environment Collection Error":r}}function yn(e,t){let n=Math.max(2,...Array.from(t.matchAll(/`+/g),e=>e[0].length)),r="`".repeat(n+1);return`${r}${e}\n${t}\n${r}`}function bn(e,t){let n=e.includes(`?`)?`&`:`?`,r=[],i=e,a=0;for(let[e,o]of Object.entries(t)){if(o.length===0)continue;let t=`${e}=${encodeURIComponent(o)}`,s=`${i}${a===0?n:`&`}${t}`;if(s.length>6e3){r.push(e);continue}i=s,a+=1}return{url:i,omitted:r}}function xn(e,t){return[`<details>`,`<summary>${We.htmlEscape(e)??``}</summary>`,``,t,``,`</details>`].join(`
2
- `)}function Sn(e){return xn(`Environment`,yn(`json`,JSON.stringify(e,null,2)))}function Cn(e){return xn(`Errors`,yn(`text`,e.map(Vt).join(`
3
-
4
- ---
5
-
6
- `)))}function wn(e){return xn(`Code`,yn(`python`,e))}var Tn=W,En=e=>{let t=(0,Z.c)(16),{content:n}=e,[r,i]=(0,Q.useState)(!1),a=!r&&`max-h-24 overflow-hidden`,o;t[0]===a?o=t[1]:(o=_e(`text-xs bg-muted rounded p-2 overflow-x-auto whitespace-pre-wrap`,a),t[0]=a,t[1]=o);let s;t[2]!==n||t[3]!==o?(s=(0,X.jsx)(`pre`,{className:o,children:n}),t[2]=n,t[3]=o,t[4]=s):s=t[4];let c;t[5]===r?c=t[6]:(c=!r&&(0,X.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 h-10 rounded-b bg-gradient-to-b from-transparent to-muted`}),t[5]=r,t[6]=c);let l;t[7]!==s||t[8]!==c?(l=(0,X.jsxs)(`div`,{className:`relative`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9];let u;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>i(kn),t[10]=u):u=t[10];let d=r?`Show less`:`Show more`,f;t[11]===d?f=t[12]:(f=(0,X.jsx)(Ve,{type:`button`,variant:`link`,size:`xs`,className:`self-start`,onClick:u,children:d}),t[11]=d,t[12]=f);let p;return t[13]!==l||t[14]!==f?(p=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[l,f]}),t[13]=l,t[14]=f,t[15]=p):p=t[15],p},Dn=e=>{let t=(0,Z.c)(6),{children:n}=e,{openModal:r,closeModal:i}=vt(),a;t[0]!==i||t[1]!==r?(a=()=>r((0,X.jsx)(On,{onClose:i})),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=(0,X.jsx)(Tn,{onClick:a,children:n}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o},On=()=>{let e=(0,Z.c)(84),{getEnvironmentInfo:t,readCode:n}=Ge(),a,o;e[0]===t?(a=e[1],o=e[2]):(a=async()=>t(),o=[t],e[0]=t,e[1]=a,e[2]=o);let s=At(a,o),c=r(w),l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=Bt(i),e[3]=l):l=e[3];let u=l,d;if(e[4]!==c.cellData||e[5]!==c.cellIds.inOrderIds){let t;e[7]===c.cellData?t=e[8]:(t=e=>c.cellData[e],e[7]=c.cellData,e[8]=t),d=c.cellIds.inOrderIds.map(t),e[4]=c.cellData,e[5]=c.cellIds.inOrderIds,e[6]=d}else d=e[6];let f=Ye(d),p=r(P),h=r(de),g=p!==null&&f&&h.state===ce.OPEN,_=g?void 0:p===null?`Save the notebook first.`:f?`Connect the notebook to include its source.`:`Notebook source is hidden in this view.`,[v,y]=gn(`marimo:issue-report:include-errors`,!1),[b,x]=gn(`marimo:issue-report:include-code`,!1),S;e[9]!==s.data||e[10]!==s.status?(S=s.data?_n(s.data,navigator.userAgent):s.status===`error`?vn(ge(),navigator.userAgent,navigator.language,`Server environment information unavailable`):void 0,e[9]=s.data,e[10]=s.status,e[11]=S):S=e[11];let C=S,T,E;e[12]!==b||e[13]!==g||e[14]!==n?(T=async()=>{if(!b||!g)return;let{contents:e}=await n();return e},E=[b,g,n],e[12]=b,e[13]=g,e[14]=n,e[15]=T,e[16]=E):(T=e[15],E=e[16]);let D=At(T,E),ee;bb0:{if(!C){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[17]=t):t=e[17];let n;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(n={url:G.bugReportUrl,omitted:t},e[18]=n):n=e[18],ee=n;break bb0}let t;if(e[19]!==D.data||e[20]!==C||e[21]!==b||e[22]!==v){let n={env:Sn(C)};v&&u.length>0&&(n[`bug-description`]=Cn(u)),b&&D.data&&(n[`reproduction-code`]=wn(D.data)),t=bn(G.bugReportUrl,n),e[19]=D.data,e[20]=C,e[21]=b,e[22]=v,e[23]=t}else t=e[23];ee=t}let{url:te,omitted:ne}=ee,O;e[24]===ne?O=e[25]:(O=ne.map(An).join(`, `),e[24]=ne,e[25]=O);let k=O,A;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,X.jsxs)(gt,{children:[(0,X.jsx)(yt,{children:`Report an issue`}),(0,X.jsx)(ht,{children:`Open a GitHub bug report prefilled with your environment, and optionally your current errors and notebook code. Nothing is uploaded automatically; review the details before posting.`})]}),e[26]=A):A=e[26];let j;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,X.jsx)(rt,{className:`w-4 h-4 mr-2`}),e[27]=j):j=e[27];let M;e[28]===te?M=e[29]:(M=(0,X.jsx)(Ve,{type:`button`,variant:`default`,size:`xs`,asChild:!0,className:`self-start`,children:(0,X.jsxs)(`a`,{href:te,target:`_blank`,rel:`noreferrer`,children:[j,`Open GitHub issue`]})}),e[28]=te,e[29]=M);let re;e[30]===y?re=e[31]:(re=e=>y(e===!0),e[30]=y,e[31]=re);let N;e[32]!==v||e[33]!==re?(N=(0,X.jsx)(m,{id:`issue-include-errors`,checked:v,disabled:u.length===0,onCheckedChange:re,"aria-label":`Include errors`}),e[32]=v,e[33]=re,e[34]=N):N=e[34];let F;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,X.jsx)(`label`,{htmlFor:`issue-include-errors`,children:`Include errors`}),e[35]=F):F=e[35];let I;e[36]===N?I=e[37]:(I=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[N,F]}),e[36]=N,e[37]=I);let L=!g,R;e[38]===x?R=e[39]:(R=e=>x(e===!0),e[38]=x,e[39]=R);let ie;e[40]!==b||e[41]!==L||e[42]!==R?(ie=(0,X.jsx)(m,{id:`issue-include-code`,checked:b,disabled:L,onCheckedChange:R,"aria-label":`Include notebook code`}),e[40]=b,e[41]=L,e[42]=R,e[43]=ie):ie=e[43];let z;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,X.jsx)(`label`,{htmlFor:`issue-include-code`,children:`Include notebook code`}),e[44]=z):z=e[44];let B;e[45]===ie?B=e[46]:(B=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[ie,z]}),e[45]=ie,e[46]=B);let V;e[47]===_?V=e[48]:(V=_&&(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground ml-6`,children:_}),e[47]=_,e[48]=V);let H;e[49]!==D.status||e[50]!==b?(H=b&&D.status===`error`&&(0,X.jsx)(`span`,{className:`text-xs text-(--red-11) ml-6`,children:`Notebook source could not be loaded.`}),e[49]=D.status,e[50]=b,e[51]=H):H=e[51];let U;e[52]!==B||e[53]!==V||e[54]!==H?(U=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[B,V,H]}),e[52]=B,e[53]=V,e[54]=H,e[55]=U):U=e[55];let W;e[56]!==I||e[57]!==U?(W=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[I,U]}),e[56]=I,e[57]=U,e[58]=W):W=e[58];let ae;e[59]===k?ae=e[60]:(ae=k?(0,X.jsxs)(`div`,{className:`flex items-start gap-2 text-xs text-(--yellow-11)`,children:[(0,X.jsx)(Tt,{className:`w-3.5 h-3.5 shrink-0 mt-0.5`}),(0,X.jsxs)(`span`,{children:[`Too large to prefill and left out of the link: `,k,`. Paste them into the issue manually.`]})]}):(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Your environment is always included.`}),e[59]=k,e[60]=ae);let K;e[61]!==M||e[62]!==W||e[63]!==ae?(K=(0,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[M,W,ae]}),e[61]=M,e[62]=W,e[63]=ae,e[64]=K):K=e[64];let q;e[65]===s.status?q=e[66]:(q=s.status===`pending`&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Loading environment details…`}),(0,X.jsx)(Qt,{className:`h-4 w-full`}),(0,X.jsx)(Qt,{className:`h-4 w-3/4`}),(0,X.jsx)(Qt,{className:`h-4 w-1/2`})]}),e[65]=s.status,e[66]=q);let oe;e[67]===s?oe=e[68]:(oe=s.status===`error`&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,X.jsx)(Tt,{className:`w-4 h-4 text-(--yellow-11) shrink-0`}),(0,X.jsx)(`span`,{children:`Server environment information unavailable`}),(0,X.jsx)(Ve,{type:`button`,variant:`link`,size:`xs`,onClick:()=>s.refetch(),children:`Retry`})]}),e[67]=s,e[68]=oe);let J;e[69]===C?J=e[70]:(J=C&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium`,children:`Environment details`}),(0,X.jsx)(Mt,{className:`w-3.5 h-3.5`,value:JSON.stringify(C,null,2),ariaLabel:`Copy environment JSON`,toastTitle:`Environment details copied`})]}),(0,X.jsx)(En,{content:JSON.stringify(C,null,2)})]}),e[69]=C,e[70]=J);let se;e[71]===C?se=e[72]:(se=C&&u.length>0&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium`,children:`Errors`}),(0,X.jsx)(Mt,{className:`w-3.5 h-3.5`,value:Cn(u),ariaLabel:`Copy errors`,toastTitle:`Errors copied`})]}),(0,X.jsx)(En,{content:u.map(Vt).join(`
7
-
8
- ---
9
-
10
- `)})]}),e[71]=C,e[72]=se);let le;e[73]===C?le=e[74]:(le=C&&u.length===0&&(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No errors detected.`}),e[73]=C,e[74]=le);let ue;e[75]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,X.jsx)(`a`,{href:G.feedbackForm,target:`_blank`,rel:`noreferrer`,className:`underline`,children:`two-minute survey`}),e[75]=ue):ue=e[75];let fe;e[76]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,X.jsx)(`div`,{className:`border-t pt-3`,children:(0,X.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Other feedback? Take our`,` `,ue,` `,`or chat with us on`,` `,(0,X.jsx)(`a`,{href:G.discordLink,target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Discord`}),`.`]})}),e[76]=fe):fe=e[76];let pe;return e[77]!==K||e[78]!==q||e[79]!==oe||e[80]!==J||e[81]!==se||e[82]!==le?(pe=(0,X.jsxs)(_t,{className:`w-[540px] max-w-[90vw]`,children:[A,(0,X.jsxs)(`div`,{className:`flex flex-col gap-4 max-h-[60vh] overflow-y-auto`,children:[K,q,oe,J,se,le,fe]})]}),e[77]=K,e[78]=q,e[79]=oe,e[80]=J,e[81]=se,e[82]=le,e[83]=pe):pe=e[83],pe};function kn(e){return!e}function An(e){return e===`bug-description`?`errors`:e===`reproduction-code`?`code`:e}var jn=`https://static.marimo.app`,Mn=e=>{let t=(0,Z.c)(26),{onClose:n}=e,[r,i]=(0,Q.useState)(``),{exportAsHTML:a}=Ge(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=Math.random().toString(36).slice(2,6),t[0]=o):o=t[0];let s=`${r}-${o}`,c=`${jn}/static/${s}`,l;t[1]!==a||t[2]!==n||t[3]!==s?(l=async e=>{e.preventDefault(),n();let{contents:t}=await a({download:!1,includeCode:!0,files:Je.INSTANCE.filenames(),layout:await Xe()}),r=Et({title:`Uploading static notebook...`,description:`Please wait.`});await fetch(`${jn}/api/static`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({html:t,path:s})}).catch(()=>{r.dismiss(),Et({title:`Error uploading static page`,description:(0,X.jsxs)(`div`,{children:[`Please try again later. If the problem persists, please file a bug report on`,` `,(0,X.jsx)(`a`,{href:G.issuesPage,target:`_blank`,className:`underline`,children:`GitHub`}),`.`]})})}),r.dismiss(),Et({title:`Static page uploaded!`,description:(0,X.jsxs)(`div`,{children:[`The URL has been copied to your clipboard.`,(0,X.jsx)(`br`,{}),`You can share it with anyone.`]})})},t[1]=a,t[2]=n,t[3]=s,t[4]=l):l=t[4];let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,X.jsx)(yt,{children:`Share static notebook`}),t[5]=u):u=t[5];let d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,X.jsxs)(gt,{children:[u,(0,X.jsxs)(ht,{children:[`You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on`,` `,(0,X.jsx)(`a`,{href:jn,target:`_blank`,children:jn}),`.`]})]}),t[6]=d):d=t[6];let f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{let t=e.target.value.toLowerCase().replaceAll(/\s/g,`-`).replaceAll(/[^\da-z-]/g,``);i(t)},t[7]=f):f=t[7];let p;t[8]===r?p=t[9]:(p=(0,X.jsx)(St,{"data-testid":`slug-input`,id:`slug`,autoFocus:!0,value:r,placeholder:`Notebook slug`,onChange:f,required:!0,autoComplete:`off`}),t[8]=r,t[9]=p);let m;t[10]===c?m=t[11]:(m=(0,X.jsxs)(`div`,{className:`font-semibold text-sm text-muted-foreground gap-2 flex flex-col`,children:[`Anyone will be able to access your notebook at this URL:`,(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(Nn,{text:c}),(0,X.jsx)(`span`,{className:`text-primary`,children:c})]})]}),t[10]=c,t[11]=m);let h;t[12]!==p||t[13]!==m?(h=(0,X.jsxs)(`div`,{className:`flex flex-col gap-6 py-4`,children:[p,m]}),t[12]=p,t[13]=m,t[14]=h):h=t[14];let g;t[15]===n?g=t[16]:(g=(0,X.jsx)(Ve,{"data-testid":`cancel-share-static-notebook-button`,variant:`secondary`,onClick:n,children:`Cancel`}),t[15]=n,t[16]=g);let _;t[17]===c?_=t[18]:(_=(0,X.jsx)(Ve,{"data-testid":`share-static-notebook-button`,"aria-label":`Save`,variant:`default`,type:`submit`,onClick:async()=>{await jt(c)},children:`Create`}),t[17]=c,t[18]=_);let v;t[19]!==_||t[20]!==g?(v=(0,X.jsxs)(mt,{children:[g,_]}),t[19]=_,t[20]=g,t[21]=v):v=t[21];let y;return t[22]!==v||t[23]!==l||t[24]!==h?(y=(0,X.jsx)(_t,{className:`w-fit`,children:(0,X.jsxs)(`form`,{onSubmit:l,children:[d,h,v]})}),t[22]=v,t[23]=l,t[24]=h,t[25]=y):y=t[25],y},Nn=e=>{let t=(0,Z.c)(8),[n,r]=Q.useState(!1),i;t[0]===e.text?i=t[1]:(i=Be.stopPropagation(async t=>{t.preventDefault(),await jt(e.text),r(!0),setTimeout(()=>r(!1),2e3)}),t[0]=e.text,t[1]=i);let a=i,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,X.jsx)(tt,{size:14,strokeWidth:1.5}),t[2]=o):o=t[2];let s;t[3]===a?s=t[4]:(s=(0,X.jsx)(Ve,{"data-testid":`copy-static-notebook-url-button`,onClick:a,size:`xs`,variant:`secondary`,children:o}),t[3]=a,t[4]=s);let c;return t[5]!==n||t[6]!==s?(c=(0,X.jsx)(Re,{content:`Copied!`,open:n,children:s}),t[5]=n,t[6]=s,t[7]=c):c=t[7],c};function Pn(){let e=document.getElementsByClassName(K.outputArea);for(let t of e){let e=t.getBoundingClientRect();if(e.bottom>0&&e.top<window.innerHeight){let e=g.findElement(t);if(!e){U.warn(`Could not find HTMLCellId for visible output area`,t);continue}return{cellId:g.parse(e.id)}}}return U.warn(`No visible output area found for scroll anchor`),null}function Fn(e){if(!e){U.warn(`No scroll anchor provided to restore scroll position`);return}let t=document.getElementById(g.create(e.cellId));if(!t){U.warn(`Could not find cell element to restore scroll position`,e.cellId);return}if(!t.querySelector(`.${K.outputArea}`)){U.warn(`Could not find output area to restore scroll position`,e.cellId);return}t.scrollIntoView({block:`start`,behavior:`auto`})}function In(){let e=(0,Z.c)(2),t=a(oe),n;return e[0]===t?n=e[1]:(n=()=>{let e=Pn();t(t=>({mode:q(t.mode),cellAnchor:e?.cellId??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Fn(e)})})},e[0]=t,e[1]=n),n}var Ln=n(!1),Rn=()=>{let e=(0,Z.c)(7),{selectedLayout:t}=me(),{setLayoutView:n}=he();if(J()&&!T(`wasm_layouts`))return null;let r;e[0]===n?r=e[1]:(r=e=>n(e),e[0]=n,e[1]=r);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsx)(ke,{className:`min-w-[110px] border-border bg-background`,"data-testid":`layout-select`,children:(0,X.jsx)(Te,{placeholder:`Select a view`})}),e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(De,{children:(0,X.jsxs)(Oe,{children:[(0,X.jsx)(we,{children:`View as`}),pe.map(Hn)]})}),e[3]=a):a=e[3];let o;return e[4]!==t||e[5]!==r?(o=(0,X.jsxs)(Ae,{"data-testid":`layout-select`,value:t,onValueChange:r,children:[i,a]}),e[4]=t,e[5]=r,e[6]=o):o=e[6],o};function zn(e){let t=Bn(e);return(0,X.jsx)(t,{className:`h-4 w-4`})}function Bn(e){switch(e){case`vertical`:return cn;case`grid`:return st;case`slides`:return fn;default:return He(e),wt}}function Vn(e){return We.startCase(e)}function Hn(e){return(0,X.jsx)(Ee,{value:e,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 leading-5`,children:[zn(e),(0,X.jsx)(`span`,{children:Vn(e)})]})},e)}var Un=[`html`,`markdown`,`ipynb`,`pdf`,`script`,`png`],Wn=[`pymdown`,`qmd`,`mystmd`,`mdx`],Gn=[`topological`,`top-down`],Kn=[`document`,`slides`],qn=[`source`,`flat`];function Jn(e){return typeof e==`string`&&Un.some(t=>t===e)}var $={html:{includeCode:!0},markdown:{flavor:null},ipynb:{sortMode:`topological`,includeOutputs:!1},pdf:{preset:`document`,includeInputs:!0,includeOutputs:!0,webpdf:!0},script:{type:`source`}};function Yn(e,t){return e.default(t).catch(t)}function Xn(e){return F(e).optional().catch(void 0)}var Zn=F({html:Xn({includeCode:Yn(I(),$.html.includeCode)}),markdown:Xn({flavor:Yn(L(Wn).nullable(),$.markdown.flavor)}),ipynb:Xn({sortMode:Yn(L(Gn),$.ipynb.sortMode),includeOutputs:Yn(I(),$.ipynb.includeOutputs)}),pdf:Xn({preset:Yn(L(Kn),$.pdf.preset),includeInputs:Yn(I(),$.pdf.includeInputs),includeOutputs:Yn(I(),$.pdf.includeOutputs),webpdf:Yn(I(),$.pdf.webpdf)}),script:Xn({type:Yn(L(qn),$.script.type)})}).catch({});function Qn(e,t){let n={...e},r=r=>{n[r]={...e[r],...t[r]}};for(let e of Object.keys(t))r(e);return n}function $n(e){return Qn($,Zn.parse(e))}var er=M({toSerializable:e=>e,fromSerializable:$n}),tr=l(`marimo:export:options:v1`,$,er,{getOnInit:!0}),nr=l(`marimo:export:last-format:v1`,`html`,M({toSerializable:e=>e,fromSerializable:e=>Jn(e)?e:`html`}),{getOnInit:!0}),rr={html:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!1,checksServerAvailability:!1},markdown:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!1,checksServerAvailability:!1},ipynb:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!0,checksServerAvailability:!0},pdf:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!0,checksServerAvailability:!0},script:{requiresNamedNotebookOnServer:!1,requiresServerRuntime:!1,checksServerAvailability:!1},png:{requiresNamedNotebookOnServer:!1,requiresServerRuntime:!1,checksServerAvailability:!1}};function ir(e,t){return e===`wasm`&&t===`pdf`}function ar({format:e,options:t,runtime:n,filename:r,availability:i}){let a=e===`script`&&t.script.type===`source`?{...rr.script,requiresNamedNotebookOnServer:!0}:rr[e],o=ir(n,e);if(n===`wasm`&&a.requiresServerRuntime)return{available:o,reason:{type:`wasm-runtime`}};if(n===`server`&&a.requiresNamedNotebookOnServer&&!r)return{available:!1,reason:{type:`notebook-must-be-named`}};if(n===`wasm`||!a.checksServerAvailability)return{available:!0};if(i.status===`pending`)return{available:!1,reason:{type:`checking-requirements`}};if(i.status===`error`||!i.data)return{available:!0,availabilityCheckFailed:!0};let s=i.data.formats.find(t=>t.format===e);return s?s.dependenciesAvailable?{available:!0}:s.missingPackages.length>0?{available:!1,reason:{type:`missing-packages`,packages:s.missingPackages}}:s.missingSetup.length>0?{available:!1,reason:{type:`missing-setup`,requirements:s.missingSetup}}:{available:!0,availabilityCheckFailed:!0}:{available:!0,availabilityCheckFailed:!0}}function or(e,t){return e.map(e=>({value:e,...t[e]}))}var sr=or([`automatic`,...Wn],{automatic:{label:`Automatic`,description:`Chooses a format from the notebook filename. Defaults to Markdown (.md).`},pymdown:{label:`Markdown (.md)`,description:`Creates a .md file with Python code blocks.`},qmd:{label:`Quarto (.qmd)`,description:`Creates a .qmd file for Quarto.`},mystmd:{label:`MyST (.myst.md)`,description:`Creates a .myst.md file for MyST.`},mdx:{label:`MDX (.mdx)`,description:`Creates a .mdx file for MDX.`}}),cr=or(Gn,{"top-down":{label:`Top to bottom`,description:`Keeps cells in the same order as this notebook.`},topological:{label:`Dependency order`,description:`Reorders cells so each cell appears after the cells it depends on.`}}),lr=or(Kn,{document:{label:`Document`,description:`Creates pages for reading or printing.`},slides:{label:`Slides`,description:`Creates presentation slides from the notebook.`}}),ur=or([`browser`,`latex`],{browser:{label:`Browser`,description:`Uses browser rendering to preserve the notebook's visual output.`},latex:{label:`LaTeX first`,description:`Uses Pandoc and TeX when available, then falls back to browser rendering.`}}),dr=or(qn,{source:{label:`Notebook source`,description:`Downloads the saved notebook source for continued editing in marimo.`},flat:{label:`Flat script`,description:`Reorders cells so the Python script runs from top to bottom.`}}),fr={html:{label:`HTML`,actionLabel:`Export HTML`,description:`Save the current notebook as an HTML page.`,Icon:at,Options:pr},markdown:{label:`Markdown`,actionLabel:`Export Markdown`,description:`Save code and text in a Markdown-based file. Cell outputs are not included.`,Icon:_,Options:mr},ipynb:{label:`Jupyter`,actionLabel:`Export Jupyter notebook`,description:`Open the notebook in Jupyter and other compatible tools.`,Icon:un,Options:hr},pdf:{label:`PDF`,actionLabel:`Export PDF`,description:`Save the notebook as a PDF for printing or sharing.`,Icon:it,Options:gr},script:{label:`Python`,actionLabel:`Export flat script`,description:`Save the notebook as a Python file.`,Icon:et,Options:_r},png:{label:`PNG`,actionLabel:`Export PNG`,description:`Capture the current app view as an image.`,Icon:pt,Options:vr}};function pr(e){let t=(0,Z.c)(7),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={checked:`Includes code cells in the webpage.`,unchecked:`Leaves code cells out of the webpage.`},t[0]=a):a=t[0];let o;t[1]===r?o=t[2]:(o=e=>r(`html`,{includeCode:e}),t[1]=r,t[2]=o);let s;return t[3]!==i||t[4]!==n.html.includeCode||t[5]!==o?(s=(0,X.jsx)(yr,{children:(0,X.jsx)(br,{label:`Include code`,descriptions:a,checked:n.html.includeCode,disabled:i,onCheckedChange:o})}),t[3]=i,t[4]=n.html.includeCode,t[5]=o,t[6]=s):s=t[6],s}function mr(e){let t=(0,Z.c)(6),{options:n,updateOptions:r,disabled:i}=e,a=n.markdown.flavor??`automatic`,o;t[0]===r?o=t[1]:(o=e=>r(`markdown`,{flavor:e===`automatic`?null:e}),t[0]=r,t[1]=o);let s;return t[2]!==i||t[3]!==a||t[4]!==o?(s=(0,X.jsx)(yr,{children:(0,X.jsx)(Cr,{label:`Format`,value:a,disabled:i,onValueChange:o,options:sr})}),t[2]=i,t[3]=a,t[4]=o,t[5]=s):s=t[5],s}function hr(e){let t=(0,Z.c)(16),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(`ipynb`,{sortMode:e}),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.ipynb.sortMode||t[4]!==a?(o=(0,X.jsx)(xr,{label:`Cell order`,value:n.ipynb.sortMode,disabled:i,onValueChange:a,options:cr}),t[2]=i,t[3]=n.ipynb.sortMode,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s={checked:`Keeps the outputs currently shown in the notebook.`,unchecked:`Leaves cell outputs out of the Jupyter notebook.`},t[6]=s):s=t[6];let c;t[7]===r?c=t[8]:(c=e=>r(`ipynb`,{includeOutputs:e}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==n.ipynb.includeOutputs||t[11]!==c?(l=(0,X.jsx)(br,{label:`Include outputs`,descriptions:s,checked:n.ipynb.includeOutputs,disabled:i,onCheckedChange:c}),t[9]=i,t[10]=n.ipynb.includeOutputs,t[11]=c,t[12]=l):l=t[12];let u;return t[13]!==o||t[14]!==l?(u=(0,X.jsxs)(yr,{children:[o,l]}),t[13]=o,t[14]=l,t[15]=u):u=t[15],u}function gr(e){let t=(0,Z.c)(30),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(`pdf`,{preset:e}),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.pdf.preset||t[4]!==a?(o=(0,X.jsx)(xr,{label:`Layout`,value:n.pdf.preset,disabled:i,onValueChange:a,options:lr}),t[2]=i,t[3]=n.pdf.preset,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s={checked:`Includes code cells in the PDF.`,unchecked:`Leaves code cells out of the PDF.`},t[6]=s):s=t[6];let c;t[7]===r?c=t[8]:(c=e=>r(`pdf`,{includeInputs:e}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==n.pdf.includeInputs||t[11]!==c?(l=(0,X.jsx)(br,{label:`Include code`,descriptions:s,checked:n.pdf.includeInputs,disabled:i,onCheckedChange:c}),t[9]=i,t[10]=n.pdf.includeInputs,t[11]=c,t[12]=l):l=t[12];let u;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(u={checked:`Keeps the outputs currently shown in the notebook.`,unchecked:`Leaves cell outputs out of the PDF.`},t[13]=u):u=t[13];let d;t[14]===r?d=t[15]:(d=e=>r(`pdf`,{includeOutputs:e}),t[14]=r,t[15]=d);let f;t[16]!==i||t[17]!==n.pdf.includeOutputs||t[18]!==d?(f=(0,X.jsx)(br,{label:`Include outputs`,descriptions:u,checked:n.pdf.includeOutputs,disabled:i,onCheckedChange:d}),t[16]=i,t[17]=n.pdf.includeOutputs,t[18]=d,t[19]=f):f=t[19];let p;t[20]!==i||t[21]!==n.pdf.preset||t[22]!==n.pdf.webpdf||t[23]!==r?(p=n.pdf.preset===`document`?(0,X.jsx)(xr,{label:`Method`,value:n.pdf.webpdf?`browser`:`latex`,disabled:i,onValueChange:e=>r(`pdf`,{webpdf:e===`browser`}),options:ur}):null,t[20]=i,t[21]=n.pdf.preset,t[22]=n.pdf.webpdf,t[23]=r,t[24]=p):p=t[24];let m;return t[25]!==o||t[26]!==l||t[27]!==f||t[28]!==p?(m=(0,X.jsxs)(yr,{children:[o,l,f,p]}),t[25]=o,t[26]=l,t[27]=f,t[28]=p,t[29]=m):m=t[29],m}function _r(e){let t=(0,Z.c)(6),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(`script`,{type:e}),t[0]=r,t[1]=a);let o;return t[2]!==i||t[3]!==n.script.type||t[4]!==a?(o=(0,X.jsx)(yr,{children:(0,X.jsx)(xr,{label:`Format`,value:n.script.type,disabled:i,onValueChange:a,options:dr})}),t[2]=i,t[3]=n.script.type,t[4]=a,t[5]=o):o=t[5],o}function vr(){return null}function yr(e){let t=(0,Z.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,X.jsx)(`div`,{className:`divide-y rounded-md border`,children:n}),t[0]=n,t[1]=r),r}function br(e){let t=(0,Z.c)(26),{label:n,descriptions:r,descriptionOverride:i,checked:a,disabled:o,onCheckedChange:s}=e,c=(0,Q.useId)(),l=`${c}-description`,u=i??(a?r.checked:r.unchecked),d;t[0]===i?d=t[1]:(d=i?[i]:[],t[0]=i,t[1]=d);let f;t[2]!==r.checked||t[3]!==r.unchecked||t[4]!==d?(f=[r.checked,r.unchecked,...d],t[2]=r.checked,t[3]=r.unchecked,t[4]=d,t[5]=f):f=t[5];let p=f,m;t[6]!==c||t[7]!==n?(m=(0,X.jsx)(`label`,{htmlFor:c,className:`text-sm font-medium leading-5`,children:n}),t[6]=c,t[7]=n,t[8]=m):m=t[8];let h;t[9]!==u||t[10]!==l||t[11]!==p?(h=(0,X.jsx)(Er,{id:l,description:u,possibleDescriptions:p}),t[9]=u,t[10]=l,t[11]=p,t[12]=h):h=t[12];let g;t[13]!==m||t[14]!==h?(g=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[m,h]}),t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;t[16]!==a||t[17]!==l||t[18]!==o||t[19]!==c||t[20]!==n||t[21]!==s?(_=(0,X.jsx)(fe,{id:c,size:`sm`,checked:a,disabled:o,onCheckedChange:s,"aria-label":n,"aria-describedby":l}),t[16]=a,t[17]=l,t[18]=o,t[19]=c,t[20]=n,t[21]=s,t[22]=_):_=t[22];let v;return t[23]!==g||t[24]!==_?(v=(0,X.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-4 px-3 py-2`,children:[g,_]}),t[23]=g,t[24]=_,t[25]=v):v=t[25],v}function xr(e){let t=(0,Z.c)(31),{label:n,value:r,disabled:i,onValueChange:a,options:o}=e,s=(0,Q.useId)(),c=`${s}-description`,l;t[0]!==o||t[1]!==r?(l=o.find(e=>e.value===r)?.description,t[0]=o,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]===n?d=t[4]:(d=(0,X.jsx)(`div`,{className:`text-sm font-medium leading-5`,children:n}),t[3]=n,t[4]=d);let f=u??``,p;t[5]===o?p=t[6]:(p=o.map(Sr),t[5]=o,t[6]=p);let m;t[7]!==c||t[8]!==f||t[9]!==p?(m=(0,X.jsx)(Er,{id:c,description:f,possibleDescriptions:p}),t[7]=c,t[8]=f,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==d||t[12]!==m?(h=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[d,m]}),t[11]=d,t[12]=m,t[13]=h):h=t[13];let g;t[14]===a?g=t[15]:(g=e=>a(e),t[14]=a,t[15]=g);let _;if(t[16]!==s||t[17]!==o){let e;t[19]===s?e=t[20]:(e=(e,t)=>{let n=`${s}-${t}`;return(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(E,{id:n,value:e.value}),(0,X.jsx)(`label`,{htmlFor:n,className:`text-sm`,children:e.label})]},e.value)},t[19]=s,t[20]=e),_=o.map(e),t[16]=s,t[17]=o,t[18]=_}else _=t[18];let v;t[21]!==c||t[22]!==i||t[23]!==n||t[24]!==g||t[25]!==_||t[26]!==r?(v=(0,X.jsx)(N,{value:r,onValueChange:g,className:`flex shrink-0 flex-wrap gap-x-5 gap-y-2 sm:justify-end`,"aria-label":n,"aria-describedby":c,disabled:i,children:_}),t[21]=c,t[22]=i,t[23]=n,t[24]=g,t[25]=_,t[26]=r,t[27]=v):v=t[27];let y;return t[28]!==h||t[29]!==v?(y=(0,X.jsxs)(`div`,{className:`flex min-h-14 flex-col items-stretch gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[h,v]}),t[28]=h,t[29]=v,t[30]=y):y=t[30],y}function Sr(e){return e.description}function Cr(e){let t=(0,Z.c)(34),{label:n,value:r,disabled:i,onValueChange:a,options:o}=e,s=(0,Q.useId)(),c=`${s}-description`,l;t[0]!==o||t[1]!==r?(l=o.find(e=>e.value===r)?.description,t[0]=o,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]!==s||t[4]!==n?(d=(0,X.jsx)(`label`,{htmlFor:s,className:`text-sm font-medium leading-5`,children:n}),t[3]=s,t[4]=n,t[5]=d):d=t[5];let f=u??``,p;t[6]===o?p=t[7]:(p=o.map(Tr),t[6]=o,t[7]=p);let m;t[8]!==c||t[9]!==f||t[10]!==p?(m=(0,X.jsx)(Er,{id:c,description:f,possibleDescriptions:p}),t[8]=c,t[9]=f,t[10]=p,t[11]=m):m=t[11];let h;t[12]!==d||t[13]!==m?(h=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[d,m]}),t[12]=d,t[13]=m,t[14]=h):h=t[14];let g;t[15]===a?g=t[16]:(g=e=>a(e),t[15]=a,t[16]=g);let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,X.jsx)(Te,{}),t[17]=_):_=t[17];let v;t[18]!==c||t[19]!==s?(v=(0,X.jsx)(ke,{id:s,"aria-describedby":c,className:`h-8 w-full shrink-0 sm:w-44`,children:_}),t[18]=c,t[19]=s,t[20]=v):v=t[20];let y;t[21]===o?y=t[22]:(y=o.map(wr),t[21]=o,t[22]=y);let b;t[23]===y?b=t[24]:(b=(0,X.jsx)(De,{children:y}),t[23]=y,t[24]=b);let x;t[25]!==i||t[26]!==b||t[27]!==g||t[28]!==v||t[29]!==r?(x=(0,X.jsxs)(Ae,{value:r,disabled:i,onValueChange:g,children:[v,b]}),t[25]=i,t[26]=b,t[27]=g,t[28]=v,t[29]=r,t[30]=x):x=t[30];let S;return t[31]!==x||t[32]!==h?(S=(0,X.jsxs)(`div`,{className:`flex min-h-14 flex-col items-stretch gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[h,x]}),t[31]=x,t[32]=h,t[33]=S):S=t[33],S}function wr(e){return(0,X.jsx)(Ee,{value:e.value,children:e.label},e.value)}function Tr(e){return e.description}function Er(e){let t=(0,Z.c)(15),{id:n,description:r,possibleDescriptions:i}=e,a;t[0]===i?a=t[1]:(a=new Set(i),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=[...a],t[2]=a,t[3]=o);let s;t[4]!==r||t[5]!==o?(s=o.filter(e=>e!==r),t[4]=r,t[5]=o,t[6]=s):s=t[6];let c=s,l;t[7]!==r||t[8]!==n?(l=(0,X.jsx)(`p`,{id:n,"aria-live":`polite`,className:`col-start-1 row-start-1`,children:r}),t[7]=r,t[8]=n,t[9]=l):l=t[9];let u;t[10]===c?u=t[11]:(u=c.map(Dr),t[10]=c,t[11]=u);let d;return t[12]!==l||t[13]!==u?(d=(0,X.jsxs)(`div`,{className:`mt-0.5 grid text-xs leading-4 text-muted-foreground`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function Dr(e){return(0,X.jsx)(`p`,{"aria-hidden":!0,className:`invisible col-start-1 row-start-1`,children:e},e)}var Or={"playwright-chromium":{description:`PDF export requires Playwright Chromium.`}};function kr(e){let t=(0,Z.c)(10),{status:n}=e;if(n.available&&!n.availabilityCheckFailed)return null;if(n.reason?.type===`checking-requirements`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsxs)(`span`,{className:`ml-auto flex shrink-0`,children:[(0,X.jsx)(xt,{size:`small`,className:`size-3`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Checking requirements`})]}),t[0]=e):e=t[0],e}let r=n.availabilityCheckFailed?`Requirements unknown`:`Unavailable`,i=n.availabilityCheckFailed?`text-muted-foreground`:`text-(--yellow-11)`,a;t[1]===i?a=t[2]:(a=_e(`size-3`,i),t[1]=i,t[2]=a);let o;t[3]===a?o=t[4]:(o=(0,X.jsx)(C,{className:a}),t[3]=a,t[4]=o);let s;t[5]===r?s=t[6]:(s=(0,X.jsx)(`span`,{className:`sr-only`,children:r}),t[5]=r,t[6]=s);let c;return t[7]!==o||t[8]!==s?(c=(0,X.jsxs)(`span`,{className:`ml-auto flex shrink-0`,children:[o,s]}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function Ar(e){let t=(0,Z.c)(7),{format:n,formatLabel:r,status:i,onInstall:a,isInstalling:o}=e,s=o!==void 0&&o;if(i.availabilityCheckFailed){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`mb-2.5`,children:(0,X.jsx)(jr,{children:`Couldn't check whether this export is available. You can still try it.`})}),t[0]=e):e=t[0],e}if(!i.reason)return null;let c;return t[1]!==n||t[2]!==r||t[3]!==s||t[4]!==a||t[5]!==i.reason?(c=(0,X.jsx)(`div`,{className:`mb-2.5`,children:(0,X.jsx)(Mr,{format:n,formatLabel:r,reason:i.reason,onInstall:a,isInstalling:s})}),t[1]=n,t[2]=r,t[3]=s,t[4]=a,t[5]=i.reason,t[6]=c):c=t[6],c}function jr(e){let t=(0,Z.c)(9),{children:n,onInstall:r,isInstalling:i}=e,a=i!==void 0&&i,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,X.jsx)(C,{className:`size-4 shrink-0`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,X.jsx)(`span`,{className:`min-w-0 flex-1`,children:n}),t[1]=n,t[2]=s);let c;t[3]!==a||t[4]!==r?(c=r?(0,X.jsxs)(Ve,{type:`button`,variant:`outline`,size:`xs`,className:`shrink-0 border-input bg-background text-foreground hover:border-input hover:bg-muted hover:text-foreground`,disabled:a,"aria-busy":a,onClick:r,children:[a?(0,X.jsx)(xt,{size:`small`,className:`mr-1.5 size-3.5`}):(0,X.jsx)(nn,{className:`mr-1.5 size-3.5`}),`Install`]}):null,t[3]=a,t[4]=r,t[5]=c):c=t[5];let l;return t[6]!==s||t[7]!==c?(l=(0,X.jsxs)(Lt,{variant:`warning`,className:`flex items-center gap-2.5 px-3 py-2 text-(--yellow-12) has-[svg]:pl-3 [&>svg]:static [&>svg+div]:translate-y-0`,children:[o,(0,X.jsxs)(It,{className:`flex min-w-0 flex-1 items-center gap-3 text-sm leading-5`,children:[s,c]})]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l}function Mr(e){let t=(0,Z.c)(22),{format:n,formatLabel:r,reason:i,onInstall:a,isInstalling:o}=e;switch(i.type){case`checking-requirements`:{let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(xt,{className:`size-4 shrink-0`,size:`small`}),t[0]=e):e=t[0];let n;return t[1]===r?n=t[2]:(n=(0,X.jsxs)(Lt,{role:`status`,variant:`info`,className:`flex items-center gap-2.5 p-3 has-[svg]:pl-3 [&>svg]:static [&>svg+div]:translate-y-0`,children:[e,(0,X.jsxs)(It,{className:`min-w-0 flex-1 text-sm leading-5`,children:[`Checking `,r,` requirements…`]})]}),t[1]=r,t[2]=n),n}case`notebook-must-be-named`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(jr,{children:`Name and save this notebook before exporting.`}),t[3]=e):e=t[3],e}case`missing-packages`:{let e;t[4]===i.packages?e=t[5]:(e=i.packages.join(`, `),t[4]=i.packages,t[5]=e);let n;t[6]===e?n=t[7]:(n=(0,X.jsx)(`code`,{className:`break-words font-mono`,children:e}),t[6]=e,t[7]=n);let s;return t[8]!==r||t[9]!==o||t[10]!==a||t[11]!==n?(s=(0,X.jsxs)(jr,{onInstall:a,isInstalling:o,children:[r,` export requires`,` `,n,`.`]}),t[8]=r,t[9]=o,t[10]=a,t[11]=n,t[12]=s):s=t[12],s}case`missing-setup`:{let e;t[13]!==a||t[14]!==i.requirements?(e=a?i.requirements.map(Pr).join(` `):(0,X.jsx)(`span`,{className:`block min-w-0`,children:i.requirements.map(Nr)}),t[13]=a,t[14]=i.requirements,t[15]=e):e=t[15];let n;return t[16]!==o||t[17]!==a||t[18]!==e?(n=(0,X.jsx)(jr,{onInstall:a,isInstalling:o,children:e}),t[16]=o,t[17]=a,t[18]=e,t[19]=n):n=t[19],n}case`wasm-runtime`:{let e=n===`pdf`?`Use your browser's print dialog to save the current app view as a PDF.`:`Open this notebook in a local marimo session to use this export.`,r;return t[20]===e?r=t[21]:(r=(0,X.jsx)(jr,{children:e}),t[20]=e,t[21]=r),r}default:Ue(i)}}function Nr(e){let t=Or[e.name];return(0,X.jsxs)(`span`,{className:`block`,children:[t.description,(0,X.jsx)(`code`,{className:`mt-1 block break-all font-mono`,children:e.command})]},e.name)}function Pr(e){return Or[e.name].description}function Fr(e){return e.endsWith(`.myst.md`)?`mystmd`:e.endsWith(`.qmd`)?`qmd`:e.endsWith(`.mdx`)?`mdx`:`pymdown`}function Ir(e,t){let n=t??Fr(e),r=dt[n],i=ft.find(t=>e.endsWith(t)),a=Ie.withoutExtension(e);i&&(a=e.slice(0,-i.length));let o=`${a}.${r}`;return o===e?`${e.slice(0,-(r.length+1))}.export.${r}`:o}function Lr(e){return Object.entries(e).flatMap(([e,t])=>t===null?[]:t===!0?[`--${e}`]:t===!1?[`--no-${e}`]:[`--${e}=${t}`])}function Rr(e){return e.preset===`document`?e.webpdf:null}var zr={html:{subcommand:`html`,flags:({html:e})=>({"include-code":e.includeCode}),outputFilename:e=>Ie.toHTML(e)},markdown:{subcommand:`md`,flags:({markdown:e})=>({flavor:e.flavor}),outputFilename:(e,{markdown:t})=>Ir(e,t.flavor)},ipynb:{subcommand:`ipynb`,flags:({ipynb:e})=>({sort:e.sortMode,"include-outputs":e.includeOutputs}),outputFilename:e=>Ie.toIPYNB(e)},pdf:{subcommand:`pdf`,flags:({pdf:e})=>({as:e.preset,"include-inputs":e.includeInputs,"include-outputs":e.includeOutputs,webpdf:Rr(e)}),outputFilename:e=>Ie.toPDF(e)},script:{subcommand:`script`,flags:()=>({}),outputFilename:e=>`${Ie.withoutExtension(e)}.script.py`}};function Br({format:e,filename:t,options:n}){if(e===`png`||e===`script`&&n.script.type===`source`||!t)return null;let r=zr[e];return[`marimo`,`export`,r.subcommand,Ht(t),...Lr(r.flags(n)),`-o`,Ht(r.outputFilename(t,n))].join(` `)}async function Vr(e){let{exportOptions:t,captureOutputs:n,downloadPDF:r}=e;t.includeOutputs&&await n(),await r(t)}async function Hr({format:e,options:t,requests:n,sourceFilename:r,htmlFiles:i,getLayout:a,captureOutputs:o,capturePNG:s,downloadFile:c}){switch(e){case`html`:c(await n.exportAsHTML({download:!1,files:i,includeCode:t.html.includeCode,layout:await a()}));return;case`markdown`:c(await n.exportAsMarkdown({download:!1,flavor:t.markdown.flavor}));return;case`ipynb`:t.ipynb.includeOutputs&&await o(),c(await n.exportAsIPYNB({download:!1,sortMode:t.ipynb.sortMode,includeOutputs:t.ipynb.includeOutputs}));return;case`pdf`:await Vr({exportOptions:t.pdf,captureOutputs:o,downloadPDF:async e=>{c(await n.exportAsPDF(e))}});return;case`script`:if(t.script.type===`source`){c({contents:(await n.readCode()).contents,filename:r,mediaType:`text/plain`});return}c(await n.exportAsScript({download:!1}));return;case`png`:await s();return;default:Ue(e)}}var Ur={source:{actionLabel:`Export notebook source`,progressLabel:`notebook source`},flat:{actionLabel:`Export flat script`,progressLabel:`flat script`}};function Wr(e,t){if(e===`wasm`)return{status:`success`,data:null};switch(t.status){case`pending`:case`loading`:return{status:`pending`};case`error`:return{status:`error`};case`success`:return{status:`success`,data:t.data}}}function Gr(e,t){return e===`server`&&t?Dt.basename(t):Ie.toPY(document.title)}function Kr({usesBrowserPrint:e,hasCommand:t,format:n,isNotebookSource:r}){return e?`Uses the browser's print settings for page size and filename.`:t?`Uses the current session state. The copied command exports the saved notebook.`:n!==`png`&&!r?`Save the notebook to copy an equivalent shell command.`:null}function qr(e){let n=Rt(),[r,i]=t(tr),[a,o]=t(nr),[s,c]=(0,Q.useState)(e??a),l=J()?`wasm`:`server`,u=Ge(),d=le(),[f,p]=(0,Q.useState)(!1),m=At(async()=>l===`wasm`?null:u.getExportAvailability(),[l,u]),h=Wr(l,m),g=e=>ar({format:e,options:r,runtime:l,filename:n,availability:h}),_=g(s),v=d&&(_.reason?.type===`missing-packages`||_.reason?.type===`missing-setup`),y=Un.map(e=>({format:e,status:g(e)})),b=ir(l,s),x=fr[s],S=s===`script`&&r.script.type===`source`,{actionLabel:C,progressLabel:w}=s===`script`?Ur[r.script.type]:{actionLabel:x.actionLabel,progressLabel:x.label},T=b?null:Br({format:s,filename:n,options:r}),E=Kr({usesBrowserPrint:b,hasCommand:!!T,format:s,isNotebookSource:S});return(0,Q.useEffect)(()=>{e&&o(e)},[e,o]),{formats:y,options:r,selected:{format:s,status:_,usesBrowserPrint:b,actionLabel:C,command:T,footerDescription:E},exportRequest:{format:s,options:r,sourceFilename:Gr(l,n),available:_.available,usesBrowserPrint:b,progressLabel:w},selectFormat:e=>{Jn(e)&&(c(e),o(e))},updateOptions:(e,t)=>{i(n=>{let r={...n};return r[e]={...n[e],...t},r})},canInstall:v,isInstalling:f,installRequirements:async()=>{if(!(!v||f||s===`png`)){p(!0);try{let e=await u.installExportRequirements({format:s});m.setData(e)}catch{}finally{p(!1)}}}}}async function Jr(e){let t=document.getElementById(`App`);if(!t){let e=`The current app view could not be captured.`;throw Et({title:`Failed to download as PNG`,description:e,variant:`danger`}),Error(e)}let n=e?.style.visibility,r=e?.classList.contains(`print:hidden`);if(!await Fe({element:t,filename:document.title,prepare:()=>{let t=Le();return e&&(e.classList.add(`print:hidden`),e.style.visibility=`hidden`),()=>{t(),e&&(r||e.classList.remove(`print:hidden`),e.style.visibility=n??``)}}}))throw Error(`Failed to capture the current app view.`)}function Yr(e){e(),requestAnimationFrame(()=>{setTimeout(()=>{window.print()},0)})}function Xr({format:e,options:t,sourceFilename:n,available:r,usesBrowserPrint:i,progressLabel:a,onClose:o}){let s=Ge(),c=Xt(),[l,u]=(0,Q.useState)(!1),d=(0,Q.useRef)(null),f=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=async e=>{await Zt({takeScreenshots:()=>c({progress:e}),updateCellOutputs:s.updateCellOutputs})},m=async()=>{await ue(()=>Jr(d.current?.parentElement??null))};return{dialogRef:d,isExporting:l,submit:async()=>{if(!(!r||l)){if(i){Yr(o);return}u(!0);try{await Pe(`Exporting ${a}…`,async r=>{await Hr({format:e,options:t,requests:s,sourceFilename:n,htmlFiles:Je.INSTANCE.filenames(),getLayout:Xe,captureOutputs:()=>p(r),capturePNG:m,downloadFile:Ne})}),f.current&&o()}catch(e){U.error(`Export failed`,e)}finally{f.current&&u(!1)}}}}}function Zr(e){let t=(0,Z.c)(15),{initialFormat:n,onClose:r}=e,i=qr(n),a,o,s;t[0]===i?(a=t[1],o=t[2],s=t[3]):({exportRequest:a,selectFormat:o,...s}=i,t[0]=i,t[1]=a,t[2]=o,t[3]=s);let c;t[4]!==a||t[5]!==r?(c={...a,onClose:r},t[4]=a,t[5]=r,t[6]=c):c=t[6];let l=Xr(c),u;t[7]!==l||t[8]!==o||t[9]!==s?(u=e=>{!l.isExporting&&!s.isInstalling&&o(e)},t[7]=l,t[8]=o,t[9]=s,t[10]=u):u=t[10];let d;return t[11]!==l||t[12]!==s||t[13]!==u?(d={...s,...l,selectFormat:u},t[11]=l,t[12]=s,t[13]=u,t[14]=d):d=t[14],d}var Qr=`(min-width: 640px)`,$r=e=>{let t=(0,Z.c)(75),{initialFormat:n,onClose:r,returnFocusRef:i}=e,a;t[0]!==n||t[1]!==r?(a={initialFormat:n,onClose:r},t[0]=n,t[1]=r,t[2]=a):a=t[2];let{dialogRef:o,isExporting:s,isInstalling:c,canInstall:l,formats:u,options:d,selected:f,selectFormat:p,updateOptions:m,installRequirements:h,submit:g}=Zr(a),_=s||c,v=je(Qr),{format:y,status:b,usesBrowserPrint:x,actionLabel:S,command:C,footerDescription:w}=f,T=fr[y],E=T.Options,D;t[3]===i?D=t[4]:(D=i?{onCloseAutoFocus:e=>{e.preventDefault(),i.current?.focus()}}:{},t[3]=i,t[4]=D);let ee=D,te;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,X.jsxs)(gt,{className:`border-b px-5 py-4 pr-12`,children:[(0,X.jsx)(yt,{children:`Export notebook`}),(0,X.jsx)(ht,{children:`Choose a format and adjust its options.`})]}),t[5]=te):te=t[5];let ne=v?`vertical`:`horizontal`,O;if(t[6]!==u||t[7]!==_){let e;t[9]===_?e=t[10]:(e=e=>{let{format:t,status:n}=e,r=fr[t];return(0,X.jsxs)(be,{value:t,disabled:_,className:`min-w-0 justify-start gap-2 px-2.5 py-2 text-xs data-[state=active]:shadow-xs sm:w-full sm:text-sm`,"data-testid":`export-format-${t}`,children:[(0,X.jsx)(r.Icon,{className:`size-3.5 shrink-0`,strokeWidth:1.5}),(0,X.jsx)(`span`,{className:`truncate`,children:r.label}),(0,X.jsx)(kr,{status:n})]},t)},t[9]=_,t[10]=e),O=u.map(e),t[6]=u,t[7]=_,t[8]=O}else O=t[8];let k;t[11]===O?k=t[12]:(k=(0,X.jsx)(Se,{"aria-label":`Export format`,className:`grid max-h-none shrink-0 grid-cols-2 items-stretch justify-start gap-1 overflow-auto rounded-none border-b bg-muted/20 p-2 min-[360px]:grid-cols-3 sm:flex sm:h-full sm:flex-col sm:border-b-0 sm:border-r`,children:O}),t[11]=O,t[12]=k);let A;if(t[13]!==E||t[14]!==l||t[15]!==T.description||t[16]!==T.label||t[17]!==y||t[18]!==u||t[19]!==h||t[20]!==_||t[21]!==c||t[22]!==d||t[23]!==b||t[24]!==m||t[25]!==x){let e;t[27]!==E||t[28]!==l||t[29]!==T.description||t[30]!==T.label||t[31]!==y||t[32]!==h||t[33]!==_||t[34]!==c||t[35]!==d||t[36]!==b||t[37]!==m||t[38]!==x?(e=e=>{let{format:t}=e;return(0,X.jsxs)(xe,{value:t,className:`mt-0 min-h-0 min-w-0 overflow-y-auto px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`mb-3`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,children:T.label}),(0,X.jsx)(`p`,{className:`mt-0.5 text-sm text-muted-foreground`,children:T.description})]}),(0,X.jsx)(Ar,{format:y,formatLabel:T.label,status:b,onInstall:l?h:void 0,isInstalling:c}),x?null:(0,X.jsx)(E,{options:d,updateOptions:m,disabled:_})]},t)},t[27]=E,t[28]=l,t[29]=T.description,t[30]=T.label,t[31]=y,t[32]=h,t[33]=_,t[34]=c,t[35]=d,t[36]=b,t[37]=m,t[38]=x,t[39]=e):e=t[39],A=u.map(e),t[13]=E,t[14]=l,t[15]=T.description,t[16]=T.label,t[17]=y,t[18]=u,t[19]=h,t[20]=_,t[21]=c,t[22]=d,t[23]=b,t[24]=m,t[25]=x,t[26]=A}else A=t[26];let j;t[40]!==y||t[41]!==p||t[42]!==ne||t[43]!==k||t[44]!==A?(j=(0,X.jsxs)(Ce,{value:y,onValueChange:p,orientation:ne,className:`flex min-h-0 min-w-0 flex-col overflow-hidden sm:grid sm:grid-cols-[168px_minmax(0,1fr)]`,children:[k,A]}),t[40]=y,t[41]=p,t[42]=ne,t[43]=k,t[44]=A,t[45]=j):j=t[45];let M;t[46]===C?M=t[47]:(M=C?(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-background px-2.5 py-2 font-mono text-xs`,children:[(0,X.jsx)(`span`,{className:`select-none text-muted-foreground`,"aria-hidden":!0,children:`$`}),(0,X.jsx)(`code`,{className:`min-w-0 flex-1 overflow-x-auto whitespace-nowrap`,"data-testid":`export-cli-command`,"aria-label":`Equivalent POSIX shell command`,children:C}),(0,X.jsx)(Mt,{value:C,className:`size-3.5`,buttonClassName:_e(ze({variant:`ghost`,size:`icon`}),`shrink-0`),tooltip:`Copy POSIX shell command`,ariaLabel:`Copy POSIX shell command`,toastTitle:`Command copied`})]}):null,t[46]=C,t[47]=M);let re=C&&`mt-3`,N;t[48]===re?N=t[49]:(N=_e(`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,re),t[48]=re,t[49]=N);let P;t[50]===w?P=t[51]:(P=w?(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:w}):null,t[50]=w,t[51]=P);let F=!b.available||_,I=!w&&`sm:ml-auto`,L;t[52]===I?L=t[53]:(L=_e(`border-(--blue-11) bg-(--blue-11) hover:border-(--blue-12) hover:bg-(--blue-12) sm:min-w-36 dark:border-(--blue-7) dark:bg-(--blue-5) dark:text-(--blue-12) dark:hover:border-(--blue-8) dark:hover:bg-(--blue-6)`,I),t[52]=I,t[53]=L);let R;t[54]===s?R=t[55]:(R=s&&(0,X.jsx)(xt,{size:`small`,className:`mr-2`,"aria-hidden":!0}),t[54]=s,t[55]=R);let ie=x?`Print to PDF`:S,z;t[56]!==s||t[57]!==g||t[58]!==F||t[59]!==L||t[60]!==R||t[61]!==ie?(z=(0,X.jsxs)(Ve,{type:`button`,disabled:F,"aria-busy":s,onClick:g,className:L,"data-testid":`export-submit`,children:[R,ie]}),t[56]=s,t[57]=g,t[58]=F,t[59]=L,t[60]=R,t[61]=ie,t[62]=z):z=t[62];let B;t[63]!==N||t[64]!==P||t[65]!==z?(B=(0,X.jsxs)(`div`,{className:N,children:[P,z]}),t[63]=N,t[64]=P,t[65]=z,t[66]=B):B=t[66];let V;t[67]!==B||t[68]!==M?(V=(0,X.jsxs)(`footer`,{className:`min-w-0 border-t bg-muted/20 px-4 py-3`,children:[M,B]}),t[67]=B,t[68]=M,t[69]=V):V=t[69];let H;return t[70]!==o||t[71]!==ee||t[72]!==V||t[73]!==j?(H=(0,X.jsxs)(_t,{ref:o,className:`grid h-dvh max-h-[760px] min-w-0 w-[calc(100vw-2rem)] grid-rows-[auto_minmax(0,1fr)_auto] gap-0 overflow-hidden p-0 sm:top-[5vh] sm:h-[90vh] sm:max-h-[640px] sm:max-w-3xl`,"data-testid":`export-dialog`,...ee,children:[te,j,V]}),t[70]=o,t[71]=ee,t[72]=V,t[73]=j,t[74]=H):H=t[74],H};function ei(e){let t=(0,Z.c)(5),{openPrompt:n,closeModal:r}=vt(),{sendCopy:i}=Ge(),a;return t[0]!==r||t[1]!==n||t[2]!==i||t[3]!==e?(a=()=>{if(!e)return null;let t=Ot.guessDeliminator(e),a=Dt.basename(e);n({title:`Copy notebook`,description:`Enter a new filename for the notebook copy.`,defaultValue:`_${a}`,confirmText:`Copy notebook`,spellCheck:!1,onConfirm:n=>{let a=t.join(Dt.dirname(e),n);i({source:e,destination:a}).then(()=>{r(),Et({title:`Notebook copied`,description:`A copy of the notebook has been created.`}),Yt(a)})}})},t[0]=r,t[1]=n,t[2]=i,t[3]=e,t[4]=a):a=t[4],a}function ti(){let e=(0,Z.c)(4),{openConfirm:t}=vt(),n=a(de),{sendRestart:r}=Ge(),i;return e[0]!==t||e[1]!==r||e[2]!==n?(i=()=>{t({title:`Restart Kernel`,description:`This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.`,variant:`destructive`,confirmAction:(0,X.jsx)(ye,{onClick:async()=>{n({state:ce.CLOSING}),await r(),Pt()},"aria-label":`Confirm Restart`,children:`Restart`})})},e[0]=t,e[1]=r,e[2]=n,e[3]=i):i=e[3],i}var ni=new A,ri=e=>ni.isSupported(e)?`markdown`:`code`,ii=()=>{let e=(0,Z.c)(3),{updateCellConfig:t}=u(),{saveCellConfig:n}=Ge(),r;return e[0]!==n||e[1]!==t?(r=async(e,r)=>{let i=te(),a={};for(let t of i.cellIds.inOrderIds){let n=i.cellData[t];n!==void 0&&n.config.hide_code!==e&&ri(n.code)===r&&(a[t]={hide_code:e})}let o=ae.entries(a);if(o.length!==0){await n({configs:a});for(let[e,n]of o)t({cellId:e,config:n})}},e[0]=n,e[1]=t,e[2]=r):r=e[2],r},ai=e=>{e?.preventDefault(),e?.stopPropagation()};function oi(e){let n=(0,Z.c)(43),i;n[0]===e?i=n[1]:(i=e===void 0?{}:e,n[0]=e,n[1]=i);let{exportDialogReturnFocusRef:o}=i,l=Rt(),{openModal:m,closeModal:g}=vt(),{toggleApplication:C}=v(),{selectedPanel:w}=c(),[T]=t(oe),E=r(se),O=ii(),[A]=z(),M=r(p),N=r(ie),{updateCellConfig:P,undoDeleteCell:F,clearAllCellOutputs:I,addSetupCellIfDoesntExist:L,collapseAllCells:R,expandAllCells:U}=u(),W=ti(),K=Nt(),q=ei(l),ce=a(Ln),le=a(V),{handleClick:ue}=H(),de=a(B),fe=a(tr),{readCode:ge,saveCellConfig:_e}=Ge(),ve=b(`database`),ye=b(`storage`),be=y(),xe=r(S),Se=r(re),Ce=r(d),{selectedLayout:we}=me(),{setLayoutView:Te}=he(),Ee=In(),De=A.sharing?.html??!0,Oe=A.sharing?.wasm??!0,ke=A.sharing?.molab??!0,Ae=we===`slides`,je;if(n[2]!==be||n[3]!==L||n[4]!==N||n[5]!==Se||n[6]!==M||n[7]!==I||n[8]!==g||n[9]!==R||n[10]!==q||n[11]!==ve||n[12]!==ye||n[13]!==U||n[14]!==o||n[15]!==l||n[16]!==xe||n[17]!==Ae||n[18]!==E||n[19]!==m||n[20]!==ue||n[21]!==ge||n[22]!==W||n[23]!==K||n[24]!==_e||n[25]!==we||n[26]!==w||n[27]!==O||n[28]!==ce||n[29]!==fe||n[30]!==de||n[31]!==Te||n[32]!==le||n[33]!==De||n[34]!==ke||n[35]!==Oe||n[36]!==C||n[37]!==Ee||n[38]!==F||n[39]!==Ce||n[40]!==P||n[41]!==T.mode){let e=[`db`,`sql`,...Wt],t=[`bucket`,`object storage`,...Kt],r=xi,i=(e,t)=>{t&&fe(e=>Qn(e,t)),m((0,X.jsx)($r,{initialFormat:e,onClose:g,returnFocusRef:o}))};je=[{icon:(0,X.jsx)(Me,{size:14,strokeWidth:1.5}),label:`Export…`,additionalKeywords:[`download`,`html`,`markdown`,`ipynb`,`pdf`,`script`,`png`],handle:()=>i()},{icon:(0,X.jsx)(Me,{size:14,strokeWidth:1.5}),label:`Download`,redundant:!0,handle:ai,dropdown:[{icon:(0,X.jsx)(Ze,{size:14,strokeWidth:1.5}),label:`Download as HTML`,handle:()=>i(`html`,{html:{includeCode:!0}})},{icon:(0,X.jsx)(Ze,{size:14,strokeWidth:1.5}),label:`Download as HTML (exclude code)`,handle:()=>i(`html`,{html:{includeCode:!1}})},{icon:(0,X.jsx)(zt,{strokeWidth:1.5,style:{width:14,height:14}}),label:`Download as Markdown`,handle:()=>i(`markdown`)},{icon:(0,X.jsx)(un,{size:14,strokeWidth:1.5}),label:`Download as ipynb`,handle:()=>i(`ipynb`)},{icon:(0,X.jsx)(et,{size:14,strokeWidth:1.5}),label:`Download notebook source`,handle:()=>i(`script`,{script:{type:`source`}})},{icon:(0,X.jsx)(et,{size:14,strokeWidth:1.5}),label:`Download flat script`,handle:()=>i(`script`,{script:{type:`flat`}})},{divider:!0,icon:(0,X.jsx)(pt,{size:14,strokeWidth:1.5}),label:`Download as PNG`,handle:()=>i(`png`)},Ae?{divider:!0,icon:(0,X.jsx)(it,{size:14,strokeWidth:1.5}),label:`Download as PDF`,handle:ai,dropdown:[{icon:(0,X.jsx)(it,{size:14,strokeWidth:1.5}),label:`Document Layout`,handle:()=>i(`pdf`,{pdf:{preset:`document`}})},{icon:(0,X.jsx)(it,{size:14,strokeWidth:1.5}),label:`Slides Layout`,hidden:J(),rightElement:(0,X.jsx)(`span`,{className:`ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700`,children:`Recommended`}),handle:()=>i(`pdf`,{pdf:{preset:`slides`}})}]}:{divider:!0,icon:(0,X.jsx)(it,{size:14,strokeWidth:1.5}),label:`Download as PDF`,handle:()=>i(`pdf`,{pdf:{preset:`document`}})}]},{icon:(0,X.jsx)(f,{size:14,strokeWidth:1.5}),label:`Pair with an agent`,hidden:J(),handle:async()=>{m((0,X.jsx)(Ut,{onClose:g}))}},{icon:(0,X.jsx)(pn,{size:14,strokeWidth:1.5}),label:`Share`,handle:ai,hidden:!De&&!Oe&&!ke,dropdown:[{icon:(0,X.jsx)(at,{size:14,strokeWidth:1.5}),label:`Publish HTML to web`,hidden:!De,handle:async()=>{m((0,X.jsx)(Mn,{onClose:g}))}},{icon:(0,X.jsx)(bt,{size:14,strokeWidth:1.5}),label:`Create WebAssembly link`,hidden:!Oe,handle:async()=>{let e=await ge(),t=Ft({code:e.contents});await jt(t),Et({title:`Copied`,description:`Link copied to clipboard.`})}},{icon:(0,X.jsx)(Jt,{size:14,strokeWidth:1.5}),label:`Create molab notebook`,hidden:!ke,handle:async()=>{let e=await ge(),t=Ft({code:e.contents,baseUrl:`${G.molab}/new`});window.open(t,`_blank`)}}]},{icon:(0,X.jsx)(dn,{size:14,strokeWidth:1.5}),label:`Helper panel`,redundant:!0,handle:ai,dropdown:ee.flatMap(e=>{let t=e.type===`ai`&&!N;if(k({panel:e,capabilities:M,aiEnabled:N})&&!t)return[];let{type:n,Icon:i,additionalKeywords:a}=e;return{label:We.startCase(n),rightElement:r(w===n),icon:(0,X.jsx)(i,{size:14,strokeWidth:1.5}),handle:()=>{if(t){ue(`ai`,`ai-features`);return}C(n)},additionalKeywords:a}})},{icon:(0,X.jsx)(fn,{size:14,strokeWidth:1.5}),label:`Present as`,handle:ai,dropdown:[{icon:T.mode===`present`?(0,X.jsx)(x,{size:14,strokeWidth:1.5}):(0,X.jsx)(Ke,{size:14,strokeWidth:1.5}),label:`Toggle app view`,hotkey:`global.hideCode`,handle:()=>{Ee()}},...pe.map((e,t)=>{let n=Bn(e);return{divider:t===0,label:Vn(e),icon:(0,X.jsx)(n,{size:14,strokeWidth:1.5}),rightElement:(0,X.jsx)(`div`,{className:`w-8 flex justify-end`,children:we===e&&(0,X.jsx)(Qe,{size:14})}),handle:()=>{Te(e),T.mode===`edit`&&Ee()}}})]},{icon:(0,X.jsx)(sn,{size:14,strokeWidth:1.5}),label:`Duplicate notebook`,hidden:!l||J(),handle:q},{icon:(0,X.jsx)(tn,{size:14,strokeWidth:1.5}),label:`Copy code to clipboard`,hidden:!l,handle:async()=>{let e=await ge();await jt(e.contents),Et({title:`Copied`,description:`Code copied to clipboard.`})}},{icon:(0,X.jsx)($e,{size:14,strokeWidth:1.5}),label:`Enable all cells`,hidden:!xe||E,handle:async()=>{let e=te(),t=h(e),n=ae.fromEntries(t.map(bi));await _e({configs:n});for(let e of t)P({cellId:e,config:{disabled:!1}})}},{divider:!0,icon:(0,X.jsx)(an,{size:14,strokeWidth:1.5}),label:`Add setup cell`,handle:()=>{L({})}},{icon:(0,X.jsx)(D,{size:14,strokeWidth:1.5}),label:`Add database connection`,additionalKeywords:e,handle:()=>{m((0,X.jsx)(Gt,{onClose:g}))},dropdown:ve.length===0?void 0:[...ve.map(e=>({icon:(0,X.jsx)(f,{size:14,strokeWidth:1.5}),label:`Add ${e.displayName}`,description:`Detected in your environment`,handle:()=>be(e)})),{divider:!0,icon:(0,X.jsx)(D,{size:14,strokeWidth:1.5}),label:`Browse all connections`,additionalKeywords:e,handle:()=>{m((0,X.jsx)(Gt,{onClose:g}))}}]},{icon:(0,X.jsx)(lt,{size:14,strokeWidth:1.5}),label:`Add remote storage`,additionalKeywords:t,handle:()=>{m((0,X.jsx)(Gt,{defaultTab:`storage`,onClose:g}))},dropdown:ye.length===0?void 0:[...ye.map(e=>({icon:(0,X.jsx)(f,{size:14,strokeWidth:1.5}),label:`Add ${e.displayName}`,description:`Detected in your environment`,handle:()=>be(e)})),{divider:!0,icon:(0,X.jsx)(lt,{size:14,strokeWidth:1.5}),label:`Browse all connections`,additionalKeywords:t,handle:()=>{m((0,X.jsx)(Gt,{defaultTab:`storage`,onClose:g}))}}]},{icon:(0,X.jsx)(hn,{size:14,strokeWidth:1.5}),label:Ce,hidden:!Se||E,handle:()=>{F()}},{icon:(0,X.jsx)(mn,{size:14,strokeWidth:1.5}),label:`Restart kernel`,variant:`danger`,handle:W,additionalKeywords:[`reset`,`reload`,`restart`]},{icon:(0,X.jsx)(on,{size:14,strokeWidth:1.5}),label:`Re-run all cells`,redundant:!0,hotkey:`global.runAll`,handle:async()=>{K()}},{icon:(0,X.jsx)(j,{size:14,strokeWidth:1.5}),label:`Clear all outputs`,redundant:!0,handle:()=>{I()}},{icon:(0,X.jsx)(s,{size:14,strokeWidth:1.5}),label:`Show all code`,hotkey:`global.showAllCode`,handle:()=>O(!1,`code`),redundant:!0},{icon:(0,X.jsx)(nt,{size:14,strokeWidth:1.5}),label:`Hide all code`,hotkey:`global.hideAllCode`,handle:()=>O(!0,`code`),redundant:!0},{icon:(0,X.jsx)(s,{size:14,strokeWidth:1.5}),label:`Show all markdown code`,hotkey:`global.showAllMarkdownCode`,handle:()=>O(!1,`markdown`),redundant:!0},{icon:(0,X.jsx)(nt,{size:14,strokeWidth:1.5}),label:`Hide all markdown code`,hotkey:`global.hideAllMarkdownCode`,handle:()=>O(!0,`markdown`),redundant:!0},{icon:(0,X.jsx)(en,{size:14,strokeWidth:1.5}),label:`Collapse all sections`,hotkey:`global.collapseAllSections`,handle:R,redundant:!0},{icon:(0,X.jsx)($t,{size:14,strokeWidth:1.5}),label:`Expand all sections`,hotkey:`global.expandAllSections`,handle:U,redundant:!0},{divider:!0,icon:(0,X.jsx)(rn,{size:14,strokeWidth:1.5}),label:`Command palette`,hotkey:`global.commandPalette`,handle:()=>ce(yi)},{icon:(0,X.jsx)(qe,{size:14,strokeWidth:1.5}),label:`Keyboard shortcuts`,hotkey:`global.showHelp`,handle:()=>de(vi)},{icon:(0,X.jsx)(Ct,{size:14,strokeWidth:1.5}),label:`User settings`,handle:()=>le(_i),redundant:!0,additionalKeywords:[`preferences`,`options`,`configuration`]},{icon:(0,X.jsx)(ln,{size:14,strokeWidth:1.5}),label:`Report an issue`,additionalKeywords:[`feedback`,`bug`,`issue`,`report`,`diagnostics`],handle:()=>m((0,X.jsx)(On,{onClose:g}))},{icon:(0,X.jsx)(rt,{size:14,strokeWidth:1.5}),label:`Resources`,handle:ai,dropdown:[{icon:(0,X.jsx)(ne,{size:14,strokeWidth:1.5}),label:`Documentation`,handle:gi},{icon:(0,X.jsx)(qt,{className:`h-3.5 w-3.5`}),label:`GitHub`,handle:hi},{icon:(0,X.jsx)(ot,{size:14,strokeWidth:1.5}),label:`Discord Community`,handle:mi},{icon:(0,X.jsx)(ct,{className:`h-3.5 w-3.5`}),label:`YouTube`,handle:pi},{icon:(0,X.jsx)(_,{size:14,strokeWidth:1.5}),label:`Changelog`,handle:fi}]},{divider:!0,icon:(0,X.jsx)(ut,{size:14,strokeWidth:1.5}),label:`Open home`,hidden:!location.search.includes(`file`),handle:di},{icon:(0,X.jsx)(Jt,{size:14,strokeWidth:1.5}),label:`New notebook`,hidden:!location.search.includes(`file`),handle:ui}].filter(li).map(si),n[2]=be,n[3]=L,n[4]=N,n[5]=Se,n[6]=M,n[7]=I,n[8]=g,n[9]=R,n[10]=q,n[11]=ve,n[12]=ye,n[13]=U,n[14]=o,n[15]=l,n[16]=xe,n[17]=Ae,n[18]=E,n[19]=m,n[20]=ue,n[21]=ge,n[22]=W,n[23]=K,n[24]=_e,n[25]=we,n[26]=w,n[27]=O,n[28]=ce,n[29]=fe,n[30]=de,n[31]=Te,n[32]=le,n[33]=De,n[34]=ke,n[35]=Oe,n[36]=C,n[37]=Ee,n[38]=F,n[39]=Ce,n[40]=P,n[41]=T.mode,n[42]=je}else je=n[42];return je}function si(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(ci)}:e}function ci(e){return!e.hidden}function li(e){return!e.hidden}function ui(){let e=kt();window.open(e,`_blank`)}function di(){let e=document.baseURI.split(`?`)[0];window.open(e,`_blank`,`noopener`)}function fi(){window.open(G.releasesPage,`_blank`)}function pi(){window.open(G.youtube,`_blank`)}function mi(){window.open(G.discordLink,`_blank`)}function hi(){window.open(G.githubPage,`_blank`)}function gi(){window.open(G.docsPage,`_blank`)}function _i(e){return!e}function vi(e){return!e}function yi(e){return!e}function bi(e){return[e,{disabled:!1}]}function xi(e){return(0,X.jsx)(`div`,{className:`w-8 flex justify-end`,children:e&&(0,X.jsx)(Qe,{size:14})})}export{Ln as a,gn as c,an as d,rn as f,Rn as i,hn as l,tn as m,ii as n,In as o,nn as p,ti as r,Dn as s,oi as t,ln as u};
@@ -1 +0,0 @@
1
- import{f as e,t,u as n}from"./useEvent-xfs0Sn4r.js";import{D as r,Ga as i,Ra as a,_t as o,h as s,li as c}from"./cells-Cp-G34Rz.js";import{t as l}from"./compiler-runtime-CYIjoINj.js";import{g as u}from"./useEventListener-92uWqz-P.js";import{o as d}from"./dist-DiYjQAhI.js";import{r as f}from"./requests-C6_IaFh7.js";var p=l(),m=e(!1);function h(){let e=(0,p.c)(2),n=v(),r;return e[0]===n?r=e[1]:(r=()=>n(i(s())),e[0]=n,e[1]=r),t(r)}function g(e){let n=(0,p.c)(3),r=v(),i;return n[0]!==e||n[1]!==r?(i=()=>{e!==void 0&&r([e])},n[0]=e,n[1]=r,n[2]=i):i=n[2],t(i)}function _(){let e=(0,p.c)(2),n=v(),r;return e[0]===n?r=e[1]:(r=()=>n(a(s())),e[0]=n,e[1]=r),t(r)}function v(){let e=(0,p.c)(4),{prepareForRun:i}=r(),{sendRun:a}=f(),o=n(m),c;return e[0]!==i||e[1]!==a||e[2]!==o?(c=async e=>{if(e.length===0)return;let t=s();return o(!0),y({cellIds:e,sendRun:a,prepareForRun:i,notebook:t})},e[0]=i,e[1]=a,e[2]=o,e[3]=c):c=e[3],t(c)}async function y({cellIds:e,sendRun:t,prepareForRun:n,notebook:r}){if(e.length===0)return;let{cellHandles:i,cellData:a}=r,s=[];for(let t of e){let e=i[t]?.current?.editorView,r;e?(c(e)!==`markdown`&&d(e),r=o(e)):r=a[t]?.code||``,s.push(r),n({cellId:t})}await t({cellIds:e,codes:s}).catch(e=>{u.error(e)})}export{v as a,g as i,y as n,h as o,_ as r,m as t};