@marimo-team/frontend 0.24.1-dev17 → 0.24.1-dev18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{cell-editor-B1XuGiJU.js → cell-editor-DZg8uKWr.js} +14 -14
- package/dist/assets/{command-palette-BmVRprpP.js → command-palette-fK5U3VCd.js} +1 -1
- package/dist/assets/{edit-page-COptmWLK.js → edit-page-DUnHDaYA.js} +4 -4
- package/dist/assets/{index-CvqoLM43.js → index-Dqr3-dR1.js} +2 -2
- package/dist/assets/{layout-CsRkTidf.js → layout-YbL5eg7A.js} +2 -2
- package/dist/assets/{panels-DnBAh8y9.js → panels-Bhzy-m2X.js} +1 -1
- package/dist/assets/{reveal-component-DgFIj2TQ.js → reveal-component-CnIgubBp.js} +1 -1
- package/dist/assets/{run-page-CCZKEWid.js → run-page-Du8ylzny.js} +1 -1
- package/dist/assets/{scratchpad-panel-DXuBKn4N.js → scratchpad-panel-BEn7TrAb.js} +1 -1
- package/dist/assets/{skeleton-DapNw_f4.js → skeleton-CL2xKYhl.js} +1 -1
- package/dist/assets/{useNotebookActions-Dd3eLoIZ.js → useNotebookActions-CblNR75b.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/core/codemirror/code-lens/__tests__/popover.test.ts +13 -0
- package/src/core/codemirror/code-lens/popover.tsx +11 -5
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Cei5H7n0.js","./loro_wasm_bg-DIEeF9jI.js","./chunk-C4rtOYze.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var
|
|
3
|
-
`).length-1}},Ds=class{constructor(t){g(this,"cache",new Map);g(this,"timeout");this.timeout=t}get(t){let e=this.cache.get(t);return e?Date.now()-e.timestamp>this.timeout?(this.cache.delete(t),null):e.result:null}set(t,e){this.cache.set(t,{result:e,timestamp:Date.now()})}},Ms=(t,e)=>ze.fromClass(class{constructor(){g(this,"abortController",null);g(this,"cache");this.cache=new Ds(e.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=e.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,a=r.toString(),o=this.cache.get(a);if(o){n.view.dispatch({effects:Qt.of({text:o,doc:r})});return}try{let d=await t(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=e.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(a,d),n.view.dispatch({effects:Qt.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()}}),Fs=ze.fromClass(class{constructor(){g(this,"decorations");this.decorations=V.none}update(t){var n;let e=(n=t.state.field(Xt))==null?void 0:n.suggestion;if(!e){this.decorations=V.none;return}this.decorations=js(t.view,e)}},{decorations:t=>t.decorations});function Rs(t,e,n,r){return{...t.changeByRange(a=>{if(a===t.selection.main)return{changes:{from:n,to:r,insert:e},range:St.cursor(n+e.length)};let o=r-n;return!a.empty||o&&t.sliceDoc(a.from-o,a.from)!==t.sliceDoc(n,r)?{range:a}:{changes:{from:a.from-o,to:a.from,insert:e},range:St.cursor(a.from-o+e.length)}}),userEvent:"input.complete"}}var Bs=t=>{var r,a,o;let e=(r=t.state.field(Xt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(tr);return t.dispatch({...Rs(t.state,e,t.state.selection.main.head,t.state.selection.main.head)}),(o=(a=n.events)==null?void 0:a.onSuggestionAccepted)==null||o.call(a,t,e),!0},wa=t=>{var r,a,o;let e=(r=t.state.field(Xt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(tr);return t.dispatch({effects:Qt.of({text:null,doc:t.state.doc})}),(o=(a=n.events)==null?void 0:a.onSuggestionRejected)==null||o.call(a,t,e),!0},Gs=He.of([{key:"Tab",run:Bs},{key:"Escape",run:wa}]),tr=Vt.define({combine:t=>t.at(-1)});function va(t){let{delay:e=500,includeKeymap:n=!0}=t,r=Us(t.fetchFn,e);return[Xt,tr.of(t),Ms(r,t),Fs,n?Gs:[]]}const Js=R.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 Vs(t){var s,c;let e=t.state.facet(It),n={...H,...e.keymaps},r=t.state.facet(Zt),a=pe("div","cm-ai-tooltip").appendChild(pe("div","cm-ai-tooltip-button")),o=a.appendChild(document.createElement("span"));o.textContent=`${r.label} `;let i=o.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=er(n.showInput),(s=a.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=a.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),ga(t)}),a}const Zt=Vt.define({combine(t){return Wn(t,{render:Vs,hideOnBlur:!1,label:"Edit with AI"})}}),$s=ze.fromClass((ui=class{constructor(t){g(this,"view");g(this,"suppress");g(this,"dom");g(this,"mousedown",()=>{this.suppress=!0});g(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});g(this,"scroll",()=>{this.display(this.view)});g(this,"windowScroll",()=>{this.display(this.view)});yi(this,On,t=>{var n;let e=t.state.selection.ranges.find(r=>!r.empty);if(e&&!this.suppress){let r=t.coordsAtPos(e.from),a=t.coordsAtPos(e.to);if(!r||!a)return;let o=t.dom.getBoundingClientRect(),i=(n=t.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=o.top&&v.top<=o.bottom&&v.left>=o.left&&v.left<=o.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(a),u=c(r)||c(a);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(),p=s(r)?r:a,f=o.right-d.width,m=Math.min(p.left,f),y=p.top-d.height,b=i?i.y:-1/0;y<b&&(y=a.bottom),this.dom.style.left=`${m}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=t;let e=t.state.facet(Zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),t.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=e.render(t);t.dom.appendChild(n),this.dom=n}update(t){this.display(t.view)}docViewUpdate(t){this.display(t)}display(t){if(t.state.field(it).show){this.dom.style.display="none";return}if(t.state.facet(Zt).hideOnBlur&&!t.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}t.requestMeasure({read:gi(this,On)})}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()}},On=new WeakMap,ui));var Ws=R.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 qs(){return[$s,Ws]}var Hs=class extends $t{constructor(e){super();g(this,"oldCode");this.oldCode=e}toDOM(e){let n=pe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=pe("div","cm-old-code cm-line");r.textContent=this.oldCode;let a=pe("div","cm-floating-buttons"),o=e.state.facet(It),i={...H,...o.keymaps},s=pe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${er(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ya(e)});let c=pe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${er(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ba(e)}),a.append(s,c),n.append(r,a),n}updateDOM(e,n){return!0}},zs=class extends $t{constructor(e){super();g(this,"complete");g(this,"abortController",null);g(this,"dom",null);g(this,"input",null);g(this,"loadingContainer",null);g(this,"helpInfo",null);g(this,"inputContainer",null);g(this,"form",null);g(this,"view",null);g(this,"onKeyDown",async e=>{e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key==="Escape"&&this.onCancel()});g(this,"onCancel",()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),ht.of(!1)]}),e.focus())});g(this,"handleSubmit",async e=>{var m;let n=this.view;if(!n)return;let r=n.state.facet(It);e==null||e.stopPropagation();let a=n.state.field(it),{input:o}=this;if(!o)return;let i=o.value.trim();if(!a.show||!i)return;let s=n.state.doc.line(a.lineFrom),c=n.state.doc.line(a.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),p=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:ht.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:p,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(it).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),Kt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),ht.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(m=r.onError)==null||m.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let n=e.state.field(pa),r=e.state.field(ha),a=pe("div","cm-ai-input-container");this.inputContainer=a,this.dom=a;let o=pe("form","cm-ai-input-form");this.form=o,o.setAttribute("role","search"),o.setAttribute("aria-label","AI editing instructions"),o.addEventListener("submit",b=>b.preventDefault());let i=pe("input","cm-ai-input");this.input=i,o.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=pe("div","cm-ai-loading-container");this.loadingContainer=s;let c=pe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=pe("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=pe("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 p=pe("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),e.dispatch({effects:Lt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?p:d)}let m="";function y(){e.dispatch({effects:At.of(i.value)});let b=i.value.trim();b!==m&&(m=b,f(b))}return a}toggleLoading(e){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo))}updateDOM(e,n){return this.dom=e,this.input=e.querySelector(".cm-ai-input"),!0}cleanup(){var e,n,r;(e=this.abortController)==null||e.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 Ys(t){if(!t.prompt)throw Error("prompt function is required");let e={...H,...t.keymaps};return[It.of(t),it,pa,Ot,ha,qs(),Js,He.of([{key:e.showInput,run:ga}]),mt.highest([He.of([{key:e.acceptEdit,run:ya},{key:e.rejectEdit,run:ba}])]),Ks,Xs,Qs,Zs]}const Ks=R.updateListener.of(t=>{let e=t.state.field(it);if(!e.show||!t.docChanged)return;let{lineFrom:n,lineTo:r}=e,a=!1;t.changes.iterChanges((o,i,s,c)=>{let l=t.state.doc.lineAt(o).number;if(l<n){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;n+=u,r+=u,a=!0}else if(l<=r){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;r+=u,a=!0}}),a&&t.view.dispatch({effects:[ot.of({show:!0,lineFrom:n,lineTo:r})]})}),Xs=R.decorations.of(t=>{let e=t.state.field(Ot);return e?V.set([V.mark({class:"cm-new-code-line"}).range(e.from,e.to)]):V.none}),Qs=R.decorations.compute([it],t=>{let e=t.field(it),n=t.facet(It),r=[];if(e.show){let a=e.lineFrom,o=e.lineTo;for(let i=a;i<=o;i++){let s=t.doc.line(i).from;r.push(V.line({class:"cm-ai-selection"}).range(s)),i===a&&r.push(V.widget({widget:new zs(n.prompt),side:-1}).range(s))}}return V.set(r)}),Zs=We.define({create(t){return V.none},update(t,e){let n=e.state.field(Ot);return n?V.set([V.widget({widget:new Hs(n.oldCode),block:!0}).range(n.from)]):V.none},provide:t=>R.decorations.from(t)});var el=ve(),N=bi(Mf(),1),nr=()=>({entries:new Map}),{valueAtom:xa,useActions:Ea}=ra(nr,{submit:(t,e)=>{let{cellIds:n,deleteCell:r,deleteManyCells:a,store:o}=e,i=o.get(rt),s=o.get(Fn),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 p=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(S=>!c.has(S));b&&v&&f.set(y.name,y.usedBy)}let m;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(m=p.runElapsedTimeMs),f.size===0&&m===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:m,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}):a({cellIds:[...l.values()].map(d=>d.cellId)}),nr()):{...t,entries:l}},clear:()=>nr()});Yn=function(){let t=Fr(),{submit:e,clear:n}=Ea(),{entries:r}=q(xa),a=ns(),o=aa();return(0,N.useMemo)(()=>({submit:i=>{e({cellIds:i,deleteCell:a,deleteManyCells:o,store:t})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[t,e,n,r,a,o])},Ls=function(t){let e=(0,el.c)(16),n=q(xa),r=Ea(),a=aa(),o;e[0]!==t||e[1]!==n.entries?(o=n.entries.get(t),e[0]=t,e[1]=n.entries,e[2]=o):o=e[2];let i=o;if(!i){let u;return e[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},e[3]=u):u=e[3],u}if(n.entries.size!==1){let u;return e[4]===i?u=e[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},e[4]=i,e[5]=u),u}let s;e[6]!==r||e[7]!==a||e[8]!==n.entries?(s=()=>{a({cellIds:[...n.entries.values()].map(tl)}),r.clear()},e[6]=r,e[7]=a,e[8]=n.entries,e[9]=s):s=e[9];let c;e[10]===r?c=e[11]:(c=()=>r.clear(),e[10]=r,e[11]=c);let l;return e[12]!==i||e[13]!==s||e[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},e[12]=i,e[13]=s,e[14]=c,e[15]=l):l=e[15],l};function tl(t){return t.cellId}var Sa=["python","sql","markdown"];function rr(t,e={}){var l;let{streaming:n=!1}=e,r=((l=t.match(/^\s*/))==null?void 0:l[0])??"",a=t.slice(r.length),o=null,i=!1;for(let u of Sa)if(a.startsWith(`\`\`\`${u}`)){i=!0,o=a.slice(3+u.length),o.startsWith(`
|
|
2
|
+
var jf=Object.defineProperty;var hi=te=>{throw TypeError(te)};var Pf=(te,H,be)=>H in te?jf(te,H,{enumerable:!0,configurable:!0,writable:!0,value:be}):te[H]=be;var g=(te,H,be)=>Pf(te,typeof H!="symbol"?H+"":H,be),Df=(te,H,be)=>H.has(te)||hi("Cannot "+be);var gi=(te,H,be)=>(Df(te,H,"read from private field"),be?be.call(te):H.get(te)),yi=(te,H,be)=>H.has(te)?hi("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(te):H.set(te,be);import{o as bi}from"./chunk-C4rtOYze.js";import{c as Mf,d as wi,f as Fr,i as J,l as jn,n as se,p as ut,s as Pn,u as q}from"./useEvent-GCVIknuR.js";import{t as Ff}from"./react-C60yClUi.js";import{$n as vi,$t as Rf,An as xi,B as Ei,Bi as Bf,Dn as Gf,E as Dn,F as Jf,H as Vf,Ht as $f,K as Si,Li as Wf,Ln as Rr,Mi as qf,Mn as Hf,Ni as zf,Nn as Q,Nt as Yf,On as Kf,Pn as Xf,Pt as ki,Ri as Ci,Rn as Br,Rr as Qf,St as Bt,Ti as Gr,Tn as Zf,Tt as em,U as Ti,V as Mn,W as Ni,Wt as Jr,Xn as tm,Xt as Ii,Yn as Fn,Yr as Vr,Yt as $r,Zn as nm,Zt as Ai,_n as Rn,_r as Li,_t as rm,bt as am,ct as Oi,dr as om,ea as _i,ei as Wr,en as im,fa as Bn,fn as sm,gi as lm,gr as cm,gt as um,hi as dm,hr as Ui,ht as fm,i as ji,ir as mm,jn as pm,kn as hm,l as Pi,lt as Gn,m as xt,ma as qr,mr as nt,nn as gm,nr as ym,or as bm,pr as Hr,ra as wm,rn as vm,rr as xm,sr as Em,tn as Sm,tr as Di,u as Mi,ut as km,vr as Cm,vt as zr,wi as Tm,xa as Nm,xn as Im,xt as Am,y as rt,yt as dt,__tla as Lm}from"./cells-BvgwUKB9.js";import{t as Om}from"./react-dom-Ba2zmJWD.js";import{L as Fi,N as _m,P as Yr,S as Um,T as Ri,k as jm,w as Pm,z as Dm}from"./zod-BIDX-mZr.js";import{t as ve}from"./compiler-runtime-DnimoHo0.js";import{t as Mm}from"./debounce-DhnxH9Rh.js";import{E as Fm,T as Rm,b as Bm,g as Gm,h as Jm,m as Vm,t as $m}from"./ai-model-dropdown-DWDm50eM.js";import{_ as Wm,c as Bi,g as $e,m as Kr,t as qm}from"./useEventListener-DpNnLPuE.js";import{t as Gt}from"./invariant-BUdrueMv.js";import{E as Xr,_ as Gi,c as Hm,g as Ji,l as Vi,v as $i}from"./utils-C8Yt16Y7.js";import{E as zm,N as Ym,O as Km,S as Wi,T as Jt,m as Xm,o as Qm,r as qi,v as Et}from"./config-DFK5eCC3.js";import{n as Zm,t as ep}from"./switch-ulnbZFaI.js";import{c as tp,n as np,r as rp}from"./readonly-python-code-BCOkadQf.js";import{t as ap}from"./ErrorBoundary-B392qglD.js";import{t as at}from"./cn-DCUzRj2J.js";import{t as op}from"./jsx-runtime-3wZU7vFS.js";import{l as ip,r as sp,t as lp}from"./popover-B96fOqfH.js";import{Q as cp,Z as up,__tla as dp}from"./JsonOutput-C5g_bqiZ.js";import{t as Qr}from"./label-BOFHwHn7.js";import{n as fp}from"./download-B8NwKEtr.js";import{t as Jn}from"./tooltip-C9LWGQ7Y.js";import{r as Zr,t as ft}from"./button-W__YVea9.js";import{At as mp,Bt as Vn,Ct as pp,Dt as hp,E as gp,Et as Hi,Ft as yp,Gt as Vt,H as $n,Ht as bp,I as wp,P as vp,Pt as xp,Qt as We,Rt as ea,St as Ep,Tt as He,Ut as St,V as Sp,Wt as ta,Yt as kp,Zt as ce,_ as Cp,at as V,dt as $t,en as Wt,gt as Tp,ht as Np,lt as Ip,m as Ap,ot as Lp,qt as mt,rn as Wn,st as R,ut as ze,w as Op,xt as _p}from"./dist-CeF1Em5L.js";import{C as Up,E as jp,I as Pp,O as Dp,S as Mp,a as Fp,c as Rp,n as na,r as Bp,w as Gp}from"./dist-DanVWUek.js";import{o as zi}from"./arrays-UzzAzxsG.js";import{n as Jp}from"./once-DNBWPkeJ.js";import{t as ra}from"./createReducer-C1MhlItJ.js";import{a as Vp,c as $p,f as qn,h as Wp,i as qp,l as qt,n as Yi,o as Hp,t as zp}from"./dist-Di6rD-vJ.js";import{r as Ki}from"./strings-DmKKoXrM.js";import{r as Hn,t as Xi}from"./requests-B9zEd_sW.js";import{t as Yp}from"./createLucideIcon-B8oVfJNp.js";import{r as Qi,t as Kp,__tla as Xp}from"./layout-YbL5eg7A.js";import{t as Qp}from"./x-4y-nyVDU.js";import{t as Zp}from"./circle-check-CfLEHvyJ.js";import{A as eh,E as th,F as nh,H as rh,L as ah,U as oh,i as Zi,j as es,l as ih,n as sh,o as ts,p as lh,s as ch,z as uh}from"./add-cell-with-ai-C5JH9LS2.js";import{t as dh}from"./database-zap-n8PGHE18.js";import{r as fh,t as mh}from"./file-icons-D39zbjsS.js";import{t as ph}from"./components-CozWCL5N.js";import{n as hh}from"./spinner-Cj3eM5bt.js";import{n as aa,t as ns}from"./useDeleteCell-Ctnxl8AT.js";import{t as rs}from"./save-DeHQ9WTn.js";import{Y as gh,Z as as}from"./input-BN98e517.js";import{t as yh}from"./sparkles-DwqcWrJl.js";import{t as bh}from"./badge-D28DMr4y.js";import{t as wh}from"./preload-helper-BPPi7vOr.js";import{a as vh}from"./dist-Bm9PT5P9.js";import{t as kt}from"./use-toast-DjpWVza6.js";import{n as Ze}from"./paths-D5zczhUD.js";import{t as xh}from"./session-D-SddyN0.js";import{r as Eh}from"./useTheme-CwCyrmDf.js";import{n as os}from"./copy-HCSOwOwk.js";import{k as Sh}from"./usePress-Bl6X9B5M.js";import{t as kh}from"./context-BJMN4ll3.js";import{a as Ch}from"./useRunCells-DjQN3XYP.js";import{c as is,i as ss,n as ls,r as Th}from"./dialog-WU4x2UpK.js";import{t as cs}from"./useHotkey-cR1R36p-.js";import{i as zn}from"./numbers-DtSpUdpO.js";import{n as us}from"./ImperativeModal-Dxj31V4A.js";import{a as Nh}from"./errors-D93OkQw8.js";import{t as K}from"./extends-BiFDv3jB.js";import{t as Ht}from"./objectWithoutPropertiesLoose-DfWeGRFv.js";import{t as Ih}from"./kbd-PEowR7op.js";import{a as oa}from"./useInstallPackage-D58nBaNf.js";import{a as Ah,n as ds}from"./state-m2zUPztG.js";import{a as Lh,o as Oh}from"./cell-link-WDIIwzUn.js";import{r as fs}from"./html-to-image-DKEUbBwc.js";import{a as _h}from"./focus-BArgHYf8.js";import{n as Uh}from"./useAsyncData-BcvSvTUt.js";import{a as jh,o as ms,r as Ph,s as ps,t as Dh}from"./command-D5LtSvbN.js";import{a as hs}from"./renderShortcut-C6HKXhBl.js";import{n as Mh,t as Fh}from"./icons-BwSNDWAP.js";import{n as Ct}from"./esm-RBKN8Dn2.js";import{t as gs}from"./dist-yM9CbJ9j.js";import{t as Rh}from"./requests-CWbKU3x_.js";import{n as Bh}from"./formatting-CjSzbmdF.js";import{t as Gh}from"./useSplitCell-BG8Zd4lw.js";import{t as ia}from"./state-BFx9-sFK.js";import{n as Jh,r as Vh,t as ys}from"./panel-accordion-state-DaMmC7UV.js";import{co as $h,do as sa,fo as Wh,ft as qh,go as Tt,ho as bs,lo as la,mo as ws,oo as Hh,po as zh,so as vs,uo as xs,__tla as Yh}from"./loro_wasm_bg-DIEeF9jI.js";import{t as Kh}from"./ws-CNqquaud.js";import{t as Es}from"./Inputs-DrAa-p6i.js";import{r as Xh,t as Qh}from"./skeleton-CL2xKYhl.js";let ca,zt,Yn,Kn,Xn,ua,xe,Ss,ks,Cs,Ts,da,fa,pt,Ns,Is,As,Yt,Qn,Ls,Zh=Promise.all([(()=>{try{return Lm}catch{}})(),(()=>{try{return dp}catch{}})(),(()=>{try{return Xp}catch{}})(),(()=>{try{return Yh}catch{}})()]).then(async()=>{var On,ui,Se,ke,Ce,Te,Ne,Ie,Ae,Le,Oe,_e,Ue,je,Pe,De,Me,Fe,Re,Be,Ge;var te=Yp("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 H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var be=300;const It=Vt.define({combine:t=>Wn(t,{onError:console.error,inputDebounceTime:be,keymaps:H},{onError:(e,n)=>e&&n,inputDebounceTime:(e,n)=>e&&n,keymaps:(e,n)=>e&&n})}),ot=ce.define(),it=We.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(t,e){for(let n of e.effects)if(n.is(ot))return n.value;return t}}),At=ce.define(),Lt=ce.define(),pa=We.define({create(){return{shouldFocus:!1,inputValue:""}},update(t,e){let n=t;for(let r of e.effects)r.is(At)&&(n={...n,inputValue:r.value}),r.is(Lt)&&(n={...n,shouldFocus:r.value});return n}}),Kt=ce.define(),Ot=We.define({create(){return null},update(t,e){for(let n of e.effects)if(n.is(Kt))return n.value;return t}}),ht=ce.define(),ha=We.define({create(){return!1},update(t,e){for(let n of e.effects)if(n.is(ht))return n.value;return t}});var Os=1;const ga=t=>{let{state:e}=t,n=e.selection.main;if(n.empty)return!1;let r=e.doc,a=r.lineAt(n.from),o=r.lineAt(n.to);if(e.sliceDoc(a.from,o.to).trim().length<Os)return!1;let i=Math.max(1,Math.min(a.number,r.lines)),s=Math.max(1,Math.min(o.number,r.lines));return t.dispatch({effects:[ot.of({show:!0,lineFrom:i,lineTo:s}),Lt.of(!0),At.of("")],selection:St.cursor(a.from)}),!0},ya=t=>t.state.field(Ot)?(t.dispatch({effects:[Kt.of(null),ot.of({show:!1,lineFrom:0,lineTo:0}),Lt.of(!1),At.of(""),ht.of(!1)]}),!0):!1,ba=t=>{let e=t.state.field(Ot);return e?(t.dispatch({changes:{from:e.from,to:e.to,insert:e.oldCode},effects:[Kt.of(null),ot.of({show:!1,lineFrom:0,lineTo:0}),Lt.of(!1),At.of(""),ht.of(!1)]}),!0):!1};var Zn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function _s(){return navigator.platform.startsWith("Mac")?Zn.mac:navigator.platform.startsWith("Win")?Zn.windows:Zn.default}function er(t){return t.replace("Mod",_s()).replace("-"," ").toUpperCase()}function pe(t,e){let n=document.createElement(t);return n.className=e,n}function Us(t,e,n=void 0){let r=()=>{};return(...a)=>(r(),new Promise((o,i)=>{let s=setTimeout(()=>o(t(...a)),e);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var Xt=We.define({create(){return{suggestion:null}},update(t,e){let n=e.effects.find(r=>r.is(Qt));return!e.docChanged&&!n&&!e.selection?t:n&&e.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Qt=ce.define();function js(t,e){let n=t.state.selection.main.head,r=[],a=V.widget({widget:new Ps(e),side:1});return r.push(a.range(n)),V.set(r)}var Ps=class extends $t{constructor(e){super();g(this,"suggestion");this.suggestion=e}toDOM(){let e=document.createElement("span");return e.style.opacity="0.4",e.className="cm-inline-suggestion",e.textContent=this.suggestion,e.setAttribute("role","suggestion"),e.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
|
|
3
|
+
`).length-1}},Ds=class{constructor(t){g(this,"cache",new Map);g(this,"timeout");this.timeout=t}get(t){let e=this.cache.get(t);return e?Date.now()-e.timestamp>this.timeout?(this.cache.delete(t),null):e.result:null}set(t,e){this.cache.set(t,{result:e,timestamp:Date.now()})}},Ms=(t,e)=>ze.fromClass(class{constructor(){g(this,"abortController",null);g(this,"cache");this.cache=new Ds(e.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=e.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,a=r.toString(),o=this.cache.get(a);if(o){n.view.dispatch({effects:Qt.of({text:o,doc:r})});return}try{let d=await t(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=e.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(a,d),n.view.dispatch({effects:Qt.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()}}),Fs=ze.fromClass(class{constructor(){g(this,"decorations");this.decorations=V.none}update(t){var n;let e=(n=t.state.field(Xt))==null?void 0:n.suggestion;if(!e){this.decorations=V.none;return}this.decorations=js(t.view,e)}},{decorations:t=>t.decorations});function Rs(t,e,n,r){return{...t.changeByRange(a=>{if(a===t.selection.main)return{changes:{from:n,to:r,insert:e},range:St.cursor(n+e.length)};let o=r-n;return!a.empty||o&&t.sliceDoc(a.from-o,a.from)!==t.sliceDoc(n,r)?{range:a}:{changes:{from:a.from-o,to:a.from,insert:e},range:St.cursor(a.from-o+e.length)}}),userEvent:"input.complete"}}var Bs=t=>{var r,a,o;let e=(r=t.state.field(Xt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(tr);return t.dispatch({...Rs(t.state,e,t.state.selection.main.head,t.state.selection.main.head)}),(o=(a=n.events)==null?void 0:a.onSuggestionAccepted)==null||o.call(a,t,e),!0},wa=t=>{var r,a,o;let e=(r=t.state.field(Xt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(tr);return t.dispatch({effects:Qt.of({text:null,doc:t.state.doc})}),(o=(a=n.events)==null?void 0:a.onSuggestionRejected)==null||o.call(a,t,e),!0},Gs=He.of([{key:"Tab",run:Bs},{key:"Escape",run:wa}]),tr=Vt.define({combine:t=>t.at(-1)});function va(t){let{delay:e=500,includeKeymap:n=!0}=t,r=Us(t.fetchFn,e);return[Xt,tr.of(t),Ms(r,t),Fs,n?Gs:[]]}const Js=R.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 Vs(t){var s,c;let e=t.state.facet(It),n={...H,...e.keymaps},r=t.state.facet(Zt),a=pe("div","cm-ai-tooltip").appendChild(pe("div","cm-ai-tooltip-button")),o=a.appendChild(document.createElement("span"));o.textContent=`${r.label} `;let i=o.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=er(n.showInput),(s=a.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=a.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),ga(t)}),a}const Zt=Vt.define({combine(t){return Wn(t,{render:Vs,hideOnBlur:!1,label:"Edit with AI"})}}),$s=ze.fromClass((ui=class{constructor(t){g(this,"view");g(this,"suppress");g(this,"dom");g(this,"mousedown",()=>{this.suppress=!0});g(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});g(this,"scroll",()=>{this.display(this.view)});g(this,"windowScroll",()=>{this.display(this.view)});yi(this,On,t=>{var n;let e=t.state.selection.ranges.find(r=>!r.empty);if(e&&!this.suppress){let r=t.coordsAtPos(e.from),a=t.coordsAtPos(e.to);if(!r||!a)return;let o=t.dom.getBoundingClientRect(),i=(n=t.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=o.top&&v.top<=o.bottom&&v.left>=o.left&&v.left<=o.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(a),u=c(r)||c(a);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(),p=s(r)?r:a,f=o.right-d.width,m=Math.min(p.left,f),y=p.top-d.height,b=i?i.y:-1/0;y<b&&(y=a.bottom),this.dom.style.left=`${m}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=t;let e=t.state.facet(Zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),t.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=e.render(t);t.dom.appendChild(n),this.dom=n}update(t){this.display(t.view)}docViewUpdate(t){this.display(t)}display(t){if(t.state.field(it).show){this.dom.style.display="none";return}if(t.state.facet(Zt).hideOnBlur&&!t.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}t.requestMeasure({read:gi(this,On)})}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()}},On=new WeakMap,ui));var Ws=R.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 qs(){return[$s,Ws]}var Hs=class extends $t{constructor(e){super();g(this,"oldCode");this.oldCode=e}toDOM(e){let n=pe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=pe("div","cm-old-code cm-line");r.textContent=this.oldCode;let a=pe("div","cm-floating-buttons"),o=e.state.facet(It),i={...H,...o.keymaps},s=pe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${er(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ya(e)});let c=pe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${er(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ba(e)}),a.append(s,c),n.append(r,a),n}updateDOM(e,n){return!0}},zs=class extends $t{constructor(e){super();g(this,"complete");g(this,"abortController",null);g(this,"dom",null);g(this,"input",null);g(this,"loadingContainer",null);g(this,"helpInfo",null);g(this,"inputContainer",null);g(this,"form",null);g(this,"view",null);g(this,"onKeyDown",async e=>{e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key==="Escape"&&this.onCancel()});g(this,"onCancel",()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),ht.of(!1)]}),e.focus())});g(this,"handleSubmit",async e=>{var m;let n=this.view;if(!n)return;let r=n.state.facet(It);e==null||e.stopPropagation();let a=n.state.field(it),{input:o}=this;if(!o)return;let i=o.value.trim();if(!a.show||!i)return;let s=n.state.doc.line(a.lineFrom),c=n.state.doc.line(a.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),p=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:ht.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:p,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(it).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),Kt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),ht.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(m=r.onError)==null||m.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let n=e.state.field(pa),r=e.state.field(ha),a=pe("div","cm-ai-input-container");this.inputContainer=a,this.dom=a;let o=pe("form","cm-ai-input-form");this.form=o,o.setAttribute("role","search"),o.setAttribute("aria-label","AI editing instructions"),o.addEventListener("submit",b=>b.preventDefault());let i=pe("input","cm-ai-input");this.input=i,o.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=pe("div","cm-ai-loading-container");this.loadingContainer=s;let c=pe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=pe("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=pe("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 p=pe("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),e.dispatch({effects:Lt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?p:d)}let m="";function y(){e.dispatch({effects:At.of(i.value)});let b=i.value.trim();b!==m&&(m=b,f(b))}return a}toggleLoading(e){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo))}updateDOM(e,n){return this.dom=e,this.input=e.querySelector(".cm-ai-input"),!0}cleanup(){var e,n,r;(e=this.abortController)==null||e.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 Ys(t){if(!t.prompt)throw Error("prompt function is required");let e={...H,...t.keymaps};return[It.of(t),it,pa,Ot,ha,qs(),Js,He.of([{key:e.showInput,run:ga}]),mt.highest([He.of([{key:e.acceptEdit,run:ya},{key:e.rejectEdit,run:ba}])]),Ks,Xs,Qs,Zs]}const Ks=R.updateListener.of(t=>{let e=t.state.field(it);if(!e.show||!t.docChanged)return;let{lineFrom:n,lineTo:r}=e,a=!1;t.changes.iterChanges((o,i,s,c)=>{let l=t.state.doc.lineAt(o).number;if(l<n){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;n+=u,r+=u,a=!0}else if(l<=r){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;r+=u,a=!0}}),a&&t.view.dispatch({effects:[ot.of({show:!0,lineFrom:n,lineTo:r})]})}),Xs=R.decorations.of(t=>{let e=t.state.field(Ot);return e?V.set([V.mark({class:"cm-new-code-line"}).range(e.from,e.to)]):V.none}),Qs=R.decorations.compute([it],t=>{let e=t.field(it),n=t.facet(It),r=[];if(e.show){let a=e.lineFrom,o=e.lineTo;for(let i=a;i<=o;i++){let s=t.doc.line(i).from;r.push(V.line({class:"cm-ai-selection"}).range(s)),i===a&&r.push(V.widget({widget:new zs(n.prompt),side:-1}).range(s))}}return V.set(r)}),Zs=We.define({create(t){return V.none},update(t,e){let n=e.state.field(Ot);return n?V.set([V.widget({widget:new Hs(n.oldCode),block:!0}).range(n.from)]):V.none},provide:t=>R.decorations.from(t)});var el=ve(),N=bi(Ff(),1),nr=()=>({entries:new Map}),{valueAtom:xa,useActions:Ea}=ra(nr,{submit:(t,e)=>{let{cellIds:n,deleteCell:r,deleteManyCells:a,store:o}=e,i=o.get(rt),s=o.get(Fn),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 p=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(S=>!c.has(S));b&&v&&f.set(y.name,y.usedBy)}let m;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(m=p.runElapsedTimeMs),f.size===0&&m===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:m,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}):a({cellIds:[...l.values()].map(d=>d.cellId)}),nr()):{...t,entries:l}},clear:()=>nr()});Yn=function(){let t=Fr(),{submit:e,clear:n}=Ea(),{entries:r}=q(xa),a=ns(),o=aa();return(0,N.useMemo)(()=>({submit:i=>{e({cellIds:i,deleteCell:a,deleteManyCells:o,store:t})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[t,e,n,r,a,o])},Ls=function(t){let e=(0,el.c)(16),n=q(xa),r=Ea(),a=aa(),o;e[0]!==t||e[1]!==n.entries?(o=n.entries.get(t),e[0]=t,e[1]=n.entries,e[2]=o):o=e[2];let i=o;if(!i){let u;return e[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},e[3]=u):u=e[3],u}if(n.entries.size!==1){let u;return e[4]===i?u=e[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},e[4]=i,e[5]=u),u}let s;e[6]!==r||e[7]!==a||e[8]!==n.entries?(s=()=>{a({cellIds:[...n.entries.values()].map(tl)}),r.clear()},e[6]=r,e[7]=a,e[8]=n.entries,e[9]=s):s=e[9];let c;e[10]===r?c=e[11]:(c=()=>r.clear(),e[10]=r,e[11]=c);let l;return e[12]!==i||e[13]!==s||e[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},e[12]=i,e[13]=s,e[14]=c,e[15]=l):l=e[15],l};function tl(t){return t.cellId}var Sa=["python","sql","markdown"];function rr(t,e={}){var l;let{streaming:n=!1}=e,r=((l=t.match(/^\s*/))==null?void 0:l[0])??"",a=t.slice(r.length),o=null,i=!1;for(let u of Sa)if(a.startsWith(`\`\`\`${u}`)){i=!0,o=a.slice(3+u.length),o.startsWith(`
|
|
4
4
|
`)&&(o=o.slice(1));break}if(!i&&a.startsWith("```")){let u=a.slice(3);if(n&&nl(u))return t;i=!0,o=u,o.startsWith(`
|
|
5
5
|
`)&&(o=o.slice(1))}if(!i||o===null)return t;if(n)return o;let s=o.trimEnd(),c=o.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:o}function nl(t){return t.includes(`
|
|
6
|
-
`)?!1:Sa.some(e=>e.startsWith(t))}async function rl(t){if(!t.ok)throw Error(await t.text());if(!t.body)throw Error("Failed to get response body");let e="";return await
|
|
6
|
+
`)?!1:Sa.some(e=>e.startsWith(t))}async function rl(t){if(!t.ok)throw Error(await t.text());if(!t.body)throw Error("Failed to get response body");let e="";return await uh({stream:oh({stream:t.body,schema:rh}).pipeThrough(new TransformStream({transform(n){if(!n.success)throw n.error;let r=n.value;if(r.type==="text-delta")e+=r.delta;else if(r.type==="error")throw Error(r.errorText)}})),onError:n=>{throw n}}),rr(e)}async function al(t){var i;let e=`
|
|
7
7
|
${t.codeBefore}
|
|
8
8
|
<rewrite_this>
|
|
9
9
|
${t.selection}
|
|
10
10
|
</rewrite_this>
|
|
11
11
|
${t.codeAfter}
|
|
12
|
-
`.trim(),n=qi();await Wi();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:t.prompt,code:e,selectedText:t.selection,includeOtherCode:"",language:t.language})}),a=((i=t.selection.match(/^\s*/))==null?void 0:i[0])||"",o=await rl(r);return o.startsWith(a)||(o=a+o),o}function ka(t){switch(t){case"table":case"connection":Br("variables"),ys(Gh,"datasources");return;case"bucket":Br("files"),ys(Bh,"remote-storage");return;case"cache":Br("cache");return;default:Ki(t)}}function ol(t){let{state:e,names:n}=t;if(n.size===0)return[];let r=$n(e);if(!r||xi(r))return[];let a=new Map,o=c=>{if(c.name===Q.VariableName){let l=e.doc.sliceString(c.from,c.to);n.has(l)&&!a.has(l)&&a.set(l,{from:c.from,to:c.to,name:l});return}if(c.name===Q.TupleExpression||c.name===Q.ArrayExpression||c.name===Q.ParenthesizedExpression)for(let l=c.firstChild;l;l=l.nextSibling)o(l)},i=c=>{let l=-1;for(let u=c.firstChild;u;u=u.nextSibling)u.name===Q.AssignOp&&(l=u.from);if(l!==-1)for(let u=c.firstChild;u&&u.from<l;u=u.nextSibling)o(u)},s=c=>{if(!Kf.has(c.name)){if(c.name===Q.AssignStatement){i(c);return}for(let l=c.firstChild;l;l=l.nextSibling)s(l)}};return s(r.topNode),[...a.values()]}var il=/\bmo\.(?:persistent_cache|cache)\b/g;function Ca(t){let e=t.match(/^[A-Za-z]*("""|'''|"|')([\s\S]*)\1$/);return e?e[2]:t}function sl(t,e){var a;if(!t)return null;let n=o=>(o==null?void 0:o.name)===","||(o==null?void 0:o.name)===")",r=null;for(let o=t.firstChild;o;o=o.nextSibling)if(!(o.name==="("||o.name===")"||o.name===",")&&(r??(r=o),o.name===Q.VariableName&&e(o)==="name"&&((a=o.nextSibling)==null?void 0:a.name)===Q.AssignOp)){let i=o.nextSibling.nextSibling;if((i==null?void 0:i.name)===Q.String&&n(i.nextSibling))return Ca(e(i))}return r&&r.name===Q.String&&n(r.nextSibling)?Ca(e(r)):null}function ll(t,e,n,r){var d,p,f;let a=m=>t.doc.sliceString(m.from,m.to),o=e.resolveInner(n,1),i=null,s=null,c=r,l=null;for(let m=o.parent;m&&m.from===n;m=m.parent)if(m.name===Q.CallExpression){l=m;break}if(l){c=l.to,s=l.getChild(Q.ArgList);let m=l.parent;if((m==null?void 0:m.name)===Q.AssignStatement){let y=m.getChild(Q.VariableName);i=y&&y.from<l.from?a(y):null}else if((m==null?void 0:m.name)===Q.WithStatement){let y=m.firstChild;for(;y;){if(y.from<l.to||y.name===qf.As){y=y.nextSibling;continue}y.name===Q.VariableName&&(i=a(y));break}}}else if(((d=o.parent)==null?void 0:d.name)===Q.Decorator){let m=o.parent,y=m.getChild(Q.ArgList);(y==null?void 0:y.from)===r&&(s=y,c=y.to);let b=(f=(p=m.parent)==null?void 0:p.getChild(Q.FunctionDefinition))==null?void 0:f.getChild(Q.VariableName);i=b?a(b):null}let u=sl(s,a);return{from:n,to:c,boundName:i,cacheName:u}}function cl(t,e,n){let r=e.resolveInner(n,1);return mm.has(r.name)?!1:r.name===Q.VariableName&&t.doc.sliceString(r.from,r.to)==="mo"}function ul(t){let e=$n(t);return!e||xi(e)?[]:[...t.doc.toString().matchAll(il)].filter(n=>cl(t,e,n.index??0)).map(n=>{let r=n.index??0;return ll(t,e,r,r+n[0].length)})}function ar(t,e,n){let r=t.get(e);r!==void 0&&r!==n&&$e.error(`[code-lens] "${e}" is claimed by both a ${r} and a ${n} entity; keeping ${n}`),t.set(e,n)}var dl=ut(t=>{let e=new Map;for(let n of t(Wr))n.variable_name&&ar(e,n.variable_name,"table");for(let n of t(Vr).keys())um.has(n)||ar(e,n,"connection");for(let n of t(ia))ar(e,n.name,"bucket");return e}),fl=ut(t=>{let e=t(dl),n=t(Fn),r=new Map,a=new Map;for(let[o,i]of e){let s=n[o];if(s==null){a.set(o,i);continue}for(let c of s.declaredBy){let l=r.get(c);l||(l=new Map,r.set(c,l)),l.set(o,i)}}return{byCell:r,pending:a}});function ml(t){let{byCell:e,pending:n}=J.get(fl),r=new Map(e.get(t));for(let[a,o]of n)r.has(a)||r.set(a,o);return r}var en=t=>`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`;const pl={table:en('<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"/>'),connection:en('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/><path d="M3 12A9 3 0 0 0 21 12"/>'),bucket:en('<line x1="22" x2="2" y1="12" y2="12"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><line x1="6" x2="6.01" y1="16" y2="16"/><line x1="10" x2="10.01" y1="16" y2="16"/>'),cache:en('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 15 21.84"/><path d="M21 5V8"/><path d="M21 12L18 17H22L19 22"/><path d="M3 12A9 3 0 0 0 14.59 14.87"/>')},hl={table:"Open in data sources",connection:"Open in data sources",bucket:"Open in remote storage",cache:"Open cache panel"};var _t=ve(),gl=Tm(),h=bi(rp(),1);function yl(t,e){let n=(0,gl.createRoot)(t);return n.render((0,h.jsx)(Df,{store:J,children:(0,h.jsx)(bl,{spec:e})})),()=>queueMicrotask(()=>n.unmount())}var bl=t=>{var r,a;let e=(0,_t.c)(9),{spec:n}=t;switch(n.kind){case"table":{let o;return e[0]===n.name?o=e[1]:(o=(0,h.jsx)(wl,{name:n.name}),e[0]=n.name,e[1]=o),o}case"connection":{let o;return e[2]===n.name?o=e[3]:(o=(0,h.jsx)(vl,{name:n.name}),e[2]=n.name,e[3]=o),o}case"bucket":{let o;return e[4]===n.name?o=e[5]:(o=(0,h.jsx)(xl,{name:n.name}),e[4]=n.name,e[5]=o),o}case"cache":{let o=((r=n.cache)==null?void 0:r.boundName)??null,i=((a=n.cache)==null?void 0:a.cacheName)??null,s;return e[6]!==o||e[7]!==i?(s=(0,h.jsx)(Cl,{boundName:o,cacheName:i}),e[6]=o,e[7]=i,e[8]=s):s=e[8],s}default:Ki(n.kind)}},wl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Wr),a;if(e[0]!==n||e[1]!==r){let o;e[3]===n?o=e[4]:(o=s=>s.variable_name===n,e[3]=n,e[4]=o);let i=r.find(o);a=i?km(i):Li("table"),e[0]=n,e[1]=r,e[2]=a}else a=e[2];return a},vl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Vr),a,o;if(e[0]!==r||e[1]!==n){o=Symbol.for("react.early_return_sentinel");e:{let i=r.get(n);if(!i){let s;e[4]===Symbol.for("react.memo_cache_sentinel")?(s=Li("database"),e[4]=s):s=e[4],o=s;break e}a=lm(i)}e[0]=r,e[1]=n,e[2]=a,e[3]=o}else a=e[2],o=e[3];return o===Symbol.for("react.early_return_sentinel")?a:o},xl=t=>{let e=(0,_t.c)(27),{name:n}=t,r=q(ia),a;if(e[0]!==n||e[1]!==r){let y;e[3]===n?y=e[4]:(y=b=>b.name===n,e[3]=n,e[4]=y),a=r.find(y),e[0]=n,e[1]=r,e[2]=a}else a=e[2];let o=a;if(!o){let y;return e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)("div",{className:Hr,children:(0,h.jsx)("span",{className:"text-xs text-(--slate-11)",children:"No storage information available."})}),e[5]=y):y=e[5],y}let i;e[6]===o.protocol?i=e[7]:(i=(0,h.jsx)(fh,{protocol:o.protocol,className:"w-4 h-4"}),e[6]=o.protocol,e[7]=i);let s;e[8]===o.protocol?s=e[9]:(s=(0,h.jsx)(gh,{variant:"outline",className:"text-xs",children:o.protocol}),e[8]=o.protocol,e[9]=s);let c;e[10]!==o.displayName||e[11]!==i||e[12]!==s?(c=(0,h.jsx)(Ui,{icon:i,title:o.displayName,badge:s}),e[10]=o.displayName,e[11]=i,e[12]=s,e[13]=c):c=e[13];let l;e[14]===o.name?l=e[15]:(l=(0,h.jsx)(nt,{label:"Variable",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:o.name})}),e[14]=o.name,e[15]=l);let u=o.rootPath||"(root)",d;e[16]===u?d=e[17]:(d=(0,h.jsx)(nt,{label:"Root",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:u})}),e[16]=u,e[17]=d);let p;e[18]===o.backendType?p=e[19]:(p=(0,h.jsx)(nt,{label:"Backend",value:(0,h.jsx)("span",{className:"font-medium",children:o.backendType})}),e[18]=o.backendType,e[19]=p);let f;e[20]!==l||e[21]!==d||e[22]!==p?(f=(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[l,d,p]}),e[20]=l,e[21]=d,e[22]=p,e[23]=f):f=e[23];let m;return e[24]!==c||e[25]!==f?(m=(0,h.jsxs)("div",{className:Hr,children:[c,f]}),e[24]=c,e[25]=f,e[26]=m):m=e[26],m},El=/\bhits=(\d+) misses=(\d+)/,tn=null,Sl=5e3;function kl(){let t=Date.now();tn!=null&&t-tn<Sl||(tn=t,Xi().getCacheInfo().catch(()=>{tn=null}))}var Cl=t=>{var k,_;let e=(0,_t.c)(16),{boundName:n,cacheName:r}=t,{locale:a}=Eh(),o=q(Fn),i=q(Mh),s=n?o[n]:void 0,c;e[0]===s?c=e[1]:(c=(k=s==null?void 0:s.dataType)!=null&&k.startsWith("_cache_call")?(_=s.value)==null?void 0:_.match(El):void 0,e[0]=s,e[1]=c);let l=c,u=!!l,d,p;e[2]===u?(d=e[3],p=e[4]):(d=()=>{u||kl()},p=[u],e[2]=u,e[3]=d,e[4]=p),(0,N.useEffect)(d,p);let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,h.jsx)(ch,{className:"w-4 h-4 text-(--amber-9)"}),e[5]=f):f=e[5];let m=r??n??"Cache",y;e[6]===m?y=e[7]:(y=(0,h.jsx)(Ui,{icon:f,title:m}),e[6]=m,e[7]=y);let b;e[8]!==i||e[9]!==a||e[10]!==l?(b=l?(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)(nt,{label:"Hits",value:(0,h.jsx)("span",{className:"font-medium",children:zn(Number(l[1]),a)})}),(0,h.jsx)(nt,{label:"Misses",value:(0,h.jsx)("span",{className:"font-medium",children:zn(Number(l[2]),a)})})]}):i&&(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)("span",{className:"text-xs font-medium text-(--slate-11)",children:"Notebook-wide"}),(0,h.jsx)(nt,{label:"Hits",value:zn(i.hits,a)}),(0,h.jsx)(nt,{label:"Misses",value:zn(i.misses,a)}),(0,h.jsx)(nt,{label:"Time saved",value:Fh(i.time,a)})]}),e[8]=i,e[9]=a,e[10]=l,e[11]=b):b=e[11];let v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=(0,h.jsx)("div",{className:"pt-2 text-xs text-(--slate-10)",children:"Click to open the cache panel"}),e[12]=v):v=e[12];let S;return e[13]!==y||e[14]!==b?(S=(0,h.jsxs)("div",{className:Hr,children:[y,b,v]}),e[13]=y,e[14]=b,e[15]=S):S=e[15],S},or=ce.define(),ir=ce.define();function sr(t,e){var n,r,a,o;return t.pos===e.pos&&t.kind===e.kind&&t.name===e.name&&((n=t.cache)==null?void 0:n.boundName)===((r=e.cache)==null?void 0:r.boundName)&&((a=t.cache)==null?void 0:a.cacheName)===((o=e.cache)==null?void 0:o.cacheName)}var Tl=class{constructor(t){this.view=t}enterLens(t,e){this.clearTimers(),Nl(this.view,e);let n=this.view.state.field(lr,!1);n&&sr(n.spec,t)||(this.showTimer=window.setTimeout(()=>{this.showTimer=void 0,this.view.dispatch({effects:ir.of(t)})},400))}leave(){this.clearTimers(),this.hideTimer=window.setTimeout(()=>{this.hideTimer=void 0,this.hide()},200)}enterPopover(){window.clearTimeout(this.hideTimer),this.hideTimer=void 0}hide(){this.clearTimers(),this.view.state.field(lr,!1)&&this.view.dispatch({effects:ir.of(null)})}destroy(){this.clearTimers()}clearTimers(){window.clearTimeout(this.showTimer),window.clearTimeout(this.hideTimer),this.showTimer=void 0,this.hideTimer=void 0}},nn=ze.define(t=>new Tl(t));function Nl(t,e){t.dom.dispatchEvent(new MouseEvent("mouseleave",{relatedTarget:e}))}var Il=class extends $t{constructor(t){super(),this.spec=t}eq(t){return sr(this.spec,t.spec)}toDOM(t){let{spec:e}=this,n=document.createElement("span");n.className="mo-code-lens",n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-label",hl[e.kind]),n.innerHTML=pl[e.kind];let r=()=>t.plugin(nn),a=()=>{var o;return(o=r())==null?void 0:o.hide()};return n.onmouseenter=()=>{var o;return(o=r())==null?void 0:o.enterLens(e,n)},n.onmouseleave=()=>{var o;return(o=r())==null?void 0:o.leave()},n.onmousemove=o=>{o.stopPropagation()},n.onmousedown=o=>{o.preventDefault(),o.stopPropagation()},n.onclick=o=>{o.preventDefault(),o.stopPropagation(),a(),ka(e.kind)},n.onkeydown=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),o.stopPropagation(),a(),ka(e.kind))},n}ignoreEvent(){return!0}};function Al(t){return{spec:t,tooltip:{pos:t.pos,above:!0,create:e=>{let n=document.createElement("div");return n.classList.add("mo-cm-tooltip","docs-documentation"),n.onmouseenter=()=>{var r;return(r=e.plugin(nn))==null?void 0:r.enterPopover()},n.onmouseleave=()=>{var r;return(r=e.plugin(nn))==null?void 0:r.leave()},{dom:n,resize:!1,destroy:yl(n,t)}}}}}var lr=We.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(ir))return n.value?Al(n.value):null;if(n.is(or)&&t)return n.value.some(r=>sr(r,t.spec))?t:null}return e.docChanged?null:t},provide:t=>wp.from(t,e=>(e==null?void 0:e.tooltip)??null)}),Ll=We.define({create(){return V.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)n.is(or)&&(t=V.set(n.value.map(r=>V.widget({widget:new Il(r),side:1}).range(r.pos)),!0));return t},provide:t=>R.decorations.from(t)}),Ol=class{constructor(t,e,n){g(this,"debounceMs",300);this.view=t,this.cellId=e,this.includeCache=n,this.scheduleUpdate=Pm(()=>this.run(),this.debounceMs);let r=()=>this.scheduleUpdate();this.unsubscribes=[J.sub(Wr,r),J.sub(Vr,r),J.sub(ia,r),J.sub(Fn,r)],this.scheduleUpdate()}update(t){var n,r;let e=((n=t.startState.field(dt,!1))==null?void 0:n.type)!==((r=t.state.field(dt,!1))==null?void 0:r.type);(t.docChanged||e)&&this.scheduleUpdate()}destroy(){this.scheduleUpdate.cancel();for(let t of this.unsubscribes)t()}run(){var r;let{state:t}=this.view,e=[],n=(r=t.field(dt,!1))==null?void 0:r.type;if(n==null||n==="python"){let a=ml(this.cellId),o=ol({state:t,names:new Set(a.keys())});for(let i of o){let s=a.get(i.name);s&&e.push({pos:i.to,kind:s,name:i.name})}if(this.includeCache)for(let i of ul(t))e.push({pos:i.to,kind:"cache",name:`cache:${i.from}`,cache:{boundName:i.boundName,cacheName:i.cacheName}})}queueMicrotask(()=>{this.view.dispatch({effects:or.of(e)})})}},rn="3px",_l=R.baseTheme({".mo-code-lens":{display:"inline-flex",verticalAlign:"baseline",transform:"translateY(1.5px)",padding:rn,margin:`-${rn} 0 -${rn} calc(0.3em - ${rn})`,cursor:"pointer",opacity:"0.5"},".mo-code-lens:hover":{opacity:"1"}});function Ul(t,e=!0){return e?[Ll,lr,nn,ze.define(n=>new Ol(n,t,vi("cache_panel"))),_l]:[]}var jl=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],cr;function Pl(){let t=async r=>{let a=J.get(Xr),{saveUserConfig:o}=Xi();await o({config:{runtime:{auto_reload:r}}}).then(()=>J.set(Xr,{...a,runtime:{...a.runtime,auto_reload:r}}))},e=[{match:"!pip install",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await t("autorun")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await t("lazy")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await t("off")},title:"Module reload",description:(0,h.jsx)(h.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,h.jsxs)(h.Fragment,{children:["Shell commands are not directly supported.",(0,h.jsx)("br",{}),"Use ",(0,h.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...jl.map(r=>({match:r,onMatch:()=>{},title:(0,h.jsx)(Th,{className:"inline",children:r}),description:(0,h.jsxs)(h.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,h.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(e.map(r=>[r.match,r]));return R.updateListener.of(r=>{if(r.docChanged){let a=r.state.selection.main,o=r.state.doc,i=o.lineAt(a.head),s=o.sliceString(i.from,a.anchor).trim(),c=n.get(s);c&&(c.onMatch(),cr?cr.upsert({title:c.title,description:c.description}):cr=kt({title:c.title,description:c.description}))}})}var Ta=new Set(["Escape","Alt-`"]);function Dl(t,e=Ta){return t.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>e.has(r)))}function Ml(t=!0){let e=new Set(Ta);t||e.add("Enter");let n=Dl(Jp,e);return mt.highest(He.of([...n,{key:"Ctrl-y",run:r=>Rn(r)?Yi(r):!1},{key:"Ctrl-n",run:r=>Rn(r)?qn(!0)(r):!1},{key:"Ctrl-p",run:r=>Rn(r)?qn(!1)(r):!1}]))}const ur=ce.define(),dr=ce.define(),fr=ce.define();function z(t,e){if(!t)throw Error(e)}var Fl=3402823466385289e23,Rl=-3402823466385289e23,Bl=4294967295,Gl=2147483647,Jl=-2147483648;function an(t){if(typeof t!="number")throw Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Gl||t<Jl)throw Error("invalid int 32: "+t)}function mr(t){if(typeof t!="number")throw Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>Bl||t<0)throw Error("invalid uint 32: "+t)}function Na(t){if(typeof t!="number")throw Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>Fl||t<Rl))throw Error("invalid float 32: "+t)}var Ia=Symbol("@bufbuild/protobuf/enum-type");function Vl(t){let e=t[Ia];return z(e,"missing enum type on enum object"),e}function Aa(t,e,n,r){t[Ia]=La(e,n.map(a=>({no:a.no,name:a.name,localName:t[a.no]})),r)}function La(t,e,n){let r=Object.create(null),a=Object.create(null),o=[];for(let i of e){let s=Oa(i);o.push(s),r[i.name]=s,a[i.no]=s}return{typeName:t,values:o,findName(i){return r[i]},findNumber(i){return a[i]}}}function $l(t,e,n){let r={};for(let a of e){let o=Oa(a);r[o.localName]=o.no,r[o.no]=o.localName}return Aa(r,t,e,n),r}function Oa(t){return"localName"in t?t:Object.assign(Object.assign({},t),{localName:t.name})}var X=class{equals(t){return this.getType().runtime.util.equals(this.getType(),this,t)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(t,e){let n=this.getType().runtime.bin,r=n.makeReadOptions(e);return n.readMessage(this,r.readerFactory(t),t.byteLength,r),this}fromJson(t,e){let n=this.getType(),r=n.runtime.json,a=r.makeReadOptions(e);return r.readMessage(n,t,a,this),this}fromJsonString(t,e){let n;try{n=JSON.parse(t)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,e)}toBinary(t){let e=this.getType().runtime.bin,n=e.makeWriteOptions(t),r=n.writerFactory();return e.writeMessage(this,r,n),r.finish()}toJson(t){let e=this.getType().runtime.json,n=e.makeWriteOptions(t);return e.writeMessage(this,n)}toJsonString(t){let e=this.toJson(t);return JSON.stringify(e,null,(t==null?void 0:t.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Wl(t,e,n,r){let a=(r==null?void 0:r.localName)??e.substring(e.lastIndexOf(".")+1),o={[a]:function(i){t.util.initFields(this),t.util.initPartial(i,this)}}[a];return Object.setPrototypeOf(o.prototype,new X),Object.assign(o,{runtime:t,typeName:e,fields:t.util.newFieldList(n),fromBinary(i,s){return new o().fromBinary(i,s)},fromJson(i,s){return new o().fromJson(i,s)},fromJsonString(i,s){return new o().fromJsonString(i,s)},equals(i,s){return t.util.equals(o,i,s)}}),o}function ql(){let t=0,e=0;for(let r=0;r<28;r+=7){let a=this.buf[this.pos++];if(t|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,!(n&128))return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let a=this.buf[this.pos++];if(e|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}throw Error("invalid varint")}function pr(t,e,n){for(let o=0;o<28;o+=7){let i=t>>>o,s=!(!(i>>>7)&&e==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=t>>>28&15|(e&7)<<4,a=!!(e>>3);if(n.push((a?r|128:r)&255),a){for(let o=3;o<31;o+=7){let i=e>>>o,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(e>>>31&1)}}var on=4294967296;function _a(t){let e=t[0]==="-";e&&(t=t.slice(1));let n=1e6,r=0,a=0;function o(i,s){let c=Number(t.slice(i,s));a*=n,r=r*n+c,r>=on&&(a+=r/on|0,r%=on)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),e?ja(r,a):hr(r,a)}function Hl(t,e){let n=hr(t,e),r=n.hi&2147483648;r&&(n=ja(n.lo,n.hi));let a=Ua(n.lo,n.hi);return r?"-"+a:a}function Ua(t,e){if({lo:t,hi:e}=zl(t,e),e<=2097151)return String(on*e+t);let n=t&16777215,r=(t>>>24|e<<8)&16777215,a=e>>16&65535,o=n+r*6777216+a*6710656,i=r+a*8147497,s=a*2,c=1e7;return o>=c&&(i+=Math.floor(o/c),o%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+Pa(i)+Pa(o)}function zl(t,e){return{lo:t>>>0,hi:e>>>0}}function hr(t,e){return{lo:t|0,hi:e|0}}function ja(t,e){return e=~e,t?t=~t+1:e+=1,hr(t,e)}var Pa=t=>{let e=String(t);return"0000000".slice(e.length)+e};function Da(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t>>>=7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t>>=7;e.push(1)}}function Yl(){let t=this.buf[this.pos++],e=t&127;if(!(t&128)||(t=this.buf[this.pos++],e|=(t&127)<<7,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<14,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<21,!(t&128)))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;t&128&&n<10;n++)t=this.buf[this.pos++];if(t&128)throw Error("invalid varint");return this.assertBounds(),e>>>0}function Kl(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),a=BigInt("9223372036854775807"),o=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>a||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<o)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return t.setBigInt64(0,this.parse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(s){return t.setBigInt64(0,this.uParse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigInt64(0,!0)},uDec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigUint64(0,!0)}}}let e=r=>z(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>z(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),e(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),e(r),_a(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),_a(r)},dec(r,a){return Hl(r,a)},uDec(r,a){return Ua(r,a)}}}const W=Kl();var w;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(w||(w={}));var st;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING"})(st||(st={}));function et(t,e,n){if(e===n)return!0;if(t==w.BYTES){if(!(e instanceof Uint8Array)||!(n instanceof Uint8Array)||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}switch(t){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==n}return!1}function gt(t,e){switch(t){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==0?W.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function Ma(t,e){switch(t){case w.BOOL:return e===!1;case w.STRING:return e==="";case w.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var Z;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Z||(Z={}));var Xl=class{constructor(t){this.stack=[],this.textEncoder=t??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let t=0;for(let r=0;r<this.chunks.length;r++)t+=this.chunks[r].length;let e=new Uint8Array(t),n=0;for(let r=0;r<this.chunks.length;r++)e.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],e}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),e=this.stack.pop();if(!e)throw Error("invalid state, fork stack empty");return this.chunks=e.chunks,this.buf=e.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,e){return this.uint32((t<<3|e)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(mr(t);t>127;)this.buf.push(t&127|128),t>>>=7;return this.buf.push(t),this}int32(t){return an(t),Da(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let e=this.textEncoder.encode(t);return this.uint32(e.byteLength),this.raw(e)}float(t){Na(t);let e=new Uint8Array(4);return new DataView(e.buffer).setFloat32(0,t,!0),this.raw(e)}double(t){let e=new Uint8Array(8);return new DataView(e.buffer).setFloat64(0,t,!0),this.raw(e)}fixed32(t){mr(t);let e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t,!0),this.raw(e)}sfixed32(t){an(t);let e=new Uint8Array(4);return new DataView(e.buffer).setInt32(0,t,!0),this.raw(e)}sint32(t){return an(t),t=(t<<1^t>>31)>>>0,Da(t,this.buf),this}sfixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.enc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}fixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.uEnc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}int64(t){let e=W.enc(t);return pr(e.lo,e.hi,this.buf),this}sint64(t){let e=W.enc(t),n=e.hi>>31;return pr(e.lo<<1^n,(e.hi<<1|e.lo>>>31)^n,this.buf),this}uint64(t){let e=W.uEnc(t);return pr(e.lo,e.hi,this.buf),this}},Ql=class{constructor(t,e){this.varint64=ql,this.uint32=Yl,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=e??new TextDecoder}tag(){let t=this.uint32(),e=t>>>3,n=t&7;if(e<=0||n<0||n>5)throw Error("illegal tag: field no "+e+" wire type "+n);return[e,n]}skip(t,e){let n=this.pos;switch(t){case Z.Varint:for(;this.buf[this.pos++]&128;);break;case Z.Bit64:this.pos+=4;case Z.Bit32:this.pos+=4;break;case Z.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Z.StartGroup:for(;;){let[a,o]=this.tag();if(o===Z.EndGroup){if(e!==void 0&&a!==e)throw Error("invalid end group tag");break}this.skip(o,a)}break;default:throw Error("cant skip wire type "+t)}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 t=this.uint32();return t>>>1^-(t&1)}int64(){return W.dec(...this.varint64())}uint64(){return W.uDec(...this.varint64())}sint64(){let[t,e]=this.varint64(),n=-(t&1);return t=(t>>>1|(e&1)<<31)^n,e=e>>>1^n,W.dec(t,e)}bool(){let[t,e]=this.varint64();return t!==0||e!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return W.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return W.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 t=this.uint32(),e=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(e,e+t)}string(){return this.textDecoder.decode(this.bytes())}};function Zl(t,e,n,r){let a;return{typeName:e,extendee:n,get field(){if(!a){let o=typeof r=="function"?r():r;o.name=e.split(".").pop(),o.jsonName=`[${e}]`,a=t.util.newFieldList([o]).list()[0]}return a},runtime:t}}function Fa(t){let e=t.field.localName,n=Object.create(null);return n[e]=ec(t),[n,()=>n[e]]}function ec(t){let e=t.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return gt(e.T,e.L);case"message":let n=e.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function tc(t,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.no)return[t[n]];return[]}return t.filter(n=>n.no===e.no)}var Xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),sn=[];for(let t=0;t<Xe.length;t++)sn[Xe[t].charCodeAt(0)]=t;sn[45]=Xe.indexOf("+"),sn[95]=Xe.indexOf("/");const ln={dec(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&--e;let n=new Uint8Array(e),r=0,a=0,o,i=0;for(let s=0;s<t.length;s++){if(o=sn[t.charCodeAt(s)],o===void 0)switch(t[s]){case"=":a=0;case`
|
|
13
|
-
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:i=o,a=1;break;case 1:n[r++]=i<<2|(o&48)>>4,i=o,a=2;break;case 2:n[r++]=(i&15)<<4|(o&60)>>2,i=o,a=3;break;case 3:n[r++]=(i&3)<<6|o,a=0;break}}if(a==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(t){let e="",n=0,r,a=0;for(let o=0;o<t.length;o++)switch(r=t[o],n){case 0:e+=Xe[r>>2],a=(r&3)<<4,n=1;break;case 1:e+=Xe[a|r>>4],a=(r&15)<<2,n=2;break;case 2:e+=Xe[a|r>>6],e+=Xe[r&63],n=0;break}return n&&(e+=Xe[a],e+="=",n==1&&(e+="=")),e}};function nc(t,e,n){Ba(e,t);let r=e.runtime.bin.makeReadOptions(n),a=tc(t.getType().runtime.bin.listUnknownFields(t),e.field),[o,i]=Fa(e);for(let s of a)e.runtime.bin.readField(o,r.readerFactory(s.data),e.field,s.wireType,r);return i()}function rc(t,e,n,r){Ba(e,t);let a=e.runtime.bin.makeReadOptions(r),o=e.runtime.bin.makeWriteOptions(r);if(Ra(t,e)){let l=t.getType().runtime.bin.listUnknownFields(t).filter(u=>u.no!=e.field.no);t.getType().runtime.bin.discardUnknownFields(t);for(let u of l)t.getType().runtime.bin.onUnknownField(t,u.no,u.wireType,u.data)}let i=o.writerFactory(),s=e.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(s,n,i,o);let c=a.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);t.getType().runtime.bin.onUnknownField(t,l,u,d)}}function Ra(t,e){let n=t.getType();return e.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(t).find(r=>r.no==e.field.no)}function Ba(t,e){z(t.extendee.typeName==e.getType().typeName,`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}function Ga(t,e){let n=t.localName;if(t.repeated)return e[n].length>0;if(t.oneof)return e[t.oneof.localName].case===n;switch(t.kind){case"enum":case"scalar":return t.opt||t.req?e[n]!==void 0:t.kind=="enum"?e[n]!==t.T.values[0].no:!Ma(t.T,e[n]);case"message":return e[n]!==void 0;case"map":return Object.keys(e[n]).length>0}}function Ja(t,e){let n=t.localName,r=!t.opt&&!t.req;if(t.repeated)e[n]=[];else if(t.oneof)e[t.oneof.localName]={case:void 0};else switch(t.kind){case"map":e[n]={};break;case"enum":e[n]=r?t.T.values[0].no:void 0;break;case"scalar":e[n]=r?gt(t.T,t.L):void 0;break;case"message":e[n]=void 0;break}}function Qe(t,e){if(typeof t!="object"||!t||!Object.getOwnPropertyNames(X.prototype).every(r=>r in t&&typeof t[r]=="function"))return!1;let n=t.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:e===void 0?!0:n.typeName==e.typeName}function Va(t,e){return Qe(e)||!t.fieldWrapper?e:t.fieldWrapper.wrapField(e)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var $a={ignoreUnknownFields:!1},Wa={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function ac(t){return t?Object.assign(Object.assign({},$a),t):$a}function oc(t){return t?Object.assign(Object.assign({},Wa),t):Wa}var cn=Symbol(),un=Symbol();function ic(){return{makeReadOptions:ac,makeWriteOptions:oc,readMessage(t,e,n,r){if(e==null||Array.isArray(e)||typeof e!="object")throw Error(`cannot decode message ${t.typeName} from JSON: ${Ye(e)}`);r??(r=new t);let a=new Map,o=n.typeRegistry;for(let[i,s]of Object.entries(e)){let c=t.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=a.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${t.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);a.set(c.oneof,i)}qa(r,s,c,n,t)}else{let l=!1;if(o!=null&&o.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=o.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==t.typeName){l=!0;let[d,p]=Fa(u);qa(d,s,u.field,n,u),rc(r,u,p(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${t.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(t,e){let n=t.getType(),r={},a;try{for(a of n.fields.byNumber()){if(!Ga(a,t)){if(a.req)throw"required field not set";if(!e.emitDefaultValues||!lc(a))continue}let i=a.oneof?t[a.oneof.localName].value:t[a.localName],s=Ha(a,i,e);s!==void 0&&(r[e.useProtoFieldName?a.name:a.jsonName]=s)}let o=e.typeRegistry;if(o!=null&&o.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(t)){let s=o.findExtensionFor(n.typeName,i.no);if(s&&Ra(t,s)){let c=nc(t,s,e),l=Ha(s.field,c,e);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(o){let i=a?`cannot encode field ${n.typeName}.${a.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=o instanceof Error?o.message:String(o);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(t,e,n){return Ut(t,e,n??st.BIGINT,!0)},writeScalar(t,e,n){if(e!==void 0&&(n||Ma(t,e)))return dn(t,e)},debug:Ye}}function Ye(t){if(t===null)return"null";switch(typeof t){case"object":return Array.isArray(t)?"array":"object";case"string":return t.length>100?"string":`"${t.split('"').join('\\"')}"`;default:return String(t)}}function qa(t,e,n,r,a){let o=n.localName;if(n.repeated){if(z(n.kind!="map"),e===null)return;if(!Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`);let i=t[o];for(let s of e){if(s===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=gr(n.T,s,r.ignoreUnknownFields,!0);c!==un&&i.push(c);break;case"scalar":try{i.push(Ut(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`);let i=t[o];for(let[s,c]of Object.entries(e)){if(c===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: map value null`);let l;try{l=sc(n.K,s)}catch(u){let d=`cannot decode map key for field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;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=gr(n.V.T,c,r.ignoreUnknownFields,!0);u!==un&&(i[l]=u);break;case"scalar":try{i[l]=Ut(n.V.T,c,st.BIGINT,!0)}catch(d){let p=`cannot decode map value for field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),Error(p)}break}}}else switch(n.oneof&&(t=t[n.oneof.localName]={case:o},o="value"),n.kind){case"message":let i=n.T;if(e===null&&i.typeName!="google.protobuf.Value")return;let s=t[o];Qe(s)?s.fromJson(e,r):(t[o]=s=i.fromJson(e,r),i.fieldWrapper&&!n.oneof&&(t[o]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=gr(n.T,e,r.ignoreUnknownFields,!1);switch(c){case cn:Ja(n,t);break;case un:break;default:t[o]=c;break}break;case"scalar":try{let l=Ut(n.T,e,n.L,!1);l===cn?Ja(n,t):t[o]=l}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function sc(t,e){if(t===w.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return Ut(t,e,st.BIGINT,!0).toString()}function Ut(t,e,n,r){if(e===null)return r?gt(t,n):cn;switch(t){case w.DOUBLE:case w.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return 1/0;if(e==="-Infinity")return-1/0;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;let a=Number(e);if(Number.isNaN(a)||!Number.isFinite(a))break;return t==w.FLOAT&&Na(a),a;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let o;if(typeof e=="number"?o=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(o=Number(e)),o===void 0)break;return t==w.UINT32||t==w.FIXED32?mr(o):an(o),o;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof e!="number"&&typeof e!="string")break;let i=W.parse(e);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof e!="number"&&typeof e!="string")break;let s=W.uParse(e);return n?s.toString():s;case w.BOOL:if(typeof e!="boolean")break;return e;case w.STRING:if(typeof e!="string")break;return e;case w.BYTES:if(e==="")return new Uint8Array;if(typeof e!="string")break;return ln.dec(e)}throw Error()}function gr(t,e,n,r){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:r?t.values[0].no:cn;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":let a=t.findName(e);if(a!==void 0)return a.no;if(n)return un;break}throw Error(`cannot decode enum ${t.typeName} from JSON: ${Ye(e)}`)}function lc(t){return t.repeated||t.kind=="map"?!0:!(t.oneof||t.kind=="message"||t.opt||t.req)}function Ha(t,e,n){if(t.kind=="map"){z(typeof e=="object"&&!!e);let r={},a=Object.entries(e);switch(t.V.kind){case"scalar":for(let[i,s]of a)r[i.toString()]=dn(t.V.T,s);break;case"message":for(let[i,s]of a)r[i.toString()]=s.toJson(n);break;case"enum":let o=t.V.T;for(let[i,s]of a)r[i.toString()]=yr(o,s,n.enumAsInteger);break}return n.emitDefaultValues||a.length>0?r:void 0}if(t.repeated){z(Array.isArray(e));let r=[];switch(t.kind){case"scalar":for(let a=0;a<e.length;a++)r.push(dn(t.T,e[a]));break;case"enum":for(let a=0;a<e.length;a++)r.push(yr(t.T,e[a],n.enumAsInteger));break;case"message":for(let a=0;a<e.length;a++)r.push(e[a].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(t.kind){case"scalar":return dn(t.T,e);case"enum":return yr(t.T,e,n.enumAsInteger);case"message":return Va(t.T,e).toJson(n)}}function yr(t,e,n){var r;return z(typeof e=="number"),t.typeName=="google.protobuf.NullValue"?null:n?e:((r=t.findNumber(e))==null?void 0:r.name)??e}function dn(t,e){switch(t){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return z(typeof e=="number"),e;case w.FLOAT:case w.DOUBLE:return z(typeof e=="number"),Number.isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":e;case w.STRING:return z(typeof e=="string"),e;case w.BOOL:return z(typeof e=="boolean"),e;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return z(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case w.BYTES:return z(e instanceof Uint8Array),ln.enc(e)}}var yt=Symbol("@bufbuild/protobuf/unknown-fields"),za={readUnknownFields:!0,readerFactory:t=>new Ql(t)},Ya={writeUnknownFields:!0,writerFactory:()=>new Xl};function cc(t){return t?Object.assign(Object.assign({},za),t):za}function uc(t){return t?Object.assign(Object.assign({},Ya),t):Ya}function dc(){return{makeReadOptions:cc,makeWriteOptions:uc,listUnknownFields(t){return t[yt]??[]},discardUnknownFields(t){delete t[yt]},writeUnknownFields(t,e){let n=t[yt];if(n)for(let r of n)e.tag(r.no,r.wireType).raw(r.data)},onUnknownField(t,e,n,r){let a=t;Array.isArray(a[yt])||(a[yt]=[]),a[yt].push({no:e,wireType:n,data:r})},readMessage(t,e,n,r,a){let o=t.getType(),i=a?e.len:e.pos+n,s,c;for(;e.pos<i&&([s,c]=e.tag(),!(a===!0&&c==Z.EndGroup));){let l=o.fields.find(s);if(!l){let u=e.skip(c,s);r.readUnknownFields&&this.onUnknownField(t,s,c,u);continue}Ka(t,e,l,c,r)}if(a&&(c!=Z.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ka,writeMessage(t,e,n){let r=t.getType();for(let a of r.fields.byNumber()){if(!Ga(a,t)){if(a.req)throw Error(`cannot encode field ${r.typeName}.${a.name} to binary: required field not set`);continue}Xa(a,a.oneof?t[a.oneof.localName].value:t[a.localName],e,n)}return n.writeUnknownFields&&this.writeUnknownFields(t,e),e},writeField(t,e,n,r){e!==void 0&&Xa(t,e,n,r)}}}function Ka(t,e,n,r,a){let{repeated:o,localName:i}=n;switch(n.oneof&&(t=t[n.oneof.localName],t.case!=i&&delete t.value,t.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=mn;if(n.kind=="scalar"&&n.L>0&&(c=mc),o){let p=t[i];if(r==Z.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=e.uint32()+e.pos;for(;e.pos<f;)p.push(c(e,s))}else p.push(c(e,s))}else t[i]=c(e,s);break;case"message":let l=n.T;o?t[i].push(fn(e,new l,a,n)):Qe(t[i])?fn(e,t[i],a,n):(t[i]=fn(e,new l,a,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(t[i]=l.fieldWrapper.unwrapField(t[i])));break;case"map":let[u,d]=fc(n,e,a);t[i][u]=d;break}}function fn(t,e,n,r){let a=e.getType().runtime.bin,o=r==null?void 0:r.delimited;return a.readMessage(e,t,o?r.no:t.uint32(),n,o),e}function fc(t,e,n){let r=e.uint32(),a=e.pos+r,o,i;for(;e.pos<a;){let[s]=e.tag();switch(s){case 1:o=mn(e,t.K);break;case 2:switch(t.V.kind){case"scalar":i=mn(e,t.V.T);break;case"enum":i=e.int32();break;case"message":i=fn(e,new t.V.T,n,void 0);break}break}}if(o===void 0&&(o=gt(t.K,st.BIGINT)),typeof o!="string"&&typeof o!="number"&&(o=o.toString()),i===void 0)switch(t.V.kind){case"scalar":i=gt(t.V.T,st.BIGINT);break;case"enum":i=t.V.T.values[0].no;break;case"message":i=new t.V.T;break}return[o,i]}function mc(t,e){let n=mn(t,e);return typeof n=="bigint"?n.toString():n}function mn(t,e){switch(e){case w.STRING:return t.string();case w.BOOL:return t.bool();case w.DOUBLE:return t.double();case w.FLOAT:return t.float();case w.INT32:return t.int32();case w.INT64:return t.int64();case w.UINT64:return t.uint64();case w.FIXED64:return t.fixed64();case w.BYTES:return t.bytes();case w.FIXED32:return t.fixed32();case w.SFIXED32:return t.sfixed32();case w.SFIXED64:return t.sfixed64();case w.SINT64:return t.sint64();case w.UINT32:return t.uint32();case w.SINT32:return t.sint32()}}function Xa(t,e,n,r){z(e!==void 0);let a=t.repeated;switch(t.kind){case"scalar":case"enum":let o=t.kind=="enum"?w.INT32:t.T;if(a)if(z(Array.isArray(e)),t.packed)hc(n,o,t.no,e);else for(let i of e)jt(n,o,t.no,i);else jt(n,o,t.no,e);break;case"message":if(a){z(Array.isArray(e));for(let i of e)Qa(n,r,t,i)}else Qa(n,r,t,e);break;case"map":z(typeof e=="object"&&!!e);for(let[i,s]of Object.entries(e))pc(n,r,t,i,s);break}}function pc(t,e,n,r,a){t.tag(n.no,Z.LengthDelimited),t.fork();let o=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:o=Number.parseInt(r);break;case w.BOOL:z(r=="true"||r=="false"),o=r=="true";break}switch(jt(t,n.K,1,o),n.V.kind){case"scalar":jt(t,n.V.T,2,a);break;case"enum":jt(t,w.INT32,2,a);break;case"message":z(a!==void 0),t.tag(2,Z.LengthDelimited).bytes(a.toBinary(e));break}t.join()}function Qa(t,e,n,r){let a=Va(n.T,r);n.delimited?t.tag(n.no,Z.StartGroup).raw(a.toBinary(e)).tag(n.no,Z.EndGroup):t.tag(n.no,Z.LengthDelimited).bytes(a.toBinary(e))}function jt(t,e,n,r){z(r!==void 0);let[a,o]=Za(e);t.tag(n,a)[o](r)}function hc(t,e,n,r){if(!r.length)return;t.tag(n,Z.LengthDelimited).fork();let[,a]=Za(e);for(let o=0;o<r.length;o++)t[a](r[o]);t.join()}function Za(t){let e=Z.Varint;switch(t){case w.BYTES:case w.STRING:e=Z.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:e=Z.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:e=Z.Bit32;break}let n=w[t].toLowerCase();return[e,n]}function gc(){return{setEnumType:Aa,initPartial(t,e){if(t===void 0)return;let n=e.getType();for(let r of n.fields.byMember()){let a=r.localName,o=e,i=t;if(i[a]!=null)switch(r.kind){case"oneof":let s=i[a].case;if(s===void 0)continue;let c=r.findField(s),l=i[a].value;c&&c.kind=="message"&&!Qe(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Pt(l)),o[a]={case:s,value:l};break;case"scalar":case"enum":let u=i[a];r.T===w.BYTES&&(u=r.repeated?u.map(Pt):Pt(u)),o[a]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,m]of Object.entries(i[a]))o[a][f]=Pt(m);else Object.assign(o[a],i[a]);break;case"message":let p=r.V.T;for(let f of Object.keys(i[a])){let m=i[a][f];p.fieldWrapper||(m=new p(m)),o[a][f]=m}break}break;case"message":let d=r.T;if(r.repeated)o[a]=i[a].map(p=>Qe(p,d)?p:new d(p));else{let p=i[a];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?o[a]=Pt(p):o[a]=p:o[a]=Qe(p,d)?p:new d(p)}break}}},equals(t,e,n){return e===n?!0:!e||!n?!1:t.fields.byMember().every(r=>{let a=e[r.localName],o=n[r.localName];if(r.repeated){if(a.length!==o.length)return!1;switch(r.kind){case"message":return a.every((i,s)=>r.T.equals(i,o[s]));case"scalar":return a.every((i,s)=>et(r.T,i,o[s]));case"enum":return a.every((i,s)=>et(w.INT32,i,o[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=a,s=o;return r.T.fieldWrapper&&(i!==void 0&&!Qe(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Qe(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return et(w.INT32,a,o);case"scalar":return et(r.T,a,o);case"oneof":if(a.case!==o.case)return!1;let c=r.findField(a.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(a.value,o.value);case"enum":return et(w.INT32,a.value,o.value);case"scalar":return et(c.T,a.value,o.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(a).concat(Object.keys(o));switch(r.V.kind){case"message":let u=r.V.T;return l.every(p=>u.equals(a[p],o[p]));case"enum":return l.every(p=>et(w.INT32,a[p],o[p]));case"scalar":let d=r.V.T;return l.every(p=>et(d,a[p],o[p]))}break}})},clone(t){let e=t.getType(),n=new e,r=n;for(let a of e.fields.byMember()){let o=t[a.localName],i;if(a.repeated)i=o.map(pn);else if(a.kind=="map"){i=r[a.localName];for(let[s,c]of Object.entries(o))i[s]=pn(c)}else i=a.kind=="oneof"?a.findField(o.case)?{case:o.case,value:pn(o.value)}:{case:void 0}:pn(o);r[a.localName]=i}for(let a of e.runtime.bin.listUnknownFields(t))e.runtime.bin.onUnknownField(r,a.no,a.wireType,a.data);return n}}}function pn(t){if(t===void 0)return t;if(Qe(t))return t.clone();if(t instanceof Uint8Array){let e=new Uint8Array(t.byteLength);return e.set(t),e}return t}function Pt(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function yc(t,e,n){return{syntax:t,json:ic(),bin:dc(),util:Object.assign(Object.assign({},gc()),{newFieldList:e,initFields:n}),makeMessageType(r,a,o){return Wl(this,r,a,o)},makeEnum:$l,makeEnumType:La,getEnumType:Vl,makeExtension(r,a,o){return Zl(this,r,a,o)}}}var bc=class{constructor(t,e){this._fields=t,this._normalizer=e}findJsonName(t){if(!this.jsonNames){let e={};for(let n of this.list())e[n.jsonName]=e[n.name]=n;this.jsonNames=e}return this.jsonNames[t]}find(t){if(!this.numbers){let e={};for(let n of this.list())e[n.no]=n;this.numbers=e}return this.numbers[t]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((t,e)=>t.no-e.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let t=this.members,e;for(let n of this.list())n.oneof?n.oneof!==e&&(e=n.oneof,t.push(e)):t.push(n)}return this.members}};function eo(t,e){let n=to(t);return e?n:kc(Sc(n))}function wc(t){return eo(t,!1)}const vc=to;function to(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let a=t.charAt(r);switch(a){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(a),e=!1;break;default:e&&(e=!1,a=a.toUpperCase()),n.push(a);break}}return n.join("")}var xc=new Set(["constructor","toString","toJSON","valueOf"]),Ec=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),no=t=>`${t}$`,Sc=t=>Ec.has(t)?no(t):t;const kc=t=>xc.has(t)?no(t):t;var Cc=class{constructor(t){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=wc(t)}addField(t){z(t.oneof===this,`field ${t.name} not one of ${this.name}`),this.fields.push(t)}findField(t){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[t]}};function Tc(t,e){let n=[],r;for(let a of typeof t=="function"?t():t){let o=a;if(o.localName=eo(a.name,a.oneof!==void 0),o.jsonName=a.jsonName??vc(a.name),o.repeated=a.repeated??!1,a.kind=="scalar"&&(o.L=a.L??st.BIGINT),o.delimited=a.delimited??!1,o.req=a.req??!1,o.opt=a.opt??!1,a.packed===void 0&&(e?o.packed=a.kind=="enum"||a.kind=="scalar"&&a.T!=w.BYTES&&a.T!=w.STRING:o.packed=!1),a.oneof!==void 0){let i=typeof a.oneof=="string"?a.oneof:a.oneof.name;(!r||r.name!=i)&&(r=new Cc(i)),o.oneof=r,r.addField(o)}n.push(o)}return n}const x=yc("proto3",t=>new bc(t,e=>Tc(e,!0)),t=>{for(let e of t.getType().fields.byMember()){if(e.opt)continue;let n=e.localName,r=t;if(e.repeated){r[n]=[];continue}switch(e.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=gt(e.T,e.L);break;case"message":break}}});var Ee;(function(t){t[t.Unary=0]="Unary",t[t.ServerStreaming=1]="ServerStreaming",t[t.ClientStreaming=2]="ClientStreaming",t[t.BiDiStreaming=3]="BiDiStreaming"})(Ee||(Ee={}));var ro;(function(t){t[t.NoSideEffects=1]="NoSideEffects",t[t.Idempotent=2]="Idempotent"})(ro||(ro={}));var br;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(br||(br={})),x.util.setEnumType(br,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var hn;(function(t){t[t.CODEIUM=0]="CODEIUM"})(hn||(hn={})),x.util.setEnumType(hn,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var gn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",t[t.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",t[t.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",t[t.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(gn||(gn={})),x.util.setEnumType(gn,"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 yn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",t[t.CACHE=2]="CACHE",t[t.NETWORK=3]="NETWORK"})(yn||(yn={})),x.util.setEnumType(yn,"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 lt;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.C=1]="C",t[t.CLOJURE=2]="CLOJURE",t[t.COFFEESCRIPT=3]="COFFEESCRIPT",t[t.CPP=4]="CPP",t[t.CSHARP=5]="CSHARP",t[t.CSS=6]="CSS",t[t.CUDACPP=7]="CUDACPP",t[t.DOCKERFILE=8]="DOCKERFILE",t[t.GO=9]="GO",t[t.GROOVY=10]="GROOVY",t[t.HANDLEBARS=11]="HANDLEBARS",t[t.HASKELL=12]="HASKELL",t[t.HCL=13]="HCL",t[t.HTML=14]="HTML",t[t.INI=15]="INI",t[t.JAVA=16]="JAVA",t[t.JAVASCRIPT=17]="JAVASCRIPT",t[t.JSON=18]="JSON",t[t.JULIA=19]="JULIA",t[t.KOTLIN=20]="KOTLIN",t[t.LATEX=21]="LATEX",t[t.LESS=22]="LESS",t[t.LUA=23]="LUA",t[t.MAKEFILE=24]="MAKEFILE",t[t.MARKDOWN=25]="MARKDOWN",t[t.OBJECTIVEC=26]="OBJECTIVEC",t[t.OBJECTIVECPP=27]="OBJECTIVECPP",t[t.PERL=28]="PERL",t[t.PHP=29]="PHP",t[t.PLAINTEXT=30]="PLAINTEXT",t[t.PROTOBUF=31]="PROTOBUF",t[t.PBTXT=32]="PBTXT",t[t.PYTHON=33]="PYTHON",t[t.R=34]="R",t[t.RUBY=35]="RUBY",t[t.RUST=36]="RUST",t[t.SASS=37]="SASS",t[t.SCALA=38]="SCALA",t[t.SCSS=39]="SCSS",t[t.SHELL=40]="SHELL",t[t.SQL=41]="SQL",t[t.STARLARK=42]="STARLARK",t[t.SWIFT=43]="SWIFT",t[t.TSX=44]="TSX",t[t.TYPESCRIPT=45]="TYPESCRIPT",t[t.VISUALBASIC=46]="VISUALBASIC",t[t.VUE=47]="VUE",t[t.XML=48]="XML",t[t.XSL=49]="XSL",t[t.YAML=50]="YAML",t[t.SVELTE=51]="SVELTE",t[t.TOML=52]="TOML",t[t.DART=53]="DART",t[t.RST=54]="RST",t[t.OCAML=55]="OCAML",t[t.CMAKE=56]="CMAKE",t[t.PASCAL=57]="PASCAL",t[t.ELIXIR=58]="ELIXIR",t[t.FSHARP=59]="FSHARP",t[t.LISP=60]="LISP",t[t.MATLAB=61]="MATLAB",t[t.POWERSHELL=62]="POWERSHELL",t[t.SOLIDITY=63]="SOLIDITY",t[t.ADA=64]="ADA",t[t.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(lt||(lt={})),x.util.setEnumType(lt,"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 Nc=(Se=class extends X{constructor(n){super();g(this,"completionId","");g(this,"text","");g(this,"prefix","");g(this,"stop","");g(this,"score",0);g(this,"tokens",[]);g(this,"decodedTokens",[]);g(this,"probabilities",[]);g(this,"adjustedProbabilities",[]);g(this,"generatedLength",W.zero);x.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 x.util.equals(Se,n,r)}},g(Se,"runtime",x),g(Se,"typeName","exa.codeium_common_pb.Completion"),g(Se,"fields",x.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}])),Se),ao=(ke=class extends X{constructor(n){super();g(this,"ideName","");g(this,"ideVersion","");g(this,"extensionName","");g(this,"extensionVersion","");g(this,"apiKey","");g(this,"locale","");g(this,"sessionId","");g(this,"requestId",W.zero);g(this,"userAgent","");g(this,"url","");g(this,"authSource",hn.CODEIUM);x.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 x.util.equals(ke,n,r)}},g(ke,"runtime",x),g(ke,"typeName","exa.codeium_common_pb.Metadata"),g(ke,"fields",x.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:x.getEnumType(hn)}])),ke),Ic=(Ce=class extends X{constructor(n){super();g(this,"tabSize",W.zero);g(this,"insertSpaces",!1);x.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 x.util.equals(Ce,n,r)}},g(Ce,"runtime",x),g(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),g(Ce,"fields",x.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);Te=class extends X{constructor(n){super();g(this,"eventType",gn.UNSPECIFIED);g(this,"eventJson","");g(this,"timestampUnixMs",W.zero);x.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 x.util.equals(Te,n,r)}},g(Te,"runtime",x),g(Te,"typeName","exa.codeium_common_pb.Event"),g(Te,"fields",x.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:x.getEnumType(gn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Ac=class extends $t{constructor(e,n){super();g(this,"index");g(this,"total");this.index=e,this.total=n}toDOM(){let e=document.createElement("span");e.setAttribute("aria-hidden","true"),e.className="cm-codeium-cycle";let n=e.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=e.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",e}ignoreEvent(){return!1}};const bn=Vt.define({combine(t){return Wn(t,{language:lt.TYPESCRIPT,timeout:150,widgetClass:Ac,alwaysOn:!0},{})}}),oo=Vt.define({combine(t){return Wn(t,{override:()=>[]},{})}});var Lc=V.mark({class:"cm-ghostText"});const ct=We.define({create(t){return null},update(t,e){var r;let n=e.state.facet(bn);for(let a of e.effects){if(a.is(ur)){let{changeSpecs:o,index:i}=a.value,s=o[i].map(l=>Lc.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:V.set([...s,...c!==void 0&&o.length>1&&n.widgetClass?[V.widget({widget:new n.widgetClass(i,o.length),side:1}).range(c)]:[]]),changeSpecs:o,reverseChangeSet:a.value.reverseChangeSet}}if(a.is(dr)||a.is(fr))return null}return t&&{...t,decorations:t.decorations.map(e.changes),reverseChangeSet:t.reverseChangeSet.map(e.changes)}},provide:t=>R.decorations.from(t,e=>(e==null?void 0:e.decorations)||V.none)}),bt=ea.define(),wn=ea.define();var B;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(B||(B={}));function wr(t){let e=B[t];return typeof e=="string"?e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):t.toString()}var vn;function Oc(t){if(!vn){vn={};for(let e of Object.values(B))typeof e!="string"&&(vn[wr(e)]=e)}return vn[t]}var ge=class Nt extends Error{constructor(e,n=B.Unknown,r,a,o){super(_c(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(r??{}),this.details=a??[],this.cause=o}static from(e,n=B.Unknown){return e instanceof Nt?e:e instanceof Error?e.name=="AbortError"?new Nt(e.message,B.Canceled):new Nt(e.message,n,void 0,void 0,e):new Nt(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===Nt.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){let n="typeName"in e?{findMessage:a=>a===e.typeName?e:void 0}:e,r=[];for(let a of this.details){if("getType"in a){n.findMessage(a.getType().typeName)&&r.push(a);continue}let o=n.findMessage(a.type);if(o)try{r.push(o.fromBinary(a.value))}catch{}}return r}};function _c(t,e){return t.length?`[${wr(e)}] ${t}`:`[${wr(e)}]`}function Uc(...t){let e=new Headers;for(let n of t)n.forEach((r,a)=>{e.append(a,r)});return e}function jc(t,e){let n={};for(let[r,a]of Object.entries(t.methods)){let o=e(Object.assign(Object.assign({},a),{localName:r,service:t}));o!=null&&(n[r]=o)}return n}function Pc(t){let e,n=new Uint8Array;function r(a){let o=new Uint8Array(n.length+a.length);o.set(n),o.set(a,n.length),n=o}return new ReadableStream({start(){e=t.getReader()},async pull(a){let o;for(;;){if(o===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];o={flags:n[0],length:c}}if(o!==void 0&&n.byteLength>=o.length+5)break;let s=await e.read();if(s.done)break;r(s.value)}if(o===void 0){if(n.byteLength==0){a.close();return}a.error(new ge("premature end of stream",B.DataLoss));return}let i=n.subarray(5,5+o.length);n=n.subarray(5+o.length),a.enqueue({flags:o.flags,data:i})}})}function Dc(t,e){let n=new Uint8Array(e.length+5);n.set(e,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,t),r.setUint32(1,e.length),n}var Mc=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},Dt=function(t){return this instanceof Dt?(this.v=t,this):new Dt(t)},Fc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Dt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}},Rc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:Dt(t[a](i)),done:!1}:o?o(i):i}:o}};function Bc(t){return Fc(this,arguments,function*(){yield Dt(yield*Rc(Mc(t)))})}var io=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},wt=function(t){return this instanceof wt?(this.v=t,this):new wt(t)},Gc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:wt(t[a](i)),done:!1}:o?o(i):i}:o}},Jc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof wt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function Vc(t,e){return jc(t,n=>{switch(n.kind){case Ee.Unary:return Wc(e,t,n);case Ee.ServerStreaming:return qc(e,t,n);case Ee.ClientStreaming:return Hc(e,t,n);case Ee.BiDiStreaming:return zc(e,t,n);default:return null}})}function $c(t,e){return Vc(t,e)}function Wc(t,e,n){return async function(r,a){var o,i;let s=await t.unary(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);return(o=a==null?void 0:a.onHeader)==null||o.call(a,s.header),(i=a==null?void 0:a.onTrailer)==null||i.call(a,s.trailer),s.message}}function qc(t,e,n){return function(r,a){return so(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,Bc([r]),a==null?void 0:a.contextValues),a)}}function Hc(t,e,n){return async function(r,a){var o,i,s,c,l,u;let d=await t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);(l=a==null?void 0:a.onHeader)==null||l.call(a,d.header);let p,f=0;try{for(var m=!0,y=io(d.message),b;b=await y.next(),o=b.done,!o;m=!0)c=b.value,m=!1,p=c,f++}catch(v){i={error:v}}finally{try{!m&&!o&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!p)throw new ge("protocol error: missing response message",B.Unimplemented);if(f>1)throw new ge("protocol error: received extra messages for client streaming method",B.Unimplemented);return(u=a==null?void 0:a.onTrailer)==null||u.call(a,d.trailer),p}}function zc(t,e,n){return function(r,a){return so(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues),a)}}function so(t,e){let n=(function(){return Jc(this,arguments,function*(){var r,a;let o=yield wt(t);(r=e==null?void 0:e.onHeader)==null||r.call(e,o.header),yield wt(yield*Gc(io(o.message))),(a=e==null?void 0:e.onTrailer)==null||a.call(e,o.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Yc(...t){let e=new AbortController,n=t.filter(a=>a!==void 0).concat(e.signal);for(let a of n){if(a.aborted){r.apply(a);break}a.addEventListener("abort",r)}function r(){e.signal.aborted||e.abort(lo(this));for(let a of n)a.removeEventListener("abort",r)}return e}function Kc(t){let e=new AbortController,n=()=>{e.abort(new ge("the operation timed out",B.DeadlineExceeded))},r;return t!==void 0&&(t<=0?n():r=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(r)}}function lo(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;let e=Error("This operation was aborted");return e.name="AbortError",e}function co(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function uo(t,e,n){let r=typeof e=="string"?e:e.typeName,a=typeof n=="string"?n:n.name;return t.toString().replace(/\/?$/,`/${r}/${a}`)}function fo(t,e){return e instanceof t?e:new t(e)}function Xc(t,e){function n(r){return r.done===!0?r:{done:r.done,value:fo(t,r.value)}}return{[Symbol.asyncIterator](){let r=e[Symbol.asyncIterator](),a={next:()=>r.next().then(n)};return r.throw!==void 0&&(a.throw=o=>r.throw(o).then(n)),r.return!==void 0&&(a.return=o=>r.return(o).then(n)),a}}}function mo(t,e){return(e==null?void 0:e.concat().reverse().reduce((n,r)=>r(n),t))??t}function po(t){let e=Object.assign({},t);return e.ignoreUnknownFields??(e.ignoreUnknownFields=!0),e}function ho(t,e,n,r){let a=e?go(t.I,r):yo(t.I,n);return{parse:(e?go(t.O,r):yo(t.O,n)).parse,serialize:a.serialize}}function go(t,e){return{parse(n){try{return t.fromBinary(n,e)}catch(r){throw new ge(`parse binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}},serialize(n){try{return n.toBinary(e)}catch(r){throw new ge(`serialize binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}}}}function yo(t,e){let n=(e==null?void 0:e.textEncoder)??new TextEncoder,r=(e==null?void 0:e.textDecoder)??new TextDecoder,a=po(e);return{parse(o){try{let i=r.decode(o);return t.fromJsonString(i,a)}catch(i){throw ge.from(i,B.InvalidArgument)}},serialize(o){try{let i=o.toJsonString(a);return n.encode(i)}catch(i){throw ge.from(i,B.Internal)}}}}const Qc=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Zc(t){let e=t==null?void 0:t.match(Qc);if(e)return{stream:!!e[1],binary:!!e[3]}}function bo(t,e,n){if(e&&new Headers(e).forEach((i,s)=>n.metadata.append(s,i)),typeof t!="object"||!t||Array.isArray(t))throw n;let r=n.code;"code"in t&&typeof t.code=="string"&&(r=Oc(t.code)??r);let a=t.message;if(a!=null&&typeof a!="string")throw n;let o=new ge(a??"",r,e);if("details"in t&&Array.isArray(t.details))for(let i of t.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{o.details.push({type:i.type,value:ln.dec(i.value),debug:i.debug})}catch{throw n}}return o}function eu(t){let e=new ge("invalid end stream",B.Unknown),n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||!n||Array.isArray(n))throw e;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(let[a,o]of Object.entries(n.metadata)){if(!Array.isArray(o)||o.some(i=>typeof i!="string"))throw e;for(let i of o)r.append(a,i)}}return{metadata:r,error:"error"in n&&n.error!=null?bo(n.error,r,e):void 0}}const xn="Content-Type",wo="Content-Encoding",vo="Connect-Protocol-Version";function tu(t){switch(t){case 400:return B.Internal;case 401:return B.Unauthenticated;case 403:return B.PermissionDenied;case 404:return B.Unimplemented;case 429:return B.Unavailable;case 502:return B.Unavailable;case 503:return B.Unavailable;case 504:return B.Unavailable;default:return B.Unknown}}function xo(t){let e=new Headers,n=new Headers;return t.forEach((r,a)=>{a.toLowerCase().startsWith("trailer-")?n.append(a.substring(8),r):e.append(a,r)}),[e,n]}function Eo(t,e,n,r,a){let o=new Headers(r??{});return n!==void 0&&o.set("Connect-Timeout-Ms",`${n}`),o.set(xn,t==Ee.Unary?e?"application/proto":"application/json":e?"application/connect+proto":"application/connect+json"),o.set(vo,"1"),a&&o.set("User-Agent","connect-es/1.6.1"),o}function So(t,e,n,r){let a=r.get(xn),o=Zc(a);if(n!==200){let s=new ge(`HTTP ${n}`,tu(n),r);if(t==Ee.Unary&&o&&!o.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:e,stream:t!==Ee.Unary};if((o==null?void 0:o.binary)!==i.binary||o.stream!==i.stream)throw new ge(`unsupported content type ${a}`,o===void 0?B.Unknown:B.Internal,r);return{isUnaryError:!1}}var nu="application/";function ru(t,e){return e?ln.enc(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(t))}function au(t,e,n){let r="?connect=v1",a=t.header.get(xn);(a==null?void 0:a.indexOf(nu))===0&&(r+="&encoding="+encodeURIComponent(a.slice(12)));let o=t.header.get(wo);o!==null&&o!=="identity"&&(r+="&compression="+encodeURIComponent(o),n=!0),n&&(r+="&base64=1"),r+="&message="+ru(e,n);let i=t.url+r,s=new Headers(t.header);return[vo,xn,"Content-Length",wo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},t),{init:Object.assign(Object.assign({},t.init),{method:"GET"}),url:i,header:s})}function ou(t){let e=mo(t.next,t.interceptors),[n,r,a]=ko(t);return e(Object.assign(Object.assign({},t.req),{message:fo(t.req.method.I,t.req.message),signal:n})).then(o=>(a(),o),r)}function iu(t){let e=mo(t.next,t.interceptors),[n,r,a]=ko(t),o=Object.assign(Object.assign({},t.req),{message:Xc(t.req.method.I,t.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=t.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),e(o).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,a()),l),r)}}}}}),r)}function ko(t){let{signal:e,cleanup:n}=Kc(t.timeoutMs),r=Yc(t.signal,e);return[r.signal,function(a){let o=ge.from(e.aborted?lo(e):a);return r.abort(o),n(),Promise.reject(o)},function(){n(),r.abort()}]}var En;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INACTIVE=1]="INACTIVE",t[t.PROCESSING=2]="PROCESSING",t[t.SUCCESS=3]="SUCCESS",t[t.WARNING=4]="WARNING",t[t.ERROR=5]="ERROR"})(En||(En={})),x.util.setEnumType(En,"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 Co;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SINGLE=1]="SINGLE",t[t.MULTI=2]="MULTI"})(Co||(Co={})),x.util.setEnumType(Co,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var Sn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INLINE=1]="INLINE",t[t.BLOCK=2]="BLOCK",t[t.INLINE_MASK=3]="INLINE_MASK"})(Sn||(Sn={})),x.util.setEnumType(Sn,"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 su=(Ne=class extends X{constructor(n){super();g(this,"threshold",0);x.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 x.util.equals(Ne,n,r)}},g(Ne,"runtime",x),g(Ne,"typeName","exa.language_server_pb.MultilineConfig"),g(Ne,"fields",x.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ne),lu=(Ie=class extends X{constructor(n){super();g(this,"metadata");g(this,"document");g(this,"editorOptions");g(this,"otherDocuments",[]);g(this,"experimentConfig");g(this,"modelName","");g(this,"multilineConfig");x.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 x.util.equals(Ie,n,r)}},g(Ie,"runtime",x),g(Ie,"typeName","exa.language_server_pb.GetCompletionsRequest"),g(Ie,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:ao},{no:2,name:"document",kind:"message",T:To},{no:3,name:"editor_options",kind:"message",T:Ic},{no:5,name:"other_documents",kind:"message",T:To,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:pu},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:su}])),Ie),cu=(Ae=class extends X{constructor(n){super();g(this,"state");g(this,"completionItems",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ae().fromBinary(n,r)}static fromJson(n,r){return new Ae().fromJson(n,r)}static fromJsonString(n,r){return new Ae().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ae,n,r)}},g(Ae,"runtime",x),g(Ae,"typeName","exa.language_server_pb.GetCompletionsResponse"),g(Ae,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:hu},{no:2,name:"completion_items",kind:"message",T:wu,repeated:!0}])),Ae),uu=(Le=class extends X{constructor(n){super();g(this,"metadata");g(this,"completionId","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Le().fromBinary(n,r)}static fromJson(n,r){return new Le().fromJson(n,r)}static fromJsonString(n,r){return new Le().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Le,n,r)}},g(Le,"runtime",x),g(Le,"typeName","exa.language_server_pb.AcceptCompletionRequest"),g(Le,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:ao},{no:2,name:"completion_id",kind:"scalar",T:9}])),Le),du=(Oe=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new Oe().fromBinary(e,n)}static fromJson(e,n){return new Oe().fromJson(e,n)}static fromJsonString(e,n){return new Oe().fromJsonString(e,n)}static equals(e,n){return x.util.equals(Oe,e,n)}},g(Oe,"runtime",x),g(Oe,"typeName","exa.language_server_pb.AcceptCompletionResponse"),g(Oe,"fields",x.util.newFieldList(()=>[])),Oe),fu=(_e=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new _e().fromBinary(e,n)}static fromJson(e,n){return new _e().fromJson(e,n)}static fromJsonString(e,n){return new _e().fromJsonString(e,n)}static equals(e,n){return x.util.equals(_e,e,n)}},g(_e,"runtime",x),g(_e,"typeName","exa.language_server_pb.GetAuthTokenRequest"),g(_e,"fields",x.util.newFieldList(()=>[])),_e),mu=(Ue=class extends X{constructor(n){super();g(this,"authToken","");g(this,"uuid","");x.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 x.util.equals(Ue,n,r)}},g(Ue,"runtime",x),g(Ue,"typeName","exa.language_server_pb.GetAuthTokenResponse"),g(Ue,"fields",x.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Ue),vr=(je=class extends X{constructor(n){super();g(this,"row",W.zero);g(this,"col",W.zero);x.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 x.util.equals(je,n,r)}},g(je,"runtime",x),g(je,"typeName","exa.language_server_pb.DocumentPosition"),g(je,"fields",x.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),je),To=(Pe=class extends X{constructor(n){super();g(this,"absolutePath","");g(this,"relativePath","");g(this,"text","");g(this,"editorLanguage","");g(this,"language",lt.UNSPECIFIED);g(this,"cursorOffset",W.zero);g(this,"cursorPosition");g(this,"lineEnding","");x.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 x.util.equals(Pe,n,r)}},g(Pe,"runtime",x),g(Pe,"typeName","exa.language_server_pb.Document"),g(Pe,"fields",x.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:x.getEnumType(lt)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:vr},{no:7,name:"line_ending",kind:"scalar",T:9}])),Pe),pu=(De=class extends X{constructor(n){super();g(this,"forceEnableExperiments",[]);x.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 x.util.equals(De,n,r)}},g(De,"runtime",x),g(De,"typeName","exa.language_server_pb.ExperimentConfig"),g(De,"fields",x.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:x.getEnumType(br),repeated:!0}])),De),hu=(Me=class extends X{constructor(n){super();g(this,"state",En.UNSPECIFIED);g(this,"message","");x.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 x.util.equals(Me,n,r)}},g(Me,"runtime",x),g(Me,"typeName","exa.language_server_pb.State"),g(Me,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:x.getEnumType(En)},{no:2,name:"message",kind:"scalar",T:9}])),Me),gu=(Fe=class extends X{constructor(n){super();g(this,"startOffset",W.zero);g(this,"endOffset",W.zero);g(this,"startPosition");g(this,"endPosition");x.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 x.util.equals(Fe,n,r)}},g(Fe,"runtime",x),g(Fe,"typeName","exa.language_server_pb.Range"),g(Fe,"fields",x.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:vr},{no:4,name:"end_position",kind:"message",T:vr}])),Fe),yu=(Re=class extends X{constructor(n){super();g(this,"text","");g(this,"deltaCursorOffset",W.zero);x.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 x.util.equals(Re,n,r)}},g(Re,"runtime",x),g(Re,"typeName","exa.language_server_pb.Suffix"),g(Re,"fields",x.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Re),bu=(Be=class extends X{constructor(n){super();g(this,"text","");g(this,"offset",W.zero);g(this,"type",Sn.UNSPECIFIED);g(this,"prefix","");g(this,"line",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Be().fromBinary(n,r)}static fromJson(n,r){return new Be().fromJson(n,r)}static fromJsonString(n,r){return new Be().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Be,n,r)}},g(Be,"runtime",x),g(Be,"typeName","exa.language_server_pb.CompletionPart"),g(Be,"fields",x.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:x.getEnumType(Sn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Be),wu=(Ge=class extends X{constructor(n){super();g(this,"completion");g(this,"suffix");g(this,"range");g(this,"source",yn.UNSPECIFIED);g(this,"completionParts",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ge().fromBinary(n,r)}static fromJson(n,r){return new Ge().fromJson(n,r)}static fromJsonString(n,r){return new Ge().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ge,n,r)}},g(Ge,"runtime",x),g(Ge,"typeName","exa.language_server_pb.CompletionItem"),g(Ge,"fields",x.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Nc},{no:5,name:"suffix",kind:"message",T:yu},{no:2,name:"range",kind:"message",T:gu},{no:3,name:"source",kind:"enum",T:x.getEnumType(yn)},{no:8,name:"completion_parts",kind:"message",T:bu,repeated:!0}])),Ge);const vu={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:lu,O:cu,kind:Ee.Unary},acceptCompletion:{name:"AcceptCompletion",I:uu,O:du,kind:Ee.Unary},getAuthToken:{name:"GetAuthToken",I:fu,O:mu,kind:Ee.Unary}}};function xu(){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 Mt=function(t){return this instanceof Mt?(this.v=t,this):new Mt(t)},Eu=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Mt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function Su(t){xu();let e=t.useBinaryFormat??!1;return{async unary(n,r,a,o,i,s,c){let{serialize:l,parse:u}=ho(r,e,t.jsonOptions,t.binaryOptions);return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await ou({interceptors:t.interceptors,signal:a,timeoutMs:o,req:{stream:!1,service:n,method:r,url:uo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:Eo(r.kind,e,o,i,!1),contextValues:c??co(),message:s},next:async d=>{let p=t.useHttpGet===!0&&r.idempotency===ro.NoSideEffects,f=null;p?d=au(d,l(d.message),e):f=l(d.message);let m=await(t.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=So(r.kind,e,m.status,m.headers);if(y)throw bo(await m.json(),Uc(...xo(m.headers)),b);let[v,S]=xo(m.headers);return{stream:!1,service:n,method:r,header:v,message:e?u(new Uint8Array(await m.arrayBuffer())):r.O.fromJson(await m.json(),po(t.jsonOptions)),trailer:S}}})},async stream(n,r,a,o,i,s,c){let{serialize:l,parse:u}=ho(r,e,t.jsonOptions,t.binaryOptions);function d(f,m,y,b){return Eu(this,arguments,function*(){let v=Pc(f).getReader(),S=!1;for(;;){let k=yield Mt(v.read());if(k.done)break;let{flags:_,data:P}=k.value;if((_&1)==1)throw new ge("protocol error: received unsupported compressed output",B.Internal);if((_&2)==2){S=!0;let A=eu(P);if(A.error){let T=A.error;throw y.forEach((G,M)=>{T.metadata.append(M,G)}),T}A.metadata.forEach((T,G)=>m.set(G,T));continue}yield yield Mt(u(P))}if("throwIfAborted"in b&&b.throwIfAborted(),!S)throw"missing EndStreamResponse"})}async function p(f){if(r.kind!=Ee.ServerStreaming)throw"The fetch API does not support streaming request bodies";let m=await f[Symbol.asyncIterator]().next();if(m.done==1)throw"missing request message";return Dc(0,l(m.value))}return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await iu({interceptors:t.interceptors,timeoutMs:o,signal:a,req:{stream:!0,service:n,method:r,url:uo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:Eo(r.kind,e,o,i,!1),contextValues:c??co(),message:s},next:async f=>{let m=await(t.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await p(f.message)}));if(So(r.kind,e,m.status,m.headers),m.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:m.headers,trailer:y,message:d(m.body,y,m.headers,f.signal)})}})}}}var ku=$c(vu,Su({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),kn;try{kn=crypto.randomUUID()}catch{kn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>e/4).toString(16))}()}async function Cu({text:t,cursorOffset:e,config:n,otherDocuments:r}){return await ku.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:kn,authSource:n.authSource},document:{text:t,cursorOffset:BigInt(e),language:n.language,editorLanguage:"typescript",lineEnding:`
|
|
14
|
-
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${kn}`}})}function
|
|
15
|
-
${r.text}`:r.text,i={absoluteStartPos:n+a,absoluteEndPos:n+a+o.length,from:a,to:a,insert:o};return n+=o.length,i})})}async function
|
|
12
|
+
`.trim(),n=qi();await Wi();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:t.prompt,code:e,selectedText:t.selection,includeOtherCode:"",language:t.language})}),a=((i=t.selection.match(/^\s*/))==null?void 0:i[0])||"",o=await rl(r);return o.startsWith(a)||(o=a+o),o}function ka(t){switch(t){case"table":case"connection":Br("variables"),ys(Vh,"datasources");return;case"bucket":Br("files"),ys(Jh,"remote-storage");return;case"cache":Br("cache");return;default:Ki(t)}}function ol(t){let{state:e,names:n}=t;if(n.size===0)return[];let r=$n(e);if(!r||xi(r))return[];let a=new Map,o=c=>{if(c.name===Q.VariableName){let l=e.doc.sliceString(c.from,c.to);n.has(l)&&!a.has(l)&&a.set(l,{from:c.from,to:c.to,name:l});return}if(c.name===Q.TupleExpression||c.name===Q.ArrayExpression||c.name===Q.ParenthesizedExpression)for(let l=c.firstChild;l;l=l.nextSibling)o(l)},i=c=>{let l=-1;for(let u=c.firstChild;u;u=u.nextSibling)u.name===Q.AssignOp&&(l=u.from);if(l!==-1)for(let u=c.firstChild;u&&u.from<l;u=u.nextSibling)o(u)},s=c=>{if(!Xf.has(c.name)){if(c.name===Q.AssignStatement){i(c);return}for(let l=c.firstChild;l;l=l.nextSibling)s(l)}};return s(r.topNode),[...a.values()]}var il=/\bmo\.(?:persistent_cache|cache)\b/g;function Ca(t){let e=t.match(/^[A-Za-z]*("""|'''|"|')([\s\S]*)\1$/);return e?e[2]:t}function sl(t,e){var a;if(!t)return null;let n=o=>(o==null?void 0:o.name)===","||(o==null?void 0:o.name)===")",r=null;for(let o=t.firstChild;o;o=o.nextSibling)if(!(o.name==="("||o.name===")"||o.name===",")&&(r??(r=o),o.name===Q.VariableName&&e(o)==="name"&&((a=o.nextSibling)==null?void 0:a.name)===Q.AssignOp)){let i=o.nextSibling.nextSibling;if((i==null?void 0:i.name)===Q.String&&n(i.nextSibling))return Ca(e(i))}return r&&r.name===Q.String&&n(r.nextSibling)?Ca(e(r)):null}function ll(t,e,n,r){var d,p,f;let a=m=>t.doc.sliceString(m.from,m.to),o=e.resolveInner(n,1),i=null,s=null,c=r,l=null;for(let m=o.parent;m&&m.from===n;m=m.parent)if(m.name===Q.CallExpression){l=m;break}if(l){c=l.to,s=l.getChild(Q.ArgList);let m=l.parent;if((m==null?void 0:m.name)===Q.AssignStatement){let y=m.getChild(Q.VariableName);i=y&&y.from<l.from?a(y):null}else if((m==null?void 0:m.name)===Q.WithStatement){let y=m.firstChild;for(;y;){if(y.from<l.to||y.name===Hf.As){y=y.nextSibling;continue}y.name===Q.VariableName&&(i=a(y));break}}}else if(((d=o.parent)==null?void 0:d.name)===Q.Decorator){let m=o.parent,y=m.getChild(Q.ArgList);(y==null?void 0:y.from)===r&&(s=y,c=y.to);let b=(f=(p=m.parent)==null?void 0:p.getChild(Q.FunctionDefinition))==null?void 0:f.getChild(Q.VariableName);i=b?a(b):null}let u=sl(s,a);return{from:n,to:c,boundName:i,cacheName:u}}function cl(t,e,n){let r=e.resolveInner(n,1);return pm.has(r.name)?!1:r.name===Q.VariableName&&t.doc.sliceString(r.from,r.to)==="mo"}function ul(t){let e=$n(t);return!e||xi(e)?[]:[...t.doc.toString().matchAll(il)].filter(n=>cl(t,e,n.index??0)).map(n=>{let r=n.index??0;return ll(t,e,r,r+n[0].length)})}function ar(t,e,n){let r=t.get(e);r!==void 0&&r!==n&&$e.error(`[code-lens] "${e}" is claimed by both a ${r} and a ${n} entity; keeping ${n}`),t.set(e,n)}var dl=ut(t=>{let e=new Map;for(let n of t(Wr))n.variable_name&&ar(e,n.variable_name,"table");for(let n of t(Vr).keys())dm.has(n)||ar(e,n,"connection");for(let n of t(ia))ar(e,n.name,"bucket");return e}),fl=ut(t=>{let e=t(dl),n=t(Fn),r=new Map,a=new Map;for(let[o,i]of e){let s=n[o];if(s==null){a.set(o,i);continue}for(let c of s.declaredBy){let l=r.get(c);l||(l=new Map,r.set(c,l)),l.set(o,i)}}return{byCell:r,pending:a}});function ml(t){let{byCell:e,pending:n}=J.get(fl),r=new Map(e.get(t));for(let[a,o]of n)r.has(a)||r.set(a,o);return r}var en=t=>`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`;const pl={table:en('<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"/>'),connection:en('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/><path d="M3 12A9 3 0 0 0 21 12"/>'),bucket:en('<line x1="22" x2="2" y1="12" y2="12"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><line x1="6" x2="6.01" y1="16" y2="16"/><line x1="10" x2="10.01" y1="16" y2="16"/>'),cache:en('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 15 21.84"/><path d="M21 5V8"/><path d="M21 12L18 17H22L19 22"/><path d="M3 12A9 3 0 0 0 14.59 14.87"/>')},hl={table:"Open in data sources",connection:"Open in data sources",bucket:"Open in remote storage",cache:"Open cache panel"};var _t=ve(),gl=Om(),yl=Nm(),h=bi(op(),1);function bl(t,e){let n=(0,yl.createRoot)(t);return(0,gl.flushSync)(()=>{n.render((0,h.jsx)(Mf,{store:J,children:(0,h.jsx)(wl,{spec:e})}))}),()=>queueMicrotask(()=>n.unmount())}var wl=t=>{var r,a;let e=(0,_t.c)(9),{spec:n}=t;switch(n.kind){case"table":{let o;return e[0]===n.name?o=e[1]:(o=(0,h.jsx)(vl,{name:n.name}),e[0]=n.name,e[1]=o),o}case"connection":{let o;return e[2]===n.name?o=e[3]:(o=(0,h.jsx)(xl,{name:n.name}),e[2]=n.name,e[3]=o),o}case"bucket":{let o;return e[4]===n.name?o=e[5]:(o=(0,h.jsx)(El,{name:n.name}),e[4]=n.name,e[5]=o),o}case"cache":{let o=((r=n.cache)==null?void 0:r.boundName)??null,i=((a=n.cache)==null?void 0:a.cacheName)??null,s;return e[6]!==o||e[7]!==i?(s=(0,h.jsx)(Tl,{boundName:o,cacheName:i}),e[6]=o,e[7]=i,e[8]=s):s=e[8],s}default:Ki(n.kind)}},vl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Wr),a;if(e[0]!==n||e[1]!==r){let o;e[3]===n?o=e[4]:(o=s=>s.variable_name===n,e[3]=n,e[4]=o);let i=r.find(o);a=i?Cm(i):Li("table"),e[0]=n,e[1]=r,e[2]=a}else a=e[2];return a},xl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Vr),a,o;if(e[0]!==r||e[1]!==n){o=Symbol.for("react.early_return_sentinel");e:{let i=r.get(n);if(!i){let s;e[4]===Symbol.for("react.memo_cache_sentinel")?(s=Li("database"),e[4]=s):s=e[4],o=s;break e}a=cm(i)}e[0]=r,e[1]=n,e[2]=a,e[3]=o}else a=e[2],o=e[3];return o===Symbol.for("react.early_return_sentinel")?a:o},El=t=>{let e=(0,_t.c)(27),{name:n}=t,r=q(ia),a;if(e[0]!==n||e[1]!==r){let y;e[3]===n?y=e[4]:(y=b=>b.name===n,e[3]=n,e[4]=y),a=r.find(y),e[0]=n,e[1]=r,e[2]=a}else a=e[2];let o=a;if(!o){let y;return e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)("div",{className:Hr,children:(0,h.jsx)("span",{className:"text-xs text-(--slate-11)",children:"No storage information available."})}),e[5]=y):y=e[5],y}let i;e[6]===o.protocol?i=e[7]:(i=(0,h.jsx)(ph,{protocol:o.protocol,className:"w-4 h-4"}),e[6]=o.protocol,e[7]=i);let s;e[8]===o.protocol?s=e[9]:(s=(0,h.jsx)(bh,{variant:"outline",className:"text-xs",children:o.protocol}),e[8]=o.protocol,e[9]=s);let c;e[10]!==o.displayName||e[11]!==i||e[12]!==s?(c=(0,h.jsx)(Ui,{icon:i,title:o.displayName,badge:s}),e[10]=o.displayName,e[11]=i,e[12]=s,e[13]=c):c=e[13];let l;e[14]===o.name?l=e[15]:(l=(0,h.jsx)(nt,{label:"Variable",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:o.name})}),e[14]=o.name,e[15]=l);let u=o.rootPath||"(root)",d;e[16]===u?d=e[17]:(d=(0,h.jsx)(nt,{label:"Root",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:u})}),e[16]=u,e[17]=d);let p;e[18]===o.backendType?p=e[19]:(p=(0,h.jsx)(nt,{label:"Backend",value:(0,h.jsx)("span",{className:"font-medium",children:o.backendType})}),e[18]=o.backendType,e[19]=p);let f;e[20]!==l||e[21]!==d||e[22]!==p?(f=(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[l,d,p]}),e[20]=l,e[21]=d,e[22]=p,e[23]=f):f=e[23];let m;return e[24]!==c||e[25]!==f?(m=(0,h.jsxs)("div",{className:Hr,children:[c,f]}),e[24]=c,e[25]=f,e[26]=m):m=e[26],m},Sl=/\bhits=(\d+) misses=(\d+)/,tn=null,kl=5e3;function Cl(){let t=Date.now();tn!=null&&t-tn<kl||(tn=t,Xi().getCacheInfo().catch(()=>{tn=null}))}var Tl=t=>{var k,_;let e=(0,_t.c)(16),{boundName:n,cacheName:r}=t,{locale:a}=kh(),o=q(Fn),i=q(Rh),s=n?o[n]:void 0,c;e[0]===s?c=e[1]:(c=(k=s==null?void 0:s.dataType)!=null&&k.startsWith("_cache_call")?(_=s.value)==null?void 0:_.match(Sl):void 0,e[0]=s,e[1]=c);let l=c,u=!!l,d,p;e[2]===u?(d=e[3],p=e[4]):(d=()=>{u||Cl()},p=[u],e[2]=u,e[3]=d,e[4]=p),(0,N.useEffect)(d,p);let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,h.jsx)(dh,{className:"w-4 h-4 text-(--amber-9)"}),e[5]=f):f=e[5];let m=r??n??"Cache",y;e[6]===m?y=e[7]:(y=(0,h.jsx)(Ui,{icon:f,title:m}),e[6]=m,e[7]=y);let b;e[8]!==i||e[9]!==a||e[10]!==l?(b=l?(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)(nt,{label:"Hits",value:(0,h.jsx)("span",{className:"font-medium",children:zn(Number(l[1]),a)})}),(0,h.jsx)(nt,{label:"Misses",value:(0,h.jsx)("span",{className:"font-medium",children:zn(Number(l[2]),a)})})]}):i&&(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)("span",{className:"text-xs font-medium text-(--slate-11)",children:"Notebook-wide"}),(0,h.jsx)(nt,{label:"Hits",value:zn(i.hits,a)}),(0,h.jsx)(nt,{label:"Misses",value:zn(i.misses,a)}),(0,h.jsx)(nt,{label:"Time saved",value:Bh(i.time,a)})]}),e[8]=i,e[9]=a,e[10]=l,e[11]=b):b=e[11];let v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=(0,h.jsx)("div",{className:"pt-2 text-xs text-(--slate-10)",children:"Click to open the cache panel"}),e[12]=v):v=e[12];let S;return e[13]!==y||e[14]!==b?(S=(0,h.jsxs)("div",{className:Hr,children:[y,b,v]}),e[13]=y,e[14]=b,e[15]=S):S=e[15],S},or=ce.define(),ir=ce.define();function sr(t,e){var n,r,a,o;return t.pos===e.pos&&t.kind===e.kind&&t.name===e.name&&((n=t.cache)==null?void 0:n.boundName)===((r=e.cache)==null?void 0:r.boundName)&&((a=t.cache)==null?void 0:a.cacheName)===((o=e.cache)==null?void 0:o.cacheName)}var Nl=class{constructor(t){this.view=t}enterLens(t,e){this.clearTimers(),Il(this.view,e);let n=this.view.state.field(lr,!1);n&&sr(n.spec,t)||(this.showTimer=window.setTimeout(()=>{this.showTimer=void 0,this.view.dispatch({effects:ir.of(t)})},400))}leave(){this.clearTimers(),this.hideTimer=window.setTimeout(()=>{this.hideTimer=void 0,this.hide()},200)}enterPopover(){window.clearTimeout(this.hideTimer),this.hideTimer=void 0}hide(){this.clearTimers(),this.view.state.field(lr,!1)&&this.view.dispatch({effects:ir.of(null)})}destroy(){this.clearTimers()}clearTimers(){window.clearTimeout(this.showTimer),window.clearTimeout(this.hideTimer),this.showTimer=void 0,this.hideTimer=void 0}},nn=ze.define(t=>new Nl(t));function Il(t,e){t.dom.dispatchEvent(new MouseEvent("mouseleave",{relatedTarget:e}))}var Al=class extends $t{constructor(t){super(),this.spec=t}eq(t){return sr(this.spec,t.spec)}toDOM(t){let{spec:e}=this,n=document.createElement("span");n.className="mo-code-lens",n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-label",hl[e.kind]),n.innerHTML=pl[e.kind];let r=()=>t.plugin(nn),a=()=>{var o;return(o=r())==null?void 0:o.hide()};return n.onmouseenter=()=>{var o;return(o=r())==null?void 0:o.enterLens(e,n)},n.onmouseleave=()=>{var o;return(o=r())==null?void 0:o.leave()},n.onmousemove=o=>{o.stopPropagation()},n.onmousedown=o=>{o.preventDefault(),o.stopPropagation()},n.onclick=o=>{o.preventDefault(),o.stopPropagation(),a(),ka(e.kind)},n.onkeydown=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),o.stopPropagation(),a(),ka(e.kind))},n}ignoreEvent(){return!0}};function Ll(t){return{spec:t,tooltip:{pos:t.pos,above:!0,create:e=>{let n=document.createElement("div");return n.classList.add("mo-cm-tooltip","docs-documentation"),n.onmouseenter=()=>{var r;return(r=e.plugin(nn))==null?void 0:r.enterPopover()},n.onmouseleave=()=>{var r;return(r=e.plugin(nn))==null?void 0:r.leave()},{dom:n,resize:!1,destroy:bl(n,t)}}}}}var lr=We.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(ir))return n.value?Ll(n.value):null;if(n.is(or)&&t)return n.value.some(r=>sr(r,t.spec))?t:null}return e.docChanged?null:t},provide:t=>xp.from(t,e=>(e==null?void 0:e.tooltip)??null)}),Ol=We.define({create(){return V.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)n.is(or)&&(t=V.set(n.value.map(r=>V.widget({widget:new Al(r),side:1}).range(r.pos)),!0));return t},provide:t=>R.decorations.from(t)}),_l=class{constructor(t,e,n){g(this,"debounceMs",300);this.view=t,this.cellId=e,this.includeCache=n,this.scheduleUpdate=Mm(()=>this.run(),this.debounceMs);let r=()=>this.scheduleUpdate();this.unsubscribes=[J.sub(Wr,r),J.sub(Vr,r),J.sub(ia,r),J.sub(Fn,r)],this.scheduleUpdate()}update(t){var n,r;let e=((n=t.startState.field(dt,!1))==null?void 0:n.type)!==((r=t.state.field(dt,!1))==null?void 0:r.type);(t.docChanged||e)&&this.scheduleUpdate()}destroy(){this.scheduleUpdate.cancel();for(let t of this.unsubscribes)t()}run(){var r;let{state:t}=this.view,e=[],n=(r=t.field(dt,!1))==null?void 0:r.type;if(n==null||n==="python"){let a=ml(this.cellId),o=ol({state:t,names:new Set(a.keys())});for(let i of o){let s=a.get(i.name);s&&e.push({pos:i.to,kind:s,name:i.name})}if(this.includeCache)for(let i of ul(t))e.push({pos:i.to,kind:"cache",name:`cache:${i.from}`,cache:{boundName:i.boundName,cacheName:i.cacheName}})}queueMicrotask(()=>{this.view.dispatch({effects:or.of(e)})})}},rn="3px",Ul=R.baseTheme({".mo-code-lens":{display:"inline-flex",verticalAlign:"baseline",transform:"translateY(1.5px)",padding:rn,margin:`-${rn} 0 -${rn} calc(0.3em - ${rn})`,cursor:"pointer",opacity:"0.5"},".mo-code-lens:hover":{opacity:"1"}});function jl(t,e=!0){return e?[Ol,lr,nn,ze.define(n=>new _l(n,t,vi("cache_panel"))),Ul]:[]}var Pl=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],cr;function Dl(){let t=async r=>{let a=J.get(Xr),{saveUserConfig:o}=Xi();await o({config:{runtime:{auto_reload:r}}}).then(()=>J.set(Xr,{...a,runtime:{...a.runtime,auto_reload:r}}))},e=[{match:"!pip install",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await t("autorun")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await t("lazy")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await t("off")},title:"Module reload",description:(0,h.jsx)(h.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,h.jsxs)(h.Fragment,{children:["Shell commands are not directly supported.",(0,h.jsx)("br",{}),"Use ",(0,h.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...Pl.map(r=>({match:r,onMatch:()=>{},title:(0,h.jsx)(Ih,{className:"inline",children:r}),description:(0,h.jsxs)(h.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,h.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(e.map(r=>[r.match,r]));return R.updateListener.of(r=>{if(r.docChanged){let a=r.state.selection.main,o=r.state.doc,i=o.lineAt(a.head),s=o.sliceString(i.from,a.anchor).trim(),c=n.get(s);c&&(c.onMatch(),cr?cr.upsert({title:c.title,description:c.description}):cr=kt({title:c.title,description:c.description}))}})}var Ta=new Set(["Escape","Alt-`"]);function Ml(t,e=Ta){return t.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>e.has(r)))}function Fl(t=!0){let e=new Set(Ta);t||e.add("Enter");let n=Ml($p,e);return mt.highest(He.of([...n,{key:"Ctrl-y",run:r=>Rn(r)?Yi(r):!1},{key:"Ctrl-n",run:r=>Rn(r)?qn(!0)(r):!1},{key:"Ctrl-p",run:r=>Rn(r)?qn(!1)(r):!1}]))}const ur=ce.define(),dr=ce.define(),fr=ce.define();function z(t,e){if(!t)throw Error(e)}var Rl=3402823466385289e23,Bl=-3402823466385289e23,Gl=4294967295,Jl=2147483647,Vl=-2147483648;function an(t){if(typeof t!="number")throw Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Jl||t<Vl)throw Error("invalid int 32: "+t)}function mr(t){if(typeof t!="number")throw Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>Gl||t<0)throw Error("invalid uint 32: "+t)}function Na(t){if(typeof t!="number")throw Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>Rl||t<Bl))throw Error("invalid float 32: "+t)}var Ia=Symbol("@bufbuild/protobuf/enum-type");function $l(t){let e=t[Ia];return z(e,"missing enum type on enum object"),e}function Aa(t,e,n,r){t[Ia]=La(e,n.map(a=>({no:a.no,name:a.name,localName:t[a.no]})),r)}function La(t,e,n){let r=Object.create(null),a=Object.create(null),o=[];for(let i of e){let s=Oa(i);o.push(s),r[i.name]=s,a[i.no]=s}return{typeName:t,values:o,findName(i){return r[i]},findNumber(i){return a[i]}}}function Wl(t,e,n){let r={};for(let a of e){let o=Oa(a);r[o.localName]=o.no,r[o.no]=o.localName}return Aa(r,t,e,n),r}function Oa(t){return"localName"in t?t:Object.assign(Object.assign({},t),{localName:t.name})}var X=class{equals(t){return this.getType().runtime.util.equals(this.getType(),this,t)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(t,e){let n=this.getType().runtime.bin,r=n.makeReadOptions(e);return n.readMessage(this,r.readerFactory(t),t.byteLength,r),this}fromJson(t,e){let n=this.getType(),r=n.runtime.json,a=r.makeReadOptions(e);return r.readMessage(n,t,a,this),this}fromJsonString(t,e){let n;try{n=JSON.parse(t)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,e)}toBinary(t){let e=this.getType().runtime.bin,n=e.makeWriteOptions(t),r=n.writerFactory();return e.writeMessage(this,r,n),r.finish()}toJson(t){let e=this.getType().runtime.json,n=e.makeWriteOptions(t);return e.writeMessage(this,n)}toJsonString(t){let e=this.toJson(t);return JSON.stringify(e,null,(t==null?void 0:t.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function ql(t,e,n,r){let a=(r==null?void 0:r.localName)??e.substring(e.lastIndexOf(".")+1),o={[a]:function(i){t.util.initFields(this),t.util.initPartial(i,this)}}[a];return Object.setPrototypeOf(o.prototype,new X),Object.assign(o,{runtime:t,typeName:e,fields:t.util.newFieldList(n),fromBinary(i,s){return new o().fromBinary(i,s)},fromJson(i,s){return new o().fromJson(i,s)},fromJsonString(i,s){return new o().fromJsonString(i,s)},equals(i,s){return t.util.equals(o,i,s)}}),o}function Hl(){let t=0,e=0;for(let r=0;r<28;r+=7){let a=this.buf[this.pos++];if(t|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,!(n&128))return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let a=this.buf[this.pos++];if(e|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}throw Error("invalid varint")}function pr(t,e,n){for(let o=0;o<28;o+=7){let i=t>>>o,s=!(!(i>>>7)&&e==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=t>>>28&15|(e&7)<<4,a=!!(e>>3);if(n.push((a?r|128:r)&255),a){for(let o=3;o<31;o+=7){let i=e>>>o,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(e>>>31&1)}}var on=4294967296;function _a(t){let e=t[0]==="-";e&&(t=t.slice(1));let n=1e6,r=0,a=0;function o(i,s){let c=Number(t.slice(i,s));a*=n,r=r*n+c,r>=on&&(a+=r/on|0,r%=on)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),e?ja(r,a):hr(r,a)}function zl(t,e){let n=hr(t,e),r=n.hi&2147483648;r&&(n=ja(n.lo,n.hi));let a=Ua(n.lo,n.hi);return r?"-"+a:a}function Ua(t,e){if({lo:t,hi:e}=Yl(t,e),e<=2097151)return String(on*e+t);let n=t&16777215,r=(t>>>24|e<<8)&16777215,a=e>>16&65535,o=n+r*6777216+a*6710656,i=r+a*8147497,s=a*2,c=1e7;return o>=c&&(i+=Math.floor(o/c),o%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+Pa(i)+Pa(o)}function Yl(t,e){return{lo:t>>>0,hi:e>>>0}}function hr(t,e){return{lo:t|0,hi:e|0}}function ja(t,e){return e=~e,t?t=~t+1:e+=1,hr(t,e)}var Pa=t=>{let e=String(t);return"0000000".slice(e.length)+e};function Da(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t>>>=7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t>>=7;e.push(1)}}function Kl(){let t=this.buf[this.pos++],e=t&127;if(!(t&128)||(t=this.buf[this.pos++],e|=(t&127)<<7,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<14,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<21,!(t&128)))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;t&128&&n<10;n++)t=this.buf[this.pos++];if(t&128)throw Error("invalid varint");return this.assertBounds(),e>>>0}function Xl(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),a=BigInt("9223372036854775807"),o=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>a||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<o)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return t.setBigInt64(0,this.parse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(s){return t.setBigInt64(0,this.uParse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigInt64(0,!0)},uDec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigUint64(0,!0)}}}let e=r=>z(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>z(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),e(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),e(r),_a(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),_a(r)},dec(r,a){return zl(r,a)},uDec(r,a){return Ua(r,a)}}}const W=Xl();var w;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(w||(w={}));var st;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING"})(st||(st={}));function et(t,e,n){if(e===n)return!0;if(t==w.BYTES){if(!(e instanceof Uint8Array)||!(n instanceof Uint8Array)||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}switch(t){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==n}return!1}function gt(t,e){switch(t){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==0?W.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function Ma(t,e){switch(t){case w.BOOL:return e===!1;case w.STRING:return e==="";case w.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var Z;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Z||(Z={}));var Ql=class{constructor(t){this.stack=[],this.textEncoder=t??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let t=0;for(let r=0;r<this.chunks.length;r++)t+=this.chunks[r].length;let e=new Uint8Array(t),n=0;for(let r=0;r<this.chunks.length;r++)e.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],e}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),e=this.stack.pop();if(!e)throw Error("invalid state, fork stack empty");return this.chunks=e.chunks,this.buf=e.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,e){return this.uint32((t<<3|e)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(mr(t);t>127;)this.buf.push(t&127|128),t>>>=7;return this.buf.push(t),this}int32(t){return an(t),Da(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let e=this.textEncoder.encode(t);return this.uint32(e.byteLength),this.raw(e)}float(t){Na(t);let e=new Uint8Array(4);return new DataView(e.buffer).setFloat32(0,t,!0),this.raw(e)}double(t){let e=new Uint8Array(8);return new DataView(e.buffer).setFloat64(0,t,!0),this.raw(e)}fixed32(t){mr(t);let e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t,!0),this.raw(e)}sfixed32(t){an(t);let e=new Uint8Array(4);return new DataView(e.buffer).setInt32(0,t,!0),this.raw(e)}sint32(t){return an(t),t=(t<<1^t>>31)>>>0,Da(t,this.buf),this}sfixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.enc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}fixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.uEnc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}int64(t){let e=W.enc(t);return pr(e.lo,e.hi,this.buf),this}sint64(t){let e=W.enc(t),n=e.hi>>31;return pr(e.lo<<1^n,(e.hi<<1|e.lo>>>31)^n,this.buf),this}uint64(t){let e=W.uEnc(t);return pr(e.lo,e.hi,this.buf),this}},Zl=class{constructor(t,e){this.varint64=Hl,this.uint32=Kl,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=e??new TextDecoder}tag(){let t=this.uint32(),e=t>>>3,n=t&7;if(e<=0||n<0||n>5)throw Error("illegal tag: field no "+e+" wire type "+n);return[e,n]}skip(t,e){let n=this.pos;switch(t){case Z.Varint:for(;this.buf[this.pos++]&128;);break;case Z.Bit64:this.pos+=4;case Z.Bit32:this.pos+=4;break;case Z.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Z.StartGroup:for(;;){let[a,o]=this.tag();if(o===Z.EndGroup){if(e!==void 0&&a!==e)throw Error("invalid end group tag");break}this.skip(o,a)}break;default:throw Error("cant skip wire type "+t)}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 t=this.uint32();return t>>>1^-(t&1)}int64(){return W.dec(...this.varint64())}uint64(){return W.uDec(...this.varint64())}sint64(){let[t,e]=this.varint64(),n=-(t&1);return t=(t>>>1|(e&1)<<31)^n,e=e>>>1^n,W.dec(t,e)}bool(){let[t,e]=this.varint64();return t!==0||e!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return W.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return W.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 t=this.uint32(),e=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(e,e+t)}string(){return this.textDecoder.decode(this.bytes())}};function ec(t,e,n,r){let a;return{typeName:e,extendee:n,get field(){if(!a){let o=typeof r=="function"?r():r;o.name=e.split(".").pop(),o.jsonName=`[${e}]`,a=t.util.newFieldList([o]).list()[0]}return a},runtime:t}}function Fa(t){let e=t.field.localName,n=Object.create(null);return n[e]=tc(t),[n,()=>n[e]]}function tc(t){let e=t.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return gt(e.T,e.L);case"message":let n=e.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function nc(t,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.no)return[t[n]];return[]}return t.filter(n=>n.no===e.no)}var Xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),sn=[];for(let t=0;t<Xe.length;t++)sn[Xe[t].charCodeAt(0)]=t;sn[45]=Xe.indexOf("+"),sn[95]=Xe.indexOf("/");const ln={dec(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&--e;let n=new Uint8Array(e),r=0,a=0,o,i=0;for(let s=0;s<t.length;s++){if(o=sn[t.charCodeAt(s)],o===void 0)switch(t[s]){case"=":a=0;case`
|
|
13
|
+
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:i=o,a=1;break;case 1:n[r++]=i<<2|(o&48)>>4,i=o,a=2;break;case 2:n[r++]=(i&15)<<4|(o&60)>>2,i=o,a=3;break;case 3:n[r++]=(i&3)<<6|o,a=0;break}}if(a==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(t){let e="",n=0,r,a=0;for(let o=0;o<t.length;o++)switch(r=t[o],n){case 0:e+=Xe[r>>2],a=(r&3)<<4,n=1;break;case 1:e+=Xe[a|r>>4],a=(r&15)<<2,n=2;break;case 2:e+=Xe[a|r>>6],e+=Xe[r&63],n=0;break}return n&&(e+=Xe[a],e+="=",n==1&&(e+="=")),e}};function rc(t,e,n){Ba(e,t);let r=e.runtime.bin.makeReadOptions(n),a=nc(t.getType().runtime.bin.listUnknownFields(t),e.field),[o,i]=Fa(e);for(let s of a)e.runtime.bin.readField(o,r.readerFactory(s.data),e.field,s.wireType,r);return i()}function ac(t,e,n,r){Ba(e,t);let a=e.runtime.bin.makeReadOptions(r),o=e.runtime.bin.makeWriteOptions(r);if(Ra(t,e)){let l=t.getType().runtime.bin.listUnknownFields(t).filter(u=>u.no!=e.field.no);t.getType().runtime.bin.discardUnknownFields(t);for(let u of l)t.getType().runtime.bin.onUnknownField(t,u.no,u.wireType,u.data)}let i=o.writerFactory(),s=e.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(s,n,i,o);let c=a.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);t.getType().runtime.bin.onUnknownField(t,l,u,d)}}function Ra(t,e){let n=t.getType();return e.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(t).find(r=>r.no==e.field.no)}function Ba(t,e){z(t.extendee.typeName==e.getType().typeName,`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}function Ga(t,e){let n=t.localName;if(t.repeated)return e[n].length>0;if(t.oneof)return e[t.oneof.localName].case===n;switch(t.kind){case"enum":case"scalar":return t.opt||t.req?e[n]!==void 0:t.kind=="enum"?e[n]!==t.T.values[0].no:!Ma(t.T,e[n]);case"message":return e[n]!==void 0;case"map":return Object.keys(e[n]).length>0}}function Ja(t,e){let n=t.localName,r=!t.opt&&!t.req;if(t.repeated)e[n]=[];else if(t.oneof)e[t.oneof.localName]={case:void 0};else switch(t.kind){case"map":e[n]={};break;case"enum":e[n]=r?t.T.values[0].no:void 0;break;case"scalar":e[n]=r?gt(t.T,t.L):void 0;break;case"message":e[n]=void 0;break}}function Qe(t,e){if(typeof t!="object"||!t||!Object.getOwnPropertyNames(X.prototype).every(r=>r in t&&typeof t[r]=="function"))return!1;let n=t.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:e===void 0?!0:n.typeName==e.typeName}function Va(t,e){return Qe(e)||!t.fieldWrapper?e:t.fieldWrapper.wrapField(e)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var $a={ignoreUnknownFields:!1},Wa={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function oc(t){return t?Object.assign(Object.assign({},$a),t):$a}function ic(t){return t?Object.assign(Object.assign({},Wa),t):Wa}var cn=Symbol(),un=Symbol();function sc(){return{makeReadOptions:oc,makeWriteOptions:ic,readMessage(t,e,n,r){if(e==null||Array.isArray(e)||typeof e!="object")throw Error(`cannot decode message ${t.typeName} from JSON: ${Ye(e)}`);r??(r=new t);let a=new Map,o=n.typeRegistry;for(let[i,s]of Object.entries(e)){let c=t.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=a.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${t.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);a.set(c.oneof,i)}qa(r,s,c,n,t)}else{let l=!1;if(o!=null&&o.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=o.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==t.typeName){l=!0;let[d,p]=Fa(u);qa(d,s,u.field,n,u),ac(r,u,p(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${t.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(t,e){let n=t.getType(),r={},a;try{for(a of n.fields.byNumber()){if(!Ga(a,t)){if(a.req)throw"required field not set";if(!e.emitDefaultValues||!cc(a))continue}let i=a.oneof?t[a.oneof.localName].value:t[a.localName],s=Ha(a,i,e);s!==void 0&&(r[e.useProtoFieldName?a.name:a.jsonName]=s)}let o=e.typeRegistry;if(o!=null&&o.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(t)){let s=o.findExtensionFor(n.typeName,i.no);if(s&&Ra(t,s)){let c=rc(t,s,e),l=Ha(s.field,c,e);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(o){let i=a?`cannot encode field ${n.typeName}.${a.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=o instanceof Error?o.message:String(o);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(t,e,n){return Ut(t,e,n??st.BIGINT,!0)},writeScalar(t,e,n){if(e!==void 0&&(n||Ma(t,e)))return dn(t,e)},debug:Ye}}function Ye(t){if(t===null)return"null";switch(typeof t){case"object":return Array.isArray(t)?"array":"object";case"string":return t.length>100?"string":`"${t.split('"').join('\\"')}"`;default:return String(t)}}function qa(t,e,n,r,a){let o=n.localName;if(n.repeated){if(z(n.kind!="map"),e===null)return;if(!Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`);let i=t[o];for(let s of e){if(s===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=gr(n.T,s,r.ignoreUnknownFields,!0);c!==un&&i.push(c);break;case"scalar":try{i.push(Ut(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`);let i=t[o];for(let[s,c]of Object.entries(e)){if(c===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: map value null`);let l;try{l=lc(n.K,s)}catch(u){let d=`cannot decode map key for field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;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=gr(n.V.T,c,r.ignoreUnknownFields,!0);u!==un&&(i[l]=u);break;case"scalar":try{i[l]=Ut(n.V.T,c,st.BIGINT,!0)}catch(d){let p=`cannot decode map value for field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),Error(p)}break}}}else switch(n.oneof&&(t=t[n.oneof.localName]={case:o},o="value"),n.kind){case"message":let i=n.T;if(e===null&&i.typeName!="google.protobuf.Value")return;let s=t[o];Qe(s)?s.fromJson(e,r):(t[o]=s=i.fromJson(e,r),i.fieldWrapper&&!n.oneof&&(t[o]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=gr(n.T,e,r.ignoreUnknownFields,!1);switch(c){case cn:Ja(n,t);break;case un:break;default:t[o]=c;break}break;case"scalar":try{let l=Ut(n.T,e,n.L,!1);l===cn?Ja(n,t):t[o]=l}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function lc(t,e){if(t===w.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return Ut(t,e,st.BIGINT,!0).toString()}function Ut(t,e,n,r){if(e===null)return r?gt(t,n):cn;switch(t){case w.DOUBLE:case w.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return 1/0;if(e==="-Infinity")return-1/0;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;let a=Number(e);if(Number.isNaN(a)||!Number.isFinite(a))break;return t==w.FLOAT&&Na(a),a;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let o;if(typeof e=="number"?o=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(o=Number(e)),o===void 0)break;return t==w.UINT32||t==w.FIXED32?mr(o):an(o),o;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof e!="number"&&typeof e!="string")break;let i=W.parse(e);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof e!="number"&&typeof e!="string")break;let s=W.uParse(e);return n?s.toString():s;case w.BOOL:if(typeof e!="boolean")break;return e;case w.STRING:if(typeof e!="string")break;return e;case w.BYTES:if(e==="")return new Uint8Array;if(typeof e!="string")break;return ln.dec(e)}throw Error()}function gr(t,e,n,r){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:r?t.values[0].no:cn;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":let a=t.findName(e);if(a!==void 0)return a.no;if(n)return un;break}throw Error(`cannot decode enum ${t.typeName} from JSON: ${Ye(e)}`)}function cc(t){return t.repeated||t.kind=="map"?!0:!(t.oneof||t.kind=="message"||t.opt||t.req)}function Ha(t,e,n){if(t.kind=="map"){z(typeof e=="object"&&!!e);let r={},a=Object.entries(e);switch(t.V.kind){case"scalar":for(let[i,s]of a)r[i.toString()]=dn(t.V.T,s);break;case"message":for(let[i,s]of a)r[i.toString()]=s.toJson(n);break;case"enum":let o=t.V.T;for(let[i,s]of a)r[i.toString()]=yr(o,s,n.enumAsInteger);break}return n.emitDefaultValues||a.length>0?r:void 0}if(t.repeated){z(Array.isArray(e));let r=[];switch(t.kind){case"scalar":for(let a=0;a<e.length;a++)r.push(dn(t.T,e[a]));break;case"enum":for(let a=0;a<e.length;a++)r.push(yr(t.T,e[a],n.enumAsInteger));break;case"message":for(let a=0;a<e.length;a++)r.push(e[a].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(t.kind){case"scalar":return dn(t.T,e);case"enum":return yr(t.T,e,n.enumAsInteger);case"message":return Va(t.T,e).toJson(n)}}function yr(t,e,n){var r;return z(typeof e=="number"),t.typeName=="google.protobuf.NullValue"?null:n?e:((r=t.findNumber(e))==null?void 0:r.name)??e}function dn(t,e){switch(t){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return z(typeof e=="number"),e;case w.FLOAT:case w.DOUBLE:return z(typeof e=="number"),Number.isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":e;case w.STRING:return z(typeof e=="string"),e;case w.BOOL:return z(typeof e=="boolean"),e;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return z(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case w.BYTES:return z(e instanceof Uint8Array),ln.enc(e)}}var yt=Symbol("@bufbuild/protobuf/unknown-fields"),za={readUnknownFields:!0,readerFactory:t=>new Zl(t)},Ya={writeUnknownFields:!0,writerFactory:()=>new Ql};function uc(t){return t?Object.assign(Object.assign({},za),t):za}function dc(t){return t?Object.assign(Object.assign({},Ya),t):Ya}function fc(){return{makeReadOptions:uc,makeWriteOptions:dc,listUnknownFields(t){return t[yt]??[]},discardUnknownFields(t){delete t[yt]},writeUnknownFields(t,e){let n=t[yt];if(n)for(let r of n)e.tag(r.no,r.wireType).raw(r.data)},onUnknownField(t,e,n,r){let a=t;Array.isArray(a[yt])||(a[yt]=[]),a[yt].push({no:e,wireType:n,data:r})},readMessage(t,e,n,r,a){let o=t.getType(),i=a?e.len:e.pos+n,s,c;for(;e.pos<i&&([s,c]=e.tag(),!(a===!0&&c==Z.EndGroup));){let l=o.fields.find(s);if(!l){let u=e.skip(c,s);r.readUnknownFields&&this.onUnknownField(t,s,c,u);continue}Ka(t,e,l,c,r)}if(a&&(c!=Z.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ka,writeMessage(t,e,n){let r=t.getType();for(let a of r.fields.byNumber()){if(!Ga(a,t)){if(a.req)throw Error(`cannot encode field ${r.typeName}.${a.name} to binary: required field not set`);continue}Xa(a,a.oneof?t[a.oneof.localName].value:t[a.localName],e,n)}return n.writeUnknownFields&&this.writeUnknownFields(t,e),e},writeField(t,e,n,r){e!==void 0&&Xa(t,e,n,r)}}}function Ka(t,e,n,r,a){let{repeated:o,localName:i}=n;switch(n.oneof&&(t=t[n.oneof.localName],t.case!=i&&delete t.value,t.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=mn;if(n.kind=="scalar"&&n.L>0&&(c=pc),o){let p=t[i];if(r==Z.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=e.uint32()+e.pos;for(;e.pos<f;)p.push(c(e,s))}else p.push(c(e,s))}else t[i]=c(e,s);break;case"message":let l=n.T;o?t[i].push(fn(e,new l,a,n)):Qe(t[i])?fn(e,t[i],a,n):(t[i]=fn(e,new l,a,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(t[i]=l.fieldWrapper.unwrapField(t[i])));break;case"map":let[u,d]=mc(n,e,a);t[i][u]=d;break}}function fn(t,e,n,r){let a=e.getType().runtime.bin,o=r==null?void 0:r.delimited;return a.readMessage(e,t,o?r.no:t.uint32(),n,o),e}function mc(t,e,n){let r=e.uint32(),a=e.pos+r,o,i;for(;e.pos<a;){let[s]=e.tag();switch(s){case 1:o=mn(e,t.K);break;case 2:switch(t.V.kind){case"scalar":i=mn(e,t.V.T);break;case"enum":i=e.int32();break;case"message":i=fn(e,new t.V.T,n,void 0);break}break}}if(o===void 0&&(o=gt(t.K,st.BIGINT)),typeof o!="string"&&typeof o!="number"&&(o=o.toString()),i===void 0)switch(t.V.kind){case"scalar":i=gt(t.V.T,st.BIGINT);break;case"enum":i=t.V.T.values[0].no;break;case"message":i=new t.V.T;break}return[o,i]}function pc(t,e){let n=mn(t,e);return typeof n=="bigint"?n.toString():n}function mn(t,e){switch(e){case w.STRING:return t.string();case w.BOOL:return t.bool();case w.DOUBLE:return t.double();case w.FLOAT:return t.float();case w.INT32:return t.int32();case w.INT64:return t.int64();case w.UINT64:return t.uint64();case w.FIXED64:return t.fixed64();case w.BYTES:return t.bytes();case w.FIXED32:return t.fixed32();case w.SFIXED32:return t.sfixed32();case w.SFIXED64:return t.sfixed64();case w.SINT64:return t.sint64();case w.UINT32:return t.uint32();case w.SINT32:return t.sint32()}}function Xa(t,e,n,r){z(e!==void 0);let a=t.repeated;switch(t.kind){case"scalar":case"enum":let o=t.kind=="enum"?w.INT32:t.T;if(a)if(z(Array.isArray(e)),t.packed)gc(n,o,t.no,e);else for(let i of e)jt(n,o,t.no,i);else jt(n,o,t.no,e);break;case"message":if(a){z(Array.isArray(e));for(let i of e)Qa(n,r,t,i)}else Qa(n,r,t,e);break;case"map":z(typeof e=="object"&&!!e);for(let[i,s]of Object.entries(e))hc(n,r,t,i,s);break}}function hc(t,e,n,r,a){t.tag(n.no,Z.LengthDelimited),t.fork();let o=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:o=Number.parseInt(r);break;case w.BOOL:z(r=="true"||r=="false"),o=r=="true";break}switch(jt(t,n.K,1,o),n.V.kind){case"scalar":jt(t,n.V.T,2,a);break;case"enum":jt(t,w.INT32,2,a);break;case"message":z(a!==void 0),t.tag(2,Z.LengthDelimited).bytes(a.toBinary(e));break}t.join()}function Qa(t,e,n,r){let a=Va(n.T,r);n.delimited?t.tag(n.no,Z.StartGroup).raw(a.toBinary(e)).tag(n.no,Z.EndGroup):t.tag(n.no,Z.LengthDelimited).bytes(a.toBinary(e))}function jt(t,e,n,r){z(r!==void 0);let[a,o]=Za(e);t.tag(n,a)[o](r)}function gc(t,e,n,r){if(!r.length)return;t.tag(n,Z.LengthDelimited).fork();let[,a]=Za(e);for(let o=0;o<r.length;o++)t[a](r[o]);t.join()}function Za(t){let e=Z.Varint;switch(t){case w.BYTES:case w.STRING:e=Z.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:e=Z.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:e=Z.Bit32;break}let n=w[t].toLowerCase();return[e,n]}function yc(){return{setEnumType:Aa,initPartial(t,e){if(t===void 0)return;let n=e.getType();for(let r of n.fields.byMember()){let a=r.localName,o=e,i=t;if(i[a]!=null)switch(r.kind){case"oneof":let s=i[a].case;if(s===void 0)continue;let c=r.findField(s),l=i[a].value;c&&c.kind=="message"&&!Qe(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Pt(l)),o[a]={case:s,value:l};break;case"scalar":case"enum":let u=i[a];r.T===w.BYTES&&(u=r.repeated?u.map(Pt):Pt(u)),o[a]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,m]of Object.entries(i[a]))o[a][f]=Pt(m);else Object.assign(o[a],i[a]);break;case"message":let p=r.V.T;for(let f of Object.keys(i[a])){let m=i[a][f];p.fieldWrapper||(m=new p(m)),o[a][f]=m}break}break;case"message":let d=r.T;if(r.repeated)o[a]=i[a].map(p=>Qe(p,d)?p:new d(p));else{let p=i[a];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?o[a]=Pt(p):o[a]=p:o[a]=Qe(p,d)?p:new d(p)}break}}},equals(t,e,n){return e===n?!0:!e||!n?!1:t.fields.byMember().every(r=>{let a=e[r.localName],o=n[r.localName];if(r.repeated){if(a.length!==o.length)return!1;switch(r.kind){case"message":return a.every((i,s)=>r.T.equals(i,o[s]));case"scalar":return a.every((i,s)=>et(r.T,i,o[s]));case"enum":return a.every((i,s)=>et(w.INT32,i,o[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=a,s=o;return r.T.fieldWrapper&&(i!==void 0&&!Qe(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Qe(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return et(w.INT32,a,o);case"scalar":return et(r.T,a,o);case"oneof":if(a.case!==o.case)return!1;let c=r.findField(a.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(a.value,o.value);case"enum":return et(w.INT32,a.value,o.value);case"scalar":return et(c.T,a.value,o.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(a).concat(Object.keys(o));switch(r.V.kind){case"message":let u=r.V.T;return l.every(p=>u.equals(a[p],o[p]));case"enum":return l.every(p=>et(w.INT32,a[p],o[p]));case"scalar":let d=r.V.T;return l.every(p=>et(d,a[p],o[p]))}break}})},clone(t){let e=t.getType(),n=new e,r=n;for(let a of e.fields.byMember()){let o=t[a.localName],i;if(a.repeated)i=o.map(pn);else if(a.kind=="map"){i=r[a.localName];for(let[s,c]of Object.entries(o))i[s]=pn(c)}else i=a.kind=="oneof"?a.findField(o.case)?{case:o.case,value:pn(o.value)}:{case:void 0}:pn(o);r[a.localName]=i}for(let a of e.runtime.bin.listUnknownFields(t))e.runtime.bin.onUnknownField(r,a.no,a.wireType,a.data);return n}}}function pn(t){if(t===void 0)return t;if(Qe(t))return t.clone();if(t instanceof Uint8Array){let e=new Uint8Array(t.byteLength);return e.set(t),e}return t}function Pt(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function bc(t,e,n){return{syntax:t,json:sc(),bin:fc(),util:Object.assign(Object.assign({},yc()),{newFieldList:e,initFields:n}),makeMessageType(r,a,o){return ql(this,r,a,o)},makeEnum:Wl,makeEnumType:La,getEnumType:$l,makeExtension(r,a,o){return ec(this,r,a,o)}}}var wc=class{constructor(t,e){this._fields=t,this._normalizer=e}findJsonName(t){if(!this.jsonNames){let e={};for(let n of this.list())e[n.jsonName]=e[n.name]=n;this.jsonNames=e}return this.jsonNames[t]}find(t){if(!this.numbers){let e={};for(let n of this.list())e[n.no]=n;this.numbers=e}return this.numbers[t]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((t,e)=>t.no-e.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let t=this.members,e;for(let n of this.list())n.oneof?n.oneof!==e&&(e=n.oneof,t.push(e)):t.push(n)}return this.members}};function eo(t,e){let n=to(t);return e?n:Cc(kc(n))}function vc(t){return eo(t,!1)}const xc=to;function to(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let a=t.charAt(r);switch(a){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(a),e=!1;break;default:e&&(e=!1,a=a.toUpperCase()),n.push(a);break}}return n.join("")}var Ec=new Set(["constructor","toString","toJSON","valueOf"]),Sc=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),no=t=>`${t}$`,kc=t=>Sc.has(t)?no(t):t;const Cc=t=>Ec.has(t)?no(t):t;var Tc=class{constructor(t){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=vc(t)}addField(t){z(t.oneof===this,`field ${t.name} not one of ${this.name}`),this.fields.push(t)}findField(t){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[t]}};function Nc(t,e){let n=[],r;for(let a of typeof t=="function"?t():t){let o=a;if(o.localName=eo(a.name,a.oneof!==void 0),o.jsonName=a.jsonName??xc(a.name),o.repeated=a.repeated??!1,a.kind=="scalar"&&(o.L=a.L??st.BIGINT),o.delimited=a.delimited??!1,o.req=a.req??!1,o.opt=a.opt??!1,a.packed===void 0&&(e?o.packed=a.kind=="enum"||a.kind=="scalar"&&a.T!=w.BYTES&&a.T!=w.STRING:o.packed=!1),a.oneof!==void 0){let i=typeof a.oneof=="string"?a.oneof:a.oneof.name;(!r||r.name!=i)&&(r=new Tc(i)),o.oneof=r,r.addField(o)}n.push(o)}return n}const x=bc("proto3",t=>new wc(t,e=>Nc(e,!0)),t=>{for(let e of t.getType().fields.byMember()){if(e.opt)continue;let n=e.localName,r=t;if(e.repeated){r[n]=[];continue}switch(e.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=gt(e.T,e.L);break;case"message":break}}});var Ee;(function(t){t[t.Unary=0]="Unary",t[t.ServerStreaming=1]="ServerStreaming",t[t.ClientStreaming=2]="ClientStreaming",t[t.BiDiStreaming=3]="BiDiStreaming"})(Ee||(Ee={}));var ro;(function(t){t[t.NoSideEffects=1]="NoSideEffects",t[t.Idempotent=2]="Idempotent"})(ro||(ro={}));var br;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(br||(br={})),x.util.setEnumType(br,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var hn;(function(t){t[t.CODEIUM=0]="CODEIUM"})(hn||(hn={})),x.util.setEnumType(hn,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var gn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",t[t.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",t[t.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",t[t.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(gn||(gn={})),x.util.setEnumType(gn,"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 yn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",t[t.CACHE=2]="CACHE",t[t.NETWORK=3]="NETWORK"})(yn||(yn={})),x.util.setEnumType(yn,"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 lt;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.C=1]="C",t[t.CLOJURE=2]="CLOJURE",t[t.COFFEESCRIPT=3]="COFFEESCRIPT",t[t.CPP=4]="CPP",t[t.CSHARP=5]="CSHARP",t[t.CSS=6]="CSS",t[t.CUDACPP=7]="CUDACPP",t[t.DOCKERFILE=8]="DOCKERFILE",t[t.GO=9]="GO",t[t.GROOVY=10]="GROOVY",t[t.HANDLEBARS=11]="HANDLEBARS",t[t.HASKELL=12]="HASKELL",t[t.HCL=13]="HCL",t[t.HTML=14]="HTML",t[t.INI=15]="INI",t[t.JAVA=16]="JAVA",t[t.JAVASCRIPT=17]="JAVASCRIPT",t[t.JSON=18]="JSON",t[t.JULIA=19]="JULIA",t[t.KOTLIN=20]="KOTLIN",t[t.LATEX=21]="LATEX",t[t.LESS=22]="LESS",t[t.LUA=23]="LUA",t[t.MAKEFILE=24]="MAKEFILE",t[t.MARKDOWN=25]="MARKDOWN",t[t.OBJECTIVEC=26]="OBJECTIVEC",t[t.OBJECTIVECPP=27]="OBJECTIVECPP",t[t.PERL=28]="PERL",t[t.PHP=29]="PHP",t[t.PLAINTEXT=30]="PLAINTEXT",t[t.PROTOBUF=31]="PROTOBUF",t[t.PBTXT=32]="PBTXT",t[t.PYTHON=33]="PYTHON",t[t.R=34]="R",t[t.RUBY=35]="RUBY",t[t.RUST=36]="RUST",t[t.SASS=37]="SASS",t[t.SCALA=38]="SCALA",t[t.SCSS=39]="SCSS",t[t.SHELL=40]="SHELL",t[t.SQL=41]="SQL",t[t.STARLARK=42]="STARLARK",t[t.SWIFT=43]="SWIFT",t[t.TSX=44]="TSX",t[t.TYPESCRIPT=45]="TYPESCRIPT",t[t.VISUALBASIC=46]="VISUALBASIC",t[t.VUE=47]="VUE",t[t.XML=48]="XML",t[t.XSL=49]="XSL",t[t.YAML=50]="YAML",t[t.SVELTE=51]="SVELTE",t[t.TOML=52]="TOML",t[t.DART=53]="DART",t[t.RST=54]="RST",t[t.OCAML=55]="OCAML",t[t.CMAKE=56]="CMAKE",t[t.PASCAL=57]="PASCAL",t[t.ELIXIR=58]="ELIXIR",t[t.FSHARP=59]="FSHARP",t[t.LISP=60]="LISP",t[t.MATLAB=61]="MATLAB",t[t.POWERSHELL=62]="POWERSHELL",t[t.SOLIDITY=63]="SOLIDITY",t[t.ADA=64]="ADA",t[t.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(lt||(lt={})),x.util.setEnumType(lt,"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 Ic=(Se=class extends X{constructor(n){super();g(this,"completionId","");g(this,"text","");g(this,"prefix","");g(this,"stop","");g(this,"score",0);g(this,"tokens",[]);g(this,"decodedTokens",[]);g(this,"probabilities",[]);g(this,"adjustedProbabilities",[]);g(this,"generatedLength",W.zero);x.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 x.util.equals(Se,n,r)}},g(Se,"runtime",x),g(Se,"typeName","exa.codeium_common_pb.Completion"),g(Se,"fields",x.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}])),Se),ao=(ke=class extends X{constructor(n){super();g(this,"ideName","");g(this,"ideVersion","");g(this,"extensionName","");g(this,"extensionVersion","");g(this,"apiKey","");g(this,"locale","");g(this,"sessionId","");g(this,"requestId",W.zero);g(this,"userAgent","");g(this,"url","");g(this,"authSource",hn.CODEIUM);x.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 x.util.equals(ke,n,r)}},g(ke,"runtime",x),g(ke,"typeName","exa.codeium_common_pb.Metadata"),g(ke,"fields",x.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:x.getEnumType(hn)}])),ke),Ac=(Ce=class extends X{constructor(n){super();g(this,"tabSize",W.zero);g(this,"insertSpaces",!1);x.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 x.util.equals(Ce,n,r)}},g(Ce,"runtime",x),g(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),g(Ce,"fields",x.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);Te=class extends X{constructor(n){super();g(this,"eventType",gn.UNSPECIFIED);g(this,"eventJson","");g(this,"timestampUnixMs",W.zero);x.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 x.util.equals(Te,n,r)}},g(Te,"runtime",x),g(Te,"typeName","exa.codeium_common_pb.Event"),g(Te,"fields",x.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:x.getEnumType(gn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Lc=class extends $t{constructor(e,n){super();g(this,"index");g(this,"total");this.index=e,this.total=n}toDOM(){let e=document.createElement("span");e.setAttribute("aria-hidden","true"),e.className="cm-codeium-cycle";let n=e.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=e.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",e}ignoreEvent(){return!1}};const bn=Vt.define({combine(t){return Wn(t,{language:lt.TYPESCRIPT,timeout:150,widgetClass:Lc,alwaysOn:!0},{})}}),oo=Vt.define({combine(t){return Wn(t,{override:()=>[]},{})}});var Oc=V.mark({class:"cm-ghostText"});const ct=We.define({create(t){return null},update(t,e){var r;let n=e.state.facet(bn);for(let a of e.effects){if(a.is(ur)){let{changeSpecs:o,index:i}=a.value,s=o[i].map(l=>Oc.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:V.set([...s,...c!==void 0&&o.length>1&&n.widgetClass?[V.widget({widget:new n.widgetClass(i,o.length),side:1}).range(c)]:[]]),changeSpecs:o,reverseChangeSet:a.value.reverseChangeSet}}if(a.is(dr)||a.is(fr))return null}return t&&{...t,decorations:t.decorations.map(e.changes),reverseChangeSet:t.reverseChangeSet.map(e.changes)}},provide:t=>R.decorations.from(t,e=>(e==null?void 0:e.decorations)||V.none)}),bt=ea.define(),wn=ea.define();var B;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(B||(B={}));function wr(t){let e=B[t];return typeof e=="string"?e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):t.toString()}var vn;function _c(t){if(!vn){vn={};for(let e of Object.values(B))typeof e!="string"&&(vn[wr(e)]=e)}return vn[t]}var ge=class Nt extends Error{constructor(e,n=B.Unknown,r,a,o){super(Uc(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(r??{}),this.details=a??[],this.cause=o}static from(e,n=B.Unknown){return e instanceof Nt?e:e instanceof Error?e.name=="AbortError"?new Nt(e.message,B.Canceled):new Nt(e.message,n,void 0,void 0,e):new Nt(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===Nt.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){let n="typeName"in e?{findMessage:a=>a===e.typeName?e:void 0}:e,r=[];for(let a of this.details){if("getType"in a){n.findMessage(a.getType().typeName)&&r.push(a);continue}let o=n.findMessage(a.type);if(o)try{r.push(o.fromBinary(a.value))}catch{}}return r}};function Uc(t,e){return t.length?`[${wr(e)}] ${t}`:`[${wr(e)}]`}function jc(...t){let e=new Headers;for(let n of t)n.forEach((r,a)=>{e.append(a,r)});return e}function Pc(t,e){let n={};for(let[r,a]of Object.entries(t.methods)){let o=e(Object.assign(Object.assign({},a),{localName:r,service:t}));o!=null&&(n[r]=o)}return n}function Dc(t){let e,n=new Uint8Array;function r(a){let o=new Uint8Array(n.length+a.length);o.set(n),o.set(a,n.length),n=o}return new ReadableStream({start(){e=t.getReader()},async pull(a){let o;for(;;){if(o===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];o={flags:n[0],length:c}}if(o!==void 0&&n.byteLength>=o.length+5)break;let s=await e.read();if(s.done)break;r(s.value)}if(o===void 0){if(n.byteLength==0){a.close();return}a.error(new ge("premature end of stream",B.DataLoss));return}let i=n.subarray(5,5+o.length);n=n.subarray(5+o.length),a.enqueue({flags:o.flags,data:i})}})}function Mc(t,e){let n=new Uint8Array(e.length+5);n.set(e,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,t),r.setUint32(1,e.length),n}var Fc=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},Dt=function(t){return this instanceof Dt?(this.v=t,this):new Dt(t)},Rc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Dt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}},Bc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:Dt(t[a](i)),done:!1}:o?o(i):i}:o}};function Gc(t){return Rc(this,arguments,function*(){yield Dt(yield*Bc(Fc(t)))})}var io=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},wt=function(t){return this instanceof wt?(this.v=t,this):new wt(t)},Jc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:wt(t[a](i)),done:!1}:o?o(i):i}:o}},Vc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof wt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function $c(t,e){return Pc(t,n=>{switch(n.kind){case Ee.Unary:return qc(e,t,n);case Ee.ServerStreaming:return Hc(e,t,n);case Ee.ClientStreaming:return zc(e,t,n);case Ee.BiDiStreaming:return Yc(e,t,n);default:return null}})}function Wc(t,e){return $c(t,e)}function qc(t,e,n){return async function(r,a){var o,i;let s=await t.unary(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);return(o=a==null?void 0:a.onHeader)==null||o.call(a,s.header),(i=a==null?void 0:a.onTrailer)==null||i.call(a,s.trailer),s.message}}function Hc(t,e,n){return function(r,a){return so(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,Gc([r]),a==null?void 0:a.contextValues),a)}}function zc(t,e,n){return async function(r,a){var o,i,s,c,l,u;let d=await t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);(l=a==null?void 0:a.onHeader)==null||l.call(a,d.header);let p,f=0;try{for(var m=!0,y=io(d.message),b;b=await y.next(),o=b.done,!o;m=!0)c=b.value,m=!1,p=c,f++}catch(v){i={error:v}}finally{try{!m&&!o&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!p)throw new ge("protocol error: missing response message",B.Unimplemented);if(f>1)throw new ge("protocol error: received extra messages for client streaming method",B.Unimplemented);return(u=a==null?void 0:a.onTrailer)==null||u.call(a,d.trailer),p}}function Yc(t,e,n){return function(r,a){return so(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues),a)}}function so(t,e){let n=(function(){return Vc(this,arguments,function*(){var r,a;let o=yield wt(t);(r=e==null?void 0:e.onHeader)==null||r.call(e,o.header),yield wt(yield*Jc(io(o.message))),(a=e==null?void 0:e.onTrailer)==null||a.call(e,o.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Kc(...t){let e=new AbortController,n=t.filter(a=>a!==void 0).concat(e.signal);for(let a of n){if(a.aborted){r.apply(a);break}a.addEventListener("abort",r)}function r(){e.signal.aborted||e.abort(lo(this));for(let a of n)a.removeEventListener("abort",r)}return e}function Xc(t){let e=new AbortController,n=()=>{e.abort(new ge("the operation timed out",B.DeadlineExceeded))},r;return t!==void 0&&(t<=0?n():r=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(r)}}function lo(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;let e=Error("This operation was aborted");return e.name="AbortError",e}function co(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function uo(t,e,n){let r=typeof e=="string"?e:e.typeName,a=typeof n=="string"?n:n.name;return t.toString().replace(/\/?$/,`/${r}/${a}`)}function fo(t,e){return e instanceof t?e:new t(e)}function Qc(t,e){function n(r){return r.done===!0?r:{done:r.done,value:fo(t,r.value)}}return{[Symbol.asyncIterator](){let r=e[Symbol.asyncIterator](),a={next:()=>r.next().then(n)};return r.throw!==void 0&&(a.throw=o=>r.throw(o).then(n)),r.return!==void 0&&(a.return=o=>r.return(o).then(n)),a}}}function mo(t,e){return(e==null?void 0:e.concat().reverse().reduce((n,r)=>r(n),t))??t}function po(t){let e=Object.assign({},t);return e.ignoreUnknownFields??(e.ignoreUnknownFields=!0),e}function ho(t,e,n,r){let a=e?go(t.I,r):yo(t.I,n);return{parse:(e?go(t.O,r):yo(t.O,n)).parse,serialize:a.serialize}}function go(t,e){return{parse(n){try{return t.fromBinary(n,e)}catch(r){throw new ge(`parse binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}},serialize(n){try{return n.toBinary(e)}catch(r){throw new ge(`serialize binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}}}}function yo(t,e){let n=(e==null?void 0:e.textEncoder)??new TextEncoder,r=(e==null?void 0:e.textDecoder)??new TextDecoder,a=po(e);return{parse(o){try{let i=r.decode(o);return t.fromJsonString(i,a)}catch(i){throw ge.from(i,B.InvalidArgument)}},serialize(o){try{let i=o.toJsonString(a);return n.encode(i)}catch(i){throw ge.from(i,B.Internal)}}}}const Zc=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function eu(t){let e=t==null?void 0:t.match(Zc);if(e)return{stream:!!e[1],binary:!!e[3]}}function bo(t,e,n){if(e&&new Headers(e).forEach((i,s)=>n.metadata.append(s,i)),typeof t!="object"||!t||Array.isArray(t))throw n;let r=n.code;"code"in t&&typeof t.code=="string"&&(r=_c(t.code)??r);let a=t.message;if(a!=null&&typeof a!="string")throw n;let o=new ge(a??"",r,e);if("details"in t&&Array.isArray(t.details))for(let i of t.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{o.details.push({type:i.type,value:ln.dec(i.value),debug:i.debug})}catch{throw n}}return o}function tu(t){let e=new ge("invalid end stream",B.Unknown),n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||!n||Array.isArray(n))throw e;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(let[a,o]of Object.entries(n.metadata)){if(!Array.isArray(o)||o.some(i=>typeof i!="string"))throw e;for(let i of o)r.append(a,i)}}return{metadata:r,error:"error"in n&&n.error!=null?bo(n.error,r,e):void 0}}const xn="Content-Type",wo="Content-Encoding",vo="Connect-Protocol-Version";function nu(t){switch(t){case 400:return B.Internal;case 401:return B.Unauthenticated;case 403:return B.PermissionDenied;case 404:return B.Unimplemented;case 429:return B.Unavailable;case 502:return B.Unavailable;case 503:return B.Unavailable;case 504:return B.Unavailable;default:return B.Unknown}}function xo(t){let e=new Headers,n=new Headers;return t.forEach((r,a)=>{a.toLowerCase().startsWith("trailer-")?n.append(a.substring(8),r):e.append(a,r)}),[e,n]}function Eo(t,e,n,r,a){let o=new Headers(r??{});return n!==void 0&&o.set("Connect-Timeout-Ms",`${n}`),o.set(xn,t==Ee.Unary?e?"application/proto":"application/json":e?"application/connect+proto":"application/connect+json"),o.set(vo,"1"),a&&o.set("User-Agent","connect-es/1.6.1"),o}function So(t,e,n,r){let a=r.get(xn),o=eu(a);if(n!==200){let s=new ge(`HTTP ${n}`,nu(n),r);if(t==Ee.Unary&&o&&!o.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:e,stream:t!==Ee.Unary};if((o==null?void 0:o.binary)!==i.binary||o.stream!==i.stream)throw new ge(`unsupported content type ${a}`,o===void 0?B.Unknown:B.Internal,r);return{isUnaryError:!1}}var ru="application/";function au(t,e){return e?ln.enc(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(t))}function ou(t,e,n){let r="?connect=v1",a=t.header.get(xn);(a==null?void 0:a.indexOf(ru))===0&&(r+="&encoding="+encodeURIComponent(a.slice(12)));let o=t.header.get(wo);o!==null&&o!=="identity"&&(r+="&compression="+encodeURIComponent(o),n=!0),n&&(r+="&base64=1"),r+="&message="+au(e,n);let i=t.url+r,s=new Headers(t.header);return[vo,xn,"Content-Length",wo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},t),{init:Object.assign(Object.assign({},t.init),{method:"GET"}),url:i,header:s})}function iu(t){let e=mo(t.next,t.interceptors),[n,r,a]=ko(t);return e(Object.assign(Object.assign({},t.req),{message:fo(t.req.method.I,t.req.message),signal:n})).then(o=>(a(),o),r)}function su(t){let e=mo(t.next,t.interceptors),[n,r,a]=ko(t),o=Object.assign(Object.assign({},t.req),{message:Qc(t.req.method.I,t.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=t.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),e(o).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,a()),l),r)}}}}}),r)}function ko(t){let{signal:e,cleanup:n}=Xc(t.timeoutMs),r=Kc(t.signal,e);return[r.signal,function(a){let o=ge.from(e.aborted?lo(e):a);return r.abort(o),n(),Promise.reject(o)},function(){n(),r.abort()}]}var En;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INACTIVE=1]="INACTIVE",t[t.PROCESSING=2]="PROCESSING",t[t.SUCCESS=3]="SUCCESS",t[t.WARNING=4]="WARNING",t[t.ERROR=5]="ERROR"})(En||(En={})),x.util.setEnumType(En,"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 Co;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SINGLE=1]="SINGLE",t[t.MULTI=2]="MULTI"})(Co||(Co={})),x.util.setEnumType(Co,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var Sn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INLINE=1]="INLINE",t[t.BLOCK=2]="BLOCK",t[t.INLINE_MASK=3]="INLINE_MASK"})(Sn||(Sn={})),x.util.setEnumType(Sn,"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 lu=(Ne=class extends X{constructor(n){super();g(this,"threshold",0);x.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 x.util.equals(Ne,n,r)}},g(Ne,"runtime",x),g(Ne,"typeName","exa.language_server_pb.MultilineConfig"),g(Ne,"fields",x.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ne),cu=(Ie=class extends X{constructor(n){super();g(this,"metadata");g(this,"document");g(this,"editorOptions");g(this,"otherDocuments",[]);g(this,"experimentConfig");g(this,"modelName","");g(this,"multilineConfig");x.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 x.util.equals(Ie,n,r)}},g(Ie,"runtime",x),g(Ie,"typeName","exa.language_server_pb.GetCompletionsRequest"),g(Ie,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:ao},{no:2,name:"document",kind:"message",T:To},{no:3,name:"editor_options",kind:"message",T:Ac},{no:5,name:"other_documents",kind:"message",T:To,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:hu},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:lu}])),Ie),uu=(Ae=class extends X{constructor(n){super();g(this,"state");g(this,"completionItems",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ae().fromBinary(n,r)}static fromJson(n,r){return new Ae().fromJson(n,r)}static fromJsonString(n,r){return new Ae().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ae,n,r)}},g(Ae,"runtime",x),g(Ae,"typeName","exa.language_server_pb.GetCompletionsResponse"),g(Ae,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:gu},{no:2,name:"completion_items",kind:"message",T:vu,repeated:!0}])),Ae),du=(Le=class extends X{constructor(n){super();g(this,"metadata");g(this,"completionId","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Le().fromBinary(n,r)}static fromJson(n,r){return new Le().fromJson(n,r)}static fromJsonString(n,r){return new Le().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Le,n,r)}},g(Le,"runtime",x),g(Le,"typeName","exa.language_server_pb.AcceptCompletionRequest"),g(Le,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:ao},{no:2,name:"completion_id",kind:"scalar",T:9}])),Le),fu=(Oe=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new Oe().fromBinary(e,n)}static fromJson(e,n){return new Oe().fromJson(e,n)}static fromJsonString(e,n){return new Oe().fromJsonString(e,n)}static equals(e,n){return x.util.equals(Oe,e,n)}},g(Oe,"runtime",x),g(Oe,"typeName","exa.language_server_pb.AcceptCompletionResponse"),g(Oe,"fields",x.util.newFieldList(()=>[])),Oe),mu=(_e=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new _e().fromBinary(e,n)}static fromJson(e,n){return new _e().fromJson(e,n)}static fromJsonString(e,n){return new _e().fromJsonString(e,n)}static equals(e,n){return x.util.equals(_e,e,n)}},g(_e,"runtime",x),g(_e,"typeName","exa.language_server_pb.GetAuthTokenRequest"),g(_e,"fields",x.util.newFieldList(()=>[])),_e),pu=(Ue=class extends X{constructor(n){super();g(this,"authToken","");g(this,"uuid","");x.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 x.util.equals(Ue,n,r)}},g(Ue,"runtime",x),g(Ue,"typeName","exa.language_server_pb.GetAuthTokenResponse"),g(Ue,"fields",x.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Ue),vr=(je=class extends X{constructor(n){super();g(this,"row",W.zero);g(this,"col",W.zero);x.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 x.util.equals(je,n,r)}},g(je,"runtime",x),g(je,"typeName","exa.language_server_pb.DocumentPosition"),g(je,"fields",x.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),je),To=(Pe=class extends X{constructor(n){super();g(this,"absolutePath","");g(this,"relativePath","");g(this,"text","");g(this,"editorLanguage","");g(this,"language",lt.UNSPECIFIED);g(this,"cursorOffset",W.zero);g(this,"cursorPosition");g(this,"lineEnding","");x.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 x.util.equals(Pe,n,r)}},g(Pe,"runtime",x),g(Pe,"typeName","exa.language_server_pb.Document"),g(Pe,"fields",x.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:x.getEnumType(lt)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:vr},{no:7,name:"line_ending",kind:"scalar",T:9}])),Pe),hu=(De=class extends X{constructor(n){super();g(this,"forceEnableExperiments",[]);x.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 x.util.equals(De,n,r)}},g(De,"runtime",x),g(De,"typeName","exa.language_server_pb.ExperimentConfig"),g(De,"fields",x.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:x.getEnumType(br),repeated:!0}])),De),gu=(Me=class extends X{constructor(n){super();g(this,"state",En.UNSPECIFIED);g(this,"message","");x.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 x.util.equals(Me,n,r)}},g(Me,"runtime",x),g(Me,"typeName","exa.language_server_pb.State"),g(Me,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:x.getEnumType(En)},{no:2,name:"message",kind:"scalar",T:9}])),Me),yu=(Fe=class extends X{constructor(n){super();g(this,"startOffset",W.zero);g(this,"endOffset",W.zero);g(this,"startPosition");g(this,"endPosition");x.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 x.util.equals(Fe,n,r)}},g(Fe,"runtime",x),g(Fe,"typeName","exa.language_server_pb.Range"),g(Fe,"fields",x.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:vr},{no:4,name:"end_position",kind:"message",T:vr}])),Fe),bu=(Re=class extends X{constructor(n){super();g(this,"text","");g(this,"deltaCursorOffset",W.zero);x.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 x.util.equals(Re,n,r)}},g(Re,"runtime",x),g(Re,"typeName","exa.language_server_pb.Suffix"),g(Re,"fields",x.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Re),wu=(Be=class extends X{constructor(n){super();g(this,"text","");g(this,"offset",W.zero);g(this,"type",Sn.UNSPECIFIED);g(this,"prefix","");g(this,"line",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Be().fromBinary(n,r)}static fromJson(n,r){return new Be().fromJson(n,r)}static fromJsonString(n,r){return new Be().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Be,n,r)}},g(Be,"runtime",x),g(Be,"typeName","exa.language_server_pb.CompletionPart"),g(Be,"fields",x.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:x.getEnumType(Sn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Be),vu=(Ge=class extends X{constructor(n){super();g(this,"completion");g(this,"suffix");g(this,"range");g(this,"source",yn.UNSPECIFIED);g(this,"completionParts",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ge().fromBinary(n,r)}static fromJson(n,r){return new Ge().fromJson(n,r)}static fromJsonString(n,r){return new Ge().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ge,n,r)}},g(Ge,"runtime",x),g(Ge,"typeName","exa.language_server_pb.CompletionItem"),g(Ge,"fields",x.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Ic},{no:5,name:"suffix",kind:"message",T:bu},{no:2,name:"range",kind:"message",T:yu},{no:3,name:"source",kind:"enum",T:x.getEnumType(yn)},{no:8,name:"completion_parts",kind:"message",T:wu,repeated:!0}])),Ge);const xu={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:cu,O:uu,kind:Ee.Unary},acceptCompletion:{name:"AcceptCompletion",I:du,O:fu,kind:Ee.Unary},getAuthToken:{name:"GetAuthToken",I:mu,O:pu,kind:Ee.Unary}}};function Eu(){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 Mt=function(t){return this instanceof Mt?(this.v=t,this):new Mt(t)},Su=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Mt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function ku(t){Eu();let e=t.useBinaryFormat??!1;return{async unary(n,r,a,o,i,s,c){let{serialize:l,parse:u}=ho(r,e,t.jsonOptions,t.binaryOptions);return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await iu({interceptors:t.interceptors,signal:a,timeoutMs:o,req:{stream:!1,service:n,method:r,url:uo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:Eo(r.kind,e,o,i,!1),contextValues:c??co(),message:s},next:async d=>{let p=t.useHttpGet===!0&&r.idempotency===ro.NoSideEffects,f=null;p?d=ou(d,l(d.message),e):f=l(d.message);let m=await(t.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=So(r.kind,e,m.status,m.headers);if(y)throw bo(await m.json(),jc(...xo(m.headers)),b);let[v,S]=xo(m.headers);return{stream:!1,service:n,method:r,header:v,message:e?u(new Uint8Array(await m.arrayBuffer())):r.O.fromJson(await m.json(),po(t.jsonOptions)),trailer:S}}})},async stream(n,r,a,o,i,s,c){let{serialize:l,parse:u}=ho(r,e,t.jsonOptions,t.binaryOptions);function d(f,m,y,b){return Su(this,arguments,function*(){let v=Dc(f).getReader(),S=!1;for(;;){let k=yield Mt(v.read());if(k.done)break;let{flags:_,data:P}=k.value;if((_&1)==1)throw new ge("protocol error: received unsupported compressed output",B.Internal);if((_&2)==2){S=!0;let A=tu(P);if(A.error){let T=A.error;throw y.forEach((G,M)=>{T.metadata.append(M,G)}),T}A.metadata.forEach((T,G)=>m.set(G,T));continue}yield yield Mt(u(P))}if("throwIfAborted"in b&&b.throwIfAborted(),!S)throw"missing EndStreamResponse"})}async function p(f){if(r.kind!=Ee.ServerStreaming)throw"The fetch API does not support streaming request bodies";let m=await f[Symbol.asyncIterator]().next();if(m.done==1)throw"missing request message";return Mc(0,l(m.value))}return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await su({interceptors:t.interceptors,timeoutMs:o,signal:a,req:{stream:!0,service:n,method:r,url:uo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:Eo(r.kind,e,o,i,!1),contextValues:c??co(),message:s},next:async f=>{let m=await(t.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await p(f.message)}));if(So(r.kind,e,m.status,m.headers),m.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:m.headers,trailer:y,message:d(m.body,y,m.headers,f.signal)})}})}}}var Cu=Wc(xu,ku({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),kn;try{kn=crypto.randomUUID()}catch{kn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>e/4).toString(16))}()}async function Tu({text:t,cursorOffset:e,config:n,otherDocuments:r}){return await Cu.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:kn,authSource:n.authSource},document:{text:t,cursorOffset:BigInt(e),language:n.language,editorLanguage:"typescript",lineEnding:`
|
|
14
|
+
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${kn}`}})}function Nu(t){return t.completionItems.map(e=>{let n=0;return e.completionParts.filter(r=>r.type!==3).map(r=>{let a=Number(r.offset),o=r.type===2?`
|
|
15
|
+
${r.text}`:r.text,i={absoluteStartPos:n+a,absoluteEndPos:n+a+o.length,from:a,to:a,insert:o};return n+=o.length,i})})}async function Iu(t,e){let n=t.state.facet(bn),{override:r}=t.state.facet(oo),a=await r(),o=t.state,i=o.selection.main.head,s=o.doc.toString();try{let c=await Tu({text:s,cursorOffset:i,config:n,otherDocuments:a});if(!c||c.completionItems.length===0||!((e===void 0||i===e)&&qt(t.state)!=="active"&&t.hasFocus))return;let l=Nu(c),u=l.at(0);if(!u)return;let d=Vn.of(u,o.doc.length),p=d.invert(o.doc);t.dispatch({changes:d,effects:ur.of({index:0,reverseChangeSet:p,changeSpecs:l}),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(l=>setTimeout(l,300))}}function Au(t){return t.docChanged&&!t.transactions.some(e=>e.effects.some(n=>n.is(dr)||n.is(fr)))}function Lu(t){if(!t.view.hasFocus||t.state.field(ct)||qt(t.state)==="active")return!0;for(let e of t.transactions)if(e.annotation(bt)!==void 0)return!0}function Ou(){let t=null,e=0;return R.updateListener.of(n=>{let r=n.view.state.facet(bn);if(!r.alwaysOn||!Au(n)||(t&&clearTimeout(t),Lu(n)))return;let a=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new zp(n.view.state,a,!1))||(t=setTimeout(async()=>{a===e&&await Iu(n.view,e)},r.timeout),e=a)})}function No(t){var a;let e=t.state.field(ct);if(!e)return!1;let n=(a=e.reverseChangeSet)==null?void 0:a.invert(t.state.doc);t.dispatch({changes:e.reverseChangeSet,effects:dr.of(null),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((o,i,s,c)=>{r=c}),t.dispatch({changes:n,selection:St.cursor(r),annotations:[bt.of(null),Wt.addToHistory.of(!0)]}),!0}const Io=t=>{let{state:e}=t,n=e.field(ct);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let a=(n.index+1)%r.length,o=r.at(a);if(!o)return!1;let i=n.reverseChangeSet.apply(e.doc),s=Vn.of(n.reverseChangeSet,e.doc.length).compose(Vn.of(o,i.length)),c=Vn.of(o,i.length).invert(i);return t.dispatch({changes:s,effects:ur.of({index:a,reverseChangeSet:c,changeSpecs:r}),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]}),!0};function xr(t){let e=t.state.field(ct);return e&&t.dispatch({changes:e.reverseChangeSet,effects:fr.of(null),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]}),!1}function _u(t,e){return t.state.field(ct)?e==="Tab"?No(t):xr(t):!1}function Uu(t){var a,o;let e=!1,n=(a=t.state.selection.asSingle().ranges.at(0))==null?void 0:a.head,r=t.state.field(ct);return n!==void 0&&r?((o=r.decorations)==null||o.between(n,n,()=>{e=!0}),e):!1}function ju(){return R.domEventHandlers({keydown(t,e){return t.key==="]"&&t.ctrlKey?!1:t.key!=="Shift"&&t.key!=="Control"&&t.key!=="Alt"&&t.key!=="Meta"?_u(e,t.key):!1},mouseup(t,e){let n=t.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(Io(e),t.stopPropagation(),t.preventDefault(),!0):Uu(e)?No(e):xr(e)}})}function Pu(){return He.of([{key:"Ctrl-]",run:Io}])}function Du(){return R.updateListener.of(t=>{t.focusChanged&&xr(t.view)})}function Mu(t){return[bn.of(t),ct,mt.highest(Pu()),mt.highest(Du()),mt.high(ju()),Ou()]}function Fu({response:t,prefix:e,suffix:n}){if(!t)return t;let r=t;return e&&r.startsWith(e)&&(r=r.slice(e.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var Ru=Bf(),Bu=new bp,Er=$e.get("@github/copilot-language-server"),Ao={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:t=>t.hasFocus,beforeSuggestionFetch:t=>t.hasFocus}};const Gu=t=>{let e=[];return t.copilot==="codeium"&&t.codeium_api_key&&e.push(Mu({apiKey:t.codeium_api_key,language:lt.PYTHON}),oo.of({override:async()=>[{text:Jr(""),language:lt.PYTHON,editorLanguage:"python"}]})),t.copilot==="github"&&e.push(va({...Ao,fetchFn:async(n,r,a)=>{let o=n.selection.main.head;if(!Bm()||!a.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=Ju(n,Jr(n.doc.toString())),s=await Gm().getCompletion(i);return o===a.state.selection.main.head?Vu(s,i.position,n):($e.debug("ignoring response because of new position"),"")}})),t.copilot==="custom"&&e.push(va({...Ao,fetchFn:async(n,r,a)=>{let o=n.selection.main.head;if(n.doc.length===0||!a.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(dt).type,l=await Zm.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return o===a.state.selection.main.head?(l=Fu({response:l,prefix:i,suffix:s}),l):($e.debug("ignoring response because of new position"),"")}})),[...e,mt.highest(He.of([{key:"Escape",run:n=>{let r=wa(n);return Rn(n)?!1:r}}])),Bu.of(Jm())]};function Ju(t,e){let n=t.doc.toString(),r=e.split(`
|
|
16
16
|
`).length-n.split(`
|
|
17
|
-
`).length,a
|
|
18
|
-
`,s-1)+1;return
|
|
17
|
+
`).length,a=$u(t.doc,t.selection.main.head);return a.line+=r,{textDocument:{uri:`file://${Vm}`,version:"replace_me"},position:a,context:{triggerKind:Ru.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:t.tabSize,insertSpaces:!0}}}function Vu(t,e,n){if(!t)return Er.debug("No response from copilot"),"";let r=Array.isArray(t)?t[0]:t.items[0];if(!r)return Er.debug("No response from copilot"),"";let{insertText:a,range:o}=r,i=String(a);if(!o)return Er.error("No range from copilot"),i;let s=o.start.character-e.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 $u(t,e){let n=t.lineAt(e);return{line:n.number-1,character:e-n.from}}Qn=function(t){return Gt("create"in t,'Expected query to have a "create" method'),t},xe=wm({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(t,e)=>{if(e===void 0)return t;switch(e.type){case"setFind":return{...t,findText:e.find};case"setReplace":return{...t,replaceText:e.replace};case"setCaseSensitive":return{...t,caseSensitive:e.caseSensitive};case"setWholeWord":return{...t,wholeWord:e.wholeWord};case"setRegex":return{...t,regexp:e.regexp};case"setIsOpen":return{...t,isOpen:e.isOpen};case"setCurrentView":return{...t,currentView:{view:e.view,range:e.range}};case"clearCurrentView":return{...t,currentView:void 0}}}),ca=function(t){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(e=>e instanceof HTMLElement&&e.childNodes.length>0))return!1;if(t){let e=t.state.selection.main,n=t.state.sliceDoc(e.from,e.to);n?(J.set(xe,{type:"setFind",find:n}),J.set(xe,{type:"setCurrentView",view:t,range:{from:e.from,to:e.to}})):J.set(xe,{type:"setCurrentView",view:t,range:{from:0,to:0}})}return J.get(xe).isOpen?(J.set(xe,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{J.set(xe,{type:"setIsOpen",isOpen:!0})}),!0):(J.set(xe,{type:"setIsOpen",isOpen:!0}),!0)};function Wu(){return J.get(xe).isOpen?(J.set(xe,{type:"setIsOpen",isOpen:!1}),!0):!1}var Sr=ce.define();Ss=function(){let t=J.get(xe),e=Pi();for(let n of e)n.state.readOnly||n.dispatch({effects:Sr.of(new na({search:t.findText,caseSensitive:t.caseSensitive,regexp:t.regexp,replace:t.replaceText,wholeWord:t.wholeWord}))})},Ts=function(){let t=Pi();for(let e of t)e.state.readOnly||e.dispatch({effects:Sr.of(new na({search:""}))})};const Cn=We.define({create(){let t=J.get(xe);return Qn(new na({search:t.findText,caseSensitive:t.caseSensitive,regexp:t.regexp,replace:t.replaceText,wholeWord:t.wholeWord})).create()},update(t,e){for(let n of e.effects)n.is(Sr)&&(t=Qn(n.value).create());return t}});var qu=V.mark({class:"cm-searchMatch"}),Hu=V.mark({class:"cm-searchMatch cm-searchMatch-selected"}),zu=250;const Yu=ze.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Cn))}update(t){let e=t.state.field(Cn);(e!==t.startState.field(Cn)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight(t){if(!t.spec.valid)return V.none;let{view:e}=this,n=new kp,r=e.visibleRanges,a=r.length;for(let o=0;o<a;o++){let{to:i}=r[o],{from:s}=r[o];for(;o<a-1&&i>r[o+1].from-2*zu;)i=r[++o].to;t.highlight(e.state,s,i,(c,l)=>{let u=e.state.selection.ranges.some(d=>d.from===c&&d.to===l);n.add(c,l,u?Hu:qu)})}return n.finish()}},{decorations:t=>t.decorations}),Ku=R.baseTheme({"&light .cm-searchMatch":{backgroundColor:"var(--cm-search-match-background-light)"},"&dark .cm-searchMatch":{backgroundColor:"var(--cm-search-match-background-dark)"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--cm-search-match-selected-background-dark) !important"}});function Xu(t){return[He.of([{key:"Escape",preventDefault:!1,run:Wu},{key:t.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:Fp},{key:t.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:ca}]),Bp(),Yu,Cn,Ku]}var Qu=V.mark({class:"underline"}),Lo=ce.define(),Oo=ce.define(),_o=ce.define();const Zu=We.define({create(){return V.none},update(t,e){let n=t.map(e.changes);for(let r of e.effects)r.is(Lo)?n=t.update({add:[Qu.range(r.value.from,r.value.to)]}):r.is(Oo)?n=t.update({add:[Gf.range(r.value.from,r.value.to)]}):r.is(_o)&&(n=V.none);return n},provide:t=>R.decorations.from(t)});var ed=class{constructor(t,e){g(this,"keydown",t=>{(t.key==="Meta"||t.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});g(this,"keyup",t=>{(t.key==="Meta"||t.key==="Control")&&this.exitCommandClickMode()});g(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});g(this,"mousemove",t=>{var a;if(!t.metaKey&&!t.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let e=this.view.posAtCoords({x:t.clientX,y:t.clientY});if(e==null){this.clearUnderline();return}let n=(a=this.view.state.field(hm,!1))==null?void 0:a.ranges.find(o=>e>=o.from&&e<=o.to);if(n){let{from:o,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===o&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:o,to:i,position:e},this.view.dispatch({effects:Oo.of(this.hoveredRange)});return}let r=$n(this.view.state).cursorAt(e);if(r.name==="VariableName"){let{from:o,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===o&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:o,to:i,position:e},this.view.dispatch({effects:Lo.of(this.hoveredRange)})}else this.clearUnderline()});g(this,"click",t=>{this.hoveredRange&&(t.preventDefault(),t.stopPropagation(),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}}),this.onClick(this.view))});this.view=t,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=e,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(t){}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:_o.of(null)}),null))}};const td=t=>ze.define(e=>new ed(e,t));function nd(){return[Zu,td(t=>{sm(t)}),R.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function rd(){return[R.domEventHandlers({drop:(t,e)=>{var a,o;let n=(a=t.dataTransfer)==null?void 0:a.files[0];if(n!=null&&n.type.startsWith("text/"))return t.preventDefault(),im(e,n),!0;if(n!=null&&n.type.startsWith("image/"))return t.preventDefault(),Rf(e,n),!0;let r=(o=t.dataTransfer)==null?void 0:o.getData("text/plain");if(r){t.preventDefault();let i=e.posAtCoords({x:t.clientX,y:t.clientY});return i!==null&&e.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:t=>{t.preventDefault()}})]}function ad(){return[R.domEventHandlers({paste:(t,e)=>{var i;let n=(i=t.clipboardData)==null?void 0:i.getData("text/plain");if(!n||!Uo(n))return!1;let{setup:r,cells:a}=od(n);if(r===null&&a.length===0)return!1;let o=e.state.facet(lm);return r!==null&&o.addOrAppendSetupCell(r),a.length>0&&o.createManyBelow(a),!0}})]}function Uo(t){return/@app\.cell|@app\.function|\bapp\.setup\b/.test(t)}function od(t){if(!Uo(t))return{setup:null,cells:[]};let e=[],n=[],r=vh.parse(t),a=(s,c)=>{let l=t.lastIndexOf(`
|
|
18
|
+
`,s-1)+1;return id(t.slice(l,c))},o=(s,c)=>{let l=a(s,c);l.trim()&&e.push(l)},i=(s,c)=>{var f;let l=[];for(let m=s.firstChild;m;m=m.nextSibling)m.name!==":"&&l.push(m);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 p=a(u.from,d.to);return p.trim()?p:null};return r.iterate({enter:s=>{if(s.name==="WithStatement"){let d=s.node.getChild("Body");if(d&&t.slice(s.from,d.from).includes("app.setup")){let p=i(d,!1);p!==null&&n.push(p)}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=t.slice(c.from,c.to).trim();if(u.startsWith("@app.cell")){let d=l.getChild("Body");if(d){let p=i(d,!0);p!==null&&e.push(p)}return!1}return u.startsWith("@app.function")&&o(l.from,l.to),!1}}),{setup:n.length>0?n.join(`
|
|
19
19
|
|
|
20
|
-
`):null,cells:e}}function
|
|
20
|
+
`):null,cells:e}}function id(t){let e=t.split(`
|
|
21
21
|
`);if(e.length===0)return"";let n=e.filter(o=>o.trim().length>0);if(n.length===0)return"";let r=/^\s*/,a=Math.min(...n.map(o=>{var i;return((i=o.match(r))==null?void 0:i[0].length)??1/0}));return a===0?t.trim():e.map(o=>o.slice(a)).join(`
|
|
22
|
-
`).trim()}function id(t,e,n,r){var a;return r!=="{"||e!==n||!((a=$n(t.state).resolveInner(e,-1))!=null&&a.type.name.includes("String"))?!1:(t.dispatch({changes:{from:e,to:n,insert:"{}"},selection:{anchor:e+1},userEvent:"input.type"}),!0)}function sd(){return R.inputHandler.of(id)}function jo(t){let{showPlaceholder:e,enableAI:n}=t;return e?"marimo-import":n?"ai":"none"}var Po="cm-tooltip-portal";function ld(t){if(t==null)return document.querySelector("#App")??void 0;let e=document.querySelector(t);if(e==null)return;let n=e.querySelector(`:scope > .${Po}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${Po} not-prose contents`,e.append(r),r}const cd=t=>{let{cellId:e,keymapConfig:n,hotkeys:r,enableAI:a,cellActions:o,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=t,d=jo(t);return[Mm(n,r),nd(),rd(),Pl(),Hf({cellId:e,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),wm({cellId:e,hotkeys:r,cellActions:o,keymapConfig:n}),dd(t),td(),c!=null&&c.enabled?Mp():[],a&&u?[Ys({prompt:p=>al({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:tm(p.editorView)})}),Zt.of({hideOnBlur:!0})]:[],Yf(e,l.reference_highlighting??!0),Ul(e,l.code_lens??!0)]};var ud=t=>{let{from:e,to:n}=t.state.selection.main;if(e!==n)return!1;let r=t.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Vp(t)};const dd=t=>{let{theme:e,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:a,cellId:o,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=t,l=jo(t),u=r.auto_close_pairs!==!1;return[R.lineWrapping,Cp(),kp(),Lp(),vp(),fp(),mp(),dp(),hp({position:"fixed",parent:ld(c)}),em(),e==="dark"?tp:ep,Qf(i),Bu(r),Ap(),sd(),u?$p():[],Ml(a),u?mt.high(He.of(Gp)):[],Np(),bp(),yp.of(" "),xp(Sp,{fallback:!0}),He.of(pp),nm({placeholderType:l,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...i,diagnostics:s}}),Wf.of(Pp()),ta.allowMultipleSelections.of(!0),Ku(n),He.of([{key:"Tab",run:d=>Yi(d)||ud(d)||_p(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>qt(d.state)===null?!1:(qn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>qt(d.state)===null?!1:(qn(!1)(d),!0),preventDefault:!0}]),He.of([...Rp,jp])]};var tt=(t=>!t||t instanceof WebAssembly.Module?t:typeof t=="object"&&"default"in t?t.default??t:t)($h),kr=t=>{qh(t),typeof ws=="function"&&ws(),fd(Tt)};function fd(t){typeof t.__wbindgen_start=="function"&&t.__wbindgen_start()}if(tt&&tt.__wbindgen_start)kr(tt);else if("Bun"in globalThis){let t;if(tt instanceof WebAssembly.Module)({instance:t}=await WebAssembly.instantiate(tt,{"./loro_wasm_bg.js":Tt}));else{let e=Bun.pathToFileURL(tt);({instance:t}=await WebAssembly.instantiateStreaming(fetch(e),{"./loro_wasm_bg.js":Tt}))}kr(t.exports)}else{let t=tt instanceof WebAssembly.Module?tt:await yh(()=>import("./loro_wasm_bg-Cei5H7n0.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),e=t instanceof WebAssembly.Module?t:t&&t.default||t,n;if(e instanceof WebAssembly.Instance)n=e;else if(e instanceof WebAssembly.Module)n=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Tt});else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let{instance:r}=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Tt});n=r}else if(typeof e=="string"||e instanceof URL){let r=await fetch(e),{instance:a}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":Tt});n=a}else throw console.error("Unsupported wasm import type:",e),Error("Unsupported wasm import type: "+typeof e);kr(n.exports??n)}var md=["Map","Text","List","Tree","MovableList","Counter"];function pd(t){return t.startsWith("cid:")}function Do(t){if(typeof t!="object"||!t)return!1;let e=Object.getPrototypeOf(t);return typeof e!="object"||!e||typeof e.kind!="function"?!1:md.includes(t.kind())}var hd=class{constructor(t,e=3e4){this.listeners=new Set,this.inner=new Wh(t,e),this.peer=t,this.timeout=e}apply(t,e="remote"){let{updated:n,added:r}=this.inner.apply(t);this.listeners.forEach(a=>{a({updated:n,added:r,removed:[]},e)}),this.startTimerIfNotEmpty()}setLocalState(t){let e=this.inner.getState(this.peer)==null;this.inner.setLocalState(t),e?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(t){return this.inner.encode(t)}encodeAll(){return this.inner.encodeAll()}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let t=this.inner.removeOutdated();t.length>0&&this.listeners.forEach(e=>{e({updated:[],added:[],removed:t},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};la.prototype.toJsonWithReplacer=function(t){let e=new Set,n=this,r=(o,i)=>{if(typeof i=="string"&&pd(i)&&!e.has(i)){e.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=t(o,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?a(u):u}if(Do(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?a(l):l}if(typeof i=="object"&&i)return a(i);let s=t(o,i);if(Do(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},a=o=>{if(Array.isArray(o))return o.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(o)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return a(n.getShallowValue())};var Mo=Symbol("loro.callPendingEventsWrapped");function gd(t,e){let n=Object.getOwnPropertyDescriptor(t,e);if(!n||typeof n.value!="function")return;let r=n.value;if(r[Mo])return;let a=function(...o){let i;try{return i=r.apply(this,o),i}finally{i&&typeof i.then=="function"?i.finally(()=>{bs()}):bs()}};a[Mo]=!0,Object.defineProperty(t,e,{...n,value:a})}function Cr(t,e){for(let n of e)gd(t,n)}Cr(la.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),Cr(Jh.prototype,["set","delete","apply","removeOutdated"]),Cr(Vh.prototype,["undo","redo"]);const yd=R.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"}});ea.define();const Ft=ce.define(),Tr=We.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(t,e){for(let n of e.effects)if(n.is(Ft))switch(n.value.type){case"update":{let{peer:r,user:a,cursor:o}=n.value;t.remoteCursors.set(r,{uid:r,cursor:o,user:a});break}case"delete":t.remoteCursors.delete(n.value.peer);break;case"checkout":t.isCheckout=n.value.checkout}return t}});var Fo=t=>{let e=t.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ft));return t.docChanged||t.viewportChanged||e.length>0};const bd=()=>Hi({above:!0,class:"loro-cursor-layer",update:Fo,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Tr);return n?[]:[...e.values()].flatMap(r=>{var o,i;let a=St.cursor(r.cursor.anchor);return vd.createCursor(t,a,((o=r.user)==null?void 0:o.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),wd=()=>Hi({above:!1,class:"loro-selection-layer",update:Fo,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Tr);return n?[]:[...e.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var o;let a=St.range(r.cursor.anchor,r.cursor.head);return Tp.forRange(t,`loro-selection ${((o=r.user)==null?void 0:o.colorClassName)||""}`,a)})}});var vd=class ma{constructor(e,n,r,a,o){this.left=e,this.top=n,this.height=r,this.name=a,this.colorClassName=o}draw(){let e=document.createElement("div");return this.adjust(e),e}update(e){return this.adjust(e),!0}adjust(e){e.style.left=`${this.left}px`,e.style.top=`${this.top}px`,e.style.height=`${this.height}px`,e.className=`loro-cursor ${this.colorClassName}`,e.style.setProperty("--rtc-name",`"${this.name}"`)}eq(e){return this.left===e.left&&this.top===e.top&&this.height===e.height&&this.name===e.name}static createCursor(e,n,r,a){let o=ma.calculateAbsoluteCursorPosition(n,e);if(!o)return[];let i=e.scrollDOM.getBoundingClientRect(),s=(e.textDirection===Ip.LTR?i.left:i.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,c=i.top-e.scrollDOM.scrollTop;return[new ma(o.left-s,o.top-c,o.bottom-o.top,r,a)]}static calculateAbsoluteCursorPosition(e,n){let r=Math.max(0,Math.min(n.state.doc.length,e.anchor));return n.coordsAtPos(r,e.assoc||1)}},xd=(t,e,n,r)=>{let a=[],{updated:o,added:i}=n;for(let s of[...o,...i]){let c=Ro(t,e,s,r);c&&a.push(c)}return a},Ro=(t,e,n,r)=>{var c,l;let a=e.getAllStates()[n];if(!a||n===t.peerIdStr||a.scopeId!==r)return;if(a.type==="delete")return Ft.of({type:"delete",peer:a.uid,scopeId:a.scopeId});let o=vs.decode(a.cursor.anchor),i=((c=t.getCursorPos(o))==null?void 0:c.offset)??0,s=i;if(a.cursor.head){let u=vs.decode(a.cursor.head);s=((l=t.getCursorPos(u))==null?void 0:l.offset)??0}return Ft.of({type:"update",peer:a.uid,scopeId:a.scopeId,cursor:{anchor:i,head:s},user:a.user})},Ed=class{constructor(t,e,n,r,a,o,i){this.view=t,this.doc=e,this.user=n,this.awareness=r,this.getTextFromDoc=a,this.scopeId=o,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=Ro(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ft.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(t){if(!t.selectionSet&&!t.focusChanged&&!t.docChanged)return;let e=t.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=kd({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:e.anchor,head:e.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 t;(t=this.sub)==null||t.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},Sd=class{constructor(t,e,n,r){this.view=t,this.doc=e,this.awareness=n,this.scopeId=r;let a=async(o,i)=>{i!=="local"&&this.view.dispatch({effects:xd(this.doc,this.awareness,o,this.scopeId)})};this._awarenessListener=a,this.awareness.addListener(a)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},kd=({doc:t,getTextFromDoc:e,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let a=(i=e(t).getCursor(n))==null?void 0:i.encode();if(!a)throw Error("cursor head not found");let o;return r!==void 0&&(o=(s=e(t).getCursor(r))==null?void 0:s.encode()),{anchor:a,head:o}};const Tn=["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)"],Cd=t=>{if(typeof t=="string"){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e=Math.trunc(e);return Tn[Math.abs(e)%Tn.length]}return Tn[t%Tn.length]};var he=$e.get("rtc"),Bo=he.get("awareness").disabled(),Nr="awareness:";function Td(t,e){let n=new TextEncoder().encode(t);return new Uint8Array([...n,...e])}function Nd(t,e){return new TextDecoder().decode(t.slice(0,e.length))===e}function Id(t,e){return t.slice(e.length)}pt=ut(void 0);var re=new la,Nn=new hd(re.peerIdStr),Ir=Bp(()=>{he.debug("creating websocket");let t=new zh(qi().getWsSyncURL(wh()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Wi(),qm()==="edit"&&t.reconnect()}),t.addEventListener("message",async e=>{let n=await e.data.arrayBuffer(),r=new Uint8Array(n);if(Nd(r,Nr)){let a=Id(r,Nr);Nn.apply(a),Bo.debug("applied awareness update");return}re.import(r),he.debug("imported doc change. new doc:",re.toJSON()),J.get(pt)!==re&&J.set(pt,re)}),t.addEventListener("open",()=>{he.debug("websocket open")}),t.addEventListener("close",e=>{he.warn("websocket close",e),J.get(pt)===re&&J.set(pt,void 0)}),t});Gn()&&Ir(),re.subscribeLocalUpdates(t=>{he.debug("local update, sending to server"),Ir().send(t)}),Nn.addListener((t,e)=>{let n=[...t.added,...t.removed,...t.updated];e==="local"&&(Bo.debug("awareness changes",n),Ir().send(Td(Nr,Nn.encode(n))))});function Ar(t,e,n=""){if(Hm())return{extension:[],code:n};let r=re.getByPath(`codes/${t}`)!==void 0,a=re.getMap("codes").getOrCreateContainer(t,new sa);return r||(he.log("initializing code for new cell",n),a.insert(0,n)),{code:n.toString(),extension:[Ad(t),Ld(t),Od(re,Nn,{get name(){return J.get(Sm)||"Anonymous"},get colorClassName(){return Cd(this.name)}},()=>a,t),gm(re,["codes",t],()=>a)]}}function Ad(t){let e=(r,a)=>{let o=r.state.field(dt).type,i=a.toString();i&&i!==o&&(he.debug(`[incoming] setting language type: ${o} -> ${i}`),Bt(r,{language:i,keepCodeAsIs:!0}))},n=(r,a)=>{let o=r.state.field($r),i=a.toJSON();Pn(o,i)||r.dispatch({effects:[Ai.of(i)],annotations:[Di.of(!0)]})};return ze.define(r=>{let a;return Promise.resolve().then(()=>{let o=re.getByPath(`languages/${t}`);if(!o){he.error("no language container found for cell",t);return}Gt(o instanceof sa,"language type is not a LoroText");let i=re.getByPath(`language_metadata/${t}`);if(!i){he.error("no language metadata container found for cell",t);return}Gt(i instanceof xs,"language metadata is not a LoroMap"),e(r,o),n(r,i),a=re.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===o.id),l=s.events.some(u=>u.target===i.id);c&&e(r,o),l&&n(r,i)})}),{destroy(){a()}}})}function Ld(t){let e=re.getMap("languages").getOrCreateContainer(t,new sa),n=re.getMap("language_metadata").getOrCreateContainer(t,new xs);return R.updateListener.of(r=>{let a=e.toString()!=="";if(!r.docChanged&&a)return;if(!a){let i=zr(r.state).type;Bt(r.view,{language:i}),he.debug("no initial language, setting default to",i),e.delete(0,e.length),e.insert(0,i),he.debug("no initial language metadata, setting default to",r.state.field($r));let s=r.state.field($r);for(let c of Object.keys(s))n.set(c,s[c]);re.commit();return}let o=!1;for(let i of r.transactions)if(!i.annotation(Di)){for(let s of i.effects)if(s.is(Im)&&e.toString()!==s.value.type&&(he.debug(`[outgoing] language change: ${e} -> ${s.value.type}`),e.delete(0,e.length),e.insert(0,s.value.type),o=!0),s.is(Ai)||s.is(Ii)){let c=s.value;s.is(Ii)?(he.debug("[outgoing] setting language metadata: ",c),n.clear()):he.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);o=!0}}o&&re.commit()})}function Od(t,e,n,r,a,o){let i=`loro:cell:${a}`;return[Tr,bd(),wd(),ze.define(s=>new Ed(s,t,n,e,r,i,o)),ze.define(s=>new Sd(s,t,e,i)),yd]}var _d=ve(),Ud=ap;ua=t=>{let e=(0,_d.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:a,flexibleWidth:o,onNameChange:i,className:s}=t,c=n===void 0?!1:n,l=a===void 0?null:a,u=o===void 0?!1:o,{sendListFiles:d}=Hn(),[p,f]=(0,N.useState)(l),m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[0]=m):m=e[0];let[y,b]=(0,N.useState)(m),[v,S]=(0,N.useState)(!1),k=(0,N.useRef)(null),_=(0,N.useRef)(!1),P,A;e[1]===l?(P=e[2],A=e[3]):(P=()=>{f(l)},A=[l],e[1]=l,e[2]=P,e[3]=A),(0,N.useEffect)(P,A);let T;e[4]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{S(!0)},e[4]=T):T=e[4];let G=T,M;e[5]!==l||e[6]!==c?(M=Y=>{var vt;(vt=Y.relatedTarget)!=null&&vt.closest(".filename-input")||(S(!1),c&&f(l))},e[5]=l,e[6]=c,e[7]=M):M=e[7];let ae=M,O;e[8]===p?O=e[9]:(O=Ze.dirname(p||""),e[8]=p,e[9]=O);let I=O,le=Ze.basename(p||""),ue=y.filter(Y=>Ze.basename(Y.path).startsWith(le)),oe;e[10]!==I||e[11]!==v||e[12]!==d?(oe=async()=>{if(!v){b([]);return}b((await d({path:I})).files)},e[10]=I,e[11]=v,e[12]=d,e[13]=oe):oe=e[13];let ne;e[14]!==I||e[15]!==v?(ne=[I,v],e[14]=I,e[15]=v,e[16]=ne):ne=e[16];let{isPending:U}=Oh(oe,ne),j=jd(p,y,l),we=(j||ue.length>0)&&(0,h.jsxs)(ps,{className:"font-mono",children:[!U&&(0,h.jsx)(Uh,{children:"No files"}),j&&(0,h.jsxs)(ms,{variant:"success",className:"py-2 px-3",onSelect:()=>{var Y;j&&(_.current=!0,i(j),(Y=k.current)==null||Y.blur())},children:[(0,h.jsx)(te,{className:"w-4 h-4 mr-2"})," ",(0,h.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,h.jsx)("span",{className:"font-medium text-sm",children:Ze.basename(j)})]})]},"_rename_"),ue.map(Y=>{let vt=dh[Y.isDirectory?"directory":uh(Y.path)];return(0,h.jsxs)(ms,{variant:Y.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{Y.isDirectory?f(`${Y.path}/`):f(Y.path)},children:[(0,h.jsx)(vt,{className:"w-4 h-4 mr-2"})," ",Ze.basename(Y.path)]},Y.path)})]}),de=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,E=v?p||"":l||"",C;e[17]!==u||e[18]!==de?(C=u?{maxWidth:de}:void 0,e[17]=u,e[18]=de,e[19]=C):C=e[19];let D;e[20]===s?D=e[21]:(D=at(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),e[20]=s,e[21]=D);let L;e[22]!==r||e[23]!==E||e[24]!==C||e[25]!==D?(L=(0,h.jsx)(Ud,{children:(0,h.jsx)(_h,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:E,onKeyDown:Pd,icon:null,ref:k,onValueChange:f,placeholder:r,autoComplete:"off",style:C,className:D})}),e[22]=r,e[23]=E,e[24]=C,e[25]=D,e[26]=L):L=e[26];let fe=we&&"group-focus-within:block",Je;e[27]===fe?Je=e[28]:(Je=at("p-0 w-full min-w-80 max-w-80vw hidden",fe),e[27]=fe,e[28]=Je);let qe;e[29]!==we||e[30]!==Je?(qe=(0,h.jsx)(op,{side:"bottom",className:Je,portal:!1,children:we}),e[29]=we,e[30]=Je,e[31]=qe):qe=e[31];let Ve;e[32]!==L||e[33]!==qe?(Ve=(0,h.jsxs)(ps,{children:[L,qe]}),e[32]=L,e[33]=qe,e[34]=Ve):Ve=e[34];let F;e[35]!==ae||e[36]!==Ve?(F=(0,h.jsx)(jh,{onFocus:G,onBlur:ae,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ve}),e[35]=ae,e[36]=Ve,e[37]=F):F=e[37];let ie;return e[38]!==v||e[39]!==F?(ie=(0,h.jsx)(np,{children:(0,h.jsx)(ip,{open:v,modal:!1,children:F})}),e[38]=v,e[39]=F,e[40]=ie):ie=e[40],ie};function jd(t,e,n){if(t&&!t.endsWith("/")&&((vi("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ze.extension(t))||(t=t.endsWith(".")?`${t}py`:t.endsWith(".p")?`${t}y`:`${t}.py`),!e.some(r=>r.path===t||Ze.basename(r.path)===t)&&!(n&&(n===t||Ze.basename(n)===t))))return t}function Pd(t){t.key==="Escape"&&t.currentTarget.blur()}var Go=ve(),Dd=t=>{let e=(0,Go.c)(33),n=()=>{up(new Blob([r()],{type:"text/plain"}),`${t.proposedName}.json`)},r=se(Rd),a;e[0]!==n||e[1]!==t?(a=P=>{P.preventDefault(),n(),t.closeModal()},e[0]=n,e[1]=t,e[2]=a):a=e[2];let o;e[3]===t?o=e[4]:(o=P=>{P.key==="Escape"&&t.closeModal()},e[3]=t,e[4]=o);let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,h.jsx)(is,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),e[5]=i):i=e[5];let s;e[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},e[6]=s):s=e[6];let c,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},e[7]=c,e[8]=l):(c=e[7],l=e[8]);let u;e[9]===t.proposedName?u=e[10]:(u=(0,h.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,h.jsxs)("code",{children:[t.proposedName,".json"]}),". This file contains your code."]}),e[9]=t.proposedName,e[10]=u);let d;e[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},e[11]=d):d=e[11];let p;e[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},e[12]=p):p=e[12];let f;e[13]===t.proposedName?f=e[14]:(f=(0,h.jsxs)("code",{style:p,children:["marimo recover ",t.proposedName,".json ",">"," ",t.proposedName,".py"]}),e[13]=t.proposedName,e[14]=f);let m;e[15]===t.proposedName?m=e[16]:(m=(0,h.jsxs)("code",{children:[t.proposedName,".py"]}),e[15]=t.proposedName,e[16]=m);let y;e[17]!==m||e[18]!==f?(y=(0,h.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",m," with the recovered changes."]}),e[17]=m,e[18]=f,e[19]=y):y=e[19];let b;e[20]!==y||e[21]!==u?(b=(0,h.jsx)(kh,{className:"markdown wrap-break-word",style:s,children:(0,h.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,h.jsxs)("ol",{children:[u,y]})]})}),e[20]=y,e[21]=u,e[22]=b):b=e[22];let v;e[23]===t.closeModal?v=e[24]:(v=(0,h.jsx)(ft,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:t.closeModal,children:"Cancel"}),e[23]=t.closeModal,e[24]=v);let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=(0,h.jsx)(ft,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),e[25]=S):S=e[25];let k;e[26]===v?k=e[27]:(k=(0,h.jsxs)(ss,{children:[v,S]}),e[26]=v,e[27]=k);let _;return e[28]!==a||e[29]!==o||e[30]!==b||e[31]!==k?(_=(0,h.jsx)(ls,{className:"w-fit",children:(0,h.jsxs)("form",{onSubmit:a,onKeyDown:o,children:[i,b,k]})}),e[28]=a,e[29]=o,e[30]=b,e[31]=k,e[32]=_):_=e[32],_};const Md=t=>{let e=(0,Go.c)(12),{filename:n,needsSave:r}=t,{openModal:a,closeModal:o}=us(),i;e[0]===n?i=e[1]:(i=n===null?"app":Ze.basename(n).split(".")[0],e[0]=n,e[1]=i);let s=i,c;e[2]!==o||e[3]!==r||e[4]!==a||e[5]!==s?(c=()=>{r&&a((0,h.jsx)(Dd,{proposedName:s,closeModal:o}))},e[2]=o,e[3]=r,e[4]=a,e[5]=s,e[6]=c):c=e[6];let l=c;cs("global.save",l);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=hs("global.save"),e[7]=u):u=e[7];let d=r?"yellow":"gray",p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,h.jsx)(rs,{strokeWidth:1.5,size:18}),e[8]=p):p=e[8];let f;return e[9]!==l||e[10]!==d?(f=(0,h.jsx)(Jn,{content:u,children:(0,h.jsx)(Es,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:p})}),e[9]=l,e[10]=d,e[11]=f):f=e[11],f};function Fd(t){return{id:t.id,name:t.name,code:t.code,code_hash:null,config:{column:0,...t.config}}}function Rd(){let t=Gr(xt()),e={version:"1",metadata:{marimo_version:Zm()},cells:t.map(Fd)};return JSON.stringify(e,null,2)}let Lr;Xn=ut(void 0),Lr=ut(t=>{let e=t(Xn);return Bd({state:t(rt),layout:t(Qi),lastSavedNotebook:e})});function Bd({state:t,layout:e,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:a}=t,o=r.inOrderIds.map(l=>a[l]),i=o.map(l=>l.code),s=o.map(l=>l.config),c=o.map(l=>l.name);return!zi(i,n.codes)||!zi(c,n.names)||!Pn(s,n.configs)||!Pn(e.selectedLayout,n.layout.selectedLayout)||!Pn(e.layoutData,n.layout.layoutData)}var Gd=ve();function Jd(t){let e=(0,Gd.c)(21),{codes:n,cellConfigs:r,config:a,connStatus:o,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=t,u=(0,N.useRef)(null),d;e[0]===n?d=e[1]:(d=n.join(":"),e[0]=n,e[1]=d);let p=d,f;e[2]===r?f=e[3]:(f=r.map(Vd).join(":"),e[2]=r,e[3]=f);let m=f,y;e[4]===i?y=e[5]:(y=i.join(":"),e[4]=i,e[5]=y);let b=y,v;e[6]!==a||e[7]!==o.state||e[8]!==c||e[9]!==s||e[10]!==l?(v=()=>{if(!c)return a.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&o.state===Jt.OPEN&&(u.current=setTimeout(l,a.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},e[6]=a,e[7]=o.state,e[8]=c,e[9]=s,e[10]=l,e[11]=v):v=e[11];let S;e[12]!==m||e[13]!==b||e[14]!==p||e[15]!==a||e[16]!==o.state||e[17]!==c||e[18]!==s||e[19]!==l?(S=[p,m,b,a,o.state,l,c,s],e[12]=m,e[13]=b,e[14]=p,e[15]=a,e[16]=o.state,e[17]=c,e[18]=s,e[19]=l,e[20]=S):S=e[20],(0,N.useEffect)(v,S)}function Vd(t){return JSON.stringify(t)}var In=ve();Cs=t=>{let e=(0,In.c)(15),{kioskMode:n}=t,r=Ih(),a=q(Lr),o=q(Et).state===Jt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Yt(),c;e[0]!==n||e[1]!==s?(c={onSave:s,kioskMode:n},e[0]=n,e[1]=s,e[2]=c):c=e[2],Hd(c),Yh();let l;e[3]===a?l=e[4]:(l=b=>{if(a)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},e[3]=a,e[4]=l),$m(window,"beforeunload",l);let u;e[5]===i?u=e[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},e[5]=i,e[6]=u);let d=u;if(cs("global.save",i),o){let b;return e[7]!==r||e[8]!==a?(b=(0,h.jsx)(Md,{filename:r,needsSave:a}),e[7]=r,e[8]=a,e[9]=b):b=e[9],b}let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=hs("global.save"),e[10]=p):p=e[10];let f=a?"yellow":"hint-green",m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=(0,h.jsx)(rs,{strokeWidth:1.5,size:18}),e[11]=m):m=e[11];let y;return e[12]!==d||e[13]!==f?(y=(0,h.jsx)(Jn,{content:p,children:(0,h.jsx)(Es,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:m})}),e[12]=d,e[13]=f,e[14]=y):y=e[14],y},Yt=function(){let t=(0,In.c)(21),{sendSave:e}=Hn(),{openModal:n,closeModal:r,openAlert:a}=us(),o=wi(Xn),i=Ah(),s=Fr(),c;t[0]!==a||t[1]!==e||t[2]!==o||t[3]!==s?(c=async(v,S)=>{let k=s.get(Et),_=s.get(Vi);if(s.get(zm))return;if(k.state!==Jt.OPEN){a("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),S&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await am());let P=xt(),A=Gr(P),T=A.map(qd),G=A.map(Wd),M=A.map($d),ae=Mi(P),O=s.get(Qi);G.length!==0&&(await e({cellIds:T,codes:G,names:M,filename:v,configs:ae,layout:zp(),persist:!0}),o({names:M,codes:G,configs:ae,layout:O}))},t[0]=a,t[1]=e,t[2]=o,t[3]=s,t[4]=c):c=t[4];let l=se(c),u;t[5]!==l||t[6]!==s?(u=v=>{let S=v===void 0?!1:v,k=s.get(_i),_=s.get(Et);Jo(k)&&_.state===Jt.OPEN&&l(k,S)},t[5]=l,t[6]=s,t[7]=u):u=t[7];let d=se(u),p;t[8]!==l||t[9]!==i?(p=v=>{i(v).then(S=>{S!==null&&l(S,!0)})},t[8]=l,t[9]=i,t[10]=p):p=t[10];let f=p,m;t[11]!==r||t[12]!==f||t[13]!==n||t[14]!==d||t[15]!==s?(m=()=>{let v=s.get(_i),S=s.get(Et);d(!0),!Jo(v)&&S.state!==Jt.CLOSED&&n((0,h.jsx)(Kd,{onClose:r,onSave:f}))},t[11]=r,t[12]=f,t[13]=n,t[14]=d,t[15]=s,t[16]=m):m=t[16];let y=se(m),b;return t[17]!==d||t[18]!==l||t[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},t[17]=d,t[18]=l,t[19]=y,t[20]=b):b=t[20],b};function $d(t){return t.name}function Wd(t){return t.code}function qd(t){return t.id}function Jo(t){return t!==null&&!t.startsWith("/tmp/")&&!t.startsWith("/var/folders")&&!t.includes("AppData\\Local\\Temp")}function Hd(t){let e=(0,In.c)(14),n=q(Vi),r=Gf(),[a]=jn(Et),o=q(Lr),i,s;if(e[0]!==r){let p=Gr(r);i=p.map(Yd),s=p.map(zd),e[0]=r,e[1]=i,e[2]=s}else i=e[1],s=e[2];let c=s,l;e[3]===r?l=e[4]:(l=Mi(r),e[3]=r,e[4]=l);let u=l,d;e[5]!==n||e[6]!==c||e[7]!==i||e[8]!==u||e[9]!==a||e[10]!==o||e[11]!==t.kioskMode||e[12]!==t.onSave?(d={onSave:t.onSave,needsSave:o,codes:i,cellConfigs:u,cellNames:c,connStatus:a,config:n,kioskMode:t.kioskMode},e[5]=n,e[6]=c,e[7]=i,e[8]=u,e[9]=a,e[10]=o,e[11]=t.kioskMode,e[12]=t.onSave,e[13]=d):d=e[13],Jd(d)}function zd(t){return t.name}function Yd(t){return t.code}var Kd=t=>{let e=(0,In.c)(17),{onClose:n,onSave:r}=t,[a,o]=(0,N.useState)(),i;e[0]!==n||e[1]!==r?(i=b=>{o(b),b.trim()&&(r(b),n())},e[0]=n,e[1]=r,e[2]=i):i=e[2];let s=i,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)(is,{children:"Save notebook"}),e[3]=c):c=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,h.jsx)(Qr,{className:"text-md pt-6 px-1",children:"Save as"}),e[4]=l):l=e[4];let u;e[5]===s?u=e[6]:(u=(0,h.jsxs)("div",{className:"flex flex-col",children:[l,(0,h.jsx)(ua,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),e[5]=s,e[6]=u);let d;e[7]===n?d=e[8]:(d=(0,h.jsx)(ft,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),e[7]=n,e[8]=d);let p=!a,f;e[9]===p?f=e[10]:(f=(0,h.jsx)(ft,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),e[9]=p,e[10]=f);let m;e[11]!==d||e[12]!==f?(m=(0,h.jsxs)(ss,{children:[d,f]}),e[11]=d,e[12]=f,e[13]=m):m=e[13];let y;return e[14]!==u||e[15]!==m?(y=(0,h.jsxs)(ls,{children:[c,u,m]}),e[14]=u,e[15]=m,e[16]=y):y=e[16],y};Kn=function(...t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}};var Vo={modified:{doc:""},original:{doc:""}},$o=(0,N.createContext)(Vo);function Xd(t,e){return K({},t,e,{modified:K({},t.modified,e.modified),original:K({},t.original,e.original)})}var Or=()=>(0,N.useContext)($o),Qd=t=>{var{children:e,theme:n}=t,[r,a]=(0,N.useReducer)(Xd,K({},Vo,{theme:n}));return(0,N.useEffect)(()=>a({theme:n}),[n]),(0,h.jsx)($o.Provider,{value:K({},r,{dispatch:a}),children:e})},Zd=["extensions","value","selection","onChange"],Wo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=Ht(t,Zd),{theme:i,dispatch:s}=Or(),c=Ct(K({},o,{theme:i}));return(0,N.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...e]},originalExtension:{onChange:a,option:o,extension:[e]}}),[t]),null};Wo.displayName="CodeMirrorMerge.Original";var ef=["extensions","value","selection","onChange"],qo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=Ht(t,ef),{theme:i,dispatch:s}=Or(),c=Ct(K({},o,{theme:i}));return(0,N.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...e]},modifiedExtension:{onChange:a,option:o,extension:[e]}})},[t]),null};qo.displayName="CodeMirrorMerge.Modified";var tf=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],nf=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ho=N.forwardRef((t,e)=>{var{className:n,children:r,orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:p}=t,f=Ht(t,tf),m=Or(),{modified:y,modifiedExtension:b,original:v,originalExtension:S,theme:k,dispatch:_}=m,P=Ht(m,nf),A=(0,N.useRef)(null),T=(0,N.useRef)(),G={orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:p};(0,N.useImperativeHandle)(e,()=>({container:A.current,view:T.current,modified:y,original:v,config:K({a:v,b:y,parent:A.current},G)}),[A,T,y,v,G]);var M=R.updateListener.of(O=>{if(O.docChanged&&typeof(S==null?void 0:S.onChange)=="function"){var I=O.state.doc.toString();S==null||S.onChange(I,O)}}),ae=R.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var I=O.state.doc.toString();b==null||b.onChange(I,O)}});return(0,N.useEffect)(()=>{!T.current&&A.current&&S&&b&&(T.current=new gs(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k})),M]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k})),ae]}),parent:A.current},G)),_({view:T.current}))},[T,A,S,b]),(0,N.useEffect)(()=>{var U,j;if(v&&v.doc&&T.current){var O=(U=T.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var I;(I=T.current)==null||I.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&T.current){var le=(j=T.current)==null?void 0:j.b.state.doc.toString();if(le!==y.doc){var ue;(ue=T.current)==null||ue.b.dispatch({changes:{from:0,to:le.length,insert:y.doc||""}})}}if(l&&T.current){var oe=T.current.a.state.selection.ranges[0].from,ne=T.current.b.state.selection.ranges[0].from;T.current.destroy(),T.current=new gs(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k}))]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k}))]}),parent:A.current},G)),oe&&(T.current.a.focus(),T.current.a.dispatch({selection:{anchor:oe,head:oe}})),ne&&(T.current.b.focus(),T.current.b.dispatch({selection:{anchor:ne,head:ne}}))}},[T,k,A.current,v,y,S,b,l]),(0,N.useEffect)(()=>()=>T.current&&T.current.destroy(),[]),(0,N.useEffect)(()=>{if(T.current){var O={};P.orientation!==a&&(O.orientation=a),P.revertControls!==o&&(O.revertControls=o),P.highlightChanges!==i&&(O.highlightChanges=i),P.gutter!==s&&(O.gutter=s),P.collapseUnchanged!==c&&(O.collapseUnchanged=c),P.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&T.current&&(T.current.reconfigure(K({},O)),_(K({},O)))}},[_,T,a,o,i,s,c,u]),(0,h.jsx)("div",K({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ho.displayName="CodeMirrorMerge.Internal";var rf=["theme"],An=N.forwardRef((t,e)=>{var{theme:n}=t;return(0,h.jsx)(Qd,{theme:n,children:(0,h.jsx)(Ho,K({},Ht(t,rf),{ref:e}))})});An.Original=Wo,An.Modified=qo,An.displayName="CodeMirrorMerge";var _r=An,af=ve(),of=_r.Original,sf=_r.Modified,zo=[Vf(),R.lineWrapping];const lf=({cellId:t,aiCompletionCell:e,className:n,onChange:r,currentLanguageAdapter:a,currentCode:o,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,p]=(0,N.useState)(!1),[f,m]=(0,N.useState)({}),[y,b]=jn(Nh),v=(0,N.useId)(),S=Km(),{initialPrompt:k,triggerImmediately:_,cellId:P}=e??{},A=P===t,T=q(Zp).get(t),G;(T==null?void 0:T.type)==="update_cell"&&(G=T.previousCode);let{completion:M,input:ae,stop:O,isLoading:I,setCompletion:le,setInput:ue,handleSubmit:oe,complete:ne}=nh({api:S.getAiURL("completion").toString(),headers:S.headers(),initialInput:k,throttle:100,body:{...Object.keys(f).length>0?f:k?es({input:k}):{},includeOtherCode:y?Jr(o):"",code:o,language:a},onError:F=>{kt({title:"Completion failed",description:Ch(F)})},onFinish:(F,ie)=>{le(rr(ie).trimEnd())}}),U=N.useRef(null),j=rr(M,{streaming:I}).trimEnd(),we=(0,N.useCallback)(()=>{_&&!I&&k&&ne(k)},[_]);(0,N.useEffect)(()=>{var F;A&&(Jf(()=>{let ie=U.current;return ie!=null&&ie.view?(ie.view.focus(),we(),!0):!1},{retries:3,delay:100,initialDelay:100}),Nm((F=U.current)==null?void 0:F.view))},[A,we]),(0,N.useEffect)(()=>{A&&ue(k||"")},[A,k,ue]);let{theme:de}=vh(),E=()=>{s(j),le("")},C=()=>{var F,ie;O(),le(""),p(!0),(ie=(F=U.current)==null?void 0:F.view)==null||ie.focus()},D=A&&_&&(j||I);l??(l="below");let L=A&&(!_||d),fe=(0,h.jsx)("div",{className:at("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,h.jsx)(cf,{status:I?"loading":"generated",onAccept:E,onReject:C,showInputPrompt:d,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-lg"})}),Je=(F,ie)=>(0,h.jsxs)(_r,{className:"cm",theme:de,children:[(0,h.jsx)(of,{onChange:r,value:F,extensions:zo}),(0,h.jsx)(sf,{value:ie,editable:!1,readOnly:!0,extensions:zo})]}),qe=()=>{if(j&&A)return Je(o,j);if(!j&&G)return Je(G,o)},Ve=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(Zi,{isLoading:I,onAccept:E,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,h.jsx)(ts,{onDecline:C,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,h.jsxs)("div",{"data-ai-input-open":L,className:at("flex flex-col w-full rounded-[inherit]",n),children:[(0,h.jsx)("div",{className:at("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,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(hh,{className:"text-(--blue-10) shrink-0",size:16}),(0,h.jsx)(oh,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),le("")},value:ae,onChange:F=>{ue(F),m(es({input:F}))},onSubmit:()=>{var F;I||((F=U.current)!=null&&F.view&&eh(U.current.view),oe())},onKeyDown:sh({handleAcceptCompletion:E,handleDeclineCompletion:C,isLoading:I,hasCompletion:j.trim().length>0})}),(0,h.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,h.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,h.jsx)(ih,{isLoading:I,onStop:O,onSendClick:oe,isEmpty:!ae.trim(),showStopLabel:!0}),(0,h.jsx)(ah,{handleAddContext:()=>Qp(U),isLoading:I}),(0,h.jsx)(Jm,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),j&&(0,h.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ve})]}),(0,h.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,h.jsx)(Jn,{content:"Include code from other cells",children:(0,h.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,h.jsx)(zf,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:F=>b(!!F)}),(0,h.jsx)(Qr,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,h.jsx)(ft,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:I,onClick:()=>{O(),i(),le("")},children:(0,h.jsx)(Kp,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&fe,qe(),(!j||!A)&&!G&&u,l==="below"&&fe]})};var cf=t=>{let e=(0,af.c)(27),{status:n,onAccept:r,onReject:a,className:o,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=t,l=n==="loading",u;e[0]===o?u=e[1]:(u=at("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)]",o),e[0]=o,e[1]=u);let d;e[2]===l?d=e[3]:(d=l?(0,h.jsx)(mh,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,h.jsx)(Xp,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),e[2]=l,e[3]=d);let p=l?"Generating fix...":"Showing fix",f;e[4]===p?f=e[5]:(f=(0,h.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),e[4]=p,e[5]=f);let m;e[6]!==d||e[7]!==f?(m=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),e[6]=d,e[7]=f,e[8]=m):m=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)(Qr,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),e[9]=y):y=e[9];let b;e[10]!==s||e[11]!==i?(b=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,h.jsx)(Qm,{checked:i,onCheckedChange:s,size:"xs"})]}),e[10]=s,e[11]=i,e[12]=b):b=e[12];let v;e[13]!==l||e[14]!==r||e[15]!==c?(v=(0,h.jsx)(Zi,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),e[13]=l,e[14]=r,e[15]=c,e[16]=v):v=e[16];let S;e[17]===a?S=e[18]:(S=(0,h.jsx)(ts,{onDecline:a,size:"xs",borderless:!0}),e[17]=a,e[18]=S);let k;e[19]!==v||e[20]!==S?(k=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,S]}),e[19]=v,e[20]=S,e[21]=k):k=e[21];let _;return e[22]!==u||e[23]!==k||e[24]!==m||e[25]!==b?(_=(0,h.jsxs)("div",{className:u,children:[m,b,k]}),e[22]=u,e[23]=k,e[24]=m,e[25]=b,e[26]=_):_=e[26],_},Ur="web application/x-marimo-cell",uf=Yr({cells:Um(Yr({code:Fi(),name:Fi().optional(),config:Yr({column:jm([Lm(),Om()]).optional(),disabled:Ri().optional(),hide_code:Ri().optional()}).optional()})),version:_m("1.0")});function jr(t){return t.map(e=>e.code).join(`
|
|
22
|
+
`).trim()}function sd(t,e,n,r){var a;return r!=="{"||e!==n||!((a=$n(t.state).resolveInner(e,-1))!=null&&a.type.name.includes("String"))?!1:(t.dispatch({changes:{from:e,to:n,insert:"{}"},selection:{anchor:e+1},userEvent:"input.type"}),!0)}function ld(){return R.inputHandler.of(sd)}function jo(t){let{showPlaceholder:e,enableAI:n}=t;return e?"marimo-import":n?"ai":"none"}var Po="cm-tooltip-portal";function cd(t){if(t==null)return document.querySelector("#App")??void 0;let e=document.querySelector(t);if(e==null)return;let n=e.querySelector(`:scope > .${Po}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${Po} not-prose contents`,e.append(r),r}const ud=t=>{let{cellId:e,keymapConfig:n,hotkeys:r,enableAI:a,cellActions:o,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=t,d=jo(t);return[Rm(n,r),rd(),ad(),Dl(),zf({cellId:e,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),vm({cellId:e,hotkeys:r,cellActions:o,keymapConfig:n}),fd(t),nd(),c!=null&&c.enabled?Rp():[],a&&u?[Ys({prompt:p=>al({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:nm(p.editorView)})}),Zt.of({hideOnBlur:!0})]:[],Kf(e,l.reference_highlighting??!0),jl(e,l.code_lens??!0)]};var dd=t=>{let{from:e,to:n}=t.state.selection.main;if(e!==n)return!1;let r=t.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Wp(t)};const fd=t=>{let{theme:e,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:a,cellId:o,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=t,l=jo(t),u=r.auto_close_pairs!==!1;return[R.lineWrapping,Np(),Tp(),_p(),Ep(),pp(),hp(),mp(),yp({position:"fixed",parent:cd(c)}),tm(),e==="dark"?rp:np,Zf(i),Gu(r),Op(),ld(),u?qp():[],Fl(a),u?mt.high(He.of(Vp)):[],Ap(),vp(),wp.of(" "),Sp(Cp,{fallback:!0}),He.of(gp),rm({placeholderType:l,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...i,diagnostics:s}}),qf.of(Mp()),ta.allowMultipleSelections.of(!0),Xu(n),He.of([{key:"Tab",run:d=>Yi(d)||dd(d)||jp(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>qt(d.state)===null?!1:(qn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>qt(d.state)===null?!1:(qn(!1)(d),!0),preventDefault:!0}]),He.of([...Gp,Dp])]};var tt=(t=>!t||t instanceof WebAssembly.Module?t:typeof t=="object"&&"default"in t?t.default??t:t)(qh),kr=t=>{zh(t),typeof ws=="function"&&ws(),md(Tt)};function md(t){typeof t.__wbindgen_start=="function"&&t.__wbindgen_start()}if(tt&&tt.__wbindgen_start)kr(tt);else if("Bun"in globalThis){let t;if(tt instanceof WebAssembly.Module)({instance:t}=await WebAssembly.instantiate(tt,{"./loro_wasm_bg.js":Tt}));else{let e=Bun.pathToFileURL(tt);({instance:t}=await WebAssembly.instantiateStreaming(fetch(e),{"./loro_wasm_bg.js":Tt}))}kr(t.exports)}else{let t=tt instanceof WebAssembly.Module?tt:await wh(()=>import("./loro_wasm_bg-Cei5H7n0.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),e=t instanceof WebAssembly.Module?t:t&&t.default||t,n;if(e instanceof WebAssembly.Instance)n=e;else if(e instanceof WebAssembly.Module)n=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Tt});else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let{instance:r}=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Tt});n=r}else if(typeof e=="string"||e instanceof URL){let r=await fetch(e),{instance:a}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":Tt});n=a}else throw console.error("Unsupported wasm import type:",e),Error("Unsupported wasm import type: "+typeof e);kr(n.exports??n)}var pd=["Map","Text","List","Tree","MovableList","Counter"];function hd(t){return t.startsWith("cid:")}function Do(t){if(typeof t!="object"||!t)return!1;let e=Object.getPrototypeOf(t);return typeof e!="object"||!e||typeof e.kind!="function"?!1:pd.includes(t.kind())}var gd=class{constructor(t,e=3e4){this.listeners=new Set,this.inner=new Hh(t,e),this.peer=t,this.timeout=e}apply(t,e="remote"){let{updated:n,added:r}=this.inner.apply(t);this.listeners.forEach(a=>{a({updated:n,added:r,removed:[]},e)}),this.startTimerIfNotEmpty()}setLocalState(t){let e=this.inner.getState(this.peer)==null;this.inner.setLocalState(t),e?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(t){return this.inner.encode(t)}encodeAll(){return this.inner.encodeAll()}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let t=this.inner.removeOutdated();t.length>0&&this.listeners.forEach(e=>{e({updated:[],added:[],removed:t},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};la.prototype.toJsonWithReplacer=function(t){let e=new Set,n=this,r=(o,i)=>{if(typeof i=="string"&&hd(i)&&!e.has(i)){e.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=t(o,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?a(u):u}if(Do(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?a(l):l}if(typeof i=="object"&&i)return a(i);let s=t(o,i);if(Do(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},a=o=>{if(Array.isArray(o))return o.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(o)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return a(n.getShallowValue())};var Mo=Symbol("loro.callPendingEventsWrapped");function yd(t,e){let n=Object.getOwnPropertyDescriptor(t,e);if(!n||typeof n.value!="function")return;let r=n.value;if(r[Mo])return;let a=function(...o){let i;try{return i=r.apply(this,o),i}finally{i&&typeof i.then=="function"?i.finally(()=>{bs()}):bs()}};a[Mo]=!0,Object.defineProperty(t,e,{...n,value:a})}function Cr(t,e){for(let n of e)yd(t,n)}Cr(la.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),Cr($h.prototype,["set","delete","apply","removeOutdated"]),Cr(Wh.prototype,["undo","redo"]);const bd=R.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"}});ea.define();const Ft=ce.define(),Tr=We.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(t,e){for(let n of e.effects)if(n.is(Ft))switch(n.value.type){case"update":{let{peer:r,user:a,cursor:o}=n.value;t.remoteCursors.set(r,{uid:r,cursor:o,user:a});break}case"delete":t.remoteCursors.delete(n.value.peer);break;case"checkout":t.isCheckout=n.value.checkout}return t}});var Fo=t=>{let e=t.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ft));return t.docChanged||t.viewportChanged||e.length>0};const wd=()=>Hi({above:!0,class:"loro-cursor-layer",update:Fo,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Tr);return n?[]:[...e.values()].flatMap(r=>{var o,i;let a=St.cursor(r.cursor.anchor);return xd.createCursor(t,a,((o=r.user)==null?void 0:o.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),vd=()=>Hi({above:!1,class:"loro-selection-layer",update:Fo,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Tr);return n?[]:[...e.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var o;let a=St.range(r.cursor.anchor,r.cursor.head);return Ip.forRange(t,`loro-selection ${((o=r.user)==null?void 0:o.colorClassName)||""}`,a)})}});var xd=class ma{constructor(e,n,r,a,o){this.left=e,this.top=n,this.height=r,this.name=a,this.colorClassName=o}draw(){let e=document.createElement("div");return this.adjust(e),e}update(e){return this.adjust(e),!0}adjust(e){e.style.left=`${this.left}px`,e.style.top=`${this.top}px`,e.style.height=`${this.height}px`,e.className=`loro-cursor ${this.colorClassName}`,e.style.setProperty("--rtc-name",`"${this.name}"`)}eq(e){return this.left===e.left&&this.top===e.top&&this.height===e.height&&this.name===e.name}static createCursor(e,n,r,a){let o=ma.calculateAbsoluteCursorPosition(n,e);if(!o)return[];let i=e.scrollDOM.getBoundingClientRect(),s=(e.textDirection===Lp.LTR?i.left:i.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,c=i.top-e.scrollDOM.scrollTop;return[new ma(o.left-s,o.top-c,o.bottom-o.top,r,a)]}static calculateAbsoluteCursorPosition(e,n){let r=Math.max(0,Math.min(n.state.doc.length,e.anchor));return n.coordsAtPos(r,e.assoc||1)}},Ed=(t,e,n,r)=>{let a=[],{updated:o,added:i}=n;for(let s of[...o,...i]){let c=Ro(t,e,s,r);c&&a.push(c)}return a},Ro=(t,e,n,r)=>{var c,l;let a=e.getAllStates()[n];if(!a||n===t.peerIdStr||a.scopeId!==r)return;if(a.type==="delete")return Ft.of({type:"delete",peer:a.uid,scopeId:a.scopeId});let o=vs.decode(a.cursor.anchor),i=((c=t.getCursorPos(o))==null?void 0:c.offset)??0,s=i;if(a.cursor.head){let u=vs.decode(a.cursor.head);s=((l=t.getCursorPos(u))==null?void 0:l.offset)??0}return Ft.of({type:"update",peer:a.uid,scopeId:a.scopeId,cursor:{anchor:i,head:s},user:a.user})},Sd=class{constructor(t,e,n,r,a,o,i){this.view=t,this.doc=e,this.user=n,this.awareness=r,this.getTextFromDoc=a,this.scopeId=o,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=Ro(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ft.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(t){if(!t.selectionSet&&!t.focusChanged&&!t.docChanged)return;let e=t.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=Cd({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:e.anchor,head:e.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 t;(t=this.sub)==null||t.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},kd=class{constructor(t,e,n,r){this.view=t,this.doc=e,this.awareness=n,this.scopeId=r;let a=async(o,i)=>{i!=="local"&&this.view.dispatch({effects:Ed(this.doc,this.awareness,o,this.scopeId)})};this._awarenessListener=a,this.awareness.addListener(a)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},Cd=({doc:t,getTextFromDoc:e,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let a=(i=e(t).getCursor(n))==null?void 0:i.encode();if(!a)throw Error("cursor head not found");let o;return r!==void 0&&(o=(s=e(t).getCursor(r))==null?void 0:s.encode()),{anchor:a,head:o}};const Tn=["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)"],Td=t=>{if(typeof t=="string"){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e=Math.trunc(e);return Tn[Math.abs(e)%Tn.length]}return Tn[t%Tn.length]};var he=$e.get("rtc"),Bo=he.get("awareness").disabled(),Nr="awareness:";function Nd(t,e){let n=new TextEncoder().encode(t);return new Uint8Array([...n,...e])}function Id(t,e){return new TextDecoder().decode(t.slice(0,e.length))===e}function Ad(t,e){return t.slice(e.length)}pt=ut(void 0);var re=new la,Nn=new gd(re.peerIdStr),Ir=Jp(()=>{he.debug("creating websocket");let t=new Kh(qi().getWsSyncURL(xh()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Wi(),zm()==="edit"&&t.reconnect()}),t.addEventListener("message",async e=>{let n=await e.data.arrayBuffer(),r=new Uint8Array(n);if(Id(r,Nr)){let a=Ad(r,Nr);Nn.apply(a),Bo.debug("applied awareness update");return}re.import(r),he.debug("imported doc change. new doc:",re.toJSON()),J.get(pt)!==re&&J.set(pt,re)}),t.addEventListener("open",()=>{he.debug("websocket open")}),t.addEventListener("close",e=>{he.warn("websocket close",e),J.get(pt)===re&&J.set(pt,void 0)}),t});Gn()&&Ir(),re.subscribeLocalUpdates(t=>{he.debug("local update, sending to server"),Ir().send(t)}),Nn.addListener((t,e)=>{let n=[...t.added,...t.removed,...t.updated];e==="local"&&(Bo.debug("awareness changes",n),Ir().send(Nd(Nr,Nn.encode(n))))});function Ar(t,e,n=""){if(Ym())return{extension:[],code:n};let r=re.getByPath(`codes/${t}`)!==void 0,a=re.getMap("codes").getOrCreateContainer(t,new sa);return r||(he.log("initializing code for new cell",n),a.insert(0,n)),{code:n.toString(),extension:[Ld(t),Od(t),_d(re,Nn,{get name(){return J.get(km)||"Anonymous"},get colorClassName(){return Td(this.name)}},()=>a,t),ym(re,["codes",t],()=>a)]}}function Ld(t){let e=(r,a)=>{let o=r.state.field(dt).type,i=a.toString();i&&i!==o&&(he.debug(`[incoming] setting language type: ${o} -> ${i}`),Bt(r,{language:i,keepCodeAsIs:!0}))},n=(r,a)=>{let o=r.state.field($r),i=a.toJSON();Pn(o,i)||r.dispatch({effects:[Ai.of(i)],annotations:[Di.of(!0)]})};return ze.define(r=>{let a;return Promise.resolve().then(()=>{let o=re.getByPath(`languages/${t}`);if(!o){he.error("no language container found for cell",t);return}Gt(o instanceof sa,"language type is not a LoroText");let i=re.getByPath(`language_metadata/${t}`);if(!i){he.error("no language metadata container found for cell",t);return}Gt(i instanceof xs,"language metadata is not a LoroMap"),e(r,o),n(r,i),a=re.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===o.id),l=s.events.some(u=>u.target===i.id);c&&e(r,o),l&&n(r,i)})}),{destroy(){a()}}})}function Od(t){let e=re.getMap("languages").getOrCreateContainer(t,new sa),n=re.getMap("language_metadata").getOrCreateContainer(t,new xs);return R.updateListener.of(r=>{let a=e.toString()!=="";if(!r.docChanged&&a)return;if(!a){let i=zr(r.state).type;Bt(r.view,{language:i}),he.debug("no initial language, setting default to",i),e.delete(0,e.length),e.insert(0,i),he.debug("no initial language metadata, setting default to",r.state.field($r));let s=r.state.field($r);for(let c of Object.keys(s))n.set(c,s[c]);re.commit();return}let o=!1;for(let i of r.transactions)if(!i.annotation(Di)){for(let s of i.effects)if(s.is(Am)&&e.toString()!==s.value.type&&(he.debug(`[outgoing] language change: ${e} -> ${s.value.type}`),e.delete(0,e.length),e.insert(0,s.value.type),o=!0),s.is(Ai)||s.is(Ii)){let c=s.value;s.is(Ii)?(he.debug("[outgoing] setting language metadata: ",c),n.clear()):he.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);o=!0}}o&&re.commit()})}function _d(t,e,n,r,a,o){let i=`loro:cell:${a}`;return[Tr,wd(),vd(),ze.define(s=>new Sd(s,t,n,e,r,i,o)),ze.define(s=>new kd(s,t,e,i)),bd]}var Ud=ve(),jd=ip;ua=t=>{let e=(0,Ud.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:a,flexibleWidth:o,onNameChange:i,className:s}=t,c=n===void 0?!1:n,l=a===void 0?null:a,u=o===void 0?!1:o,{sendListFiles:d}=Hn(),[p,f]=(0,N.useState)(l),m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[0]=m):m=e[0];let[y,b]=(0,N.useState)(m),[v,S]=(0,N.useState)(!1),k=(0,N.useRef)(null),_=(0,N.useRef)(!1),P,A;e[1]===l?(P=e[2],A=e[3]):(P=()=>{f(l)},A=[l],e[1]=l,e[2]=P,e[3]=A),(0,N.useEffect)(P,A);let T;e[4]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{S(!0)},e[4]=T):T=e[4];let G=T,M;e[5]!==l||e[6]!==c?(M=Y=>{var vt;(vt=Y.relatedTarget)!=null&&vt.closest(".filename-input")||(S(!1),c&&f(l))},e[5]=l,e[6]=c,e[7]=M):M=e[7];let ae=M,O;e[8]===p?O=e[9]:(O=Ze.dirname(p||""),e[8]=p,e[9]=O);let I=O,le=Ze.basename(p||""),ue=y.filter(Y=>Ze.basename(Y.path).startsWith(le)),oe;e[10]!==I||e[11]!==v||e[12]!==d?(oe=async()=>{if(!v){b([]);return}b((await d({path:I})).files)},e[10]=I,e[11]=v,e[12]=d,e[13]=oe):oe=e[13];let ne;e[14]!==I||e[15]!==v?(ne=[I,v],e[14]=I,e[15]=v,e[16]=ne):ne=e[16];let{isPending:U}=Uh(oe,ne),j=Pd(p,y,l),we=(j||ue.length>0)&&(0,h.jsxs)(ps,{className:"font-mono",children:[!U&&(0,h.jsx)(Ph,{children:"No files"}),j&&(0,h.jsxs)(ms,{variant:"success",className:"py-2 px-3",onSelect:()=>{var Y;j&&(_.current=!0,i(j),(Y=k.current)==null||Y.blur())},children:[(0,h.jsx)(te,{className:"w-4 h-4 mr-2"})," ",(0,h.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,h.jsx)("span",{className:"font-medium text-sm",children:Ze.basename(j)})]})]},"_rename_"),ue.map(Y=>{let vt=mh[Y.isDirectory?"directory":fh(Y.path)];return(0,h.jsxs)(ms,{variant:Y.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{Y.isDirectory?f(`${Y.path}/`):f(Y.path)},children:[(0,h.jsx)(vt,{className:"w-4 h-4 mr-2"})," ",Ze.basename(Y.path)]},Y.path)})]}),de=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,E=v?p||"":l||"",C;e[17]!==u||e[18]!==de?(C=u?{maxWidth:de}:void 0,e[17]=u,e[18]=de,e[19]=C):C=e[19];let D;e[20]===s?D=e[21]:(D=at(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),e[20]=s,e[21]=D);let L;e[22]!==r||e[23]!==E||e[24]!==C||e[25]!==D?(L=(0,h.jsx)(jd,{children:(0,h.jsx)(jh,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:E,onKeyDown:Dd,icon:null,ref:k,onValueChange:f,placeholder:r,autoComplete:"off",style:C,className:D})}),e[22]=r,e[23]=E,e[24]=C,e[25]=D,e[26]=L):L=e[26];let fe=we&&"group-focus-within:block",Je;e[27]===fe?Je=e[28]:(Je=at("p-0 w-full min-w-80 max-w-80vw hidden",fe),e[27]=fe,e[28]=Je);let qe;e[29]!==we||e[30]!==Je?(qe=(0,h.jsx)(sp,{side:"bottom",className:Je,portal:!1,children:we}),e[29]=we,e[30]=Je,e[31]=qe):qe=e[31];let Ve;e[32]!==L||e[33]!==qe?(Ve=(0,h.jsxs)(ps,{children:[L,qe]}),e[32]=L,e[33]=qe,e[34]=Ve):Ve=e[34];let F;e[35]!==ae||e[36]!==Ve?(F=(0,h.jsx)(Dh,{onFocus:G,onBlur:ae,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ve}),e[35]=ae,e[36]=Ve,e[37]=F):F=e[37];let ie;return e[38]!==v||e[39]!==F?(ie=(0,h.jsx)(ap,{children:(0,h.jsx)(lp,{open:v,modal:!1,children:F})}),e[38]=v,e[39]=F,e[40]=ie):ie=e[40],ie};function Pd(t,e,n){if(t&&!t.endsWith("/")&&((vi("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ze.extension(t))||(t=t.endsWith(".")?`${t}py`:t.endsWith(".p")?`${t}y`:`${t}.py`),!e.some(r=>r.path===t||Ze.basename(r.path)===t)&&!(n&&(n===t||Ze.basename(n)===t))))return t}function Dd(t){t.key==="Escape"&&t.currentTarget.blur()}var Go=ve(),Md=t=>{let e=(0,Go.c)(33),n=()=>{fp(new Blob([r()],{type:"text/plain"}),`${t.proposedName}.json`)},r=se(Bd),a;e[0]!==n||e[1]!==t?(a=P=>{P.preventDefault(),n(),t.closeModal()},e[0]=n,e[1]=t,e[2]=a):a=e[2];let o;e[3]===t?o=e[4]:(o=P=>{P.key==="Escape"&&t.closeModal()},e[3]=t,e[4]=o);let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,h.jsx)(is,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),e[5]=i):i=e[5];let s;e[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},e[6]=s):s=e[6];let c,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},e[7]=c,e[8]=l):(c=e[7],l=e[8]);let u;e[9]===t.proposedName?u=e[10]:(u=(0,h.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,h.jsxs)("code",{children:[t.proposedName,".json"]}),". This file contains your code."]}),e[9]=t.proposedName,e[10]=u);let d;e[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},e[11]=d):d=e[11];let p;e[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},e[12]=p):p=e[12];let f;e[13]===t.proposedName?f=e[14]:(f=(0,h.jsxs)("code",{style:p,children:["marimo recover ",t.proposedName,".json ",">"," ",t.proposedName,".py"]}),e[13]=t.proposedName,e[14]=f);let m;e[15]===t.proposedName?m=e[16]:(m=(0,h.jsxs)("code",{children:[t.proposedName,".py"]}),e[15]=t.proposedName,e[16]=m);let y;e[17]!==m||e[18]!==f?(y=(0,h.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",m," with the recovered changes."]}),e[17]=m,e[18]=f,e[19]=y):y=e[19];let b;e[20]!==y||e[21]!==u?(b=(0,h.jsx)(Th,{className:"markdown wrap-break-word",style:s,children:(0,h.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,h.jsxs)("ol",{children:[u,y]})]})}),e[20]=y,e[21]=u,e[22]=b):b=e[22];let v;e[23]===t.closeModal?v=e[24]:(v=(0,h.jsx)(ft,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:t.closeModal,children:"Cancel"}),e[23]=t.closeModal,e[24]=v);let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=(0,h.jsx)(ft,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),e[25]=S):S=e[25];let k;e[26]===v?k=e[27]:(k=(0,h.jsxs)(ss,{children:[v,S]}),e[26]=v,e[27]=k);let _;return e[28]!==a||e[29]!==o||e[30]!==b||e[31]!==k?(_=(0,h.jsx)(ls,{className:"w-fit",children:(0,h.jsxs)("form",{onSubmit:a,onKeyDown:o,children:[i,b,k]})}),e[28]=a,e[29]=o,e[30]=b,e[31]=k,e[32]=_):_=e[32],_};const Fd=t=>{let e=(0,Go.c)(12),{filename:n,needsSave:r}=t,{openModal:a,closeModal:o}=us(),i;e[0]===n?i=e[1]:(i=n===null?"app":Ze.basename(n).split(".")[0],e[0]=n,e[1]=i);let s=i,c;e[2]!==o||e[3]!==r||e[4]!==a||e[5]!==s?(c=()=>{r&&a((0,h.jsx)(Md,{proposedName:s,closeModal:o}))},e[2]=o,e[3]=r,e[4]=a,e[5]=s,e[6]=c):c=e[6];let l=c;cs("global.save",l);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=hs("global.save"),e[7]=u):u=e[7];let d=r?"yellow":"gray",p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,h.jsx)(rs,{strokeWidth:1.5,size:18}),e[8]=p):p=e[8];let f;return e[9]!==l||e[10]!==d?(f=(0,h.jsx)(Jn,{content:u,children:(0,h.jsx)(Es,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:p})}),e[9]=l,e[10]=d,e[11]=f):f=e[11],f};function Rd(t){return{id:t.id,name:t.name,code:t.code,code_hash:null,config:{column:0,...t.config}}}function Bd(){let t=Gr(xt()),e={version:"1",metadata:{marimo_version:tp()},cells:t.map(Rd)};return JSON.stringify(e,null,2)}let Lr;Xn=ut(void 0),Lr=ut(t=>{let e=t(Xn);return Gd({state:t(rt),layout:t(Qi),lastSavedNotebook:e})});function Gd({state:t,layout:e,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:a}=t,o=r.inOrderIds.map(l=>a[l]),i=o.map(l=>l.code),s=o.map(l=>l.config),c=o.map(l=>l.name);return!zi(i,n.codes)||!zi(c,n.names)||!Pn(s,n.configs)||!Pn(e.selectedLayout,n.layout.selectedLayout)||!Pn(e.layoutData,n.layout.layoutData)}var Jd=ve();function Vd(t){let e=(0,Jd.c)(21),{codes:n,cellConfigs:r,config:a,connStatus:o,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=t,u=(0,N.useRef)(null),d;e[0]===n?d=e[1]:(d=n.join(":"),e[0]=n,e[1]=d);let p=d,f;e[2]===r?f=e[3]:(f=r.map($d).join(":"),e[2]=r,e[3]=f);let m=f,y;e[4]===i?y=e[5]:(y=i.join(":"),e[4]=i,e[5]=y);let b=y,v;e[6]!==a||e[7]!==o.state||e[8]!==c||e[9]!==s||e[10]!==l?(v=()=>{if(!c)return a.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&o.state===Jt.OPEN&&(u.current=setTimeout(l,a.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},e[6]=a,e[7]=o.state,e[8]=c,e[9]=s,e[10]=l,e[11]=v):v=e[11];let S;e[12]!==m||e[13]!==b||e[14]!==p||e[15]!==a||e[16]!==o.state||e[17]!==c||e[18]!==s||e[19]!==l?(S=[p,m,b,a,o.state,l,c,s],e[12]=m,e[13]=b,e[14]=p,e[15]=a,e[16]=o.state,e[17]=c,e[18]=s,e[19]=l,e[20]=S):S=e[20],(0,N.useEffect)(v,S)}function $d(t){return JSON.stringify(t)}var In=ve();Cs=t=>{let e=(0,In.c)(15),{kioskMode:n}=t,r=Lh(),a=q(Lr),o=q(Et).state===Jt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Yt(),c;e[0]!==n||e[1]!==s?(c={onSave:s,kioskMode:n},e[0]=n,e[1]=s,e[2]=c):c=e[2],zd(c),Xh();let l;e[3]===a?l=e[4]:(l=b=>{if(a)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},e[3]=a,e[4]=l),qm(window,"beforeunload",l);let u;e[5]===i?u=e[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},e[5]=i,e[6]=u);let d=u;if(cs("global.save",i),o){let b;return e[7]!==r||e[8]!==a?(b=(0,h.jsx)(Fd,{filename:r,needsSave:a}),e[7]=r,e[8]=a,e[9]=b):b=e[9],b}let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=hs("global.save"),e[10]=p):p=e[10];let f=a?"yellow":"hint-green",m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=(0,h.jsx)(rs,{strokeWidth:1.5,size:18}),e[11]=m):m=e[11];let y;return e[12]!==d||e[13]!==f?(y=(0,h.jsx)(Jn,{content:p,children:(0,h.jsx)(Es,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:m})}),e[12]=d,e[13]=f,e[14]=y):y=e[14],y},Yt=function(){let t=(0,In.c)(21),{sendSave:e}=Hn(),{openModal:n,closeModal:r,openAlert:a}=us(),o=wi(Xn),i=Oh(),s=Fr(),c;t[0]!==a||t[1]!==e||t[2]!==o||t[3]!==s?(c=async(v,S)=>{let k=s.get(Et),_=s.get(Vi);if(s.get(Km))return;if(k.state!==Jt.OPEN){a("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),S&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await om());let P=xt(),A=Gr(P),T=A.map(Hd),G=A.map(qd),M=A.map(Wd),ae=Mi(P),O=s.get(Qi);G.length!==0&&(await e({cellIds:T,codes:G,names:M,filename:v,configs:ae,layout:Kp(),persist:!0}),o({names:M,codes:G,configs:ae,layout:O}))},t[0]=a,t[1]=e,t[2]=o,t[3]=s,t[4]=c):c=t[4];let l=se(c),u;t[5]!==l||t[6]!==s?(u=v=>{let S=v===void 0?!1:v,k=s.get(_i),_=s.get(Et);Jo(k)&&_.state===Jt.OPEN&&l(k,S)},t[5]=l,t[6]=s,t[7]=u):u=t[7];let d=se(u),p;t[8]!==l||t[9]!==i?(p=v=>{i(v).then(S=>{S!==null&&l(S,!0)})},t[8]=l,t[9]=i,t[10]=p):p=t[10];let f=p,m;t[11]!==r||t[12]!==f||t[13]!==n||t[14]!==d||t[15]!==s?(m=()=>{let v=s.get(_i),S=s.get(Et);d(!0),!Jo(v)&&S.state!==Jt.CLOSED&&n((0,h.jsx)(Xd,{onClose:r,onSave:f}))},t[11]=r,t[12]=f,t[13]=n,t[14]=d,t[15]=s,t[16]=m):m=t[16];let y=se(m),b;return t[17]!==d||t[18]!==l||t[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},t[17]=d,t[18]=l,t[19]=y,t[20]=b):b=t[20],b};function Wd(t){return t.name}function qd(t){return t.code}function Hd(t){return t.id}function Jo(t){return t!==null&&!t.startsWith("/tmp/")&&!t.startsWith("/var/folders")&&!t.includes("AppData\\Local\\Temp")}function zd(t){let e=(0,In.c)(14),n=q(Vi),r=Jf(),[a]=jn(Et),o=q(Lr),i,s;if(e[0]!==r){let p=Gr(r);i=p.map(Kd),s=p.map(Yd),e[0]=r,e[1]=i,e[2]=s}else i=e[1],s=e[2];let c=s,l;e[3]===r?l=e[4]:(l=Mi(r),e[3]=r,e[4]=l);let u=l,d;e[5]!==n||e[6]!==c||e[7]!==i||e[8]!==u||e[9]!==a||e[10]!==o||e[11]!==t.kioskMode||e[12]!==t.onSave?(d={onSave:t.onSave,needsSave:o,codes:i,cellConfigs:u,cellNames:c,connStatus:a,config:n,kioskMode:t.kioskMode},e[5]=n,e[6]=c,e[7]=i,e[8]=u,e[9]=a,e[10]=o,e[11]=t.kioskMode,e[12]=t.onSave,e[13]=d):d=e[13],Vd(d)}function Yd(t){return t.name}function Kd(t){return t.code}var Xd=t=>{let e=(0,In.c)(17),{onClose:n,onSave:r}=t,[a,o]=(0,N.useState)(),i;e[0]!==n||e[1]!==r?(i=b=>{o(b),b.trim()&&(r(b),n())},e[0]=n,e[1]=r,e[2]=i):i=e[2];let s=i,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)(is,{children:"Save notebook"}),e[3]=c):c=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,h.jsx)(Qr,{className:"text-md pt-6 px-1",children:"Save as"}),e[4]=l):l=e[4];let u;e[5]===s?u=e[6]:(u=(0,h.jsxs)("div",{className:"flex flex-col",children:[l,(0,h.jsx)(ua,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),e[5]=s,e[6]=u);let d;e[7]===n?d=e[8]:(d=(0,h.jsx)(ft,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),e[7]=n,e[8]=d);let p=!a,f;e[9]===p?f=e[10]:(f=(0,h.jsx)(ft,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),e[9]=p,e[10]=f);let m;e[11]!==d||e[12]!==f?(m=(0,h.jsxs)(ss,{children:[d,f]}),e[11]=d,e[12]=f,e[13]=m):m=e[13];let y;return e[14]!==u||e[15]!==m?(y=(0,h.jsxs)(ls,{children:[c,u,m]}),e[14]=u,e[15]=m,e[16]=y):y=e[16],y};Kn=function(...t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}};var Vo={modified:{doc:""},original:{doc:""}},$o=(0,N.createContext)(Vo);function Qd(t,e){return K({},t,e,{modified:K({},t.modified,e.modified),original:K({},t.original,e.original)})}var Or=()=>(0,N.useContext)($o),Zd=t=>{var{children:e,theme:n}=t,[r,a]=(0,N.useReducer)(Qd,K({},Vo,{theme:n}));return(0,N.useEffect)(()=>a({theme:n}),[n]),(0,h.jsx)($o.Provider,{value:K({},r,{dispatch:a}),children:e})},ef=["extensions","value","selection","onChange"],Wo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=Ht(t,ef),{theme:i,dispatch:s}=Or(),c=Ct(K({},o,{theme:i}));return(0,N.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...e]},originalExtension:{onChange:a,option:o,extension:[e]}}),[t]),null};Wo.displayName="CodeMirrorMerge.Original";var tf=["extensions","value","selection","onChange"],qo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=Ht(t,tf),{theme:i,dispatch:s}=Or(),c=Ct(K({},o,{theme:i}));return(0,N.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...e]},modifiedExtension:{onChange:a,option:o,extension:[e]}})},[t]),null};qo.displayName="CodeMirrorMerge.Modified";var nf=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],rf=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ho=N.forwardRef((t,e)=>{var{className:n,children:r,orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:p}=t,f=Ht(t,nf),m=Or(),{modified:y,modifiedExtension:b,original:v,originalExtension:S,theme:k,dispatch:_}=m,P=Ht(m,rf),A=(0,N.useRef)(null),T=(0,N.useRef)(),G={orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:p};(0,N.useImperativeHandle)(e,()=>({container:A.current,view:T.current,modified:y,original:v,config:K({a:v,b:y,parent:A.current},G)}),[A,T,y,v,G]);var M=R.updateListener.of(O=>{if(O.docChanged&&typeof(S==null?void 0:S.onChange)=="function"){var I=O.state.doc.toString();S==null||S.onChange(I,O)}}),ae=R.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var I=O.state.doc.toString();b==null||b.onChange(I,O)}});return(0,N.useEffect)(()=>{!T.current&&A.current&&S&&b&&(T.current=new gs(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k})),M]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k})),ae]}),parent:A.current},G)),_({view:T.current}))},[T,A,S,b]),(0,N.useEffect)(()=>{var U,j;if(v&&v.doc&&T.current){var O=(U=T.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var I;(I=T.current)==null||I.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&T.current){var le=(j=T.current)==null?void 0:j.b.state.doc.toString();if(le!==y.doc){var ue;(ue=T.current)==null||ue.b.dispatch({changes:{from:0,to:le.length,insert:y.doc||""}})}}if(l&&T.current){var oe=T.current.a.state.selection.ranges[0].from,ne=T.current.b.state.selection.ranges[0].from;T.current.destroy(),T.current=new gs(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k}))]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k}))]}),parent:A.current},G)),oe&&(T.current.a.focus(),T.current.a.dispatch({selection:{anchor:oe,head:oe}})),ne&&(T.current.b.focus(),T.current.b.dispatch({selection:{anchor:ne,head:ne}}))}},[T,k,A.current,v,y,S,b,l]),(0,N.useEffect)(()=>()=>T.current&&T.current.destroy(),[]),(0,N.useEffect)(()=>{if(T.current){var O={};P.orientation!==a&&(O.orientation=a),P.revertControls!==o&&(O.revertControls=o),P.highlightChanges!==i&&(O.highlightChanges=i),P.gutter!==s&&(O.gutter=s),P.collapseUnchanged!==c&&(O.collapseUnchanged=c),P.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&T.current&&(T.current.reconfigure(K({},O)),_(K({},O)))}},[_,T,a,o,i,s,c,u]),(0,h.jsx)("div",K({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ho.displayName="CodeMirrorMerge.Internal";var af=["theme"],An=N.forwardRef((t,e)=>{var{theme:n}=t;return(0,h.jsx)(Zd,{theme:n,children:(0,h.jsx)(Ho,K({},Ht(t,af),{ref:e}))})});An.Original=Wo,An.Modified=qo,An.displayName="CodeMirrorMerge";var _r=An,of=ve(),sf=_r.Original,lf=_r.Modified,zo=[$f(),R.lineWrapping];const cf=({cellId:t,aiCompletionCell:e,className:n,onChange:r,currentLanguageAdapter:a,currentCode:o,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,p]=(0,N.useState)(!1),[f,m]=(0,N.useState)({}),[y,b]=jn(Ah),v=(0,N.useId)(),S=Qm(),{initialPrompt:k,triggerImmediately:_,cellId:P}=e??{},A=P===t,T=q(th).get(t),G;(T==null?void 0:T.type)==="update_cell"&&(G=T.previousCode);let{completion:M,input:ae,stop:O,isLoading:I,setCompletion:le,setInput:ue,handleSubmit:oe,complete:ne}=ah({api:S.getAiURL("completion").toString(),headers:S.headers(),initialInput:k,throttle:100,body:{...Object.keys(f).length>0?f:k?es({input:k}):{},includeOtherCode:y?Jr(o):"",code:o,language:a},onError:F=>{kt({title:"Completion failed",description:Nh(F)})},onFinish:(F,ie)=>{le(rr(ie).trimEnd())}}),U=N.useRef(null),j=rr(M,{streaming:I}).trimEnd(),we=(0,N.useCallback)(()=>{_&&!I&&k&&ne(k)},[_]);(0,N.useEffect)(()=>{var F;A&&(Vf(()=>{let ie=U.current;return ie!=null&&ie.view?(ie.view.focus(),we(),!0):!1},{retries:3,delay:100,initialDelay:100}),Im((F=U.current)==null?void 0:F.view))},[A,we]),(0,N.useEffect)(()=>{A&&ue(k||"")},[A,k,ue]);let{theme:de}=Eh(),E=()=>{s(j),le("")},C=()=>{var F,ie;O(),le(""),p(!0),(ie=(F=U.current)==null?void 0:F.view)==null||ie.focus()},D=A&&_&&(j||I);l??(l="below");let L=A&&(!_||d),fe=(0,h.jsx)("div",{className:at("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,h.jsx)(uf,{status:I?"loading":"generated",onAccept:E,onReject:C,showInputPrompt:d,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-lg"})}),Je=(F,ie)=>(0,h.jsxs)(_r,{className:"cm",theme:de,children:[(0,h.jsx)(sf,{onChange:r,value:F,extensions:zo}),(0,h.jsx)(lf,{value:ie,editable:!1,readOnly:!0,extensions:zo})]}),qe=()=>{if(j&&A)return Je(o,j);if(!j&&G)return Je(G,o)},Ve=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(Zi,{isLoading:I,onAccept:E,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,h.jsx)(ts,{onDecline:C,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,h.jsxs)("div",{"data-ai-input-open":L,className:at("flex flex-col w-full rounded-[inherit]",n),children:[(0,h.jsx)("div",{className:at("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,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(yh,{className:"text-(--blue-10) shrink-0",size:16}),(0,h.jsx)(sh,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),le("")},value:ae,onChange:F=>{ue(F),m(es({input:F}))},onSubmit:()=>{var F;I||((F=U.current)!=null&&F.view&&nh(U.current.view),oe())},onKeyDown:ch({handleAcceptCompletion:E,handleDeclineCompletion:C,isLoading:I,hasCompletion:j.trim().length>0})}),(0,h.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,h.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,h.jsx)(lh,{isLoading:I,onStop:O,onSendClick:oe,isEmpty:!ae.trim(),showStopLabel:!0}),(0,h.jsx)(ih,{handleAddContext:()=>eh(U),isLoading:I}),(0,h.jsx)($m,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),j&&(0,h.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ve})]}),(0,h.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,h.jsx)(Jn,{content:"Include code from other cells",children:(0,h.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,h.jsx)(Yf,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:F=>b(!!F)}),(0,h.jsx)(Qr,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,h.jsx)(ft,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:I,onClick:()=>{O(),i(),le("")},children:(0,h.jsx)(Qp,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&fe,qe(),(!j||!A)&&!G&&u,l==="below"&&fe]})};var uf=t=>{let e=(0,of.c)(27),{status:n,onAccept:r,onReject:a,className:o,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=t,l=n==="loading",u;e[0]===o?u=e[1]:(u=at("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)]",o),e[0]=o,e[1]=u);let d;e[2]===l?d=e[3]:(d=l?(0,h.jsx)(hh,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,h.jsx)(Zp,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),e[2]=l,e[3]=d);let p=l?"Generating fix...":"Showing fix",f;e[4]===p?f=e[5]:(f=(0,h.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),e[4]=p,e[5]=f);let m;e[6]!==d||e[7]!==f?(m=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),e[6]=d,e[7]=f,e[8]=m):m=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)(Qr,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),e[9]=y):y=e[9];let b;e[10]!==s||e[11]!==i?(b=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,h.jsx)(ep,{checked:i,onCheckedChange:s,size:"xs"})]}),e[10]=s,e[11]=i,e[12]=b):b=e[12];let v;e[13]!==l||e[14]!==r||e[15]!==c?(v=(0,h.jsx)(Zi,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),e[13]=l,e[14]=r,e[15]=c,e[16]=v):v=e[16];let S;e[17]===a?S=e[18]:(S=(0,h.jsx)(ts,{onDecline:a,size:"xs",borderless:!0}),e[17]=a,e[18]=S);let k;e[19]!==v||e[20]!==S?(k=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,S]}),e[19]=v,e[20]=S,e[21]=k):k=e[21];let _;return e[22]!==u||e[23]!==k||e[24]!==m||e[25]!==b?(_=(0,h.jsxs)("div",{className:u,children:[m,b,k]}),e[22]=u,e[23]=k,e[24]=m,e[25]=b,e[26]=_):_=e[26],_},Ur="web application/x-marimo-cell",df=Yr({cells:Pm(Yr({code:Fi(),name:Fi().optional(),config:Yr({column:Dm([_m(),Um()]).optional(),disabled:Ri().optional(),hide_code:Ri().optional()}).optional()})),version:jm("1.0")});function jr(t){return t.map(e=>e.code).join(`
|
|
23
23
|
|
|
24
|
-
`)}async function Yo(t){let e={cells:t.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new pf().add(Ur,e).add("text/plain",jr(t)).build();await navigator.clipboard.write([n])}function df(){let t=Dn(),e=ym(),n=xm();return{copyCells:se(async r=>{let a=xt(),o=r.map(i=>a.cellData[i]).filter(Boolean);if(o.length!==0)try{await Yo(o),e.clear(),Ko(o.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await os(jr(o)),e.clear(),Ko(o.length)}catch{Xo()}}}),cutCells:se(async r=>{let a=xt(),o=r.filter(s=>a.cellData[s]),i=o.map(s=>a.cellData[s]);if(i.length!==0)try{await Yo(i),e.markForCut({cellIds:o})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await os(jr(i)),e.markForCut({cellIds:o})}catch{Xo()}}}),pasteAtCell:se(async(r,a)=>{var i;let{before:o=!1}=a??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=xt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});t.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:o?"before":"after",previousPlacements:l}),e.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(Ur)){let u=await(await l.getType(Ur)).text();try{let d=uf.parse(JSON.parse(u));if(d.cells.length===0)break;let p=r,f=d.cells.toReversed();for(let m of f)t.createNewCell({cellId:p,before:o,code:m.code,name:m.name,config:m.config,hideCode:(i=m.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()?t.createNewCell({cellId:r,before:o,code:c,autoFocus:!0}):ff()}catch(s){$e.error("Failed to paste from clipboard",s),mf()}}),clearPendingCut:e.clear}}var Ko=t=>{let e=t===1?"Cell":`${t} cells`;kt({title:`${e} copied`,description:`${e} ${t===1?"has":"have"} been copied to clipboard.`})},Xo=()=>{kt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},ff=()=>{kt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},mf=()=>{kt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},pf=class{constructor(){g(this,"items",{})}add(t,e){return ClipboardItem.supports(t)?typeof e=="string"?(this.items[t]=new Blob([e],{type:t}),this):(this.items[t]=new Blob([JSON.stringify(e)],{type:t}),this):($e.warn(`ClipboardItem does not support ${t}`),this)}build(){return new ClipboardItem(this.items)}},hf=ve();function Qo(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Qh,createActions:Zh,valueAtom:Pr,useActions:gf}=ra(Qo,{select:(t,e)=>({selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])}),extend:(t,e)=>{if(!t.selectionStart)return{selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])};let{cellId:n,allCellIds:r}=e;try{let a=r.findWithId(t.selectionStart),o=a.indexOfOrThrow(t.selectionStart),i=a.indexOfOrThrow(n),[s,c]=o<i?[o,i]:[i,o],l=a.slice(s,c+1);return{selectionStart:t.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:t=>t.selected.size===0?t:Qo()});Is=()=>q(Pr);function yf(t){let e=(0,hf.c)(2),n;return e[0]===t?n=e[1]:(n=ut(r=>r(Pr).selected.has(t)),e[0]=t,e[1]=n),q(n)}fa=function(){return gf()};function bf(t){return t.get(Pr).selected}let Zo,ei,ti;Zo=ve(),{valueAtom:ei,useActions:zt}=ra(()=>new Set,{add:(t,e)=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n},remove:(t,e)=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),Si(()=>{let r=document.activeElement;if(!r)return;let a=Bn.findElementThroughShadowDOMs(r);a&&Ei(Bn.parse(a.id))}),n}}),ti=t=>ut(e=>e(ei).has(t)),ks=function(t){let e=(0,Zo.c)(2),n;return e[0]===t?n=e[1]:(n=ti(t),e[0]=t,e[1]=n),q(n)};var Rt=new WeakMap,wf=500;function vf(t){if(t.ctrlKey||t.metaKey||t.altKey)return"";let e=t.key.toLowerCase();return t.shiftKey?`shift+${e}`:e}function xf(t,e){let n=vf(t),r=t.target;if(!n||!r)return!1;let a=Rt.get(r),o=n;a!=null&&a.timeout&&clearTimeout(a.timeout),a&&(o=`${a.sequence} ${n}`);let i=e[o];if(i)return Rt.delete(r),i();if(!a){let s=e[n];if(s)return s()}if(Object.keys(e).some(s=>s.startsWith(`${o} `))){let s=window.setTimeout(()=>{Rt.delete(r)},wf);return Rt.set(r,{sequence:o,timeout:s}),!0}return Rt.delete(r),!1}var Dr=ve();function ni(t){return{handle:e=>t(e),bulkHandle:e=>{let n=!0;try{for(let r of e)n&&(n=t(r));return n}catch{return!1}}}}function Ke(t){return{handle:e=>t([e]),bulkHandle:e=>t(e)}}function Ef(t,e){let n=(0,Dr.c)(12),r=Lh(),a=Dn(),o=zt(),i;n[0]!==t||n[1]!==r?(i=()=>{r.focusCell({cellId:t})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==a||n[4]!==t||n[5]!==e||n[6]!==r||n[7]!==o?(s=u=>{var d;ri(u.relatedTarget)||ri(u.target)||ai(u.relatedTarget)===t||ai((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===t||(o.remove(t),a.markTouched({cellId:t}),r.blurCell(),e.current&&Mr(e.current))},n[3]=a,n[4]=t,n[5]=e,n[6]=r,n[7]=o,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}=ph(c);return l}function ri(t){return t&&t instanceof HTMLElement?t.closest(".cm-vim-panel")!==null:!1}function ai(t){return t&&t.getAttribute(Zf)||null}Ns=function(t,e){let n=(0,Dr.c)(34),{canMoveX:r,editorView:a,cellActionDropdownRef:o}=e,{saveOrNameNotebook:i}=Yt(),{saveCellConfig:s}=Hn(),c=wi(ds),l=Dn(),u=Fr(),d=zt(),p=Sh(),f=q($i),{copyCells:m,pasteAtCell:y,cutCells:b}=df(),v=fa(),S=yf(t),k=Yn(),_=aa(),P=q(Xr),A;n[0]===P?A=n[1]:(A=Gi(P),n[0]=P,n[1]=A);let T=A,G;n[2]!==k||n[3]!==v?(G={clear:()=>{k.clear(),v.clear()},extend:U=>{k.clear(),v.extend(U)},select:U=>{k.clear(),v.select(U)}},n[2]=k,n[3]=v,n[4]=G):G=n[4];let M=G,ae=q(Ji),O;n[5]===ae?O=n[6]:(O=(U,j)=>Kr(ae.getHotkey(U).key)(j.nativeEvent||j),n[5]=ae,n[6]=O);let I=O,le=Ef(t,a),ue;n[7]!==l||n[8]!==T||n[9]!==r||n[10]!==o||n[11]!==t||n[12]!==m||n[13]!==b||n[14]!==_||n[15]!==a||n[16]!==S||n[17]!==I||n[18]!==f||n[19]!==y||n[20]!==k||n[21]!==p||n[22]!==s||n[23]!==i||n[24]!==M||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(ue={onKeyDown:U=>{if(Zr.fromInput(U)){U.continuePropagation();return}let j={"Mod+ArrowUp":()=>(l.focusTopCell(),M.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),M.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:t,where:"before"}),M.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:t,where:"after"}),M.clear(),!0),ArrowLeft:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D-1);if(L&&L.length>0){let fe=oi(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},ArrowRight:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D+1);if(L&&L.length>0){let fe=oi(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let E=u.get(ji);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).before(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"before"}),!0},"Shift+ArrowDown":()=>{let E=u.get(ji);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).after(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"after"}),!0},Escape:()=>u.get(fm).size>0?(u.set(vm),!0):S?(M.clear(),!0):!1,Enter:()=>(d.add(t),Ni(u,t),M.clear(),!0),s:()=>(i(),!0)};for(let[E,C]of Object.entries(j))if(Kr(E)(U)&&C()){U.preventDefault();return}let we={"cell.run":Ke(E=>(p(E),!0)),"cell.runAndNewBelow":Ke(E=>{p(E);let C=E[E.length-1];return l.moveToNextCell({cellId:C,before:!1}),!0}),"cell.runAndNewAbove":Ke(E=>{p(E);let C=E[0];return l.moveToNextCell({cellId:C,before:!0}),!0}),"cell.createAbove":E=>(l.createNewCell({cellId:E,before:!0}),!0),"cell.createBelow":E=>(l.createNewCell({cellId:E,before:!1}),!0),"cell.moveUp":Ke(E=>{let C=E[0];return u.get(rt).cellIds.findWithId(C).first()===C?!1:(E.forEach(D=>{l.moveCell({cellId:D,before:!0})}),!0)}),"cell.moveDown":Ke(E=>{let C=E[E.length-1];return u.get(rt).cellIds.findWithId(C).last()===C?!1:(E.toReversed().forEach(D=>{l.moveCell({cellId:D,before:!1})}),!0)}),"cell.moveLeft":ni(E=>r?(l.moveCell({cellId:E,direction:"left"}),!0):!1),"cell.moveRight":ni(E=>r?(l.moveCell({cellId:E,direction:"right"}),!0):!1),"cell.hideCode":Ke(E=>{var D;let C=!E.map(L=>{var fe;return((fe=u.get(rt).cellData[L])==null?void 0:fe.config)||null}).every(Sf);s({configs:Object.fromEntries(E.map(L=>[L,{hide_code:C}]))});for(let L of E)l.updateCellConfig({cellId:L,config:{hide_code:C}});if(E.length===1){let L=E[0];l.focusCell({cellId:L,where:"after"}),C?((D=a.current)==null||D.contentDOM.blur(),Ti(L)):Ni(u,L)}return!0}),"cell.focusDown":E=>(l.focusCell({cellId:E,where:"after"}),!0),"cell.focusUp":E=>(l.focusCell({cellId:E,where:"before"}),!0),"cell.sendToBottom":Ke(E=>(E.forEach(C=>{l.sendToBottom({cellId:C})}),!0)),"cell.sendToTop":Ke(E=>(E.toReversed().forEach(C=>{l.sendToTop({cellId:C})}),!0)),"cell.aiCompletion":E=>{var D;if(!T)return!1;let C=!1;return c(L=>(L==null?void 0:L.cellId)===E?(C=!0,null):{cellId:E}),C&&((D=a.current)==null||D.focus()),!0},"cell.cellActions":()=>{var E;return(E=o.current)==null||E.toggle(),!0},"command.copyCell":Ke(E=>(m(E),!0)),"command.cutCell":Ke(E=>(b(E),!0)),"command.pasteCell":E=>(y(E),!0),"command.createCellBefore":E=>Zr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!0,autoFocus:!0}),!0),"command.createCellAfter":E=>Zr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let E=de.size>=2?[...de]:[t],C=u.get(rt);return E.some(D=>{let{status:L}=C.cellRuntime[D];return L==="running"||L==="queued"})?!1:k.idle?(k.submit(E),!0):(_({cellIds:E}),k.clear(),!0)}},de=bf(u);if(f==="vim"&&xf(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":()=>we["cell.delete"](),"y y":()=>(m(de.size>=2?[...de]:[t]),!0),p:()=>(y(t,{before:!1}),!0),"shift+p":()=>(y(t,{before:!0}),!0),o:()=>(l.createNewCell({cellId:t,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:t,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[E,C]of Object.entries(we))if(I(E,U)){if(typeof C=="function"){if(C(t)){U.preventDefault();return}}else if(de.size>=2?C.bulkHandle([...de]):C.handle(t)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=T,n[9]=r,n[10]=o,n[11]=t,n[12]=m,n[13]=b,n[14]=_,n[15]=a,n[16]=S,n[17]=I,n[18]=f,n[19]=y,n[20]=k,n[21]=p,n[22]=s,n[23]=i,n[24]=M,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=ue):ue=n[29];let{keyboardProps:oe}=as(ue),ne;return n[30]!==le||n[31]!==S||n[32]!==oe?(ne=xh(le,oe,{"data-selected":S,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=le,n[31]=S,n[32]=oe,n[33]=ne):ne=n[33],ne};function Sf(t){return t==null?void 0:t.hide_code}function kf(t,e){let n=(0,Dr.c)(12),r=zt(),a=q($i),o=q(Ji),i;n[0]===o?i=n[1]:(i=Kr(o.getHotkey("command.vimEnterCommandMode").key),n[0]=o,n[1]=i);let s=i,c;n[2]!==t||n[3]!==r?(c=()=>{r.remove(t),Ti(t),Si(()=>{Ei(t)})},n[2]=t,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==e||n[6]!==l?(u=()=>{if(!e.current){l();return}let m=e.current,y=m.state;if(Up(m))return;let b=!!y.field(Ci,!1)||!!y.field(hm,!1),v=qt(y)!==null;b&&Mr(m),v&&Wp(m),!(b||v)&&l()},n[5]=e,n[6]=l,n[7]=u):u=n[7];let d=u,p;n[8]!==d||n[9]!==a||n[10]!==s?(p={onKeyDown:m=>{a==="vim"?s(m)&&d():m.key==="Escape"&&d(),m.continuePropagation()}},n[8]=d,n[9]=a,n[10]=s,n[11]=p):p=n[11];let{keyboardProps:f}=as(p);return f}function oi(t,e){let n=document.getElementById(Bn.create(t));if(!n)return e.first();let r=n.getBoundingClientRect();for(let a of e.topLevelIds){let o=document.getElementById(Bn.create(a));if(o){let i=o.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return a}}return e.last()}function Mr(t){t.state.field(Ci,!1)&&t.dispatch({effects:$f.of(null)}),Em(t)}var Cf=ve(),Tf=50,Nf=4,If=60;function Af(t){return Math.min(If,Math.max(Nf,t))}const Lf=t=>{let e=(0,Cf.c)(13),{code:n,className:r}=t,a,o,i,s;if(e[0]!==r||e[1]!==n){let l=n.split(`
|
|
25
|
-
`,
|
|
24
|
+
`)}async function Yo(t){let e={cells:t.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new hf().add(Ur,e).add("text/plain",jr(t)).build();await navigator.clipboard.write([n])}function ff(){let t=Dn(),e=bm(),n=Em();return{copyCells:se(async r=>{let a=xt(),o=r.map(i=>a.cellData[i]).filter(Boolean);if(o.length!==0)try{await Yo(o),e.clear(),Ko(o.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await os(jr(o)),e.clear(),Ko(o.length)}catch{Xo()}}}),cutCells:se(async r=>{let a=xt(),o=r.filter(s=>a.cellData[s]),i=o.map(s=>a.cellData[s]);if(i.length!==0)try{await Yo(i),e.markForCut({cellIds:o})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await os(jr(i)),e.markForCut({cellIds:o})}catch{Xo()}}}),pasteAtCell:se(async(r,a)=>{var i;let{before:o=!1}=a??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=xt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});t.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:o?"before":"after",previousPlacements:l}),e.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(Ur)){let u=await(await l.getType(Ur)).text();try{let d=df.parse(JSON.parse(u));if(d.cells.length===0)break;let p=r,f=d.cells.toReversed();for(let m of f)t.createNewCell({cellId:p,before:o,code:m.code,name:m.name,config:m.config,hideCode:(i=m.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()?t.createNewCell({cellId:r,before:o,code:c,autoFocus:!0}):mf()}catch(s){$e.error("Failed to paste from clipboard",s),pf()}}),clearPendingCut:e.clear}}var Ko=t=>{let e=t===1?"Cell":`${t} cells`;kt({title:`${e} copied`,description:`${e} ${t===1?"has":"have"} been copied to clipboard.`})},Xo=()=>{kt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},mf=()=>{kt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},pf=()=>{kt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},hf=class{constructor(){g(this,"items",{})}add(t,e){return ClipboardItem.supports(t)?typeof e=="string"?(this.items[t]=new Blob([e],{type:t}),this):(this.items[t]=new Blob([JSON.stringify(e)],{type:t}),this):($e.warn(`ClipboardItem does not support ${t}`),this)}build(){return new ClipboardItem(this.items)}},gf=ve();function Qo(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:eg,createActions:tg,valueAtom:Pr,useActions:yf}=ra(Qo,{select:(t,e)=>({selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])}),extend:(t,e)=>{if(!t.selectionStart)return{selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])};let{cellId:n,allCellIds:r}=e;try{let a=r.findWithId(t.selectionStart),o=a.indexOfOrThrow(t.selectionStart),i=a.indexOfOrThrow(n),[s,c]=o<i?[o,i]:[i,o],l=a.slice(s,c+1);return{selectionStart:t.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:t=>t.selected.size===0?t:Qo()});Is=()=>q(Pr);function bf(t){let e=(0,gf.c)(2),n;return e[0]===t?n=e[1]:(n=ut(r=>r(Pr).selected.has(t)),e[0]=t,e[1]=n),q(n)}fa=function(){return yf()};function wf(t){return t.get(Pr).selected}let Zo,ei,ti;Zo=ve(),{valueAtom:ei,useActions:zt}=ra(()=>new Set,{add:(t,e)=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n},remove:(t,e)=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),Si(()=>{let r=document.activeElement;if(!r)return;let a=Bn.findElementThroughShadowDOMs(r);a&&Ei(Bn.parse(a.id))}),n}}),ti=t=>ut(e=>e(ei).has(t)),ks=function(t){let e=(0,Zo.c)(2),n;return e[0]===t?n=e[1]:(n=ti(t),e[0]=t,e[1]=n),q(n)};var Rt=new WeakMap,vf=500;function xf(t){if(t.ctrlKey||t.metaKey||t.altKey)return"";let e=t.key.toLowerCase();return t.shiftKey?`shift+${e}`:e}function Ef(t,e){let n=xf(t),r=t.target;if(!n||!r)return!1;let a=Rt.get(r),o=n;a!=null&&a.timeout&&clearTimeout(a.timeout),a&&(o=`${a.sequence} ${n}`);let i=e[o];if(i)return Rt.delete(r),i();if(!a){let s=e[n];if(s)return s()}if(Object.keys(e).some(s=>s.startsWith(`${o} `))){let s=window.setTimeout(()=>{Rt.delete(r)},vf);return Rt.set(r,{sequence:o,timeout:s}),!0}return Rt.delete(r),!1}var Dr=ve();function ni(t){return{handle:e=>t(e),bulkHandle:e=>{let n=!0;try{for(let r of e)n&&(n=t(r));return n}catch{return!1}}}}function Ke(t){return{handle:e=>t([e]),bulkHandle:e=>t(e)}}function Sf(t,e){let n=(0,Dr.c)(12),r=_h(),a=Dn(),o=zt(),i;n[0]!==t||n[1]!==r?(i=()=>{r.focusCell({cellId:t})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==a||n[4]!==t||n[5]!==e||n[6]!==r||n[7]!==o?(s=u=>{var d;ri(u.relatedTarget)||ri(u.target)||ai(u.relatedTarget)===t||ai((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===t||(o.remove(t),a.markTouched({cellId:t}),r.blurCell(),e.current&&Mr(e.current))},n[3]=a,n[4]=t,n[5]=e,n[6]=r,n[7]=o,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}=gh(c);return l}function ri(t){return t&&t instanceof HTMLElement?t.closest(".cm-vim-panel")!==null:!1}function ai(t){return t&&t.getAttribute(em)||null}Ns=function(t,e){let n=(0,Dr.c)(34),{canMoveX:r,editorView:a,cellActionDropdownRef:o}=e,{saveOrNameNotebook:i}=Yt(),{saveCellConfig:s}=Hn(),c=wi(ds),l=Dn(),u=Fr(),d=zt(),p=Ch(),f=q($i),{copyCells:m,pasteAtCell:y,cutCells:b}=ff(),v=fa(),S=bf(t),k=Yn(),_=aa(),P=q(Xr),A;n[0]===P?A=n[1]:(A=Gi(P),n[0]=P,n[1]=A);let T=A,G;n[2]!==k||n[3]!==v?(G={clear:()=>{k.clear(),v.clear()},extend:U=>{k.clear(),v.extend(U)},select:U=>{k.clear(),v.select(U)}},n[2]=k,n[3]=v,n[4]=G):G=n[4];let M=G,ae=q(Ji),O;n[5]===ae?O=n[6]:(O=(U,j)=>Kr(ae.getHotkey(U).key)(j.nativeEvent||j),n[5]=ae,n[6]=O);let I=O,le=Sf(t,a),ue;n[7]!==l||n[8]!==T||n[9]!==r||n[10]!==o||n[11]!==t||n[12]!==m||n[13]!==b||n[14]!==_||n[15]!==a||n[16]!==S||n[17]!==I||n[18]!==f||n[19]!==y||n[20]!==k||n[21]!==p||n[22]!==s||n[23]!==i||n[24]!==M||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(ue={onKeyDown:U=>{if(Zr.fromInput(U)){U.continuePropagation();return}let j={"Mod+ArrowUp":()=>(l.focusTopCell(),M.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),M.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:t,where:"before"}),M.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:t,where:"after"}),M.clear(),!0),ArrowLeft:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D-1);if(L&&L.length>0){let fe=oi(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},ArrowRight:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D+1);if(L&&L.length>0){let fe=oi(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let E=u.get(ji);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).before(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"before"}),!0},"Shift+ArrowDown":()=>{let E=u.get(ji);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).after(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"after"}),!0},Escape:()=>u.get(mm).size>0?(u.set(xm),!0):S?(M.clear(),!0):!1,Enter:()=>(d.add(t),Ni(u,t),M.clear(),!0),s:()=>(i(),!0)};for(let[E,C]of Object.entries(j))if(Kr(E)(U)&&C()){U.preventDefault();return}let we={"cell.run":Ke(E=>(p(E),!0)),"cell.runAndNewBelow":Ke(E=>{p(E);let C=E[E.length-1];return l.moveToNextCell({cellId:C,before:!1}),!0}),"cell.runAndNewAbove":Ke(E=>{p(E);let C=E[0];return l.moveToNextCell({cellId:C,before:!0}),!0}),"cell.createAbove":E=>(l.createNewCell({cellId:E,before:!0}),!0),"cell.createBelow":E=>(l.createNewCell({cellId:E,before:!1}),!0),"cell.moveUp":Ke(E=>{let C=E[0];return u.get(rt).cellIds.findWithId(C).first()===C?!1:(E.forEach(D=>{l.moveCell({cellId:D,before:!0})}),!0)}),"cell.moveDown":Ke(E=>{let C=E[E.length-1];return u.get(rt).cellIds.findWithId(C).last()===C?!1:(E.toReversed().forEach(D=>{l.moveCell({cellId:D,before:!1})}),!0)}),"cell.moveLeft":ni(E=>r?(l.moveCell({cellId:E,direction:"left"}),!0):!1),"cell.moveRight":ni(E=>r?(l.moveCell({cellId:E,direction:"right"}),!0):!1),"cell.hideCode":Ke(E=>{var D;let C=!E.map(L=>{var fe;return((fe=u.get(rt).cellData[L])==null?void 0:fe.config)||null}).every(kf);s({configs:Object.fromEntries(E.map(L=>[L,{hide_code:C}]))});for(let L of E)l.updateCellConfig({cellId:L,config:{hide_code:C}});if(E.length===1){let L=E[0];l.focusCell({cellId:L,where:"after"}),C?((D=a.current)==null||D.contentDOM.blur(),Ti(L)):Ni(u,L)}return!0}),"cell.focusDown":E=>(l.focusCell({cellId:E,where:"after"}),!0),"cell.focusUp":E=>(l.focusCell({cellId:E,where:"before"}),!0),"cell.sendToBottom":Ke(E=>(E.forEach(C=>{l.sendToBottom({cellId:C})}),!0)),"cell.sendToTop":Ke(E=>(E.toReversed().forEach(C=>{l.sendToTop({cellId:C})}),!0)),"cell.aiCompletion":E=>{var D;if(!T)return!1;let C=!1;return c(L=>(L==null?void 0:L.cellId)===E?(C=!0,null):{cellId:E}),C&&((D=a.current)==null||D.focus()),!0},"cell.cellActions":()=>{var E;return(E=o.current)==null||E.toggle(),!0},"command.copyCell":Ke(E=>(m(E),!0)),"command.cutCell":Ke(E=>(b(E),!0)),"command.pasteCell":E=>(y(E),!0),"command.createCellBefore":E=>Zr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!0,autoFocus:!0}),!0),"command.createCellAfter":E=>Zr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let E=de.size>=2?[...de]:[t],C=u.get(rt);return E.some(D=>{let{status:L}=C.cellRuntime[D];return L==="running"||L==="queued"})?!1:k.idle?(k.submit(E),!0):(_({cellIds:E}),k.clear(),!0)}},de=wf(u);if(f==="vim"&&Ef(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":()=>we["cell.delete"](),"y y":()=>(m(de.size>=2?[...de]:[t]),!0),p:()=>(y(t,{before:!1}),!0),"shift+p":()=>(y(t,{before:!0}),!0),o:()=>(l.createNewCell({cellId:t,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:t,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[E,C]of Object.entries(we))if(I(E,U)){if(typeof C=="function"){if(C(t)){U.preventDefault();return}}else if(de.size>=2?C.bulkHandle([...de]):C.handle(t)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=T,n[9]=r,n[10]=o,n[11]=t,n[12]=m,n[13]=b,n[14]=_,n[15]=a,n[16]=S,n[17]=I,n[18]=f,n[19]=y,n[20]=k,n[21]=p,n[22]=s,n[23]=i,n[24]=M,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=ue):ue=n[29];let{keyboardProps:oe}=as(ue),ne;return n[30]!==le||n[31]!==S||n[32]!==oe?(ne=Sh(le,oe,{"data-selected":S,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=le,n[31]=S,n[32]=oe,n[33]=ne):ne=n[33],ne};function kf(t){return t==null?void 0:t.hide_code}function Cf(t,e){let n=(0,Dr.c)(12),r=zt(),a=q($i),o=q(Ji),i;n[0]===o?i=n[1]:(i=Kr(o.getHotkey("command.vimEnterCommandMode").key),n[0]=o,n[1]=i);let s=i,c;n[2]!==t||n[3]!==r?(c=()=>{r.remove(t),Ti(t),Si(()=>{Ei(t)})},n[2]=t,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==e||n[6]!==l?(u=()=>{if(!e.current){l();return}let m=e.current,y=m.state;if(Pp(m))return;let b=!!y.field(Ci,!1)||!!y.field(gm,!1),v=qt(y)!==null;b&&Mr(m),v&&Hp(m),!(b||v)&&l()},n[5]=e,n[6]=l,n[7]=u):u=n[7];let d=u,p;n[8]!==d||n[9]!==a||n[10]!==s?(p={onKeyDown:m=>{a==="vim"?s(m)&&d():m.key==="Escape"&&d(),m.continuePropagation()}},n[8]=d,n[9]=a,n[10]=s,n[11]=p):p=n[11];let{keyboardProps:f}=as(p);return f}function oi(t,e){let n=document.getElementById(Bn.create(t));if(!n)return e.first();let r=n.getBoundingClientRect();for(let a of e.topLevelIds){let o=document.getElementById(Bn.create(a));if(o){let i=o.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return a}}return e.last()}function Mr(t){t.state.field(Ci,!1)&&t.dispatch({effects:Wf.of(null)}),Sm(t)}var Tf=ve(),Nf=50,If=4,Af=60;function Lf(t){return Math.min(Af,Math.max(If,t))}const Of=t=>{let e=(0,Tf.c)(13),{code:n,className:r}=t,a,o,i,s;if(e[0]!==r||e[1]!==n){let l=n.split(`
|
|
25
|
+
`,Nf);e[6]===r?a=e[7]:(a=at("cm","mo-code-placeholder",r),e[6]=r,e[7]=a),o="cell-editor-placeholder",i=!0,s=l.map(_f),e[0]=r,e[1]=n,e[2]=a,e[3]=o,e[4]=i,e[5]=s}else a=e[2],o=e[3],i=e[4],s=e[5];let c;return e[8]!==a||e[9]!==o||e[10]!==i||e[11]!==s?(c=(0,h.jsx)("div",{className:a,"data-testid":o,"aria-hidden":i,children:s}),e[8]=a,e[9]=o,e[10]=i,e[11]=s,e[12]=c):c=e[12],c};function _f(t,e){let n=t.trimEnd().length;return(0,h.jsx)("div",{className:"mo-code-placeholder-line",children:n>0&&(0,h.jsx)(Qh,{className:"mo-code-placeholder-bar",style:{width:`${Lf(n)}ch`}})},e)}var ii=ve();let Ln;da=t=>{let e=(0,ii.c)(25),{editorView:n,code:r,currentLanguageAdapter:a,onAfterToggle:o,className:i}=t,s=i===void 0?"absolute right-3 top-2 z-20 flex hover-action gap-1":i,c;e[0]===r?c=e[1]:(c=ki.markdown.isSupported(r)||r.trim()==="",e[0]=r,e[1]=c);let l=c,u;e[2]===r?u=e[3]:(u=ki.sql.isSupported(r)||r.trim()==="",e[2]=r,e[3]=u);let d=u&&a==="python",p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,h.jsx)(Qf,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),e[4]=p):p=e[4];let f;e[5]!==a||e[6]!==n||e[7]!==o||e[8]!==d?(f=(0,h.jsx)(Ln,{editorView:n,currentLanguageAdapter:a,canSwitchToLanguage:d,icon:p,toType:"sql",displayName:"SQL",onAfterToggle:o}),e[5]=a,e[6]=n,e[7]=o,e[8]=d,e[9]=f):f=e[9];let m=l&&a==="python",y;e[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)(Fh,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),e[10]=y):y=e[10];let b;e[11]!==a||e[12]!==n||e[13]!==o||e[14]!==m?(b=(0,h.jsx)(Ln,{editorView:n,currentLanguageAdapter:a,canSwitchToLanguage:m,icon:y,toType:"markdown",displayName:"Markdown",onAfterToggle:o}),e[11]=a,e[12]=n,e[13]=o,e[14]=m,e[15]=b):b=e[15];let v;e[16]===Symbol.for("react.memo_cache_sentinel")?(v=(0,h.jsx)(Mh,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),e[16]=v):v=e[16];let S;e[17]!==a||e[18]!==n?(S=(0,h.jsx)(Ln,{editorView:n,currentLanguageAdapter:a,canSwitchToLanguage:!0,icon:v,toType:"python",displayName:"Python",onAfterToggle:Wm.NOOP}),e[17]=a,e[18]=n,e[19]=S):S=e[19];let k;return e[20]!==s||e[21]!==S||e[22]!==f||e[23]!==b?(k=(0,h.jsxs)("div",{className:s,children:[f,b,S]}),e[20]=s,e[21]=S,e[22]=f,e[23]=b,e[24]=k):k=e[24],k},Ln=t=>{let e=(0,ii.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:a,icon:o,toType:i,displayName:s,onAfterToggle:c}=t,l;e[0]!==n||e[1]!==c||e[2]!==i?(l=()=>{n&&(Bt(n,{language:i}),c())},e[0]=n,e[1]=c,e[2]=i,e[3]=l):l=e[3];let u=l;if(!a||r===i)return null;let d=`View as ${s}`,p;e[4]!==u||e[5]!==o?(p=(0,h.jsx)(ft,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:u,children:o}),e[4]=u,e[5]=o,e[6]=p):p=e[6];let f;return e[7]!==d||e[8]!==p?(f=(0,h.jsx)(Jn,{content:d,children:p}),e[7]=d,e[8]=p,e[9]=f):f=e[9],f};var si=ve(),li=({theme:t,showPlaceholder:e,id:n,config:r,code:a,status:o,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:l,editorViewRef:u,editorViewParentRef:d,hidden:p,hasOutput:f,showHiddenCode:m,languageAdapter:y,setLanguageAdapter:b,showLanguageToggles:v=!0,inlineAiTooltip:S,outputArea:k,tooltipParentSelector:_})=>{var di,fi;let[P,A]=jn(ds),T=ns(),{saveOrNameNotebook:G}=Yt(),M=Yn(),{saveCellConfig:ae}=Hn(),O=o==="running"||o==="queued",I=Dn(),le=Gh(),ue=y==="markdown",oe=se(()=>O?!1:M.idle&&l.keymap.destructive_delete?(M.submit([n]),!0):(T({cellId:n}),!0)),ne=se(()=>O?!1:(c(),u.current&&Mr(u.current),!0)),U=se(()=>{let $=!r.hide_code;return ae({configs:{[n]:{hide_code:$}}}),I.updateCellConfig({cellId:n,config:{hide_code:$}}),$}),j=q(Hm),we=q(Fm),de=se(()=>{fs({autoInstantiate:j,createNewCell:I.createNewCell}),r.hide_code||(ae({configs:{[n]:{hide_code:!0}}}),I.updateCellConfig({cellId:n,config:{hide_code:!0}}),I.markUntouched({cellId:n}))}),E=se(()=>{fs({autoInstantiate:j,createNewCell:I.createNewCell})}),C=Gi(l),D=(0,N.useMemo)(()=>{var me;let $=ud({cellId:n,showPlaceholder:e,enableAI:C,cellActions:{...I,afterToggleMarkdown:de,afterToggleSQL:E,onRun:ne,deleteCell:oe,saveNotebook:G,createManyBelow:ee=>{for(let ye of ee.toReversed())I.createNewCell({code:ye,before:!1,cellId:n,skipIfCodeExists:!0})},addOrAppendSetupCell:ee=>{let ye=xt();if(!ye.cellIds.setupCellExists()){I.addSetupCellIfDoesntExist({code:ee});return}let Un=Tm(ye)[qr],mi=Un?fm(Un):ye.cellData[qr].code,pi=mi.trim()?`${mi.trimEnd()}
|
|
26
26
|
|
|
27
|
-
${ee}`:ee;Un&&
|
|
27
|
+
${ee}`:ee;Un&&um(Un,pi),I.updateCellCode({cellId:qr,code:pi,formattingChange:!1})},splitCell:le,toggleHideCode:U,aiCellCompletion:()=>{if(!C)return!1;let ee=!1;return A(ye=>(ye==null?void 0:ye.cellId)===n?(ee=!0,null):{cellId:n}),ee}},completionConfig:l.completion,acceptCompletionOnEnter:we,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:t,hotkeys:new Bi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:S??((me=l.ai)==null?void 0:me.inline_tooltip)??!1,tooltipParentSelector:_});return $.push(ze.define(ee=>(b(ee.state.field(dt).type),{update(ye){b(ye.state.field(dt).type)}})),R.updateListener.of(ee=>{ee.selectionSet&&ee.state.selection.ranges.some(ye=>ye.from!==ye.to)&&m({focus:!1})}),R.domEventHandlers({focus:()=>{m({focus:!1})}})),$},[n,we,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(di=l.ai)==null?void 0:di.inline_tooltip,S,_,C,t,e,I,le,U,oe,ne,A,de,E,b,m,G]),L=Gn()&&Oi(n),fe=se(()=>{if(L){let me=Ar(n,ee=>{I.updateCellCode({cellId:n,code:ee,formattingChange:!0})},a);D.push(me.extension),a=me.code}let $=new R({state:ta.create({doc:a,extensions:D})});s($),L||Bt($,{language:zr($.state).type})}),Je=se(()=>{if(Gt(u.current!==null,"Editor view is not initialized"),L){let $=Ar(n,me=>{I.updateCellCode({cellId:n,code:me,formattingChange:!0})});D.push($.extension)}u.current.dispatch({effects:[ce.reconfigure.of([D]),am(u.current,{completionConfig:l.completion,hotkeysProvider:new Bi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),qe=se(()=>{if(Gt(i,"Editor view is not initialized"),L){let me=Ar(n,ee=>{I.updateCellCode({cellId:n,code:ee,formattingChange:!0})},a);D.push(me.extension),a=me.code}let $=new R({state:ta.fromJSON(i,{doc:a,extensions:D},{history:Up})});L||Bt($,{language:zr($.state).type}),s($),I.clearSerializedEditorState({cellId:n})}),[Ve,F]=(0,N.useState)(i!==null);(0,N.useEffect)(()=>{if(u.current!==null){F(!0);return}if(F(!1),i!==null){qe(),F(!0);return}return Mn.request(n,()=>{u.current===null&&(fe(),F(!0))}),()=>Mn.cancel(n)},[n,u,qe,fe,i]),(0,N.useEffect)(()=>{u.current!==null&&Je()},[Je,D,u]),(0,N.useEffect)(()=>()=>{var $;($=u.current)==null||$.destroy(),u.current=null},[u]);let[ie,Y]=cp({rootMargin:"300px 0px",threshold:0});(0,N.useEffect)(()=>{Ve||(Y!=null&&Y.isIntersecting?Mn.prioritize(n):Mn.deprioritize(n))},[Ve,Y==null?void 0:Y.isIntersecting,n]);let vt=Cf(n,u),_n="";return ue&&p&&f?_n="h-0 overflow-hidden":p&&(_n="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,h.jsx)(cf,{cellId:n,aiCompletionCell:P,currentCode:((fi=u.current)==null?void 0:fi.state.doc.toString())??a,currentLanguageAdapter:y,declineChange:se(()=>{var $;A(null),($=u.current)==null||$.focus()}),onChange:se($=>{var me;(me=u.current)==null||me.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:$}})}),acceptChange:se($=>{var me,ee;(me=u.current)==null||me.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:$}}),(ee=u.current)==null||ee.focus(),A(null)}),runCell:ne,outputArea:k,children:(0,h.jsxs)("div",{className:"relative w-full",ref:ie,...vt,children:[Ve?(0,h.jsx)(ci,{className:_n,editorView:u.current,ref:d,hidden:p,showHiddenCode:m}):(0,h.jsx)(Of,{code:a,className:_n}),!p&&v&&(0,h.jsx)("div",{className:"absolute top-1 right-5",children:(0,h.jsx)(da,{code:a,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:de})})]})})},ci=N.forwardRef((t,e)=>{let n=(0,si.c)(14),{className:r,editorView:a,hidden:o,showHiddenCode:i}=t,s=(0,N.useRef)(null),c,l;n[0]===a?(c=n[1],l=n[2]):(c=()=>{a!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(a.dom)},l=[a,s],n[0]=a,n[1]=c,n[2]=l),(0,N.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=at("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==o||n[6]!==i?(d=m=>{o&&i&&(m.stopPropagation(),i({focus:!0}))},n[5]=o,n[6]=i,n[7]=d):d=n[7];let p;n[8]===e?p=n[9]:(p=m=>{e?Kn(e,s)(m):Kn(s)(m)},n[8]=e,n[9]=p);let f;return n[10]!==u||n[11]!==d||n[12]!==p?(f=(0,h.jsx)("div",{className:u,onDoubleClick:d,ref:p,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=p,n[13]=f):f=n[13],f});ci.displayName="CellCodeMirrorEditor";function Uf(t){let e=n=>{let r=(0,si.c)(5),a=q(Et),[o,i]=jn(pt);if(Gn()&&Oi(n.id)&&(Xm(a.state)||o===void 0)){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.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,h.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,h.jsxs)(up,{milliseconds:1e3,fallback:null,children:[c,(0,h.jsx)(ft,{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,h.jsx)(t,{...n}),r[3]=n,r[4]=s),s};return e.displayName=`WithWaitUntilConnected(${t.displayName})`,e}As=Gn()?Uf((0,N.memo)(li)):(0,N.memo)(li)});export{ca as _,Zh as __tla,zt as a,Yn as b,Kn as c,Xn as d,ua as f,xe as g,Ss as h,ks as i,Cs as l,Ts as m,da as n,fa as o,pt as p,Ns as r,Is as s,As as t,Yt as u,Qn as v,Ls as y};
|