@marimo-team/frontend 0.23.16-dev6 → 0.23.16-dev8

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 (142) hide show
  1. package/dist/assets/{CellStatus-BalYv0pK.js → CellStatus-BwCqFeIT.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-DI7mV-Gw.js → ConnectedDataExplorerComponent-CMaZapRd.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-C7_5jjWi.js → ErrorBoundary-DzTD8LVq.js} +1 -1
  4. package/dist/assets/{ImperativeModal-BIavOiUv.js → ImperativeModal-fY-ZfT0b.js} +1 -1
  5. package/dist/assets/{JsonOutput-CkCD-FgM.js → JsonOutput-B0aYK7up.js} +1 -1
  6. package/dist/assets/{LazyAnyLanguageCodeMirror-sVm_hz8A.js → LazyAnyLanguageCodeMirror-B2JvSXP-.js} +2 -2
  7. package/dist/assets/{MarimoErrorOutput-DO2k2fA5.js → MarimoErrorOutput-2CXbNUBb.js} +1 -1
  8. package/dist/assets/{RSPContexts-CgC81f0I.js → RSPContexts-WiCgGm__.js} +1 -1
  9. package/dist/assets/{RenderHTML-BCvU9dYz.js → RenderHTML-uBc4LkCP.js} +1 -1
  10. package/dist/assets/{RunButton-BKRupqr7.js → RunButton-DLoWn_Jd.js} +1 -1
  11. package/dist/assets/{add-cell-with-ai-CEZtaZCK.js → add-cell-with-ai-C1L7x0xr.js} +1 -1
  12. package/dist/assets/{add-connection-dialog-B-jCRNTN.js → add-connection-dialog-BgQ7HuWu.js} +1 -1
  13. package/dist/assets/{agent-panel-CHB6t7Zy.js → agent-panel-D3_CUvz_.js} +1 -1
  14. package/dist/assets/ai-model-dropdown-C7iiWBqP.js +5 -0
  15. package/dist/assets/{alert-dialog-BXegNC0I.js → alert-dialog-Bb8Lz8ko.js} +1 -1
  16. package/dist/assets/{any-language-editor-DCpZRrpx.js → any-language-editor--tRHs8C_.js} +1 -1
  17. package/dist/assets/{app-config-button-NrM9ywXA.js → app-config-button-DhmeKMjL.js} +1 -1
  18. package/dist/assets/{button-eIihcbUw.js → button-DDGiD1NW.js} +1 -1
  19. package/dist/assets/{cache-panel-wllSTlbM.js → cache-panel-DcQUeUpg.js} +1 -1
  20. package/dist/assets/{capabilities-B09j1Eor.js → capabilities-DoEg0XwL.js} +1 -1
  21. package/dist/assets/{cell-editor-Dc9n2AtH.js → cell-editor-DD0zaU_N.js} +10 -10
  22. package/dist/assets/{cell-link-DqBkyAFe.js → cell-link-C0hhYyNu.js} +1 -1
  23. package/dist/assets/{cells-Cf7bHHq3.js → cells-aqfX084m.js} +6 -6
  24. package/dist/assets/{chat-display-BG08ltQ3.js → chat-display-DomMe89U.js} +1 -1
  25. package/dist/assets/{chat-panel-P2CzCtXJ.js → chat-panel-DzLbxcWT.js} +1 -1
  26. package/dist/assets/{chat-ui-fAJZAoTD.js → chat-ui-BpWZ6JeY.js} +1 -1
  27. package/dist/assets/{column-preview-Dne1dIt0.js → column-preview-D5Btj8aG.js} +1 -1
  28. package/dist/assets/{command-CAJLPEBq.js → command-Dqxie4gq.js} +1 -1
  29. package/dist/assets/{command-palette-CfAVBwu9.js → command-palette-CNp7T2c5.js} +1 -1
  30. package/dist/assets/{common-CD6Mj8n6.js → common-BrPgvCtD.js} +1 -1
  31. package/dist/assets/{components-BH6gDVv6.js → components-1i9OlkxM.js} +1 -1
  32. package/dist/assets/{config-COUOIPEq.js → config-BJVx3eBW.js} +1 -1
  33. package/dist/assets/{config-BbOTTCYY.js → config-CR3KxW53.js} +1 -1
  34. package/dist/assets/{copy-BtTOqPTS.js → copy-Bxb1_Gtw.js} +1 -1
  35. package/dist/assets/{copy-icon-C2pG0ZNK.js → copy-icon-neDQUo4Q.js} +1 -1
  36. package/dist/assets/{createReducer-C7kZ8zEe.js → createReducer-DGx5Af-C.js} +1 -1
  37. package/dist/assets/{datasource-ySAiC9gr.js → datasource-wn1PTlXA.js} +1 -1
  38. package/dist/assets/{dates-D-kIKDYA.js → dates-C2LWzsCZ.js} +1 -1
  39. package/dist/assets/{dependency-graph-panel-BF23EwcD.js → dependency-graph-panel-B8Q8RQNh.js} +1 -1
  40. package/dist/assets/{dialog-D1DEsRZ2.js → dialog-BCVepWLJ.js} +1 -1
  41. package/dist/assets/{dist-ByVeMWkr.js → dist-BLN8PNJV.js} +1 -1
  42. package/dist/assets/dist-CiVShZKM.js +2 -0
  43. package/dist/assets/{documentation-panel-e9Fi9R7e.js → documentation-panel-hFyikugH.js} +1 -1
  44. package/dist/assets/{download-BomYt3nl.js → download-CkMUlfM3.js} +1 -1
  45. package/dist/assets/{dropdown-menu-BFZLnWeO.js → dropdown-menu-dHmZR8bI.js} +1 -1
  46. package/dist/assets/{edit-page-C0GKZFRK.js → edit-page-jUsez4HZ.js} +4 -4
  47. package/dist/assets/{error-banner-B6eIlxzg.js → error-banner-BSxEOIn2.js} +1 -1
  48. package/dist/assets/{error-entries-Birw-8VX.js → error-entries-NXVkubuN.js} +1 -1
  49. package/dist/assets/{error-panel-DdsUL6b7.js → error-panel-DAseRhAS.js} +1 -1
  50. package/dist/assets/{es-1D83cgiu.js → es-gYgfF8y5.js} +1 -1
  51. package/dist/assets/{esm-BL7jQmzn.js → esm-B30N1GS0.js} +1 -1
  52. package/dist/assets/{field-BeZbVzXA.js → field-BsxD35VE.js} +1 -1
  53. package/dist/assets/{file-explorer-panel-Ntq1-VbF.js → file-explorer-panel-D7VHUIPp.js} +1 -1
  54. package/dist/assets/{file-icons-Cb54mIL8.js → file-icons-Chripuk-.js} +1 -1
  55. package/dist/assets/{file-name-input-BWFcK1ey.js → file-name-input-B1NJd3KY.js} +1 -1
  56. package/dist/assets/{floating-outline-wz-WSRgP.js → floating-outline-BOqWJRw_.js} +1 -1
  57. package/dist/assets/{focus-DiEyfiAG.js → focus-tOmGbv38.js} +1 -1
  58. package/dist/assets/{form-B6BkSCJb.js → form-CIXAzTfC.js} +1 -1
  59. package/dist/assets/{formats-ClEFGPy-.js → formats-DzmLpc9A.js} +1 -1
  60. package/dist/assets/{formatting-B_41gSF5.js → formatting-CDf6w1Kt.js} +1 -1
  61. package/dist/assets/{fullscreen-dUjPYOmm.js → fullscreen-CTDqNQr6.js} +1 -1
  62. package/dist/assets/{gallery-page-CWQQAYpa.js → gallery-page-CJ3ms1Hn.js} +1 -1
  63. package/dist/assets/{glide-data-editor-lMARFWHS.js → glide-data-editor-j2igs9Y_.js} +1 -1
  64. package/dist/assets/{home-page-DJ4jJsZj.js → home-page-DO_MqQAB.js} +1 -1
  65. package/dist/assets/{html-to-image-CwmX28T9.js → html-to-image-B-nAUvDC.js} +1 -1
  66. package/dist/assets/{index-BN0kAyO7.js → index-wLUfvfaV.js} +5 -5
  67. package/dist/assets/{input-CqrUjynb.js → input-JxFwu-3G.js} +1 -1
  68. package/dist/assets/{kiosk-mode-ABm3oYgq.js → kiosk-mode-QsYGYiC8.js} +1 -1
  69. package/dist/assets/{label-BElwWzf0.js → label-CqjrpwRC.js} +1 -1
  70. package/dist/assets/{layout-8qIOoWr6.js → layout-1Z2AhO6k.js} +3 -3
  71. package/dist/assets/{links-CToBjIIj.js → links-CZr5bjvo.js} +1 -1
  72. package/dist/assets/{logs-panel-iFV4ZJ9b.js → logs-panel-B6AfYQb6.js} +1 -1
  73. package/dist/assets/{markdown-renderer-QvXG0CRk.js → markdown-renderer-Cs1sISb9.js} +1 -1
  74. package/dist/assets/{menu-items-DbSLBfXR.js → menu-items-CCi6aOPm.js} +1 -1
  75. package/dist/assets/{mermaid-Bh0flEIb.js → mermaid-CYN0wOyG.js} +1 -1
  76. package/dist/assets/{name-cell-input-C6cukQ9k.js → name-cell-input-2sM8a_OS.js} +1 -1
  77. package/dist/assets/{numbers-CeeaFKqu.js → numbers-rmawRqQP.js} +1 -1
  78. package/dist/assets/{outline-panel-BPlg9_CE.js → outline-panel-BXWCkGu_.js} +1 -1
  79. package/dist/assets/{packages-panel-BzQF60rG.js → packages-panel-CJfHGfax.js} +1 -1
  80. package/dist/assets/{pair-with-agent-modal-CKOYwOYw.js → pair-with-agent-modal-C9nKHvCp.js} +1 -1
  81. package/dist/assets/{panels-DoYN5Sjm.js → panels-Ch_sUzTx.js} +1 -1
  82. package/dist/assets/{popover-DrHQ3KEt.js → popover-Bcz1Zikb.js} +1 -1
  83. package/dist/assets/process-output-BFSCpqNt.js +1 -0
  84. package/dist/assets/{radio-group-CLBjGkt5.js → radio-group-PT0_zVHo.js} +1 -1
  85. package/dist/assets/{readonly-code-display-D63oRtBP.js → readonly-code-display-CFbCSGms.js} +1 -1
  86. package/dist/assets/{readonly-python-code-CW_G5e4E.js → readonly-python-code-DB23yd7T.js} +1 -1
  87. package/dist/assets/{renderShortcut-BZLr8D7H.js → renderShortcut-Bl8_FVn8.js} +1 -1
  88. package/dist/assets/{reveal-component-BxHiLG4_.js → reveal-component-fwTDxf5N.js} +1 -1
  89. package/dist/assets/{run-page-Dwu5y6Vv.js → run-page-D9-9chbw.js} +1 -1
  90. package/dist/assets/{runs-D51Xwrsk.js → runs-DBTXqJHS.js} +1 -1
  91. package/dist/assets/{scratchpad-panel-7BZVzpvj.js → scratchpad-panel-BLC2oQ_3.js} +1 -1
  92. package/dist/assets/{scroll-to-bottom-button-Cgr10kaJ.js → scroll-to-bottom-button-C8yfT4wq.js} +1 -1
  93. package/dist/assets/{secrets-panel-Cc5KDBk6.js → secrets-panel-6J6wcuVR.js} +1 -1
  94. package/dist/assets/{select-B5TFNjmU.js → select-BP75_5jJ.js} +1 -1
  95. package/dist/assets/{session-CEFnN9Cq.js → session-BmukRjSi.js} +1 -1
  96. package/dist/assets/{session-panel-Y0Oon0sD.js → session-panel-Dz-DQDeV.js} +1 -1
  97. package/dist/assets/{share-CYpcX4N4.js → share-852X_cqy.js} +1 -1
  98. package/dist/assets/{skeleton-BdSCqt9m.js → skeleton-xuR254Kw.js} +1 -1
  99. package/dist/assets/{snippets-panel-CXpGflMO.js → snippets-panel-DwAjNUqR.js} +1 -1
  100. package/dist/assets/{spec-CzqcmYQk.js → spec-C7opZZRp.js} +1 -1
  101. package/dist/assets/{state-BZQc7xxL.js → state-BpkJVsmT.js} +1 -1
  102. package/dist/assets/{state-BvdK8eiw.js → state-D10U2MwA.js} +1 -1
  103. package/dist/assets/{state-WBgc7MiA.js → state-DDag0B_B.js} +1 -1
  104. package/dist/assets/{state-DBzEQtWz.js → state-Tc7pRohh.js} +1 -1
  105. package/dist/assets/{strings-Djnbwmfl.js → strings--BknHX9C.js} +1 -1
  106. package/dist/assets/{swiper-component-DInvCxhI.js → swiper-component-Che9MNs4.js} +1 -1
  107. package/dist/assets/{switch-CvweaCXq.js → switch-DLGijIXN.js} +1 -1
  108. package/dist/assets/{terminal-D3IQBBYo.js → terminal-DaLxAnKx.js} +1 -1
  109. package/dist/assets/{textarea-CpFfEUet.js → textarea-aocYW9hl.js} +1 -1
  110. package/dist/assets/{tooltip-CFX4fYHU.js → tooltip-4bZlU7jl.js} +1 -1
  111. package/dist/assets/{tooltip-HLb6RxVp.js → tooltip-B7U4xkIN.js} +1 -1
  112. package/dist/assets/{tracing-CKn3gWHw.js → tracing-BmBBYynL.js} +1 -1
  113. package/dist/assets/{tracing-panel-BU-o_LCd.js → tracing-panel-AReiFUol.js} +2 -2
  114. package/dist/assets/{tree-actions-CsC2XmGo.js → tree-actions-Bz3fJ7p-.js} +1 -1
  115. package/dist/assets/{useBoolean-D89u30n-.js → useBoolean-CA7K8rap.js} +1 -1
  116. package/dist/assets/{useCellActionButton-CRfIEVB5.js → useCellActionButton-BG7n5b0H.js} +1 -1
  117. package/dist/assets/{useDeleteCell-EPH4kcG7.js → useDeleteCell-DQP-NBq2.js} +1 -1
  118. package/dist/assets/{useDependencyPanelTab-CZnK7N2L.js → useDependencyPanelTab-BrkWlCTP.js} +1 -1
  119. package/dist/assets/useEventListener-C0195JsF.js +1 -0
  120. package/dist/assets/{useHotkey-DIuRH8Wu.js → useHotkey-DLZvrRZT.js} +1 -1
  121. package/dist/assets/{useIframeCapabilities-Ccb4fvKc.js → useIframeCapabilities-j6fR_dBA.js} +1 -1
  122. package/dist/assets/{useInstallPackage-BRbUAUFn.js → useInstallPackage-WiYBwhUO.js} +1 -1
  123. package/dist/assets/{useInterval-CC0vKpWm.js → useInterval-CWBTUy5W.js} +1 -1
  124. package/dist/assets/{useNotebookActions-CAf3BzKW.js → useNotebookActions-COdGI2fR.js} +1 -1
  125. package/dist/assets/{useRunCells-CSSF_mJ0.js → useRunCells-BtSwerrU.js} +1 -1
  126. package/dist/assets/{useSplitCell-9Qz93yPZ.js → useSplitCell-jH70A2Sz.js} +1 -1
  127. package/dist/assets/{useTheme-KXqAyDPC.js → useTheme-Bxv9B31g.js} +1 -1
  128. package/dist/assets/{utils-Z80SV4_d.js → utils-BWBBpCkT.js} +1 -1
  129. package/dist/assets/{vega-component-Cie3ag_T.js → vega-component-DSvWLXIy.js} +1 -1
  130. package/dist/assets/{write-secret-modal-DEEn7sZV.js → write-secret-modal-3-v-dHVj.js} +1 -1
  131. package/dist/index.html +66 -66
  132. package/package.json +1 -1
  133. package/src/components/ui/input.tsx +1 -1
  134. package/src/core/codemirror/keymaps/__tests__/keymaps.test.ts +31 -2
  135. package/src/core/codemirror/keymaps/keymaps.ts +12 -0
  136. package/src/core/hotkeys/hotkeys.ts +0 -2
  137. package/src/plugins/impl/FormPlugin.tsx +1 -1
  138. package/src/plugins/impl/__tests__/FormPlugin.test.tsx +162 -0
  139. package/dist/assets/ai-model-dropdown-DXgLphFa.js +0 -5
  140. package/dist/assets/dist-BCMBu0rO.js +0 -2
  141. package/dist/assets/process-output-BEhIGfkO.js +0 -1
  142. package/dist/assets/useEventListener-B_w3A283.js +0 -1
@@ -1,6 +1,6 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Duqr-kJ2.js","./loro_wasm_bg-RNUly1SE.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var Nd=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ad=(Z,W,ye)=>W in Z?Nd(Z,W,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[W]=ye;var p=(Z,W,ye)=>Ad(Z,typeof W!="symbol"?W+"":W,ye),Ld=(Z,W,ye)=>W.has(Z)||Ha("Cannot "+ye);var za=(Z,W,ye)=>(Ld(Z,W,"read from private field"),ye?ye.call(Z):W.get(Z)),Ka=(Z,W,ye)=>W.has(Z)?Ha("Cannot add the same private member more than once"):W instanceof WeakSet?W.add(Z):W.set(Z,ye);import{s as Ya}from"./chunk-LvLJmgfZ.js";import{d as Xa,f as Sr,i as Y,l as In,n as ae,p as jt,s as kn,u as ie}from"./useEvent-D91BmmQi.js";import{t as Od}from"./react-Bj1aDYRI.js";import{$n as _d,$t as Ud,B as Qa,Ct as Tn,Dn as Pd,E as Nn,En as jd,Et as Dt,F as Dd,Gi as Fd,Gt as Md,H as Rd,Hi as Za,Hn as Bd,Jn as ei,K as ti,Kn as Gd,Kt as Cr,Lt as Jd,On as Vd,Rt as ni,Sn as $d,St as xr,Ti as ri,Tr as Wd,Tt as qd,U as oi,Un as Hd,V as An,W as ai,Wn as zd,Xn as Kd,Xt as ii,Yn as Yd,Yt as Ir,Zn as Xd,Zt as si,at as Qd,bi as Zd,bt as ef,di as tf,ea as Ln,en as nf,er as rf,fi as kr,gn as of,i as li,ir as af,jn as Tr,kt as sf,l as ci,m as yt,mt as lf,na as Nr,nn as cf,pn as On,pt as Ar,ri as uf,rn as df,st as ff,tn as mf,u as ui,wi as pf,wn as hf,wt as gf,xt as yf,y as tt,yi as bf,yt as wf,__tla as vf}from"./cells-Cf7bHHq3.js";import{B as Ef,N as Sf,P as Lr,R as di,S as Cf,T as fi,k as xf,w as If}from"./zod-H_cgTO0M.js";import{t as Je}from"./compiler-runtime-B3qBwwSJ.js";import{C as kf,f as Tf,m as Nf,p as Af,t as Lf,v as Of,w as _f}from"./ai-model-dropdown-DXgLphFa.js";import{_ as Uf,c as mi,g as $e,m as Or,t as Pf}from"./useEventListener-B_w3A283.js";import{t as Ft}from"./invariant-CkiqGLcK.js";import{E as _r,_ as pi,c as jf,g as hi,l as gi,v as yi}from"./utils-Z80SV4_d.js";import{S as bi,T as Df,m as Ff,o as Mf,r as wi,v as bt,w as Mt}from"./config-BbOTTCYY.js";import{n as Rf,t as Bf}from"./switch-CvweaCXq.js";import{c as Gf,n as Jf,r as Vf}from"./readonly-python-code-CW_G5e4E.js";import{t as $f}from"./ErrorBoundary-C7_5jjWi.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as Wf}from"./jsx-runtime-Blw4afVn.js";import{l as qf,r as Hf,t as zf}from"./popover-DrHQ3KEt.js";import{X as Kf,Z as Yf,__tla as Xf}from"./JsonOutput-CkCD-FgM.js";import{t as Ur}from"./label-BElwWzf0.js";import{r as Qf}from"./download-BomYt3nl.js";import{t as _n}from"./tooltip-CFX4fYHU.js";import{r as Pr,t as lt}from"./button-eIihcbUw.js";import{At as Zf,Bt as Un,Ct as em,Dt as tm,E as nm,Et as vi,Ft as rm,Gt as Rt,H as Ei,Ht as om,I as am,P as im,Qt as ze,Rt as jr,St as sm,Tt as We,Ut as wt,V as lm,Wt as Dr,Yt as cm,Zt as pe,_ as um,at as $,dt as Pn,en as Bt,gt as dm,ht as fm,lt as mm,m as pm,ot as hm,qt as ct,rn as jn,st as J,ut as Xe,w as gm,xt as ym}from"./dist-12S8I4CH.js";import{E as bm,P as wm,S as vm,a as Em,b as Sm,c as Cm,n as Fr,r as xm,w as Im,x as km}from"./dist-BCMBu0rO.js";import{o as Si}from"./arrays-DbOq36rN.js";import{n as Tm}from"./once-CGKw_kwj.js";import{t as Mr}from"./createReducer-C7kZ8zEe.js";import{a as Nm,c as Am,f as Dn,h as Lm,i as Om,l as Gt,n as Ci,o as _m,t as Um}from"./dist-DYEuVkEX.js";import{t as Pm}from"./main-BNL5rxQw.js";import{r as Fn,t as jm}from"./requests-9-v2bhoi.js";import{t as Dm}from"./createLucideIcon-w-Qo9n0R.js";import{r as xi,t as Fm,__tla as Mm}from"./layout-8qIOoWr6.js";import{t as Rm}from"./x-C-Eq0ag8.js";import{t as Bm}from"./circle-check-C32B6Qa1.js";import{B as Gm,F as Jm,L as Vm,N as $m,O as Wm,V as qm,a as Ii,d as Hm,k as ki,n as zm,o as Km,r as Ti,s as Ym,w as Xm}from"./add-cell-with-ai-CEZtaZCK.js";import{r as Qm,t as Zm}from"./file-icons-Cb54mIL8.js";import{n as ep}from"./spinner-D-V4psAa.js";import{n as Rr,t as Ni}from"./useDeleteCell-EPH4kcG7.js";import{t as Ai}from"./save-DBuEmnnF.js";import{Y as tp,Z as Li}from"./input-CqrUjynb.js";import{t as np}from"./sparkles-DUCpRFlS.js";import{t as rp}from"./preload-helper-TXkS1QI3.js";import{a as op}from"./dist-CPjTeT8p.js";import{t as vt}from"./use-toast-BwJoaaDM.js";import{n as Qe}from"./paths-BKO-pHK6.js";import{t as ap}from"./session-CEFnN9Cq.js";import{r as ip}from"./useTheme-KXqAyDPC.js";import{n as Oi}from"./copy-BtTOqPTS.js";import{k as sp}from"./usePress-5hBv4sjD.js";import{a as lp}from"./useRunCells-CSSF_mJ0.js";import{c as _i,i as Ui,n as Pi,r as cp}from"./dialog-D1DEsRZ2.js";import{t as ji}from"./useHotkey-DIuRH8Wu.js";import{n as Di}from"./ImperativeModal-BIavOiUv.js";import{a as up}from"./errors-PgHhDa-M.js";import{t as z}from"./extends-B9D0JO9U.js";import{t as Jt}from"./objectWithoutPropertiesLoose-CboCOq4o.js";import{t as dp}from"./kbd-C5HnBH5U.js";import{a as Br}from"./useInstallPackage-BRbUAUFn.js";import{i as fp,n as Fi}from"./state-DBzEQtWz.js";import{a as mp,o as pp}from"./cell-link-DqBkyAFe.js";import{r as Mi}from"./html-to-image-CwmX28T9.js";import{a as hp}from"./focus-DiEyfiAG.js";import{n as gp}from"./useAsyncData-Bg5iAViP.js";import{a as yp,o as Ri,r as bp,s as Bi,t as wp}from"./command-CAJLPEBq.js";import{a as Gi}from"./renderShortcut-BZLr8D7H.js";import{n as vp,t as Ep}from"./icons-CIPE8AIY.js";import{n as Et}from"./esm-BL7jQmzn.js";import{t as Ji}from"./dist-DrtRBAn8.js";import{t as Sp}from"./useSplitCell-9Qz93yPZ.js";import{co as Cp,do as Gr,fo as xp,ft as Ip,go as St,ho as Vi,lo as Jr,mo as $i,oo as kp,po as Tp,so as Wi,uo as qi,__tla as Np}from"./loro_wasm_bg-RNUly1SE.js";import{t as Ap}from"./ws-BmTnbVEi.js";import{t as Hi}from"./Inputs-B8-VCb_j.js";import{r as Lp,t as Op}from"./skeleton-BdSCqt9m.js";let Vr,Vt,Mn,Rn,Bn,$r,we,zi,Ki,Yi,Xi,Wr,qr,ut,Qi,Zi,es,$t,Gn,ts,_p=Promise.all([(()=>{try{return vf}catch{}})(),(()=>{try{return Xf}catch{}})(),(()=>{try{return Mm}catch{}})(),(()=>{try{return Np}catch{}})()]).then(async()=>{var Sn,Ja,Ee,Se,Ce,xe,Ie,ke,Te,Ne,Ae,Le,Oe,_e,Ue,Pe,je,De,Fe,Me,Re;var Z=Dm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const W={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const xt=Rt.define({combine:e=>jn(e,{onError:console.error,inputDebounceTime:ye,keymaps:W},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=pe.define(),ot=ze.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(rt))return n.value;return e}}),It=pe.define(),kt=pe.define(),zr=ze.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(kt)&&(n={...n,shouldFocus:r.value});return n}}),Wt=pe.define(),Tt=ze.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=pe.define(),Kr=ze.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var ns=1;const Yr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<ns)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[rt.of({show:!0,lineFrom:i,lineTo:s}),kt.of(!0),It.of("")],selection:wt.cursor(o.from)}),!0},Xr=e=>e.state.field(Tt)?(e.dispatch({effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1};var Jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function rs(){return navigator.platform.startsWith("Mac")?Jn.mac:navigator.platform.startsWith("Win")?Jn.windows:Jn.default}function Vn(e){return e.replace("Mod",rs()).replace("-"," ").toUpperCase()}function fe(e,t){let n=document.createElement(e);return n.className=t,n}function os(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var qt=ze.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Ht));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Ht=pe.define();function as(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new is(t),side:1});return r.push(o.range(n)),$.set(r)}var is=class extends Pn{constructor(t){super();p(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
- `).length-1}},ss=class{constructor(e){p(this,"cache",new Map);p(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},ls=(e,t)=>Xe.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new ss(t.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:Ht.of({text:a,doc:r})});return}try{let d=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=t.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(o,d),n.view.dispatch({effects:Ht.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),cs=Xe.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=as(e.view,t)}},{decorations:e=>e.decorations});function us(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:wt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:wt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var ds=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({...us(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},Zr=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({effects:Ht.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},fs=We.of([{key:"Tab",run:ds},{key:"Escape",run:Zr}]),$n=Rt.define({combine:e=>e.at(-1)});function eo(e){let{delay:t=500,includeKeymap:n=!0}=e,r=os(e.fetchFn,t);return[qt,$n.of(e),ls(r,e),cs,n?fs:[]]}const ms=J.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function ps(e){var s,c;let t=e.state.facet(xt),n={...W,...t.keymaps},r=e.state.facet(zt),o=fe("div","cm-ai-tooltip").appendChild(fe("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=Vn(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=o.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),Yr(e)}),o}const zt=Rt.define({combine(e){return jn(e,{render:ps,hideOnBlur:!1,label:"Edit with AI"})}}),hs=Xe.fromClass((Ja=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ka(this,Sn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(o),u=c(r)||c(o);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),m=s(r)?r:o,f=a.right-d.width,h=Math.min(m.left,f),y=m.top-d.height,b=i?i.y:-1/0;y<b&&(y=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ot).show){this.dom.style.display="none";return}if(e.state.facet(zt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:za(this,Sn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},Sn=new WeakMap,Ja));var gs=J.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function ys(){return[hs,gs]}var bs=class extends Pn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=fe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=fe("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=fe("div","cm-floating-buttons"),a=t.state.facet(xt),i={...W,...a.keymaps},s=fe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Vn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Xr(t)});let c=fe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Vn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},ws=class extends Pn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(xt);t==null||t.stopPropagation();let o=n.state.field(ot),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),m=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:m,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(ot).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(h=r.onError)==null||h.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(zr),r=t.state.field(Kr),o=fe("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=fe("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",b=>b.preventDefault());let i=fe("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=fe("div","cm-ai-loading-container");this.loadingContainer=s;let c=fe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=fe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=fe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let m=fe("button","cm-ai-generate-button");m.textContent="\u23CE Generate",m.setAttribute("aria-label","Generate code"),m.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:kt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?m:d)}let h="";function y(){t.dispatch({effects:It.of(i.value)});let b=i.value.trim();b!==h&&(h=b,f(b))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function vs(e){if(!e.prompt)throw Error("prompt function is required");let t={...W,...e.keymaps};return[xt.of(e),ot,zr,Tt,Kr,ys(),ms,We.of([{key:t.showInput,run:Yr}]),ct.highest([We.of([{key:t.acceptEdit,run:Xr},{key:t.rejectEdit,run:Qr}])]),Es,Ss,Cs,xs]}const Es=J.updateListener.of(e=>{let t=e.state.field(ot);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let l=e.state.doc.lineAt(a).number;if(l<n){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=u,r+=u,o=!0}else if(l<=r){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=u,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),Ss=J.decorations.of(e=>{let t=e.state.field(Tt);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),Cs=J.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(xt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new ws(n.prompt),side:-1}).range(s))}}return $.set(r)}),xs=ze.define({create(e){return $.none},update(e,t){let n=t.state.field(Tt);return n?$.set([$.widget({widget:new bs(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>J.decorations.from(e)});var Is=Je(),T=Ya(Od(),1),Wn=()=>({entries:new Map}),{valueAtom:to,useActions:no}=Mr(Wn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(Bd),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let m=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(C=>!c.has(C));b&&v&&f.set(y.name,y.usedBy)}let h;m!=null&&m.runElapsedTimeMs&&m.runElapsedTimeMs>2e3&&(h=m.runElapsedTimeMs),f.size===0&&h===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:h,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):o({cellIds:[...l.values()].map(d=>d.cellId)}),Wn()):{...e,entries:l}},clear:()=>Wn()});Mn=function(){let e=Sr(),{submit:t,clear:n}=no(),{entries:r}=ie(to),o=Ni(),a=Rr();return(0,T.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},ts=function(e){let t=(0,Is.c)(16),n=ie(to),r=no(),o=Rr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let u;return t[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},t[3]=u):u=t[3],u}if(n.entries.size!==1){let u;return t[4]===i?u=t[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=u),u}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(ks)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let l;return t[12]!==i||t[13]!==s||t[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=l):l=t[15],l};function ks(e){return e.cellId}var ro=["python","sql","markdown"];function qn(e,t={}){var l;let{streaming:n=!1}=t,r=((l=e.match(/^\s*/))==null?void 0:l[0])??"",o=e.slice(r.length),a=null,i=!1;for(let u of ro)if(o.startsWith(`\`\`\`${u}`)){i=!0,a=o.slice(3+u.length),a.startsWith(`
2
+ var Nd=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ad=(Z,W,ye)=>W in Z?Nd(Z,W,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[W]=ye;var p=(Z,W,ye)=>Ad(Z,typeof W!="symbol"?W+"":W,ye),Ld=(Z,W,ye)=>W.has(Z)||Ha("Cannot "+ye);var za=(Z,W,ye)=>(Ld(Z,W,"read from private field"),ye?ye.call(Z):W.get(Z)),Ka=(Z,W,ye)=>W.has(Z)?Ha("Cannot add the same private member more than once"):W instanceof WeakSet?W.add(Z):W.set(Z,ye);import{s as Ya}from"./chunk-LvLJmgfZ.js";import{d as Xa,f as Sr,i as Y,l as In,n as ae,p as Dt,s as kn,u as ie}from"./useEvent-D91BmmQi.js";import{t as Od}from"./react-Bj1aDYRI.js";import{$n as _d,$t as Ud,B as Qa,Ct as Tn,Dn as jd,E as Nn,En as Dd,Et as Pt,F as Pd,Gi as Fd,Gt as Md,H as Rd,Hi as Za,Hn as Bd,Jn as ei,K as ti,Kn as Gd,Kt as Cr,Lt as Jd,On as Vd,Rt as ni,Sn as $d,St as xr,Ti as ri,Tr as Wd,Tt as qd,U as oi,Un as Hd,V as An,W as ai,Wn as zd,Xn as Kd,Xt as ii,Yn as Yd,Yt as Ir,Zn as Xd,Zt as si,at as Qd,bi as Zd,bt as ef,di as tf,ea as Ln,en as nf,er as rf,fi as kr,gn as of,i as li,ir as af,jn as Tr,kt as sf,l as ci,m as yt,mt as lf,na as Nr,nn as cf,pn as On,pt as Ar,ri as uf,rn as df,st as ff,tn as mf,u as ui,wi as pf,wn as hf,wt as gf,xt as yf,y as tt,yi as bf,yt as wf,__tla as vf}from"./cells-aqfX084m.js";import{B as Ef,N as Sf,P as Lr,R as di,S as Cf,T as fi,k as xf,w as If}from"./zod-H_cgTO0M.js";import{t as Je}from"./compiler-runtime-B3qBwwSJ.js";import{C as kf,f as Tf,m as Nf,p as Af,t as Lf,v as Of,w as _f}from"./ai-model-dropdown-C7iiWBqP.js";import{_ as Uf,c as mi,g as $e,m as Or,t as jf}from"./useEventListener-C0195JsF.js";import{t as Ft}from"./invariant-CkiqGLcK.js";import{E as _r,_ as pi,c as Df,g as hi,l as gi,v as yi}from"./utils-BWBBpCkT.js";import{S as bi,T as Pf,m as Ff,o as Mf,r as wi,v as bt,w as Mt}from"./config-CR3KxW53.js";import{n as Rf,t as Bf}from"./switch-DLGijIXN.js";import{c as Gf,n as Jf,r as Vf}from"./readonly-python-code-DB23yd7T.js";import{t as $f}from"./ErrorBoundary-DzTD8LVq.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as Wf}from"./jsx-runtime-Blw4afVn.js";import{l as qf,r as Hf,t as zf}from"./popover-Bcz1Zikb.js";import{X as Kf,Z as Yf,__tla as Xf}from"./JsonOutput-B0aYK7up.js";import{t as Ur}from"./label-CqjrpwRC.js";import{r as Qf}from"./download-CkMUlfM3.js";import{t as _n}from"./tooltip-4bZlU7jl.js";import{r as jr,t as lt}from"./button-DDGiD1NW.js";import{At as Zf,Bt as Un,Ct as em,Dt as tm,E as nm,Et as vi,Ft as rm,Gt as Rt,H as Ei,Ht as om,I as am,P as im,Qt as ze,Rt as Dr,St as sm,Tt as We,Ut as wt,V as lm,Wt as Pr,Yt as cm,Zt as pe,_ as um,at as $,dt as jn,en as Bt,gt as dm,ht as fm,lt as mm,m as pm,ot as hm,qt as ct,rn as Dn,st as J,ut as Xe,w as gm,xt as ym}from"./dist-12S8I4CH.js";import{C as bm,E as wm,I as vm,O as Em,S as Sm,a as Cm,c as xm,n as Fr,r as Im,w as km}from"./dist-CiVShZKM.js";import{o as Si}from"./arrays-DbOq36rN.js";import{n as Tm}from"./once-CGKw_kwj.js";import{t as Mr}from"./createReducer-DGx5Af-C.js";import{a as Nm,c as Am,f as Pn,h as Lm,i as Om,l as Gt,n as Ci,o as _m,t as Um}from"./dist-DYEuVkEX.js";import{t as jm}from"./main-BNL5rxQw.js";import{r as Fn,t as Dm}from"./requests-9-v2bhoi.js";import{t as Pm}from"./createLucideIcon-w-Qo9n0R.js";import{r as xi,t as Fm,__tla as Mm}from"./layout-1Z2AhO6k.js";import{t as Rm}from"./x-C-Eq0ag8.js";import{t as Bm}from"./circle-check-C32B6Qa1.js";import{B as Gm,F as Jm,L as Vm,N as $m,O as Wm,V as qm,a as Ii,d as Hm,k as ki,n as zm,o as Km,r as Ti,s as Ym,w as Xm}from"./add-cell-with-ai-C1L7x0xr.js";import{r as Qm,t as Zm}from"./file-icons-Chripuk-.js";import{n as ep}from"./spinner-D-V4psAa.js";import{n as Rr,t as Ni}from"./useDeleteCell-DQP-NBq2.js";import{t as Ai}from"./save-DBuEmnnF.js";import{Y as tp,Z as Li}from"./input-JxFwu-3G.js";import{t as np}from"./sparkles-DUCpRFlS.js";import{t as rp}from"./preload-helper-TXkS1QI3.js";import{a as op}from"./dist-CPjTeT8p.js";import{t as vt}from"./use-toast-BwJoaaDM.js";import{n as Qe}from"./paths-BKO-pHK6.js";import{t as ap}from"./session-BmukRjSi.js";import{r as ip}from"./useTheme-Bxv9B31g.js";import{n as Oi}from"./copy-Bxb1_Gtw.js";import{k as sp}from"./usePress-5hBv4sjD.js";import{a as lp}from"./useRunCells-BtSwerrU.js";import{c as _i,i as Ui,n as ji,r as cp}from"./dialog-BCVepWLJ.js";import{t as Di}from"./useHotkey-DLZvrRZT.js";import{n as Pi}from"./ImperativeModal-fY-ZfT0b.js";import{a as up}from"./errors-PgHhDa-M.js";import{t as z}from"./extends-B9D0JO9U.js";import{t as Jt}from"./objectWithoutPropertiesLoose-CboCOq4o.js";import{t as dp}from"./kbd-C5HnBH5U.js";import{a as Br}from"./useInstallPackage-WiYBwhUO.js";import{i as fp,n as Fi}from"./state-Tc7pRohh.js";import{a as mp,o as pp}from"./cell-link-C0hhYyNu.js";import{r as Mi}from"./html-to-image-B-nAUvDC.js";import{a as hp}from"./focus-tOmGbv38.js";import{n as gp}from"./useAsyncData-Bg5iAViP.js";import{a as yp,o as Ri,r as bp,s as Bi,t as wp}from"./command-Dqxie4gq.js";import{a as Gi}from"./renderShortcut-Bl8_FVn8.js";import{n as vp,t as Ep}from"./icons-CIPE8AIY.js";import{n as Et}from"./esm-B30N1GS0.js";import{t as Ji}from"./dist-DrtRBAn8.js";import{t as Sp}from"./useSplitCell-jH70A2Sz.js";import{co as Cp,do as Gr,fo as xp,ft as Ip,go as St,ho as Vi,lo as Jr,mo as $i,oo as kp,po as Tp,so as Wi,uo as qi,__tla as Np}from"./loro_wasm_bg-RNUly1SE.js";import{t as Ap}from"./ws-BmTnbVEi.js";import{t as Hi}from"./Inputs-B8-VCb_j.js";import{r as Lp,t as Op}from"./skeleton-xuR254Kw.js";let Vr,Vt,Mn,Rn,Bn,$r,we,zi,Ki,Yi,Xi,Wr,qr,ut,Qi,Zi,es,$t,Gn,ts,_p=Promise.all([(()=>{try{return vf}catch{}})(),(()=>{try{return Xf}catch{}})(),(()=>{try{return Mm}catch{}})(),(()=>{try{return Np}catch{}})()]).then(async()=>{var Sn,Ja,Ee,Se,Ce,xe,Ie,ke,Te,Ne,Ae,Le,Oe,_e,Ue,je,De,Pe,Fe,Me,Re;var Z=Pm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const W={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const xt=Rt.define({combine:e=>Dn(e,{onError:console.error,inputDebounceTime:ye,keymaps:W},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=pe.define(),ot=ze.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(rt))return n.value;return e}}),It=pe.define(),kt=pe.define(),zr=ze.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(kt)&&(n={...n,shouldFocus:r.value});return n}}),Wt=pe.define(),Tt=ze.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=pe.define(),Kr=ze.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var ns=1;const Yr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<ns)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[rt.of({show:!0,lineFrom:i,lineTo:s}),kt.of(!0),It.of("")],selection:wt.cursor(o.from)}),!0},Xr=e=>e.state.field(Tt)?(e.dispatch({effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1};var Jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function rs(){return navigator.platform.startsWith("Mac")?Jn.mac:navigator.platform.startsWith("Win")?Jn.windows:Jn.default}function Vn(e){return e.replace("Mod",rs()).replace("-"," ").toUpperCase()}function fe(e,t){let n=document.createElement(e);return n.className=t,n}function os(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var qt=ze.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Ht));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Ht=pe.define();function as(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new is(t),side:1});return r.push(o.range(n)),$.set(r)}var is=class extends jn{constructor(t){super();p(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
+ `).length-1}},ss=class{constructor(e){p(this,"cache",new Map);p(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},ls=(e,t)=>Xe.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new ss(t.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:Ht.of({text:a,doc:r})});return}try{let d=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=t.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(o,d),n.view.dispatch({effects:Ht.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),cs=Xe.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=as(e.view,t)}},{decorations:e=>e.decorations});function us(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:wt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:wt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var ds=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({...us(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},Zr=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({effects:Ht.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},fs=We.of([{key:"Tab",run:ds},{key:"Escape",run:Zr}]),$n=Rt.define({combine:e=>e.at(-1)});function eo(e){let{delay:t=500,includeKeymap:n=!0}=e,r=os(e.fetchFn,t);return[qt,$n.of(e),ls(r,e),cs,n?fs:[]]}const ms=J.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function ps(e){var s,c;let t=e.state.facet(xt),n={...W,...t.keymaps},r=e.state.facet(zt),o=fe("div","cm-ai-tooltip").appendChild(fe("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=Vn(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=o.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),Yr(e)}),o}const zt=Rt.define({combine(e){return Dn(e,{render:ps,hideOnBlur:!1,label:"Edit with AI"})}}),hs=Xe.fromClass((Ja=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ka(this,Sn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(o),u=c(r)||c(o);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),m=s(r)?r:o,f=a.right-d.width,h=Math.min(m.left,f),y=m.top-d.height,b=i?i.y:-1/0;y<b&&(y=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ot).show){this.dom.style.display="none";return}if(e.state.facet(zt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:za(this,Sn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},Sn=new WeakMap,Ja));var gs=J.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function ys(){return[hs,gs]}var bs=class extends jn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=fe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=fe("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=fe("div","cm-floating-buttons"),a=t.state.facet(xt),i={...W,...a.keymaps},s=fe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Vn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Xr(t)});let c=fe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Vn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},ws=class extends jn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(xt);t==null||t.stopPropagation();let o=n.state.field(ot),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),m=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:m,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(ot).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(h=r.onError)==null||h.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(zr),r=t.state.field(Kr),o=fe("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=fe("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",b=>b.preventDefault());let i=fe("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=fe("div","cm-ai-loading-container");this.loadingContainer=s;let c=fe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=fe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=fe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let m=fe("button","cm-ai-generate-button");m.textContent="\u23CE Generate",m.setAttribute("aria-label","Generate code"),m.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:kt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?m:d)}let h="";function y(){t.dispatch({effects:It.of(i.value)});let b=i.value.trim();b!==h&&(h=b,f(b))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function vs(e){if(!e.prompt)throw Error("prompt function is required");let t={...W,...e.keymaps};return[xt.of(e),ot,zr,Tt,Kr,ys(),ms,We.of([{key:t.showInput,run:Yr}]),ct.highest([We.of([{key:t.acceptEdit,run:Xr},{key:t.rejectEdit,run:Qr}])]),Es,Ss,Cs,xs]}const Es=J.updateListener.of(e=>{let t=e.state.field(ot);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let l=e.state.doc.lineAt(a).number;if(l<n){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=u,r+=u,o=!0}else if(l<=r){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=u,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),Ss=J.decorations.of(e=>{let t=e.state.field(Tt);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),Cs=J.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(xt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new ws(n.prompt),side:-1}).range(s))}}return $.set(r)}),xs=ze.define({create(e){return $.none},update(e,t){let n=t.state.field(Tt);return n?$.set([$.widget({widget:new bs(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>J.decorations.from(e)});var Is=Je(),T=Ya(Od(),1),Wn=()=>({entries:new Map}),{valueAtom:to,useActions:no}=Mr(Wn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(Bd),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let m=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(C=>!c.has(C));b&&v&&f.set(y.name,y.usedBy)}let h;m!=null&&m.runElapsedTimeMs&&m.runElapsedTimeMs>2e3&&(h=m.runElapsedTimeMs),f.size===0&&h===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:h,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):o({cellIds:[...l.values()].map(d=>d.cellId)}),Wn()):{...e,entries:l}},clear:()=>Wn()});Mn=function(){let e=Sr(),{submit:t,clear:n}=no(),{entries:r}=ie(to),o=Ni(),a=Rr();return(0,T.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},ts=function(e){let t=(0,Is.c)(16),n=ie(to),r=no(),o=Rr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let u;return t[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},t[3]=u):u=t[3],u}if(n.entries.size!==1){let u;return t[4]===i?u=t[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=u),u}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(ks)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let l;return t[12]!==i||t[13]!==s||t[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=l):l=t[15],l};function ks(e){return e.cellId}var ro=["python","sql","markdown"];function qn(e,t={}){var l;let{streaming:n=!1}=t,r=((l=e.match(/^\s*/))==null?void 0:l[0])??"",o=e.slice(r.length),a=null,i=!1;for(let u of ro)if(o.startsWith(`\`\`\`${u}`)){i=!0,a=o.slice(3+u.length),a.startsWith(`
4
4
  `)&&(a=a.slice(1));break}if(!i&&o.startsWith("```")){let u=o.slice(3);if(n&&Ts(u))return e;i=!0,a=u,a.startsWith(`
5
5
  `)&&(a=a.slice(1))}if(!i||a===null)return e;if(n)return a;let s=a.trimEnd(),c=a.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:a}function Ts(e){return e.includes(`
6
6
  `)?!1:ro.some(t=>t.startsWith(e))}async function Ns(e){if(!e.ok)throw Error(await e.text());if(!e.body)throw Error("Failed to get response body");let t="";return await Vm({stream:qm({stream:e.body,schema:Gm}).pipeThrough(new TransformStream({transform(n){if(!n.success)throw n.error;let r=n.value;if(r.type==="text-delta")t+=r.delta;else if(r.type==="error")throw Error(r.errorText)}})),onError:n=>{throw n}}),qn(t)}async function As(e){var i;let t=`
@@ -9,19 +9,19 @@ ${e.codeBefore}
9
9
  ${e.selection}
10
10
  </rewrite_this>
11
11
  ${e.codeAfter}
12
- `.trim(),n=wi();await bi();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:e.prompt,code:t,selectedText:e.selection,includeOtherCode:"",language:e.language})}),o=((i=e.selection.match(/^\s*/))==null?void 0:i[0])||"",a=await Ns(r);return a.startsWith(o)||(a=o+a),a}var g=Ya(Wf(),1),Ls=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],Hn;function Os(){let e=async r=>{let o=Y.get(_r),{saveUserConfig:a}=jm();await a({config:{runtime:{auto_reload:r}}}).then(()=>Y.set(_r,{...o,runtime:{...o.runtime,auto_reload:r}}))},t=[{match:"!pip install",onMatch:()=>{Y.set(Tr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{Y.set(Tr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{Y.set(Tr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await e("autorun")},title:"Module reload",description:(0,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await e("lazy")},title:"Module reload",description:(0,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await e("off")},title:"Module reload",description:(0,g.jsx)(g.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,g.jsxs)(g.Fragment,{children:["Shell commands are not directly supported.",(0,g.jsx)("br",{}),"Use ",(0,g.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...Ls.map(r=>({match:r,onMatch:()=>{},title:(0,g.jsx)(dp,{className:"inline",children:r}),description:(0,g.jsxs)(g.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,g.jsx)("a",{href:"https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands",target:"_blank",className:"text-link underline cursor-pointer",rel:"noopener noreferrer",children:"documentation"}),"."]})}))],n=new Map(t.map(r=>[r.match,r]));return J.updateListener.of(r=>{if(r.docChanged){let o=r.state.selection.main,a=r.state.doc,i=a.lineAt(o.head),s=a.sliceString(i.from,o.anchor).trim(),c=n.get(s);c&&(c.onMatch(),Hn?Hn.upsert({title:c.title,description:c.description}):Hn=vt({title:c.title,description:c.description}))}})}var oo=new Set(["Escape","Alt-`"]);function _s(e,t=oo){return e.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>t.has(r)))}function Us(e=!0){let t=new Set(oo);e||t.add("Enter");let n=_s(Am,t);return ct.highest(We.of([...n,{key:"Ctrl-y",run:r=>On(r)?Ci(r):!1},{key:"Ctrl-n",run:r=>On(r)?Dn(!0)(r):!1},{key:"Ctrl-p",run:r=>On(r)?Dn(!1)(r):!1}]))}const zn=pe.define(),Kn=pe.define(),Yn=pe.define();function q(e,t){if(!e)throw Error(t)}var Ps=3402823466385289e23,js=-3402823466385289e23,Ds=4294967295,Fs=2147483647,Ms=-2147483648;function Kt(e){if(typeof e!="number")throw Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>Fs||e<Ms)throw Error("invalid int 32: "+e)}function Xn(e){if(typeof e!="number")throw Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>Ds||e<0)throw Error("invalid uint 32: "+e)}function ao(e){if(typeof e!="number")throw Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>Ps||e<js))throw Error("invalid float 32: "+e)}var io=Symbol("@bufbuild/protobuf/enum-type");function Rs(e){let t=e[io];return q(t,"missing enum type on enum object"),t}function so(e,t,n,r){e[io]=lo(t,n.map(o=>({no:o.no,name:o.name,localName:e[o.no]})),r)}function lo(e,t,n){let r=Object.create(null),o=Object.create(null),a=[];for(let i of t){let s=co(i);a.push(s),r[i.name]=s,o[i.no]=s}return{typeName:e,values:a,findName(i){return r[i]},findNumber(i){return o[i]}}}function Bs(e,t,n){let r={};for(let o of t){let a=co(o);r[a.localName]=a.no,r[a.no]=a.localName}return so(r,e,t,n),r}function co(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var K=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,o=r.makeReadOptions(t);return r.readMessage(n,e,o,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,(e==null?void 0:e.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Gs(e,t,n,r){let o=(r==null?void 0:r.localName)??t.substring(t.lastIndexOf(".")+1),a={[o]:function(i){e.util.initFields(this),e.util.initPartial(i,this)}}[o];return Object.setPrototypeOf(a.prototype,new K),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(i,s){return new a().fromBinary(i,s)},fromJson(i,s){return new a().fromJson(i,s)},fromJsonString(i,s){return new a().fromJsonString(i,s)},equals(i,s){return e.util.equals(a,i,s)}}),a}function Js(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}throw Error("invalid varint")}function Qn(e,t,n){for(let a=0;a<28;a+=7){let i=e>>>a,s=!(!(i>>>7)&&t==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=e>>>28&15|(t&7)<<4,o=!!(t>>3);if(n.push((o?r|128:r)&255),o){for(let a=3;a<31;a+=7){let i=t>>>a,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(t>>>31&1)}}var Yt=4294967296;function uo(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function a(i,s){let c=Number(e.slice(i,s));o*=n,r=r*n+c,r>=Yt&&(o+=r/Yt|0,r%=Yt)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?mo(r,o):Zn(r,o)}function Vs(e,t){let n=Zn(e,t),r=n.hi&2147483648;r&&(n=mo(n.lo,n.hi));let o=fo(n.lo,n.hi);return r?"-"+o:o}function fo(e,t){if({lo:e,hi:t}=$s(e,t),t<=2097151)return String(Yt*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,a=n+r*6777216+o*6710656,i=r+o*8147497,s=o*2,c=1e7;return a>=c&&(i+=Math.floor(a/c),a%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+po(i)+po(a)}function $s(e,t){return{lo:e>>>0,hi:t>>>0}}function Zn(e,t){return{lo:e|0,hi:t|0}}function mo(e,t){return t=~t,e?e=~e+1:t+=1,Zn(e,t)}var po=e=>{let t=String(e);return"0000000".slice(t.length)+t};function ho(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Ws(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw Error("invalid varint");return this.assertBounds(),t>>>0}function qs(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),o=BigInt("9223372036854775807"),a=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>o||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<a)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigInt64(0,!0)},uDec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigUint64(0,!0)}}}let t=r=>q(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>q(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),t(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),t(r),uo(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),uo(r)},dec(r,o){return Vs(r,o)},uDec(r,o){return fo(r,o)}}}const V=qs();var w;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(w||(w={}));var at;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(at||(at={}));function Ze(e,t,n){if(t===n)return!0;if(e==w.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==n}return!1}function ft(e,t){switch(e){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==0?V.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function go(e,t){switch(e){case w.BOOL:return t===!1;case w.STRING:return t==="";case w.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var X;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(X||(X={}));var Hs=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let t=new Uint8Array(e),n=0;for(let r=0;r<this.chunks.length;r++)t.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Xn(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Kt(e),ho(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){ao(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Xn(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Kt(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Kt(e),e=(e<<1^e>>31)>>>0,ho(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=V.enc(e);return Qn(t.lo,t.hi,this.buf),this}sint64(e){let t=V.enc(e),n=t.hi>>31;return Qn(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=V.uEnc(e);return Qn(t.lo,t.hi,this.buf),this}},zs=class{constructor(e,t){this.varint64=Js,this.uint32=Ws,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case X.Varint:for(;this.buf[this.pos++]&128;);break;case X.Bit64:this.pos+=4;case X.Bit32:this.pos+=4;break;case X.LengthDelimited:let r=this.uint32();this.pos+=r;break;case X.StartGroup:for(;;){let[o,a]=this.tag();if(a===X.EndGroup){if(t!==void 0&&o!==t)throw Error("invalid end group tag");break}this.skip(a,o)}break;default:throw Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return V.dec(...this.varint64())}uint64(){return V.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,V.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return V.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return V.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function Ks(e,t,n,r){let o;return{typeName:t,extendee:n,get field(){if(!o){let a=typeof r=="function"?r():r;a.name=t.split(".").pop(),a.jsonName=`[${t}]`,o=e.util.newFieldList([a]).list()[0]}return o},runtime:e}}function yo(e){let t=e.field.localName,n=Object.create(null);return n[t]=Ys(e),[n,()=>n[t]]}function Ys(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return ft(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Xs(e,t){if(!t.repeated&&(t.kind=="enum"||t.kind=="scalar")){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(n=>n.no===t.no)}var Ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xt=[];for(let e=0;e<Ke.length;e++)Xt[Ke[e].charCodeAt(0)]=e;Xt[45]=Ke.indexOf("+"),Xt[95]=Ke.indexOf("/");const Qt={dec(e){let t=e.length*3/4;e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&--t;let n=new Uint8Array(t),r=0,o=0,a,i=0;for(let s=0;s<e.length;s++){if(a=Xt[e.charCodeAt(s)],a===void 0)switch(e[s]){case"=":o=0;case`
13
- `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:i=a,o=1;break;case 1:n[r++]=i<<2|(a&48)>>4,i=a,o=2;break;case 2:n[r++]=(i&15)<<4|(a&60)>>2,i=a,o=3;break;case 3:n[r++]=(i&3)<<6|a,o=0;break}}if(o==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,o=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Ke[r>>2],o=(r&3)<<4,n=1;break;case 1:t+=Ke[o|r>>4],o=(r&15)<<2,n=2;break;case 2:t+=Ke[o|r>>6],t+=Ke[r&63],n=0;break}return n&&(t+=Ke[o],t+="=",n==1&&(t+="=")),t}};function Qs(e,t,n){wo(t,e);let r=t.runtime.bin.makeReadOptions(n),o=Xs(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,i]=yo(t);for(let s of o)t.runtime.bin.readField(a,r.readerFactory(s.data),t.field,s.wireType,r);return i()}function Zs(e,t,n,r){wo(t,e);let o=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(bo(e,t)){let l=e.getType().runtime.bin.listUnknownFields(e).filter(u=>u.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let u of l)e.getType().runtime.bin.onUnknownField(e,u.no,u.wireType,u.data)}let i=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,i,a);let c=o.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);e.getType().runtime.bin.onUnknownField(e,l,u,d)}}function bo(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(r=>r.no==t.field.no)}function wo(e,t){q(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function vo(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?t[n]!==void 0:e.kind=="enum"?t[n]!==e.T.values[0].no:!go(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function Eo(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?ft(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function Ye(e,t){if(typeof e!="object"||!e||!Object.getOwnPropertyNames(K.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function So(e,t){return Ye(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var Co={ignoreUnknownFields:!1},xo={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function el(e){return e?Object.assign(Object.assign({},Co),e):Co}function tl(e){return e?Object.assign(Object.assign({},xo),e):xo}var Zt=Symbol(),en=Symbol();function nl(){return{makeReadOptions:el,makeWriteOptions:tl,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw Error(`cannot decode message ${e.typeName} from JSON: ${qe(t)}`);r??(r=new e);let o=new Map,a=n.typeRegistry;for(let[i,s]of Object.entries(t)){let c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=o.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);o.set(c.oneof,i)}Io(r,s,c,n,e)}else{let l=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=a.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==e.typeName){l=!0;let[d,m]=yo(u);Io(d,s,u.field,n,u),Zs(r,u,m(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},o;try{for(o of n.fields.byNumber()){if(!vo(o,e)){if(o.req)throw"required field not set";if(!t.emitDefaultValues||!ol(o))continue}let i=o.oneof?e[o.oneof.localName].value:e[o.localName],s=ko(o,i,t);s!==void 0&&(r[t.useProtoFieldName?o.name:o.jsonName]=s)}let a=t.typeRegistry;if(a!=null&&a.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let s=a.findExtensionFor(n.typeName,i.no);if(s&&bo(e,s)){let c=Qs(e,s,t),l=ko(s.field,c,t);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(a){let i=o?`cannot encode field ${n.typeName}.${o.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=a instanceof Error?a.message:String(a);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(e,t,n){return Nt(e,t,n??at.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||go(e,t)))return tn(e,t)},debug:qe}}function qe(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function Io(e,t,n,r,o){let a=n.localName;if(n.repeated){if(q(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let s of t){if(s===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=er(n.T,s,r.ignoreUnknownFields,!0);c!==en&&i.push(c);break;case"scalar":try{i.push(Nt(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let[s,c]of Object.entries(t)){if(c===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: map value null`);let l;try{l=rl(n.K,s)}catch(u){let d=`cannot decode map key for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}switch(n.V.kind){case"message":i[l]=n.V.T.fromJson(c,r);break;case"enum":let u=er(n.V.T,c,r.ignoreUnknownFields,!0);u!==en&&(i[l]=u);break;case"scalar":try{i[l]=Nt(n.V.T,c,at.BIGINT,!0)}catch(d){let m=`cannot decode map value for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),Error(m)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":let i=n.T;if(t===null&&i.typeName!="google.protobuf.Value")return;let s=e[a];Ye(s)?s.fromJson(t,r):(e[a]=s=i.fromJson(t,r),i.fieldWrapper&&!n.oneof&&(e[a]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=er(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Zt:Eo(n,e);break;case en:break;default:e[a]=c;break}break;case"scalar":try{let l=Nt(n.T,t,n.L,!1);l===Zt?Eo(n,e):e[a]=l}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function rl(e,t){if(e===w.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return Nt(e,t,at.BIGINT,!0).toString()}function Nt(e,t,n,r){if(t===null)return r?ft(e,n):Zt;switch(e){case w.DOUBLE:case w.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return 1/0;if(t==="-Infinity")return-1/0;if(t===""||typeof t=="string"&&t.trim().length!==t.length||typeof t!="string"&&typeof t!="number")break;let o=Number(t);if(Number.isNaN(o)||!Number.isFinite(o))break;return e==w.FLOAT&&ao(o),o;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let a;if(typeof t=="number"?a=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),a===void 0)break;return e==w.UINT32||e==w.FIXED32?Xn(a):Kt(a),a;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof t!="number"&&typeof t!="string")break;let i=V.parse(t);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof t!="number"&&typeof t!="string")break;let s=V.uParse(t);return n?s.toString():s;case w.BOOL:if(typeof t!="boolean")break;return t;case w.STRING:if(typeof t!="string")break;return t;case w.BYTES:if(t==="")return new Uint8Array;if(typeof t!="string")break;return Qt.dec(t)}throw Error()}function er(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:Zt;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.findName(t);if(o!==void 0)return o.no;if(n)return en;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${qe(t)}`)}function ol(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ko(e,t,n){if(e.kind=="map"){q(typeof t=="object"&&!!t);let r={},o=Object.entries(t);switch(e.V.kind){case"scalar":for(let[i,s]of o)r[i.toString()]=tn(e.V.T,s);break;case"message":for(let[i,s]of o)r[i.toString()]=s.toJson(n);break;case"enum":let a=e.V.T;for(let[i,s]of o)r[i.toString()]=tr(a,s,n.enumAsInteger);break}return n.emitDefaultValues||o.length>0?r:void 0}if(e.repeated){q(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let o=0;o<t.length;o++)r.push(tn(e.T,t[o]));break;case"enum":for(let o=0;o<t.length;o++)r.push(tr(e.T,t[o],n.enumAsInteger));break;case"message":for(let o=0;o<t.length;o++)r.push(t[o].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case"scalar":return tn(e.T,t);case"enum":return tr(e.T,t,n.enumAsInteger);case"message":return So(e.T,t).toJson(n)}}function tr(e,t,n){var r;return q(typeof t=="number"),e.typeName=="google.protobuf.NullValue"?null:n?t:((r=e.findNumber(t))==null?void 0:r.name)??t}function tn(e,t){switch(e){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return q(typeof t=="number"),t;case w.FLOAT:case w.DOUBLE:return q(typeof t=="number"),Number.isNaN(t)?"NaN":t===1/0?"Infinity":t===-1/0?"-Infinity":t;case w.STRING:return q(typeof t=="string"),t;case w.BOOL:return q(typeof t=="boolean"),t;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return q(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case w.BYTES:return q(t instanceof Uint8Array),Qt.enc(t)}}var mt=Symbol("@bufbuild/protobuf/unknown-fields"),To={readUnknownFields:!0,readerFactory:e=>new zs(e)},No={writeUnknownFields:!0,writerFactory:()=>new Hs};function al(e){return e?Object.assign(Object.assign({},To),e):To}function il(e){return e?Object.assign(Object.assign({},No),e):No}function sl(){return{makeReadOptions:al,makeWriteOptions:il,listUnknownFields(e){return e[mt]??[]},discardUnknownFields(e){delete e[mt]},writeUnknownFields(e,t){let n=e[mt];if(n)for(let r of n)t.tag(r.no,r.wireType).raw(r.data)},onUnknownField(e,t,n,r){let o=e;Array.isArray(o[mt])||(o[mt]=[]),o[mt].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,o){let a=e.getType(),i=o?t.len:t.pos+n,s,c;for(;t.pos<i&&([s,c]=t.tag(),!(o===!0&&c==X.EndGroup));){let l=a.fields.find(s);if(!l){let u=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,u);continue}Ao(e,t,l,c,r)}if(o&&(c!=X.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ao,writeMessage(e,t,n){let r=e.getType();for(let o of r.fields.byNumber()){if(!vo(o,e)){if(o.req)throw Error(`cannot encode field ${r.typeName}.${o.name} to binary: required field not set`);continue}Lo(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&Lo(e,t,n,r)}}}function Ao(e,t,n,r,o){let{repeated:a,localName:i}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=i&&delete e.value,e.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=rn;if(n.kind=="scalar"&&n.L>0&&(c=cl),a){let m=e[i];if(r==X.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=t.uint32()+t.pos;for(;t.pos<f;)m.push(c(t,s))}else m.push(c(t,s))}else e[i]=c(t,s);break;case"message":let l=n.T;a?e[i].push(nn(t,new l,o,n)):Ye(e[i])?nn(t,e[i],o,n):(e[i]=nn(t,new l,o,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[i]=l.fieldWrapper.unwrapField(e[i])));break;case"map":let[u,d]=ll(n,t,o);e[i][u]=d;break}}function nn(e,t,n,r){let o=t.getType().runtime.bin,a=r==null?void 0:r.delimited;return o.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function ll(e,t,n){let r=t.uint32(),o=t.pos+r,a,i;for(;t.pos<o;){let[s]=t.tag();switch(s){case 1:a=rn(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=rn(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=nn(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=ft(e.K,at.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(e.V.kind){case"scalar":i=ft(e.V.T,at.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[a,i]}function cl(e,t){let n=rn(e,t);return typeof n=="bigint"?n.toString():n}function rn(e,t){switch(t){case w.STRING:return e.string();case w.BOOL:return e.bool();case w.DOUBLE:return e.double();case w.FLOAT:return e.float();case w.INT32:return e.int32();case w.INT64:return e.int64();case w.UINT64:return e.uint64();case w.FIXED64:return e.fixed64();case w.BYTES:return e.bytes();case w.FIXED32:return e.fixed32();case w.SFIXED32:return e.sfixed32();case w.SFIXED64:return e.sfixed64();case w.SINT64:return e.sint64();case w.UINT32:return e.uint32();case w.SINT32:return e.sint32()}}function Lo(e,t,n,r){q(t!==void 0);let o=e.repeated;switch(e.kind){case"scalar":case"enum":let a=e.kind=="enum"?w.INT32:e.T;if(o)if(q(Array.isArray(t)),e.packed)dl(n,a,e.no,t);else for(let i of t)At(n,a,e.no,i);else At(n,a,e.no,t);break;case"message":if(o){q(Array.isArray(t));for(let i of t)Oo(n,r,e,i)}else Oo(n,r,e,t);break;case"map":q(typeof t=="object"&&!!t);for(let[i,s]of Object.entries(t))ul(n,r,e,i,s);break}}function ul(e,t,n,r,o){e.tag(n.no,X.LengthDelimited),e.fork();let a=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:a=Number.parseInt(r);break;case w.BOOL:q(r=="true"||r=="false"),a=r=="true";break}switch(At(e,n.K,1,a),n.V.kind){case"scalar":At(e,n.V.T,2,o);break;case"enum":At(e,w.INT32,2,o);break;case"message":q(o!==void 0),e.tag(2,X.LengthDelimited).bytes(o.toBinary(t));break}e.join()}function Oo(e,t,n,r){let o=So(n.T,r);n.delimited?e.tag(n.no,X.StartGroup).raw(o.toBinary(t)).tag(n.no,X.EndGroup):e.tag(n.no,X.LengthDelimited).bytes(o.toBinary(t))}function At(e,t,n,r){q(r!==void 0);let[o,a]=_o(t);e.tag(n,o)[a](r)}function dl(e,t,n,r){if(!r.length)return;e.tag(n,X.LengthDelimited).fork();let[,o]=_o(t);for(let a=0;a<r.length;a++)e[o](r[a]);e.join()}function _o(e){let t=X.Varint;switch(e){case w.BYTES:case w.STRING:t=X.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:t=X.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:t=X.Bit32;break}let n=w[e].toLowerCase();return[t,n]}function fl(){return{setEnumType:so,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let o=r.localName,a=t,i=e;if(i[o]!=null)switch(r.kind){case"oneof":let s=i[o].case;if(s===void 0)continue;let c=r.findField(s),l=i[o].value;c&&c.kind=="message"&&!Ye(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Lt(l)),a[o]={case:s,value:l};break;case"scalar":case"enum":let u=i[o];r.T===w.BYTES&&(u=r.repeated?u.map(Lt):Lt(u)),a[o]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,h]of Object.entries(i[o]))a[o][f]=Lt(h);else Object.assign(a[o],i[o]);break;case"message":let m=r.V.T;for(let f of Object.keys(i[o])){let h=i[o][f];m.fieldWrapper||(h=new m(h)),a[o][f]=h}break}break;case"message":let d=r.T;if(r.repeated)a[o]=i[o].map(m=>Ye(m,d)?m:new d(m));else{let m=i[o];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?a[o]=Lt(m):a[o]=m:a[o]=Ye(m,d)?m:new d(m)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let o=t[r.localName],a=n[r.localName];if(r.repeated){if(o.length!==a.length)return!1;switch(r.kind){case"message":return o.every((i,s)=>r.T.equals(i,a[s]));case"scalar":return o.every((i,s)=>Ze(r.T,i,a[s]));case"enum":return o.every((i,s)=>Ze(w.INT32,i,a[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=o,s=a;return r.T.fieldWrapper&&(i!==void 0&&!Ye(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Ye(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return Ze(w.INT32,o,a);case"scalar":return Ze(r.T,o,a);case"oneof":if(o.case!==a.case)return!1;let c=r.findField(o.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(o.value,a.value);case"enum":return Ze(w.INT32,o.value,a.value);case"scalar":return Ze(c.T,o.value,a.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(o).concat(Object.keys(a));switch(r.V.kind){case"message":let u=r.V.T;return l.every(m=>u.equals(o[m],a[m]));case"enum":return l.every(m=>Ze(w.INT32,o[m],a[m]));case"scalar":let d=r.V.T;return l.every(m=>Ze(d,o[m],a[m]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let o of t.fields.byMember()){let a=e[o.localName],i;if(o.repeated)i=a.map(on);else if(o.kind=="map"){i=r[o.localName];for(let[s,c]of Object.entries(a))i[s]=on(c)}else i=o.kind=="oneof"?o.findField(a.case)?{case:a.case,value:on(a.value)}:{case:void 0}:on(a);r[o.localName]=i}for(let o of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,o.no,o.wireType,o.data);return n}}}function on(e){if(e===void 0)return e;if(Ye(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Lt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function ml(e,t,n){return{syntax:e,json:nl(),bin:sl(),util:Object.assign(Object.assign({},fl()),{newFieldList:t,initFields:n}),makeMessageType(r,o,a){return Gs(this,r,o,a)},makeEnum:Bs,makeEnumType:lo,getEnumType:Rs,makeExtension(r,o,a){return Ks(this,r,o,a)}}}var pl=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let t={};for(let n of this.list())t[n.jsonName]=t[n.name]=n;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){let t={};for(let n of this.list())t[n.no]=n;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function Uo(e,t){let n=Po(e);return t?n:vl(wl(n))}function hl(e){return Uo(e,!1)}const gl=Po;function Po(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var yl=new Set(["constructor","toString","toJSON","valueOf"]),bl=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),jo=e=>`${e}$`,wl=e=>bl.has(e)?jo(e):e;const vl=e=>yl.has(e)?jo(e):e;var El=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=hl(e)}addField(e){q(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}};function Sl(e,t){let n=[],r;for(let o of typeof e=="function"?e():e){let a=o;if(a.localName=Uo(o.name,o.oneof!==void 0),a.jsonName=o.jsonName??gl(o.name),a.repeated=o.repeated??!1,o.kind=="scalar"&&(a.L=o.L??at.BIGINT),a.delimited=o.delimited??!1,a.req=o.req??!1,a.opt=o.opt??!1,o.packed===void 0&&(t?a.packed=o.kind=="enum"||o.kind=="scalar"&&o.T!=w.BYTES&&o.T!=w.STRING:a.packed=!1),o.oneof!==void 0){let i=typeof o.oneof=="string"?o.oneof:o.oneof.name;(!r||r.name!=i)&&(r=new El(i)),a.oneof=r,r.addField(a)}n.push(a)}return n}const E=ml("proto3",e=>new pl(e,t=>Sl(t,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=ft(t.T,t.L);break;case"message":break}}});var ve;(function(e){e[e.Unary=0]="Unary",e[e.ServerStreaming=1]="ServerStreaming",e[e.ClientStreaming=2]="ClientStreaming",e[e.BiDiStreaming=3]="BiDiStreaming"})(ve||(ve={}));var Do;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(Do||(Do={}));var nr;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(nr||(nr={})),E.util.setEnumType(nr,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var an;(function(e){e[e.CODEIUM=0]="CODEIUM"})(an||(an={})),E.util.setEnumType(an,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var sn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",e[e.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",e[e.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",e[e.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(sn||(sn={})),E.util.setEnumType(sn,"exa.codeium_common_pb.EventType",[{no:0,name:"EVENT_TYPE_UNSPECIFIED"},{no:1,name:"EVENT_TYPE_ENABLE_CODEIUM"},{no:2,name:"EVENT_TYPE_DISABLE_CODEIUM"},{no:3,name:"EVENT_TYPE_SHOW_PREVIOUS_COMPLETION"},{no:4,name:"EVENT_TYPE_SHOW_NEXT_COMPLETION"}]);var ln;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",e[e.CACHE=2]="CACHE",e[e.NETWORK=3]="NETWORK"})(ln||(ln={})),E.util.setEnumType(ln,"exa.codeium_common_pb.CompletionSource",[{no:0,name:"COMPLETION_SOURCE_UNSPECIFIED"},{no:1,name:"COMPLETION_SOURCE_TYPING_AS_SUGGESTED"},{no:2,name:"COMPLETION_SOURCE_CACHE"},{no:3,name:"COMPLETION_SOURCE_NETWORK"}]);var it;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.C=1]="C",e[e.CLOJURE=2]="CLOJURE",e[e.COFFEESCRIPT=3]="COFFEESCRIPT",e[e.CPP=4]="CPP",e[e.CSHARP=5]="CSHARP",e[e.CSS=6]="CSS",e[e.CUDACPP=7]="CUDACPP",e[e.DOCKERFILE=8]="DOCKERFILE",e[e.GO=9]="GO",e[e.GROOVY=10]="GROOVY",e[e.HANDLEBARS=11]="HANDLEBARS",e[e.HASKELL=12]="HASKELL",e[e.HCL=13]="HCL",e[e.HTML=14]="HTML",e[e.INI=15]="INI",e[e.JAVA=16]="JAVA",e[e.JAVASCRIPT=17]="JAVASCRIPT",e[e.JSON=18]="JSON",e[e.JULIA=19]="JULIA",e[e.KOTLIN=20]="KOTLIN",e[e.LATEX=21]="LATEX",e[e.LESS=22]="LESS",e[e.LUA=23]="LUA",e[e.MAKEFILE=24]="MAKEFILE",e[e.MARKDOWN=25]="MARKDOWN",e[e.OBJECTIVEC=26]="OBJECTIVEC",e[e.OBJECTIVECPP=27]="OBJECTIVECPP",e[e.PERL=28]="PERL",e[e.PHP=29]="PHP",e[e.PLAINTEXT=30]="PLAINTEXT",e[e.PROTOBUF=31]="PROTOBUF",e[e.PBTXT=32]="PBTXT",e[e.PYTHON=33]="PYTHON",e[e.R=34]="R",e[e.RUBY=35]="RUBY",e[e.RUST=36]="RUST",e[e.SASS=37]="SASS",e[e.SCALA=38]="SCALA",e[e.SCSS=39]="SCSS",e[e.SHELL=40]="SHELL",e[e.SQL=41]="SQL",e[e.STARLARK=42]="STARLARK",e[e.SWIFT=43]="SWIFT",e[e.TSX=44]="TSX",e[e.TYPESCRIPT=45]="TYPESCRIPT",e[e.VISUALBASIC=46]="VISUALBASIC",e[e.VUE=47]="VUE",e[e.XML=48]="XML",e[e.XSL=49]="XSL",e[e.YAML=50]="YAML",e[e.SVELTE=51]="SVELTE",e[e.TOML=52]="TOML",e[e.DART=53]="DART",e[e.RST=54]="RST",e[e.OCAML=55]="OCAML",e[e.CMAKE=56]="CMAKE",e[e.PASCAL=57]="PASCAL",e[e.ELIXIR=58]="ELIXIR",e[e.FSHARP=59]="FSHARP",e[e.LISP=60]="LISP",e[e.MATLAB=61]="MATLAB",e[e.POWERSHELL=62]="POWERSHELL",e[e.SOLIDITY=63]="SOLIDITY",e[e.ADA=64]="ADA",e[e.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(it||(it={})),E.util.setEnumType(it,"exa.codeium_common_pb.Language",[{no:0,name:"LANGUAGE_UNSPECIFIED"},{no:1,name:"LANGUAGE_C"},{no:2,name:"LANGUAGE_CLOJURE"},{no:3,name:"LANGUAGE_COFFEESCRIPT"},{no:4,name:"LANGUAGE_CPP"},{no:5,name:"LANGUAGE_CSHARP"},{no:6,name:"LANGUAGE_CSS"},{no:7,name:"LANGUAGE_CUDACPP"},{no:8,name:"LANGUAGE_DOCKERFILE"},{no:9,name:"LANGUAGE_GO"},{no:10,name:"LANGUAGE_GROOVY"},{no:11,name:"LANGUAGE_HANDLEBARS"},{no:12,name:"LANGUAGE_HASKELL"},{no:13,name:"LANGUAGE_HCL"},{no:14,name:"LANGUAGE_HTML"},{no:15,name:"LANGUAGE_INI"},{no:16,name:"LANGUAGE_JAVA"},{no:17,name:"LANGUAGE_JAVASCRIPT"},{no:18,name:"LANGUAGE_JSON"},{no:19,name:"LANGUAGE_JULIA"},{no:20,name:"LANGUAGE_KOTLIN"},{no:21,name:"LANGUAGE_LATEX"},{no:22,name:"LANGUAGE_LESS"},{no:23,name:"LANGUAGE_LUA"},{no:24,name:"LANGUAGE_MAKEFILE"},{no:25,name:"LANGUAGE_MARKDOWN"},{no:26,name:"LANGUAGE_OBJECTIVEC"},{no:27,name:"LANGUAGE_OBJECTIVECPP"},{no:28,name:"LANGUAGE_PERL"},{no:29,name:"LANGUAGE_PHP"},{no:30,name:"LANGUAGE_PLAINTEXT"},{no:31,name:"LANGUAGE_PROTOBUF"},{no:32,name:"LANGUAGE_PBTXT"},{no:33,name:"LANGUAGE_PYTHON"},{no:34,name:"LANGUAGE_R"},{no:35,name:"LANGUAGE_RUBY"},{no:36,name:"LANGUAGE_RUST"},{no:37,name:"LANGUAGE_SASS"},{no:38,name:"LANGUAGE_SCALA"},{no:39,name:"LANGUAGE_SCSS"},{no:40,name:"LANGUAGE_SHELL"},{no:41,name:"LANGUAGE_SQL"},{no:42,name:"LANGUAGE_STARLARK"},{no:43,name:"LANGUAGE_SWIFT"},{no:44,name:"LANGUAGE_TSX"},{no:45,name:"LANGUAGE_TYPESCRIPT"},{no:46,name:"LANGUAGE_VISUALBASIC"},{no:47,name:"LANGUAGE_VUE"},{no:48,name:"LANGUAGE_XML"},{no:49,name:"LANGUAGE_XSL"},{no:50,name:"LANGUAGE_YAML"},{no:51,name:"LANGUAGE_SVELTE"},{no:52,name:"LANGUAGE_TOML"},{no:53,name:"LANGUAGE_DART"},{no:54,name:"LANGUAGE_RST"},{no:55,name:"LANGUAGE_OCAML"},{no:56,name:"LANGUAGE_CMAKE"},{no:57,name:"LANGUAGE_PASCAL"},{no:58,name:"LANGUAGE_ELIXIR"},{no:59,name:"LANGUAGE_FSHARP"},{no:60,name:"LANGUAGE_LISP"},{no:61,name:"LANGUAGE_MATLAB"},{no:62,name:"LANGUAGE_POWERSHELL"},{no:63,name:"LANGUAGE_SOLIDITY"},{no:64,name:"LANGUAGE_ADA"},{no:65,name:"LANGUAGE_OCAML_INTERFACE"}]);var Cl=(Ee=class extends K{constructor(n){super();p(this,"completionId","");p(this,"text","");p(this,"prefix","");p(this,"stop","");p(this,"score",0);p(this,"tokens",[]);p(this,"decodedTokens",[]);p(this,"probabilities",[]);p(this,"adjustedProbabilities",[]);p(this,"generatedLength",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ee().fromBinary(n,r)}static fromJson(n,r){return new Ee().fromJson(n,r)}static fromJsonString(n,r){return new Ee().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ee,n,r)}},p(Ee,"runtime",E),p(Ee,"typeName","exa.codeium_common_pb.Completion"),p(Ee,"fields",E.util.newFieldList(()=>[{no:1,name:"completion_id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"prefix",kind:"scalar",T:9},{no:4,name:"stop",kind:"scalar",T:9},{no:5,name:"score",kind:"scalar",T:1},{no:6,name:"tokens",kind:"scalar",T:4,repeated:!0},{no:7,name:"decoded_tokens",kind:"scalar",T:9,repeated:!0},{no:8,name:"probabilities",kind:"scalar",T:1,repeated:!0},{no:9,name:"adjusted_probabilities",kind:"scalar",T:1,repeated:!0},{no:10,name:"generated_length",kind:"scalar",T:4}])),Ee),Fo=(Se=class extends K{constructor(n){super();p(this,"ideName","");p(this,"ideVersion","");p(this,"extensionName","");p(this,"extensionVersion","");p(this,"apiKey","");p(this,"locale","");p(this,"sessionId","");p(this,"requestId",V.zero);p(this,"userAgent","");p(this,"url","");p(this,"authSource",an.CODEIUM);E.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Se,n,r)}},p(Se,"runtime",E),p(Se,"typeName","exa.codeium_common_pb.Metadata"),p(Se,"fields",E.util.newFieldList(()=>[{no:1,name:"ide_name",kind:"scalar",T:9},{no:7,name:"ide_version",kind:"scalar",T:9},{no:12,name:"extension_name",kind:"scalar",T:9},{no:2,name:"extension_version",kind:"scalar",T:9},{no:3,name:"api_key",kind:"scalar",T:9},{no:4,name:"locale",kind:"scalar",T:9},{no:10,name:"session_id",kind:"scalar",T:9},{no:9,name:"request_id",kind:"scalar",T:4},{no:13,name:"user_agent",kind:"scalar",T:9},{no:14,name:"url",kind:"scalar",T:9},{no:15,name:"auth_source",kind:"enum",T:E.getEnumType(an)}])),Se),xl=(Ce=class extends K{constructor(n){super();p(this,"tabSize",V.zero);p(this,"insertSpaces",!1);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ce,n,r)}},p(Ce,"runtime",E),p(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),p(Ce,"fields",E.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);xe=class extends K{constructor(n){super();p(this,"eventType",sn.UNSPECIFIED);p(this,"eventJson","");p(this,"timestampUnixMs",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new xe().fromBinary(n,r)}static fromJson(n,r){return new xe().fromJson(n,r)}static fromJsonString(n,r){return new xe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(xe,n,r)}},p(xe,"runtime",E),p(xe,"typeName","exa.codeium_common_pb.Event"),p(xe,"fields",E.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:E.getEnumType(sn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Il=class extends Pn{constructor(t,n){super();p(this,"index");p(this,"total");this.index=t,this.total=n}toDOM(){let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.className="cm-codeium-cycle";let n=t.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=t.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",t}ignoreEvent(){return!1}};const cn=Rt.define({combine(e){return jn(e,{language:it.TYPESCRIPT,timeout:150,widgetClass:Il,alwaysOn:!0},{})}}),Mo=Rt.define({combine(e){return jn(e,{override:()=>[]},{})}});var kl=$.mark({class:"cm-ghostText"});const st=ze.define({create(e){return null},update(e,t){var r;let n=t.state.facet(cn);for(let o of t.effects){if(o.is(zn)){let{changeSpecs:a,index:i}=o.value,s=a[i].map(l=>kl.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:$.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[$.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Kn)||o.is(Yn))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>J.decorations.from(e,t=>(t==null?void 0:t.decorations)||$.none)}),pt=jr.define(),un=jr.define();var R;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(R||(R={}));function rr(e){let t=R[e];return typeof t=="string"?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):e.toString()}var dn;function Tl(e){if(!dn){dn={};for(let t of Object.values(R))typeof t!="string"&&(dn[rr(t)]=t)}return dn[e]}var he=class Ct extends Error{constructor(t,n=R.Unknown,r,o,a){super(Nl(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=a}static from(t,n=R.Unknown){return t instanceof Ct?t:t instanceof Error?t.name=="AbortError"?new Ct(t.message,R.Canceled):new Ct(t.message,n,void 0,void 0,t):new Ct(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===Ct.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n="typeName"in t?{findMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("getType"in o){n.findMessage(o.getType().typeName)&&r.push(o);continue}let a=n.findMessage(o.type);if(a)try{r.push(a.fromBinary(o.value))}catch{}}return r}};function Nl(e,t){return e.length?`[${rr(t)}] ${e}`:`[${rr(t)}]`}function Al(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function Ll(e,t){let n={};for(let[r,o]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},o),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function Ol(e){let t,n=new Uint8Array;function r(o){let a=new Uint8Array(n.length+o.length);a.set(n),a.set(o,n.length),n=a}return new ReadableStream({start(){t=e.getReader()},async pull(o){let a;for(;;){if(a===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];a={flags:n[0],length:c}}if(a!==void 0&&n.byteLength>=a.length+5)break;let s=await t.read();if(s.done)break;r(s.value)}if(a===void 0){if(n.byteLength==0){o.close();return}o.error(new he("premature end of stream",R.DataLoss));return}let i=n.subarray(5,5+a.length);n=n.subarray(5+a.length),o.enqueue({flags:a.flags,data:i})}})}function _l(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var Ul=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},Ot=function(e){return this instanceof Ot?(this.v=e,this):new Ot(e)},Pl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof Ot?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}},jl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:Ot(e[o](i)),done:!1}:a?a(i):i}:a}};function Dl(e){return Pl(this,arguments,function*(){yield Ot(yield*jl(Ul(e)))})}var Ro=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},ht=function(e){return this instanceof ht?(this.v=e,this):new ht(e)},Fl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:ht(e[o](i)),done:!1}:a?a(i):i}:a}},Ml=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof ht?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Rl(e,t){return Ll(e,n=>{switch(n.kind){case ve.Unary:return Gl(t,e,n);case ve.ServerStreaming:return Jl(t,e,n);case ve.ClientStreaming:return Vl(t,e,n);case ve.BiDiStreaming:return $l(t,e,n);default:return null}})}function Bl(e,t){return Rl(e,t)}function Gl(e,t,n){return async function(r,o){var a,i;let s=await e.unary(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);return(a=o==null?void 0:o.onHeader)==null||a.call(o,s.header),(i=o==null?void 0:o.onTrailer)==null||i.call(o,s.trailer),s.message}}function Jl(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,Dl([r]),o==null?void 0:o.contextValues),o)}}function Vl(e,t,n){return async function(r,o){var a,i,s,c,l,u;let d=await e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);(l=o==null?void 0:o.onHeader)==null||l.call(o,d.header);let m,f=0;try{for(var h=!0,y=Ro(d.message),b;b=await y.next(),a=b.done,!a;h=!0)c=b.value,h=!1,m=c,f++}catch(v){i={error:v}}finally{try{!h&&!a&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!m)throw new he("protocol error: missing response message",R.Unimplemented);if(f>1)throw new he("protocol error: received extra messages for client streaming method",R.Unimplemented);return(u=o==null?void 0:o.onTrailer)==null||u.call(o,d.trailer),m}}function $l(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues),o)}}function Bo(e,t){let n=(function(){return Ml(this,arguments,function*(){var r,o;let a=yield ht(e);(r=t==null?void 0:t.onHeader)==null||r.call(t,a.header),yield ht(yield*Fl(Ro(a.message))),(o=t==null?void 0:t.onTrailer)==null||o.call(t,a.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Wl(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Go(this));for(let o of n)o.removeEventListener("abort",r)}return t}function ql(e){let t=new AbortController,n=()=>{t.abort(new he("the operation timed out",R.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Go(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=Error("This operation was aborted");return t.name="AbortError",t}function Jo(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Vo(e,t,n){let r=typeof t=="string"?t:t.typeName,o=typeof n=="string"?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${o}`)}function $o(e,t){return t instanceof e?t:new e(t)}function Hl(e,t){function n(r){return r.done===!0?r:{done:r.done,value:$o(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=a=>r.throw(a).then(n)),r.return!==void 0&&(o.return=a=>r.return(a).then(n)),o}}}function Wo(e,t){return(t==null?void 0:t.concat().reverse().reduce((n,r)=>r(n),e))??e}function qo(e){let t=Object.assign({},e);return t.ignoreUnknownFields??(t.ignoreUnknownFields=!0),t}function Ho(e,t,n,r){let o=t?zo(e.I,r):Ko(e.I,n);return{parse:(t?zo(e.O,r):Ko(e.O,n)).parse,serialize:o.serialize}}function zo(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(r){throw new he(`parse binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}},serialize(n){try{return n.toBinary(t)}catch(r){throw new he(`serialize binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}}}}function Ko(e,t){let n=(t==null?void 0:t.textEncoder)??new TextEncoder,r=(t==null?void 0:t.textDecoder)??new TextDecoder,o=qo(t);return{parse(a){try{let i=r.decode(a);return e.fromJsonString(i,o)}catch(i){throw he.from(i,R.InvalidArgument)}},serialize(a){try{let i=a.toJsonString(o);return n.encode(i)}catch(i){throw he.from(i,R.Internal)}}}}const zl=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Kl(e){let t=e==null?void 0:e.match(zl);if(t)return{stream:!!t[1],binary:!!t[3]}}function Yo(e,t,n){if(t&&new Headers(t).forEach((i,s)=>n.metadata.append(s,i)),typeof e!="object"||!e||Array.isArray(e))throw n;let r=n.code;"code"in e&&typeof e.code=="string"&&(r=Tl(e.code)??r);let o=e.message;if(o!=null&&typeof o!="string")throw n;let a=new he(o??"",r,t);if("details"in e&&Array.isArray(e.details))for(let i of e.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{a.details.push({type:i.type,value:Qt.dec(i.value),debug:i.debug})}catch{throw n}}return a}function Yl(e){let t=new he("invalid end stream",R.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||!n||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[o,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(i=>typeof i!="string"))throw t;for(let i of a)r.append(o,i)}}return{metadata:r,error:"error"in n&&n.error!=null?Yo(n.error,r,t):void 0}}const fn="Content-Type",Xo="Content-Encoding",Qo="Connect-Protocol-Version";function Xl(e){switch(e){case 400:return R.Internal;case 401:return R.Unauthenticated;case 403:return R.PermissionDenied;case 404:return R.Unimplemented;case 429:return R.Unavailable;case 502:return R.Unavailable;case 503:return R.Unavailable;case 504:return R.Unavailable;default:return R.Unknown}}function Zo(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}function ea(e,t,n,r,o){let a=new Headers(r??{});return n!==void 0&&a.set("Connect-Timeout-Ms",`${n}`),a.set(fn,e==ve.Unary?t?"application/proto":"application/json":t?"application/connect+proto":"application/connect+json"),a.set(Qo,"1"),o&&a.set("User-Agent","connect-es/1.6.1"),a}function ta(e,t,n,r){let o=r.get(fn),a=Kl(o);if(n!==200){let s=new he(`HTTP ${n}`,Xl(n),r);if(e==ve.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:t,stream:e!==ve.Unary};if((a==null?void 0:a.binary)!==i.binary||a.stream!==i.stream)throw new he(`unsupported content type ${o}`,a===void 0?R.Unknown:R.Internal,r);return{isUnaryError:!1}}var Ql="application/";function Zl(e,t){return t?Qt.enc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(e))}function ec(e,t,n){let r="?connect=v1",o=e.header.get(fn);(o==null?void 0:o.indexOf(Ql))===0&&(r+="&encoding="+encodeURIComponent(o.slice(12)));let a=e.header.get(Xo);a!==null&&a!=="identity"&&(r+="&compression="+encodeURIComponent(a),n=!0),n&&(r+="&base64=1"),r+="&message="+Zl(t,n);let i=e.url+r,s=new Headers(e.header);return[Qo,fn,"Content-Length",Xo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:"GET"}),url:i,header:s})}function tc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e);return t(Object.assign(Object.assign({},e.req),{message:$o(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function nc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e),a=Object.assign(Object.assign({},e.req),{message:Hl(e.req.method.I,e.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=e.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),t(a).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(l=>(l.done==1&&(i=!0,o()),l),r)}}}}}),r)}function na(e){let{signal:t,cleanup:n}=ql(e.timeoutMs),r=Wl(e.signal,t);return[r.signal,function(o){let a=he.from(t.aborted?Go(t):o);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}var mn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INACTIVE=1]="INACTIVE",e[e.PROCESSING=2]="PROCESSING",e[e.SUCCESS=3]="SUCCESS",e[e.WARNING=4]="WARNING",e[e.ERROR=5]="ERROR"})(mn||(mn={})),E.util.setEnumType(mn,"exa.language_server_pb.CodeiumState",[{no:0,name:"CODEIUM_STATE_UNSPECIFIED"},{no:1,name:"CODEIUM_STATE_INACTIVE"},{no:2,name:"CODEIUM_STATE_PROCESSING"},{no:3,name:"CODEIUM_STATE_SUCCESS"},{no:4,name:"CODEIUM_STATE_WARNING"},{no:5,name:"CODEIUM_STATE_ERROR"}]);var ra;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLE=1]="SINGLE",e[e.MULTI=2]="MULTI"})(ra||(ra={})),E.util.setEnumType(ra,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var pn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INLINE=1]="INLINE",e[e.BLOCK=2]="BLOCK",e[e.INLINE_MASK=3]="INLINE_MASK"})(pn||(pn={})),E.util.setEnumType(pn,"exa.language_server_pb.CompletionPartType",[{no:0,name:"COMPLETION_PART_TYPE_UNSPECIFIED"},{no:1,name:"COMPLETION_PART_TYPE_INLINE"},{no:2,name:"COMPLETION_PART_TYPE_BLOCK"},{no:3,name:"COMPLETION_PART_TYPE_INLINE_MASK"}]);var rc=(Ie=class extends K{constructor(n){super();p(this,"threshold",0);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ie().fromBinary(n,r)}static fromJson(n,r){return new Ie().fromJson(n,r)}static fromJsonString(n,r){return new Ie().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ie,n,r)}},p(Ie,"runtime",E),p(Ie,"typeName","exa.language_server_pb.MultilineConfig"),p(Ie,"fields",E.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ie),oc=(ke=class extends K{constructor(n){super();p(this,"metadata");p(this,"document");p(this,"editorOptions");p(this,"otherDocuments",[]);p(this,"experimentConfig");p(this,"modelName","");p(this,"multilineConfig");E.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return E.util.equals(ke,n,r)}},p(ke,"runtime",E),p(ke,"typeName","exa.language_server_pb.GetCompletionsRequest"),p(ke,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"document",kind:"message",T:oa},{no:3,name:"editor_options",kind:"message",T:xl},{no:5,name:"other_documents",kind:"message",T:oa,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:uc},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:rc}])),ke),ac=(Te=class extends K{constructor(n){super();p(this,"state");p(this,"completionItems",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Te().fromBinary(n,r)}static fromJson(n,r){return new Te().fromJson(n,r)}static fromJsonString(n,r){return new Te().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Te,n,r)}},p(Te,"runtime",E),p(Te,"typeName","exa.language_server_pb.GetCompletionsResponse"),p(Te,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:dc},{no:2,name:"completion_items",kind:"message",T:hc,repeated:!0}])),Te),ic=(Ne=class extends K{constructor(n){super();p(this,"metadata");p(this,"completionId","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ne,n,r)}},p(Ne,"runtime",E),p(Ne,"typeName","exa.language_server_pb.AcceptCompletionRequest"),p(Ne,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"completion_id",kind:"scalar",T:9}])),Ne),sc=(Ae=class extends K{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Ae().fromBinary(t,n)}static fromJson(t,n){return new Ae().fromJson(t,n)}static fromJsonString(t,n){return new Ae().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Ae,t,n)}},p(Ae,"runtime",E),p(Ae,"typeName","exa.language_server_pb.AcceptCompletionResponse"),p(Ae,"fields",E.util.newFieldList(()=>[])),Ae),lc=(Le=class extends K{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Le().fromBinary(t,n)}static fromJson(t,n){return new Le().fromJson(t,n)}static fromJsonString(t,n){return new Le().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Le,t,n)}},p(Le,"runtime",E),p(Le,"typeName","exa.language_server_pb.GetAuthTokenRequest"),p(Le,"fields",E.util.newFieldList(()=>[])),Le),cc=(Oe=class extends K{constructor(n){super();p(this,"authToken","");p(this,"uuid","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Oe().fromBinary(n,r)}static fromJson(n,r){return new Oe().fromJson(n,r)}static fromJsonString(n,r){return new Oe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Oe,n,r)}},p(Oe,"runtime",E),p(Oe,"typeName","exa.language_server_pb.GetAuthTokenResponse"),p(Oe,"fields",E.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Oe),or=(_e=class extends K{constructor(n){super();p(this,"row",V.zero);p(this,"col",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new _e().fromBinary(n,r)}static fromJson(n,r){return new _e().fromJson(n,r)}static fromJsonString(n,r){return new _e().fromJsonString(n,r)}static equals(n,r){return E.util.equals(_e,n,r)}},p(_e,"runtime",E),p(_e,"typeName","exa.language_server_pb.DocumentPosition"),p(_e,"fields",E.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),_e),oa=(Ue=class extends K{constructor(n){super();p(this,"absolutePath","");p(this,"relativePath","");p(this,"text","");p(this,"editorLanguage","");p(this,"language",it.UNSPECIFIED);p(this,"cursorOffset",V.zero);p(this,"cursorPosition");p(this,"lineEnding","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ue,n,r)}},p(Ue,"runtime",E),p(Ue,"typeName","exa.language_server_pb.Document"),p(Ue,"fields",E.util.newFieldList(()=>[{no:1,name:"absolute_path",kind:"scalar",T:9},{no:2,name:"relative_path",kind:"scalar",T:9},{no:3,name:"text",kind:"scalar",T:9},{no:4,name:"editor_language",kind:"scalar",T:9},{no:5,name:"language",kind:"enum",T:E.getEnumType(it)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:or},{no:7,name:"line_ending",kind:"scalar",T:9}])),Ue),uc=(Pe=class extends K{constructor(n){super();p(this,"forceEnableExperiments",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Pe,n,r)}},p(Pe,"runtime",E),p(Pe,"typeName","exa.language_server_pb.ExperimentConfig"),p(Pe,"fields",E.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:E.getEnumType(nr),repeated:!0}])),Pe),dc=(je=class extends K{constructor(n){super();p(this,"state",mn.UNSPECIFIED);p(this,"message","");E.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return E.util.equals(je,n,r)}},p(je,"runtime",E),p(je,"typeName","exa.language_server_pb.State"),p(je,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:E.getEnumType(mn)},{no:2,name:"message",kind:"scalar",T:9}])),je),fc=(De=class extends K{constructor(n){super();p(this,"startOffset",V.zero);p(this,"endOffset",V.zero);p(this,"startPosition");p(this,"endPosition");E.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return E.util.equals(De,n,r)}},p(De,"runtime",E),p(De,"typeName","exa.language_server_pb.Range"),p(De,"fields",E.util.newFieldList(()=>[{no:1,name:"start_offset",kind:"scalar",T:4},{no:2,name:"end_offset",kind:"scalar",T:4},{no:3,name:"start_position",kind:"message",T:or},{no:4,name:"end_position",kind:"message",T:or}])),De),mc=(Fe=class extends K{constructor(n){super();p(this,"text","");p(this,"deltaCursorOffset",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Fe,n,r)}},p(Fe,"runtime",E),p(Fe,"typeName","exa.language_server_pb.Suffix"),p(Fe,"fields",E.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Fe),pc=(Me=class extends K{constructor(n){super();p(this,"text","");p(this,"offset",V.zero);p(this,"type",pn.UNSPECIFIED);p(this,"prefix","");p(this,"line",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Me().fromBinary(n,r)}static fromJson(n,r){return new Me().fromJson(n,r)}static fromJsonString(n,r){return new Me().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Me,n,r)}},p(Me,"runtime",E),p(Me,"typeName","exa.language_server_pb.CompletionPart"),p(Me,"fields",E.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:4},{no:3,name:"type",kind:"enum",T:E.getEnumType(pn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Me),hc=(Re=class extends K{constructor(n){super();p(this,"completion");p(this,"suffix");p(this,"range");p(this,"source",ln.UNSPECIFIED);p(this,"completionParts",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Re().fromBinary(n,r)}static fromJson(n,r){return new Re().fromJson(n,r)}static fromJsonString(n,r){return new Re().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Re,n,r)}},p(Re,"runtime",E),p(Re,"typeName","exa.language_server_pb.CompletionItem"),p(Re,"fields",E.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Cl},{no:5,name:"suffix",kind:"message",T:mc},{no:2,name:"range",kind:"message",T:fc},{no:3,name:"source",kind:"enum",T:E.getEnumType(ln)},{no:8,name:"completion_parts",kind:"message",T:pc,repeated:!0}])),Re);const gc={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:oc,O:ac,kind:ve.Unary},acceptCompletion:{name:"AcceptCompletion",I:ic,O:sc,kind:ve.Unary},getAuthToken:{name:"GetAuthToken",I:lc,O:cc,kind:ve.Unary}}};function yc(){try{new Headers}catch{throw Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var _t=function(e){return this instanceof _t?(this.v=e,this):new _t(e)},bc=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof _t?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function wc(e){yc();let t=e.useBinaryFormat??!1;return{async unary(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await tc({interceptors:e.interceptors,signal:o,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async d=>{let m=e.useHttpGet===!0&&r.idempotency===Do.NoSideEffects,f=null;m?d=ec(d,l(d.message),t):f=l(d.message);let h=await(e.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=ta(r.kind,t,h.status,h.headers);if(y)throw Yo(await h.json(),Al(...Zo(h.headers)),b);let[v,C]=Zo(h.headers);return{stream:!1,service:n,method:r,header:v,message:t?u(new Uint8Array(await h.arrayBuffer())):r.O.fromJson(await h.json(),qo(e.jsonOptions)),trailer:C}}})},async stream(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);function d(f,h,y,b){return bc(this,arguments,function*(){let v=Ol(f).getReader(),C=!1;for(;;){let x=yield _t(v.read());if(x.done)break;let{flags:_,data:j}=x.value;if((_&1)==1)throw new he("protocol error: received unsupported compressed output",R.Internal);if((_&2)==2){C=!0;let A=Yl(j);if(A.error){let k=A.error;throw y.forEach((B,F)=>{k.metadata.append(F,B)}),k}A.metadata.forEach((k,B)=>h.set(B,k));continue}yield yield _t(u(j))}if("throwIfAborted"in b&&b.throwIfAborted(),!C)throw"missing EndStreamResponse"})}async function m(f){if(r.kind!=ve.ServerStreaming)throw"The fetch API does not support streaming request bodies";let h=await f[Symbol.asyncIterator]().next();if(h.done==1)throw"missing request message";return _l(0,l(h.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await nc({interceptors:e.interceptors,timeoutMs:a,signal:o,req:{stream:!0,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async f=>{let h=await(e.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await m(f.message)}));if(ta(r.kind,t,h.status,h.headers),h.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:h.headers,trailer:y,message:d(h.body,y,h.headers,f.signal)})}})}}}var vc=Bl(gc,wc({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),hn;try{hn=crypto.randomUUID()}catch{hn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,t=>(t^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>t/4).toString(16))}()}async function Ec({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await vc.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:hn,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:"typescript",lineEnding:`
12
+ `.trim(),n=wi();await bi();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:e.prompt,code:t,selectedText:e.selection,includeOtherCode:"",language:e.language})}),o=((i=e.selection.match(/^\s*/))==null?void 0:i[0])||"",a=await Ns(r);return a.startsWith(o)||(a=o+a),a}var g=Ya(Wf(),1),Ls=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],Hn;function Os(){let e=async r=>{let o=Y.get(_r),{saveUserConfig:a}=Dm();await a({config:{runtime:{auto_reload:r}}}).then(()=>Y.set(_r,{...o,runtime:{...o.runtime,auto_reload:r}}))},t=[{match:"!pip install",onMatch:()=>{Y.set(Tr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{Y.set(Tr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{Y.set(Tr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await e("autorun")},title:"Module reload",description:(0,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await e("lazy")},title:"Module reload",description:(0,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await e("off")},title:"Module reload",description:(0,g.jsx)(g.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,g.jsxs)(g.Fragment,{children:["Shell commands are not directly supported.",(0,g.jsx)("br",{}),"Use ",(0,g.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...Ls.map(r=>({match:r,onMatch:()=>{},title:(0,g.jsx)(dp,{className:"inline",children:r}),description:(0,g.jsxs)(g.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,g.jsx)("a",{href:"https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands",target:"_blank",className:"text-link underline cursor-pointer",rel:"noopener noreferrer",children:"documentation"}),"."]})}))],n=new Map(t.map(r=>[r.match,r]));return J.updateListener.of(r=>{if(r.docChanged){let o=r.state.selection.main,a=r.state.doc,i=a.lineAt(o.head),s=a.sliceString(i.from,o.anchor).trim(),c=n.get(s);c&&(c.onMatch(),Hn?Hn.upsert({title:c.title,description:c.description}):Hn=vt({title:c.title,description:c.description}))}})}var oo=new Set(["Escape","Alt-`"]);function _s(e,t=oo){return e.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>t.has(r)))}function Us(e=!0){let t=new Set(oo);e||t.add("Enter");let n=_s(Am,t);return ct.highest(We.of([...n,{key:"Ctrl-y",run:r=>On(r)?Ci(r):!1},{key:"Ctrl-n",run:r=>On(r)?Pn(!0)(r):!1},{key:"Ctrl-p",run:r=>On(r)?Pn(!1)(r):!1}]))}const zn=pe.define(),Kn=pe.define(),Yn=pe.define();function q(e,t){if(!e)throw Error(t)}var js=3402823466385289e23,Ds=-3402823466385289e23,Ps=4294967295,Fs=2147483647,Ms=-2147483648;function Kt(e){if(typeof e!="number")throw Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>Fs||e<Ms)throw Error("invalid int 32: "+e)}function Xn(e){if(typeof e!="number")throw Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>Ps||e<0)throw Error("invalid uint 32: "+e)}function ao(e){if(typeof e!="number")throw Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>js||e<Ds))throw Error("invalid float 32: "+e)}var io=Symbol("@bufbuild/protobuf/enum-type");function Rs(e){let t=e[io];return q(t,"missing enum type on enum object"),t}function so(e,t,n,r){e[io]=lo(t,n.map(o=>({no:o.no,name:o.name,localName:e[o.no]})),r)}function lo(e,t,n){let r=Object.create(null),o=Object.create(null),a=[];for(let i of t){let s=co(i);a.push(s),r[i.name]=s,o[i.no]=s}return{typeName:e,values:a,findName(i){return r[i]},findNumber(i){return o[i]}}}function Bs(e,t,n){let r={};for(let o of t){let a=co(o);r[a.localName]=a.no,r[a.no]=a.localName}return so(r,e,t,n),r}function co(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var K=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,o=r.makeReadOptions(t);return r.readMessage(n,e,o,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,(e==null?void 0:e.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Gs(e,t,n,r){let o=(r==null?void 0:r.localName)??t.substring(t.lastIndexOf(".")+1),a={[o]:function(i){e.util.initFields(this),e.util.initPartial(i,this)}}[o];return Object.setPrototypeOf(a.prototype,new K),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(i,s){return new a().fromBinary(i,s)},fromJson(i,s){return new a().fromJson(i,s)},fromJsonString(i,s){return new a().fromJsonString(i,s)},equals(i,s){return e.util.equals(a,i,s)}}),a}function Js(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}throw Error("invalid varint")}function Qn(e,t,n){for(let a=0;a<28;a+=7){let i=e>>>a,s=!(!(i>>>7)&&t==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=e>>>28&15|(t&7)<<4,o=!!(t>>3);if(n.push((o?r|128:r)&255),o){for(let a=3;a<31;a+=7){let i=t>>>a,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(t>>>31&1)}}var Yt=4294967296;function uo(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function a(i,s){let c=Number(e.slice(i,s));o*=n,r=r*n+c,r>=Yt&&(o+=r/Yt|0,r%=Yt)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?mo(r,o):Zn(r,o)}function Vs(e,t){let n=Zn(e,t),r=n.hi&2147483648;r&&(n=mo(n.lo,n.hi));let o=fo(n.lo,n.hi);return r?"-"+o:o}function fo(e,t){if({lo:e,hi:t}=$s(e,t),t<=2097151)return String(Yt*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,a=n+r*6777216+o*6710656,i=r+o*8147497,s=o*2,c=1e7;return a>=c&&(i+=Math.floor(a/c),a%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+po(i)+po(a)}function $s(e,t){return{lo:e>>>0,hi:t>>>0}}function Zn(e,t){return{lo:e|0,hi:t|0}}function mo(e,t){return t=~t,e?e=~e+1:t+=1,Zn(e,t)}var po=e=>{let t=String(e);return"0000000".slice(t.length)+t};function ho(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Ws(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw Error("invalid varint");return this.assertBounds(),t>>>0}function qs(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),o=BigInt("9223372036854775807"),a=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>o||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<a)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigInt64(0,!0)},uDec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigUint64(0,!0)}}}let t=r=>q(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>q(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),t(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),t(r),uo(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),uo(r)},dec(r,o){return Vs(r,o)},uDec(r,o){return fo(r,o)}}}const V=qs();var w;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(w||(w={}));var at;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(at||(at={}));function Ze(e,t,n){if(t===n)return!0;if(e==w.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==n}return!1}function ft(e,t){switch(e){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==0?V.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function go(e,t){switch(e){case w.BOOL:return t===!1;case w.STRING:return t==="";case w.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var X;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(X||(X={}));var Hs=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let t=new Uint8Array(e),n=0;for(let r=0;r<this.chunks.length;r++)t.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Xn(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Kt(e),ho(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){ao(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Xn(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Kt(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Kt(e),e=(e<<1^e>>31)>>>0,ho(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=V.enc(e);return Qn(t.lo,t.hi,this.buf),this}sint64(e){let t=V.enc(e),n=t.hi>>31;return Qn(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=V.uEnc(e);return Qn(t.lo,t.hi,this.buf),this}},zs=class{constructor(e,t){this.varint64=Js,this.uint32=Ws,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case X.Varint:for(;this.buf[this.pos++]&128;);break;case X.Bit64:this.pos+=4;case X.Bit32:this.pos+=4;break;case X.LengthDelimited:let r=this.uint32();this.pos+=r;break;case X.StartGroup:for(;;){let[o,a]=this.tag();if(a===X.EndGroup){if(t!==void 0&&o!==t)throw Error("invalid end group tag");break}this.skip(a,o)}break;default:throw Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return V.dec(...this.varint64())}uint64(){return V.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,V.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return V.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return V.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function Ks(e,t,n,r){let o;return{typeName:t,extendee:n,get field(){if(!o){let a=typeof r=="function"?r():r;a.name=t.split(".").pop(),a.jsonName=`[${t}]`,o=e.util.newFieldList([a]).list()[0]}return o},runtime:e}}function yo(e){let t=e.field.localName,n=Object.create(null);return n[t]=Ys(e),[n,()=>n[t]]}function Ys(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return ft(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Xs(e,t){if(!t.repeated&&(t.kind=="enum"||t.kind=="scalar")){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(n=>n.no===t.no)}var Ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xt=[];for(let e=0;e<Ke.length;e++)Xt[Ke[e].charCodeAt(0)]=e;Xt[45]=Ke.indexOf("+"),Xt[95]=Ke.indexOf("/");const Qt={dec(e){let t=e.length*3/4;e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&--t;let n=new Uint8Array(t),r=0,o=0,a,i=0;for(let s=0;s<e.length;s++){if(a=Xt[e.charCodeAt(s)],a===void 0)switch(e[s]){case"=":o=0;case`
13
+ `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:i=a,o=1;break;case 1:n[r++]=i<<2|(a&48)>>4,i=a,o=2;break;case 2:n[r++]=(i&15)<<4|(a&60)>>2,i=a,o=3;break;case 3:n[r++]=(i&3)<<6|a,o=0;break}}if(o==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,o=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Ke[r>>2],o=(r&3)<<4,n=1;break;case 1:t+=Ke[o|r>>4],o=(r&15)<<2,n=2;break;case 2:t+=Ke[o|r>>6],t+=Ke[r&63],n=0;break}return n&&(t+=Ke[o],t+="=",n==1&&(t+="=")),t}};function Qs(e,t,n){wo(t,e);let r=t.runtime.bin.makeReadOptions(n),o=Xs(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,i]=yo(t);for(let s of o)t.runtime.bin.readField(a,r.readerFactory(s.data),t.field,s.wireType,r);return i()}function Zs(e,t,n,r){wo(t,e);let o=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(bo(e,t)){let l=e.getType().runtime.bin.listUnknownFields(e).filter(u=>u.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let u of l)e.getType().runtime.bin.onUnknownField(e,u.no,u.wireType,u.data)}let i=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,i,a);let c=o.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);e.getType().runtime.bin.onUnknownField(e,l,u,d)}}function bo(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(r=>r.no==t.field.no)}function wo(e,t){q(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function vo(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?t[n]!==void 0:e.kind=="enum"?t[n]!==e.T.values[0].no:!go(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function Eo(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?ft(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function Ye(e,t){if(typeof e!="object"||!e||!Object.getOwnPropertyNames(K.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function So(e,t){return Ye(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var Co={ignoreUnknownFields:!1},xo={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function el(e){return e?Object.assign(Object.assign({},Co),e):Co}function tl(e){return e?Object.assign(Object.assign({},xo),e):xo}var Zt=Symbol(),en=Symbol();function nl(){return{makeReadOptions:el,makeWriteOptions:tl,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw Error(`cannot decode message ${e.typeName} from JSON: ${qe(t)}`);r??(r=new e);let o=new Map,a=n.typeRegistry;for(let[i,s]of Object.entries(t)){let c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=o.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);o.set(c.oneof,i)}Io(r,s,c,n,e)}else{let l=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=a.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==e.typeName){l=!0;let[d,m]=yo(u);Io(d,s,u.field,n,u),Zs(r,u,m(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},o;try{for(o of n.fields.byNumber()){if(!vo(o,e)){if(o.req)throw"required field not set";if(!t.emitDefaultValues||!ol(o))continue}let i=o.oneof?e[o.oneof.localName].value:e[o.localName],s=ko(o,i,t);s!==void 0&&(r[t.useProtoFieldName?o.name:o.jsonName]=s)}let a=t.typeRegistry;if(a!=null&&a.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let s=a.findExtensionFor(n.typeName,i.no);if(s&&bo(e,s)){let c=Qs(e,s,t),l=ko(s.field,c,t);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(a){let i=o?`cannot encode field ${n.typeName}.${o.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=a instanceof Error?a.message:String(a);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(e,t,n){return Nt(e,t,n??at.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||go(e,t)))return tn(e,t)},debug:qe}}function qe(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function Io(e,t,n,r,o){let a=n.localName;if(n.repeated){if(q(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let s of t){if(s===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=er(n.T,s,r.ignoreUnknownFields,!0);c!==en&&i.push(c);break;case"scalar":try{i.push(Nt(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let[s,c]of Object.entries(t)){if(c===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: map value null`);let l;try{l=rl(n.K,s)}catch(u){let d=`cannot decode map key for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}switch(n.V.kind){case"message":i[l]=n.V.T.fromJson(c,r);break;case"enum":let u=er(n.V.T,c,r.ignoreUnknownFields,!0);u!==en&&(i[l]=u);break;case"scalar":try{i[l]=Nt(n.V.T,c,at.BIGINT,!0)}catch(d){let m=`cannot decode map value for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),Error(m)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":let i=n.T;if(t===null&&i.typeName!="google.protobuf.Value")return;let s=e[a];Ye(s)?s.fromJson(t,r):(e[a]=s=i.fromJson(t,r),i.fieldWrapper&&!n.oneof&&(e[a]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=er(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Zt:Eo(n,e);break;case en:break;default:e[a]=c;break}break;case"scalar":try{let l=Nt(n.T,t,n.L,!1);l===Zt?Eo(n,e):e[a]=l}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function rl(e,t){if(e===w.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return Nt(e,t,at.BIGINT,!0).toString()}function Nt(e,t,n,r){if(t===null)return r?ft(e,n):Zt;switch(e){case w.DOUBLE:case w.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return 1/0;if(t==="-Infinity")return-1/0;if(t===""||typeof t=="string"&&t.trim().length!==t.length||typeof t!="string"&&typeof t!="number")break;let o=Number(t);if(Number.isNaN(o)||!Number.isFinite(o))break;return e==w.FLOAT&&ao(o),o;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let a;if(typeof t=="number"?a=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),a===void 0)break;return e==w.UINT32||e==w.FIXED32?Xn(a):Kt(a),a;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof t!="number"&&typeof t!="string")break;let i=V.parse(t);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof t!="number"&&typeof t!="string")break;let s=V.uParse(t);return n?s.toString():s;case w.BOOL:if(typeof t!="boolean")break;return t;case w.STRING:if(typeof t!="string")break;return t;case w.BYTES:if(t==="")return new Uint8Array;if(typeof t!="string")break;return Qt.dec(t)}throw Error()}function er(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:Zt;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.findName(t);if(o!==void 0)return o.no;if(n)return en;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${qe(t)}`)}function ol(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ko(e,t,n){if(e.kind=="map"){q(typeof t=="object"&&!!t);let r={},o=Object.entries(t);switch(e.V.kind){case"scalar":for(let[i,s]of o)r[i.toString()]=tn(e.V.T,s);break;case"message":for(let[i,s]of o)r[i.toString()]=s.toJson(n);break;case"enum":let a=e.V.T;for(let[i,s]of o)r[i.toString()]=tr(a,s,n.enumAsInteger);break}return n.emitDefaultValues||o.length>0?r:void 0}if(e.repeated){q(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let o=0;o<t.length;o++)r.push(tn(e.T,t[o]));break;case"enum":for(let o=0;o<t.length;o++)r.push(tr(e.T,t[o],n.enumAsInteger));break;case"message":for(let o=0;o<t.length;o++)r.push(t[o].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case"scalar":return tn(e.T,t);case"enum":return tr(e.T,t,n.enumAsInteger);case"message":return So(e.T,t).toJson(n)}}function tr(e,t,n){var r;return q(typeof t=="number"),e.typeName=="google.protobuf.NullValue"?null:n?t:((r=e.findNumber(t))==null?void 0:r.name)??t}function tn(e,t){switch(e){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return q(typeof t=="number"),t;case w.FLOAT:case w.DOUBLE:return q(typeof t=="number"),Number.isNaN(t)?"NaN":t===1/0?"Infinity":t===-1/0?"-Infinity":t;case w.STRING:return q(typeof t=="string"),t;case w.BOOL:return q(typeof t=="boolean"),t;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return q(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case w.BYTES:return q(t instanceof Uint8Array),Qt.enc(t)}}var mt=Symbol("@bufbuild/protobuf/unknown-fields"),To={readUnknownFields:!0,readerFactory:e=>new zs(e)},No={writeUnknownFields:!0,writerFactory:()=>new Hs};function al(e){return e?Object.assign(Object.assign({},To),e):To}function il(e){return e?Object.assign(Object.assign({},No),e):No}function sl(){return{makeReadOptions:al,makeWriteOptions:il,listUnknownFields(e){return e[mt]??[]},discardUnknownFields(e){delete e[mt]},writeUnknownFields(e,t){let n=e[mt];if(n)for(let r of n)t.tag(r.no,r.wireType).raw(r.data)},onUnknownField(e,t,n,r){let o=e;Array.isArray(o[mt])||(o[mt]=[]),o[mt].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,o){let a=e.getType(),i=o?t.len:t.pos+n,s,c;for(;t.pos<i&&([s,c]=t.tag(),!(o===!0&&c==X.EndGroup));){let l=a.fields.find(s);if(!l){let u=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,u);continue}Ao(e,t,l,c,r)}if(o&&(c!=X.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ao,writeMessage(e,t,n){let r=e.getType();for(let o of r.fields.byNumber()){if(!vo(o,e)){if(o.req)throw Error(`cannot encode field ${r.typeName}.${o.name} to binary: required field not set`);continue}Lo(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&Lo(e,t,n,r)}}}function Ao(e,t,n,r,o){let{repeated:a,localName:i}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=i&&delete e.value,e.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=rn;if(n.kind=="scalar"&&n.L>0&&(c=cl),a){let m=e[i];if(r==X.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=t.uint32()+t.pos;for(;t.pos<f;)m.push(c(t,s))}else m.push(c(t,s))}else e[i]=c(t,s);break;case"message":let l=n.T;a?e[i].push(nn(t,new l,o,n)):Ye(e[i])?nn(t,e[i],o,n):(e[i]=nn(t,new l,o,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[i]=l.fieldWrapper.unwrapField(e[i])));break;case"map":let[u,d]=ll(n,t,o);e[i][u]=d;break}}function nn(e,t,n,r){let o=t.getType().runtime.bin,a=r==null?void 0:r.delimited;return o.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function ll(e,t,n){let r=t.uint32(),o=t.pos+r,a,i;for(;t.pos<o;){let[s]=t.tag();switch(s){case 1:a=rn(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=rn(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=nn(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=ft(e.K,at.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(e.V.kind){case"scalar":i=ft(e.V.T,at.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[a,i]}function cl(e,t){let n=rn(e,t);return typeof n=="bigint"?n.toString():n}function rn(e,t){switch(t){case w.STRING:return e.string();case w.BOOL:return e.bool();case w.DOUBLE:return e.double();case w.FLOAT:return e.float();case w.INT32:return e.int32();case w.INT64:return e.int64();case w.UINT64:return e.uint64();case w.FIXED64:return e.fixed64();case w.BYTES:return e.bytes();case w.FIXED32:return e.fixed32();case w.SFIXED32:return e.sfixed32();case w.SFIXED64:return e.sfixed64();case w.SINT64:return e.sint64();case w.UINT32:return e.uint32();case w.SINT32:return e.sint32()}}function Lo(e,t,n,r){q(t!==void 0);let o=e.repeated;switch(e.kind){case"scalar":case"enum":let a=e.kind=="enum"?w.INT32:e.T;if(o)if(q(Array.isArray(t)),e.packed)dl(n,a,e.no,t);else for(let i of t)At(n,a,e.no,i);else At(n,a,e.no,t);break;case"message":if(o){q(Array.isArray(t));for(let i of t)Oo(n,r,e,i)}else Oo(n,r,e,t);break;case"map":q(typeof t=="object"&&!!t);for(let[i,s]of Object.entries(t))ul(n,r,e,i,s);break}}function ul(e,t,n,r,o){e.tag(n.no,X.LengthDelimited),e.fork();let a=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:a=Number.parseInt(r);break;case w.BOOL:q(r=="true"||r=="false"),a=r=="true";break}switch(At(e,n.K,1,a),n.V.kind){case"scalar":At(e,n.V.T,2,o);break;case"enum":At(e,w.INT32,2,o);break;case"message":q(o!==void 0),e.tag(2,X.LengthDelimited).bytes(o.toBinary(t));break}e.join()}function Oo(e,t,n,r){let o=So(n.T,r);n.delimited?e.tag(n.no,X.StartGroup).raw(o.toBinary(t)).tag(n.no,X.EndGroup):e.tag(n.no,X.LengthDelimited).bytes(o.toBinary(t))}function At(e,t,n,r){q(r!==void 0);let[o,a]=_o(t);e.tag(n,o)[a](r)}function dl(e,t,n,r){if(!r.length)return;e.tag(n,X.LengthDelimited).fork();let[,o]=_o(t);for(let a=0;a<r.length;a++)e[o](r[a]);e.join()}function _o(e){let t=X.Varint;switch(e){case w.BYTES:case w.STRING:t=X.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:t=X.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:t=X.Bit32;break}let n=w[e].toLowerCase();return[t,n]}function fl(){return{setEnumType:so,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let o=r.localName,a=t,i=e;if(i[o]!=null)switch(r.kind){case"oneof":let s=i[o].case;if(s===void 0)continue;let c=r.findField(s),l=i[o].value;c&&c.kind=="message"&&!Ye(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Lt(l)),a[o]={case:s,value:l};break;case"scalar":case"enum":let u=i[o];r.T===w.BYTES&&(u=r.repeated?u.map(Lt):Lt(u)),a[o]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,h]of Object.entries(i[o]))a[o][f]=Lt(h);else Object.assign(a[o],i[o]);break;case"message":let m=r.V.T;for(let f of Object.keys(i[o])){let h=i[o][f];m.fieldWrapper||(h=new m(h)),a[o][f]=h}break}break;case"message":let d=r.T;if(r.repeated)a[o]=i[o].map(m=>Ye(m,d)?m:new d(m));else{let m=i[o];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?a[o]=Lt(m):a[o]=m:a[o]=Ye(m,d)?m:new d(m)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let o=t[r.localName],a=n[r.localName];if(r.repeated){if(o.length!==a.length)return!1;switch(r.kind){case"message":return o.every((i,s)=>r.T.equals(i,a[s]));case"scalar":return o.every((i,s)=>Ze(r.T,i,a[s]));case"enum":return o.every((i,s)=>Ze(w.INT32,i,a[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=o,s=a;return r.T.fieldWrapper&&(i!==void 0&&!Ye(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Ye(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return Ze(w.INT32,o,a);case"scalar":return Ze(r.T,o,a);case"oneof":if(o.case!==a.case)return!1;let c=r.findField(o.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(o.value,a.value);case"enum":return Ze(w.INT32,o.value,a.value);case"scalar":return Ze(c.T,o.value,a.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(o).concat(Object.keys(a));switch(r.V.kind){case"message":let u=r.V.T;return l.every(m=>u.equals(o[m],a[m]));case"enum":return l.every(m=>Ze(w.INT32,o[m],a[m]));case"scalar":let d=r.V.T;return l.every(m=>Ze(d,o[m],a[m]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let o of t.fields.byMember()){let a=e[o.localName],i;if(o.repeated)i=a.map(on);else if(o.kind=="map"){i=r[o.localName];for(let[s,c]of Object.entries(a))i[s]=on(c)}else i=o.kind=="oneof"?o.findField(a.case)?{case:a.case,value:on(a.value)}:{case:void 0}:on(a);r[o.localName]=i}for(let o of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,o.no,o.wireType,o.data);return n}}}function on(e){if(e===void 0)return e;if(Ye(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Lt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function ml(e,t,n){return{syntax:e,json:nl(),bin:sl(),util:Object.assign(Object.assign({},fl()),{newFieldList:t,initFields:n}),makeMessageType(r,o,a){return Gs(this,r,o,a)},makeEnum:Bs,makeEnumType:lo,getEnumType:Rs,makeExtension(r,o,a){return Ks(this,r,o,a)}}}var pl=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let t={};for(let n of this.list())t[n.jsonName]=t[n.name]=n;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){let t={};for(let n of this.list())t[n.no]=n;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function Uo(e,t){let n=jo(e);return t?n:vl(wl(n))}function hl(e){return Uo(e,!1)}const gl=jo;function jo(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var yl=new Set(["constructor","toString","toJSON","valueOf"]),bl=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Do=e=>`${e}$`,wl=e=>bl.has(e)?Do(e):e;const vl=e=>yl.has(e)?Do(e):e;var El=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=hl(e)}addField(e){q(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}};function Sl(e,t){let n=[],r;for(let o of typeof e=="function"?e():e){let a=o;if(a.localName=Uo(o.name,o.oneof!==void 0),a.jsonName=o.jsonName??gl(o.name),a.repeated=o.repeated??!1,o.kind=="scalar"&&(a.L=o.L??at.BIGINT),a.delimited=o.delimited??!1,a.req=o.req??!1,a.opt=o.opt??!1,o.packed===void 0&&(t?a.packed=o.kind=="enum"||o.kind=="scalar"&&o.T!=w.BYTES&&o.T!=w.STRING:a.packed=!1),o.oneof!==void 0){let i=typeof o.oneof=="string"?o.oneof:o.oneof.name;(!r||r.name!=i)&&(r=new El(i)),a.oneof=r,r.addField(a)}n.push(a)}return n}const E=ml("proto3",e=>new pl(e,t=>Sl(t,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=ft(t.T,t.L);break;case"message":break}}});var ve;(function(e){e[e.Unary=0]="Unary",e[e.ServerStreaming=1]="ServerStreaming",e[e.ClientStreaming=2]="ClientStreaming",e[e.BiDiStreaming=3]="BiDiStreaming"})(ve||(ve={}));var Po;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(Po||(Po={}));var nr;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(nr||(nr={})),E.util.setEnumType(nr,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var an;(function(e){e[e.CODEIUM=0]="CODEIUM"})(an||(an={})),E.util.setEnumType(an,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var sn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",e[e.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",e[e.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",e[e.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(sn||(sn={})),E.util.setEnumType(sn,"exa.codeium_common_pb.EventType",[{no:0,name:"EVENT_TYPE_UNSPECIFIED"},{no:1,name:"EVENT_TYPE_ENABLE_CODEIUM"},{no:2,name:"EVENT_TYPE_DISABLE_CODEIUM"},{no:3,name:"EVENT_TYPE_SHOW_PREVIOUS_COMPLETION"},{no:4,name:"EVENT_TYPE_SHOW_NEXT_COMPLETION"}]);var ln;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",e[e.CACHE=2]="CACHE",e[e.NETWORK=3]="NETWORK"})(ln||(ln={})),E.util.setEnumType(ln,"exa.codeium_common_pb.CompletionSource",[{no:0,name:"COMPLETION_SOURCE_UNSPECIFIED"},{no:1,name:"COMPLETION_SOURCE_TYPING_AS_SUGGESTED"},{no:2,name:"COMPLETION_SOURCE_CACHE"},{no:3,name:"COMPLETION_SOURCE_NETWORK"}]);var it;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.C=1]="C",e[e.CLOJURE=2]="CLOJURE",e[e.COFFEESCRIPT=3]="COFFEESCRIPT",e[e.CPP=4]="CPP",e[e.CSHARP=5]="CSHARP",e[e.CSS=6]="CSS",e[e.CUDACPP=7]="CUDACPP",e[e.DOCKERFILE=8]="DOCKERFILE",e[e.GO=9]="GO",e[e.GROOVY=10]="GROOVY",e[e.HANDLEBARS=11]="HANDLEBARS",e[e.HASKELL=12]="HASKELL",e[e.HCL=13]="HCL",e[e.HTML=14]="HTML",e[e.INI=15]="INI",e[e.JAVA=16]="JAVA",e[e.JAVASCRIPT=17]="JAVASCRIPT",e[e.JSON=18]="JSON",e[e.JULIA=19]="JULIA",e[e.KOTLIN=20]="KOTLIN",e[e.LATEX=21]="LATEX",e[e.LESS=22]="LESS",e[e.LUA=23]="LUA",e[e.MAKEFILE=24]="MAKEFILE",e[e.MARKDOWN=25]="MARKDOWN",e[e.OBJECTIVEC=26]="OBJECTIVEC",e[e.OBJECTIVECPP=27]="OBJECTIVECPP",e[e.PERL=28]="PERL",e[e.PHP=29]="PHP",e[e.PLAINTEXT=30]="PLAINTEXT",e[e.PROTOBUF=31]="PROTOBUF",e[e.PBTXT=32]="PBTXT",e[e.PYTHON=33]="PYTHON",e[e.R=34]="R",e[e.RUBY=35]="RUBY",e[e.RUST=36]="RUST",e[e.SASS=37]="SASS",e[e.SCALA=38]="SCALA",e[e.SCSS=39]="SCSS",e[e.SHELL=40]="SHELL",e[e.SQL=41]="SQL",e[e.STARLARK=42]="STARLARK",e[e.SWIFT=43]="SWIFT",e[e.TSX=44]="TSX",e[e.TYPESCRIPT=45]="TYPESCRIPT",e[e.VISUALBASIC=46]="VISUALBASIC",e[e.VUE=47]="VUE",e[e.XML=48]="XML",e[e.XSL=49]="XSL",e[e.YAML=50]="YAML",e[e.SVELTE=51]="SVELTE",e[e.TOML=52]="TOML",e[e.DART=53]="DART",e[e.RST=54]="RST",e[e.OCAML=55]="OCAML",e[e.CMAKE=56]="CMAKE",e[e.PASCAL=57]="PASCAL",e[e.ELIXIR=58]="ELIXIR",e[e.FSHARP=59]="FSHARP",e[e.LISP=60]="LISP",e[e.MATLAB=61]="MATLAB",e[e.POWERSHELL=62]="POWERSHELL",e[e.SOLIDITY=63]="SOLIDITY",e[e.ADA=64]="ADA",e[e.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(it||(it={})),E.util.setEnumType(it,"exa.codeium_common_pb.Language",[{no:0,name:"LANGUAGE_UNSPECIFIED"},{no:1,name:"LANGUAGE_C"},{no:2,name:"LANGUAGE_CLOJURE"},{no:3,name:"LANGUAGE_COFFEESCRIPT"},{no:4,name:"LANGUAGE_CPP"},{no:5,name:"LANGUAGE_CSHARP"},{no:6,name:"LANGUAGE_CSS"},{no:7,name:"LANGUAGE_CUDACPP"},{no:8,name:"LANGUAGE_DOCKERFILE"},{no:9,name:"LANGUAGE_GO"},{no:10,name:"LANGUAGE_GROOVY"},{no:11,name:"LANGUAGE_HANDLEBARS"},{no:12,name:"LANGUAGE_HASKELL"},{no:13,name:"LANGUAGE_HCL"},{no:14,name:"LANGUAGE_HTML"},{no:15,name:"LANGUAGE_INI"},{no:16,name:"LANGUAGE_JAVA"},{no:17,name:"LANGUAGE_JAVASCRIPT"},{no:18,name:"LANGUAGE_JSON"},{no:19,name:"LANGUAGE_JULIA"},{no:20,name:"LANGUAGE_KOTLIN"},{no:21,name:"LANGUAGE_LATEX"},{no:22,name:"LANGUAGE_LESS"},{no:23,name:"LANGUAGE_LUA"},{no:24,name:"LANGUAGE_MAKEFILE"},{no:25,name:"LANGUAGE_MARKDOWN"},{no:26,name:"LANGUAGE_OBJECTIVEC"},{no:27,name:"LANGUAGE_OBJECTIVECPP"},{no:28,name:"LANGUAGE_PERL"},{no:29,name:"LANGUAGE_PHP"},{no:30,name:"LANGUAGE_PLAINTEXT"},{no:31,name:"LANGUAGE_PROTOBUF"},{no:32,name:"LANGUAGE_PBTXT"},{no:33,name:"LANGUAGE_PYTHON"},{no:34,name:"LANGUAGE_R"},{no:35,name:"LANGUAGE_RUBY"},{no:36,name:"LANGUAGE_RUST"},{no:37,name:"LANGUAGE_SASS"},{no:38,name:"LANGUAGE_SCALA"},{no:39,name:"LANGUAGE_SCSS"},{no:40,name:"LANGUAGE_SHELL"},{no:41,name:"LANGUAGE_SQL"},{no:42,name:"LANGUAGE_STARLARK"},{no:43,name:"LANGUAGE_SWIFT"},{no:44,name:"LANGUAGE_TSX"},{no:45,name:"LANGUAGE_TYPESCRIPT"},{no:46,name:"LANGUAGE_VISUALBASIC"},{no:47,name:"LANGUAGE_VUE"},{no:48,name:"LANGUAGE_XML"},{no:49,name:"LANGUAGE_XSL"},{no:50,name:"LANGUAGE_YAML"},{no:51,name:"LANGUAGE_SVELTE"},{no:52,name:"LANGUAGE_TOML"},{no:53,name:"LANGUAGE_DART"},{no:54,name:"LANGUAGE_RST"},{no:55,name:"LANGUAGE_OCAML"},{no:56,name:"LANGUAGE_CMAKE"},{no:57,name:"LANGUAGE_PASCAL"},{no:58,name:"LANGUAGE_ELIXIR"},{no:59,name:"LANGUAGE_FSHARP"},{no:60,name:"LANGUAGE_LISP"},{no:61,name:"LANGUAGE_MATLAB"},{no:62,name:"LANGUAGE_POWERSHELL"},{no:63,name:"LANGUAGE_SOLIDITY"},{no:64,name:"LANGUAGE_ADA"},{no:65,name:"LANGUAGE_OCAML_INTERFACE"}]);var Cl=(Ee=class extends K{constructor(n){super();p(this,"completionId","");p(this,"text","");p(this,"prefix","");p(this,"stop","");p(this,"score",0);p(this,"tokens",[]);p(this,"decodedTokens",[]);p(this,"probabilities",[]);p(this,"adjustedProbabilities",[]);p(this,"generatedLength",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ee().fromBinary(n,r)}static fromJson(n,r){return new Ee().fromJson(n,r)}static fromJsonString(n,r){return new Ee().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ee,n,r)}},p(Ee,"runtime",E),p(Ee,"typeName","exa.codeium_common_pb.Completion"),p(Ee,"fields",E.util.newFieldList(()=>[{no:1,name:"completion_id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"prefix",kind:"scalar",T:9},{no:4,name:"stop",kind:"scalar",T:9},{no:5,name:"score",kind:"scalar",T:1},{no:6,name:"tokens",kind:"scalar",T:4,repeated:!0},{no:7,name:"decoded_tokens",kind:"scalar",T:9,repeated:!0},{no:8,name:"probabilities",kind:"scalar",T:1,repeated:!0},{no:9,name:"adjusted_probabilities",kind:"scalar",T:1,repeated:!0},{no:10,name:"generated_length",kind:"scalar",T:4}])),Ee),Fo=(Se=class extends K{constructor(n){super();p(this,"ideName","");p(this,"ideVersion","");p(this,"extensionName","");p(this,"extensionVersion","");p(this,"apiKey","");p(this,"locale","");p(this,"sessionId","");p(this,"requestId",V.zero);p(this,"userAgent","");p(this,"url","");p(this,"authSource",an.CODEIUM);E.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Se,n,r)}},p(Se,"runtime",E),p(Se,"typeName","exa.codeium_common_pb.Metadata"),p(Se,"fields",E.util.newFieldList(()=>[{no:1,name:"ide_name",kind:"scalar",T:9},{no:7,name:"ide_version",kind:"scalar",T:9},{no:12,name:"extension_name",kind:"scalar",T:9},{no:2,name:"extension_version",kind:"scalar",T:9},{no:3,name:"api_key",kind:"scalar",T:9},{no:4,name:"locale",kind:"scalar",T:9},{no:10,name:"session_id",kind:"scalar",T:9},{no:9,name:"request_id",kind:"scalar",T:4},{no:13,name:"user_agent",kind:"scalar",T:9},{no:14,name:"url",kind:"scalar",T:9},{no:15,name:"auth_source",kind:"enum",T:E.getEnumType(an)}])),Se),xl=(Ce=class extends K{constructor(n){super();p(this,"tabSize",V.zero);p(this,"insertSpaces",!1);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ce,n,r)}},p(Ce,"runtime",E),p(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),p(Ce,"fields",E.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);xe=class extends K{constructor(n){super();p(this,"eventType",sn.UNSPECIFIED);p(this,"eventJson","");p(this,"timestampUnixMs",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new xe().fromBinary(n,r)}static fromJson(n,r){return new xe().fromJson(n,r)}static fromJsonString(n,r){return new xe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(xe,n,r)}},p(xe,"runtime",E),p(xe,"typeName","exa.codeium_common_pb.Event"),p(xe,"fields",E.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:E.getEnumType(sn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Il=class extends jn{constructor(t,n){super();p(this,"index");p(this,"total");this.index=t,this.total=n}toDOM(){let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.className="cm-codeium-cycle";let n=t.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=t.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",t}ignoreEvent(){return!1}};const cn=Rt.define({combine(e){return Dn(e,{language:it.TYPESCRIPT,timeout:150,widgetClass:Il,alwaysOn:!0},{})}}),Mo=Rt.define({combine(e){return Dn(e,{override:()=>[]},{})}});var kl=$.mark({class:"cm-ghostText"});const st=ze.define({create(e){return null},update(e,t){var r;let n=t.state.facet(cn);for(let o of t.effects){if(o.is(zn)){let{changeSpecs:a,index:i}=o.value,s=a[i].map(l=>kl.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:$.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[$.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Kn)||o.is(Yn))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>J.decorations.from(e,t=>(t==null?void 0:t.decorations)||$.none)}),pt=Dr.define(),un=Dr.define();var R;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(R||(R={}));function rr(e){let t=R[e];return typeof t=="string"?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):e.toString()}var dn;function Tl(e){if(!dn){dn={};for(let t of Object.values(R))typeof t!="string"&&(dn[rr(t)]=t)}return dn[e]}var he=class Ct extends Error{constructor(t,n=R.Unknown,r,o,a){super(Nl(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=a}static from(t,n=R.Unknown){return t instanceof Ct?t:t instanceof Error?t.name=="AbortError"?new Ct(t.message,R.Canceled):new Ct(t.message,n,void 0,void 0,t):new Ct(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===Ct.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n="typeName"in t?{findMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("getType"in o){n.findMessage(o.getType().typeName)&&r.push(o);continue}let a=n.findMessage(o.type);if(a)try{r.push(a.fromBinary(o.value))}catch{}}return r}};function Nl(e,t){return e.length?`[${rr(t)}] ${e}`:`[${rr(t)}]`}function Al(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function Ll(e,t){let n={};for(let[r,o]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},o),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function Ol(e){let t,n=new Uint8Array;function r(o){let a=new Uint8Array(n.length+o.length);a.set(n),a.set(o,n.length),n=a}return new ReadableStream({start(){t=e.getReader()},async pull(o){let a;for(;;){if(a===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];a={flags:n[0],length:c}}if(a!==void 0&&n.byteLength>=a.length+5)break;let s=await t.read();if(s.done)break;r(s.value)}if(a===void 0){if(n.byteLength==0){o.close();return}o.error(new he("premature end of stream",R.DataLoss));return}let i=n.subarray(5,5+a.length);n=n.subarray(5+a.length),o.enqueue({flags:a.flags,data:i})}})}function _l(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var Ul=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},Ot=function(e){return this instanceof Ot?(this.v=e,this):new Ot(e)},jl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof Ot?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}},Dl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:Ot(e[o](i)),done:!1}:a?a(i):i}:a}};function Pl(e){return jl(this,arguments,function*(){yield Ot(yield*Dl(Ul(e)))})}var Ro=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},ht=function(e){return this instanceof ht?(this.v=e,this):new ht(e)},Fl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:ht(e[o](i)),done:!1}:a?a(i):i}:a}},Ml=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof ht?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Rl(e,t){return Ll(e,n=>{switch(n.kind){case ve.Unary:return Gl(t,e,n);case ve.ServerStreaming:return Jl(t,e,n);case ve.ClientStreaming:return Vl(t,e,n);case ve.BiDiStreaming:return $l(t,e,n);default:return null}})}function Bl(e,t){return Rl(e,t)}function Gl(e,t,n){return async function(r,o){var a,i;let s=await e.unary(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);return(a=o==null?void 0:o.onHeader)==null||a.call(o,s.header),(i=o==null?void 0:o.onTrailer)==null||i.call(o,s.trailer),s.message}}function Jl(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,Pl([r]),o==null?void 0:o.contextValues),o)}}function Vl(e,t,n){return async function(r,o){var a,i,s,c,l,u;let d=await e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);(l=o==null?void 0:o.onHeader)==null||l.call(o,d.header);let m,f=0;try{for(var h=!0,y=Ro(d.message),b;b=await y.next(),a=b.done,!a;h=!0)c=b.value,h=!1,m=c,f++}catch(v){i={error:v}}finally{try{!h&&!a&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!m)throw new he("protocol error: missing response message",R.Unimplemented);if(f>1)throw new he("protocol error: received extra messages for client streaming method",R.Unimplemented);return(u=o==null?void 0:o.onTrailer)==null||u.call(o,d.trailer),m}}function $l(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues),o)}}function Bo(e,t){let n=(function(){return Ml(this,arguments,function*(){var r,o;let a=yield ht(e);(r=t==null?void 0:t.onHeader)==null||r.call(t,a.header),yield ht(yield*Fl(Ro(a.message))),(o=t==null?void 0:t.onTrailer)==null||o.call(t,a.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Wl(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Go(this));for(let o of n)o.removeEventListener("abort",r)}return t}function ql(e){let t=new AbortController,n=()=>{t.abort(new he("the operation timed out",R.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Go(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=Error("This operation was aborted");return t.name="AbortError",t}function Jo(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Vo(e,t,n){let r=typeof t=="string"?t:t.typeName,o=typeof n=="string"?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${o}`)}function $o(e,t){return t instanceof e?t:new e(t)}function Hl(e,t){function n(r){return r.done===!0?r:{done:r.done,value:$o(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=a=>r.throw(a).then(n)),r.return!==void 0&&(o.return=a=>r.return(a).then(n)),o}}}function Wo(e,t){return(t==null?void 0:t.concat().reverse().reduce((n,r)=>r(n),e))??e}function qo(e){let t=Object.assign({},e);return t.ignoreUnknownFields??(t.ignoreUnknownFields=!0),t}function Ho(e,t,n,r){let o=t?zo(e.I,r):Ko(e.I,n);return{parse:(t?zo(e.O,r):Ko(e.O,n)).parse,serialize:o.serialize}}function zo(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(r){throw new he(`parse binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}},serialize(n){try{return n.toBinary(t)}catch(r){throw new he(`serialize binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}}}}function Ko(e,t){let n=(t==null?void 0:t.textEncoder)??new TextEncoder,r=(t==null?void 0:t.textDecoder)??new TextDecoder,o=qo(t);return{parse(a){try{let i=r.decode(a);return e.fromJsonString(i,o)}catch(i){throw he.from(i,R.InvalidArgument)}},serialize(a){try{let i=a.toJsonString(o);return n.encode(i)}catch(i){throw he.from(i,R.Internal)}}}}const zl=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Kl(e){let t=e==null?void 0:e.match(zl);if(t)return{stream:!!t[1],binary:!!t[3]}}function Yo(e,t,n){if(t&&new Headers(t).forEach((i,s)=>n.metadata.append(s,i)),typeof e!="object"||!e||Array.isArray(e))throw n;let r=n.code;"code"in e&&typeof e.code=="string"&&(r=Tl(e.code)??r);let o=e.message;if(o!=null&&typeof o!="string")throw n;let a=new he(o??"",r,t);if("details"in e&&Array.isArray(e.details))for(let i of e.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{a.details.push({type:i.type,value:Qt.dec(i.value),debug:i.debug})}catch{throw n}}return a}function Yl(e){let t=new he("invalid end stream",R.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||!n||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[o,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(i=>typeof i!="string"))throw t;for(let i of a)r.append(o,i)}}return{metadata:r,error:"error"in n&&n.error!=null?Yo(n.error,r,t):void 0}}const fn="Content-Type",Xo="Content-Encoding",Qo="Connect-Protocol-Version";function Xl(e){switch(e){case 400:return R.Internal;case 401:return R.Unauthenticated;case 403:return R.PermissionDenied;case 404:return R.Unimplemented;case 429:return R.Unavailable;case 502:return R.Unavailable;case 503:return R.Unavailable;case 504:return R.Unavailable;default:return R.Unknown}}function Zo(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}function ea(e,t,n,r,o){let a=new Headers(r??{});return n!==void 0&&a.set("Connect-Timeout-Ms",`${n}`),a.set(fn,e==ve.Unary?t?"application/proto":"application/json":t?"application/connect+proto":"application/connect+json"),a.set(Qo,"1"),o&&a.set("User-Agent","connect-es/1.6.1"),a}function ta(e,t,n,r){let o=r.get(fn),a=Kl(o);if(n!==200){let s=new he(`HTTP ${n}`,Xl(n),r);if(e==ve.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:t,stream:e!==ve.Unary};if((a==null?void 0:a.binary)!==i.binary||a.stream!==i.stream)throw new he(`unsupported content type ${o}`,a===void 0?R.Unknown:R.Internal,r);return{isUnaryError:!1}}var Ql="application/";function Zl(e,t){return t?Qt.enc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(e))}function ec(e,t,n){let r="?connect=v1",o=e.header.get(fn);(o==null?void 0:o.indexOf(Ql))===0&&(r+="&encoding="+encodeURIComponent(o.slice(12)));let a=e.header.get(Xo);a!==null&&a!=="identity"&&(r+="&compression="+encodeURIComponent(a),n=!0),n&&(r+="&base64=1"),r+="&message="+Zl(t,n);let i=e.url+r,s=new Headers(e.header);return[Qo,fn,"Content-Length",Xo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:"GET"}),url:i,header:s})}function tc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e);return t(Object.assign(Object.assign({},e.req),{message:$o(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function nc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e),a=Object.assign(Object.assign({},e.req),{message:Hl(e.req.method.I,e.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=e.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),t(a).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(l=>(l.done==1&&(i=!0,o()),l),r)}}}}}),r)}function na(e){let{signal:t,cleanup:n}=ql(e.timeoutMs),r=Wl(e.signal,t);return[r.signal,function(o){let a=he.from(t.aborted?Go(t):o);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}var mn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INACTIVE=1]="INACTIVE",e[e.PROCESSING=2]="PROCESSING",e[e.SUCCESS=3]="SUCCESS",e[e.WARNING=4]="WARNING",e[e.ERROR=5]="ERROR"})(mn||(mn={})),E.util.setEnumType(mn,"exa.language_server_pb.CodeiumState",[{no:0,name:"CODEIUM_STATE_UNSPECIFIED"},{no:1,name:"CODEIUM_STATE_INACTIVE"},{no:2,name:"CODEIUM_STATE_PROCESSING"},{no:3,name:"CODEIUM_STATE_SUCCESS"},{no:4,name:"CODEIUM_STATE_WARNING"},{no:5,name:"CODEIUM_STATE_ERROR"}]);var ra;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLE=1]="SINGLE",e[e.MULTI=2]="MULTI"})(ra||(ra={})),E.util.setEnumType(ra,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var pn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INLINE=1]="INLINE",e[e.BLOCK=2]="BLOCK",e[e.INLINE_MASK=3]="INLINE_MASK"})(pn||(pn={})),E.util.setEnumType(pn,"exa.language_server_pb.CompletionPartType",[{no:0,name:"COMPLETION_PART_TYPE_UNSPECIFIED"},{no:1,name:"COMPLETION_PART_TYPE_INLINE"},{no:2,name:"COMPLETION_PART_TYPE_BLOCK"},{no:3,name:"COMPLETION_PART_TYPE_INLINE_MASK"}]);var rc=(Ie=class extends K{constructor(n){super();p(this,"threshold",0);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ie().fromBinary(n,r)}static fromJson(n,r){return new Ie().fromJson(n,r)}static fromJsonString(n,r){return new Ie().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ie,n,r)}},p(Ie,"runtime",E),p(Ie,"typeName","exa.language_server_pb.MultilineConfig"),p(Ie,"fields",E.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ie),oc=(ke=class extends K{constructor(n){super();p(this,"metadata");p(this,"document");p(this,"editorOptions");p(this,"otherDocuments",[]);p(this,"experimentConfig");p(this,"modelName","");p(this,"multilineConfig");E.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return E.util.equals(ke,n,r)}},p(ke,"runtime",E),p(ke,"typeName","exa.language_server_pb.GetCompletionsRequest"),p(ke,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"document",kind:"message",T:oa},{no:3,name:"editor_options",kind:"message",T:xl},{no:5,name:"other_documents",kind:"message",T:oa,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:uc},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:rc}])),ke),ac=(Te=class extends K{constructor(n){super();p(this,"state");p(this,"completionItems",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Te().fromBinary(n,r)}static fromJson(n,r){return new Te().fromJson(n,r)}static fromJsonString(n,r){return new Te().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Te,n,r)}},p(Te,"runtime",E),p(Te,"typeName","exa.language_server_pb.GetCompletionsResponse"),p(Te,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:dc},{no:2,name:"completion_items",kind:"message",T:hc,repeated:!0}])),Te),ic=(Ne=class extends K{constructor(n){super();p(this,"metadata");p(this,"completionId","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ne,n,r)}},p(Ne,"runtime",E),p(Ne,"typeName","exa.language_server_pb.AcceptCompletionRequest"),p(Ne,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"completion_id",kind:"scalar",T:9}])),Ne),sc=(Ae=class extends K{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Ae().fromBinary(t,n)}static fromJson(t,n){return new Ae().fromJson(t,n)}static fromJsonString(t,n){return new Ae().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Ae,t,n)}},p(Ae,"runtime",E),p(Ae,"typeName","exa.language_server_pb.AcceptCompletionResponse"),p(Ae,"fields",E.util.newFieldList(()=>[])),Ae),lc=(Le=class extends K{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Le().fromBinary(t,n)}static fromJson(t,n){return new Le().fromJson(t,n)}static fromJsonString(t,n){return new Le().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Le,t,n)}},p(Le,"runtime",E),p(Le,"typeName","exa.language_server_pb.GetAuthTokenRequest"),p(Le,"fields",E.util.newFieldList(()=>[])),Le),cc=(Oe=class extends K{constructor(n){super();p(this,"authToken","");p(this,"uuid","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Oe().fromBinary(n,r)}static fromJson(n,r){return new Oe().fromJson(n,r)}static fromJsonString(n,r){return new Oe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Oe,n,r)}},p(Oe,"runtime",E),p(Oe,"typeName","exa.language_server_pb.GetAuthTokenResponse"),p(Oe,"fields",E.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Oe),or=(_e=class extends K{constructor(n){super();p(this,"row",V.zero);p(this,"col",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new _e().fromBinary(n,r)}static fromJson(n,r){return new _e().fromJson(n,r)}static fromJsonString(n,r){return new _e().fromJsonString(n,r)}static equals(n,r){return E.util.equals(_e,n,r)}},p(_e,"runtime",E),p(_e,"typeName","exa.language_server_pb.DocumentPosition"),p(_e,"fields",E.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),_e),oa=(Ue=class extends K{constructor(n){super();p(this,"absolutePath","");p(this,"relativePath","");p(this,"text","");p(this,"editorLanguage","");p(this,"language",it.UNSPECIFIED);p(this,"cursorOffset",V.zero);p(this,"cursorPosition");p(this,"lineEnding","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ue,n,r)}},p(Ue,"runtime",E),p(Ue,"typeName","exa.language_server_pb.Document"),p(Ue,"fields",E.util.newFieldList(()=>[{no:1,name:"absolute_path",kind:"scalar",T:9},{no:2,name:"relative_path",kind:"scalar",T:9},{no:3,name:"text",kind:"scalar",T:9},{no:4,name:"editor_language",kind:"scalar",T:9},{no:5,name:"language",kind:"enum",T:E.getEnumType(it)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:or},{no:7,name:"line_ending",kind:"scalar",T:9}])),Ue),uc=(je=class extends K{constructor(n){super();p(this,"forceEnableExperiments",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return E.util.equals(je,n,r)}},p(je,"runtime",E),p(je,"typeName","exa.language_server_pb.ExperimentConfig"),p(je,"fields",E.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:E.getEnumType(nr),repeated:!0}])),je),dc=(De=class extends K{constructor(n){super();p(this,"state",mn.UNSPECIFIED);p(this,"message","");E.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return E.util.equals(De,n,r)}},p(De,"runtime",E),p(De,"typeName","exa.language_server_pb.State"),p(De,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:E.getEnumType(mn)},{no:2,name:"message",kind:"scalar",T:9}])),De),fc=(Pe=class extends K{constructor(n){super();p(this,"startOffset",V.zero);p(this,"endOffset",V.zero);p(this,"startPosition");p(this,"endPosition");E.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Pe,n,r)}},p(Pe,"runtime",E),p(Pe,"typeName","exa.language_server_pb.Range"),p(Pe,"fields",E.util.newFieldList(()=>[{no:1,name:"start_offset",kind:"scalar",T:4},{no:2,name:"end_offset",kind:"scalar",T:4},{no:3,name:"start_position",kind:"message",T:or},{no:4,name:"end_position",kind:"message",T:or}])),Pe),mc=(Fe=class extends K{constructor(n){super();p(this,"text","");p(this,"deltaCursorOffset",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Fe,n,r)}},p(Fe,"runtime",E),p(Fe,"typeName","exa.language_server_pb.Suffix"),p(Fe,"fields",E.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Fe),pc=(Me=class extends K{constructor(n){super();p(this,"text","");p(this,"offset",V.zero);p(this,"type",pn.UNSPECIFIED);p(this,"prefix","");p(this,"line",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Me().fromBinary(n,r)}static fromJson(n,r){return new Me().fromJson(n,r)}static fromJsonString(n,r){return new Me().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Me,n,r)}},p(Me,"runtime",E),p(Me,"typeName","exa.language_server_pb.CompletionPart"),p(Me,"fields",E.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:4},{no:3,name:"type",kind:"enum",T:E.getEnumType(pn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Me),hc=(Re=class extends K{constructor(n){super();p(this,"completion");p(this,"suffix");p(this,"range");p(this,"source",ln.UNSPECIFIED);p(this,"completionParts",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Re().fromBinary(n,r)}static fromJson(n,r){return new Re().fromJson(n,r)}static fromJsonString(n,r){return new Re().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Re,n,r)}},p(Re,"runtime",E),p(Re,"typeName","exa.language_server_pb.CompletionItem"),p(Re,"fields",E.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Cl},{no:5,name:"suffix",kind:"message",T:mc},{no:2,name:"range",kind:"message",T:fc},{no:3,name:"source",kind:"enum",T:E.getEnumType(ln)},{no:8,name:"completion_parts",kind:"message",T:pc,repeated:!0}])),Re);const gc={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:oc,O:ac,kind:ve.Unary},acceptCompletion:{name:"AcceptCompletion",I:ic,O:sc,kind:ve.Unary},getAuthToken:{name:"GetAuthToken",I:lc,O:cc,kind:ve.Unary}}};function yc(){try{new Headers}catch{throw Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var _t=function(e){return this instanceof _t?(this.v=e,this):new _t(e)},bc=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof _t?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function wc(e){yc();let t=e.useBinaryFormat??!1;return{async unary(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await tc({interceptors:e.interceptors,signal:o,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async d=>{let m=e.useHttpGet===!0&&r.idempotency===Po.NoSideEffects,f=null;m?d=ec(d,l(d.message),t):f=l(d.message);let h=await(e.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=ta(r.kind,t,h.status,h.headers);if(y)throw Yo(await h.json(),Al(...Zo(h.headers)),b);let[v,C]=Zo(h.headers);return{stream:!1,service:n,method:r,header:v,message:t?u(new Uint8Array(await h.arrayBuffer())):r.O.fromJson(await h.json(),qo(e.jsonOptions)),trailer:C}}})},async stream(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);function d(f,h,y,b){return bc(this,arguments,function*(){let v=Ol(f).getReader(),C=!1;for(;;){let x=yield _t(v.read());if(x.done)break;let{flags:_,data:D}=x.value;if((_&1)==1)throw new he("protocol error: received unsupported compressed output",R.Internal);if((_&2)==2){C=!0;let A=Yl(D);if(A.error){let k=A.error;throw y.forEach((B,F)=>{k.metadata.append(F,B)}),k}A.metadata.forEach((k,B)=>h.set(B,k));continue}yield yield _t(u(D))}if("throwIfAborted"in b&&b.throwIfAborted(),!C)throw"missing EndStreamResponse"})}async function m(f){if(r.kind!=ve.ServerStreaming)throw"The fetch API does not support streaming request bodies";let h=await f[Symbol.asyncIterator]().next();if(h.done==1)throw"missing request message";return _l(0,l(h.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await nc({interceptors:e.interceptors,timeoutMs:a,signal:o,req:{stream:!0,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async f=>{let h=await(e.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await m(f.message)}));if(ta(r.kind,t,h.status,h.headers),h.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:h.headers,trailer:y,message:d(h.body,y,h.headers,f.signal)})}})}}}var vc=Bl(gc,wc({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),hn;try{hn=crypto.randomUUID()}catch{hn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,t=>(t^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>t/4).toString(16))}()}async function Ec({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await vc.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:hn,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:"typescript",lineEnding:`
14
14
  `},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${hn}`}})}function Sc(e){return e.completionItems.map(t=>{let n=0;return t.completionParts.filter(r=>r.type!==3).map(r=>{let o=Number(r.offset),a=r.type===2?`
15
- ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function Cc(e,t){let n=e.state.facet(cn),{override:r}=e.state.facet(Mo),o=await r(),a=e.state,i=a.selection.main.head,s=a.doc.toString();try{let c=await Ec({text:s,cursorOffset:i,config:n,otherDocuments:o});if(!c||c.completionItems.length===0||!((t===void 0||i===t)&&Gt(e.state)!=="active"&&e.hasFocus))return;let l=Sc(c),u=l.at(0);if(!u)return;let d=Un.of(u,a.doc.length),m=d.invert(a.doc);e.dispatch({changes:d,effects:zn.of({index:0,reverseChangeSet:m,changeSpecs:l}),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(l=>setTimeout(l,300))}}function xc(e){return e.docChanged&&!e.transactions.some(t=>t.effects.some(n=>n.is(Kn)||n.is(Yn)))}function Ic(e){if(!e.view.hasFocus||e.state.field(st)||Gt(e.state)==="active")return!0;for(let t of e.transactions)if(t.annotation(pt)!==void 0)return!0}function kc(){let e=null,t=0;return J.updateListener.of(n=>{let r=n.view.state.facet(cn);if(!r.alwaysOn||!xc(n)||(e&&clearTimeout(e),Ic(n)))return;let o=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new Um(n.view.state,o,!1))||(e=setTimeout(async()=>{o===t&&await Cc(n.view,t)},r.timeout),t=o)})}function aa(e){var o;let t=e.state.field(st);if(!t)return!1;let n=(o=t.reverseChangeSet)==null?void 0:o.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Kn.of(null),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((a,i,s,c)=>{r=c}),e.dispatch({changes:n,selection:wt.cursor(r),annotations:[pt.of(null),Bt.addToHistory.of(!0)]}),!0}const ia=e=>{let{state:t}=e,n=t.field(st);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let o=(n.index+1)%r.length,a=r.at(o);if(!a)return!1;let i=n.reverseChangeSet.apply(t.doc),s=Un.of(n.reverseChangeSet,t.doc.length).compose(Un.of(a,i.length)),c=Un.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:zn.of({index:o,reverseChangeSet:c,changeSpecs:r}),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]}),!0};function ar(e){let t=e.state.field(st);return t&&e.dispatch({changes:t.reverseChangeSet,effects:Yn.of(null),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]}),!1}function Tc(e,t){return e.state.field(st)?t==="Tab"?aa(e):ar(e):!1}function Nc(e){var o,a;let t=!1,n=(o=e.state.selection.asSingle().ranges.at(0))==null?void 0:o.head,r=e.state.field(st);return n!==void 0&&r?((a=r.decorations)==null||a.between(n,n,()=>{t=!0}),t):!1}function Ac(){return J.domEventHandlers({keydown(e,t){return e.key==="]"&&e.ctrlKey?!1:e.key!=="Shift"&&e.key!=="Control"&&e.key!=="Alt"&&e.key!=="Meta"?Tc(t,e.key):!1},mouseup(e,t){let n=e.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(ia(t),e.stopPropagation(),e.preventDefault(),!0):Nc(t)?aa(t):ar(t)}})}function Lc(){return We.of([{key:"Ctrl-]",run:ia}])}function Oc(){return J.updateListener.of(e=>{e.focusChanged&&ar(e.view)})}function _c(e){return[cn.of(e),st,ct.highest(Lc()),ct.highest(Oc()),ct.high(Ac()),kc()]}function Uc({response:e,prefix:t,suffix:n}){if(!e)return e;let r=e;return t&&r.startsWith(t)&&(r=r.slice(t.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var Pc=Pm(),jc=new om,ir=$e.get("@github/copilot-language-server"),sa={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}};const Dc=e=>{let t=[];return e.copilot==="codeium"&&e.codeium_api_key&&t.push(_c({apiKey:e.codeium_api_key,language:it.PYTHON}),Mo.of({override:async()=>[{text:Cr(""),language:it.PYTHON,editorLanguage:"python"}]})),e.copilot==="github"&&t.push(eo({...sa,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(!Of()||!o.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=Fc(n,Cr(n.doc.toString())),s=await Nf().getCompletion(i);return a===o.state.selection.main.head?Mc(s,i.position,n):($e.debug("ignoring response because of new position"),"")}})),e.copilot==="custom"&&t.push(eo({...sa,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(n.doc.length===0||!o.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(Tn).type,l=await Rf.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return a===o.state.selection.main.head?(l=Uc({response:l,prefix:i,suffix:s}),l):($e.debug("ignoring response because of new position"),"")}})),[...t,ct.highest(We.of([{key:"Escape",run:n=>{let r=Zr(n);return On(n)?!1:r}}])),jc.of(Af())]};function Fc(e,t){let n=e.doc.toString(),r=t.split(`
15
+ ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function Cc(e,t){let n=e.state.facet(cn),{override:r}=e.state.facet(Mo),o=await r(),a=e.state,i=a.selection.main.head,s=a.doc.toString();try{let c=await Ec({text:s,cursorOffset:i,config:n,otherDocuments:o});if(!c||c.completionItems.length===0||!((t===void 0||i===t)&&Gt(e.state)!=="active"&&e.hasFocus))return;let l=Sc(c),u=l.at(0);if(!u)return;let d=Un.of(u,a.doc.length),m=d.invert(a.doc);e.dispatch({changes:d,effects:zn.of({index:0,reverseChangeSet:m,changeSpecs:l}),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(l=>setTimeout(l,300))}}function xc(e){return e.docChanged&&!e.transactions.some(t=>t.effects.some(n=>n.is(Kn)||n.is(Yn)))}function Ic(e){if(!e.view.hasFocus||e.state.field(st)||Gt(e.state)==="active")return!0;for(let t of e.transactions)if(t.annotation(pt)!==void 0)return!0}function kc(){let e=null,t=0;return J.updateListener.of(n=>{let r=n.view.state.facet(cn);if(!r.alwaysOn||!xc(n)||(e&&clearTimeout(e),Ic(n)))return;let o=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new Um(n.view.state,o,!1))||(e=setTimeout(async()=>{o===t&&await Cc(n.view,t)},r.timeout),t=o)})}function aa(e){var o;let t=e.state.field(st);if(!t)return!1;let n=(o=t.reverseChangeSet)==null?void 0:o.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Kn.of(null),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((a,i,s,c)=>{r=c}),e.dispatch({changes:n,selection:wt.cursor(r),annotations:[pt.of(null),Bt.addToHistory.of(!0)]}),!0}const ia=e=>{let{state:t}=e,n=t.field(st);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let o=(n.index+1)%r.length,a=r.at(o);if(!a)return!1;let i=n.reverseChangeSet.apply(t.doc),s=Un.of(n.reverseChangeSet,t.doc.length).compose(Un.of(a,i.length)),c=Un.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:zn.of({index:o,reverseChangeSet:c,changeSpecs:r}),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]}),!0};function ar(e){let t=e.state.field(st);return t&&e.dispatch({changes:t.reverseChangeSet,effects:Yn.of(null),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]}),!1}function Tc(e,t){return e.state.field(st)?t==="Tab"?aa(e):ar(e):!1}function Nc(e){var o,a;let t=!1,n=(o=e.state.selection.asSingle().ranges.at(0))==null?void 0:o.head,r=e.state.field(st);return n!==void 0&&r?((a=r.decorations)==null||a.between(n,n,()=>{t=!0}),t):!1}function Ac(){return J.domEventHandlers({keydown(e,t){return e.key==="]"&&e.ctrlKey?!1:e.key!=="Shift"&&e.key!=="Control"&&e.key!=="Alt"&&e.key!=="Meta"?Tc(t,e.key):!1},mouseup(e,t){let n=e.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(ia(t),e.stopPropagation(),e.preventDefault(),!0):Nc(t)?aa(t):ar(t)}})}function Lc(){return We.of([{key:"Ctrl-]",run:ia}])}function Oc(){return J.updateListener.of(e=>{e.focusChanged&&ar(e.view)})}function _c(e){return[cn.of(e),st,ct.highest(Lc()),ct.highest(Oc()),ct.high(Ac()),kc()]}function Uc({response:e,prefix:t,suffix:n}){if(!e)return e;let r=e;return t&&r.startsWith(t)&&(r=r.slice(t.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var jc=jm(),Dc=new om,ir=$e.get("@github/copilot-language-server"),sa={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}};const Pc=e=>{let t=[];return e.copilot==="codeium"&&e.codeium_api_key&&t.push(_c({apiKey:e.codeium_api_key,language:it.PYTHON}),Mo.of({override:async()=>[{text:Cr(""),language:it.PYTHON,editorLanguage:"python"}]})),e.copilot==="github"&&t.push(eo({...sa,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(!Of()||!o.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=Fc(n,Cr(n.doc.toString())),s=await Nf().getCompletion(i);return a===o.state.selection.main.head?Mc(s,i.position,n):($e.debug("ignoring response because of new position"),"")}})),e.copilot==="custom"&&t.push(eo({...sa,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(n.doc.length===0||!o.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(Tn).type,l=await Rf.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return a===o.state.selection.main.head?(l=Uc({response:l,prefix:i,suffix:s}),l):($e.debug("ignoring response because of new position"),"")}})),[...t,ct.highest(We.of([{key:"Escape",run:n=>{let r=Zr(n);return On(n)?!1:r}}])),Dc.of(Af())]};function Fc(e,t){let n=e.doc.toString(),r=t.split(`
16
16
  `).length-n.split(`
17
- `).length,o=Rc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${Tf}`,version:"replace_me"},position:o,context:{triggerKind:Pc.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function Mc(e,t,n){if(!e)return ir.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return ir.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return ir.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,l=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let u=0;u<c.length;u++){let d=c.slice(u);if(l.startsWith(d))return c.slice(0,u)}return c}function Rc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}Gn=function(e){return Ft("create"in e,'Expected query to have a "create" method'),e},we=Fd({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case"setFind":return{...e,findText:t.find};case"setReplace":return{...e,replaceText:t.replace};case"setCaseSensitive":return{...e,caseSensitive:t.caseSensitive};case"setWholeWord":return{...e,wholeWord:t.wholeWord};case"setRegex":return{...e,regexp:t.regexp};case"setIsOpen":return{...e,isOpen:t.isOpen};case"setCurrentView":return{...e,currentView:{view:t.view,range:t.range}};case"clearCurrentView":return{...e,currentView:void 0}}}),Vr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Y.set(we,{type:"setFind",find:n}),Y.set(we,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Y.set(we,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Y.get(we).isOpen?(Y.set(we,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Y.set(we,{type:"setIsOpen",isOpen:!0})}),!0):(Y.set(we,{type:"setIsOpen",isOpen:!0}),!0)};function Bc(){return Y.get(we).isOpen?(Y.set(we,{type:"setIsOpen",isOpen:!1}),!0):!1}var sr=pe.define();zi=function(){let e=Y.get(we),t=ci();for(let n of t)n.state.readOnly||n.dispatch({effects:sr.of(new Fr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},Xi=function(){let e=ci();for(let t of e)t.state.readOnly||t.dispatch({effects:sr.of(new Fr({search:""}))})};const gn=ze.define({create(){let e=Y.get(we);return Gn(new Fr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(sr)&&(e=Gn(n.value).create());return e}});var Gc=$.mark({class:"cm-searchMatch"}),Jc=$.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Vc=250;const $c=Xe.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(gn))}update(e){let t=e.state.field(gn);(t!==e.startState.field(gn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return $.none;let{view:t}=this,n=new cm,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*Vc;)i=r[++a].to;e.highlight(t.state,s,i,(c,l)=>{let u=t.state.selection.ranges.some(d=>d.from===c&&d.to===l);n.add(c,l,u?Jc:Gc)})}return n.finish()}},{decorations:e=>e.decorations}),Wc=J.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function qc(e){return[We.of([{key:"Escape",preventDefault:!1,run:Bc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:Em},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Vr}]),xm(),$c,gn,Wc]}var Hc=$.mark({class:"underline"}),la=pe.define(),ca=pe.define(),ua=pe.define();const zc=ze.define({create(){return $.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(la)?n=e.update({add:[Hc.range(r.value.from,r.value.to)]}):r.is(ca)?n=e.update({add:[jd.range(r.value.from,r.value.to)]}):r.is(ua)&&(n=$.none);return n},provide:e=>J.decorations.from(e)});var Kc=class{constructor(e,t){p(this,"keydown",e=>{(e.key==="Meta"||e.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});p(this,"keyup",e=>{(e.key==="Meta"||e.key==="Control")&&this.exitCommandClickMode()});p(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});p(this,"mousemove",e=>{var o;if(!e.metaKey&&!e.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let t=this.view.posAtCoords({x:e.clientX,y:e.clientY});if(t==null){this.clearUnderline();return}let n=(o=this.view.state.field(Vd,!1))==null?void 0:o.ranges.find(a=>t>=a.from&&t<=a.to);if(n){let{from:a,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:ca.of(this.hoveredRange)});return}let r=Ei(this.view.state).cursorAt(t);if(r.name==="VariableName"){let{from:a,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:la.of(this.hoveredRange)})}else this.clearUnderline()});p(this,"click",e=>{this.hoveredRange&&(e.preventDefault(),e.stopPropagation(),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}}),this.onClick(this.view))});this.view=e,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=t,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(e){}destroy(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup),window.removeEventListener("blur",this.windowBlur),window.removeEventListener("mouseleave",this.windowBlur),this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:ua.of(null)}),null))}};const Yc=e=>Xe.define(t=>new Kc(t,e));function Xc(){return[zc,Yc(e=>{$d(e)}),J.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function Qc(){return[J.domEventHandlers({drop:(e,t)=>{var o,a;let n=(o=e.dataTransfer)==null?void 0:o.files[0];if(n!=null&&n.type.startsWith("text/"))return e.preventDefault(),nf(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),Ud(t,n),!0;let r=(a=e.dataTransfer)==null?void 0:a.getData("text/plain");if(r){e.preventDefault();let i=t.posAtCoords({x:e.clientX,y:e.clientY});return i!==null&&t.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function Zc(){return[J.domEventHandlers({paste:(e,t)=>{var i;let n=(i=e.clipboardData)==null?void 0:i.getData("text/plain");if(!n||!da(n))return!1;let{setup:r,cells:o}=eu(n);if(r===null&&o.length===0)return!1;let a=t.state.facet(uf);return r!==null&&a.addOrAppendSetupCell(r),o.length>0&&a.createManyBelow(o),!0}})]}function da(e){return/@app\.cell|@app\.function|\bapp\.setup\b/.test(e)}function eu(e){if(!da(e))return{setup:null,cells:[]};let t=[],n=[],r=op.parse(e),o=(s,c)=>{let l=e.lastIndexOf(`
17
+ `).length,o=Rc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${Tf}`,version:"replace_me"},position:o,context:{triggerKind:jc.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function Mc(e,t,n){if(!e)return ir.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return ir.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return ir.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,l=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let u=0;u<c.length;u++){let d=c.slice(u);if(l.startsWith(d))return c.slice(0,u)}return c}function Rc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}Gn=function(e){return Ft("create"in e,'Expected query to have a "create" method'),e},we=Fd({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case"setFind":return{...e,findText:t.find};case"setReplace":return{...e,replaceText:t.replace};case"setCaseSensitive":return{...e,caseSensitive:t.caseSensitive};case"setWholeWord":return{...e,wholeWord:t.wholeWord};case"setRegex":return{...e,regexp:t.regexp};case"setIsOpen":return{...e,isOpen:t.isOpen};case"setCurrentView":return{...e,currentView:{view:t.view,range:t.range}};case"clearCurrentView":return{...e,currentView:void 0}}}),Vr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Y.set(we,{type:"setFind",find:n}),Y.set(we,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Y.set(we,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Y.get(we).isOpen?(Y.set(we,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Y.set(we,{type:"setIsOpen",isOpen:!0})}),!0):(Y.set(we,{type:"setIsOpen",isOpen:!0}),!0)};function Bc(){return Y.get(we).isOpen?(Y.set(we,{type:"setIsOpen",isOpen:!1}),!0):!1}var sr=pe.define();zi=function(){let e=Y.get(we),t=ci();for(let n of t)n.state.readOnly||n.dispatch({effects:sr.of(new Fr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},Xi=function(){let e=ci();for(let t of e)t.state.readOnly||t.dispatch({effects:sr.of(new Fr({search:""}))})};const gn=ze.define({create(){let e=Y.get(we);return Gn(new Fr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(sr)&&(e=Gn(n.value).create());return e}});var Gc=$.mark({class:"cm-searchMatch"}),Jc=$.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Vc=250;const $c=Xe.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(gn))}update(e){let t=e.state.field(gn);(t!==e.startState.field(gn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return $.none;let{view:t}=this,n=new cm,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*Vc;)i=r[++a].to;e.highlight(t.state,s,i,(c,l)=>{let u=t.state.selection.ranges.some(d=>d.from===c&&d.to===l);n.add(c,l,u?Jc:Gc)})}return n.finish()}},{decorations:e=>e.decorations}),Wc=J.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function qc(e){return[We.of([{key:"Escape",preventDefault:!1,run:Bc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:Cm},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Vr}]),Im(),$c,gn,Wc]}var Hc=$.mark({class:"underline"}),la=pe.define(),ca=pe.define(),ua=pe.define();const zc=ze.define({create(){return $.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(la)?n=e.update({add:[Hc.range(r.value.from,r.value.to)]}):r.is(ca)?n=e.update({add:[Dd.range(r.value.from,r.value.to)]}):r.is(ua)&&(n=$.none);return n},provide:e=>J.decorations.from(e)});var Kc=class{constructor(e,t){p(this,"keydown",e=>{(e.key==="Meta"||e.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});p(this,"keyup",e=>{(e.key==="Meta"||e.key==="Control")&&this.exitCommandClickMode()});p(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});p(this,"mousemove",e=>{var o;if(!e.metaKey&&!e.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let t=this.view.posAtCoords({x:e.clientX,y:e.clientY});if(t==null){this.clearUnderline();return}let n=(o=this.view.state.field(Vd,!1))==null?void 0:o.ranges.find(a=>t>=a.from&&t<=a.to);if(n){let{from:a,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:ca.of(this.hoveredRange)});return}let r=Ei(this.view.state).cursorAt(t);if(r.name==="VariableName"){let{from:a,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:la.of(this.hoveredRange)})}else this.clearUnderline()});p(this,"click",e=>{this.hoveredRange&&(e.preventDefault(),e.stopPropagation(),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}}),this.onClick(this.view))});this.view=e,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=t,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(e){}destroy(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup),window.removeEventListener("blur",this.windowBlur),window.removeEventListener("mouseleave",this.windowBlur),this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:ua.of(null)}),null))}};const Yc=e=>Xe.define(t=>new Kc(t,e));function Xc(){return[zc,Yc(e=>{$d(e)}),J.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function Qc(){return[J.domEventHandlers({drop:(e,t)=>{var o,a;let n=(o=e.dataTransfer)==null?void 0:o.files[0];if(n!=null&&n.type.startsWith("text/"))return e.preventDefault(),nf(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),Ud(t,n),!0;let r=(a=e.dataTransfer)==null?void 0:a.getData("text/plain");if(r){e.preventDefault();let i=t.posAtCoords({x:e.clientX,y:e.clientY});return i!==null&&t.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function Zc(){return[J.domEventHandlers({paste:(e,t)=>{var i;let n=(i=e.clipboardData)==null?void 0:i.getData("text/plain");if(!n||!da(n))return!1;let{setup:r,cells:o}=eu(n);if(r===null&&o.length===0)return!1;let a=t.state.facet(uf);return r!==null&&a.addOrAppendSetupCell(r),o.length>0&&a.createManyBelow(o),!0}})]}function da(e){return/@app\.cell|@app\.function|\bapp\.setup\b/.test(e)}function eu(e){if(!da(e))return{setup:null,cells:[]};let t=[],n=[],r=op.parse(e),o=(s,c)=>{let l=e.lastIndexOf(`
18
18
  `,s-1)+1;return tu(e.slice(l,c))},a=(s,c)=>{let l=o(s,c);l.trim()&&t.push(l)},i=(s,c)=>{var f;let l=[];for(let h=s.firstChild;h;h=h.nextSibling)h.name!==":"&&l.push(h);c&&((f=l.at(-1))==null?void 0:f.name)==="ReturnStatement"&&l.pop();let u=l[0],d=l.at(-1);if(!u||!d)return null;let m=o(u.from,d.to);return m.trim()?m:null};return r.iterate({enter:s=>{if(s.name==="WithStatement"){let d=s.node.getChild("Body");if(d&&e.slice(s.from,d.from).includes("app.setup")){let m=i(d,!1);m!==null&&n.push(m)}return!1}if(s.name!=="DecoratedStatement")return!0;let c=s.node.getChild("Decorator"),l=s.node.getChild("FunctionDefinition");if(!c||!l)return!1;let u=e.slice(c.from,c.to).trim();if(u.startsWith("@app.cell")){let d=l.getChild("Body");if(d){let m=i(d,!0);m!==null&&t.push(m)}return!1}return u.startsWith("@app.function")&&a(l.from,l.to),!1}}),{setup:n.length>0?n.join(`
19
19
 
20
20
  `):null,cells:t}}function tu(e){let t=e.split(`
21
21
  `);if(t.length===0)return"";let n=t.filter(a=>a.trim().length>0);if(n.length===0)return"";let r=/^\s*/,o=Math.min(...n.map(a=>{var i;return((i=a.match(r))==null?void 0:i[0].length)??1/0}));return o===0?e.trim():t.map(a=>a.slice(o)).join(`
22
- `).trim()}function nu(e,t,n,r){var o;return r!=="{"||t!==n||!((o=Ei(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function ru(){return J.inputHandler.of(nu)}function fa(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}var ma="cm-tooltip-portal";function ou(e){if(e==null)return document.querySelector("#App")??void 0;let t=document.querySelector(e);if(t==null)return;let n=t.querySelector(`:scope > .${ma}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${ma} not-prose contents`,t.append(r),r}const au=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=e,d=fa(e);return[kf(n,r),Qc(),Zc(),Os(),Zd({cellId:t,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),df({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),su(e),Xc(),c!=null&&c.enabled?Cm():[],o&&u?[vs({prompt:m=>As({prompt:m.prompt,selection:m.selection,codeBefore:m.codeBefore,codeAfter:m.codeAfter,language:zd(m.editorView)})}),zt.of({hideOnBlur:!0})]:[],Pd(t,l.reference_highlighting??!0)]};var iu=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Lm(e)};const su=e=>{let{theme:t,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:o,cellId:a,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=e,l=fa(e),u=r.auto_close_pairs!==!1;return[J.lineWrapping,fm(),dm(),ym(),sm(),em(),tm(),Zf(),rm({position:"fixed",parent:ou(c)}),Hd(),t==="dark"?Vf:Jf,hf(i),Dc(r),gm(),ru(),u?Om():[],Us(o),u?ct.high(We.of(Nm)):[],pm(),im(),am.of(" "),lm(um,{fallback:!0}),We.of(nm),yf({placeholderType:l,completionConfig:r,hotkeys:n,cellId:a,lspConfig:{...i,diagnostics:s}}),bf.of(Sm()),Dr.allowMultipleSelections.of(!0),qc(n),We.of([{key:"Tab",run:d=>Ci(d)||iu(d)||Im(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>Gt(d.state)===null?!1:(Dn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>Gt(d.state)===null?!1:(Dn(!1)(d),!0),preventDefault:!0}]),We.of([...vm,bm])]};var et=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(Ip),lr=e=>{Tp(e),typeof $i=="function"&&$i(),lu(St)};function lu(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(et&&et.__wbindgen_start)lr(et);else if("Bun"in globalThis){let e;if(et instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(et,{"./loro_wasm_bg.js":St}));else{let t=Bun.pathToFileURL(et);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":St}))}lr(e.exports)}else{let e=et instanceof WebAssembly.Module?et:await rp(()=>import("./loro_wasm_bg-Duqr-kJ2.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":St});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":St});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":St});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);lr(n.exports??n)}var cu=["Map","Text","List","Tree","MovableList","Counter"];function uu(e){return e.startsWith("cid:")}function pa(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:cu.includes(e.kind())}var du=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new kp(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};Jr.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&uu(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=e(a,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?o(u):u}if(pa(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?o(l):l}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(pa(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return o(n.getShallowValue())};var ha=Symbol("loro.callPendingEventsWrapped");function fu(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[ha])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Vi()}):Vi()}};o[ha]=!0,Object.defineProperty(e,t,{...n,value:o})}function cr(e,t){for(let n of t)fu(e,n)}cr(Jr.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),cr(Cp.prototype,["set","delete","apply","removeOutdated"]),cr(xp.prototype,["undo","redo"]);const mu=J.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});jr.define();const Ut=pe.define(),ur=ze.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Ut))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var ga=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ut));return e.docChanged||e.viewportChanged||t.length>0};const pu=()=>vi({above:!0,class:"loro-cursor-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ur);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=wt.cursor(r.cursor.anchor);return gu.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),hu=()=>vi({above:!1,class:"loro-selection-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ur);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=wt.range(r.cursor.anchor,r.cursor.head);return mm.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var gu=class Hr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Hr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===hm.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Hr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},yu=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=ya(e,t,s,r);c&&o.push(c)}return o},ya=(e,t,n,r)=>{var c,l;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Ut.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=Wi.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let u=Wi.decode(o.cursor.head);s=((l=e.getCursorPos(u))==null?void 0:l.offset)??0}return Ut.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},bu=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=ya(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ut.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=vu({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},wu=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:yu(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},vu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const yn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],Eu=e=>{if(typeof e=="string"){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return yn[Math.abs(t)%yn.length]}return yn[e%yn.length]};var me=$e.get("rtc"),ba=me.get("awareness").disabled(),dr="awareness:";function Su(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function Cu(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function xu(e,t){return e.slice(t.length)}ut=jt(void 0);var te=new Jr,bn=new du(te.peerIdStr),fr=Tm(()=>{me.debug("creating websocket");let e=new Ap(wi().getWsSyncURL(ap()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await bi(),Qd()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(Cu(r,dr)){let o=xu(r,dr);bn.apply(o),ba.debug("applied awareness update");return}te.import(r),me.debug("imported doc change. new doc:",te.toJSON()),Y.get(ut)!==te&&Y.set(ut,te)}),e.addEventListener("open",()=>{me.debug("websocket open")}),e.addEventListener("close",t=>{me.warn("websocket close",t),Y.get(ut)===te&&Y.set(ut,void 0)}),e});Ar()&&fr(),te.subscribeLocalUpdates(e=>{me.debug("local update, sending to server"),fr().send(e)}),bn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(ba.debug("awareness changes",n),fr().send(Su(dr,bn.encode(n))))});function mr(e,t,n=""){if(Df())return{extension:[],code:n};let r=te.getByPath(`codes/${e}`)!==void 0,o=te.getMap("codes").getOrCreateContainer(e,new Gr);return r||(me.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[Iu(e),ku(e),Tu(te,bn,{get name(){return Y.get(lf)||"Anonymous"},get colorClassName(){return Eu(this.name)}},()=>o,e),Yd(te,["codes",e],()=>o)]}}function Iu(e){let t=(r,o)=>{let a=r.state.field(Tn).type,i=o.toString();i&&i!==a&&(me.debug(`[incoming] setting language type: ${a} -> ${i}`),Dt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(Ir),i=o.toJSON();kn(a,i)||r.dispatch({effects:[si.of(i)],annotations:[ei.of(!0)]})};return Xe.define(r=>{let o;return Promise.resolve().then(()=>{let a=te.getByPath(`languages/${e}`);if(!a){me.error("no language container found for cell",e);return}Ft(a instanceof Gr,"language type is not a LoroText");let i=te.getByPath(`language_metadata/${e}`);if(!i){me.error("no language metadata container found for cell",e);return}Ft(i instanceof qi,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=te.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===a.id),l=s.events.some(u=>u.target===i.id);c&&t(r,a),l&&n(r,i)})}),{destroy(){o()}}})}function ku(e){let t=te.getMap("languages").getOrCreateContainer(e,new Gr),n=te.getMap("language_metadata").getOrCreateContainer(e,new qi);return J.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=xr(r.state).type;Dt(r.view,{language:i}),me.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),me.debug("no initial language metadata, setting default to",r.state.field(Ir));let s=r.state.field(Ir);for(let c of Object.keys(s))n.set(c,s[c]);te.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(ei)){for(let s of i.effects)if(s.is(qd)&&t.toString()!==s.value.type&&(me.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(si)||s.is(ii)){let c=s.value;s.is(ii)?(me.debug("[outgoing] setting language metadata: ",c),n.clear()):me.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);a=!0}}a&&te.commit()})}function Tu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[ur,pu(),hu(),Xe.define(s=>new bu(s,e,n,t,r,i,a)),Xe.define(s=>new wu(s,e,t,i)),mu]}var Nu=Je(),Au=qf;$r=e=>{let t=(0,Nu.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,l=o===void 0?null:o,u=a===void 0?!1:a,{sendListFiles:d}=Fn(),[m,f]=(0,T.useState)(l),h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];let[y,b]=(0,T.useState)(h),[v,C]=(0,T.useState)(!1),x=(0,T.useRef)(null),_=(0,T.useRef)(!1),j,A;t[1]===l?(j=t[2],A=t[3]):(j=()=>{f(l)},A=[l],t[1]=l,t[2]=j,t[3]=A),(0,T.useEffect)(j,A);let k;t[4]===Symbol.for("react.memo_cache_sentinel")?(k=()=>{C(!0)},t[4]=k):k=t[4];let B=k,F;t[5]!==l||t[6]!==c?(F=H=>{var gt;(gt=H.relatedTarget)!=null&&gt.closest(".filename-input")||(C(!1),c&&f(l))},t[5]=l,t[6]=c,t[7]=F):F=t[7];let ne=F,O;t[8]===m?O=t[9]:(O=Qe.dirname(m||""),t[8]=m,t[9]=O);let N=O,se=Qe.basename(m||""),le=y.filter(H=>Qe.basename(H.path).startsWith(se)),re;t[10]!==N||t[11]!==v||t[12]!==d?(re=async()=>{if(!v){b([]);return}b((await d({path:N})).files)},t[10]=N,t[11]=v,t[12]=d,t[13]=re):re=t[13];let ee;t[14]!==N||t[15]!==v?(ee=[N,v],t[14]=N,t[15]=v,t[16]=ee):ee=t[16];let{isPending:U}=gp(re,ee),P=Lu(m,y,l),be=(P||le.length>0)&&(0,g.jsxs)(Bi,{className:"font-mono",children:[!U&&(0,g.jsx)(bp,{children:"No files"}),P&&(0,g.jsxs)(Ri,{variant:"success",className:"py-2 px-3",onSelect:()=>{var H;P&&(_.current=!0,i(P),(H=x.current)==null||H.blur())},children:[(0,g.jsx)(Z,{className:"w-4 h-4 mr-2"})," ",(0,g.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,g.jsx)("span",{className:"font-medium text-sm",children:Qe.basename(P)})]})]},"_rename_"),le.map(H=>{let gt=Zm[H.isDirectory?"directory":Qm(H.path)];return(0,g.jsxs)(Ri,{variant:H.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{H.isDirectory?f(`${H.path}/`):f(H.path)},children:[(0,g.jsx)(gt,{className:"w-4 h-4 mr-2"})," ",Qe.basename(H.path)]},H.path)})]}),ce=Math.max(20,(m==null?void 0:m.length)||(r==null?void 0:r.length)||0)*10,S=v?m||"":l||"",I;t[17]!==u||t[18]!==ce?(I=u?{maxWidth:ce}:void 0,t[17]=u,t[18]=ce,t[19]=I):I=t[19];let D;t[20]===s?D=t[21]:(D=nt(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=D);let L;t[22]!==r||t[23]!==S||t[24]!==I||t[25]!==D?(L=(0,g.jsx)(Au,{children:(0,g.jsx)(yp,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:S,onKeyDown:Ou,icon:null,ref:x,onValueChange:f,placeholder:r,autoComplete:"off",style:I,className:D})}),t[22]=r,t[23]=S,t[24]=I,t[25]=D,t[26]=L):L=t[26];let ue=be&&"group-focus-within:block",Be;t[27]===ue?Be=t[28]:(Be=nt("p-0 w-full min-w-80 max-w-80vw hidden",ue),t[27]=ue,t[28]=Be);let Ve;t[29]!==be||t[30]!==Be?(Ve=(0,g.jsx)(Hf,{side:"bottom",className:Be,portal:!1,children:be}),t[29]=be,t[30]=Be,t[31]=Ve):Ve=t[31];let Ge;t[32]!==L||t[33]!==Ve?(Ge=(0,g.jsxs)(Bi,{children:[L,Ve]}),t[32]=L,t[33]=Ve,t[34]=Ge):Ge=t[34];let M;t[35]!==ne||t[36]!==Ge?(M=(0,g.jsx)(wp,{onFocus:B,onBlur:ne,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ge}),t[35]=ne,t[36]=Ge,t[37]=M):M=t[37];let oe;return t[38]!==v||t[39]!==M?(oe=(0,g.jsx)($f,{children:(0,g.jsx)(zf,{open:v,modal:!1,children:M})}),t[38]=v,t[39]=M,t[40]=oe):oe=t[40],oe};function Lu(e,t,n){if(e&&!e.endsWith("/")&&((Gd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Qe.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Qe.basename(r.path)===e)&&!(n&&(n===e||Qe.basename(n)===e))))return e}function Ou(e){e.key==="Escape"&&e.currentTarget.blur()}var wa=Je(),_u=e=>{let t=(0,wa.c)(33),n=()=>{Qf(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=ae(ju),o;t[0]!==n||t[1]!==e?(o=j=>{j.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=j=>{j.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,g.jsx)(_i,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,l;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},t[7]=c,t[8]=l):(c=t[7],l=t[8]);let u;t[9]===e.proposedName?u=t[10]:(u=(0,g.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,g.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=u);let d;t[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},t[11]=d):d=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m={display:"block",padding:"10px"},t[12]=m):m=t[12];let f;t[13]===e.proposedName?f=t[14]:(f=(0,g.jsxs)("code",{style:m,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=f);let h;t[15]===e.proposedName?h=t[16]:(h=(0,g.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=h);let y;t[17]!==h||t[18]!==f?(y=(0,g.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",h," with the recovered changes."]}),t[17]=h,t[18]=f,t[19]=y):y=t[19];let b;t[20]!==y||t[21]!==u?(b=(0,g.jsx)(cp,{className:"markdown wrap-break-word",style:s,children:(0,g.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,g.jsxs)("ol",{children:[u,y]})]})}),t[20]=y,t[21]=u,t[22]=b):b=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,g.jsx)(lt,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=v);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,g.jsx)(lt,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let x;t[26]===v?x=t[27]:(x=(0,g.jsxs)(Ui,{children:[v,C]}),t[26]=v,t[27]=x);let _;return t[28]!==o||t[29]!==a||t[30]!==b||t[31]!==x?(_=(0,g.jsx)(Pi,{className:"w-fit",children:(0,g.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,b,x]})}),t[28]=o,t[29]=a,t[30]=b,t[31]=x,t[32]=_):_=t[32],_};const Uu=e=>{let t=(0,wa.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=Di(),i;t[0]===n?i=t[1]:(i=n===null?"app":Qe.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,g.jsx)(_u,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l=c;ji("global.save",l);let u;t[7]===Symbol.for("react.memo_cache_sentinel")?(u=Gi("global.save"),t[7]=u):u=t[7];let d=r?"yellow":"gray",m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)(Ai,{strokeWidth:1.5,size:18}),t[8]=m):m=t[8];let f;return t[9]!==l||t[10]!==d?(f=(0,g.jsx)(_n,{content:u,children:(0,g.jsx)(Hi,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:m})}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f};function Pu(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function ju(){let e=kr(yt()),t={version:"1",metadata:{marimo_version:Gf()},cells:e.map(Pu)};return JSON.stringify(t,null,2)}let pr;Bn=jt(void 0),pr=jt(e=>{let t=e(Bn);return Du({state:e(tt),layout:e(xi),lastSavedNotebook:t})});function Du({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(l=>o[l]),i=a.map(l=>l.code),s=a.map(l=>l.config),c=a.map(l=>l.name);return!Si(i,n.codes)||!Si(c,n.names)||!kn(s,n.configs)||!kn(t.selectedLayout,n.layout.selectedLayout)||!kn(t.layoutData,n.layout.layoutData)}var Fu=Je();function Mu(e){let t=(0,Fu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=e,u=(0,T.useRef)(null),d;t[0]===n?d=t[1]:(d=n.join(":"),t[0]=n,t[1]=d);let m=d,f;t[2]===r?f=t[3]:(f=r.map(Ru).join(":"),t[2]=r,t[3]=f);let h=f,y;t[4]===i?y=t[5]:(y=i.join(":"),t[4]=i,t[5]=y);let b=y,v;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==l?(v=()=>{if(!c)return o.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&a.state===Mt.OPEN&&(u.current=setTimeout(l,o.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=l,t[11]=v):v=t[11];let C;t[12]!==h||t[13]!==b||t[14]!==m||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==l?(C=[m,h,b,o,a.state,l,c,s],t[12]=h,t[13]=b,t[14]=m,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=l,t[20]=C):C=t[20],(0,T.useEffect)(v,C)}function Ru(e){return JSON.stringify(e)}var wn=Je();Yi=e=>{let t=(0,wn.c)(15),{kioskMode:n}=e,r=mp(),o=ie(pr),a=ie(bt).state===Mt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=$t(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Vu(c),Lp();let l;t[3]===o?l=t[4]:(l=b=>{if(o)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},t[3]=o,t[4]=l),Pf(window,"beforeunload",l);let u;t[5]===i?u=t[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},t[5]=i,t[6]=u);let d=u;if(ji("global.save",i),a){let b;return t[7]!==r||t[8]!==o?(b=(0,g.jsx)(Uu,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=b):b=t[9],b}let m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=Gi("global.save"),t[10]=m):m=t[10];let f=o?"yellow":"hint-green",h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,g.jsx)(Ai,{strokeWidth:1.5,size:18}),t[11]=h):h=t[11];let y;return t[12]!==d||t[13]!==f?(y=(0,g.jsx)(_n,{content:m,children:(0,g.jsx)(Hi,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:h})}),t[12]=d,t[13]=f,t[14]=y):y=t[14],y},$t=function(){let e=(0,wn.c)(21),{sendSave:t}=Fn(),{openModal:n,closeModal:r,openAlert:o}=Di(),a=Xa(Bn),i=pp(),s=Sr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(v,C)=>{let x=s.get(bt),_=s.get(gi);if(s.get(ff))return;if(x.state!==Mt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),C&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await af());let j=yt(),A=kr(j),k=A.map(Ju),B=A.map(Gu),F=A.map(Bu),ne=ui(j),O=s.get(xi);B.length!==0&&(await t({cellIds:k,codes:B,names:F,filename:v,configs:ne,layout:Fm(),persist:!0}),a({names:F,codes:B,configs:ne,layout:O}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let l=ae(c),u;e[5]!==l||e[6]!==s?(u=v=>{let C=v===void 0?!1:v,x=s.get(Za),_=s.get(bt);va(x)&&_.state===Mt.OPEN&&l(x,C)},e[5]=l,e[6]=s,e[7]=u):u=e[7];let d=ae(u),m;e[8]!==l||e[9]!==i?(m=v=>{i(v).then(C=>{C!==null&&l(C,!0)})},e[8]=l,e[9]=i,e[10]=m):m=e[10];let f=m,h;e[11]!==r||e[12]!==f||e[13]!==n||e[14]!==d||e[15]!==s?(h=()=>{let v=s.get(Za),C=s.get(bt);d(!0),!va(v)&&C.state!==Mt.CLOSED&&n((0,g.jsx)(qu,{onClose:r,onSave:f}))},e[11]=r,e[12]=f,e[13]=n,e[14]=d,e[15]=s,e[16]=h):h=e[16];let y=ae(h),b;return e[17]!==d||e[18]!==l||e[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},e[17]=d,e[18]=l,e[19]=y,e[20]=b):b=e[20],b};function Bu(e){return e.name}function Gu(e){return e.code}function Ju(e){return e.id}function va(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function Vu(e){let t=(0,wn.c)(14),n=ie(gi),r=Dd(),[o]=In(bt),a=ie(pr),i,s;if(t[0]!==r){let m=kr(r);i=m.map(Wu),s=m.map($u),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,l;t[3]===r?l=t[4]:(l=ui(r),t[3]=r,t[4]=l);let u=l,d;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==u||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(d={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:u,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=u,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=d):d=t[13],Mu(d)}function $u(e){return e.name}function Wu(e){return e.code}var qu=e=>{let t=(0,wn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,T.useState)(),i;t[0]!==n||t[1]!==r?(i=b=>{a(b),b.trim()&&(r(b),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)(_i,{children:"Save notebook"}),t[3]=c):c=t[3];let l;t[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,g.jsx)(Ur,{className:"text-md pt-6 px-1",children:"Save as"}),t[4]=l):l=t[4];let u;t[5]===s?u=t[6]:(u=(0,g.jsxs)("div",{className:"flex flex-col",children:[l,(0,g.jsx)($r,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=u);let d;t[7]===n?d=t[8]:(d=(0,g.jsx)(lt,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=d);let m=!o,f;t[9]===m?f=t[10]:(f=(0,g.jsx)(lt,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:m,type:"submit",children:"Save"}),t[9]=m,t[10]=f);let h;t[11]!==d||t[12]!==f?(h=(0,g.jsxs)(Ui,{children:[d,f]}),t[11]=d,t[12]=f,t[13]=h):h=t[13];let y;return t[14]!==u||t[15]!==h?(y=(0,g.jsxs)(Pi,{children:[c,u,h]}),t[14]=u,t[15]=h,t[16]=y):y=t[16],y};Rn=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var Ea={modified:{doc:""},original:{doc:""}},Sa=(0,T.createContext)(Ea);function Hu(e,t){return z({},e,t,{modified:z({},e.modified,t.modified),original:z({},e.original,t.original)})}var hr=()=>(0,T.useContext)(Sa),zu=e=>{var{children:t,theme:n}=e,[r,o]=(0,T.useReducer)(Hu,z({},Ea,{theme:n}));return(0,T.useEffect)(()=>o({theme:n}),[n]),(0,g.jsx)(Sa.Provider,{value:z({},r,{dispatch:o}),children:t})},Ku=["extensions","value","selection","onChange"],Ca=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Ku),{theme:i,dispatch:s}=hr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};Ca.displayName="CodeMirrorMerge.Original";var Yu=["extensions","value","selection","onChange"],xa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Yu),{theme:i,dispatch:s}=hr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};xa.displayName="CodeMirrorMerge.Modified";var Xu=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Qu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ia=T.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:m}=e,f=Jt(e,Xu),h=hr(),{modified:y,modifiedExtension:b,original:v,originalExtension:C,theme:x,dispatch:_}=h,j=Jt(h,Qu),A=(0,T.useRef)(null),k=(0,T.useRef)(),B={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:m};(0,T.useImperativeHandle)(t,()=>({container:A.current,view:k.current,modified:y,original:v,config:z({a:v,b:y,parent:A.current},B)}),[A,k,y,v,B]);var F=J.updateListener.of(O=>{if(O.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var N=O.state.doc.toString();C==null||C.onChange(N,O)}}),ne=J.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var N=O.state.doc.toString();b==null||b.onChange(N,O)}});return(0,T.useEffect)(()=>{!k.current&&A.current&&C&&b&&(k.current=new Ji(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x})),F]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x})),ne]}),parent:A.current},B)),_({view:k.current}))},[k,A,C,b]),(0,T.useEffect)(()=>{var U,P;if(v&&v.doc&&k.current){var O=(U=k.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var N;(N=k.current)==null||N.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&k.current){var se=(P=k.current)==null?void 0:P.b.state.doc.toString();if(se!==y.doc){var le;(le=k.current)==null||le.b.dispatch({changes:{from:0,to:se.length,insert:y.doc||""}})}}if(l&&k.current){var re=k.current.a.state.selection.ranges[0].from,ee=k.current.b.state.selection.ranges[0].from;k.current.destroy(),k.current=new Ji(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x}))]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x}))]}),parent:A.current},B)),re&&(k.current.a.focus(),k.current.a.dispatch({selection:{anchor:re,head:re}})),ee&&(k.current.b.focus(),k.current.b.dispatch({selection:{anchor:ee,head:ee}}))}},[k,x,A.current,v,y,C,b,l]),(0,T.useEffect)(()=>()=>k.current&&k.current.destroy(),[]),(0,T.useEffect)(()=>{if(k.current){var O={};j.orientation!==o&&(O.orientation=o),j.revertControls!==a&&(O.revertControls=a),j.highlightChanges!==i&&(O.highlightChanges=i),j.gutter!==s&&(O.gutter=s),j.collapseUnchanged!==c&&(O.collapseUnchanged=c),j.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&k.current&&(k.current.reconfigure(z({},O)),_(z({},O)))}},[_,k,o,a,i,s,c,u]),(0,g.jsx)("div",z({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ia.displayName="CodeMirrorMerge.Internal";var Zu=["theme"],vn=T.forwardRef((e,t)=>{var{theme:n}=e;return(0,g.jsx)(zu,{theme:n,children:(0,g.jsx)(Ia,z({},Jt(e,Zu),{ref:t}))})});vn.Original=Ca,vn.Modified=xa,vn.displayName="CodeMirrorMerge";var gr=vn,ed=Je(),td=gr.Original,nd=gr.Modified,ka=[Md(),J.lineWrapping];const rd=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,m]=(0,T.useState)(!1),[f,h]=(0,T.useState)({}),[y,b]=In(fp),v=(0,T.useId)(),C=Mf(),{initialPrompt:x,triggerImmediately:_,cellId:j}=t??{},A=j===e,k=ie(Xm).get(e),B;(k==null?void 0:k.type)==="update_cell"&&(B=k.previousCode);let{completion:F,input:ne,stop:O,isLoading:N,setCompletion:se,setInput:le,handleSubmit:re,complete:ee}=Jm({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:x,experimental_throttle:100,body:{...Object.keys(f).length>0?f:x?ki({input:x}):{},includeOtherCode:y?Cr(a):"",code:a,language:o},onError:M=>{vt({title:"Completion failed",description:up(M)})},onFinish:(M,oe)=>{se(qn(oe).trimEnd())}}),U=T.useRef(null),P=qn(F,{streaming:N}).trimEnd(),be=(0,T.useCallback)(()=>{_&&!N&&x&&ee(x)},[_]);(0,T.useEffect)(()=>{var M;A&&(Rd(()=>{let oe=U.current;return oe!=null&&oe.view?(oe.view.focus(),be(),!0):!1},{retries:3,delay:100,initialDelay:100}),of((M=U.current)==null?void 0:M.view))},[A,be]),(0,T.useEffect)(()=>{A&&le(x||"")},[A,x,le]);let{theme:ce}=ip(),S=()=>{s(P),se("")},I=()=>{var M,oe;O(),se(""),m(!0),(oe=(M=U.current)==null?void 0:M.view)==null||oe.focus()},D=A&&_&&(P||N);l??(l="below");let L=A&&(!_||d),ue=(0,g.jsx)("div",{className:nt("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",D?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,g.jsx)(od,{status:N?"loading":"generated",onAccept:S,onReject:I,showInputPrompt:d,setShowInputPrompt:m,runCell:c,className:"mt-4 mb-3 w-lg"})}),Be=(M,oe)=>(0,g.jsxs)(gr,{className:"cm",theme:ce,children:[(0,g.jsx)(td,{onChange:r,value:M,extensions:ka}),(0,g.jsx)(nd,{value:oe,editable:!1,readOnly:!0,extensions:ka})]}),Ve=()=>{if(P&&A)return Be(a,P);if(!P&&B)return Be(B,a)},Ge=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Ti,{isLoading:N,onAccept:S,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,g.jsx)(Ii,{onDecline:I,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,g.jsxs)("div",{"data-ai-input-open":L,className:nt("flex flex-col w-full rounded-[inherit]",n),children:[(0,g.jsx)("div",{className:nt("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",L&&"max-h-[400px] border-b min-h-11 visible",!L&&"max-h-0 min-h-0 invisible"),children:A&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(np,{className:"text-(--blue-10) shrink-0",size:16}),(0,g.jsx)(zm,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:ne,onChange:M=>{le(M),h(ki({input:M}))},onSubmit:()=>{var M;N||((M=U.current)!=null&&M.view&&$m(U.current.view),re())},onKeyDown:Km({handleAcceptCompletion:S,handleDeclineCompletion:I,isLoading:N,hasCompletion:P.trim().length>0})}),(0,g.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,g.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,g.jsx)(Hm,{isLoading:N,onStop:O,onSendClick:re,isEmpty:!ne.trim(),showStopLabel:!0}),(0,g.jsx)(Ym,{handleAddContext:()=>Wm(U),isLoading:N}),(0,g.jsx)(Lf,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),P&&(0,g.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ge})]}),(0,g.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,g.jsx)(_n,{content:"Include code from other cells",children:(0,g.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,g.jsx)(Jd,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:M=>b(!!M)}),(0,g.jsx)(Ur,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,g.jsx)(lt,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:N,onClick:()=>{O(),i(),se("")},children:(0,g.jsx)(Rm,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&ue,Ve(),(!P||!A)&&!B&&u,l==="below"&&ue]})};var od=e=>{let t=(0,ed.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,l=n==="loading",u;t[0]===a?u=t[1]:(u=nt("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=u);let d;t[2]===l?d=t[3]:(d=l?(0,g.jsx)(ep,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,g.jsx)(Bm,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=l,t[3]=d);let m=l?"Generating fix...":"Showing fix",f;t[4]===m?f=t[5]:(f=(0,g.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:m}),t[4]=m,t[5]=f);let h;t[6]!==d||t[7]!==f?(h=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),t[6]=d,t[7]=f,t[8]=h):h=t[8];let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Ur,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=y):y=t[9];let b;t[10]!==s||t[11]!==i?(b=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,g.jsx)(Bf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=b):b=t[12];let v;t[13]!==l||t[14]!==r||t[15]!==c?(v=(0,g.jsx)(Ti,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=l,t[14]=r,t[15]=c,t[16]=v):v=t[16];let C;t[17]===o?C=t[18]:(C=(0,g.jsx)(Ii,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let x;t[19]!==v||t[20]!==C?(x=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,C]}),t[19]=v,t[20]=C,t[21]=x):x=t[21];let _;return t[22]!==u||t[23]!==x||t[24]!==h||t[25]!==b?(_=(0,g.jsxs)("div",{className:u,children:[h,b,x]}),t[22]=u,t[23]=x,t[24]=h,t[25]=b,t[26]=_):_=t[26],_},yr="web application/x-marimo-cell",ad=Lr({cells:If(Lr({code:di(),name:di().optional(),config:Lr({column:Ef([Sf(),Cf()]).optional(),disabled:fi().optional(),hide_code:fi().optional()}).optional()})),version:xf("1.0")});function br(e){return e.map(t=>t.code).join(`
22
+ `).trim()}function nu(e,t,n,r){var o;return r!=="{"||t!==n||!((o=Ei(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function ru(){return J.inputHandler.of(nu)}function fa(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}var ma="cm-tooltip-portal";function ou(e){if(e==null)return document.querySelector("#App")??void 0;let t=document.querySelector(e);if(t==null)return;let n=t.querySelector(`:scope > .${ma}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${ma} not-prose contents`,t.append(r),r}const au=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=e,d=fa(e);return[kf(n,r),Qc(),Zc(),Os(),Zd({cellId:t,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),df({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),su(e),Xc(),c!=null&&c.enabled?xm():[],o&&u?[vs({prompt:m=>As({prompt:m.prompt,selection:m.selection,codeBefore:m.codeBefore,codeAfter:m.codeAfter,language:zd(m.editorView)})}),zt.of({hideOnBlur:!0})]:[],jd(t,l.reference_highlighting??!0)]};var iu=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Lm(e)};const su=e=>{let{theme:t,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:o,cellId:a,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=e,l=fa(e),u=r.auto_close_pairs!==!1;return[J.lineWrapping,fm(),dm(),ym(),sm(),em(),tm(),Zf(),rm({position:"fixed",parent:ou(c)}),Hd(),t==="dark"?Vf:Jf,hf(i),Pc(r),gm(),ru(),u?Om():[],Us(o),u?ct.high(We.of(Nm)):[],pm(),im(),am.of(" "),lm(um,{fallback:!0}),We.of(nm),yf({placeholderType:l,completionConfig:r,hotkeys:n,cellId:a,lspConfig:{...i,diagnostics:s}}),bf.of(Sm()),Pr.allowMultipleSelections.of(!0),qc(n),We.of([{key:"Tab",run:d=>Ci(d)||iu(d)||wm(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>Gt(d.state)===null?!1:(Pn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>Gt(d.state)===null?!1:(Pn(!1)(d),!0),preventDefault:!0}]),We.of([...km,Em])]};var et=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(Ip),lr=e=>{Tp(e),typeof $i=="function"&&$i(),lu(St)};function lu(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(et&&et.__wbindgen_start)lr(et);else if("Bun"in globalThis){let e;if(et instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(et,{"./loro_wasm_bg.js":St}));else{let t=Bun.pathToFileURL(et);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":St}))}lr(e.exports)}else{let e=et instanceof WebAssembly.Module?et:await rp(()=>import("./loro_wasm_bg-Duqr-kJ2.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":St});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":St});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":St});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);lr(n.exports??n)}var cu=["Map","Text","List","Tree","MovableList","Counter"];function uu(e){return e.startsWith("cid:")}function pa(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:cu.includes(e.kind())}var du=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new kp(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};Jr.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&uu(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=e(a,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?o(u):u}if(pa(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?o(l):l}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(pa(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return o(n.getShallowValue())};var ha=Symbol("loro.callPendingEventsWrapped");function fu(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[ha])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Vi()}):Vi()}};o[ha]=!0,Object.defineProperty(e,t,{...n,value:o})}function cr(e,t){for(let n of t)fu(e,n)}cr(Jr.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),cr(Cp.prototype,["set","delete","apply","removeOutdated"]),cr(xp.prototype,["undo","redo"]);const mu=J.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});Dr.define();const Ut=pe.define(),ur=ze.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Ut))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var ga=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ut));return e.docChanged||e.viewportChanged||t.length>0};const pu=()=>vi({above:!0,class:"loro-cursor-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ur);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=wt.cursor(r.cursor.anchor);return gu.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),hu=()=>vi({above:!1,class:"loro-selection-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ur);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=wt.range(r.cursor.anchor,r.cursor.head);return mm.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var gu=class Hr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Hr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===hm.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Hr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},yu=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=ya(e,t,s,r);c&&o.push(c)}return o},ya=(e,t,n,r)=>{var c,l;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Ut.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=Wi.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let u=Wi.decode(o.cursor.head);s=((l=e.getCursorPos(u))==null?void 0:l.offset)??0}return Ut.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},bu=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=ya(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ut.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=vu({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},wu=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:yu(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},vu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const yn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],Eu=e=>{if(typeof e=="string"){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return yn[Math.abs(t)%yn.length]}return yn[e%yn.length]};var me=$e.get("rtc"),ba=me.get("awareness").disabled(),dr="awareness:";function Su(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function Cu(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function xu(e,t){return e.slice(t.length)}ut=Dt(void 0);var te=new Jr,bn=new du(te.peerIdStr),fr=Tm(()=>{me.debug("creating websocket");let e=new Ap(wi().getWsSyncURL(ap()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await bi(),Qd()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(Cu(r,dr)){let o=xu(r,dr);bn.apply(o),ba.debug("applied awareness update");return}te.import(r),me.debug("imported doc change. new doc:",te.toJSON()),Y.get(ut)!==te&&Y.set(ut,te)}),e.addEventListener("open",()=>{me.debug("websocket open")}),e.addEventListener("close",t=>{me.warn("websocket close",t),Y.get(ut)===te&&Y.set(ut,void 0)}),e});Ar()&&fr(),te.subscribeLocalUpdates(e=>{me.debug("local update, sending to server"),fr().send(e)}),bn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(ba.debug("awareness changes",n),fr().send(Su(dr,bn.encode(n))))});function mr(e,t,n=""){if(Pf())return{extension:[],code:n};let r=te.getByPath(`codes/${e}`)!==void 0,o=te.getMap("codes").getOrCreateContainer(e,new Gr);return r||(me.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[Iu(e),ku(e),Tu(te,bn,{get name(){return Y.get(lf)||"Anonymous"},get colorClassName(){return Eu(this.name)}},()=>o,e),Yd(te,["codes",e],()=>o)]}}function Iu(e){let t=(r,o)=>{let a=r.state.field(Tn).type,i=o.toString();i&&i!==a&&(me.debug(`[incoming] setting language type: ${a} -> ${i}`),Pt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(Ir),i=o.toJSON();kn(a,i)||r.dispatch({effects:[si.of(i)],annotations:[ei.of(!0)]})};return Xe.define(r=>{let o;return Promise.resolve().then(()=>{let a=te.getByPath(`languages/${e}`);if(!a){me.error("no language container found for cell",e);return}Ft(a instanceof Gr,"language type is not a LoroText");let i=te.getByPath(`language_metadata/${e}`);if(!i){me.error("no language metadata container found for cell",e);return}Ft(i instanceof qi,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=te.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===a.id),l=s.events.some(u=>u.target===i.id);c&&t(r,a),l&&n(r,i)})}),{destroy(){o()}}})}function ku(e){let t=te.getMap("languages").getOrCreateContainer(e,new Gr),n=te.getMap("language_metadata").getOrCreateContainer(e,new qi);return J.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=xr(r.state).type;Pt(r.view,{language:i}),me.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),me.debug("no initial language metadata, setting default to",r.state.field(Ir));let s=r.state.field(Ir);for(let c of Object.keys(s))n.set(c,s[c]);te.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(ei)){for(let s of i.effects)if(s.is(qd)&&t.toString()!==s.value.type&&(me.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(si)||s.is(ii)){let c=s.value;s.is(ii)?(me.debug("[outgoing] setting language metadata: ",c),n.clear()):me.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);a=!0}}a&&te.commit()})}function Tu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[ur,pu(),hu(),Xe.define(s=>new bu(s,e,n,t,r,i,a)),Xe.define(s=>new wu(s,e,t,i)),mu]}var Nu=Je(),Au=qf;$r=e=>{let t=(0,Nu.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,l=o===void 0?null:o,u=a===void 0?!1:a,{sendListFiles:d}=Fn(),[m,f]=(0,T.useState)(l),h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];let[y,b]=(0,T.useState)(h),[v,C]=(0,T.useState)(!1),x=(0,T.useRef)(null),_=(0,T.useRef)(!1),D,A;t[1]===l?(D=t[2],A=t[3]):(D=()=>{f(l)},A=[l],t[1]=l,t[2]=D,t[3]=A),(0,T.useEffect)(D,A);let k;t[4]===Symbol.for("react.memo_cache_sentinel")?(k=()=>{C(!0)},t[4]=k):k=t[4];let B=k,F;t[5]!==l||t[6]!==c?(F=H=>{var gt;(gt=H.relatedTarget)!=null&&gt.closest(".filename-input")||(C(!1),c&&f(l))},t[5]=l,t[6]=c,t[7]=F):F=t[7];let ne=F,O;t[8]===m?O=t[9]:(O=Qe.dirname(m||""),t[8]=m,t[9]=O);let N=O,se=Qe.basename(m||""),le=y.filter(H=>Qe.basename(H.path).startsWith(se)),re;t[10]!==N||t[11]!==v||t[12]!==d?(re=async()=>{if(!v){b([]);return}b((await d({path:N})).files)},t[10]=N,t[11]=v,t[12]=d,t[13]=re):re=t[13];let ee;t[14]!==N||t[15]!==v?(ee=[N,v],t[14]=N,t[15]=v,t[16]=ee):ee=t[16];let{isPending:U}=gp(re,ee),j=Lu(m,y,l),be=(j||le.length>0)&&(0,g.jsxs)(Bi,{className:"font-mono",children:[!U&&(0,g.jsx)(bp,{children:"No files"}),j&&(0,g.jsxs)(Ri,{variant:"success",className:"py-2 px-3",onSelect:()=>{var H;j&&(_.current=!0,i(j),(H=x.current)==null||H.blur())},children:[(0,g.jsx)(Z,{className:"w-4 h-4 mr-2"})," ",(0,g.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,g.jsx)("span",{className:"font-medium text-sm",children:Qe.basename(j)})]})]},"_rename_"),le.map(H=>{let gt=Zm[H.isDirectory?"directory":Qm(H.path)];return(0,g.jsxs)(Ri,{variant:H.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{H.isDirectory?f(`${H.path}/`):f(H.path)},children:[(0,g.jsx)(gt,{className:"w-4 h-4 mr-2"})," ",Qe.basename(H.path)]},H.path)})]}),ce=Math.max(20,(m==null?void 0:m.length)||(r==null?void 0:r.length)||0)*10,S=v?m||"":l||"",I;t[17]!==u||t[18]!==ce?(I=u?{maxWidth:ce}:void 0,t[17]=u,t[18]=ce,t[19]=I):I=t[19];let P;t[20]===s?P=t[21]:(P=nt(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=P);let L;t[22]!==r||t[23]!==S||t[24]!==I||t[25]!==P?(L=(0,g.jsx)(Au,{children:(0,g.jsx)(yp,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:S,onKeyDown:Ou,icon:null,ref:x,onValueChange:f,placeholder:r,autoComplete:"off",style:I,className:P})}),t[22]=r,t[23]=S,t[24]=I,t[25]=P,t[26]=L):L=t[26];let ue=be&&"group-focus-within:block",Be;t[27]===ue?Be=t[28]:(Be=nt("p-0 w-full min-w-80 max-w-80vw hidden",ue),t[27]=ue,t[28]=Be);let Ve;t[29]!==be||t[30]!==Be?(Ve=(0,g.jsx)(Hf,{side:"bottom",className:Be,portal:!1,children:be}),t[29]=be,t[30]=Be,t[31]=Ve):Ve=t[31];let Ge;t[32]!==L||t[33]!==Ve?(Ge=(0,g.jsxs)(Bi,{children:[L,Ve]}),t[32]=L,t[33]=Ve,t[34]=Ge):Ge=t[34];let M;t[35]!==ne||t[36]!==Ge?(M=(0,g.jsx)(wp,{onFocus:B,onBlur:ne,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ge}),t[35]=ne,t[36]=Ge,t[37]=M):M=t[37];let oe;return t[38]!==v||t[39]!==M?(oe=(0,g.jsx)($f,{children:(0,g.jsx)(zf,{open:v,modal:!1,children:M})}),t[38]=v,t[39]=M,t[40]=oe):oe=t[40],oe};function Lu(e,t,n){if(e&&!e.endsWith("/")&&((Gd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Qe.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Qe.basename(r.path)===e)&&!(n&&(n===e||Qe.basename(n)===e))))return e}function Ou(e){e.key==="Escape"&&e.currentTarget.blur()}var wa=Je(),_u=e=>{let t=(0,wa.c)(33),n=()=>{Qf(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=ae(Du),o;t[0]!==n||t[1]!==e?(o=D=>{D.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=D=>{D.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,g.jsx)(_i,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,l;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},t[7]=c,t[8]=l):(c=t[7],l=t[8]);let u;t[9]===e.proposedName?u=t[10]:(u=(0,g.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,g.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=u);let d;t[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},t[11]=d):d=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m={display:"block",padding:"10px"},t[12]=m):m=t[12];let f;t[13]===e.proposedName?f=t[14]:(f=(0,g.jsxs)("code",{style:m,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=f);let h;t[15]===e.proposedName?h=t[16]:(h=(0,g.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=h);let y;t[17]!==h||t[18]!==f?(y=(0,g.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",h," with the recovered changes."]}),t[17]=h,t[18]=f,t[19]=y):y=t[19];let b;t[20]!==y||t[21]!==u?(b=(0,g.jsx)(cp,{className:"markdown wrap-break-word",style:s,children:(0,g.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,g.jsxs)("ol",{children:[u,y]})]})}),t[20]=y,t[21]=u,t[22]=b):b=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,g.jsx)(lt,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=v);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,g.jsx)(lt,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let x;t[26]===v?x=t[27]:(x=(0,g.jsxs)(Ui,{children:[v,C]}),t[26]=v,t[27]=x);let _;return t[28]!==o||t[29]!==a||t[30]!==b||t[31]!==x?(_=(0,g.jsx)(ji,{className:"w-fit",children:(0,g.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,b,x]})}),t[28]=o,t[29]=a,t[30]=b,t[31]=x,t[32]=_):_=t[32],_};const Uu=e=>{let t=(0,wa.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=Pi(),i;t[0]===n?i=t[1]:(i=n===null?"app":Qe.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,g.jsx)(_u,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l=c;Di("global.save",l);let u;t[7]===Symbol.for("react.memo_cache_sentinel")?(u=Gi("global.save"),t[7]=u):u=t[7];let d=r?"yellow":"gray",m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)(Ai,{strokeWidth:1.5,size:18}),t[8]=m):m=t[8];let f;return t[9]!==l||t[10]!==d?(f=(0,g.jsx)(_n,{content:u,children:(0,g.jsx)(Hi,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:m})}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f};function ju(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function Du(){let e=kr(yt()),t={version:"1",metadata:{marimo_version:Gf()},cells:e.map(ju)};return JSON.stringify(t,null,2)}let pr;Bn=Dt(void 0),pr=Dt(e=>{let t=e(Bn);return Pu({state:e(tt),layout:e(xi),lastSavedNotebook:t})});function Pu({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(l=>o[l]),i=a.map(l=>l.code),s=a.map(l=>l.config),c=a.map(l=>l.name);return!Si(i,n.codes)||!Si(c,n.names)||!kn(s,n.configs)||!kn(t.selectedLayout,n.layout.selectedLayout)||!kn(t.layoutData,n.layout.layoutData)}var Fu=Je();function Mu(e){let t=(0,Fu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=e,u=(0,T.useRef)(null),d;t[0]===n?d=t[1]:(d=n.join(":"),t[0]=n,t[1]=d);let m=d,f;t[2]===r?f=t[3]:(f=r.map(Ru).join(":"),t[2]=r,t[3]=f);let h=f,y;t[4]===i?y=t[5]:(y=i.join(":"),t[4]=i,t[5]=y);let b=y,v;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==l?(v=()=>{if(!c)return o.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&a.state===Mt.OPEN&&(u.current=setTimeout(l,o.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=l,t[11]=v):v=t[11];let C;t[12]!==h||t[13]!==b||t[14]!==m||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==l?(C=[m,h,b,o,a.state,l,c,s],t[12]=h,t[13]=b,t[14]=m,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=l,t[20]=C):C=t[20],(0,T.useEffect)(v,C)}function Ru(e){return JSON.stringify(e)}var wn=Je();Yi=e=>{let t=(0,wn.c)(15),{kioskMode:n}=e,r=mp(),o=ie(pr),a=ie(bt).state===Mt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=$t(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Vu(c),Lp();let l;t[3]===o?l=t[4]:(l=b=>{if(o)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},t[3]=o,t[4]=l),jf(window,"beforeunload",l);let u;t[5]===i?u=t[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},t[5]=i,t[6]=u);let d=u;if(Di("global.save",i),a){let b;return t[7]!==r||t[8]!==o?(b=(0,g.jsx)(Uu,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=b):b=t[9],b}let m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=Gi("global.save"),t[10]=m):m=t[10];let f=o?"yellow":"hint-green",h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,g.jsx)(Ai,{strokeWidth:1.5,size:18}),t[11]=h):h=t[11];let y;return t[12]!==d||t[13]!==f?(y=(0,g.jsx)(_n,{content:m,children:(0,g.jsx)(Hi,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:h})}),t[12]=d,t[13]=f,t[14]=y):y=t[14],y},$t=function(){let e=(0,wn.c)(21),{sendSave:t}=Fn(),{openModal:n,closeModal:r,openAlert:o}=Pi(),a=Xa(Bn),i=pp(),s=Sr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(v,C)=>{let x=s.get(bt),_=s.get(gi);if(s.get(ff))return;if(x.state!==Mt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),C&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await af());let D=yt(),A=kr(D),k=A.map(Ju),B=A.map(Gu),F=A.map(Bu),ne=ui(D),O=s.get(xi);B.length!==0&&(await t({cellIds:k,codes:B,names:F,filename:v,configs:ne,layout:Fm(),persist:!0}),a({names:F,codes:B,configs:ne,layout:O}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let l=ae(c),u;e[5]!==l||e[6]!==s?(u=v=>{let C=v===void 0?!1:v,x=s.get(Za),_=s.get(bt);va(x)&&_.state===Mt.OPEN&&l(x,C)},e[5]=l,e[6]=s,e[7]=u):u=e[7];let d=ae(u),m;e[8]!==l||e[9]!==i?(m=v=>{i(v).then(C=>{C!==null&&l(C,!0)})},e[8]=l,e[9]=i,e[10]=m):m=e[10];let f=m,h;e[11]!==r||e[12]!==f||e[13]!==n||e[14]!==d||e[15]!==s?(h=()=>{let v=s.get(Za),C=s.get(bt);d(!0),!va(v)&&C.state!==Mt.CLOSED&&n((0,g.jsx)(qu,{onClose:r,onSave:f}))},e[11]=r,e[12]=f,e[13]=n,e[14]=d,e[15]=s,e[16]=h):h=e[16];let y=ae(h),b;return e[17]!==d||e[18]!==l||e[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},e[17]=d,e[18]=l,e[19]=y,e[20]=b):b=e[20],b};function Bu(e){return e.name}function Gu(e){return e.code}function Ju(e){return e.id}function va(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function Vu(e){let t=(0,wn.c)(14),n=ie(gi),r=Pd(),[o]=In(bt),a=ie(pr),i,s;if(t[0]!==r){let m=kr(r);i=m.map(Wu),s=m.map($u),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,l;t[3]===r?l=t[4]:(l=ui(r),t[3]=r,t[4]=l);let u=l,d;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==u||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(d={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:u,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=u,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=d):d=t[13],Mu(d)}function $u(e){return e.name}function Wu(e){return e.code}var qu=e=>{let t=(0,wn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,T.useState)(),i;t[0]!==n||t[1]!==r?(i=b=>{a(b),b.trim()&&(r(b),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)(_i,{children:"Save notebook"}),t[3]=c):c=t[3];let l;t[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,g.jsx)(Ur,{className:"text-md pt-6 px-1",children:"Save as"}),t[4]=l):l=t[4];let u;t[5]===s?u=t[6]:(u=(0,g.jsxs)("div",{className:"flex flex-col",children:[l,(0,g.jsx)($r,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=u);let d;t[7]===n?d=t[8]:(d=(0,g.jsx)(lt,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=d);let m=!o,f;t[9]===m?f=t[10]:(f=(0,g.jsx)(lt,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:m,type:"submit",children:"Save"}),t[9]=m,t[10]=f);let h;t[11]!==d||t[12]!==f?(h=(0,g.jsxs)(Ui,{children:[d,f]}),t[11]=d,t[12]=f,t[13]=h):h=t[13];let y;return t[14]!==u||t[15]!==h?(y=(0,g.jsxs)(ji,{children:[c,u,h]}),t[14]=u,t[15]=h,t[16]=y):y=t[16],y};Rn=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var Ea={modified:{doc:""},original:{doc:""}},Sa=(0,T.createContext)(Ea);function Hu(e,t){return z({},e,t,{modified:z({},e.modified,t.modified),original:z({},e.original,t.original)})}var hr=()=>(0,T.useContext)(Sa),zu=e=>{var{children:t,theme:n}=e,[r,o]=(0,T.useReducer)(Hu,z({},Ea,{theme:n}));return(0,T.useEffect)(()=>o({theme:n}),[n]),(0,g.jsx)(Sa.Provider,{value:z({},r,{dispatch:o}),children:t})},Ku=["extensions","value","selection","onChange"],Ca=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Ku),{theme:i,dispatch:s}=hr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};Ca.displayName="CodeMirrorMerge.Original";var Yu=["extensions","value","selection","onChange"],xa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Yu),{theme:i,dispatch:s}=hr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};xa.displayName="CodeMirrorMerge.Modified";var Xu=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Qu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ia=T.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:m}=e,f=Jt(e,Xu),h=hr(),{modified:y,modifiedExtension:b,original:v,originalExtension:C,theme:x,dispatch:_}=h,D=Jt(h,Qu),A=(0,T.useRef)(null),k=(0,T.useRef)(),B={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:m};(0,T.useImperativeHandle)(t,()=>({container:A.current,view:k.current,modified:y,original:v,config:z({a:v,b:y,parent:A.current},B)}),[A,k,y,v,B]);var F=J.updateListener.of(O=>{if(O.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var N=O.state.doc.toString();C==null||C.onChange(N,O)}}),ne=J.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var N=O.state.doc.toString();b==null||b.onChange(N,O)}});return(0,T.useEffect)(()=>{!k.current&&A.current&&C&&b&&(k.current=new Ji(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x})),F]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x})),ne]}),parent:A.current},B)),_({view:k.current}))},[k,A,C,b]),(0,T.useEffect)(()=>{var U,j;if(v&&v.doc&&k.current){var O=(U=k.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var N;(N=k.current)==null||N.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&k.current){var se=(j=k.current)==null?void 0:j.b.state.doc.toString();if(se!==y.doc){var le;(le=k.current)==null||le.b.dispatch({changes:{from:0,to:se.length,insert:y.doc||""}})}}if(l&&k.current){var re=k.current.a.state.selection.ranges[0].from,ee=k.current.b.state.selection.ranges[0].from;k.current.destroy(),k.current=new Ji(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x}))]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x}))]}),parent:A.current},B)),re&&(k.current.a.focus(),k.current.a.dispatch({selection:{anchor:re,head:re}})),ee&&(k.current.b.focus(),k.current.b.dispatch({selection:{anchor:ee,head:ee}}))}},[k,x,A.current,v,y,C,b,l]),(0,T.useEffect)(()=>()=>k.current&&k.current.destroy(),[]),(0,T.useEffect)(()=>{if(k.current){var O={};D.orientation!==o&&(O.orientation=o),D.revertControls!==a&&(O.revertControls=a),D.highlightChanges!==i&&(O.highlightChanges=i),D.gutter!==s&&(O.gutter=s),D.collapseUnchanged!==c&&(O.collapseUnchanged=c),D.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&k.current&&(k.current.reconfigure(z({},O)),_(z({},O)))}},[_,k,o,a,i,s,c,u]),(0,g.jsx)("div",z({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ia.displayName="CodeMirrorMerge.Internal";var Zu=["theme"],vn=T.forwardRef((e,t)=>{var{theme:n}=e;return(0,g.jsx)(zu,{theme:n,children:(0,g.jsx)(Ia,z({},Jt(e,Zu),{ref:t}))})});vn.Original=Ca,vn.Modified=xa,vn.displayName="CodeMirrorMerge";var gr=vn,ed=Je(),td=gr.Original,nd=gr.Modified,ka=[Md(),J.lineWrapping];const rd=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,m]=(0,T.useState)(!1),[f,h]=(0,T.useState)({}),[y,b]=In(fp),v=(0,T.useId)(),C=Mf(),{initialPrompt:x,triggerImmediately:_,cellId:D}=t??{},A=D===e,k=ie(Xm).get(e),B;(k==null?void 0:k.type)==="update_cell"&&(B=k.previousCode);let{completion:F,input:ne,stop:O,isLoading:N,setCompletion:se,setInput:le,handleSubmit:re,complete:ee}=Jm({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:x,experimental_throttle:100,body:{...Object.keys(f).length>0?f:x?ki({input:x}):{},includeOtherCode:y?Cr(a):"",code:a,language:o},onError:M=>{vt({title:"Completion failed",description:up(M)})},onFinish:(M,oe)=>{se(qn(oe).trimEnd())}}),U=T.useRef(null),j=qn(F,{streaming:N}).trimEnd(),be=(0,T.useCallback)(()=>{_&&!N&&x&&ee(x)},[_]);(0,T.useEffect)(()=>{var M;A&&(Rd(()=>{let oe=U.current;return oe!=null&&oe.view?(oe.view.focus(),be(),!0):!1},{retries:3,delay:100,initialDelay:100}),of((M=U.current)==null?void 0:M.view))},[A,be]),(0,T.useEffect)(()=>{A&&le(x||"")},[A,x,le]);let{theme:ce}=ip(),S=()=>{s(j),se("")},I=()=>{var M,oe;O(),se(""),m(!0),(oe=(M=U.current)==null?void 0:M.view)==null||oe.focus()},P=A&&_&&(j||N);l??(l="below");let L=A&&(!_||d),ue=(0,g.jsx)("div",{className:nt("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",P?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,g.jsx)(od,{status:N?"loading":"generated",onAccept:S,onReject:I,showInputPrompt:d,setShowInputPrompt:m,runCell:c,className:"mt-4 mb-3 w-lg"})}),Be=(M,oe)=>(0,g.jsxs)(gr,{className:"cm",theme:ce,children:[(0,g.jsx)(td,{onChange:r,value:M,extensions:ka}),(0,g.jsx)(nd,{value:oe,editable:!1,readOnly:!0,extensions:ka})]}),Ve=()=>{if(j&&A)return Be(a,j);if(!j&&B)return Be(B,a)},Ge=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Ti,{isLoading:N,onAccept:S,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,g.jsx)(Ii,{onDecline:I,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,g.jsxs)("div",{"data-ai-input-open":L,className:nt("flex flex-col w-full rounded-[inherit]",n),children:[(0,g.jsx)("div",{className:nt("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",L&&"max-h-[400px] border-b min-h-11 visible",!L&&"max-h-0 min-h-0 invisible"),children:A&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(np,{className:"text-(--blue-10) shrink-0",size:16}),(0,g.jsx)(zm,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:ne,onChange:M=>{le(M),h(ki({input:M}))},onSubmit:()=>{var M;N||((M=U.current)!=null&&M.view&&$m(U.current.view),re())},onKeyDown:Km({handleAcceptCompletion:S,handleDeclineCompletion:I,isLoading:N,hasCompletion:j.trim().length>0})}),(0,g.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,g.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,g.jsx)(Hm,{isLoading:N,onStop:O,onSendClick:re,isEmpty:!ne.trim(),showStopLabel:!0}),(0,g.jsx)(Ym,{handleAddContext:()=>Wm(U),isLoading:N}),(0,g.jsx)(Lf,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),j&&(0,g.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ge})]}),(0,g.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,g.jsx)(_n,{content:"Include code from other cells",children:(0,g.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,g.jsx)(Jd,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:M=>b(!!M)}),(0,g.jsx)(Ur,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,g.jsx)(lt,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:N,onClick:()=>{O(),i(),se("")},children:(0,g.jsx)(Rm,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&ue,Ve(),(!j||!A)&&!B&&u,l==="below"&&ue]})};var od=e=>{let t=(0,ed.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,l=n==="loading",u;t[0]===a?u=t[1]:(u=nt("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=u);let d;t[2]===l?d=t[3]:(d=l?(0,g.jsx)(ep,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,g.jsx)(Bm,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=l,t[3]=d);let m=l?"Generating fix...":"Showing fix",f;t[4]===m?f=t[5]:(f=(0,g.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:m}),t[4]=m,t[5]=f);let h;t[6]!==d||t[7]!==f?(h=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),t[6]=d,t[7]=f,t[8]=h):h=t[8];let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Ur,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=y):y=t[9];let b;t[10]!==s||t[11]!==i?(b=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,g.jsx)(Bf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=b):b=t[12];let v;t[13]!==l||t[14]!==r||t[15]!==c?(v=(0,g.jsx)(Ti,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=l,t[14]=r,t[15]=c,t[16]=v):v=t[16];let C;t[17]===o?C=t[18]:(C=(0,g.jsx)(Ii,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let x;t[19]!==v||t[20]!==C?(x=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,C]}),t[19]=v,t[20]=C,t[21]=x):x=t[21];let _;return t[22]!==u||t[23]!==x||t[24]!==h||t[25]!==b?(_=(0,g.jsxs)("div",{className:u,children:[h,b,x]}),t[22]=u,t[23]=x,t[24]=h,t[25]=b,t[26]=_):_=t[26],_},yr="web application/x-marimo-cell",ad=Lr({cells:If(Lr({code:di(),name:di().optional(),config:Lr({column:Ef([Sf(),Cf()]).optional(),disabled:fi().optional(),hide_code:fi().optional()}).optional()})),version:xf("1.0")});function br(e){return e.map(t=>t.code).join(`
23
23
 
24
- `)}async function Ta(e){let t={cells:e.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new cd().add(yr,t).add("text/plain",br(e)).build();await navigator.clipboard.write([n])}function id(){let e=Nn(),t=_d(),n=rf();return{copyCells:ae(async r=>{let o=yt(),a=r.map(i=>o.cellData[i]).filter(Boolean);if(a.length!==0)try{await Ta(a),t.clear(),Na(a.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await Oi(br(a)),t.clear(),Na(a.length)}catch{Aa()}}}),cutCells:ae(async r=>{let o=yt(),a=r.filter(s=>o.cellData[s]),i=a.map(s=>o.cellData[s]);if(i.length!==0)try{await Ta(i),t.markForCut({cellIds:a})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await Oi(br(i)),t.markForCut({cellIds:a})}catch{Aa()}}}),pasteAtCell:ae(async(r,o)=>{var i;let{before:a=!1}=o??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=yt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});e.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:a?"before":"after",previousPlacements:l}),t.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(yr)){let u=await(await l.getType(yr)).text();try{let d=ad.parse(JSON.parse(u));if(d.cells.length===0)break;let m=r,f=d.cells.toReversed();for(let h of f)e.createNewCell({cellId:m,before:a,code:h.code,name:h.name,config:h.config,hideCode:(i=h.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?e.createNewCell({cellId:r,before:a,code:c,autoFocus:!0}):sd()}catch(s){$e.error("Failed to paste from clipboard",s),ld()}}),clearPendingCut:t.clear}}var Na=e=>{let t=e===1?"Cell":`${e} cells`;vt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Aa=()=>{vt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},sd=()=>{vt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},ld=()=>{vt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},cd=class{constructor(){p(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):($e.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},ud=Je();function La(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Up,createActions:Pp,valueAtom:wr,useActions:dd}=Mr(La,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],l=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:La()});Zi=()=>ie(wr);function fd(e){let t=(0,ud.c)(2),n;return t[0]===e?n=t[1]:(n=jt(r=>r(wr).selected.has(e)),t[0]=e,t[1]=n),ie(n)}qr=function(){return dd()};function md(e){return e.get(wr).selected}let Oa,_a,Ua;Oa=Je(),{valueAtom:_a,useActions:Vt}=Mr(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),ti(()=>{let r=document.activeElement;if(!r)return;let o=Ln.findElementThroughShadowDOMs(r);o&&Qa(Ln.parse(o.id))}),n}}),Ua=e=>jt(t=>t(_a).has(e)),Ki=function(e){let t=(0,Oa.c)(2),n;return t[0]===e?n=t[1]:(n=Ua(e),t[0]=e,t[1]=n),ie(n)};var Pt=new WeakMap,pd=500;function hd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function gd(e,t){let n=hd(e),r=e.target;if(!n||!r)return!1;let o=Pt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Pt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Pt.delete(r)},pd);return Pt.set(r,{sequence:a,timeout:s}),!0}return Pt.delete(r),!1}var vr=Je();function Pa(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function He(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function yd(e,t){let n=(0,vr.c)(12),r=hp(),o=Nn(),a=Vt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=u=>{var d;ja(u.relatedTarget)||ja(u.target)||Da(u.relatedTarget)===e||Da((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&Er(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=tp(c);return l}function ja(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function Da(e){return e&&e.getAttribute(sf)||null}Qi=function(e,t){let n=(0,vr.c)(34),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=$t(),{saveCellConfig:s}=Fn(),c=Xa(Fi),l=Nn(),u=Sr(),d=Vt(),m=lp(),f=ie(yi),{copyCells:h,pasteAtCell:y,cutCells:b}=id(),v=qr(),C=fd(e),x=Mn(),_=Rr(),j=ie(_r),A;n[0]===j?A=n[1]:(A=pi(j),n[0]=j,n[1]=A);let k=A,B;n[2]!==x||n[3]!==v?(B={clear:()=>{x.clear(),v.clear()},extend:U=>{x.clear(),v.extend(U)},select:U=>{x.clear(),v.select(U)}},n[2]=x,n[3]=v,n[4]=B):B=n[4];let F=B,ne=ie(hi),O;n[5]===ne?O=n[6]:(O=(U,P)=>Or(ne.getHotkey(U).key)(P.nativeEvent||P),n[5]=ne,n[6]=O);let N=O,se=yd(e,o),le;n[7]!==l||n[8]!==k||n[9]!==r||n[10]!==a||n[11]!==e||n[12]!==h||n[13]!==b||n[14]!==_||n[15]!==o||n[16]!==C||n[17]!==N||n[18]!==f||n[19]!==y||n[20]!==x||n[21]!==m||n[22]!==s||n[23]!==i||n[24]!==F||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==j?(le={onKeyDown:U=>{if(Pr.fromInput(U)){U.continuePropagation();return}let P={"Mod+ArrowUp":()=>(l.focusTopCell(),F.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),F.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:e,where:"before"}),F.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:e,where:"after"}),F.clear(),!0),ArrowLeft:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),D=S.cellIds.indexOf(I),L=S.cellIds.at(D-1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},ArrowRight:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),D=S.cellIds.indexOf(I),L=S.cellIds.at(D+1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let S=u.get(li);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).before(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let S=u.get(li);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).after(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"after"}),!0},Escape:()=>u.get(Xd).size>0?(u.set(Kd),!0):C?(F.clear(),!0):!1,Enter:()=>(d.add(e),ai(u,e),F.clear(),!0),s:()=>(i(),!0)};for(let[S,I]of Object.entries(P))if(Or(S)(U)&&I()){U.preventDefault();return}let be={"cell.run":He(S=>(m(S),!0)),"cell.runAndNewBelow":He(S=>{m(S);let I=S[S.length-1];return l.moveToNextCell({cellId:I,before:!1}),!0}),"cell.runAndNewAbove":He(S=>{m(S);let I=S[0];return l.moveToNextCell({cellId:I,before:!0}),!0}),"cell.createAbove":S=>(l.createNewCell({cellId:S,before:!0}),!0),"cell.createBelow":S=>(l.createNewCell({cellId:S,before:!1}),!0),"cell.moveUp":He(S=>{let I=S[0];return u.get(tt).cellIds.findWithId(I).first()===I?!1:(S.forEach(D=>{l.moveCell({cellId:D,before:!0})}),!0)}),"cell.moveDown":He(S=>{let I=S[S.length-1];return u.get(tt).cellIds.findWithId(I).last()===I?!1:(S.toReversed().forEach(D=>{l.moveCell({cellId:D,before:!1})}),!0)}),"cell.moveLeft":Pa(S=>r?(l.moveCell({cellId:S,direction:"left"}),!0):!1),"cell.moveRight":Pa(S=>r?(l.moveCell({cellId:S,direction:"right"}),!0):!1),"cell.hideCode":He(S=>{var D;let I=!S.map(L=>{var ue;return((ue=u.get(tt).cellData[L])==null?void 0:ue.config)||null}).every(bd);s({configs:Object.fromEntries(S.map(L=>[L,{hide_code:I}]))});for(let L of S)l.updateCellConfig({cellId:L,config:{hide_code:I}});if(S.length===1){let L=S[0];l.focusCell({cellId:L,where:"after"}),I?((D=o.current)==null||D.contentDOM.blur(),oi(L)):ai(u,L)}return!0}),"cell.focusDown":S=>(l.focusCell({cellId:S,where:"after"}),!0),"cell.focusUp":S=>(l.focusCell({cellId:S,where:"before"}),!0),"cell.sendToBottom":He(S=>(S.forEach(I=>{l.sendToBottom({cellId:I})}),!0)),"cell.sendToTop":He(S=>(S.toReversed().forEach(I=>{l.sendToTop({cellId:I})}),!0)),"cell.aiCompletion":S=>{var D;if(!k)return!1;let I=!1;return c(L=>(L==null?void 0:L.cellId)===S?(I=!0,null):{cellId:S}),I&&((D=o.current)==null||D.focus()),!0},"cell.cellActions":()=>{var S;return(S=a.current)==null||S.toggle(),!0},"command.copyCell":He(S=>(h(S),!0)),"command.cutCell":He(S=>(b(S),!0)),"command.pasteCell":S=>(y(S),!0),"command.createCellBefore":S=>Pr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!0,autoFocus:!0}),!0),"command.createCellAfter":S=>Pr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!j.keymap.destructive_delete)return!1;let S=ce.size>=2?[...ce]:[e],I=u.get(tt);return S.some(D=>{let{status:L}=I.cellRuntime[D];return L==="running"||L==="queued"})?!1:x.idle?(x.submit(S),!0):(_({cellIds:S}),x.clear(),!0)}},ce=md(u);if(f==="vim"&&gd(U.nativeEvent||U,{j:P.ArrowDown,k:P.ArrowUp,h:P.ArrowLeft,l:P.ArrowRight,i:P.Enter,"shift+j":P["Shift+ArrowDown"],"shift+k":P["Shift+ArrowUp"],"g g":P["Mod+ArrowUp"],"shift+g":P["Mod+ArrowDown"],"d d":()=>be["cell.delete"](),"y y":()=>(h(ce.size>=2?[...ce]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(l.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[S,I]of Object.entries(be))if(N(S,U)){if(typeof I=="function"){if(I(e)){U.preventDefault();return}}else if(ce.size>=2?I.bulkHandle([...ce]):I.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=k,n[9]=r,n[10]=a,n[11]=e,n[12]=h,n[13]=b,n[14]=_,n[15]=o,n[16]=C,n[17]=N,n[18]=f,n[19]=y,n[20]=x,n[21]=m,n[22]=s,n[23]=i,n[24]=F,n[25]=c,n[26]=u,n[27]=d,n[28]=j,n[29]=le):le=n[29];let{keyboardProps:re}=Li(le),ee;return n[30]!==se||n[31]!==C||n[32]!==re?(ee=sp(se,re,{"data-selected":C,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=se,n[31]=C,n[32]=re,n[33]=ee):ee=n[33],ee};function bd(e){return e==null?void 0:e.hide_code}function wd(e,t){let n=(0,vr.c)(12),r=Vt(),o=ie(yi),a=ie(hi),i;n[0]===a?i=n[1]:(i=Or(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),oi(e),ti(()=>{Qa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==t||n[6]!==l?(u=()=>{if(!t.current){l();return}let h=t.current,y=h.state;if(wm(h))return;let b=!!y.field(ri,!1)||!!y.field(cf,!1),v=Gt(y)!==null;b&&Er(h),v&&_m(h),!(b||v)&&l()},n[5]=t,n[6]=l,n[7]=u):u=n[7];let d=u,m;n[8]!==d||n[9]!==o||n[10]!==s?(m={onKeyDown:h=>{o==="vim"?s(h)&&d():h.key==="Escape"&&d(),h.continuePropagation()}},n[8]=d,n[9]=o,n[10]=s,n[11]=m):m=n[11];let{keyboardProps:f}=Li(m);return f}function Fa(e,t){let n=document.getElementById(Ln.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Ln.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function Er(e){e.state.field(ri,!1)&&e.dispatch({effects:pf.of(null)}),mf(e)}var vd=Je(),Ed=50,Sd=4,Cd=60;function xd(e){return Math.min(Cd,Math.max(Sd,e))}const Id=e=>{let t=(0,vd.c)(13),{code:n,className:r}=e,o,a,i,s;if(t[0]!==r||t[1]!==n){let l=n.split(`
25
- `,Ed);t[6]===r?o=t[7]:(o=nt("cm","mo-code-placeholder",r),t[6]=r,t[7]=o),a="cell-editor-placeholder",i=!0,s=l.map(kd),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=i,t[5]=s}else o=t[2],a=t[3],i=t[4],s=t[5];let c;return t[8]!==o||t[9]!==a||t[10]!==i||t[11]!==s?(c=(0,g.jsx)("div",{className:o,"data-testid":a,"aria-hidden":i,children:s}),t[8]=o,t[9]=a,t[10]=i,t[11]=s,t[12]=c):c=t[12],c};function kd(e,t){let n=e.trimEnd().length;return(0,g.jsx)("div",{className:"mo-code-placeholder-line",children:n>0&&(0,g.jsx)(Op,{className:"mo-code-placeholder-bar",style:{width:`${xd(n)}ch`}})},t)}var Ma=Je();let En;Wr=e=>{let t=(0,Ma.c)(25),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a,className:i}=e,s=i===void 0?"absolute right-3 top-2 z-20 flex hover-action gap-1":i,c;t[0]===r?c=t[1]:(c=ni.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=ni.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=u);let d=u&&o==="python",m;t[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)(Wd,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=m):m=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==d?(f=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:d,icon:m,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=d,t[9]=f):f=t[9];let h=l&&o==="python",y;t[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Ep,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=y):y=t[10];let b;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==h?(b=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:h,icon:y,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=h,t[15]=b):b=t[15];let v;t[16]===Symbol.for("react.memo_cache_sentinel")?(v=(0,g.jsx)(vp,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=v):v=t[16];let C;t[17]!==o||t[18]!==n?(C=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:v,toType:"python",displayName:"Python",onAfterToggle:Uf.NOOP}),t[17]=o,t[18]=n,t[19]=C):C=t[19];let x;return t[20]!==s||t[21]!==C||t[22]!==f||t[23]!==b?(x=(0,g.jsxs)("div",{className:s,children:[f,b,C]}),t[20]=s,t[21]=C,t[22]=f,t[23]=b,t[24]=x):x=t[24],x},En=e=>{let t=(0,Ma.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,l;t[0]!==n||t[1]!==c||t[2]!==i?(l=()=>{n&&(Dt(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=l):l=t[3];let u=l;if(!o||r===i)return null;let d=`View as ${s}`,m;t[4]!==u||t[5]!==a?(m=(0,g.jsx)(lt,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:u,children:a}),t[4]=u,t[5]=a,t[6]=m):m=t[6];let f;return t[7]!==d||t[8]!==m?(f=(0,g.jsx)(_n,{content:d,children:m}),t[7]=d,t[8]=m,t[9]=f):f=t[9],f};var Ra=Je(),Ba=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:l,editorViewRef:u,editorViewParentRef:d,hidden:m,hasOutput:f,showHiddenCode:h,languageAdapter:y,setLanguageAdapter:b,showLanguageToggles:v=!0,inlineAiTooltip:C,outputArea:x,tooltipParentSelector:_})=>{var Va,$a;let[j,A]=In(Fi),k=Ni(),{saveOrNameNotebook:B}=$t(),F=Mn(),{saveCellConfig:ne}=Fn(),O=a==="running"||a==="queued",N=Nn(),se=Sp(),le=y==="markdown",re=ae(()=>O?!1:F.idle&&l.keymap.destructive_delete?(F.submit([n]),!0):(k({cellId:n}),!0)),ee=ae(()=>O?!1:(c(),u.current&&Er(u.current),!0)),U=ae(()=>{let G=!r.hide_code;return ne({configs:{[n]:{hide_code:G}}}),N.updateCellConfig({cellId:n,config:{hide_code:G}}),G}),P=ie(jf),be=ie(_f),ce=ae(()=>{Mi({autoInstantiate:P,createNewCell:N.createNewCell}),r.hide_code||(ne({configs:{[n]:{hide_code:!0}}}),N.updateCellConfig({cellId:n,config:{hide_code:!0}}),N.markUntouched({cellId:n}))}),S=ae(()=>{Mi({autoInstantiate:P,createNewCell:N.createNewCell})}),I=pi(l),D=(0,T.useMemo)(()=>{var de;let G=au({cellId:n,showPlaceholder:t,enableAI:I,cellActions:{...N,afterToggleMarkdown:ce,afterToggleSQL:S,onRun:ee,deleteCell:re,saveNotebook:B,createManyBelow:Q=>{for(let ge of Q.toReversed())N.createNewCell({code:ge,before:!1,cellId:n,skipIfCodeExists:!0})},addOrAppendSetupCell:Q=>{let ge=yt();if(!ge.cellIds.setupCellExists()){N.addSetupCellIfDoesntExist({code:Q});return}let xn=tf(ge)[Nr],Wa=xn?wf(xn):ge.cellData[Nr].code,qa=Wa.trim()?`${Wa.trimEnd()}
24
+ `)}async function Ta(e){let t={cells:e.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new cd().add(yr,t).add("text/plain",br(e)).build();await navigator.clipboard.write([n])}function id(){let e=Nn(),t=_d(),n=rf();return{copyCells:ae(async r=>{let o=yt(),a=r.map(i=>o.cellData[i]).filter(Boolean);if(a.length!==0)try{await Ta(a),t.clear(),Na(a.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await Oi(br(a)),t.clear(),Na(a.length)}catch{Aa()}}}),cutCells:ae(async r=>{let o=yt(),a=r.filter(s=>o.cellData[s]),i=a.map(s=>o.cellData[s]);if(i.length!==0)try{await Ta(i),t.markForCut({cellIds:a})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await Oi(br(i)),t.markForCut({cellIds:a})}catch{Aa()}}}),pasteAtCell:ae(async(r,o)=>{var i;let{before:a=!1}=o??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=yt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});e.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:a?"before":"after",previousPlacements:l}),t.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(yr)){let u=await(await l.getType(yr)).text();try{let d=ad.parse(JSON.parse(u));if(d.cells.length===0)break;let m=r,f=d.cells.toReversed();for(let h of f)e.createNewCell({cellId:m,before:a,code:h.code,name:h.name,config:h.config,hideCode:(i=h.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?e.createNewCell({cellId:r,before:a,code:c,autoFocus:!0}):sd()}catch(s){$e.error("Failed to paste from clipboard",s),ld()}}),clearPendingCut:t.clear}}var Na=e=>{let t=e===1?"Cell":`${e} cells`;vt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Aa=()=>{vt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},sd=()=>{vt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},ld=()=>{vt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},cd=class{constructor(){p(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):($e.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},ud=Je();function La(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Up,createActions:jp,valueAtom:wr,useActions:dd}=Mr(La,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],l=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:La()});Zi=()=>ie(wr);function fd(e){let t=(0,ud.c)(2),n;return t[0]===e?n=t[1]:(n=Dt(r=>r(wr).selected.has(e)),t[0]=e,t[1]=n),ie(n)}qr=function(){return dd()};function md(e){return e.get(wr).selected}let Oa,_a,Ua;Oa=Je(),{valueAtom:_a,useActions:Vt}=Mr(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),ti(()=>{let r=document.activeElement;if(!r)return;let o=Ln.findElementThroughShadowDOMs(r);o&&Qa(Ln.parse(o.id))}),n}}),Ua=e=>Dt(t=>t(_a).has(e)),Ki=function(e){let t=(0,Oa.c)(2),n;return t[0]===e?n=t[1]:(n=Ua(e),t[0]=e,t[1]=n),ie(n)};var jt=new WeakMap,pd=500;function hd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function gd(e,t){let n=hd(e),r=e.target;if(!n||!r)return!1;let o=jt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return jt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{jt.delete(r)},pd);return jt.set(r,{sequence:a,timeout:s}),!0}return jt.delete(r),!1}var vr=Je();function ja(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function He(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function yd(e,t){let n=(0,vr.c)(12),r=hp(),o=Nn(),a=Vt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=u=>{var d;Da(u.relatedTarget)||Da(u.target)||Pa(u.relatedTarget)===e||Pa((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&Er(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=tp(c);return l}function Da(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function Pa(e){return e&&e.getAttribute(sf)||null}Qi=function(e,t){let n=(0,vr.c)(34),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=$t(),{saveCellConfig:s}=Fn(),c=Xa(Fi),l=Nn(),u=Sr(),d=Vt(),m=lp(),f=ie(yi),{copyCells:h,pasteAtCell:y,cutCells:b}=id(),v=qr(),C=fd(e),x=Mn(),_=Rr(),D=ie(_r),A;n[0]===D?A=n[1]:(A=pi(D),n[0]=D,n[1]=A);let k=A,B;n[2]!==x||n[3]!==v?(B={clear:()=>{x.clear(),v.clear()},extend:U=>{x.clear(),v.extend(U)},select:U=>{x.clear(),v.select(U)}},n[2]=x,n[3]=v,n[4]=B):B=n[4];let F=B,ne=ie(hi),O;n[5]===ne?O=n[6]:(O=(U,j)=>Or(ne.getHotkey(U).key)(j.nativeEvent||j),n[5]=ne,n[6]=O);let N=O,se=yd(e,o),le;n[7]!==l||n[8]!==k||n[9]!==r||n[10]!==a||n[11]!==e||n[12]!==h||n[13]!==b||n[14]!==_||n[15]!==o||n[16]!==C||n[17]!==N||n[18]!==f||n[19]!==y||n[20]!==x||n[21]!==m||n[22]!==s||n[23]!==i||n[24]!==F||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==D?(le={onKeyDown:U=>{if(jr.fromInput(U)){U.continuePropagation();return}let j={"Mod+ArrowUp":()=>(l.focusTopCell(),F.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),F.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:e,where:"before"}),F.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:e,where:"after"}),F.clear(),!0),ArrowLeft:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),P=S.cellIds.indexOf(I),L=S.cellIds.at(P-1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},ArrowRight:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),P=S.cellIds.indexOf(I),L=S.cellIds.at(P+1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let S=u.get(li);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).before(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let S=u.get(li);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).after(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"after"}),!0},Escape:()=>u.get(Xd).size>0?(u.set(Kd),!0):C?(F.clear(),!0):!1,Enter:()=>(d.add(e),ai(u,e),F.clear(),!0),s:()=>(i(),!0)};for(let[S,I]of Object.entries(j))if(Or(S)(U)&&I()){U.preventDefault();return}let be={"cell.run":He(S=>(m(S),!0)),"cell.runAndNewBelow":He(S=>{m(S);let I=S[S.length-1];return l.moveToNextCell({cellId:I,before:!1}),!0}),"cell.runAndNewAbove":He(S=>{m(S);let I=S[0];return l.moveToNextCell({cellId:I,before:!0}),!0}),"cell.createAbove":S=>(l.createNewCell({cellId:S,before:!0}),!0),"cell.createBelow":S=>(l.createNewCell({cellId:S,before:!1}),!0),"cell.moveUp":He(S=>{let I=S[0];return u.get(tt).cellIds.findWithId(I).first()===I?!1:(S.forEach(P=>{l.moveCell({cellId:P,before:!0})}),!0)}),"cell.moveDown":He(S=>{let I=S[S.length-1];return u.get(tt).cellIds.findWithId(I).last()===I?!1:(S.toReversed().forEach(P=>{l.moveCell({cellId:P,before:!1})}),!0)}),"cell.moveLeft":ja(S=>r?(l.moveCell({cellId:S,direction:"left"}),!0):!1),"cell.moveRight":ja(S=>r?(l.moveCell({cellId:S,direction:"right"}),!0):!1),"cell.hideCode":He(S=>{var P;let I=!S.map(L=>{var ue;return((ue=u.get(tt).cellData[L])==null?void 0:ue.config)||null}).every(bd);s({configs:Object.fromEntries(S.map(L=>[L,{hide_code:I}]))});for(let L of S)l.updateCellConfig({cellId:L,config:{hide_code:I}});if(S.length===1){let L=S[0];l.focusCell({cellId:L,where:"after"}),I?((P=o.current)==null||P.contentDOM.blur(),oi(L)):ai(u,L)}return!0}),"cell.focusDown":S=>(l.focusCell({cellId:S,where:"after"}),!0),"cell.focusUp":S=>(l.focusCell({cellId:S,where:"before"}),!0),"cell.sendToBottom":He(S=>(S.forEach(I=>{l.sendToBottom({cellId:I})}),!0)),"cell.sendToTop":He(S=>(S.toReversed().forEach(I=>{l.sendToTop({cellId:I})}),!0)),"cell.aiCompletion":S=>{var P;if(!k)return!1;let I=!1;return c(L=>(L==null?void 0:L.cellId)===S?(I=!0,null):{cellId:S}),I&&((P=o.current)==null||P.focus()),!0},"cell.cellActions":()=>{var S;return(S=a.current)==null||S.toggle(),!0},"command.copyCell":He(S=>(h(S),!0)),"command.cutCell":He(S=>(b(S),!0)),"command.pasteCell":S=>(y(S),!0),"command.createCellBefore":S=>jr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!0,autoFocus:!0}),!0),"command.createCellAfter":S=>jr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!D.keymap.destructive_delete)return!1;let S=ce.size>=2?[...ce]:[e],I=u.get(tt);return S.some(P=>{let{status:L}=I.cellRuntime[P];return L==="running"||L==="queued"})?!1:x.idle?(x.submit(S),!0):(_({cellIds:S}),x.clear(),!0)}},ce=md(u);if(f==="vim"&&gd(U.nativeEvent||U,{j:j.ArrowDown,k:j.ArrowUp,h:j.ArrowLeft,l:j.ArrowRight,i:j.Enter,"shift+j":j["Shift+ArrowDown"],"shift+k":j["Shift+ArrowUp"],"g g":j["Mod+ArrowUp"],"shift+g":j["Mod+ArrowDown"],"d d":()=>be["cell.delete"](),"y y":()=>(h(ce.size>=2?[...ce]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(l.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[S,I]of Object.entries(be))if(N(S,U)){if(typeof I=="function"){if(I(e)){U.preventDefault();return}}else if(ce.size>=2?I.bulkHandle([...ce]):I.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=k,n[9]=r,n[10]=a,n[11]=e,n[12]=h,n[13]=b,n[14]=_,n[15]=o,n[16]=C,n[17]=N,n[18]=f,n[19]=y,n[20]=x,n[21]=m,n[22]=s,n[23]=i,n[24]=F,n[25]=c,n[26]=u,n[27]=d,n[28]=D,n[29]=le):le=n[29];let{keyboardProps:re}=Li(le),ee;return n[30]!==se||n[31]!==C||n[32]!==re?(ee=sp(se,re,{"data-selected":C,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=se,n[31]=C,n[32]=re,n[33]=ee):ee=n[33],ee};function bd(e){return e==null?void 0:e.hide_code}function wd(e,t){let n=(0,vr.c)(12),r=Vt(),o=ie(yi),a=ie(hi),i;n[0]===a?i=n[1]:(i=Or(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),oi(e),ti(()=>{Qa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==t||n[6]!==l?(u=()=>{if(!t.current){l();return}let h=t.current,y=h.state;if(vm(h))return;let b=!!y.field(ri,!1)||!!y.field(cf,!1),v=Gt(y)!==null;b&&Er(h),v&&_m(h),!(b||v)&&l()},n[5]=t,n[6]=l,n[7]=u):u=n[7];let d=u,m;n[8]!==d||n[9]!==o||n[10]!==s?(m={onKeyDown:h=>{o==="vim"?s(h)&&d():h.key==="Escape"&&d(),h.continuePropagation()}},n[8]=d,n[9]=o,n[10]=s,n[11]=m):m=n[11];let{keyboardProps:f}=Li(m);return f}function Fa(e,t){let n=document.getElementById(Ln.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Ln.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function Er(e){e.state.field(ri,!1)&&e.dispatch({effects:pf.of(null)}),mf(e)}var vd=Je(),Ed=50,Sd=4,Cd=60;function xd(e){return Math.min(Cd,Math.max(Sd,e))}const Id=e=>{let t=(0,vd.c)(13),{code:n,className:r}=e,o,a,i,s;if(t[0]!==r||t[1]!==n){let l=n.split(`
25
+ `,Ed);t[6]===r?o=t[7]:(o=nt("cm","mo-code-placeholder",r),t[6]=r,t[7]=o),a="cell-editor-placeholder",i=!0,s=l.map(kd),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=i,t[5]=s}else o=t[2],a=t[3],i=t[4],s=t[5];let c;return t[8]!==o||t[9]!==a||t[10]!==i||t[11]!==s?(c=(0,g.jsx)("div",{className:o,"data-testid":a,"aria-hidden":i,children:s}),t[8]=o,t[9]=a,t[10]=i,t[11]=s,t[12]=c):c=t[12],c};function kd(e,t){let n=e.trimEnd().length;return(0,g.jsx)("div",{className:"mo-code-placeholder-line",children:n>0&&(0,g.jsx)(Op,{className:"mo-code-placeholder-bar",style:{width:`${xd(n)}ch`}})},t)}var Ma=Je();let En;Wr=e=>{let t=(0,Ma.c)(25),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a,className:i}=e,s=i===void 0?"absolute right-3 top-2 z-20 flex hover-action gap-1":i,c;t[0]===r?c=t[1]:(c=ni.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=ni.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=u);let d=u&&o==="python",m;t[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)(Wd,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=m):m=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==d?(f=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:d,icon:m,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=d,t[9]=f):f=t[9];let h=l&&o==="python",y;t[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Ep,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=y):y=t[10];let b;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==h?(b=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:h,icon:y,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=h,t[15]=b):b=t[15];let v;t[16]===Symbol.for("react.memo_cache_sentinel")?(v=(0,g.jsx)(vp,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=v):v=t[16];let C;t[17]!==o||t[18]!==n?(C=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:v,toType:"python",displayName:"Python",onAfterToggle:Uf.NOOP}),t[17]=o,t[18]=n,t[19]=C):C=t[19];let x;return t[20]!==s||t[21]!==C||t[22]!==f||t[23]!==b?(x=(0,g.jsxs)("div",{className:s,children:[f,b,C]}),t[20]=s,t[21]=C,t[22]=f,t[23]=b,t[24]=x):x=t[24],x},En=e=>{let t=(0,Ma.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,l;t[0]!==n||t[1]!==c||t[2]!==i?(l=()=>{n&&(Pt(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=l):l=t[3];let u=l;if(!o||r===i)return null;let d=`View as ${s}`,m;t[4]!==u||t[5]!==a?(m=(0,g.jsx)(lt,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:u,children:a}),t[4]=u,t[5]=a,t[6]=m):m=t[6];let f;return t[7]!==d||t[8]!==m?(f=(0,g.jsx)(_n,{content:d,children:m}),t[7]=d,t[8]=m,t[9]=f):f=t[9],f};var Ra=Je(),Ba=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:l,editorViewRef:u,editorViewParentRef:d,hidden:m,hasOutput:f,showHiddenCode:h,languageAdapter:y,setLanguageAdapter:b,showLanguageToggles:v=!0,inlineAiTooltip:C,outputArea:x,tooltipParentSelector:_})=>{var Va,$a;let[D,A]=In(Fi),k=Ni(),{saveOrNameNotebook:B}=$t(),F=Mn(),{saveCellConfig:ne}=Fn(),O=a==="running"||a==="queued",N=Nn(),se=Sp(),le=y==="markdown",re=ae(()=>O?!1:F.idle&&l.keymap.destructive_delete?(F.submit([n]),!0):(k({cellId:n}),!0)),ee=ae(()=>O?!1:(c(),u.current&&Er(u.current),!0)),U=ae(()=>{let G=!r.hide_code;return ne({configs:{[n]:{hide_code:G}}}),N.updateCellConfig({cellId:n,config:{hide_code:G}}),G}),j=ie(Df),be=ie(_f),ce=ae(()=>{Mi({autoInstantiate:j,createNewCell:N.createNewCell}),r.hide_code||(ne({configs:{[n]:{hide_code:!0}}}),N.updateCellConfig({cellId:n,config:{hide_code:!0}}),N.markUntouched({cellId:n}))}),S=ae(()=>{Mi({autoInstantiate:j,createNewCell:N.createNewCell})}),I=pi(l),P=(0,T.useMemo)(()=>{var de;let G=au({cellId:n,showPlaceholder:t,enableAI:I,cellActions:{...N,afterToggleMarkdown:ce,afterToggleSQL:S,onRun:ee,deleteCell:re,saveNotebook:B,createManyBelow:Q=>{for(let ge of Q.toReversed())N.createNewCell({code:ge,before:!1,cellId:n,skipIfCodeExists:!0})},addOrAppendSetupCell:Q=>{let ge=yt();if(!ge.cellIds.setupCellExists()){N.addSetupCellIfDoesntExist({code:Q});return}let xn=tf(ge)[Nr],Wa=xn?wf(xn):ge.cellData[Nr].code,qa=Wa.trim()?`${Wa.trimEnd()}
26
26
 
27
- ${Q}`:Q;xn&&ef(xn,qa),N.updateCellCode({cellId:Nr,code:qa,formattingChange:!1})},splitCell:se,toggleHideCode:U,aiCellCompletion:()=>{if(!I)return!1;let Q=!1;return A(ge=>(ge==null?void 0:ge.cellId)===n?(Q=!0,null):{cellId:n}),Q}},completionConfig:l.completion,acceptCompletionOnEnter:be,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:e,hotkeys:new mi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:C??((de=l.ai)==null?void 0:de.inline_tooltip)??!1,tooltipParentSelector:_});return G.push(Xe.define(Q=>(b(Q.state.field(Tn).type),{update(ge){b(ge.state.field(Tn).type)}})),J.updateListener.of(Q=>{Q.selectionSet&&Q.state.selection.ranges.some(ge=>ge.from!==ge.to)&&h({focus:!1})}),J.domEventHandlers({focus:()=>{h({focus:!1})}})),G},[n,be,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(Va=l.ai)==null?void 0:Va.inline_tooltip,C,_,I,e,t,N,se,U,re,ee,A,ce,S,b,h,B]),L=Ar(),ue=ae(()=>{if(L){let de=mr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);D.push(de.extension),o=de.code}let G=new J({state:Dr.create({doc:o,extensions:D})});s(G),L||Dt(G,{language:xr(G.state).type})}),Be=ae(()=>{if(Ft(u.current!==null,"Editor view is not initialized"),L){let G=mr(n,de=>{N.updateCellCode({cellId:n,code:de,formattingChange:!0})});D.push(G.extension)}u.current.dispatch({effects:[pe.reconfigure.of([D]),gf(u.current,{completionConfig:l.completion,hotkeysProvider:new mi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),Ve=ae(()=>{if(Ft(i,"Editor view is not initialized"),L){let de=mr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);D.push(de.extension),o=de.code}let G=new J({state:Dr.fromJSON(i,{doc:o,extensions:D},{history:km})});L||Dt(G,{language:xr(G.state).type}),s(G),N.clearSerializedEditorState({cellId:n})}),[Ge,M]=(0,T.useState)(i!==null);(0,T.useEffect)(()=>{if(u.current!==null){M(!0);return}if(i!==null){Ve(),M(!0);return}return An.request(n,()=>{u.current===null&&(ue(),M(!0))}),()=>An.cancel(n)},[n,u,Ve,ue,i]),(0,T.useEffect)(()=>{u.current!==null&&Be()},[Be,D,u]),(0,T.useEffect)(()=>{let G=u.current;return()=>{G==null||G.destroy()}},[u]);let[oe,H]=Yf({rootMargin:"300px 0px",threshold:0});(0,T.useEffect)(()=>{Ge||(H!=null&&H.isIntersecting?An.prioritize(n):An.deprioritize(n))},[Ge,H==null?void 0:H.isIntersecting,n]);let gt=wd(n,u),Cn="";return le&&m&&f?Cn="h-0 overflow-hidden":m&&(Cn="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,g.jsx)(rd,{cellId:n,aiCompletionCell:j,currentCode:(($a=u.current)==null?void 0:$a.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:ae(()=>{var G;A(null),(G=u.current)==null||G.focus()}),onChange:ae(G=>{var de;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:G}})}),acceptChange:ae(G=>{var de,Q;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:G}}),(Q=u.current)==null||Q.focus(),A(null)}),runCell:ee,outputArea:x,children:(0,g.jsxs)("div",{className:"relative w-full",ref:oe,...gt,children:[Ge?(0,g.jsx)(Ga,{className:Cn,editorView:u.current,ref:d,hidden:m,showHiddenCode:h}):(0,g.jsx)(Id,{code:o,className:Cn}),!m&&v&&(0,g.jsx)("div",{className:"absolute top-1 right-5",children:(0,g.jsx)(Wr,{code:o,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:ce})})]})})},Ga=T.forwardRef((e,t)=>{let n=(0,Ra.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,T.useRef)(null),c,l;n[0]===o?(c=n[1],l=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},l=[o,s],n[0]=o,n[1]=c,n[2]=l),(0,T.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=nt("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==a||n[6]!==i?(d=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=d):d=n[7];let m;n[8]===t?m=n[9]:(m=h=>{t?Rn(t,s)(h):Rn(s)(h)},n[8]=t,n[9]=m);let f;return n[10]!==u||n[11]!==d||n[12]!==m?(f=(0,g.jsx)("div",{className:u,onDoubleClick:d,ref:m,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=m,n[13]=f):f=n[13],f});Ga.displayName="CellCodeMirrorEditor";function Td(e){let t=n=>{let r=(0,Ra.c)(5),o=ie(bt),[a,i]=In(ut);if(Ff(o.state)||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let l;return r[1]===i?l=r[2]:(l=(0,g.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,g.jsxs)(Kf,{milliseconds:1e3,fallback:null,children:[c,(0,g.jsx)(lt,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=l),l}let s;return r[3]===n?s=r[4]:(s=(0,g.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}es=Ar()?Td((0,T.memo)(Ba)):(0,T.memo)(Ba)});export{Vr as _,_p as __tla,Vt as a,Mn as b,Rn as c,Bn as d,$r as f,we as g,zi as h,Ki as i,Yi as l,Xi as m,Wr as n,qr as o,ut as p,Qi as r,Zi as s,es as t,$t as u,Gn as v,ts as y};
27
+ ${Q}`:Q;xn&&ef(xn,qa),N.updateCellCode({cellId:Nr,code:qa,formattingChange:!1})},splitCell:se,toggleHideCode:U,aiCellCompletion:()=>{if(!I)return!1;let Q=!1;return A(ge=>(ge==null?void 0:ge.cellId)===n?(Q=!0,null):{cellId:n}),Q}},completionConfig:l.completion,acceptCompletionOnEnter:be,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:e,hotkeys:new mi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:C??((de=l.ai)==null?void 0:de.inline_tooltip)??!1,tooltipParentSelector:_});return G.push(Xe.define(Q=>(b(Q.state.field(Tn).type),{update(ge){b(ge.state.field(Tn).type)}})),J.updateListener.of(Q=>{Q.selectionSet&&Q.state.selection.ranges.some(ge=>ge.from!==ge.to)&&h({focus:!1})}),J.domEventHandlers({focus:()=>{h({focus:!1})}})),G},[n,be,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(Va=l.ai)==null?void 0:Va.inline_tooltip,C,_,I,e,t,N,se,U,re,ee,A,ce,S,b,h,B]),L=Ar(),ue=ae(()=>{if(L){let de=mr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);P.push(de.extension),o=de.code}let G=new J({state:Pr.create({doc:o,extensions:P})});s(G),L||Pt(G,{language:xr(G.state).type})}),Be=ae(()=>{if(Ft(u.current!==null,"Editor view is not initialized"),L){let G=mr(n,de=>{N.updateCellCode({cellId:n,code:de,formattingChange:!0})});P.push(G.extension)}u.current.dispatch({effects:[pe.reconfigure.of([P]),gf(u.current,{completionConfig:l.completion,hotkeysProvider:new mi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),Ve=ae(()=>{if(Ft(i,"Editor view is not initialized"),L){let de=mr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);P.push(de.extension),o=de.code}let G=new J({state:Pr.fromJSON(i,{doc:o,extensions:P},{history:bm})});L||Pt(G,{language:xr(G.state).type}),s(G),N.clearSerializedEditorState({cellId:n})}),[Ge,M]=(0,T.useState)(i!==null);(0,T.useEffect)(()=>{if(u.current!==null){M(!0);return}if(i!==null){Ve(),M(!0);return}return An.request(n,()=>{u.current===null&&(ue(),M(!0))}),()=>An.cancel(n)},[n,u,Ve,ue,i]),(0,T.useEffect)(()=>{u.current!==null&&Be()},[Be,P,u]),(0,T.useEffect)(()=>{let G=u.current;return()=>{G==null||G.destroy()}},[u]);let[oe,H]=Yf({rootMargin:"300px 0px",threshold:0});(0,T.useEffect)(()=>{Ge||(H!=null&&H.isIntersecting?An.prioritize(n):An.deprioritize(n))},[Ge,H==null?void 0:H.isIntersecting,n]);let gt=wd(n,u),Cn="";return le&&m&&f?Cn="h-0 overflow-hidden":m&&(Cn="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,g.jsx)(rd,{cellId:n,aiCompletionCell:D,currentCode:(($a=u.current)==null?void 0:$a.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:ae(()=>{var G;A(null),(G=u.current)==null||G.focus()}),onChange:ae(G=>{var de;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:G}})}),acceptChange:ae(G=>{var de,Q;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:G}}),(Q=u.current)==null||Q.focus(),A(null)}),runCell:ee,outputArea:x,children:(0,g.jsxs)("div",{className:"relative w-full",ref:oe,...gt,children:[Ge?(0,g.jsx)(Ga,{className:Cn,editorView:u.current,ref:d,hidden:m,showHiddenCode:h}):(0,g.jsx)(Id,{code:o,className:Cn}),!m&&v&&(0,g.jsx)("div",{className:"absolute top-1 right-5",children:(0,g.jsx)(Wr,{code:o,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:ce})})]})})},Ga=T.forwardRef((e,t)=>{let n=(0,Ra.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,T.useRef)(null),c,l;n[0]===o?(c=n[1],l=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},l=[o,s],n[0]=o,n[1]=c,n[2]=l),(0,T.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=nt("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==a||n[6]!==i?(d=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=d):d=n[7];let m;n[8]===t?m=n[9]:(m=h=>{t?Rn(t,s)(h):Rn(s)(h)},n[8]=t,n[9]=m);let f;return n[10]!==u||n[11]!==d||n[12]!==m?(f=(0,g.jsx)("div",{className:u,onDoubleClick:d,ref:m,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=m,n[13]=f):f=n[13],f});Ga.displayName="CellCodeMirrorEditor";function Td(e){let t=n=>{let r=(0,Ra.c)(5),o=ie(bt),[a,i]=In(ut);if(Ff(o.state)||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let l;return r[1]===i?l=r[2]:(l=(0,g.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,g.jsxs)(Kf,{milliseconds:1e3,fallback:null,children:[c,(0,g.jsx)(lt,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=l),l}let s;return r[3]===n?s=r[4]:(s=(0,g.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}es=Ar()?Td((0,T.memo)(Ba)):(0,T.memo)(Ba)});export{Vr as _,_p as __tla,Vt as a,Mn as b,Rn as c,Bn as d,$r as f,we as g,zi as h,Ki as i,Yi as l,Xi as m,Wr as n,qr as o,ut as p,Qi as r,Zi as s,es as t,$t as u,Gn as v,ts as y};