@hyperpuncher/pi-ui 0.54.0 → 0.54.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +2 -1
  2. package/dist/npm/server-main.js +2 -2
  3. package/package.json +1 -1
  4. package/static/app.css +1 -1
  5. package/static/build/chunks/angular-html-9t1z861h.js +1 -0
  6. package/static/build/chunks/{angular-ts-wpa0ntyd.js → angular-ts-yces35hm.js} +1 -1
  7. package/static/build/chunks/bat-sykj1aa7.js +1 -0
  8. package/static/build/chunks/bibtex-f2ty1dx3.js +1 -0
  9. package/static/build/chunks/{bsl-ekqr89hb.js → bsl-dhrmm1jj.js} +1 -1
  10. package/static/build/chunks/cmake-5z22d5ee.js +1 -0
  11. package/static/build/chunks/{code-theme-a5ywgc5d.js → code-theme-ame4fn6s.js} +1 -1
  12. package/static/build/chunks/csv-j1nr2egp.js +1 -0
  13. package/static/build/chunks/{erb-ssgyt8yk.js → erb-5ke38pz0.js} +1 -1
  14. package/static/build/chunks/{fortran-fixed-form-yqrdwjab.js → fortran-fixed-form-eawvv1am.js} +1 -1
  15. package/static/build/chunks/fortran-free-form-wpe8st7g.js +1 -0
  16. package/static/build/chunks/fsharp-9e2dnvk9.js +1 -0
  17. package/static/build/chunks/{gdresource-4fj86xjd.js → gdresource-gfrqcbcg.js} +1 -1
  18. package/static/build/chunks/gdscript-5nb9fzmy.js +1 -0
  19. package/static/build/chunks/gdshader-ba7x07gg.js +1 -0
  20. package/static/build/chunks/{graphql-ddq2qt0v.js → graphql-6dembcfz.js} +1 -1
  21. package/static/build/chunks/haml-fs8t607p.js +1 -0
  22. package/static/build/chunks/handlebars-qxp1hmm5.js +1 -0
  23. package/static/build/chunks/haxe-63hhvesn.js +1 -0
  24. package/static/build/chunks/hlsl-99cqj6by.js +1 -0
  25. package/static/build/chunks/{http-q7kc4tj6.js → http-r101fvka.js} +1 -1
  26. package/static/build/chunks/{hurl-megk96q7.js → hurl-hzcngdvj.js} +1 -1
  27. package/static/build/chunks/{hxml-6ch21be5.js → hxml-psqp1nsp.js} +1 -1
  28. package/static/build/chunks/{index-wg53q3y0.js → index-hynb8kca.js} +13 -13
  29. package/static/build/chunks/jsonc-15dhk5z3.js +1 -0
  30. package/static/build/chunks/jsx-h2hggewx.js +1 -0
  31. package/static/build/chunks/{julia-mgfk32ya.js → julia-427d8qjf.js} +1 -1
  32. package/static/build/chunks/{just-rjtrh43a.js → just-ezfq4t7j.js} +1 -1
  33. package/static/build/chunks/latex-41146jxq.js +1 -0
  34. package/static/build/chunks/log-jvqtv319.js +1 -0
  35. package/static/build/chunks/{main-hw5rht8r.js → main-098d512h.js} +2 -2
  36. package/static/build/chunks/{main-dedmwdfs.js → main-0g6qtbm7.js} +2 -2
  37. package/static/build/chunks/{main-17y72e2k.js → main-25shm7ha.js} +2 -2
  38. package/static/build/chunks/{main-q53pa7e1.js → main-29fmzgdz.js} +1 -1
  39. package/static/build/chunks/{main-c4y2m713.js → main-5dymmn8v.js} +2 -2
  40. package/static/build/chunks/{main-b4j28cva.js → main-6yfb802z.js} +2 -2
  41. package/static/build/chunks/{main-s13hhth9.js → main-8nztd0r5.js} +2 -2
  42. package/static/build/chunks/{main-epsspf8t.js → main-93jq8y6w.js} +2 -2
  43. package/static/build/chunks/{main-vqg1a9c8.js → main-9brcqyac.js} +2 -2
  44. package/static/build/chunks/{main-sh14kcap.js → main-9kwttvkk.js} +2 -2
  45. package/static/build/chunks/{main-v6yya2rp.js → main-aabsw5zs.js} +2 -2
  46. package/static/build/chunks/{main-q0zg1fh4.js → main-brz9x4r1.js} +2 -2
  47. package/static/build/chunks/{main-z8x5tyev.js → main-ch19n8dg.js} +2 -2
  48. package/static/build/chunks/{main-q6xq4ymt.js → main-d2jmsjyj.js} +2 -2
  49. package/static/build/chunks/{main-60jmcz5q.js → main-d5kpdgb3.js} +2 -2
  50. package/static/build/chunks/{main-drhnr196.js → main-dckqpwtw.js} +1 -1
  51. package/static/build/chunks/{main-0tfr6zpw.js → main-e3dchyzh.js} +2 -2
  52. package/static/build/chunks/{main-aj799kta.js → main-gza5czsg.js} +2 -2
  53. package/static/build/chunks/{main-0m5jmwcm.js → main-jx88bb4k.js} +2 -2
  54. package/static/build/chunks/{main-z9ya2zyf.js → main-kqvqxvs9.js} +15 -15
  55. package/static/build/chunks/{main-m23prjtn.js → main-m3gqgzj2.js} +2 -2
  56. package/static/build/chunks/{main-75b7czew.js → main-mvvsw424.js} +2 -2
  57. package/static/build/chunks/{main-0eq28dnr.js → main-mwqd3xej.js} +2 -2
  58. package/static/build/chunks/{main-wg1rgmq8.js → main-mx73v44m.js} +2 -2
  59. package/static/build/chunks/{main-320cz9m0.js → main-n1amqv0y.js} +2 -2
  60. package/static/build/chunks/{main-1h81h5tc.js → main-n2gksx7q.js} +2 -2
  61. package/static/build/chunks/{main-fxxjfq5x.js → main-na165zc6.js} +2 -2
  62. package/static/build/chunks/{main-w4ktfx46.js → main-qjaabb97.js} +2 -2
  63. package/static/build/chunks/{main-fnryfy0w.js → main-trx88rdg.js} +2 -2
  64. package/static/build/chunks/{main-12hs60r7.js → main-v9hveeqk.js} +2 -2
  65. package/static/build/chunks/{main-svq37c5n.js → main-vyjr38wk.js} +2 -2
  66. package/static/build/chunks/{main-g5cvv1jb.js → main-wjv4knsy.js} +2 -2
  67. package/static/build/chunks/{main-n354gvtx.js → main-xxtt0kat.js} +2 -2
  68. package/static/build/chunks/{main-ncmhhxpc.js → main-ze318jkq.js} +2 -2
  69. package/static/build/chunks/{main-pf4sasgx.js → main-zne4xghc.js} +1 -1
  70. package/static/build/chunks/{nextflow-vsm9mewk.js → nextflow-ecafj8kf.js} +1 -1
  71. package/static/build/chunks/nextflow-groovy-xvrmcddz.js +1 -0
  72. package/static/build/chunks/{nim-rjrps4r1.js → nim-jcfn78ep.js} +1 -1
  73. package/static/build/chunks/ocaml-3t7q77vf.js +1 -0
  74. package/static/build/chunks/{org-41f97gct.js → org-83gwmman.js} +1 -1
  75. package/static/build/chunks/powershell-bft3fprh.js +1 -0
  76. package/static/build/chunks/pug-67fg5zkc.js +1 -0
  77. package/static/build/chunks/{rst-qgaks9ys.js → rst-0j7thaq8.js} +1 -1
  78. package/static/build/chunks/{ruby-10gnpa9m.js → ruby-h41d1jye.js} +1 -1
  79. package/static/build/chunks/sdbl-pe5gn8zr.js +1 -0
  80. package/static/build/chunks/{shaderlab-qdakc6m7.js → shaderlab-b58smhfe.js} +1 -1
  81. package/static/build/chunks/{sparql-hrn3zm8y.js → sparql-wz87e1pd.js} +1 -1
  82. package/static/build/chunks/stylus-x9mf4enc.js +1 -0
  83. package/static/build/chunks/swift-zn3gdbrz.js +1 -0
  84. package/static/build/chunks/system-verilog-gcgja1bf.js +1 -0
  85. package/static/build/chunks/tex-pxg823cm.js +1 -0
  86. package/static/build/chunks/turtle-rygwqp46.js +1 -0
  87. package/static/build/chunks/{twig-1rd58h0d.js → twig-zr6z9qb5.js} +1 -1
  88. package/static/build/chunks/{typst-pg1czsjz.js → typst-5t62efc4.js} +1 -1
  89. package/static/build/chunks/verilog-jp5dkmgg.js +1 -0
  90. package/static/build/chunks/{vue-vine-d46tfy6m.js → vue-vine-x1pd5ydv.js} +1 -1
  91. package/static/build/chunks/{workspace-review-73s0n7hc.js → workspace-review-5r77y1ft.js} +11 -11
  92. package/static/build/chunks/zig-98xskbfp.js +1 -0
  93. package/static/build/main.js +4 -4
  94. package/static/build/chunks/angular-html-z4fqs47k.js +0 -1
  95. package/static/build/chunks/bat-4986hex0.js +0 -1
  96. package/static/build/chunks/bibtex-n2nhe0wx.js +0 -1
  97. package/static/build/chunks/cmake-86bharq9.js +0 -1
  98. package/static/build/chunks/csv-kzar1n4v.js +0 -1
  99. package/static/build/chunks/fortran-free-form-4tb589s6.js +0 -1
  100. package/static/build/chunks/fsharp-5v62w2jq.js +0 -1
  101. package/static/build/chunks/gdscript-4h1shwqj.js +0 -1
  102. package/static/build/chunks/gdshader-5za4a2j9.js +0 -1
  103. package/static/build/chunks/haml-vsp7hh3f.js +0 -1
  104. package/static/build/chunks/handlebars-59gn5dj7.js +0 -1
  105. package/static/build/chunks/haxe-zvpwvpvn.js +0 -1
  106. package/static/build/chunks/hlsl-svktsk04.js +0 -1
  107. package/static/build/chunks/jsonc-ssb35fmp.js +0 -1
  108. package/static/build/chunks/jsx-9ct7s1py.js +0 -1
  109. package/static/build/chunks/latex-xha4wvvc.js +0 -1
  110. package/static/build/chunks/log-jnggnqka.js +0 -1
  111. package/static/build/chunks/nextflow-groovy-b4w15vkr.js +0 -1
  112. package/static/build/chunks/ocaml-yt0kq4b3.js +0 -1
  113. package/static/build/chunks/powershell-8cv2gpfc.js +0 -1
  114. package/static/build/chunks/pug-s4e1p0x9.js +0 -1
  115. package/static/build/chunks/sdbl-rw2b1wff.js +0 -1
  116. package/static/build/chunks/stylus-051daetz.js +0 -1
  117. package/static/build/chunks/swift-c3wmm92e.js +0 -1
  118. package/static/build/chunks/system-verilog-cysaabmv.js +0 -1
  119. package/static/build/chunks/tex-yj0j713p.js +0 -1
  120. package/static/build/chunks/turtle-am0wf2w4.js +0 -1
  121. package/static/build/chunks/verilog-1bxyw8xv.js +0 -1
  122. package/static/build/chunks/zig-rdjds834.js +0 -1
  123. /package/static/build/chunks/{main-0spvwn6n.js → main-m9dfhq6m.js} +0 -0
@@ -1,15 +1,15 @@
1
- import{u,G,R,q,D,re,p,S,Pt,me,Mt,ge,Ot,fe,ie,Pe}from"./main-z9ya2zyf.js";import{Ve}from"./main-0spvwn6n.js";import{Nt}from"../main.js";var bt=class t{#n=[];#s=[];#t;#e=!1;constructor(e){this.#t=Math.max(1,e?.maxEntries??100)}get canUndo(){return this.#n.length>0}get canRedo(){return this.#s.length>0}getState(){return{undoStack:this.#n.map(ye),redoStack:this.#s.map(ye),maxEntries:this.#t,canCoalesce:this.#e}}getLiveState(){return Object.defineProperties({},{undoStack:{enumerable:!0,get:()=>this.#n},redoStack:{enumerable:!0,get:()=>this.#s},maxEntries:{enumerable:!0,get:()=>this.#t},canCoalesce:{enumerable:!0,get:()=>this.#e}})}static fromState(e){let n=new t({maxEntries:e.maxEntries});return n.#n=e.undoStack,n.#s=e.redoStack,n.#e=e.canCoalesce,n}clear(){this.#n.length=0,this.#s.length=0,this.#e=!1}clearRedo(){this.#s.length=0}push(e){if(this.#n.push(e),this.clearRedo(),this.#e=!0,this.#n.length>this.#t)this.#n.shift()}setLastUndoSelectionsAfter(e){let n=this.#n[this.#n.length-1];if(n!==void 0)n.selectionsAfter=e.map((i)=>({...i}))}setLastUndoLineAnnotations(e,n){let i=this.#n[this.#n.length-1];if(i!==void 0)i.lineAnnotationsBefore=e.slice(),i.lineAnnotationsAfter=n.slice()}peekUndo(){return this.#n[this.#n.length-1]}peekUndoForCoalescing(){return this.#e?this.peekUndo():void 0}replaceLastUndo(e){if(this.#n.length===0){this.push(e);return}this.#n[this.#n.length-1]=e,this.clearRedo(),this.#e=!0}popUndoToRedo(){let e=this.#n.pop();if(e!==void 0)return this.#s.push(e),this.#e=!1,e}popRedoToUndo(){let e=this.#s.pop();if(e!==void 0)return this.#n.push(e),this.#e=!1,e}};function li(t){return{...t,forwardEdits:t.forwardEdits.map((e)=>({...e})),inverseEdits:t.inverseEdits.map((e)=>({...e})),selectionsBefore:t.selectionsBefore?.map(Te),selectionsAfter:t.selectionsAfter?.map(Te),lineAnnotationsBefore:t.lineAnnotationsBefore?.slice(),lineAnnotationsAfter:t.lineAnnotationsAfter?.slice()}}function ye(t){return{...li(t),lineAnnotationsBefore:t.lineAnnotationsBefore?.map((e)=>({...e})),lineAnnotationsAfter:t.lineAnnotationsAfter?.map((e)=>({...e}))}}function Te(t){return{...t,start:{...t.start},end:{...t.end}}}function Ae(t,e,n,i,s,o,r,a){let c=[...e].sort((d,f)=>d.start-f.start),l=[],h;if(s?.length===c.length){let d=[];for(let f of s){if(f.start.line!==f.end.line||f.start.character!==f.end.character)break;d.push(t.offsetAt(f.start))}if(d.length===c.length){d.sort((m,C)=>m-C);let f=!0,g=!0;for(let m=0;m<c.length;m++){let C=c[m];if(C.text.length>0||C.start===C.end){f=!1,g=!1;break}f&&=d[m]===C.end,g&&=d[m]===C.start}h=f?"backspace":g?"delete":void 0}}for(let d=0,f=0;d<c.length;d++){let g=c[d],m=t.getTextSlice(g.start,g.end),C=g.start+f;l.push({start:C,end:C+g.text.length,text:m}),f+=g.text.length-(g.end-g.start)}return{forwardEdits:c.map((d)=>({...d})),inverseEdits:l,versionBefore:n,versionAfter:i,selectionsBefore:s?.map((d)=>({...d})),selectionsAfter:o?.map((d)=>({...d})),lineAnnotationsBefore:r?.slice(),lineAnnotationsAfter:a?.slice(),coalescingMode:h}}function ke(t,e){if(t===void 0||t.undoBoundary===!0||e.undoBoundary===!0||t.forwardEdits.length===0||t.forwardEdits.length!==t.inverseEdits.length||t.forwardEdits.length!==e.forwardEdits.length||e.forwardEdits.length!==e.inverseEdits.length)return!1;let n;for(let i=0;i<t.forwardEdits.length;i++){let s=t.forwardEdits[i],o=t.inverseEdits[i],r=e.forwardEdits[i],a=e.inverseEdits[i],c=Re(r.start,t.forwardEdits),l=s.start<=s.end&&s.text.length>0&&!s.text.includes(`
1
+ import{u,G,R,q,D,ie,p,S,Mt,me,Ot,ge,Gt,fe,oe,Pe}from"./main-kqvqxvs9.js";import{Ve}from"./main-m9dfhq6m.js";import{zt}from"../main.js";var bt=class t{#n=[];#s=[];#t;#e=!1;constructor(e){this.#t=Math.max(1,e?.maxEntries??100)}get canUndo(){return this.#n.length>0}get canRedo(){return this.#s.length>0}getState(){return{undoStack:this.#n.map(ye),redoStack:this.#s.map(ye),maxEntries:this.#t,canCoalesce:this.#e}}getLiveState(){return Object.defineProperties({},{undoStack:{enumerable:!0,get:()=>this.#n},redoStack:{enumerable:!0,get:()=>this.#s},maxEntries:{enumerable:!0,get:()=>this.#t},canCoalesce:{enumerable:!0,get:()=>this.#e}})}static fromState(e){let n=new t({maxEntries:e.maxEntries});return n.#n=e.undoStack,n.#s=e.redoStack,n.#e=e.canCoalesce,n}clear(){this.#n.length=0,this.#s.length=0,this.#e=!1}clearRedo(){this.#s.length=0}push(e){if(this.#n.push(e),this.clearRedo(),this.#e=!0,this.#n.length>this.#t)this.#n.shift()}setLastUndoSelectionsAfter(e){let n=this.#n[this.#n.length-1];if(n!==void 0)n.selectionsAfter=e.map((i)=>({...i}))}setLastUndoLineAnnotations(e,n){let i=this.#n[this.#n.length-1];if(i!==void 0)i.lineAnnotationsBefore=e.slice(),i.lineAnnotationsAfter=n.slice()}peekUndo(){return this.#n[this.#n.length-1]}peekUndoForCoalescing(){return this.#e?this.peekUndo():void 0}replaceLastUndo(e){if(this.#n.length===0){this.push(e);return}this.#n[this.#n.length-1]=e,this.clearRedo(),this.#e=!0}popUndoToRedo(){let e=this.#n.pop();if(e!==void 0)return this.#s.push(e),this.#e=!1,e}popRedoToUndo(){let e=this.#s.pop();if(e!==void 0)return this.#n.push(e),this.#e=!1,e}};function li(t){return{...t,forwardEdits:t.forwardEdits.map((e)=>({...e})),inverseEdits:t.inverseEdits.map((e)=>({...e})),selectionsBefore:t.selectionsBefore?.map(Te),selectionsAfter:t.selectionsAfter?.map(Te),lineAnnotationsBefore:t.lineAnnotationsBefore?.slice(),lineAnnotationsAfter:t.lineAnnotationsAfter?.slice()}}function ye(t){return{...li(t),lineAnnotationsBefore:t.lineAnnotationsBefore?.map((e)=>({...e})),lineAnnotationsAfter:t.lineAnnotationsAfter?.map((e)=>({...e}))}}function Te(t){return{...t,start:{...t.start},end:{...t.end}}}function Ae(t,e,n,i,s,o,r,a){let c=[...e].sort((d,f)=>d.start-f.start),l=[],h;if(s?.length===c.length){let d=[];for(let f of s){if(f.start.line!==f.end.line||f.start.character!==f.end.character)break;d.push(t.offsetAt(f.start))}if(d.length===c.length){d.sort((m,C)=>m-C);let f=!0,g=!0;for(let m=0;m<c.length;m++){let C=c[m];if(C.text.length>0||C.start===C.end){f=!1,g=!1;break}f&&=d[m]===C.end,g&&=d[m]===C.start}h=f?"backspace":g?"delete":void 0}}for(let d=0,f=0;d<c.length;d++){let g=c[d],m=t.getTextSlice(g.start,g.end),C=g.start+f;l.push({start:C,end:C+g.text.length,text:m}),f+=g.text.length-(g.end-g.start)}return{forwardEdits:c.map((d)=>({...d})),inverseEdits:l,versionBefore:n,versionAfter:i,selectionsBefore:s?.map((d)=>({...d})),selectionsAfter:o?.map((d)=>({...d})),lineAnnotationsBefore:r?.slice(),lineAnnotationsAfter:a?.slice(),coalescingMode:h}}function ke(t,e){if(t===void 0||t.undoBoundary===!0||e.undoBoundary===!0||t.forwardEdits.length===0||t.forwardEdits.length!==t.inverseEdits.length||t.forwardEdits.length!==e.forwardEdits.length||e.forwardEdits.length!==e.inverseEdits.length)return!1;let n;for(let i=0;i<t.forwardEdits.length;i++){let s=t.forwardEdits[i],o=t.inverseEdits[i],r=e.forwardEdits[i],a=e.inverseEdits[i],c=Re(r.start,t.forwardEdits),l=s.start<=s.end&&s.text.length>0&&!s.text.includes(`
2
2
  `)&&!o.text.includes(`
3
3
  `),h=r.start===r.end&&r.text.length>0&&!r.text.includes(`
4
- `)&&a.text.length===0;if(l&&h){if(r.start!==o.end)return!1;if(n??="insert",n!=="insert"||t.coalescingMode!==void 0&&t.coalescingMode!=="insert"||e.coalescingMode!==void 0&&e.coalescingMode!=="insert")return!1;continue}let d=s.text.length===0&&s.end>s.start&&o.text.length>0,f=r.text.length===0&&r.end>r.start&&a.text.length>0;if(d&&f){let g;if(c===s.end)g="delete";else if(c+(r.end-r.start)!==s.start)return!1;else g="backspace";if(n??=g,n!==g||t.coalescingMode!==void 0&&t.coalescingMode!==g||e.coalescingMode!==void 0&&e.coalescingMode!==g)return!1;continue}return!1}return n!==void 0}function Me(t,e){let n=[],i=[],s;for(let o=0;o<t.forwardEdits.length;o++){let r=t.forwardEdits[o],a=t.inverseEdits[o],c=e.forwardEdits[o],l=e.inverseEdits[o],h=Re(c.start,t.forwardEdits);if(r.text.length>0){s??="insert",n.push({start:r.start,end:r.end,text:r.text+c.text}),i.push(a.text);continue}if(h===r.end){s??="delete",n.push({start:r.start,end:h+(c.end-c.start),text:""}),i.push(a.text+l.text);continue}s??="backspace",n.push({start:Math.min(r.start,h),end:r.end,text:""}),i.push(l.text+a.text)}return{forwardEdits:n,inverseEdits:di(n,i),versionBefore:t.versionBefore,versionAfter:e.versionAfter,selectionsBefore:t.selectionsBefore?.slice(),selectionsAfter:e.selectionsAfter?.slice(),lineAnnotationsBefore:t.lineAnnotationsBefore?.slice(),lineAnnotationsAfter:e.lineAnnotationsAfter?.slice(),coalescingMode:s}}function di(t,e){let n=[];for(let i=0,s=0;i<t.length;i++){let o=t[i],r=o.start+s;n.push({start:r,end:r+o.text.length,text:e[i]}),s+=o.text.length-(o.end-o.start)}return n}function Re(t,e){let n=t;for(let i of e){let s=i.end-i.start,o=i.text.length,r=o-s;if(n<i.start)continue;if(n>=i.start+o){n-=r;continue}n=i.start+Math.min(n-i.start,s)}return n}var hi=1e5,Xt=10,yt=13,fi="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",mt=class{source;offset;length;lineOffsetStart;lineOffsetEnd;hasVirtualTrailingCRBreak;firstCharCode;lastCharCode;static Original=0;static Added=1;constructor(t,e,n,i,s,o,r,a){this.source=t,this.offset=e,this.length=n,this.lineOffsetStart=i,this.lineOffsetEnd=s,this.hasVirtualTrailingCRBreak=o,this.firstCharCode=r,this.lastCharCode=a}get lineBreakCount(){return this.lineOffsetEnd-this.lineOffsetStart+(this.hasVirtualTrailingCRBreak?1:0)}},Oe=class{text;lineOffsets;constructor(t){this.text=t,this.lineOffsets=me(t)}append(t){let e=this.text.length;for(let n=0;n<t.length;n++){let i=t.charCodeAt(n);if(i!==Xt&&i!==yt)continue;if(i===yt&&t.charCodeAt(n+1)===Xt)n++;this.lineOffsets.push(e+n+1)}return this.text+=t,e}},wt=class{piece;subtreeLength;subtreeLineBreakCount;subtreeFirstCharCode;subtreeLastCharCode;left=null;right=null;parent=null;priority=0;constructor(t,e=t.length,n=t.lineBreakCount,i=t.firstCharCode,s=t.lastCharCode){this.piece=t,this.subtreeLength=e,this.subtreeLineBreakCount=n,this.subtreeFirstCharCode=i,this.subtreeLastCharCode=s}updateSubtreeLength(){this.subtreeLength=(this.left?.subtreeLength??0)+this.piece.length+(this.right?.subtreeLength??0),this.subtreeLineBreakCount=(this.left?.subtreeLineBreakCount??0)+this.piece.lineBreakCount+(this.right?.subtreeLineBreakCount??0)-(tt(this.left?.subtreeLastCharCode,this.piece.firstCharCode)?1:0)-(tt(this.piece.lastCharCode,this.right?.subtreeFirstCharCode)?1:0),this.subtreeFirstCharCode=this.left?.subtreeFirstCharCode??this.piece.firstCharCode,this.subtreeLastCharCode=this.right?.subtreeLastCharCode??this.piece.lastCharCode}},Be=class{#n;#s=new Oe("");#t=null;#e=0;#r=0;#l=null;#c=null;#m=null;#w=2654435769;constructor(t){this.#n=new Oe(t);let e=this.#y(mt.Original,0,t.length);this.#t=e.length>0?this.#W(e):null,this.#e=this.#t?.subtreeLength??0,this.#r=(this.#t?.subtreeLineBreakCount??0)+1}get lineCount(){return this.#r}getText(t){if(t===void 0)return this.#O();let e=this.offsetAt(t.start),n=this.offsetAt(t.end);return this.getTextSlice(e,n)}getLineText(t,e=!1){if(this.#l!==null&&this.#l[0]===t&&this.#l[1]===e)return this.#l[2];let n=this.#g(t);if(n===void 0)throw Error(`Line index out of range: ${t}`);let i=this.getTextSlice(n[0],n[1],!e);return this.#l=[t,e,i],this.#c=[t,e,i.length],i}getLineLength(t,e=!1){let n=this.#c,i=this.#l;if(n!==null&&n[0]===t&&n[1]===e)return n[2];if(i!==null&&i[0]===t&&i[1]===e){let c=i[2].length;return this.#c=[t,e,c],c}let s=this.#g(t);if(s===void 0)throw Error(`Line index out of range: ${t}`);let[o,r]=s,a=r-o;if(!e)while(a>0&&Kt(this.charAt(o+a-1).charCodeAt(0)))a--;return this.#c=[t,e,a],a}getTextSlice(t,e,n=!1){if(t>=e)return"";let i=Y(t,0,this.#e),s=Y(e,i,this.#e);if(i>=s)return"";let o=this.#x(i);if(o===void 0)return"";let r=[],[a,c]=o,l=s-i;while(a!==null&&l>0){let h=Math.min(a.piece.length-c,l),d=this.#b(a.piece.source),f=a.piece.offset+c,g=f+h;if(n)while(g>f&&Kt(d.text.charCodeAt(g-1)))g--;r.push(d.text.slice(f,g)),l-=h,c=0,a=this.#C(a)}return r.join("")}charAt(t){let e=this.#x(t);if(e===void 0)return"";let[n,i]=e;return this.#b(n.piece.source).text.charAt(n.piece.offset+i)}includes(t){if(t.length===0)return!0;let e=Ie(t),n=0,i=!1;return this.#h((s)=>{for(let o=s.start;o<s.end;o++){let r=s.text.charCodeAt(o);while(n>0&&r!==t.charCodeAt(n))n=e[n-1];if(r===t.charCodeAt(n))n++;if(n===t.length)return i=!0,!1}return!0}),i}findNextNonOverlappingSubstring(t,e){if(t.length===0||t.length>this.#e)return;let n=ui(e,this.#e),i=n.reduce((l,[,h])=>Math.max(l,h),0),s=Ie(t),o=0,r=0,a,c;return this.#h((l)=>{for(let h=l.start;h<l.end;h++){let d=l.text.charCodeAt(h);while(o>0&&d!==t.charCodeAt(o))o=s[o-1];if(d===t.charCodeAt(o))o++;if(o===t.length){let f=r-t.length+1;if(!pi(n,f,f+t.length)){if(f>=i)return c=f,!1;a??=f}o=s[o-1]}r++}return!0}),c??a}search(t){if(t.text.length===0||this.#e===0)return[];if(t.text.includes(`
5
- `)||t.text.includes("\r")||t.regex&&(t.text.includes("\\n")||t.text.includes("\\r")))return[];let e;try{e=De(t.text,t.regex,t.caseSensitive)}catch{return[]}return this.#p(e,t.wholeWord,hi)}#p(t,e,n){let i=[],s=this.#O(),o=s.length,r=me(s);for(let a=0;a<r.length;a++){let c=r[a],l=r[a+1]??o;while(l>c&&Kt(s.charCodeAt(l-1)))l--;let h=s.slice(c,l);t.lastIndex=0;let d;while((d=t.exec(h))!==null){let f=d.index,g=d[0];if(g.length===0){t.lastIndex=Ne(h,f);continue}let m=c+f;if(!e||Ci(s,m,g.length)){if(i.push([m,m+g.length]),i.length>=n)return i}if(f===t.lastIndex)t.lastIndex=Ne(h,f)}}return i}insert(t,e){if(t.length===0)return;let n=Y(e,0,this.#e);this.#T(n,n,t),this.#M()}delete(t,e){if(e<=0||this.#e===0)return;let n=Y(t,0,this.#e),i=Y(n+e,n,this.#e);if(n===i)return;this.#T(n,i,""),this.#M()}applyEdits(t){if(t.length===0)return;for(let e=t.length-1;e>=0;e--){let n=t[e],i=Y(n.start,0,this.#e),s=Y(n.end,i,this.#e);this.#T(i,s,n.text)}this.#M()}positionAt(t){let e=Y(t,0,this.#e);if(this.#e===0)return{line:0,character:0};let n=this.#L(e),i=e-(n===0?0:this.#R(n-1));return this.#m=[n,i,e],{line:n,character:i}}positionsAt(t){let e=Array.from({length:t.length});if(t.length===0)return e;if(this.#e===0)return e.fill({line:0,character:0});for(let n=0;n<t.length;n++)e[n]=this.positionAt(t[n]);return e}offsetAt(t){if(t.line<0||this.#e===0)return 0;if(t.line>=this.#r)throw Error(`Line index out of range: ${t.line}`);let e=this.#m;if(e!==null&&e[0]===t.line&&e[1]===t.character)return e[2];let n=this.#g(t.line);if(n===void 0)throw Error(`Line index out of range: ${t.line}`);let i=Y(t.character,0,n[1]-n[0]);return n[0]+i}#x(t){if(t<0||t>=this.#e)return;let e=this.#t,n=t;while(e!==null){let i=e.left?.subtreeLength??0;if(n<i){e=e.left;continue}if(n-=i,n<e.piece.length)return[e,n];n-=e.piece.length,e=e.right}}#C(t){if(t.right!==null){let n=t.right;while(n.left!==null)n=n.left;return n}let e=t;while(e.parent!==null&&e===e.parent.right)e=e.parent;return e.parent}#g(t){if(t<0)throw Error(`Line index out of range: ${t}`);if(this.#e===0){if(t===0)return[0,0];throw Error(`Line index out of range: ${t}`)}if(t>=this.#r)throw Error(`Line index out of range: ${t}`);return[t===0?0:this.#R(t-1),t<this.#r-1?this.#R(t):this.#e]}#L(t){let e=this.#t,n=Y(t,0,this.#e),i=0;while(e!==null){let s=e.left?.subtreeLength??0;if(n<s){e=e.left;continue}if(i+=(e.left?.subtreeLineBreakCount??0)-(tt(e.left?.subtreeLastCharCode,e.piece.firstCharCode)?1:0),n-=s,n<=e.piece.length){let o=this.#b(e.piece.source),r=Math.min(Gt(o.lineOffsets,e.piece.offset+n),e.piece.lineOffsetEnd);if(i+=r-e.piece.lineOffsetStart,n===e.piece.length&&e.piece.hasVirtualTrailingCRBreak)i++;if(n===e.piece.length&&tt(e.piece.lastCharCode,this.#C(e)?.piece.firstCharCode))i--;return i}i+=e.piece.lineBreakCount-(tt(e.piece.lastCharCode,e.right?.subtreeFirstCharCode)?1:0),n-=e.piece.length,e=e.right}return this.#r-1}#R(t){let e=this.#t,n=t,i=0,s;while(e!==null){let o=(e.left?.subtreeLineBreakCount??0)-(tt(e.left?.subtreeLastCharCode,e.piece.firstCharCode)?1:0);if(n<o){s=e.piece.firstCharCode,e=e.left;continue}let r=e.left?.subtreeLength??0;i+=r,n-=o;let a=e.right?.subtreeFirstCharCode??s,c=e.piece.lineBreakCount-(tt(e.piece.lastCharCode,a)?1:0);if(n<c)return i+this.#o(e.piece,n);i+=e.piece.length,n-=c,e=e.right}return this.#e}#o(t,e){if(e<t.lineOffsetEnd-t.lineOffsetStart)return this.#b(t.source).lineOffsets[t.lineOffsetStart+e]-t.offset;return t.length}#O(){let t=[];return this.#h((e)=>{t.push(e.text.slice(e.start,e.end))}),t.join("")}#h(t){this.#V(this.#t,(e)=>{let n=this.#b(e.piece.source);return t({text:n.text,lineOffsets:n.lineOffsets,lineOffsetStart:e.piece.lineOffsetStart,lineOffsetEnd:e.piece.lineOffsetEnd,start:e.piece.offset,end:e.piece.offset+e.piece.length})})}#b(t){return t===mt.Original?this.#n:this.#s}#y(t,e,n){let i=this.#b(t),s=e+n,o=Gt(i.lineOffsets,e),r=Gt(i.lineOffsets,s),a=i.text.charCodeAt(s-1);return new mt(t,e,n,o,r,a===yt&&i.lineOffsets[r-1]!==s,i.text.charCodeAt(e),a)}#T(t,e,n){if(t===e&&n.length===0)return;let[i,s]=this.#P(this.#t,t),o=this.#A(s,e-t),r;if(n.length>0){let a=this.#y(mt.Added,this.#s.append(n),n.length);r=this.#S(this.#F(i,a),o)}else{let[a,c]=this.#Y(o);r=a===void 0?i:this.#S(this.#F(i,a),c)}if(r!==null)r.parent=null;this.#t=r,this.#e=r?.subtreeLength??0,this.#r=(r?.subtreeLineBreakCount??0)+1}#M(){this.#l=null,this.#c=null,this.#m=null}#v(){return this.#w=Math.imul(this.#w,1664525)+1013904223>>>0,this.#w}#W(t){let e=new wt(t);return e.priority=this.#v(),e}#a(t,e){if(t.left=e,e!==null)e.parent=t}#N(t,e){if(t.right=e,e!==null)e.parent=t}#P(t,e){if(t===null)return[null,null];if(e<=0)return[null,t];if(e>=t.subtreeLength)return[t,null];let n=t.left?.subtreeLength??0;if(e<=n){let[a,c]=this.#P(t.left,e);return this.#a(t,c),t.updateSubtreeLength(),[a,t]}let i=t.piece.length;if(e>=n+i){let[a,c]=this.#P(t.right,e-n-i);return this.#N(t,a),t.updateSubtreeLength(),[t,c]}let s=e-n,o=new wt(this.#y(t.piece.source,t.piece.offset,s)),r=new wt(this.#y(t.piece.source,t.piece.offset+s,i-s));return o.priority=t.priority,r.priority=t.priority,this.#a(o,t.left),this.#N(r,t.right),o.updateSubtreeLength(),r.updateSubtreeLength(),[o,r]}#A(t,e){if(t===null||e>=t.subtreeLength)return null;if(e<=0)return t;let n=t.left?.subtreeLength??0;if(e<=n)return this.#a(t,this.#A(t.left,e)),t.updateSubtreeLength(),t;let i=n+t.piece.length;if(e>=i)return this.#A(t.right,e-i);let s=e-n,o=new wt(this.#y(t.piece.source,t.piece.offset+s,t.piece.length-s));return o.priority=t.priority,this.#N(o,t.right),o.updateSubtreeLength(),o}#S(t,e){if(t===null)return e;if(e===null)return t;if(t.priority>=e.priority)return this.#N(t,this.#S(t.right,e)),t.updateSubtreeLength(),t;return this.#a(e,this.#S(t,e.left)),e.updateSubtreeLength(),e}#F(t,e){if(t===null)return this.#W(e);let n=t;while(n.right!==null)n=n.right;if(gi(n.piece,e)){n.piece=mi(n.piece,e);for(let i=n;i!==null;){if(i.updateSubtreeLength(),i===t)break;i=i.parent}return t}return this.#S(t,this.#W(e))}#Y(t){if(t===null)return[void 0,null];if(t.left===null)return[t.piece,t.right];let[e,n]=this.#Y(t.left);return this.#a(t,n),t.updateSubtreeLength(),[e,t]}#V(t,e){if(t===null)return!0;if(!this.#V(t.left,e))return!1;if(e(t)===!1)return!1;return this.#V(t.right,e)}};function Kt(t){return t===10||t===13}function Y(t,e,n){return Math.min(Math.max(t,e),n)}function Ie(t){let e=Array.from({length:t.length}).fill(0),n=0;for(let i=1;i<t.length;i++){let s=t.charCodeAt(i);while(n>0&&s!==t.charCodeAt(n))n=e[n-1];if(s===t.charCodeAt(n))n++;e[i]=n}return e}function ui(t,e){let n=[];for(let[s,o]of t){let r=Y(s,0,e),a=Y(o,r,e);if(r<a)n.push([r,a])}n.sort((s,o)=>s[0]-o[0]);let i=[];for(let s of n){let o=i[i.length-1];if(o!==void 0&&s[0]<=o[1]){o[1]=Math.max(o[1],s[1]);continue}i.push(s)}return i}function pi(t,e,n){let i=0,s=t.length;while(i<s){let r=i+Math.floor((s-i)/2);if(t[r][1]<=e)i=r+1;else s=r}let o=t[i];return o!==void 0&&o[0]<n}function gi(t,e){return t.source===e.source&&t.offset+t.length===e.offset&&!tt(t.lastCharCode,e.firstCharCode)}function mi(t,e){return new mt(t.source,t.offset,t.length+e.length,t.lineOffsetStart,e.lineOffsetEnd,e.hasVirtualTrailingCRBreak,t.firstCharCode,e.lastCharCode)}function tt(t,e){return t===yt&&e===Xt}function Gt(t,e){let n=0,i=t.length;while(n<i){let s=n+Math.floor((i-n)/2);if(t[s]<=e)n=s+1;else i=s}return n}function vi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _e(t){if(t<=32||t===127)return!0;let e=String.fromCharCode(t);return fi.includes(e)}function Ci(t,e,n){let i=e<=0||_e(t.charCodeAt(e-1)),s=e+n>=t.length||_e(t.charCodeAt(e+n));return i&&s}function De(t,e,n){let i=e?t:vi(t);return new RegExp(i,`g${n?"":"i"}${e?"m":""}`)}function Li(t,e){return t.replace(/\$([$&]|\d+)/g,(n,i)=>{if(i==="$")return"$";if(i==="&")return e[0]??"";return e[Number(i)]??""})}function ze(t,e,n,i,s,o){if(!i.regex)return i.replaceText;let r=t(s),a=n(r.line),c=s-e({line:r.line,character:0}),l;try{l=De(i.text,!0,i.caseSensitive)}catch{return i.replaceText}l.lastIndex=c;let h=l.exec(a);if(h===null||h.index!==c||h[0].length!==o-s)return i.replaceText;return Li(i.replaceText,h)}function Ne(t,e){if(e+1<t.length){let n=t.charCodeAt(e),i=t.charCodeAt(e+1);if(n>=55296&&n<=56319&&i>=56320&&i<=57343)return e+2}return e+1}var He=new WeakMap;function Fe(t){return He.get(t)}function Tt(t,e){He.set(t,e)}var Yt=class t{#n;#s;#t;#e;#r;#l;constructor(e,n,i="text",s=0,o=new bt,r){if(this.#n=new URL(e,"file://").toString(),this.#s=i,this.#t=s,this.#e=new Be(n),this.#r=o,r!=null)this.#l=r;else{let a=this.#e.getLineText(0,!0);if(a.endsWith(`\r
4
+ `)&&a.text.length===0;if(l&&h){if(r.start!==o.end)return!1;if(n??="insert",n!=="insert"||t.coalescingMode!==void 0&&t.coalescingMode!=="insert"||e.coalescingMode!==void 0&&e.coalescingMode!=="insert")return!1;continue}let d=s.text.length===0&&s.end>s.start&&o.text.length>0,f=r.text.length===0&&r.end>r.start&&a.text.length>0;if(d&&f){let g;if(c===s.end)g="delete";else if(c+(r.end-r.start)!==s.start)return!1;else g="backspace";if(n??=g,n!==g||t.coalescingMode!==void 0&&t.coalescingMode!==g||e.coalescingMode!==void 0&&e.coalescingMode!==g)return!1;continue}return!1}return n!==void 0}function Me(t,e){let n=[],i=[],s;for(let o=0;o<t.forwardEdits.length;o++){let r=t.forwardEdits[o],a=t.inverseEdits[o],c=e.forwardEdits[o],l=e.inverseEdits[o],h=Re(c.start,t.forwardEdits);if(r.text.length>0){s??="insert",n.push({start:r.start,end:r.end,text:r.text+c.text}),i.push(a.text);continue}if(h===r.end){s??="delete",n.push({start:r.start,end:h+(c.end-c.start),text:""}),i.push(a.text+l.text);continue}s??="backspace",n.push({start:Math.min(r.start,h),end:r.end,text:""}),i.push(l.text+a.text)}return{forwardEdits:n,inverseEdits:di(n,i),versionBefore:t.versionBefore,versionAfter:e.versionAfter,selectionsBefore:t.selectionsBefore?.slice(),selectionsAfter:e.selectionsAfter?.slice(),lineAnnotationsBefore:t.lineAnnotationsBefore?.slice(),lineAnnotationsAfter:e.lineAnnotationsAfter?.slice(),coalescingMode:s}}function di(t,e){let n=[];for(let i=0,s=0;i<t.length;i++){let o=t[i],r=o.start+s;n.push({start:r,end:r+o.text.length,text:e[i]}),s+=o.text.length-(o.end-o.start)}return n}function Re(t,e){let n=t;for(let i of e){let s=i.end-i.start,o=i.text.length,r=o-s;if(n<i.start)continue;if(n>=i.start+o){n-=r;continue}n=i.start+Math.min(n-i.start,s)}return n}var hi=1e5,Xt=10,yt=13,fi="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",mt=class{source;offset;length;lineOffsetStart;lineOffsetEnd;hasVirtualTrailingCRBreak;firstCharCode;lastCharCode;static Original=0;static Added=1;constructor(t,e,n,i,s,o,r,a){this.source=t,this.offset=e,this.length=n,this.lineOffsetStart=i,this.lineOffsetEnd=s,this.hasVirtualTrailingCRBreak=o,this.firstCharCode=r,this.lastCharCode=a}get lineBreakCount(){return this.lineOffsetEnd-this.lineOffsetStart+(this.hasVirtualTrailingCRBreak?1:0)}},Oe=class{text;lineOffsets;constructor(t){this.text=t,this.lineOffsets=me(t)}append(t){let e=this.text.length;for(let n=0;n<t.length;n++){let i=t.charCodeAt(n);if(i!==Xt&&i!==yt)continue;if(i===yt&&t.charCodeAt(n+1)===Xt)n++;this.lineOffsets.push(e+n+1)}return this.text+=t,e}},wt=class{piece;subtreeLength;subtreeLineBreakCount;subtreeFirstCharCode;subtreeLastCharCode;left=null;right=null;parent=null;priority=0;constructor(t,e=t.length,n=t.lineBreakCount,i=t.firstCharCode,s=t.lastCharCode){this.piece=t,this.subtreeLength=e,this.subtreeLineBreakCount=n,this.subtreeFirstCharCode=i,this.subtreeLastCharCode=s}updateSubtreeLength(){this.subtreeLength=(this.left?.subtreeLength??0)+this.piece.length+(this.right?.subtreeLength??0),this.subtreeLineBreakCount=(this.left?.subtreeLineBreakCount??0)+this.piece.lineBreakCount+(this.right?.subtreeLineBreakCount??0)-(tt(this.left?.subtreeLastCharCode,this.piece.firstCharCode)?1:0)-(tt(this.piece.lastCharCode,this.right?.subtreeFirstCharCode)?1:0),this.subtreeFirstCharCode=this.left?.subtreeFirstCharCode??this.piece.firstCharCode,this.subtreeLastCharCode=this.right?.subtreeLastCharCode??this.piece.lastCharCode}},Be=class{#n;#s=new Oe("");#t=null;#e=0;#r=0;#l=null;#c=null;#m=null;#w=2654435769;constructor(t){this.#n=new Oe(t);let e=this.#y(mt.Original,0,t.length);this.#t=e.length>0?this.#W(e):null,this.#e=this.#t?.subtreeLength??0,this.#r=(this.#t?.subtreeLineBreakCount??0)+1}get lineCount(){return this.#r}getText(t){if(t===void 0)return this.#O();let e=this.offsetAt(t.start),n=this.offsetAt(t.end);return this.getTextSlice(e,n)}getLineText(t,e=!1){if(this.#l!==null&&this.#l[0]===t&&this.#l[1]===e)return this.#l[2];let n=this.#g(t);if(n===void 0)throw Error(`Line index out of range: ${t}`);let i=this.getTextSlice(n[0],n[1],!e);return this.#l=[t,e,i],this.#c=[t,e,i.length],i}getLineLength(t,e=!1){let n=this.#c,i=this.#l;if(n!==null&&n[0]===t&&n[1]===e)return n[2];if(i!==null&&i[0]===t&&i[1]===e){let c=i[2].length;return this.#c=[t,e,c],c}let s=this.#g(t);if(s===void 0)throw Error(`Line index out of range: ${t}`);let[o,r]=s,a=r-o;if(!e)while(a>0&&$t(this.charAt(o+a-1).charCodeAt(0)))a--;return this.#c=[t,e,a],a}getTextSlice(t,e,n=!1){if(t>=e)return"";let i=Y(t,0,this.#e),s=Y(e,i,this.#e);if(i>=s)return"";let o=this.#x(i);if(o===void 0)return"";let r=[],[a,c]=o,l=s-i;while(a!==null&&l>0){let h=Math.min(a.piece.length-c,l),d=this.#b(a.piece.source),f=a.piece.offset+c,g=f+h;if(n)while(g>f&&$t(d.text.charCodeAt(g-1)))g--;r.push(d.text.slice(f,g)),l-=h,c=0,a=this.#C(a)}return r.join("")}charAt(t){let e=this.#x(t);if(e===void 0)return"";let[n,i]=e;return this.#b(n.piece.source).text.charAt(n.piece.offset+i)}includes(t){if(t.length===0)return!0;let e=Ie(t),n=0,i=!1;return this.#h((s)=>{for(let o=s.start;o<s.end;o++){let r=s.text.charCodeAt(o);while(n>0&&r!==t.charCodeAt(n))n=e[n-1];if(r===t.charCodeAt(n))n++;if(n===t.length)return i=!0,!1}return!0}),i}findNextNonOverlappingSubstring(t,e){if(t.length===0||t.length>this.#e)return;let n=ui(e,this.#e),i=n.reduce((l,[,h])=>Math.max(l,h),0),s=Ie(t),o=0,r=0,a,c;return this.#h((l)=>{for(let h=l.start;h<l.end;h++){let d=l.text.charCodeAt(h);while(o>0&&d!==t.charCodeAt(o))o=s[o-1];if(d===t.charCodeAt(o))o++;if(o===t.length){let f=r-t.length+1;if(!pi(n,f,f+t.length)){if(f>=i)return c=f,!1;a??=f}o=s[o-1]}r++}return!0}),c??a}search(t){if(t.text.length===0||this.#e===0)return[];if(t.text.includes(`
5
+ `)||t.text.includes("\r")||t.regex&&(t.text.includes("\\n")||t.text.includes("\\r")))return[];let e;try{e=De(t.text,t.regex,t.caseSensitive)}catch{return[]}return this.#p(e,t.wholeWord,hi)}#p(t,e,n){let i=[],s=this.#O(),o=s.length,r=me(s);for(let a=0;a<r.length;a++){let c=r[a],l=r[a+1]??o;while(l>c&&$t(s.charCodeAt(l-1)))l--;let h=s.slice(c,l);t.lastIndex=0;let d;while((d=t.exec(h))!==null){let f=d.index,g=d[0];if(g.length===0){t.lastIndex=Ne(h,f);continue}let m=c+f;if(!e||Ci(s,m,g.length)){if(i.push([m,m+g.length]),i.length>=n)return i}if(f===t.lastIndex)t.lastIndex=Ne(h,f)}}return i}insert(t,e){if(t.length===0)return;let n=Y(e,0,this.#e);this.#T(n,n,t),this.#M()}delete(t,e){if(e<=0||this.#e===0)return;let n=Y(t,0,this.#e),i=Y(n+e,n,this.#e);if(n===i)return;this.#T(n,i,""),this.#M()}applyEdits(t){if(t.length===0)return;for(let e=t.length-1;e>=0;e--){let n=t[e],i=Y(n.start,0,this.#e),s=Y(n.end,i,this.#e);this.#T(i,s,n.text)}this.#M()}positionAt(t){let e=Y(t,0,this.#e);if(this.#e===0)return{line:0,character:0};let n=this.#L(e),i=e-(n===0?0:this.#R(n-1));return this.#m=[n,i,e],{line:n,character:i}}positionsAt(t){let e=Array.from({length:t.length});if(t.length===0)return e;if(this.#e===0)return e.fill({line:0,character:0});for(let n=0;n<t.length;n++)e[n]=this.positionAt(t[n]);return e}offsetAt(t){if(t.line<0||this.#e===0)return 0;if(t.line>=this.#r)throw Error(`Line index out of range: ${t.line}`);let e=this.#m;if(e!==null&&e[0]===t.line&&e[1]===t.character)return e[2];let n=this.#g(t.line);if(n===void 0)throw Error(`Line index out of range: ${t.line}`);let i=Y(t.character,0,n[1]-n[0]);return n[0]+i}#x(t){if(t<0||t>=this.#e)return;let e=this.#t,n=t;while(e!==null){let i=e.left?.subtreeLength??0;if(n<i){e=e.left;continue}if(n-=i,n<e.piece.length)return[e,n];n-=e.piece.length,e=e.right}}#C(t){if(t.right!==null){let n=t.right;while(n.left!==null)n=n.left;return n}let e=t;while(e.parent!==null&&e===e.parent.right)e=e.parent;return e.parent}#g(t){if(t<0)throw Error(`Line index out of range: ${t}`);if(this.#e===0){if(t===0)return[0,0];throw Error(`Line index out of range: ${t}`)}if(t>=this.#r)throw Error(`Line index out of range: ${t}`);return[t===0?0:this.#R(t-1),t<this.#r-1?this.#R(t):this.#e]}#L(t){let e=this.#t,n=Y(t,0,this.#e),i=0;while(e!==null){let s=e.left?.subtreeLength??0;if(n<s){e=e.left;continue}if(i+=(e.left?.subtreeLineBreakCount??0)-(tt(e.left?.subtreeLastCharCode,e.piece.firstCharCode)?1:0),n-=s,n<=e.piece.length){let o=this.#b(e.piece.source),r=Math.min(Kt(o.lineOffsets,e.piece.offset+n),e.piece.lineOffsetEnd);if(i+=r-e.piece.lineOffsetStart,n===e.piece.length&&e.piece.hasVirtualTrailingCRBreak)i++;if(n===e.piece.length&&tt(e.piece.lastCharCode,this.#C(e)?.piece.firstCharCode))i--;return i}i+=e.piece.lineBreakCount-(tt(e.piece.lastCharCode,e.right?.subtreeFirstCharCode)?1:0),n-=e.piece.length,e=e.right}return this.#r-1}#R(t){let e=this.#t,n=t,i=0,s;while(e!==null){let o=(e.left?.subtreeLineBreakCount??0)-(tt(e.left?.subtreeLastCharCode,e.piece.firstCharCode)?1:0);if(n<o){s=e.piece.firstCharCode,e=e.left;continue}let r=e.left?.subtreeLength??0;i+=r,n-=o;let a=e.right?.subtreeFirstCharCode??s,c=e.piece.lineBreakCount-(tt(e.piece.lastCharCode,a)?1:0);if(n<c)return i+this.#o(e.piece,n);i+=e.piece.length,n-=c,e=e.right}return this.#e}#o(t,e){if(e<t.lineOffsetEnd-t.lineOffsetStart)return this.#b(t.source).lineOffsets[t.lineOffsetStart+e]-t.offset;return t.length}#O(){let t=[];return this.#h((e)=>{t.push(e.text.slice(e.start,e.end))}),t.join("")}#h(t){this.#V(this.#t,(e)=>{let n=this.#b(e.piece.source);return t({text:n.text,lineOffsets:n.lineOffsets,lineOffsetStart:e.piece.lineOffsetStart,lineOffsetEnd:e.piece.lineOffsetEnd,start:e.piece.offset,end:e.piece.offset+e.piece.length})})}#b(t){return t===mt.Original?this.#n:this.#s}#y(t,e,n){let i=this.#b(t),s=e+n,o=Kt(i.lineOffsets,e),r=Kt(i.lineOffsets,s),a=i.text.charCodeAt(s-1);return new mt(t,e,n,o,r,a===yt&&i.lineOffsets[r-1]!==s,i.text.charCodeAt(e),a)}#T(t,e,n){if(t===e&&n.length===0)return;let[i,s]=this.#P(this.#t,t),o=this.#A(s,e-t),r;if(n.length>0){let a=this.#y(mt.Added,this.#s.append(n),n.length);r=this.#S(this.#F(i,a),o)}else{let[a,c]=this.#Y(o);r=a===void 0?i:this.#S(this.#F(i,a),c)}if(r!==null)r.parent=null;this.#t=r,this.#e=r?.subtreeLength??0,this.#r=(r?.subtreeLineBreakCount??0)+1}#M(){this.#l=null,this.#c=null,this.#m=null}#v(){return this.#w=Math.imul(this.#w,1664525)+1013904223>>>0,this.#w}#W(t){let e=new wt(t);return e.priority=this.#v(),e}#a(t,e){if(t.left=e,e!==null)e.parent=t}#N(t,e){if(t.right=e,e!==null)e.parent=t}#P(t,e){if(t===null)return[null,null];if(e<=0)return[null,t];if(e>=t.subtreeLength)return[t,null];let n=t.left?.subtreeLength??0;if(e<=n){let[a,c]=this.#P(t.left,e);return this.#a(t,c),t.updateSubtreeLength(),[a,t]}let i=t.piece.length;if(e>=n+i){let[a,c]=this.#P(t.right,e-n-i);return this.#N(t,a),t.updateSubtreeLength(),[t,c]}let s=e-n,o=new wt(this.#y(t.piece.source,t.piece.offset,s)),r=new wt(this.#y(t.piece.source,t.piece.offset+s,i-s));return o.priority=t.priority,r.priority=t.priority,this.#a(o,t.left),this.#N(r,t.right),o.updateSubtreeLength(),r.updateSubtreeLength(),[o,r]}#A(t,e){if(t===null||e>=t.subtreeLength)return null;if(e<=0)return t;let n=t.left?.subtreeLength??0;if(e<=n)return this.#a(t,this.#A(t.left,e)),t.updateSubtreeLength(),t;let i=n+t.piece.length;if(e>=i)return this.#A(t.right,e-i);let s=e-n,o=new wt(this.#y(t.piece.source,t.piece.offset+s,t.piece.length-s));return o.priority=t.priority,this.#N(o,t.right),o.updateSubtreeLength(),o}#S(t,e){if(t===null)return e;if(e===null)return t;if(t.priority>=e.priority)return this.#N(t,this.#S(t.right,e)),t.updateSubtreeLength(),t;return this.#a(e,this.#S(t,e.left)),e.updateSubtreeLength(),e}#F(t,e){if(t===null)return this.#W(e);let n=t;while(n.right!==null)n=n.right;if(gi(n.piece,e)){n.piece=mi(n.piece,e);for(let i=n;i!==null;){if(i.updateSubtreeLength(),i===t)break;i=i.parent}return t}return this.#S(t,this.#W(e))}#Y(t){if(t===null)return[void 0,null];if(t.left===null)return[t.piece,t.right];let[e,n]=this.#Y(t.left);return this.#a(t,n),t.updateSubtreeLength(),[e,t]}#V(t,e){if(t===null)return!0;if(!this.#V(t.left,e))return!1;if(e(t)===!1)return!1;return this.#V(t.right,e)}};function $t(t){return t===10||t===13}function Y(t,e,n){return Math.min(Math.max(t,e),n)}function Ie(t){let e=Array.from({length:t.length}).fill(0),n=0;for(let i=1;i<t.length;i++){let s=t.charCodeAt(i);while(n>0&&s!==t.charCodeAt(n))n=e[n-1];if(s===t.charCodeAt(n))n++;e[i]=n}return e}function ui(t,e){let n=[];for(let[s,o]of t){let r=Y(s,0,e),a=Y(o,r,e);if(r<a)n.push([r,a])}n.sort((s,o)=>s[0]-o[0]);let i=[];for(let s of n){let o=i[i.length-1];if(o!==void 0&&s[0]<=o[1]){o[1]=Math.max(o[1],s[1]);continue}i.push(s)}return i}function pi(t,e,n){let i=0,s=t.length;while(i<s){let r=i+Math.floor((s-i)/2);if(t[r][1]<=e)i=r+1;else s=r}let o=t[i];return o!==void 0&&o[0]<n}function gi(t,e){return t.source===e.source&&t.offset+t.length===e.offset&&!tt(t.lastCharCode,e.firstCharCode)}function mi(t,e){return new mt(t.source,t.offset,t.length+e.length,t.lineOffsetStart,e.lineOffsetEnd,e.hasVirtualTrailingCRBreak,t.firstCharCode,e.lastCharCode)}function tt(t,e){return t===yt&&e===Xt}function Kt(t,e){let n=0,i=t.length;while(n<i){let s=n+Math.floor((i-n)/2);if(t[s]<=e)n=s+1;else i=s}return n}function vi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _e(t){if(t<=32||t===127)return!0;let e=String.fromCharCode(t);return fi.includes(e)}function Ci(t,e,n){let i=e<=0||_e(t.charCodeAt(e-1)),s=e+n>=t.length||_e(t.charCodeAt(e+n));return i&&s}function De(t,e,n){let i=e?t:vi(t);return new RegExp(i,`g${n?"":"i"}${e?"m":""}`)}function Li(t,e){return t.replace(/\$([$&]|\d+)/g,(n,i)=>{if(i==="$")return"$";if(i==="&")return e[0]??"";return e[Number(i)]??""})}function ze(t,e,n,i,s,o){if(!i.regex)return i.replaceText;let r=t(s),a=n(r.line),c=s-e({line:r.line,character:0}),l;try{l=De(i.text,!0,i.caseSensitive)}catch{return i.replaceText}l.lastIndex=c;let h=l.exec(a);if(h===null||h.index!==c||h[0].length!==o-s)return i.replaceText;return Li(i.replaceText,h)}function Ne(t,e){if(e+1<t.length){let n=t.charCodeAt(e),i=t.charCodeAt(e+1);if(n>=55296&&n<=56319&&i>=56320&&i<=57343)return e+2}return e+1}var He=new WeakMap;function Fe(t){return He.get(t)}function Tt(t,e){He.set(t,e)}var Yt=class t{#n;#s;#t;#e;#r;#l;constructor(e,n,i="text",s=0,o=new bt,r){if(this.#n=new URL(e,"file://").toString(),this.#s=i,this.#t=s,this.#e=new Be(n),this.#r=o,r!=null)this.#l=r;else{let a=this.#e.getLineText(0,!0);if(a.endsWith(`\r
6
6
  `))this.#l=`\r
7
7
  `;else if(a.endsWith("\r"))this.#l="\r";else this.#l=`
8
- `}}get uri(){return this.#n}get languageId(){return this.#s}get version(){return this.#t}get lineCount(){return this.#e.lineCount}get eol(){return this.#l}get history(){return this.#r.getLiveState()}get canUndo(){return this.#r.canUndo}get canRedo(){return this.#r.canRedo}clearHistory(){this.#r.clear()}positionAt(e){return this.normalizePosition(this.#e.positionAt(e))}positionsAt(e){let n=this.#e.positionsAt(e);for(let i=0;i<n.length;i++)n[i]=this.normalizePosition(n[i]);return n}offsetAt(e){return this.#e.offsetAt(this.normalizePosition(e))}getText(e){if(e===void 0)return this.#e.getText();return this.#e.getText({start:this.normalizePosition(e.start),end:this.normalizePosition(e.end)})}getLineText(e,n){return this.#e.getLineText(e,n)}normalizeEol(e){return e.replace(/\r\n|\r|\n/g,this.eol)}getLineLength(e,n){return this.#e.getLineLength(e,n)}charAt(e){if(typeof e==="number")return this.#e.charAt(e);return this.#e.charAt(this.offsetAt(e))}getTextSlice(e,n){return this.#e.getTextSlice(e,n)}findNextNonOverlappingSubstring(e,n){return this.#e.findNextNonOverlappingSubstring(e,n)}search(e){return this.#e.search(e)}applyEdits(e,n=!0,i,s,o=!1){if(e.length===0)return;return this.#c(this.#C(this.resolveEdits(e)),n,i,s,o)}resolveEdits(e){return e.map((n)=>this.#w(n))}applyResolvedEdits(e,n=!0,i,s,o=!1){if(e.length===0)return;return this.#c(this.#C(e.map((r)=>this.#p(r))),n,i,s,o)}#c(e,n,i,s,o){let r=Ae(this,e,this.#t,this.#t+1,n?i:void 0,n?s:void 0);if(n&&o)r.undoBoundary=!0;let a=this.#r.peekUndoForCoalescing(),c=this.#g(e);if(this.#t++,c.lineDelta===0&&ke(a,r))this.#r.replaceLastUndo(Me(a,r));else this.#r.push(r);return Tt(c,{appliedEdits:r.forwardEdits,inverseEdits:r.inverseEdits}),c}setLastUndoSelectionsAfter(e){this.#r.setLastUndoSelectionsAfter(e)}setLastUndoLineAnnotations(e,n){this.#r.setLastUndoLineAnnotations(e,n)}undo(){let e=this.#r.popUndoToRedo();if(e===void 0)return;let n=this.#g(e.inverseEdits);if(n===void 0)return;Tt(n,{appliedEdits:e.inverseEdits,inverseEdits:e.forwardEdits}),this.#t=e.versionBefore;let i=e.selectionsBefore?.slice();return[n,i,e.lineAnnotationsBefore?.slice(),i===void 0?e.inverseEdits.map((s)=>({...s})):void 0]}redo(){let e=this.#r.popRedoToUndo();if(e===void 0)return;let n=this.#g(e.forwardEdits);if(n===void 0)return;Tt(n,{appliedEdits:e.forwardEdits,inverseEdits:e.inverseEdits}),this.#t=e.versionAfter;let i=e.selectionsAfter?.slice();return[n,i,e.lineAnnotationsAfter?.slice(),i===void 0?e.forwardEdits.map((s)=>({...s})):void 0]}normalizePosition(e){let n=t.#m(e.line,this.lineCount-1);return{line:n,character:t.#m(e.character,this.getLineLength(n))}}static#m(e,n){if(Number.isNaN(e))return 0;return Math.max(0,Math.min(Math.floor(e),n))}#w(e){let n=this.offsetAt(e.range.start),i=this.offsetAt(e.range.end);if(n>i){let s=n;n=i,i=s}return this.#p({start:n,end:i,text:e.newText})}#p(e){let{start:n,end:i}=e,s=n===i;if(this.#x(n))n--;if(s)i=n;else if(this.#x(i))i++;return{start:n,end:i,text:e.text}}#x(e){let n=this.#e.charAt(e-1).charCodeAt(0),i=this.#e.charAt(e).charCodeAt(0);return n>=55296&&n<=56319&&i>=56320&&i<=57343}#C(e){let n=[...e].sort((i,s)=>{let o=i.start-s.start;return o===0?i.end-s.end:o});for(let i=0;i<n.length-1;i++)if(n[i].end>n[i+1].start)throw Error("Overlapping text edits are not supported");return n}#g(e){let n=this.#e.lineCount,i=this.positionsAt(e.flatMap((l)=>[l.start,l.end])),s=this.#L(e,i),o=i[0],r=i[i.length-1],a=r.line===n-1&&r.character===this.#e.getLineLength(r.line);this.#e.applyEdits(e);let c=this.#e.lineCount;return{changes:e.map((l,h)=>({...l,range:{start:i[h*2],end:i[h*2+1]}})),startLine:s.startLine,startCharacter:o.character,endCharacter:r.character,endLine:Math.min(s.endLine,Math.max(0,c-1)),endedAtDocumentEnd:a,previousLineCount:n,lineCount:c,lineDelta:c-n,changedLineRanges:s.ranges,changedLineChanges:s.changes}}#L(e,n){let i=1/0,s=0,o=0,r=[],a=[],c=this.#e.lineCount-1,l=this.#e.getLineLength(c);for(let h=0;h<e.length;h++){let d=e[h],f=n[h*2],g=n[h*2+1],m=f.line,C=g.line,v=Mt(d.text),L=m+o,x=L+v,b=v-(C-m);i=Math.min(i,m),s=Math.max(s,x);let E=r[r.length-1];if(E!==void 0&&L<=E[1]+1)r[r.length-1]=[E[0],Math.max(E[1],x)];else r.push([L,x]);a.push([L,x,b,f.character,g.character,C===c&&g.character===l]),o+=b}if(i===1/0)return{startLine:0,endLine:0,ranges:[[0,0]],changes:[[0,0,0,0,0,!1]]};return{startLine:i,endLine:s,ranges:r,changes:a}}};var We=Nt(Ve(),1),xi=100,Ue=class{type;#n=new We.default.LRUMap(xi);#s=new Map;constructor(t){this.type=t}activate(t,e,n){let i=this.#s.get(t);if(i!=null&&i.owner!==e)throw Error(`Editor: editStateKey "${t}" is already attached to another editor`);if(i!=null){if(n!=null)i.session=n;return i.session}let s=this.#n.delete(t),o={type:this.type},r=n??s??o;return this.#s.set(t,{owner:e,session:r}),r}release(t,e,n=!1){let i=this.#s.get(t);if(i?.owner!==e)return;if(this.#s.delete(t),n)return;let s=vt(i.session);if(s!=null)this.#n.set(t,s)}get(t){let e=this.#s.get(t);if(e!=null){let n=vt(e.session);if(n==null)return;return n}return this.#n.find(t)}clear(t,e){if(this.#s.has(t))return!1;let n=this.#n.find(t);if(n==null)return!1;if(e==null||e.document===!0)this.#n.delete(t);else Ei(n,e);return!0}clearAll(){this.#n.clear()}setCapacity(t){if(!Number.isSafeInteger(t)||t<1)throw RangeError("EditStateManager: capacity must be a positive integer");while(this.#n.size>t)this.#n.shift();this.#n.limit=t}},Si=class{#n=new Ue("file");#s=new Ue("file-diff");activate(t,e,n,i){return t==="file"?this.#n.activate(e,n,i):this.#s.activate(e,n,i)}releaseFile(t,e,n=!1){this.#n.release(t,e,n)}releaseFileDiff(t,e,n=!1){this.#s.release(t,e,n)}get(t,e){return t==="file"?this.#n.get(e):this.#s.get(e)}clear(t,e,n){return t==="file"?this.#n.clear(e,n):this.#s.clear(e,n)}clearAll(){this.#n.clearAll(),this.#s.clearAll()}setCapacity(t){this.#n.setCapacity(t),this.#s.setCapacity(t)}};function At(t){return{selections:t.selections?.map((e)=>({...e,start:{...e.start},end:{...e.end}})),view:t.view==null?void 0:{...t.view}}}function vt(t){if(t.document==null||t.fileInfo==null)return;if(t.type==="file")return t.editor??={},t;if(t.diffSession==null)return;return t.editor??={},t}function Ei(t,e){if(t==null)return;if(e.history===!0)t.document?.clearHistory();if(t.editor!=null){if(e.editor===!0||e.selections===!0)t.editor.selections=void 0;if(e.editor===!0||e.view===!0)t.editor.view=void 0}}var ot=new Si;function et({metaKey:t,ctrlKey:e},n=fe()){return n?t&&!e:e&&!t}function $e(t){if(fe()&&t.ctrlKey&&!t.altKey&&!t.metaKey)switch(t.key){case"a":return"start";case"e":return"end";case"p":return"up";case"n":return"down";case"f":return"right";case"b":return"left"}if(!t.altKey&&!t.ctrlKey&&!t.metaKey){if(t.key==="ArrowUp")return"up";else if(t.key==="ArrowDown")return"down";else if(t.key==="ArrowLeft")return"left";else if(t.key==="ArrowRight")return"right";else if(t.key==="Home")return"start";else if(t.key==="End")return"end"}if(et(t)){if(t.key==="ArrowLeft")return"textStart";else if(t.key==="ArrowRight")return"end"}}var Ke=new WeakMap,bi=Ge([{bindings:{Tab:"indent","shift+Tab":"outdent","cmdOrCtrl+[":"indentLess","cmdOrCtrl+]":"indentMore","cmdOrCtrl+z":"undo","cmdOrCtrl+shift+z":"redo","cmdOrCtrl+a":"selectAll","cmdOrCtrl+d":"findNextMatch","cmdOrCtrl+f":"openSearchPanel","cmdOrCtrl+alt+f":"openSearchReplacePanel","alt+ArrowUp":"moveLineUp","alt+ArrowDown":"moveLineDown","shift+alt+ArrowUp":"copyLineUp","shift+alt+ArrowDown":"copyLineDown",Escape:"simplifySelection","cmdOrCtrl+Enter":"insertBlankLine","cmdOrCtrl+/":"toggleComment","shift+alt+a":"toggleBlockComment","cmdOrCtrl+Home":"moveCursorToDocStart","cmdOrCtrl+End":"moveCursorToDocEnd","cmdOrCtrl+shift+Home":"expandSelectionDocStart","cmdOrCtrl+shift+End":"expandSelectionDocEnd"}},{platform:"mac",bindings:{"ctrl+k":"deleteHardLineForward","ctrl+alt+p":"moveLineUp","ctrl+alt+n":"moveLineDown","cmd+ArrowUp":"moveCursorToDocStart","cmd+ArrowDown":"moveCursorToDocEnd","cmd+shift+ArrowUp":"expandSelectionDocStart","cmd+shift+ArrowDown":"expandSelectionDocEnd"}},{platform:"windows",bindings:{"ctrl+y":"redo"}},{platform:"linux",bindings:{"ctrl+y":"redo","ctrl+alt+p":"moveLineUp","ctrl+alt+n":"moveLineDown"}}]),wi={Backquote:"`",Minus:"-",Equal:"=",Comma:",",Period:".",Slash:"/",Semicolon:";",Quote:"'",BracketLeft:"[",BracketRight:"]",Backslash:"\\",Space:"Space"};function Ge(t){let e=Ke.get(t);if(e===void 0){e={mac:new Map,windows:new Map,linux:new Map};for(let n of t)for(let i of Object.keys(n.bindings)){let s=n.bindings[i];if(s===void 0)continue;let o=i.split("+"),r=o.pop();for(let a of["mac","windows","linux"]){if(n.platform!==void 0&&n.platform!==a)continue;let c=0;for(let h of o)if(h==="alt")c|=1;else if(h==="ctrl")c|=2;else if(h==="cmd")c|=4;else if(h==="shift")c|=8;else if(h==="cmdOrCtrl")c|=a==="mac"?4:2;let l=e[a].get(c);if(l===void 0)l=new Map,e[a].set(c,l);l.set(r,s)}}Ke.set(t,e)}return e}function qt(t,e,n=fe()){let i=t.key===" "?"Space":t.key.length===1?t.key.toLowerCase():t.key,s=t.code??"",o=s.startsWith("Key")&&s.length===4?s.slice(3).toLowerCase():s.startsWith("Digit")&&s.length===6?s.slice(5):wi[s],r=n?"mac":globalThis.navigator?.platform.includes("Linux")===!0?"linux":"windows",a=(t.altKey?1:0)|(t.ctrlKey?2:0)|(t.metaKey?4:0)|(t.shiftKey?8:0);if(e!==void 0){let l=Ge(e)[r].get(a),h=l?.get(i)??(o===void 0?void 0:l?.get(o));if(h!==void 0)return h}let c=bi[r].get(a);return c?.get(i)??(o===void 0?void 0:c?.get(o))}function ct(t,e=fe()){if(t.altKey)return;if(!et(t,e))return;if((t.key.length===1?t.key.toLowerCase():t.key)==="g"||t.code==="KeyG")return t.shiftKey?"previous":"next"}function P(t,e,n){let{style:i,dataset:s,children:o,...r}=e??{},a=document.createElement(t);if(Object.assign(a,r),i!==void 0)if(typeof i==="string")a.style.cssText=i;else Object.assign(a.style,i);if(s!==void 0)if(typeof s==="string")a.dataset[s]="";else if(Array.isArray(s))s.forEach((c)=>{a.dataset[c]=""});else Object.assign(a.dataset,s);if(o!==void 0)a.replaceChildren(...o);if(n!==void 0)n.appendChild(a);return a}function N(t,e,n,i){return t.addEventListener(e,n,i),()=>t.removeEventListener(e,n,i)}function X(t,e="line"){let n=t.dataset[e];if(n===void 0)return;let i=parseInt(n,10);if(Number.isNaN(i))return;return i}function kt(t,e){if(t.nodeType===3){let n=t.textContent?.length??0;return Math.max(0,Math.min(e,n))}if(t.nodeType===1)return Math.max(0,Math.min(e,t.childNodes.length));return 0}function qe(t,e){return Object.assign(t,e)}function je(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>t.apply(this,i),e)}}function nt(t,e=1000){return Math.round(t*e)/e}function Ze(t){return t.endsWith(`
9
- `)||t.endsWith("\r")}function jt(t){if(typeof Intl>"u"||typeof Intl.Segmenter!=="function")return;return new Intl.Segmenter(void 0,t)}var Xe,Ye=!1;function it(){if(!Ye)Xe=jt({granularity:"grapheme"}),Ye=!0;return Xe}function Qe(t){let{ownerDocument:e,parentElement:n}=t;while(n!=null&&n!==e.body&&n!==e.documentElement){let i=n.ownerDocument.defaultView?.getComputedStyle(n).overflowY;if(i==="auto"||i==="scroll"||i==="overlay")return n;n=n.parentElement}return e}var Zt=class{#n;#s;#t;#e;#r;#l;#c=0;#m=0;#w=0;#p=!0;#x;#C=new Map;#g;#L;constructor(t){this.#g=t.hasActivePopover,this.#L=t.updateActivePopover}setViewportElements(t,e){let n=this.#n!==t||this.#s!==e;if(this.#n=t,!n)return;this.#s=e,this.#p=!0,this.#x?.forEach((i)=>i()),this.#x=void 0}cleanUp(){this.#s=void 0,this.#n=void 0,this.#t=void 0,this.#e=void 0,this.#r=void 0,this.#l=void 0,this.#c=0,this.#m=0,this.#w=0,this.#p=!0,this.#x?.forEach((t)=>t()),this.#x=void 0,this.#C.clear()}resetPlacement(t="default"){this.#C.delete(t)}setPlacement(t,e="default"){this.#C.set(e,t)}choosePlacement(t){let{preferred:e,fallback:n,viewport:i,popoverHeight:s,atDocumentEdge:o,placementKey:r="default"}=t,a=this.#C.get(r),c;if(i!==void 0&&s>0){let l=(h,d=0)=>h.top>=i.top+d&&h.bottom<=i.bottom-d;if(a==="fallback"&&l(n)&&!l(e,4))c="fallback";else if(!l(e)&&l(n))c="fallback";else c="preferred"}else c=o?"fallback":"preferred";return this.#C.set(r,c),c}getPlacementBounds(){let t=this.#O();if(t===void 0)return;let e=this.#h(),n,i;if(e!==void 0)n=e.top,i=e.bottom;else n=0,i=window.innerHeight;if(n=Math.max(n,t.top),i=Math.min(i,t.bottom),i<=n)return;let s=this.#c,o=this.#m,r=this.#w>0?this.#w:t.width,a=e!==void 0?e.left:0,c=e!==void 0?e.right:window.innerWidth,l=s,h=s+r,d=Math.max(l,a-t.left+s),f=Math.min(h,c-t.left+s);return{top:n-t.top+o,bottom:i-t.top+o,left:d,right:Math.max(d,f)}}#R(){let t=this.#n;if(t===void 0)return;if(this.#e===t){if(this.#t===void 0||this.#t.isConnected)return this.#t}let e=t.parentElement;while(e!==null){let n=getComputedStyle(e).overflowY;if(n==="auto"||n==="scroll"||n==="overlay")return this.#t=e,this.#e=t,e;e=e.parentElement}this.#t=void 0,this.#e=t}#o(){if(!this.#p)return;this.#b();let t=this.#s;this.#r=t?.getBoundingClientRect(),this.#c=t?.scrollLeft??0,this.#m=t?.scrollTop??0,this.#w=t?.clientWidth??0,this.#l=this.#R()?.getBoundingClientRect(),this.#p=!1}#O(){return this.#o(),this.#r}#h(){return this.#o(),this.#l}#b(){if(this.#x!==void 0)return;let t,e=()=>{if(this.#p=!0,!this.#g()||t!==void 0)return;t=requestAnimationFrame(()=>{t=void 0,this.#L()})},n=this.#R(),i=this.#s;this.#x=[n!==void 0?N(n,"scroll",e,{passive:!0}):N(window,"scroll",e,{passive:!0}),...i!==void 0?[N(i,"scroll",e,{passive:!0})]:[],N(window,"resize",e,{passive:!0}),()=>{if(t!==void 0)cancelAnimationFrame(t),t=void 0}]}};function Ct(t,{gutterWidth:e,placeAbove:n,viewport:i,x:s,y:o}){if(t.style.setProperty("--gutter-width",e+"px"),t.style.setProperty("--popover-x",s+"px"),t.style.setProperty("--popover-y",o+"px"),t.style.setProperty("--popover-y-shift",n?"-100%":"0px"),i===void 0){t.style.removeProperty("--popover-viewport-left"),t.style.removeProperty("--popover-viewport-right"),t.style.removeProperty("--popover-viewport-top"),t.style.removeProperty("--popover-viewport-bottom");return}t.style.setProperty("--popover-viewport-left",i.left+"px"),t.style.setProperty("--popover-viewport-right",i.right+"px"),t.style.setProperty("--popover-viewport-top",i.top+"px"),t.style.setProperty("--popover-viewport-bottom",i.bottom+"px")}function yi(t){return S(t)}function at(t,e){let n=Ti(t);if(n.length===0)return;let i=[],s=!1;for(let o of e){if("side"in o&&o.side==="deletions"||o.lineNumber<=0){i.push(o);continue}let r=o.lineNumber-1,a=t.previousLineCount,c=!1;for(let h of n){let d=Math.max(1,a+h.lineDelta),f=Ai(r,h,d);if(f===void 0){c=!0,r=void 0;break}if(f!==r||Mi(r,h))c=!0;r=f,a=d}if(r===void 0){s=!0;continue}let l=r+1;if(c){if(l===o.lineNumber)i.push(o);else{let h={...o,lineNumber:l};Ot(h,ge(o)),i.push(h)}s=!0;continue}i.push(o)}return s?i:void 0}function Ti(t){if(t.changedLineChanges!==void 0)return t.changedLineChanges.flatMap(([i,s,o,r=0,a=0,c=!1])=>{if(o===0)return[];let l=Math.max(0,s-i);return[{startLine:i,startCharacter:r,endLine:i+Math.max(0,l-o),deletesEndLine:o<0&&c,insertedLineBreaks:l,lineDelta:o}]});if(t.lineDelta===0)return t.changedLineRanges.flatMap(([i,s])=>{let o=s-i;if(o<=0)return[];return[{startLine:i,startCharacter:0,endLine:i,deletesEndLine:!1,insertedLineBreaks:o,lineDelta:o}]});let e=Math.max(0,-t.lineDelta),n=t.endedAtDocumentEnd&&t.startLine+e===t.previousLineCount-1;return[{startLine:t.startLine,startCharacter:t.startCharacter,endLine:t.startLine+e,deletesEndLine:n,insertedLineBreaks:Math.max(0,t.lineDelta),lineDelta:t.lineDelta}]}function Ai(t,e,n){if(t<e.startLine)return t;if(t>e.endLine||e.endLine>e.startLine&&t===e.endLine&&!e.deletesEndLine)return t+e.lineDelta;if(e.startLine===e.endLine){if(e.startCharacter===0)return t+e.insertedLineBreaks;return t}if(ki(t,e))return;let i=Math.min(Math.max(0,t-e.startLine),e.insertedLineBreaks);return Ri(e.startLine+i,n)}function ki(t,e){if(e.lineDelta>=0||t<e.startLine||t>e.endLine)return!1;if(t===e.startLine&&e.startCharacter>0)return!1;if(t===e.endLine&&!e.deletesEndLine)return!1;return!0}function Mi(t,e){if(e.lineDelta===0||t<e.startLine||t>e.endLine)return!1;return!(e.endLine>e.startLine&&t===e.endLine&&!e.deletesEndLine)}function Ri(t,e){return Math.max(0,Math.min(t,Math.max(0,e-1)))}function sn(t,e,n,i=yi){let s=new Map,o=new Map;for(let d of t){let f=d.lineNumber;if(!s.has(f))s.set(f,[]);if(!o.has(f))o.set(f,[]);("side"in d&&d.side==="deletions"?o:s).get(f).push(i(d))}let r=e.parentElement?.previousElementSibling,a,c;if(r!=null&&r instanceof HTMLElement&&r.dataset.deletions!==void 0)for(let d of r.children){let f=d,{gutter:g,content:m}=f.dataset;if(g!==void 0)a=f;else if(m!==void 0)c=f}if(Je(e,n),c!==void 0)Je(c,a);let l=tn(s,e,n);if(c===void 0)return;let h=tn(o,c,a);requestAnimationFrame(()=>{Oi(s,o,l,h)})}function Je(t,e){let n=[];for(let i=1;i<t.childElementCount;i++){let s=t.children[i];if(s.dataset.lineAnnotation!==void 0){if(n.push(s),e!==void 0)n.push(e.children[i])}}for(let i of n)i.remove()}function tn(t,e,n){let i=new Map;for(let s of e.children){let o=X(s);if(o!==void 0){let r=t.get(o);if(r!==void 0){let a=o-1,c=P("div",{dataset:{lineAnnotation:"0,"+a},children:[P("div",{dataset:"annotationContent",children:r.map((l)=>P("slot",{name:l}))})]});s.after(c),i.set(o,c)}}}if(n!==void 0)for(let s of n.children){let o=X(s,"columnNumber");if(o!==void 0&&t.has(o)){let r=P("div",{dataset:{gutterBuffer:"annotation",bufferSize:"1"},style:{gridRow:"span 1"}});s.after(r)}}return i}function Oi(t,e,n,i){let s=new Map;for(let[o,r]of t.entries()){let a=i.get(o);if(r.length===0&&a!==void 0){let c=en(a);if(c>0)s.set(o,c)}}for(let[o,r]of e.entries()){let a=n.get(o);if(r.length===0&&a!==void 0){let c=en(a);if(c>0)s.set(o,c)}}nn(t,n,s),nn(e,i,s)}function en(t){let e=t.firstElementChild;if(!(e instanceof HTMLElement))return 0;return e.getBoundingClientRect().height}function nn(t,e,n){for(let[i,s]of e.entries()){let o=t.get(i),r=n.get(i);if(o?.length===0&&r!==void 0)s.style.setProperty("--diffs-annotation-min-height",`${r}px`)}}var cn=new Map([["'","'"],['"','"'],["`","`"],["{","}"],["[","]"],["<",">"],["(",")"]]),Pi=new Set(["'",'"',"`"]),Ii=new Set(["{","[","(","<"]);function ln(t,e=0){let n=on(t.startContainer,t.startOffset),i=on(t.endContainer,t.endOffset);if(n===null||i===null)return;return{start:n,end:i,direction:e}}function dn(t,e,n,i){if(t===void 0)return[[],e];let{start:s,end:o}=e,r=[],a={...e},c=s.line!==o.line,l=o.line;if(s.line<o.line&&o.character===0)l--;for(let h=s.line;h<=l;h++){let d=t.getLineText(h);if(d===void 0)continue;if(c&&d.trim().length===0)continue;let f=d.startsWith("\t")?"\t":" ".repeat(n),g=0,m=f;if(i){if(d.startsWith("\t"))g=1;else if(d.startsWith(" ")){let v=d.length-d.trimStart().length;g=Math.min(f.length,v)}if(g===0)continue;m=""}r.push({range:{start:{line:h,character:0},end:{line:h,character:g}},newText:m});let C=m.length-g;if(h===s.line)a={...a,start:{...s,character:Math.max(0,s.character+C)}};if(h===o.line)a={...a,end:{...o,character:Math.max(0,o.character+C)}}}return[r,a]}function ne(t,e,n,i={}){let s=t.lineCount;return e.map((o)=>{let{line:r,character:a}=n==="up"||n==="left"?o.start:o.end;if(n==="textStart"||n==="start"||n==="end"){let l=W(o);r=l.line,a=l.character;let h=hn(t,r,a,i);if(n==="textStart"){let d=t.getLineText(r).slice(h.start,h.end),f=h.start+kn(d);a=a===f?h.start:f}else a=n==="start"?h.start:h.end}else if(n==="up"){let l=rn(t,r,a,-1,i);if(l!==void 0)r=l.line,a=l.character;else if(r>0)r=i.resolveRenderableLine==null?r-1:i.resolveRenderableLine(r-1,"up")??r}else if(n==="down"){let l=rn(t,r,a,1,i);if(l!==void 0)r=l.line,a=l.character;else{let h=Math.max(s-1,0);if(r<h)r=i.resolveRenderableLine==null?r+1:Math.min(i.resolveRenderableLine(r+1,"down")??r,h)}}else if(F(o)){let l=t.getLineLength(r);if(a=Math.min(a,l),n==="left"){if(a>0)a=It(t,r,a,!1);else if(r>0){let h=i.resolveRenderableLine==null?r-1:i.resolveRenderableLine(r-1,"up");if(h!==void 0)r=h,a=t.getLineLength(r)}}else if(a<l)a=It(t,r,a,!0);else if(r<s-1){let h=i.resolveRenderableLine==null?r+1:i.resolveRenderableLine(r+1,"down");if(h!==void 0)r=Math.min(h,s-1),a=0}}let c={line:r,character:a};return{start:c,end:c,direction:0}})}function rn(t,e,n,i,s){if(s.getSoftLineOffsets===void 0)return;let o=hn(t,e,n,s),r=o.index+i,a=e,c;if(r>=0&&r<o.count)c=Rt(t,a,r,s);else{let g=e+i;if(g<0||g>=t.lineCount)return{line:e,character:n};let m=s.resolveRenderableLine==null?g:s.resolveRenderableLine(g,i<0?"up":"down");if(m===void 0)return{line:e,character:n};a=Math.min(m,t.lineCount-1);let C=_i(a,s);c=Rt(t,a,i<0?C-1:0,s)}let l=Math.max(0,n-o.start),h=c.start+l,d=c.index===c.count-1?h:Math.min(h,c.end),f=t.getLineText(a);return{line:a,character:d>f.length?d:Bt(f,d)}}function Bt(t,e){if(e<=0||e>=t.length)return e;let n=it();if(n!==void 0){for(let s of n.segment(t)){if(e<=s.index)return e;let o=s.index+s.segment.length;if(e<o)return o}return e}let i=0;for(let s of t){if(e<=i)return e;let o=i+s.length;if(e<o)return o;i=o}return e}function hn(t,e,n,i){let s=t.getLineLength(e),o=i.getSoftLineOffsets?.(e);if(o===void 0||o.length<2)return{start:0,end:s,index:0,count:1};for(let r=0;r+1<o.length;r++){let a=Rt(t,e,r,i);if(n>=a.start&&n<=a.end)return a}return Rt(t,e,n<(o[0]??0)?0:o.length-2,i)}function _i(t,e){let n=e.getSoftLineOffsets?.(t);return n===void 0||n.length<2?1:n.length-1}function Rt(t,e,n,i){let s=t.getLineLength(e),o=i.getSoftLineOffsets?.(e);if(o===void 0||o.length<2)return{start:0,end:s,index:0,count:1};let r=o.length-1,a=Math.max(0,Math.min(n,r-1)),c=Math.max(0,Math.min(s,o[a]??0));return{start:c,end:Math.max(c,Math.min(s,o[a+1]??s)),index:a,count:r}}function fn(t,e,n,i={}){return e.map((s)=>{let o=s.direction===-1?s.start:s.end,[r]=ne(t,[{start:o,end:o,direction:0}],n,i);return se(s,r)})}function un(t,e,n,i,s=2,o=!1){if(e[e.length-1]===void 0)return{nextSelections:[]};let r=[];for(let E of e)r.push(E.start,E.end);let a=r.map((E)=>t.offsetAt(E)),c=a[(e.length-1)*2],l=a[(e.length-1)*2+1],h=[],d=!0;for(let E=0;E<e.length;E++){let T={index:E,start:a[E*2],end:a[E*2+1]},k=h[h.length-1];if(k!==void 0&&(T.start<k.start||T.start===k.start&&T.end<k.end))d=!1;h.push(T)}if(!d)h.sort((E,T)=>{let k=E.start-T.start;if(k!==0)return k;let I=E.end-T.end;if(I!==0)return I;return E.index-T.index});let f=te(t,n,s),g=[],m=Array.from({length:e.length}),C=0,v,L=()=>{if(v===void 0)return;let E=te(t,{start:v.start,end:v.end,text:f.text},s),T=An(t,E.text,E.start);g.push({start:E.start,end:E.end,text:T});let k=[v.start+C+T.length,v.start+C+T.length];for(let I of v.indices)m[I]=k;C+=T.length-(E.end-E.start),v=void 0};for(let E of h){let T=Math.max(0,E.start+(f.start-c)),k=Math.max(T,E.end+(f.end-l));if(v!==void 0&&T<v.end){v.end=Math.max(v.end,k),v.indices.push(E.index);continue}L(),v={start:T,end:k,indices:[E.index]}}L();let x=t.applyResolvedEdits(g,!0,e,void 0,o),b=de(t,m.map((E)=>{if(E===void 0)throw Error("Missing next selection offsets");return E}));if(t.setLastUndoSelectionsAfter(b),x!==void 0&&i!==void 0){let E=at(x,i);if(E!==void 0)t.setLastUndoLineAnnotations(i,E)}return{nextSelections:b,change:x}}function Ni(t,e){if(e.length!==t.length+2)return;let n=cn.get(e[0]);if(n===void 0||e[e.length-1]!==n||e.slice(1,-1)!==t)return;return 1}function Bi(t,e,n,i){let s=e.start+n,o=s+i.length;if(e.end-e.start>0){let r=t.getTextSlice(e.start,e.end),a=Ni(r,i)??i.indexOf(r);if(a!==-1&&a+r.length<=i.length){let c=s+a;return[c,c+r.length]}}return[o,o]}function dt(t,e,n,i,s=!1,o="selection"){if(e.length!==n.length)throw Error("Selection text replacements must match the selection count");let r=[];for(let C of e)r.push(C.start,C.end);let a=r.map((C)=>t.offsetAt(C)),c=[],l=!0;for(let C=0;C<e.length;C++){let v={index:C,start:a[C*2],end:a[C*2+1]},L=c[c.length-1];if(L!==void 0&&(v.start<L.start||v.start===L.start&&v.end<L.end))l=!1;c.push(v)}if(!l)c.sort((C,v)=>{let L=C.start-v.start;if(L!==0)return L;let x=C.end-v.end;if(x!==0)return x;return C.index-v.index});let h=n.every((C)=>C===""),d,f=Array.from({length:e.length});if(h){d=[];let C=!1;for(let v of c){if(f[v.index]=[v.end,v.end],v.start>=v.end)continue;C=!0;let L=d[d.length-1];if(L!==void 0&&v.start<L.end)d[d.length-1]={start:L.start,end:Math.max(L.end,v.end),text:""};else d.push({start:v.start,end:v.end,text:""})}if(!C)return{nextSelections:e};for(let v of c){let L=v.end,x=0,b=L;for(let E of d){if(L<=E.start)break;if(L>=E.end){x-=E.end-E.start;continue}b=E.start+x;break}if(b===L)b+=x;f[v.index]=[b,b]}}else{d=[];let C=0,v=-1;for(let L=0;L<c.length;L++){let x=c[L];if(x.start<v)throw Error("Overlapping multi-selection edits are not supported");v=x.end;let b=An(t,n[o==="document"?L:x.index],x.start);d.push({start:x.start,end:x.end,text:b}),f[x.index]=Bi(t,x,C,b),C+=b.length-(x.end-x.start)}}let g=t.applyResolvedEdits(d,!0,e,void 0,s),m=de(t,f.map((C)=>{if(C===void 0)throw Error("Missing next selection offsets");return C}));if(t.setLastUndoSelectionsAfter(m),g!==void 0&&i!==void 0){let C=at(g,i);if(C!==void 0)t.setLastUndoLineAnnotations(i,C)}return{nextSelections:m,change:g}}function Di(t,e){if(t==="never")return!1;if(t==="brackets")return Ii.has(e);if(t==="quotes")return Pi.has(e);return!0}function pn(t,e,n,i){if(n.length!==1||e.length===0)return;let s=cn.get(n);if(s===void 0||!Di(i,n))return;let o=[];for(let r of e){if(F(r))return;o.push(n+t.getText(r)+s)}return o}function gn(t,e,n){let i=[],s=[];for(let a of e){let[c,l]=Gi(t,a);if(!F(a)){s.push([c,l]);continue}let{line:h,character:d}=a.start,f=c,g=t.getLineText(h),m=g.length,C=f-d,v=Jt(g),L;if(d>0&&d<m){let x=Lt(g,d,!1,v),b=Lt(g,d,!0,v);L={start:C+x,end:C+b,text:g.slice(d,b)+g.slice(x,d)},s.push([C+b,C+b])}else if(d===m&&v.length>=2){let x=v[v.length-1],b=v[v.length-2];L={start:C+b,end:f,text:g.slice(x,m)+g.slice(b,x)},s.push([f,f])}else if(d===0&&h>0&&m>0){let x=h-1,b=t.getLineText(x),E=b.length,T=t.offsetAt({line:x,character:E}),k=E>0?Lt(b,E,!1,Jt(b)):E,I=Lt(g,0,!0,v),B=T-(E-k),M=g.slice(0,I)+t.getTextSlice(T,f)+b.slice(k,E);L={start:B,end:f+I,text:M};let w=B+M.length;s.push([w,w])}else{s.push([c,l]);continue}i.push(L)}if(i.length===0)return{nextSelections:e};i.sort((a,c)=>a.start-c.start);for(let a=1;a<i.length;a++)if(i[a].start<i[a-1].end)throw Error("Overlapping multi-selection edits are not supported");let o=t.applyResolvedEdits(i,!0,e),r=de(t,s);if(t.setLastUndoSelectionsAfter(r),o!==void 0&&n!==void 0){let a=at(o,n);if(a!==void 0)t.setLastUndoLineAnnotations(n,a)}return{nextSelections:r,change:o}}function mn(t,e,n){let i=e.map((s)=>{let o=Xi(t,s);return{start:o.start,end:o.end,direction:0}});return dt(t,i,i.map(()=>""),n)}function vn(t,e,n,i){let s=e.map((o)=>{if(!F(o))return{start:o.start,end:o.end,direction:0};let r=W(o),{line:a,character:c}=r,l=n?.(a,c)??0;if(c>l)return{start:{line:a,character:l},end:{line:a,character:c},direction:0};if(a===0)return{start:r,end:r,direction:0};let h=t.getLineLength(a-1);return{start:{line:a-1,character:h},end:{line:a,character:0},direction:0}});return dt(t,s,s.map(()=>""),i)}function Cn(t,e,n){let i=e.map((s)=>{let[o,r]=Ki(t,s);return{start:o,end:r,direction:0}});return dt(t,i,i.map(()=>""),n)}function zi(t,e,n){if(!F(e))return[e.start,e.end];let i=W(e),{line:s,character:o}=i,r=t.getLineLength(s),a=t.lineCount;if(o=Math.min(o,r),n){if(o<r)return[{line:s,character:o},{line:s,character:It(t,s,o,!0)}];if(s<a-1)return[{line:s,character:r},{line:s+1,character:0}];return[i,i]}if(o>0)return[{line:s,character:It(t,s,o,!1)},{line:s,character:o}];if(s>0){let c=t.getLineLength(s-1);return[{line:s-1,character:c},{line:s,character:0}]}return[i,i]}function Ln(t,e,n,i,s=2){let o=e.map((r)=>{let[a,c]=zi(t,r,n);if(!n&&F(r)){let l=te(t,{start:t.offsetAt(a),end:t.offsetAt(c),text:""},s);a=t.positionAt(l.start),c=t.positionAt(l.end)}return{start:a,end:c,direction:0}});return dt(t,o,o.map(()=>""),i)}function F(t){return t.start.line===t.end.line&&t.start.character===t.end.character}function W(t){let{start:e,end:n,direction:i}=t;return i===-1?e:n}function ht(t){return t==="context"||t==="context-expanded"||t==="change-addition"}function St(t,e){let n=F(t),i=F(e);if(n&&i)return z(t.start,e.start)===0;if(n)return z(e.start,t.start)<=0&&z(t.start,e.end)<=0;if(i)return z(t.start,e.start)<=0&&z(e.start,t.end)<=0;return z(t.start,e.end)<0&&z(e.start,t.end)<0}function z(t,e){if(t.line!==e.line)return t.line-e.line;return t.character-e.character}function Dt(t,e,n){let i=e===n?0:e<n?1:-1,s=Math.min(e,n),o=Math.max(e,n);return{start:t.positionAt(s),end:t.positionAt(o),direction:i}}function xt(t,e){let n=0;for(let i of e){if(t<i.start)break;if(t>=i.end)n+=i.text.length-(i.end-i.start);else return i.start+n+i.text.length}return t+n}function Et(t,e,n,i){return e.map((s,o)=>{let[r,a]=n[o],c=xt(r,i),l=xt(a,i);return Dt(t,s.direction===-1?l:c,s.direction===-1?c:l)})}function se(t,e){let n=t.direction===-1?t.end:t.start,i=z(n,e.start),s=z(n,e.end),o=e.end;if(i<=0)o=e.end;else if(s>=0)o=e.start;else o=i===0?e.end:e.start;let r=z(n,o);return{start:r<=0?n:o,end:r<=0?o:n,direction:r===0?0:r<0?1:-1}}function oe(t,e){let n=z(e.start,t.start)<0,i=z(e.end,t.end)>0;if(n&&!i)return{start:e.start,end:t.end,direction:-1};if(i&&!n)return{start:t.start,end:e.end,direction:1};if(t.direction===-1)return{start:e.start,end:t.end,direction:z(e.start,t.end)===0?0:-1};return{start:t.start,end:e.end,direction:z(t.start,e.end)===0?0:1}}function xn(t,e){return ae(t.map((n)=>oe(n,e)))}function ae(t){if(t.length<=1)return t;let e=t.map((s,o)=>({index:o,selection:s})).sort((s,o)=>{let r=z(s.selection.start,o.selection.start);if(r!==0)return r;let a=z(s.selection.end,o.selection.end);return a!==0?a:s.index-o.index}),n=[],i=e[0];for(let s of e.slice(1)){if(St(i.selection,s.selection)){let o=s.index>i.index?s:i,r=z(s.selection.start,i.selection.start)<0?s.selection.start:i.selection.start,a=z(s.selection.end,i.selection.end)>0?s.selection.end:i.selection.end,c=o.selection.direction;if(c===0&&z(r,a)!==0)c=z(o.selection.start,r)===0?-1:1;i={index:o.index,selection:{direction:c,end:a,start:r}};continue}n.push(i),i=s}return n.push(i),n.sort((s,o)=>s.index-o.index).map(({selection:s})=>s)}function ce(t){let e=t.map((i)=>{let s=i.end.line;if(i.end.character===0&&z(i.start,i.end)!==0)s--;return{startLine:i.start.line,endLine:Math.max(i.start.line,s)}}).sort((i,s)=>{let o=i.startLine-s.startLine;return o!==0?o:i.endLine-s.endLine}),n=[];for(let i of e){let s=n.at(-1);if(s!==void 0&&i.startLine<=s.endLine+1)s.endLine=Math.max(s.endLine,i.endLine);else n.push({...i})}return n}function Sn(t,e,n,i){let s=(o)=>{let r=o.line+e;if(r>=n){let a=Math.max(0,n-1);return{line:a,character:i(a)}}if(r<0)return{line:0,character:0};return{line:r,character:o.character}};return{start:s(t.start),end:s(t.end),direction:t.direction}}function En(t,e){if(e.length===0)return;let n=e.map((c)=>F(c)?Ft(t,c):c),i=n.map((c)=>t.getText(c)),s=i[0];if(s.length===0||i.some((c)=>c!==s))return;let o=n.map((c)=>[t.offsetAt(c.start),t.offsetAt(c.end)]),r=t.findNextNonOverlappingSubstring(s,o);if(r===void 0)return n.some((c,l)=>{let h=e[l];return z(c.start,h.start)!==0||z(c.end,h.end)!==0||c.direction!==h.direction})?n:void 0;let a=Dt(t,r,r+s.length);return[...n,a]}function bn(t){let e=t.lineCount-1;return{start:{line:0,character:0},end:{line:e,character:t.getLineLength(e)},direction:1}}function le(t,e,n){let i=0;if(e){let r=t.lineCount-1;i=n===!0&&r>0&&t.getLineLength(r)===0?r-1:r}let s=e?t.getLineLength(i):0,o={line:i,character:s};return{start:o,end:o,direction:1}}function Hi(t,e){if(F(e)){let s=e.start.line;return{start:t.offsetAt({line:s,character:0}),end:s<t.lineCount-1?t.offsetAt({line:s+1,character:0}):t.offsetAt({line:s,character:t.getLineLength(s)})}}let n=t.offsetAt(e.start),i=t.offsetAt(e.end);return n<=i?{start:n,end:i}:{start:i,end:n}}function wn(t,e){return e.map((n)=>Hi(t,n)).sort((n,i)=>{let s=n.start-i.start;return s!==0?s:n.end-i.end})}function yn(t,e){return wn(t,e).map(({start:n,end:i})=>t.getTextSlice(n,i))}function zt(t,e){let n=wn(t,e),i=t.eol,s="",o=-1;for(let r of n){if(r.end<=r.start)continue;if(r.start<=o){if(r.end>o)s+=t.getTextSlice(o,r.end),o=r.end;continue}if(s.length>0&&!Ze(s))s+=i;s+=t.getTextSlice(r.start,r.end),o=r.end}return s}function Fi(t,e){if(F(e))return Ui(t,e);let[n,i]=z(e.start,e.end)<=0?[e.start,e.end]:[e.end,e.start];return{start:t.offsetAt(n),end:t.offsetAt(i),text:""}}function Ui(t,e){let n=e.start.line,i=t.offsetAt({line:n,character:0}),s=t.offsetAt({line:n,character:t.getLineLength(n)});if(n<t.lineCount-1)return{start:i,end:t.offsetAt({line:n+1,character:0}),text:""};if(n>0)return{start:t.offsetAt({line:n-1,character:t.getLineLength(n-1)}),end:s,text:""};return{start:i,end:s,text:""}}function Wi(t){let e=[];for(let{edit:n}of t){if(n.start>=n.end)continue;let i=e.at(-1);if(i!==void 0&&n.start<=i.end)e[e.length-1]={start:i.start,end:Math.max(i.end,n.end),text:""};else e.push(n)}return e}function Vi(t,e){let n=Array.from({length:t.length}),i=0,s=0;for(let o of t){while(i<e.length&&o.edit.start>e[i].end){let a=e[i];s-=a.end-a.start,i++}let r=e[i];if(r!==void 0&&o.edit.start>=r.start&&o.edit.start<=r.end)n[o.index]=r.start+s;else n[o.index]=o.edit.start+s}return n}function Tn(t,e){let n=[...e.map((s,o)=>({index:o,edit:Fi(t,s)}))].sort((s,o)=>{let r=s.edit.start-o.edit.start;if(r!==0)return r;let a=s.edit.end-o.edit.end;if(a!==0)return a;return s.index-o.index}),i=Wi(n);return{text:zt(t,e),edits:i,nextSelectionOffsets:Vi(n,i)}}function Ht(t,e){let n=Math.max(0,e),i=Mn(t),s=null;for(let a of i){s=a;let c=Z(a);if(n<=c+(a.textContent?.length??0)){let l=an(a,n<c?0:n-c);if(l!==null)return l}}if(s!==null){let a=an(s,s.textContent?.length??0);if(a!==null)return a;return[s,0]}let o=0,r=null;for(let a of t.childNodes){if(a.nodeType===1&&a.tagName==="BR")return[a,0];if(a.nodeType!==3)continue;r=a;let c=st(r.textContent,r.textContent?.length??0);if(n<=o+c)return[r,st(r.textContent,n-o)];o+=c}if(r!==null)return[r,st(r.textContent,r.textContent?.length??0)];return[t,0]}function Ft(t,e){let{line:n,character:i}=e.start,s=t.getLineText(n),o=$i(s,Math.max(0,Math.min(i,s.length)));if(o===void 0)return e;return{start:{line:n,character:o.start},end:{line:n,character:o.end},direction:1}}function $i(t,e){let n=jt({granularity:"word"});if(n!==void 0){for(let o of n.segment(t)){if(o.isWordLike!==!0)continue;let r=o.index,a=r+o.segment.length;if(e>=r&&e<=a)return{start:r,end:a}}return}let i=/[\p{Alphabetic}\p{Number}_]+/gu,s;while((s=i.exec(t))!==null){let o=s.index,r=o+s[0].length;if(e>=o&&e<=r)return{start:o,end:r}}}function Ki(t,e){if(!F(e))return[e.start,e.end];let n=W(e),{line:i,character:s}=n;if(s===0){if(i===0)return[n,n];let l=t.getLineLength(i-1);return[{line:i-1,character:l},{line:i,character:0}]}let o=t.getLineText(i),r=Jt(o),a=s,c;while(a>0){let l=Lt(o,a,!1,r),h=o.slice(l,a),d=!/\S/.test(h)?0:/\p{Alphabetic}|\p{Number}|_/u.test(h)?1:2;if(c!==void 0&&d!==c)break;if(d!==0||a!==s)c=d;a=l}return[{line:i,character:a},{line:i,character:s}]}function Lt(t,e,n,i){if(n){for(let s of i)if(s>e)return s;return t.length}for(let s=i.length-1;s>=0;s--){let o=i[s];if(o<e)return o}return 0}function Jt(t){let e=[0],n=it();if(n!==void 0){for(let s of n.segment(t))if(s.index>0)e.push(s.index);return e}let i=0;for(let s of t){if(i>0)e.push(i);i+=s.length}return e}function It(t,e,n,i){let s=t.getLineLength(e);if(i){if(n>=s)return s;let h=t.offsetAt({line:e,character:0}),d=t.getTextSlice(h+n,h+s),f=it();if(f!==void 0){for(let g of f.segment(d))return n+g.segment.length;return s}for(let g of d)return n+g.length;return s}if(n<=0)return 0;let o=t.offsetAt({line:e,character:0}),r=t.getTextSlice(o,o+n),a=0,c=it();if(c!==void 0){for(let h of c.segment(r))a=h.index;return a}let l=0;for(let h of r)a=l,l+=h.length;return a}function Gi(t,e){let n=e.direction===-1;return[t.offsetAt(n?e.end:e.start),t.offsetAt(W(e))]}function Xi(t,e){if(!F(e))return{start:e.start,end:e.end};let{line:n,character:i}=e.start,s=t.getLineText(n).length;if(i<s)return{start:{line:n,character:i},end:{line:n,character:s}};if(n<t.lineCount-1)return{start:{line:n,character:i},end:{line:n+1,character:0}};return{start:{line:n,character:i},end:{line:n,character:i}}}function An(t,e,n){if(e!==`
8
+ `}}get uri(){return this.#n}get languageId(){return this.#s}get version(){return this.#t}get lineCount(){return this.#e.lineCount}get eol(){return this.#l}get history(){return this.#r.getLiveState()}get canUndo(){return this.#r.canUndo}get canRedo(){return this.#r.canRedo}clearHistory(){this.#r.clear()}positionAt(e){return this.normalizePosition(this.#e.positionAt(e))}positionsAt(e){let n=this.#e.positionsAt(e);for(let i=0;i<n.length;i++)n[i]=this.normalizePosition(n[i]);return n}offsetAt(e){return this.#e.offsetAt(this.normalizePosition(e))}getText(e){if(e===void 0)return this.#e.getText();return this.#e.getText({start:this.normalizePosition(e.start),end:this.normalizePosition(e.end)})}getLineText(e,n){return this.#e.getLineText(e,n)}normalizeEol(e){return e.replace(/\r\n|\r|\n/g,this.eol)}getLineLength(e,n){return this.#e.getLineLength(e,n)}charAt(e){if(typeof e==="number")return this.#e.charAt(e);return this.#e.charAt(this.offsetAt(e))}getTextSlice(e,n){return this.#e.getTextSlice(e,n)}findNextNonOverlappingSubstring(e,n){return this.#e.findNextNonOverlappingSubstring(e,n)}search(e){return this.#e.search(e)}applyEdits(e,n=!0,i,s,o=!1){if(e.length===0)return;return this.#c(this.#C(this.resolveEdits(e)),n,i,s,o)}resolveEdits(e){return e.map((n)=>this.#w(n))}applyResolvedEdits(e,n=!0,i,s,o=!1){if(e.length===0)return;return this.#c(this.#C(e.map((r)=>this.#p(r))),n,i,s,o)}#c(e,n,i,s,o){let r=Ae(this,e,this.#t,this.#t+1,n?i:void 0,n?s:void 0);if(n&&o)r.undoBoundary=!0;let a=this.#r.peekUndoForCoalescing(),c=this.#g(e);if(this.#t++,c.lineDelta===0&&ke(a,r))this.#r.replaceLastUndo(Me(a,r));else this.#r.push(r);return Tt(c,{appliedEdits:r.forwardEdits,inverseEdits:r.inverseEdits}),c}setLastUndoSelectionsAfter(e){this.#r.setLastUndoSelectionsAfter(e)}setLastUndoLineAnnotations(e,n){this.#r.setLastUndoLineAnnotations(e,n)}undo(){let e=this.#r.popUndoToRedo();if(e===void 0)return;let n=this.#g(e.inverseEdits);if(n===void 0)return;Tt(n,{appliedEdits:e.inverseEdits,inverseEdits:e.forwardEdits}),this.#t=e.versionBefore;let i=e.selectionsBefore?.slice();return[n,i,e.lineAnnotationsBefore?.slice(),i===void 0?e.inverseEdits.map((s)=>({...s})):void 0]}redo(){let e=this.#r.popRedoToUndo();if(e===void 0)return;let n=this.#g(e.forwardEdits);if(n===void 0)return;Tt(n,{appliedEdits:e.forwardEdits,inverseEdits:e.inverseEdits}),this.#t=e.versionAfter;let i=e.selectionsAfter?.slice();return[n,i,e.lineAnnotationsAfter?.slice(),i===void 0?e.forwardEdits.map((s)=>({...s})):void 0]}normalizePosition(e){let n=t.#m(e.line,this.lineCount-1);return{line:n,character:t.#m(e.character,this.getLineLength(n))}}static#m(e,n){if(Number.isNaN(e))return 0;return Math.max(0,Math.min(Math.floor(e),n))}#w(e){let n=this.offsetAt(e.range.start),i=this.offsetAt(e.range.end);if(n>i){let s=n;n=i,i=s}return this.#p({start:n,end:i,text:e.newText})}#p(e){let{start:n,end:i}=e,s=n===i;if(this.#x(n))n--;if(s)i=n;else if(this.#x(i))i++;return{start:n,end:i,text:e.text}}#x(e){let n=this.#e.charAt(e-1).charCodeAt(0),i=this.#e.charAt(e).charCodeAt(0);return n>=55296&&n<=56319&&i>=56320&&i<=57343}#C(e){let n=[...e].sort((i,s)=>{let o=i.start-s.start;return o===0?i.end-s.end:o});for(let i=0;i<n.length-1;i++)if(n[i].end>n[i+1].start)throw Error("Overlapping text edits are not supported");return n}#g(e){let n=this.#e.lineCount,i=this.positionsAt(e.flatMap((l)=>[l.start,l.end])),s=this.#L(e,i),o=i[0],r=i[i.length-1],a=r.line===n-1&&r.character===this.#e.getLineLength(r.line);this.#e.applyEdits(e);let c=this.#e.lineCount;return{changes:e.map((l,h)=>({...l,range:{start:i[h*2],end:i[h*2+1]}})),startLine:s.startLine,startCharacter:o.character,endCharacter:r.character,endLine:Math.min(s.endLine,Math.max(0,c-1)),endedAtDocumentEnd:a,previousLineCount:n,lineCount:c,lineDelta:c-n,changedLineRanges:s.ranges,changedLineChanges:s.changes}}#L(e,n){let i=1/0,s=0,o=0,r=[],a=[],c=this.#e.lineCount-1,l=this.#e.getLineLength(c);for(let h=0;h<e.length;h++){let d=e[h],f=n[h*2],g=n[h*2+1],m=f.line,C=g.line,v=Ot(d.text),L=m+o,x=L+v,b=v-(C-m);i=Math.min(i,m),s=Math.max(s,x);let E=r[r.length-1];if(E!==void 0&&L<=E[1]+1)r[r.length-1]=[E[0],Math.max(E[1],x)];else r.push([L,x]);a.push([L,x,b,f.character,g.character,C===c&&g.character===l]),o+=b}if(i===1/0)return{startLine:0,endLine:0,ranges:[[0,0]],changes:[[0,0,0,0,0,!1]]};return{startLine:i,endLine:s,ranges:r,changes:a}}};var We=zt(Ve(),1),xi=100,Ue=class{type;#n=new We.default.LRUMap(xi);#s=new Map;constructor(t){this.type=t}activate(t,e,n){let i=this.#s.get(t);if(i!=null&&i.owner!==e)throw Error(`Editor: editStateKey "${t}" is already attached to another editor`);if(i!=null){if(n!=null)i.session=n;return i.session}let s=this.#n.delete(t),o={type:this.type},r=n??s??o;return this.#s.set(t,{owner:e,session:r}),r}release(t,e,n=!1){let i=this.#s.get(t);if(i?.owner!==e)return;if(this.#s.delete(t),n)return;let s=vt(i.session);if(s!=null)this.#n.set(t,s)}get(t){let e=this.#s.get(t);if(e!=null){let n=vt(e.session);if(n==null)return;return n}return this.#n.find(t)}clear(t,e){if(this.#s.has(t))return!1;let n=this.#n.find(t);if(n==null)return!1;if(e==null||e.document===!0)this.#n.delete(t);else Ei(n,e);return!0}clearAll(){this.#n.clear()}setCapacity(t){if(!Number.isSafeInteger(t)||t<1)throw RangeError("EditStateManager: capacity must be a positive integer");while(this.#n.size>t)this.#n.shift();this.#n.limit=t}},Si=class{#n=new Ue("file");#s=new Ue("file-diff");activate(t,e,n,i){return t==="file"?this.#n.activate(e,n,i):this.#s.activate(e,n,i)}releaseFile(t,e,n=!1){this.#n.release(t,e,n)}releaseFileDiff(t,e,n=!1){this.#s.release(t,e,n)}get(t,e){return t==="file"?this.#n.get(e):this.#s.get(e)}clear(t,e,n){return t==="file"?this.#n.clear(e,n):this.#s.clear(e,n)}clearAll(){this.#n.clearAll(),this.#s.clearAll()}setCapacity(t){this.#n.setCapacity(t),this.#s.setCapacity(t)}};function At(t){return{selections:t.selections?.map((e)=>({...e,start:{...e.start},end:{...e.end}})),view:t.view==null?void 0:{...t.view}}}function vt(t){if(t.document==null||t.fileInfo==null)return;if(t.type==="file")return t.editor??={},t;if(t.diffSession==null)return;return t.editor??={},t}function Ei(t,e){if(t==null)return;if(e.history===!0)t.document?.clearHistory();if(t.editor!=null){if(e.editor===!0||e.selections===!0)t.editor.selections=void 0;if(e.editor===!0||e.view===!0)t.editor.view=void 0}}var ot=new Si;function et({metaKey:t,ctrlKey:e},n=fe()){return n?t&&!e:e&&!t}function $e(t){if(fe()&&t.ctrlKey&&!t.altKey&&!t.metaKey)switch(t.key){case"a":return"start";case"e":return"end";case"p":return"up";case"n":return"down";case"f":return"right";case"b":return"left"}if(!t.altKey&&!t.ctrlKey&&!t.metaKey){if(t.key==="ArrowUp")return"up";else if(t.key==="ArrowDown")return"down";else if(t.key==="ArrowLeft")return"left";else if(t.key==="ArrowRight")return"right";else if(t.key==="Home")return"start";else if(t.key==="End")return"end"}if(et(t)){if(t.key==="ArrowLeft")return"textStart";else if(t.key==="ArrowRight")return"end"}}var Ke=new WeakMap,bi=Ge([{bindings:{Tab:"indent","shift+Tab":"outdent","cmdOrCtrl+[":"indentLess","cmdOrCtrl+]":"indentMore","cmdOrCtrl+z":"undo","cmdOrCtrl+shift+z":"redo","cmdOrCtrl+a":"selectAll","cmdOrCtrl+d":"findNextMatch","cmdOrCtrl+f":"openSearchPanel","cmdOrCtrl+alt+f":"openSearchReplacePanel","alt+ArrowUp":"moveLineUp","alt+ArrowDown":"moveLineDown","shift+alt+ArrowUp":"copyLineUp","shift+alt+ArrowDown":"copyLineDown",Escape:"simplifySelection","cmdOrCtrl+Enter":"insertBlankLine","cmdOrCtrl+/":"toggleComment","shift+alt+a":"toggleBlockComment","cmdOrCtrl+Home":"moveCursorToDocStart","cmdOrCtrl+End":"moveCursorToDocEnd","cmdOrCtrl+shift+Home":"expandSelectionDocStart","cmdOrCtrl+shift+End":"expandSelectionDocEnd"}},{platform:"mac",bindings:{"ctrl+k":"deleteHardLineForward","ctrl+alt+p":"moveLineUp","ctrl+alt+n":"moveLineDown","cmd+ArrowUp":"moveCursorToDocStart","cmd+ArrowDown":"moveCursorToDocEnd","cmd+shift+ArrowUp":"expandSelectionDocStart","cmd+shift+ArrowDown":"expandSelectionDocEnd"}},{platform:"windows",bindings:{"ctrl+y":"redo"}},{platform:"linux",bindings:{"ctrl+y":"redo","ctrl+alt+p":"moveLineUp","ctrl+alt+n":"moveLineDown"}}]),wi={Backquote:"`",Minus:"-",Equal:"=",Comma:",",Period:".",Slash:"/",Semicolon:";",Quote:"'",BracketLeft:"[",BracketRight:"]",Backslash:"\\",Space:"Space"};function Ge(t){let e=Ke.get(t);if(e===void 0){e={mac:new Map,windows:new Map,linux:new Map};for(let n of t)for(let i of Object.keys(n.bindings)){let s=n.bindings[i];if(s===void 0)continue;let o=i.split("+"),r=o.pop();for(let a of["mac","windows","linux"]){if(n.platform!==void 0&&n.platform!==a)continue;let c=0;for(let h of o)if(h==="alt")c|=1;else if(h==="ctrl")c|=2;else if(h==="cmd")c|=4;else if(h==="shift")c|=8;else if(h==="cmdOrCtrl")c|=a==="mac"?4:2;let l=e[a].get(c);if(l===void 0)l=new Map,e[a].set(c,l);l.set(r,s)}}Ke.set(t,e)}return e}function qt(t,e,n=fe()){let i=t.key===" "?"Space":t.key.length===1?t.key.toLowerCase():t.key,s=t.code??"",o=s.startsWith("Key")&&s.length===4?s.slice(3).toLowerCase():s.startsWith("Digit")&&s.length===6?s.slice(5):wi[s],r=n?"mac":globalThis.navigator?.platform.includes("Linux")===!0?"linux":"windows",a=(t.altKey?1:0)|(t.ctrlKey?2:0)|(t.metaKey?4:0)|(t.shiftKey?8:0);if(e!==void 0){let l=Ge(e)[r].get(a),h=l?.get(i)??(o===void 0?void 0:l?.get(o));if(h!==void 0)return h}let c=bi[r].get(a);return c?.get(i)??(o===void 0?void 0:c?.get(o))}function ct(t,e=fe()){if(t.altKey)return;if(!et(t,e))return;if((t.key.length===1?t.key.toLowerCase():t.key)==="g"||t.code==="KeyG")return t.shiftKey?"previous":"next"}function P(t,e,n){let{style:i,dataset:s,children:o,...r}=e??{},a=document.createElement(t);if(Object.assign(a,r),i!==void 0)if(typeof i==="string")a.style.cssText=i;else Object.assign(a.style,i);if(s!==void 0)if(typeof s==="string")a.dataset[s]="";else if(Array.isArray(s))s.forEach((c)=>{a.dataset[c]=""});else Object.assign(a.dataset,s);if(o!==void 0)a.replaceChildren(...o);if(n!==void 0)n.appendChild(a);return a}function N(t,e,n,i){return t.addEventListener(e,n,i),()=>t.removeEventListener(e,n,i)}function X(t,e="line"){let n=t.dataset[e];if(n===void 0)return;let i=parseInt(n,10);if(Number.isNaN(i))return;return i}function kt(t,e){if(t.nodeType===3){let n=t.textContent?.length??0;return Math.max(0,Math.min(e,n))}if(t.nodeType===1)return Math.max(0,Math.min(e,t.childNodes.length));return 0}function qe(t,e){return Object.assign(t,e)}function je(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>t.apply(this,i),e)}}function nt(t,e=1000){return Math.round(t*e)/e}function Ze(t){return t.endsWith(`
9
+ `)||t.endsWith("\r")}function jt(t){if(typeof Intl>"u"||typeof Intl.Segmenter!=="function")return;return new Intl.Segmenter(void 0,t)}var Xe,Ye=!1;function it(){if(!Ye)Xe=jt({granularity:"grapheme"}),Ye=!0;return Xe}function Qe(t){let{ownerDocument:e,parentElement:n}=t;while(n!=null&&n!==e.body&&n!==e.documentElement){let i=n.ownerDocument.defaultView?.getComputedStyle(n).overflowY;if(i==="auto"||i==="scroll"||i==="overlay")return n;n=n.parentElement}return e}var Zt=class{#n;#s;#t;#e;#r;#l;#c=0;#m=0;#w=0;#p=!0;#x;#C=new Map;#g;#L;constructor(t){this.#g=t.hasActivePopover,this.#L=t.updateActivePopover}setViewportElements(t,e){let n=this.#n!==t||this.#s!==e;if(this.#n=t,!n)return;this.#s=e,this.#p=!0,this.#x?.forEach((i)=>i()),this.#x=void 0}cleanUp(){this.#s=void 0,this.#n=void 0,this.#t=void 0,this.#e=void 0,this.#r=void 0,this.#l=void 0,this.#c=0,this.#m=0,this.#w=0,this.#p=!0,this.#x?.forEach((t)=>t()),this.#x=void 0,this.#C.clear()}resetPlacement(t="default"){this.#C.delete(t)}setPlacement(t,e="default"){this.#C.set(e,t)}choosePlacement(t){let{preferred:e,fallback:n,viewport:i,popoverHeight:s,atDocumentEdge:o,placementKey:r="default"}=t,a=this.#C.get(r),c;if(i!==void 0&&s>0){let l=(h,d=0)=>h.top>=i.top+d&&h.bottom<=i.bottom-d;if(a==="fallback"&&l(n)&&!l(e,4))c="fallback";else if(!l(e)&&l(n))c="fallback";else c="preferred"}else c=o?"fallback":"preferred";return this.#C.set(r,c),c}getPlacementBounds(){let t=this.#O();if(t===void 0)return;let e=this.#h(),n,i;if(e!==void 0)n=e.top,i=e.bottom;else n=0,i=window.innerHeight;if(n=Math.max(n,t.top),i=Math.min(i,t.bottom),i<=n)return;let s=this.#c,o=this.#m,r=this.#w>0?this.#w:t.width,a=e!==void 0?e.left:0,c=e!==void 0?e.right:window.innerWidth,l=s,h=s+r,d=Math.max(l,a-t.left+s),f=Math.min(h,c-t.left+s);return{top:n-t.top+o,bottom:i-t.top+o,left:d,right:Math.max(d,f)}}#R(){let t=this.#n;if(t===void 0)return;if(this.#e===t){if(this.#t===void 0||this.#t.isConnected)return this.#t}let e=t.parentElement;while(e!==null){let n=getComputedStyle(e).overflowY;if(n==="auto"||n==="scroll"||n==="overlay")return this.#t=e,this.#e=t,e;e=e.parentElement}this.#t=void 0,this.#e=t}#o(){if(!this.#p)return;this.#b();let t=this.#s;this.#r=t?.getBoundingClientRect(),this.#c=t?.scrollLeft??0,this.#m=t?.scrollTop??0,this.#w=t?.clientWidth??0,this.#l=this.#R()?.getBoundingClientRect(),this.#p=!1}#O(){return this.#o(),this.#r}#h(){return this.#o(),this.#l}#b(){if(this.#x!==void 0)return;let t,e=()=>{if(this.#p=!0,!this.#g()||t!==void 0)return;t=requestAnimationFrame(()=>{t=void 0,this.#L()})},n=this.#R(),i=this.#s;this.#x=[n!==void 0?N(n,"scroll",e,{passive:!0}):N(window,"scroll",e,{passive:!0}),...i!==void 0?[N(i,"scroll",e,{passive:!0})]:[],N(window,"resize",e,{passive:!0}),()=>{if(t!==void 0)cancelAnimationFrame(t),t=void 0}]}};function Ct(t,{gutterWidth:e,placeAbove:n,viewport:i,x:s,y:o}){if(t.style.setProperty("--gutter-width",e+"px"),t.style.setProperty("--popover-x",s+"px"),t.style.setProperty("--popover-y",o+"px"),t.style.setProperty("--popover-y-shift",n?"-100%":"0px"),i===void 0){t.style.removeProperty("--popover-viewport-left"),t.style.removeProperty("--popover-viewport-right"),t.style.removeProperty("--popover-viewport-top"),t.style.removeProperty("--popover-viewport-bottom");return}t.style.setProperty("--popover-viewport-left",i.left+"px"),t.style.setProperty("--popover-viewport-right",i.right+"px"),t.style.setProperty("--popover-viewport-top",i.top+"px"),t.style.setProperty("--popover-viewport-bottom",i.bottom+"px")}function yi(t){return S(t)}function at(t,e){let n=Ti(t);if(n.length===0)return;let i=[],s=!1;for(let o of e){if("side"in o&&o.side==="deletions"||o.lineNumber<=0){i.push(o);continue}let r=o.lineNumber-1,a=t.previousLineCount,c=!1;for(let h of n){let d=Math.max(1,a+h.lineDelta),f=Ai(r,h,d);if(f===void 0){c=!0,r=void 0;break}if(f!==r||Mi(r,h))c=!0;r=f,a=d}if(r===void 0){s=!0;continue}let l=r+1;if(c){if(l===o.lineNumber)i.push(o);else{let h={...o,lineNumber:l};Gt(h,ge(o)),i.push(h)}s=!0;continue}i.push(o)}return s?i:void 0}function Ti(t){if(t.changedLineChanges!==void 0)return t.changedLineChanges.flatMap(([i,s,o,r=0,a=0,c=!1])=>{if(o===0)return[];let l=Math.max(0,s-i);return[{startLine:i,startCharacter:r,endLine:i+Math.max(0,l-o),deletesEndLine:o<0&&c,insertedLineBreaks:l,lineDelta:o}]});if(t.lineDelta===0)return t.changedLineRanges.flatMap(([i,s])=>{let o=s-i;if(o<=0)return[];return[{startLine:i,startCharacter:0,endLine:i,deletesEndLine:!1,insertedLineBreaks:o,lineDelta:o}]});let e=Math.max(0,-t.lineDelta),n=t.endedAtDocumentEnd&&t.startLine+e===t.previousLineCount-1;return[{startLine:t.startLine,startCharacter:t.startCharacter,endLine:t.startLine+e,deletesEndLine:n,insertedLineBreaks:Math.max(0,t.lineDelta),lineDelta:t.lineDelta}]}function Ai(t,e,n){if(t<e.startLine)return t;if(t>e.endLine||e.endLine>e.startLine&&t===e.endLine&&!e.deletesEndLine)return t+e.lineDelta;if(e.startLine===e.endLine){if(e.startCharacter===0)return t+e.insertedLineBreaks;return t}if(ki(t,e))return;let i=Math.min(Math.max(0,t-e.startLine),e.insertedLineBreaks);return Ri(e.startLine+i,n)}function ki(t,e){if(e.lineDelta>=0||t<e.startLine||t>e.endLine)return!1;if(t===e.startLine&&e.startCharacter>0)return!1;if(t===e.endLine&&!e.deletesEndLine)return!1;return!0}function Mi(t,e){if(e.lineDelta===0||t<e.startLine||t>e.endLine)return!1;return!(e.endLine>e.startLine&&t===e.endLine&&!e.deletesEndLine)}function Ri(t,e){return Math.max(0,Math.min(t,Math.max(0,e-1)))}function sn(t,e,n,i=yi){let s=new Map,o=new Map;for(let d of t){let f=d.lineNumber;if(!s.has(f))s.set(f,[]);if(!o.has(f))o.set(f,[]);("side"in d&&d.side==="deletions"?o:s).get(f).push(i(d))}let r=e.parentElement?.previousElementSibling,a,c;if(r!=null&&r instanceof HTMLElement&&r.dataset.deletions!==void 0)for(let d of r.children){let f=d,{gutter:g,content:m}=f.dataset;if(g!==void 0)a=f;else if(m!==void 0)c=f}if(Je(e,n),c!==void 0)Je(c,a);let l=tn(s,e,n);if(c===void 0)return;let h=tn(o,c,a);requestAnimationFrame(()=>{Oi(s,o,l,h)})}function Je(t,e){let n=[];for(let i=1;i<t.childElementCount;i++){let s=t.children[i];if(s.dataset.lineAnnotation!==void 0){if(n.push(s),e!==void 0)n.push(e.children[i])}}for(let i of n)i.remove()}function tn(t,e,n){let i=new Map;for(let s of e.children){let o=X(s);if(o!==void 0){let r=t.get(o);if(r!==void 0){let a=o-1,c=P("div",{dataset:{lineAnnotation:"0,"+a},children:[P("div",{dataset:"annotationContent",children:r.map((l)=>P("slot",{name:l}))})]});s.after(c),i.set(o,c)}}}if(n!==void 0)for(let s of n.children){let o=X(s,"columnNumber");if(o!==void 0&&t.has(o)){let r=P("div",{dataset:{gutterBuffer:"annotation",bufferSize:"1"},style:{gridRow:"span 1"}});s.after(r)}}return i}function Oi(t,e,n,i){let s=new Map;for(let[o,r]of t.entries()){let a=i.get(o);if(r.length===0&&a!==void 0){let c=en(a);if(c>0)s.set(o,c)}}for(let[o,r]of e.entries()){let a=n.get(o);if(r.length===0&&a!==void 0){let c=en(a);if(c>0)s.set(o,c)}}nn(t,n,s),nn(e,i,s)}function en(t){let e=t.firstElementChild;if(!(e instanceof HTMLElement))return 0;return e.getBoundingClientRect().height}function nn(t,e,n){for(let[i,s]of e.entries()){let o=t.get(i),r=n.get(i);if(o?.length===0&&r!==void 0)s.style.setProperty("--diffs-annotation-min-height",`${r}px`)}}var cn=new Map([["'","'"],['"','"'],["`","`"],["{","}"],["[","]"],["<",">"],["(",")"]]),Pi=new Set(["'",'"',"`"]),Ii=new Set(["{","[","(","<"]);function ln(t,e=0){let n=on(t.startContainer,t.startOffset),i=on(t.endContainer,t.endOffset);if(n===null||i===null)return;return{start:n,end:i,direction:e}}function dn(t,e,n,i){if(t===void 0)return[[],e];let{start:s,end:o}=e,r=[],a={...e},c=s.line!==o.line,l=o.line;if(s.line<o.line&&o.character===0)l--;for(let h=s.line;h<=l;h++){let d=t.getLineText(h);if(d===void 0)continue;if(c&&d.trim().length===0)continue;let f=d.startsWith("\t")?"\t":" ".repeat(n),g=0,m=f;if(i){if(d.startsWith("\t"))g=1;else if(d.startsWith(" ")){let v=d.length-d.trimStart().length;g=Math.min(f.length,v)}if(g===0)continue;m=""}r.push({range:{start:{line:h,character:0},end:{line:h,character:g}},newText:m});let C=m.length-g;if(h===s.line)a={...a,start:{...s,character:Math.max(0,s.character+C)}};if(h===o.line)a={...a,end:{...o,character:Math.max(0,o.character+C)}}}return[r,a]}function ne(t,e,n,i={}){let s=t.lineCount;return e.map((o)=>{let{line:r,character:a}=n==="up"||n==="left"?o.start:o.end;if(n==="textStart"||n==="start"||n==="end"){let l=W(o);r=l.line,a=l.character;let h=hn(t,r,a,i);if(n==="textStart"){let d=t.getLineText(r).slice(h.start,h.end),f=h.start+kn(d);a=a===f?h.start:f}else a=n==="start"?h.start:h.end}else if(n==="up"){let l=rn(t,r,a,-1,i);if(l!==void 0)r=l.line,a=l.character;else if(r>0)r=i.resolveRenderableLine==null?r-1:i.resolveRenderableLine(r-1,"up")??r}else if(n==="down"){let l=rn(t,r,a,1,i);if(l!==void 0)r=l.line,a=l.character;else{let h=Math.max(s-1,0);if(r<h)r=i.resolveRenderableLine==null?r+1:Math.min(i.resolveRenderableLine(r+1,"down")??r,h)}}else if(F(o)){let l=t.getLineLength(r);if(a=Math.min(a,l),n==="left"){if(a>0)a=Pt(t,r,a,!1);else if(r>0){let h=i.resolveRenderableLine==null?r-1:i.resolveRenderableLine(r-1,"up");if(h!==void 0)r=h,a=t.getLineLength(r)}}else if(a<l)a=Pt(t,r,a,!0);else if(r<s-1){let h=i.resolveRenderableLine==null?r+1:i.resolveRenderableLine(r+1,"down");if(h!==void 0)r=Math.min(h,s-1),a=0}}let c={line:r,character:a};return{start:c,end:c,direction:0}})}function rn(t,e,n,i,s){if(s.getSoftLineOffsets===void 0)return;let o=hn(t,e,n,s),r=o.index+i,a=e,c;if(r>=0&&r<o.count)c=Rt(t,a,r,s);else{let g=e+i;if(g<0||g>=t.lineCount)return{line:e,character:n};let m=s.resolveRenderableLine==null?g:s.resolveRenderableLine(g,i<0?"up":"down");if(m===void 0)return{line:e,character:n};a=Math.min(m,t.lineCount-1);let C=_i(a,s);c=Rt(t,a,i<0?C-1:0,s)}let l=Math.max(0,n-o.start),h=c.start+l,d=c.index===c.count-1?h:Math.min(h,c.end),f=t.getLineText(a);return{line:a,character:d>f.length?d:_t(f,d)}}function _t(t,e){if(e<=0||e>=t.length)return e;let n=it();if(n!==void 0){for(let s of n.segment(t)){if(e<=s.index)return e;let o=s.index+s.segment.length;if(e<o)return o}return e}let i=0;for(let s of t){if(e<=i)return e;let o=i+s.length;if(e<o)return o;i=o}return e}function hn(t,e,n,i){let s=t.getLineLength(e),o=i.getSoftLineOffsets?.(e);if(o===void 0||o.length<2)return{start:0,end:s,index:0,count:1};for(let r=0;r+1<o.length;r++){let a=Rt(t,e,r,i);if(n>=a.start&&n<=a.end)return a}return Rt(t,e,n<(o[0]??0)?0:o.length-2,i)}function _i(t,e){let n=e.getSoftLineOffsets?.(t);return n===void 0||n.length<2?1:n.length-1}function Rt(t,e,n,i){let s=t.getLineLength(e),o=i.getSoftLineOffsets?.(e);if(o===void 0||o.length<2)return{start:0,end:s,index:0,count:1};let r=o.length-1,a=Math.max(0,Math.min(n,r-1)),c=Math.max(0,Math.min(s,o[a]??0));return{start:c,end:Math.max(c,Math.min(s,o[a+1]??s)),index:a,count:r}}function fn(t,e,n,i={}){return e.map((s)=>{let o=s.direction===-1?s.start:s.end,[r]=ne(t,[{start:o,end:o,direction:0}],n,i);return se(s,r)})}function un(t,e,n,i,s=2,o=!1){if(e[e.length-1]===void 0)return{nextSelections:[]};let r=[];for(let E of e)r.push(E.start,E.end);let a=r.map((E)=>t.offsetAt(E)),c=a[(e.length-1)*2],l=a[(e.length-1)*2+1],h=[],d=!0;for(let E=0;E<e.length;E++){let T={index:E,start:a[E*2],end:a[E*2+1]},k=h[h.length-1];if(k!==void 0&&(T.start<k.start||T.start===k.start&&T.end<k.end))d=!1;h.push(T)}if(!d)h.sort((E,T)=>{let k=E.start-T.start;if(k!==0)return k;let I=E.end-T.end;if(I!==0)return I;return E.index-T.index});let f=te(t,n,s),g=[],m=Array.from({length:e.length}),C=0,v,L=()=>{if(v===void 0)return;let E=te(t,{start:v.start,end:v.end,text:f.text},s),T=An(t,E.text,E.start);g.push({start:E.start,end:E.end,text:T});let k=[v.start+C+T.length,v.start+C+T.length];for(let I of v.indices)m[I]=k;C+=T.length-(E.end-E.start),v=void 0};for(let E of h){let T=Math.max(0,E.start+(f.start-c)),k=Math.max(T,E.end+(f.end-l));if(v!==void 0&&T<v.end){v.end=Math.max(v.end,k),v.indices.push(E.index);continue}L(),v={start:T,end:k,indices:[E.index]}}L();let x=t.applyResolvedEdits(g,!0,e,void 0,o),b=de(t,m.map((E)=>{if(E===void 0)throw Error("Missing next selection offsets");return E}));if(t.setLastUndoSelectionsAfter(b),x!==void 0&&i!==void 0){let E=at(x,i);if(E!==void 0)t.setLastUndoLineAnnotations(i,E)}return{nextSelections:b,change:x}}function Ni(t,e){if(e.length!==t.length+2)return;let n=cn.get(e[0]);if(n===void 0||e[e.length-1]!==n||e.slice(1,-1)!==t)return;return 1}function Bi(t,e,n,i){let s=e.start+n,o=s+i.length;if(e.end-e.start>0){let r=t.getTextSlice(e.start,e.end),a=Ni(r,i)??i.indexOf(r);if(a!==-1&&a+r.length<=i.length){let c=s+a;return[c,c+r.length]}}return[o,o]}function dt(t,e,n,i,s=!1,o="selection"){if(e.length!==n.length)throw Error("Selection text replacements must match the selection count");let r=[];for(let C of e)r.push(C.start,C.end);let a=r.map((C)=>t.offsetAt(C)),c=[],l=!0;for(let C=0;C<e.length;C++){let v={index:C,start:a[C*2],end:a[C*2+1]},L=c[c.length-1];if(L!==void 0&&(v.start<L.start||v.start===L.start&&v.end<L.end))l=!1;c.push(v)}if(!l)c.sort((C,v)=>{let L=C.start-v.start;if(L!==0)return L;let x=C.end-v.end;if(x!==0)return x;return C.index-v.index});let h=n.every((C)=>C===""),d,f=Array.from({length:e.length});if(h){d=[];let C=!1;for(let v of c){if(f[v.index]=[v.end,v.end],v.start>=v.end)continue;C=!0;let L=d[d.length-1];if(L!==void 0&&v.start<L.end)d[d.length-1]={start:L.start,end:Math.max(L.end,v.end),text:""};else d.push({start:v.start,end:v.end,text:""})}if(!C)return{nextSelections:e};for(let v of c){let L=v.end,x=0,b=L;for(let E of d){if(L<=E.start)break;if(L>=E.end){x-=E.end-E.start;continue}b=E.start+x;break}if(b===L)b+=x;f[v.index]=[b,b]}}else{d=[];let C=0,v=-1;for(let L=0;L<c.length;L++){let x=c[L];if(x.start<v)throw Error("Overlapping multi-selection edits are not supported");v=x.end;let b=An(t,n[o==="document"?L:x.index],x.start);d.push({start:x.start,end:x.end,text:b}),f[x.index]=Bi(t,x,C,b),C+=b.length-(x.end-x.start)}}let g=t.applyResolvedEdits(d,!0,e,void 0,s),m=de(t,f.map((C)=>{if(C===void 0)throw Error("Missing next selection offsets");return C}));if(t.setLastUndoSelectionsAfter(m),g!==void 0&&i!==void 0){let C=at(g,i);if(C!==void 0)t.setLastUndoLineAnnotations(i,C)}return{nextSelections:m,change:g}}function Di(t,e){if(t==="never")return!1;if(t==="brackets")return Ii.has(e);if(t==="quotes")return Pi.has(e);return!0}function pn(t,e,n,i){if(n.length!==1||e.length===0)return;let s=cn.get(n);if(s===void 0||!Di(i,n))return;let o=[];for(let r of e){if(F(r))return;o.push(n+t.getText(r)+s)}return o}function gn(t,e,n){let i=[],s=[];for(let a of e){let[c,l]=Gi(t,a);if(!F(a)){s.push([c,l]);continue}let{line:h,character:d}=a.start,f=c,g=t.getLineText(h),m=g.length,C=f-d,v=Jt(g),L;if(d>0&&d<m){let x=Lt(g,d,!1,v),b=Lt(g,d,!0,v);L={start:C+x,end:C+b,text:g.slice(d,b)+g.slice(x,d)},s.push([C+b,C+b])}else if(d===m&&v.length>=2){let x=v[v.length-1],b=v[v.length-2];L={start:C+b,end:f,text:g.slice(x,m)+g.slice(b,x)},s.push([f,f])}else if(d===0&&h>0&&m>0){let x=h-1,b=t.getLineText(x),E=b.length,T=t.offsetAt({line:x,character:E}),k=E>0?Lt(b,E,!1,Jt(b)):E,I=Lt(g,0,!0,v),B=T-(E-k),M=g.slice(0,I)+t.getTextSlice(T,f)+b.slice(k,E);L={start:B,end:f+I,text:M};let w=B+M.length;s.push([w,w])}else{s.push([c,l]);continue}i.push(L)}if(i.length===0)return{nextSelections:e};i.sort((a,c)=>a.start-c.start);for(let a=1;a<i.length;a++)if(i[a].start<i[a-1].end)throw Error("Overlapping multi-selection edits are not supported");let o=t.applyResolvedEdits(i,!0,e),r=de(t,s);if(t.setLastUndoSelectionsAfter(r),o!==void 0&&n!==void 0){let a=at(o,n);if(a!==void 0)t.setLastUndoLineAnnotations(n,a)}return{nextSelections:r,change:o}}function mn(t,e,n){let i=e.map((s)=>{let o=Xi(t,s);return{start:o.start,end:o.end,direction:0}});return dt(t,i,i.map(()=>""),n)}function vn(t,e,n,i){let s=e.map((o)=>{if(!F(o))return{start:o.start,end:o.end,direction:0};let r=W(o),{line:a,character:c}=r,l=n?.(a,c)??0;if(c>l)return{start:{line:a,character:l},end:{line:a,character:c},direction:0};if(a===0)return{start:r,end:r,direction:0};let h=t.getLineLength(a-1);return{start:{line:a-1,character:h},end:{line:a,character:0},direction:0}});return dt(t,s,s.map(()=>""),i)}function Cn(t,e,n){let i=e.map((s)=>{let[o,r]=Ki(t,s);return{start:o,end:r,direction:0}});return dt(t,i,i.map(()=>""),n)}function zi(t,e,n){if(!F(e))return[e.start,e.end];let i=W(e),{line:s,character:o}=i,r=t.getLineLength(s),a=t.lineCount;if(o=Math.min(o,r),n){if(o<r)return[{line:s,character:o},{line:s,character:Pt(t,s,o,!0)}];if(s<a-1)return[{line:s,character:r},{line:s+1,character:0}];return[i,i]}if(o>0)return[{line:s,character:Pt(t,s,o,!1)},{line:s,character:o}];if(s>0){let c=t.getLineLength(s-1);return[{line:s-1,character:c},{line:s,character:0}]}return[i,i]}function Ln(t,e,n,i,s=2){let o=e.map((r)=>{let[a,c]=zi(t,r,n);if(!n&&F(r)){let l=te(t,{start:t.offsetAt(a),end:t.offsetAt(c),text:""},s);a=t.positionAt(l.start),c=t.positionAt(l.end)}return{start:a,end:c,direction:0}});return dt(t,o,o.map(()=>""),i)}function F(t){return t.start.line===t.end.line&&t.start.character===t.end.character}function W(t){let{start:e,end:n,direction:i}=t;return i===-1?e:n}function ht(t){return t==="context"||t==="context-expanded"||t==="change-addition"}function St(t,e){let n=F(t),i=F(e);if(n&&i)return z(t.start,e.start)===0;if(n)return z(e.start,t.start)<=0&&z(t.start,e.end)<=0;if(i)return z(t.start,e.start)<=0&&z(e.start,t.end)<=0;return z(t.start,e.end)<0&&z(e.start,t.end)<0}function z(t,e){if(t.line!==e.line)return t.line-e.line;return t.character-e.character}function Nt(t,e,n){let i=e===n?0:e<n?1:-1,s=Math.min(e,n),o=Math.max(e,n);return{start:t.positionAt(s),end:t.positionAt(o),direction:i}}function xt(t,e){let n=0;for(let i of e){if(t<i.start)break;if(t>=i.end)n+=i.text.length-(i.end-i.start);else return i.start+n+i.text.length}return t+n}function Et(t,e,n,i){return e.map((s,o)=>{let[r,a]=n[o],c=xt(r,i),l=xt(a,i);return Nt(t,s.direction===-1?l:c,s.direction===-1?c:l)})}function se(t,e){let n=t.direction===-1?t.end:t.start,i=z(n,e.start),s=z(n,e.end),o=e.end;if(i<=0)o=e.end;else if(s>=0)o=e.start;else o=i===0?e.end:e.start;let r=z(n,o);return{start:r<=0?n:o,end:r<=0?o:n,direction:r===0?0:r<0?1:-1}}function re(t,e){let n=z(e.start,t.start)<0,i=z(e.end,t.end)>0;if(n&&!i)return{start:e.start,end:t.end,direction:-1};if(i&&!n)return{start:t.start,end:e.end,direction:1};if(t.direction===-1)return{start:e.start,end:t.end,direction:z(e.start,t.end)===0?0:-1};return{start:t.start,end:e.end,direction:z(t.start,e.end)===0?0:1}}function xn(t,e){return ae(t.map((n)=>re(n,e)))}function ae(t){if(t.length<=1)return t;let e=t.map((s,o)=>({index:o,selection:s})).sort((s,o)=>{let r=z(s.selection.start,o.selection.start);if(r!==0)return r;let a=z(s.selection.end,o.selection.end);return a!==0?a:s.index-o.index}),n=[],i=e[0];for(let s of e.slice(1)){if(St(i.selection,s.selection)){let o=s.index>i.index?s:i,r=z(s.selection.start,i.selection.start)<0?s.selection.start:i.selection.start,a=z(s.selection.end,i.selection.end)>0?s.selection.end:i.selection.end,c=o.selection.direction;if(c===0&&z(r,a)!==0)c=z(o.selection.start,r)===0?-1:1;i={index:o.index,selection:{direction:c,end:a,start:r}};continue}n.push(i),i=s}return n.push(i),n.sort((s,o)=>s.index-o.index).map(({selection:s})=>s)}function ce(t){let e=t.map((i)=>{let s=i.end.line;if(i.end.character===0&&z(i.start,i.end)!==0)s--;return{startLine:i.start.line,endLine:Math.max(i.start.line,s)}}).sort((i,s)=>{let o=i.startLine-s.startLine;return o!==0?o:i.endLine-s.endLine}),n=[];for(let i of e){let s=n.at(-1);if(s!==void 0&&i.startLine<=s.endLine+1)s.endLine=Math.max(s.endLine,i.endLine);else n.push({...i})}return n}function Sn(t,e,n,i){let s=(o)=>{let r=o.line+e;if(r>=n){let a=Math.max(0,n-1);return{line:a,character:i(a)}}if(r<0)return{line:0,character:0};return{line:r,character:o.character}};return{start:s(t.start),end:s(t.end),direction:t.direction}}function En(t,e){if(e.length===0)return;let n=e.map((c)=>F(c)?Ht(t,c):c),i=n.map((c)=>t.getText(c)),s=i[0];if(s.length===0||i.some((c)=>c!==s))return;let o=n.map((c)=>[t.offsetAt(c.start),t.offsetAt(c.end)]),r=t.findNextNonOverlappingSubstring(s,o);if(r===void 0)return n.some((c,l)=>{let h=e[l];return z(c.start,h.start)!==0||z(c.end,h.end)!==0||c.direction!==h.direction})?n:void 0;let a=Nt(t,r,r+s.length);return[...n,a]}function bn(t){let e=t.lineCount-1;return{start:{line:0,character:0},end:{line:e,character:t.getLineLength(e)},direction:1}}function le(t,e,n){let i=0;if(e){let r=t.lineCount-1;i=n===!0&&r>0&&t.getLineLength(r)===0?r-1:r}let s=e?t.getLineLength(i):0,o={line:i,character:s};return{start:o,end:o,direction:1}}function Hi(t,e){if(F(e)){let s=e.start.line;return{start:t.offsetAt({line:s,character:0}),end:s<t.lineCount-1?t.offsetAt({line:s+1,character:0}):t.offsetAt({line:s,character:t.getLineLength(s)})}}let n=t.offsetAt(e.start),i=t.offsetAt(e.end);return n<=i?{start:n,end:i}:{start:i,end:n}}function wn(t,e){return e.map((n)=>Hi(t,n)).sort((n,i)=>{let s=n.start-i.start;return s!==0?s:n.end-i.end})}function yn(t,e){return wn(t,e).map(({start:n,end:i})=>t.getTextSlice(n,i))}function Bt(t,e){let n=wn(t,e),i=t.eol,s="",o=-1;for(let r of n){if(r.end<=r.start)continue;if(r.start<=o){if(r.end>o)s+=t.getTextSlice(o,r.end),o=r.end;continue}if(s.length>0&&!Ze(s))s+=i;s+=t.getTextSlice(r.start,r.end),o=r.end}return s}function Fi(t,e){if(F(e))return Ui(t,e);let[n,i]=z(e.start,e.end)<=0?[e.start,e.end]:[e.end,e.start];return{start:t.offsetAt(n),end:t.offsetAt(i),text:""}}function Ui(t,e){let n=e.start.line,i=t.offsetAt({line:n,character:0}),s=t.offsetAt({line:n,character:t.getLineLength(n)});if(n<t.lineCount-1)return{start:i,end:t.offsetAt({line:n+1,character:0}),text:""};if(n>0)return{start:t.offsetAt({line:n-1,character:t.getLineLength(n-1)}),end:s,text:""};return{start:i,end:s,text:""}}function Wi(t){let e=[];for(let{edit:n}of t){if(n.start>=n.end)continue;let i=e.at(-1);if(i!==void 0&&n.start<=i.end)e[e.length-1]={start:i.start,end:Math.max(i.end,n.end),text:""};else e.push(n)}return e}function Vi(t,e){let n=Array.from({length:t.length}),i=0,s=0;for(let o of t){while(i<e.length&&o.edit.start>e[i].end){let a=e[i];s-=a.end-a.start,i++}let r=e[i];if(r!==void 0&&o.edit.start>=r.start&&o.edit.start<=r.end)n[o.index]=r.start+s;else n[o.index]=o.edit.start+s}return n}function Tn(t,e){let n=[...e.map((s,o)=>({index:o,edit:Fi(t,s)}))].sort((s,o)=>{let r=s.edit.start-o.edit.start;if(r!==0)return r;let a=s.edit.end-o.edit.end;if(a!==0)return a;return s.index-o.index}),i=Wi(n);return{text:Bt(t,e),edits:i,nextSelectionOffsets:Vi(n,i)}}function Dt(t,e){let n=Math.max(0,e),i=Mn(t),s=null;for(let a of i){s=a;let c=Z(a);if(n<=c+(a.textContent?.length??0)){let l=an(a,n<c?0:n-c);if(l!==null)return l}}if(s!==null){let a=an(s,s.textContent?.length??0);if(a!==null)return a;return[s,0]}let o=0,r=null;for(let a of t.childNodes){if(a.nodeType===1&&a.tagName==="BR")return[a,0];if(a.nodeType!==3)continue;r=a;let c=st(r.textContent,r.textContent?.length??0);if(n<=o+c)return[r,st(r.textContent,n-o)];o+=c}if(r!==null)return[r,st(r.textContent,r.textContent?.length??0)];return[t,0]}function Ht(t,e){let{line:n,character:i}=e.start,s=t.getLineText(n),o=$i(s,Math.max(0,Math.min(i,s.length)));if(o===void 0)return e;return{start:{line:n,character:o.start},end:{line:n,character:o.end},direction:1}}function $i(t,e){let n=jt({granularity:"word"});if(n!==void 0){for(let o of n.segment(t)){if(o.isWordLike!==!0)continue;let r=o.index,a=r+o.segment.length;if(e>=r&&e<=a)return{start:r,end:a}}return}let i=/[\p{Alphabetic}\p{Number}_]+/gu,s;while((s=i.exec(t))!==null){let o=s.index,r=o+s[0].length;if(e>=o&&e<=r)return{start:o,end:r}}}function Ki(t,e){if(!F(e))return[e.start,e.end];let n=W(e),{line:i,character:s}=n;if(s===0){if(i===0)return[n,n];let l=t.getLineLength(i-1);return[{line:i-1,character:l},{line:i,character:0}]}let o=t.getLineText(i),r=Jt(o),a=s,c;while(a>0){let l=Lt(o,a,!1,r),h=o.slice(l,a),d=!/\S/.test(h)?0:/\p{Alphabetic}|\p{Number}|_/u.test(h)?1:2;if(c!==void 0&&d!==c)break;if(d!==0||a!==s)c=d;a=l}return[{line:i,character:a},{line:i,character:s}]}function Lt(t,e,n,i){if(n){for(let s of i)if(s>e)return s;return t.length}for(let s=i.length-1;s>=0;s--){let o=i[s];if(o<e)return o}return 0}function Jt(t){let e=[0],n=it();if(n!==void 0){for(let s of n.segment(t))if(s.index>0)e.push(s.index);return e}let i=0;for(let s of t){if(i>0)e.push(i);i+=s.length}return e}function Pt(t,e,n,i){let s=t.getLineLength(e);if(i){if(n>=s)return s;let h=t.offsetAt({line:e,character:0}),d=t.getTextSlice(h+n,h+s),f=it();if(f!==void 0){for(let g of f.segment(d))return n+g.segment.length;return s}for(let g of d)return n+g.length;return s}if(n<=0)return 0;let o=t.offsetAt({line:e,character:0}),r=t.getTextSlice(o,o+n),a=0,c=it();if(c!==void 0){for(let h of c.segment(r))a=h.index;return a}let l=0;for(let h of r)a=l,l+=h.length;return a}function Gi(t,e){let n=e.direction===-1;return[t.offsetAt(n?e.end:e.start),t.offsetAt(W(e))]}function Xi(t,e){if(!F(e))return{start:e.start,end:e.end};let{line:n,character:i}=e.start,s=t.getLineText(n).length;if(i<s)return{start:{line:n,character:i},end:{line:n,character:s}};if(n<t.lineCount-1)return{start:{line:n,character:i},end:{line:n+1,character:0}};return{start:{line:n,character:i},end:{line:n,character:i}}}function An(t,e,n){if(e!==`
10
10
  `&&e!=="\r"&&e!==`\r
11
- `)return e;let i=t.positionAt(n).line,s=t.getLineText(i),o=kn(s);if(o===0)return e;return e+s.slice(0,o)}function kn(t){let e=0;for(;e<t.length;e++){let n=t.charCodeAt(e);if(n!==32&&n!==9)break}return e}function de(t,e){let n=[];for(let[s,o]of e)n.push(Math.min(s,o),Math.max(s,o));let i=t.positionsAt(n);return e.map(([s,o],r)=>{let a=s===o?0:s<o?1:-1;return{start:i[r*2],end:i[r*2+1],direction:a}})}function te(t,e,n){if(e.text!==""||e.start!==e.end-1)return e;let i=t.positionAt(e.end);if(i.character===0)return e;let s=t.getLineText(i.line),o=s.slice(0,i.character);if(/[^ \t]/.test(o))return e;if(s[i.character-1]==="\t")return e;let r=Math.max(0,i.character-n),a=s.slice(r,i.character);if(a.length===n&&/^ +$/.test(a))return{...e,start:e.end-a.length};return e}function on(t,e){let n=t.nodeType===1?t:t.parentElement;while(n!==null&&_t(n)===void 0)n=n.parentElement;if(n===null)return null;let i=_t(n);if(i===void 0)return null;if(t.nodeType===3){if(t.parentElement===null)return null;if(ee(t.parentElement)!==null)return{line:i,character:lt(t,e)};return{line:i,character:Qt(n,t)+st(t.textContent,e)}}if(t.nodeType===1){let s=t;if(s.tagName==="DIV"){let o=0;for(let r=0;r<e;r++)o=lt(s.childNodes[r]);return{line:i,character:o}}if(s.tagName==="BR")return{line:i,character:0};if(s.tagName==="SPAN"){if(e<s.childNodes.length){let o=s.childNodes[e];if(o?.nodeType===1){let r=Z(o);if(r!==void 0)return{line:i,character:r};let a=ee(o),c=a===null?void 0:Z(a);if(c!==void 0)return{line:i,character:c}}}return{line:i,character:e>0?lt(s.childNodes[e-1]):Qt(n,s)}}return{line:i,character:Qt(n,s)}}return null}function Mn(t){let e=[];for(let n of t.childNodes){if(n.nodeType!==1)continue;let i=n;if(i.tagName!=="SPAN")continue;if(Z(i)!==void 0){e.push(i);continue}for(let s of i.childNodes)if(s.nodeType===1&&Z(s)!==void 0)e.push(s)}return e}function an(t,e){let n=Math.max(0,e),i=[{container:t,index:0}];while(i.length>0){let s=i[i.length-1];if(s.index>=s.container.childNodes.length){i.pop();continue}let o=s.container.childNodes[s.index];if(s.index++,o.nodeType===3){let r=st(o.textContent,o.textContent?.length??0);if(n<=r)return[o,n];n-=r}else if(o.nodeType===1)i.push({container:o,index:0})}return null}function Rn(t,e){let n=0,i=[{container:t,index:0}];while(i.length>0){let s=i[i.length-1];if(s.index>=s.container.childNodes.length){i.pop();continue}let o=s.container.childNodes[s.index];if(o===e)return n;if(s.index++,o.nodeType===3)n+=st(o.textContent,o.textContent?.length??0);else if(o.nodeType===1)i.push({container:o,index:0})}return n}function Yi(t,e){let n=e;while(n!==null){if(n===t)return!0;n=n.parentElement}return!1}function Qt(t,e){if(e.parentElement===t){let s=0,o=Array.prototype.indexOf.call(t.childNodes,e);for(let r=0;r<o;r++)s=lt(t.childNodes[r]);return s}for(let s of Mn(t))if(Yi(s,e))return Z(s)+(e.nodeType===3?Rn(s,e):0);let n=0,i=e.nodeType===1?e:e.parentElement;while(i!==null&&i.parentElement!==null){if(_t(i.parentElement)!==void 0)break;let s=i.parentElement,o=Array.prototype.indexOf.call(s.childNodes,i);for(let r=0;r<o;r++)n=lt(s.childNodes[r]);i=s}return n}function ee(t){let e=t;while(e!==null){if(_t(e)!==void 0)return null;if(Z(e)!==void 0)return e;e=e.parentElement}return null}function lt(t,e){if(t===void 0)return 0;if(t.nodeType===3){let o=t.parentElement;if(o===null)return 0;let r=ee(o);if(r===null)return 0;let a=Z(r);if(a===void 0)return 0;let c=e===void 0?st(t.textContent,t.textContent?.length??0):st(t.textContent,e);return a+Rn(r,t)+c}if(t.nodeType!==1)return 0;let n=t;if(n.tagName!=="SPAN"&&n.tagName!=="BR")return 0;let i=Z(n);if(i!==void 0)return i+(n.textContent?.length??0);let s=0;for(let o of n.childNodes)s=Math.max(s,lt(o));return s}function _t(t){let{line:e,lineType:n}=t.dataset;if(e!==void 0&&n!=="change-deletion"){let i=parseInt(e,10);if(!Number.isNaN(i))return i-1}}function Z(t){let{char:e}=t.dataset;if(e!==void 0){let n=parseInt(e,10);if(!Number.isNaN(n))return n}}function st(t,e){let n=t??"",i=n.search(/[\r\n]/);return Math.min(e,i===-1?n.length:i)}var qi=300,ji=100,he="marker-popover",ue=class{#n;#s=[];#t=0;#e;#r;#l;#c;#m;#w;#p;#x=!1;constructor(t){this.#n=t}get markers(){return this.#s}isPopoverVisible(){return this.#p!==void 0}updatePopoverPosition(){let t=this.#p,e=this.#e;if(t===void 0||e===void 0)return;let n=this.#s[t];if(n===void 0){this.removePopover();return}this.#h(e,n.start.line,n.start.character)}setMarkers(t,e){this.#t=e.lineCount,this.#s=t.map((n)=>({...n,start:e.normalizePosition(n.start),end:e.normalizePosition(n.end)})),this.removePopover()}listenHover(t){if(this.#l?.forEach((e)=>e()),this.#l=void 0,this.#s.length===0)return;this.#l=[N(t,"mouseover",(e)=>{if(this.#n.isMouseDown())return;let n=e.composedPath()[0];if(n===void 0)return;let i=this.#C(n);if(i!==void 0)this.#R(i);else this.#g(),this.#o()}),N(t,"mouseleave",()=>{this.#g(),this.#o()})]}removePopover(){this.#g(),this.#L(),this.#b()}cleanup(){this.#l?.forEach((t)=>t()),this.#l=void 0,this.removePopover(),this.#s=[]}#C(t){let e=t.closest("[data-line]");if(e==null)return;let n=X(e);if(n===void 0)return;let i;if(t.tagName==="SPAN"){let o=t.dataset.char;if(o===void 0)return;if(i=parseInt(o,10),Number.isNaN(i))return}else if(t.tagName==="BR")i=0;else return;let s={line:n-1,character:i};for(let o=this.#s.length-1;o>=0;o--)if(St({start:s,end:s},this.#s[o]))return o}#g(){if(this.#c!==void 0)clearTimeout(this.#c),this.#c=void 0;this.#w=void 0}#L(){if(this.#m!==void 0)clearTimeout(this.#m),this.#m=void 0}#R(t){if(t===this.#p||t===this.#w){this.#L();return}if(this.#g(),this.#L(),this.#e!==void 0){this.#y(t);return}this.#w=t,this.#c=setTimeout(()=>{this.#c=void 0,this.#w=void 0,this.#y(t)},qi)}#o(){if(this.#x)return;this.#L(),this.#m=setTimeout(()=>{if(this.#m=void 0,!this.#x)this.removePopover()},ji)}#O(t,e,n,i,s=this.#n.popoverManager.getPlacementBounds()){Ct(t,{gutterWidth:this.#n.getGutterWidth(),placeAbove:i,viewport:s,x:e,y:n})}#h(t,e,n){let{getCharX:i,getLineY:s,getLineHeight:o,popoverManager:r}=this.#n,[a,c]=i(e,n),l=o(),h=s(e)+c*l,d=t.offsetHeight,f={top:h+l,bottom:h+l+d},g={top:h-d,bottom:h},m=e>=this.#t-3,C=r.getPlacementBounds(),v=r.choosePlacement({preferred:f,fallback:g,viewport:C,popoverHeight:d,atDocumentEdge:m,placementKey:he})==="fallback";this.#O(t,a,v?h:h+l,v,C)}#b(){this.#r?.forEach((t)=>t()),this.#r=void 0,this.#e?.remove(),this.#e=void 0,this.#p=void 0,this.#x=!1,this.#n.popoverManager.resetPlacement(he)}#y(t){if(t===this.#p)return;let e=this.#n.getOverlayElement();if(t>=this.#s.length||e==null)return;let{start:n,message:i,severity:s}=this.#s[t],{line:o,character:r}=n,a=this.#e;if(this.#n.popoverManager.resetPlacement(he),a!==void 0){Qi(a,s);let c=a.firstElementChild;if(c?.dataset.markerMessage!==void 0)if(typeof i==="string")c.textContent=i;else if(i instanceof HTMLElement)c.replaceChildren(i);else c.innerHTML=i.html;this.#h(a,o,r),this.#p=t;return}this.#e=P("div",{dataset:{editorWidget:"",markerPopover:"",[ft(s)]:""},children:[P("div",{dataset:"markerMessage",...typeof i==="string"?{textContent:i}:i instanceof HTMLElement?{children:[i]}:{innerHTML:i.html}})]},e),this.#h(this.#e,o,r),this.#p=t,this.#r=[N(this.#e,"mouseenter",()=>{this.#x=!0,this.#L()}),N(this.#e,"mouseleave",()=>{this.#x=!1,this.#o()})]}},Zi=["error","warning","info","hint"];function Qi(t,e){for(let n of Zi)delete t.dataset[ft(n)];t.dataset[ft(e)]=""}function ft(t){switch(t){case"error":return"markerError";case"warning":return"markerWarning";case"info":return"markerInfo";case"hint":return"markerHint"}}function On(t){return{...t,oldFile:t.oldFile!=null?{...t.oldFile,lines:[...t.oldFile.lines]}:null,hunks:Pe(t.hunks)}}var Pn='@layer base,theme,rendered,unsafe;::selection{background-color:#0000}[data-deleted-text-selection] [data-deletions] ::selection,[data-deleted-text-selection] [data-line-type=change-deletion] ::selection{background-color:var(--diffs-editor-selection-bg)}@keyframes blinking{0%{opacity:1}50%{opacity:0}to{opacity:1}}:host,[data-code],[data-content],[data-diff-type=split][data-overflow=wrap]{position:relative}[data-code]{container-type:inline-size}[data-content]{cursor:text;caret-color:var(--diffs-bg-caret);background-color:#0000;outline:none}[data-line]{cursor:text;background-color:#0000}[data-line]:after{content:"";z-index:-20;background-color:var(--diffs-line-bg);pointer-events:none;position:absolute;inset:0}[data-line][data-editor-active-line]:after{box-shadow:inset 0 0 0 1px var(--diffs-editor-line-highlight-border)}[data-editor-overlay]{display:contents}[data-caret],[data-edit-prediction],[data-selection-range],[data-match-range],[data-bracket-match-range],[data-edit-prediction-deletion-range],[data-edit-prediction-insertion-range],[data-edit-prediction-replacement-range],[data-marker-range],[data-remote-caret],[data-caret-highlight-range]{height:1lh;line-height:var(--diffs-line-height);pointer-events:none;position:absolute;top:0;left:0}[data-edit-prediction]{z-index:1;user-select:none;width:max-content;height:auto;color:var(--diffs-editor-edit-prediction-fg,color-mix(in lab, var(--diffs-fg) 45%, transparent));overflow:visible}[data-edit-prediction-line]{box-sizing:border-box;white-space:pre;width:max-content;min-height:1lh;display:block}[data-edit-prediction][data-replacement] [data-edit-prediction-line],[data-edit-prediction-insertion-range],[data-edit-prediction-replacement-range]{background-color:var(--diffs-edit-prediction-bg,var(--diffs-bg))}[data-edit-prediction-suffix]{color:var(--diffs-fg)}[data-edit-prediction][data-wrap] [data-edit-prediction-line]{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%}[data-edit-prediction-line][data-empty]:after{content:"↵"}[data-edit-prediction-spacer]{margin-block-end:var(--diffs-edit-prediction-spacer-height)}[data-code][data-deletions] [data-edit-prediction-spacer]{box-sizing:content-box;margin-block-end:0;padding-block-end:var(--diffs-edit-prediction-spacer-height)}[data-edit-prediction-deletion-range]{--diffs-edit-prediction-deletion-color:var(--diffs-editor-edit-prediction-deletion-fg,color-mix(in lab, var(--diffs-deletion-base) 70%, transparent));z-index:1;background:linear-gradient(to bottom, transparent calc(50% - .5px), var(--diffs-edit-prediction-deletion-color) calc(50% - .5px), var(--diffs-edit-prediction-deletion-color) calc(50% + .5px), transparent calc(50% + .5px))}[data-edit-prediction-insertion-range]{z-index:0}[data-edit-prediction-replacement-range]{z-index:1}[data-caret]{z-index:2;background-color:var(--diffs-bg-caret-override,var(--diffs-editor-cursor-fg,light-dark(color-mix(in lab, var(--diffs-fg) 50%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 75%, var(--diffs-bg)))));visibility:hidden;width:2px}@media (prefers-reduced-motion:no-preference){[data-caret]{animation:1.2s .8s infinite blinking}}[data-selection-range]{z-index:-10;background-color:var(--diffs-editor-selection-bg)}[data-caret-highlight-range]{z-index:-10;background-color:var(--diffs-caret-highlight-bg,var(--diffs-editor-selection-bg))}[data-selection-corner]{background-color:var(--diffs-selection-corner-bg,var(--diffs-bg));width:100%;height:100%}[data-match-range]{z-index:-10;background-color:var(--diffs-editor-match-bg,var(--diffs-editor-selection-bg))}[data-match-range]:not([data-focus]){background-color:var(--diffs-editor-match-highlight-bg,light-dark(#ff963288,#ff963266))}[data-bracket-match-range]{z-index:-9;box-sizing:border-box;border-bottom:1px solid var(--diffs-editor-bracket-match-border,color-mix(in lab, var(--diffs-fg) 60%, transparent));background-color:var(--diffs-editor-bracket-match-bg,color-mix(in lab, var(--diffs-fg) 5%, transparent))}[data-rtl]{border-top-left-radius:3px}[data-rtr]{border-top-right-radius:3px}[data-rbl]{border-bottom-left-radius:3px}[data-rbr]{border-bottom-right-radius:3px}[data-marker-range]{z-index:1;background-color:var(--diffs-marker-bg);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Im0wIDIuNSBsMiAtMS41IGwxIDAgbDIgMS41IGwxIDAiIHN0cm9rZT0iI2ZmZiIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9zdmc+);mask-position:0 100%;mask-size:6px 3px;mask-repeat:repeat-x}[data-marker-error]{--diffs-marker-contrast:light-dark(#fff,#000);--diffs-marker-bg:var(--diffs-editor-error-fg,var(--diffs-deletion-base))}[data-marker-warning]{--diffs-marker-contrast:#000;--diffs-marker-bg:var(--diffs-editor-warning-fg,light-dark(var(--diffs-warning-light),var(--diffs-warning-dark)))}[data-marker-info]{--diffs-marker-contrast:#000;--diffs-marker-bg:var(--diffs-editor-info-fg,var(--diffs-modified-base))}[data-marker-hint]{--diffs-marker-contrast:light-dark(#fff,#000);--diffs-marker-bg:var(--diffs-editor-hint-fg,var(--diffs-fg-number))}@media (width>=480px){[data-content]{caret-color:#0000}[data-content]:focus~[data-editor-overlay] [data-caret]{visibility:visible}}[data-editor-widget]{--diffs-widget-fg:var(--diffs-fg);--diffs-widget-bg:color-mix(in lab, var(--diffs-fg) 4%, var(--diffs-bg));--diffs-widget-border:color-mix(in lab, var(--diffs-fg) 20%, transparent);--diffs-widget-shadow:inset 0 0 0 1px var(--diffs-bg), 0 4px 8px #00000013, 0 6px 18px #00000013;z-index:100;width:fit-content;max-width:calc(100% - 24px);font:14px/20px var(--diffs-header-font-fallback);border:1px solid var(--diffs-widget-border);background-color:var(--diffs-widget-bg);box-shadow:var(--diffs-widget-shadow);background-clip:padding-box;border-radius:9px;position:absolute;top:0;left:0}[data-marker-popover],[data-selection-action-popover]{--popover-gap:var(--diffs-popover-gap,var(--diffs-gap-fallback,8px));--popover-viewport-left:0px;--popover-viewport-right:100cqw;--popover-viewport-top:-99999px;--popover-viewport-bottom:99999px;--popover-min-left:calc(var(--popover-viewport-left) + var(--gutter-width,0px) + var(--popover-gap));--popover-available-width:max(0px, calc(var(--popover-viewport-right) - var(--popover-min-left) - var(--popover-gap)));max-width:min(640px, var(--popover-available-width));translate:clamp(var(--popover-min-left), var(--popover-x,var(--popover-min-left)), calc(var(--popover-viewport-right) - var(--popover-gap) - 100%)) clamp(var(--popover-viewport-top), calc(var(--popover-y,0px) + var(--popover-y-shift,0px)), calc(var(--popover-viewport-bottom) - var(--popover-gap) - 100%))}[data-marker-popover]{--diffs-widget-bg:var(--diffs-marker-bg);--diffs-widget-shadow:0 4px 8px #00000026, 0 6px 18px #00000026;min-width:min(180px, var(--popover-available-width));overflow-wrap:anywhere;color:var(--diffs-marker-contrast);white-space:normal;pointer-events:auto;border:0;padding:8px 12px;@supports (color:contrast-color(red)){color:contrast-color(var(--diffs-marker-bg,var(--diffs-bg)))}& [data-marker-message]{white-space:normal;overflow-wrap:anywhere;& code{white-space:normal;color:inherit;background-color:#0000;display:inline}}}[data-selection-action-popover]{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:4px;width:max-content;padding:4px;display:flex}[data-search-panel]{z-index:100;flex-direction:column;justify-content:right;width:100%;height:0;display:flex;position:sticky;top:16px;right:16px;container:search-panel/inline-size;& [data-editor-widget]{z-index:100;flex-shrink:0;align-items:stretch;gap:8px;min-width:260px;max-width:100%;margin-inline:auto 16px;padding:4px;display:flex;position:relative}& svg{fill:currentColor;width:12px;height:12px;display:block}}[data-search-grid]{grid-template-columns:auto auto auto;grid-template-areas:"find matches nav""replace actions.";align-items:center;gap:4px 6px;width:100%;display:grid}[data-input-box][data-find]{grid-area:find}[data-search-nav]{grid-area:nav}[data-input-box][data-replace]{grid-area:replace}[data-replace-actions]{grid-area:actions}[data-search-grid][data-mode=find]{grid-template-areas:"find matches nav"}[data-search-grid][data-mode=find] [data-replace-cell]{display:none}@container search-panel (width<400px){[data-search-panel] [data-editor-widget]{padding:10px}[data-search-grid][data-mode=replace]{grid-template-columns:auto 1fr auto;grid-template-areas:"find find find""replace replace replace""nav matches actions"}[data-search-grid][data-mode=find]{grid-template-columns:auto 1fr auto;grid-template-areas:"find find find""nav matches matches"}[data-replace-actions]{justify-self:end}[data-search-grid] [data-input-box]{width:auto}}[data-input-box]{align-items:center;width:200px;display:flex;position:relative;& input{width:100%;min-width:0;color:var(--diffs-fg);background-color:var(--diffs-bg);border:1px solid color-mix(in lab, var(--diffs-fg) 12%, var(--diffs-bg));border-radius:6px;outline:none;flex-grow:1;padding-inline:6px;font-size:13px;line-height:24px;&::selection{background-color:color-mix(in lab, var(--diffs-fg) 8%, var(--diffs-bg))}&:focus-visible{outline:1px solid var(--diffs-modified-base)}}&[data-find] input{padding-inline-end:72px}& [data-search-icon]{--diffs-search-icon-size:20px}}[data-search-toggles]{align-items:center;gap:1px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}[data-matches]{white-space:nowrap;min-width:50px;color:color-mix(in lab, var(--diffs-fg) 50%, var(--diffs-bg));flex-shrink:0;grid-area:matches;font-size:12px;font-weight:500;line-height:20px;&[data-no-matches]{color:color-mix(in lab, var(--diffs-fg) 35%, var(--diffs-bg))}}[data-replace-actions],[data-search-nav]{align-items:center;display:flex}[data-search-icon]{appearance:none;width:var(--diffs-search-icon-size,24px);height:var(--diffs-search-icon-size,24px);color:color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg));border-radius:var(--diffs-search-icon-radius,4px);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background-color .1s ease-in-out,color .1s ease-in-out;display:flex;&:disabled{opacity:.25;cursor:default}&:not(:disabled):hover{color:var(--diffs-fg)}&:focus-visible{outline:1px solid var(--diffs-modified-base)}&[aria-pressed=true]{color:var(--diffs-modified-base)}}[data-search-close]{--diffs-search-icon-size:20px;--diffs-search-icon-radius:50%;color:var(--diffs-widget-bg);background-color:color-mix(in lab, var(--diffs-widget-fg) 50%, var(--diffs-bg));position:absolute;top:0;right:0;transform:translate(50%,-50%);&:not(:disabled):hover{opacity:1;color:var(--diffs-widget-bg);background-color:var(--diffs-widget-fg)}}\n';var Ji=[11,3],Q=new TextEncoder;function Ut(t){let e=[0];for(let n=0;n<t.length;n++){if(t.charCodeAt(n)===13&&t.charCodeAt(n+1)===10)n++;if(t.charCodeAt(n)===10||t.charCodeAt(n)===13)e.push(n+1)}return e}function In(t,e){if(t.length===0)return 0;return e.at(-1)===t.length?e.length-1:e.length}function ut(t,e,n){let i=e[n+1];return i===void 0?t.length:i-(t.charCodeAt(i-1)===10&&t.charCodeAt(i-2)===13?2:1)}function _n(t,e,n,i,s,o){let r=e[n],a=s[o],c=ut(t,e,n)-r;if(c!==ut(i,s,o)-a)return!1;for(let l=0;l<c;l++)if(t.charCodeAt(r+l)!==i.charCodeAt(a+l))return!1;return!0}function Dn(t,e,n,i){let s=In(t,e),o=In(n,i),r=0;while(r<s&&r<o){if(!_n(t,e,r,n,i,r))break;r++}let a=0;while(a<s-r&&a<o-r){if(!_n(t,e,s-1-a,n,i,o-1-a))break;a++}return{oldLineCount:s,newLineCount:o,prefixLines:r,suffixLines:a}}function Nn(t,e,n,i=0){if(e===n)return;let s=Ut(e),o=Ut(n),r=Dn(e,s,n,o);if(r.prefixLines===r.oldLineCount&&r.prefixLines===r.newLineCount)return;let a=r.oldLineCount-r.suffixLines,c=r.newLineCount-r.suffixLines,l=e.slice(s[r.prefixLines]??e.length,s[a]??e.length),h=n.slice(o[r.prefixLines]??n.length,o[c]??n.length);if(Q.encode(l).byteLength>6144||Q.encode(h).byteLength>6144)return;let d=Math.max(0,r.prefixLines-3),f=Math.min(r.oldLineCount,a+3),g=Math.min(r.newLineCount,c+3),m=f-d,C=g-d,v=d+i,L=[`--- a/${t}`,`+++ b/${t}`,`@@ -${m===0?v:v+1},${m} +${C===0?v:v+1},${C} @@`];for(let b=d;b<r.prefixLines;b++)L.push(` ${e.slice(s[b],ut(e,s,b))}`);for(let b=r.prefixLines;b<a;b++)L.push(`-${e.slice(s[b],ut(e,s,b))}`);for(let b=r.prefixLines;b<c;b++)L.push(`+${n.slice(o[b],ut(n,o,b))}`);for(let b=a;b<f;b++)L.push(` ${e.slice(s[b],ut(e,s,b))}`);let x=L.join(`
12
- `);return Q.encode(x).byteLength<=6144?{hunk:x,bounds:r}:void 0}function zn(t,e,n){let i=[],s=0;for(let o of n){let r=o.start-e,a=o.end-e;if(r<s||a<r||a>t.length)return;i.push(t.slice(s,r),o.text),s=a}return i.push(t.slice(s)),i.join("")}function ts(t,e){let n=e.inverseEdits;if(n.length===0)return;let i=n[0].start,s=n[0].end;for(let a=1;a<n.length;a++)i=Math.min(i,n[a].start),s=Math.max(s,n[a].end);let[o,r]=t.positionsAt([i,s]);for(let a of Ji){let c=Math.max(0,o.line-a),l=Math.min(t.lineCount-1,r.line+a),h=t.offsetAt({line:c,character:0}),d=l+1<t.lineCount?t.offsetAt({line:l+1,character:0}):t.offsetAt({line:l,character:t.getLineLength(l)});if(d-h>6144)continue;let f=t.getTextSlice(h,d);if(Q.encode(f).byteLength>6144)continue;let g=zn(f,h,n);if(g===void 0||g.length>6144||Q.encode(g).byteLength>6144)continue;return{beforeText:g,afterText:f,startOffset:h,startLine:c,bounds:Dn(g,Ut(g),f,Ut(f))}}}function Hn(t,e,n,i,s,o=Date.now()){let r=t.slice(-10),a=ts(n,i);if(a===void 0){let m=r.at(-1);if(m?.fragment!==void 0)r[r.length-1]={...m,fragment:void 0};return r}if(a.beforeText===a.afterText)return r;let c=a.startLine+a.bounds.prefixLines,l=a.startLine+a.bounds.oldLineCount-a.bounds.suffixLines,h=r.at(-1),d=h!==void 0&&c>h.end?c-h.end:h!==void 0&&h.start>l?h.start-l:0;if(h!==void 0&&h.fragment!==void 0&&h.path===e&&h.source===s&&o-h.at<1000&&d<=8){let m=h.fragment,C=a.startOffset+a.beforeText.length,v=Math.max(m.currentStart,a.startOffset),L=Math.min(m.currentEnd,C);if(v<=L&&m.currentText.slice(v-m.currentStart,L-m.currentStart)===a.beforeText.slice(v-a.startOffset,L-a.startOffset)){let x=Math.min(m.currentStart,a.startOffset),b=m.currentStart<=a.startOffset?m.currentText+a.beforeText.slice(Math.max(0,m.currentEnd-a.startOffset)):a.beforeText+m.currentText.slice(Math.max(0,C-m.currentStart)),E=b.slice(0,m.currentStart-x),T=b.slice(m.currentEnd-x),k=E+m.baseText+T,I=zn(b,x,i.appliedEdits),B=m.currentStart<=a.startOffset?m.startLine:a.startLine;if(I!==void 0&&k.length<=6144&&I.length<=6144&&Q.encode(k).byteLength<=6144&&Q.encode(I).byteLength<=6144){if(k===I)return r.pop(),r;let M=Nn(e,k,I,B);if(M!==void 0)return r[r.length-1]={path:e,hunk:M.hunk,start:B+M.bounds.prefixLines,end:B+M.bounds.newLineCount-M.bounds.suffixLines,at:o,source:s,fragment:{baseText:k,currentText:I,currentStart:x,currentEnd:x+I.length,startLine:B}},r}}}let f=r.at(-1);if(f?.fragment!==void 0)r[r.length-1]={...f,fragment:void 0};let g=Nn(e,a.beforeText,a.afterText,a.startLine);if(g===void 0)return r;return r.push({path:e,hunk:g.hunk,start:c,end:a.startLine+a.bounds.newLineCount-a.bounds.suffixLines,at:o,source:s,fragment:{baseText:a.beforeText,currentText:a.afterText,currentStart:a.startOffset,currentEnd:a.startOffset+a.afterText.length,startLine:a.startLine}}),r.slice(-10)}function Bn(t,e,n,i,s,o){while(o>0&&(i>0||s<t-1)){let r=!1;if(i>0&&n(i-1)){let a=e(i-1);if(a<=o)i--,o-=a,r=!0}if(s<t-1&&n(s+1)){let a=e(s+1);if(a<=o)s++,o-=a,r=!0}if(!r)break}return{first:i,last:s}}function Fn(t,e,n,i,s){if(e.lineCount<=0)return;let o=e.lineCount-1,r=e.offsetAt({line:o,character:e.getLineLength(o)}),a=Math.max(0,Math.min(Number.isFinite(n)?Math.trunc(n):0,r)),c=e.charAt(a-1).charCodeAt(0),l=e.charAt(a).charCodeAt(0);if(a>0&&a<r&&(c===13&&l===10||c>=55296&&c<=56319&&l>=56320&&l<=57343))a--;let h=e.positionAt(a).line,d=new Map,f=(w)=>{if(w<0||w>=e.lineCount)return!1;let _=d.get(w);if(_==null)_=s(w),d.set(w,_);return _};if(!f(h))return;let g=new Map,m=(w)=>{let _=g.get(w);if(_!==void 0)return _;let O=e.getLineLength(w);if(Math.floor(O/3)>662)return g.set(w,663),663;let y=Math.max(1,Math.floor(Q.encode(e.getLineText(w)).byteLength/3));return g.set(w,y),y},C=h,v=h,L=Math.max(0,Math.floor(262.5)-m(h));while(L>0&&(f(C-1)||f(v+1))){if(f(v+1)){let w=m(v+1);if(w>L)break;v++,L-=w}if(f(C-1)&&L>0){let w=m(C-1);if(w>L)break;C--,L-=w}}L+=88,{first:C,last:v}=Bn(e.lineCount,m,f,C,v,L);let x=C,b=v;({first:x,last:b}=Bn(e.lineCount,m,()=>!0,x,b,150));let E=0;for(let w=C;w<=v;w++)E+=m(w);let T=0;for(let w=x;w<=b;w++)T+=m(w);if(E>512||T>662)return;let k=e.offsetAt({line:x,character:0}),I=e.offsetAt({line:b,character:e.getLineLength(b)}),B=e.getTextSlice(k,I),M={path:t,version:e.version,eol:e.eol,excerptText:B,excerptStartLine:x,cursorOffsetInExcerpt:a-k,editableRange:{start:e.offsetAt({line:C,character:0})-k,end:e.offsetAt({line:v,character:e.getLineLength(v)})-k},editHistory:i.slice(-10).map(({hunk:w,source:_})=>({diff:w,source:_}))};return Q.encode(JSON.stringify(M)).byteLength<=131072?M:void 0}function pe(t,e){if(typeof e!=="string")return new RegExp(e.source,e.flags).test(t);e=e.replaceAll("\\","/");let n="^";for(let i=0;i<e.length;i++){let s=e[i];if(s==="*")if(e[i+1]==="*")if(i++,e[i+1]==="/")i++,n+="(?:.*/)?";else n+=".*";else n+="[^/]*";else if(s==="?")n+="[^/]";else n+=/[\\^$.*+?()[\]{}|]/.test(s)?`\\${s}`:s}return new RegExp(`${n}$`).test(t)}var es=["/*","*/"],ns={sql:{lineComment:"--"},ruby:{lineComment:"#",blockComment:["=begin","=end"]},rst:{lineComment:".."},coffeescript:{lineComment:"#",blockComment:["###","###"]},cmd:{lineComment:"@REM"},julia:{lineComment:"#",blockComment:["#=","=#"]},yaml:{lineComment:"#"},yml:{lineComment:"#"},markdown:{lineComment:null,blockComment:["<!--","-->"]},zsh:{lineComment:"#"},makefile:{lineComment:"#"},handlebars:{lineComment:null,blockComment:["{{!--","--}}"]},ini:{lineComment:";",blockComment:[";"," "]},powershell:{lineComment:"#",blockComment:["<#","#>"]},vb:{lineComment:"'"},xml:{lineComment:null,blockComment:["<!--","-->"]},lua:{lineComment:"--",blockComment:["--[[","]]"]},html:{lineComment:null,blockComment:["<!--","-->"]},diff:{lineComment:"#",blockComment:["#"," "]},r:{lineComment:"#"},fsharp:{blockComment:["(*","*)"]},pug:{lineComment:"//-"},perl:{lineComment:"#"},tex:{lineComment:"%"},clojure:{lineComment:";;"},css:{lineComment:null},python:{lineComment:"#",blockComment:['"""','"""']},dotenv:{lineComment:"#"},dockerfile:{lineComment:"#"},razor:{lineComment:null,blockComment:["<!--","-->"]},prompt:{lineComment:null,blockComment:["<!--","-->"]}};function Wn(t,e){let n={...ns[t],...e?.[t]};return{lineComment:n.lineComment===void 0?"//":n.lineComment,blockComment:n.blockComment??es}}function Vn(t,e,n){let i=[],s=new Set;for(let a of e){let c=a.end.line;if(a.start.line<c&&a.end.character===0)c--;let l=i.length,h=1/0;for(let d=a.start.line;d<=c;d++){if(s.has(d))continue;s.add(d);let f=t.getLineText(d),g=f.length-f.trimStart().length,m=g===f.length;if(!m)h=Math.min(h,g);i.push({line:d,comment:f.slice(g,g+n.length)===n?g:-1,empty:m,indent:g,single:!1})}if(h!==1/0){for(let d=l;d<i.length;d++)if(!i[d].empty)i[d].indent=h}if(i.length===l+1)i[l].single=!0}let o=i.some((a)=>a.comment<0&&(!a.empty||a.single)),r=[];if(o){for(let a of i){if(a.empty&&!a.single)continue;let c={line:a.line,character:a.indent};r.push({range:{start:c,end:c},newText:n+" "})}return r}for(let a of i){if(a.comment<0)continue;let c=t.getLineText(a.line),l=a.comment,h=l+n.length+(c[l+n.length]===" "?1:0);r.push({range:{start:{line:a.line,character:l},end:{line:a.line,character:h}},newText:""})}return r}var Wt=50;function is(t,e,n,i,s){let o=Math.max(0,i-Wt),r=t.getTextSlice(o,i),a=t.getTextSlice(s,s+Wt),c=r.length-r.trimEnd().length,l=a.length-a.trimStart().length,h=r.length-c;if(r.slice(h-e.length,h)===e&&a.slice(l,l+n.length)===n)return{open:{start:i-c-e.length,end:i-c+(c>0?1:0),text:""},close:{start:s+l-(l>0?1:0),end:s+l+n.length,text:""},contentStart:i,contentEnd:s};let d=s-i<=100?t.getTextSlice(i,s):void 0,f=d??t.getTextSlice(i,i+Wt),g=d??t.getTextSlice(s-Wt,s),m=f.length-f.trimStart().length,C=s-(g.length-g.trimEnd().length)-n.length;if(f.slice(m,m+e.length)!==e||t.getTextSlice(C,C+n.length)!==n)return;let v=i+m,L=v+e.length+(/\s/.test(f[e.length+m]??"")?1:0),x=C-(/\s/.test(t.getTextSlice(C-1,C))?1:0);return{open:{start:v,end:L,text:""},close:{start:x,end:C+n.length,text:""},contentStart:L,contentEnd:x}}function Un(t,e,n,i){let s=0,o=e.length;while(s<o){let a=s+o>>>1;if(e[a].end<t)s=a+1;else o=a}let r=n[s];for(let a=s;a<e.length;a++){let c=e[a];if(t<c.start)break;if(c.start===c.end&&t===c.start){if(i<0)break;r+=c.text.length;continue}if(t>c.end){r+=c.text.length-(c.end-c.start);continue}if(t===c.end)return c.start+r+c.text.length;return c.start+r+(i>0?c.text.length:0)}return t+r}function $n(t,e,[n,i],s=!1){let o=e.map((d)=>{let{start:f,end:g}=d;if(s){let m=g.line;if(f.line<m&&g.character===0)m--;let C=t.getLineText(f.line),v=C.length-C.trimStart().length;f={line:f.line,character:v},g={line:m,character:t.getLineLength(m)}}return{from:t.offsetAt(f),to:t.offsetAt(g),direction:d.direction,comment:void 0}});if(s&&o.length>1){o.sort((f,g)=>{let m=f.from-g.from;return m!==0?m:f.to-g.to});let d=0;for(let f=1;f<o.length;f++){let g=o[d],m=o[f];if(m.from<=g.to)g.to=Math.max(g.to,m.to);else o[++d]=m}o.length=d+1}for(let d of o)d.comment=is(t,n,i,d.from,d.to);let r=o.every((d)=>d.comment!==void 0),a=[];for(let d of o){let f=d.comment;if(r&&f!==void 0){a.push(f.open,f.close);continue}if(f!==void 0)continue;if(d.from===d.to){a.push({start:d.from,end:d.to,text:n+" "+i});continue}a.push({start:d.from,end:d.from,text:n+" "},{start:d.to,end:d.to,text:" "+i})}if(a.length===0)return;a.sort((d,f)=>{let g=d.start-f.start;return g!==0?g:d.end-f.end});let c=a.map((d)=>({range:{start:t.positionAt(d.start),end:t.positionAt(d.end)},newText:d.text}));if(s)return{edits:c,nextSelectionOffsets:[]};let l=o.map((d)=>{let f=d.comment;if(r&&f!==void 0)return{start:f.contentStart,end:f.contentEnd,startAssociation:1,endAssociation:-1};if(f!==void 0)return{start:d.from,end:d.to,startAssociation:1,endAssociation:1};if(d.from===d.to)return{start:d.from,end:d.to,startAssociation:-1,endAssociation:-1,collapsedInset:n.length+1};return{start:d.from,end:d.to,startAssociation:1,endAssociation:-1}}),h=Array(a.length+1);h[0]=0;for(let d=0;d<a.length;d++){let f=a[d];h[d+1]=h[d]+f.text.length-(f.end-f.start)}return{edits:c,nextSelectionOffsets:l.map((d,f)=>{let g=Un(d.start,a,h,d.startAssociation)+(d.collapsedInset??0);return[g,d.collapsedInset===void 0?Un(d.end,a,h,d.endAssociation):g,o[f].direction]})}}var ve=new Map([["(",")"],["[","]"],["{","}"]]),Yn=new Map([...ve].map(([t,e])=>[e,t]));function qn(t,e,n){let i=ss(t,e,t.normalizePosition(n));if(i===void 0)return;let s=ve.get(i.char),o=Yn.get(i.char);if(s!==void 0)return Gn(i,os(t,e,i,s));if(o!==void 0)return Gn(as(t,e,i,o),i)}function ss(t,e,n){let i=rs(n);if(i!==void 0){let s=Kn(t,e,i);if(s!==void 0)return s}return Kn(t,e,n)}function rs(t){if(t.character>0)return{line:t.line,character:t.character-1}}function Kn(t,e,n){let i=t.getLineText(n.line)[n.character];if(i===void 0||!ve.has(i)&&!Yn.has(i)||cs(e,n))return;return{...n,char:i}}function os(t,e,n,i){let s=0,o=0,r=0;for(let a=n.line;a<t.lineCount;a++){if(o>=1000)return;o++;let c=t.getLineText(a),l=e.getStringCommentRegexpRangesInLine(a),h={index:0},d=a===n.line?n.character:0;for(let f=d;f<c.length;f++){if(r>=50000)return;if(r++,ds(l,f,h))continue;let g=c[f];if(g===n.char)s++;else if(g===i){if(s--,s===0)return{line:a,character:f,char:g}}}}}function as(t,e,n,i){let s=0,o=0,r=0;for(let a=n.line;a>=0;a--){if(o>=1000)return;o++;let c=t.getLineText(a),l=e.getStringCommentRegexpRangesInLine(a),h={index:l===null?-1:l.length-1},d=a===n.line?n.character:c.length-1;for(let f=d;f>=0;f--){if(r>=50000)return;if(r++,hs(l,f,h))continue;let g=c[f];if(g===n.char)s++;else if(g===i){if(s--,s===0)return{line:a,character:f,char:g}}}}}function cs(t,e){return ls(t.getStringCommentRegexpRangesInLine(e.line),e.character)}function ls(t,e){if(t===null)return!1;for(let[n,i]of t){if(e<n)return!1;if(e<i)return!0}return!1}function ds(t,e,n){if(t===null)return!1;while(n.index<t.length&&e>=t[n.index][1])n.index++;let i=t[n.index];return i!==void 0&&e>=i[0]}function hs(t,e,n){if(t===null)return!1;while(n.index>=0&&e<t[n.index][0])n.index--;let i=t[n.index];return i!==void 0&&e<i[1]}function Gn(t,e){if(t===void 0||e===void 0)return;return[Xn(t),Xn(e)]}function Xn(t){return{start:{line:t.line,character:t.character},end:{line:t.line,character:t.character+1}}}var jn=()=>{let t=document.createElement("div");t.innerHTML=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
11
+ `)return e;let i=t.positionAt(n).line,s=t.getLineText(i),o=kn(s);if(o===0)return e;return e+s.slice(0,o)}function kn(t){let e=0;for(;e<t.length;e++){let n=t.charCodeAt(e);if(n!==32&&n!==9)break}return e}function de(t,e){let n=[];for(let[s,o]of e)n.push(Math.min(s,o),Math.max(s,o));let i=t.positionsAt(n);return e.map(([s,o],r)=>{let a=s===o?0:s<o?1:-1;return{start:i[r*2],end:i[r*2+1],direction:a}})}function te(t,e,n){if(e.text!==""||e.start!==e.end-1)return e;let i=t.positionAt(e.end);if(i.character===0)return e;let s=t.getLineText(i.line),o=s.slice(0,i.character);if(/[^ \t]/.test(o))return e;if(s[i.character-1]==="\t")return e;let r=Math.max(0,i.character-n),a=s.slice(r,i.character);if(a.length===n&&/^ +$/.test(a))return{...e,start:e.end-a.length};return e}function on(t,e){let n=t.nodeType===1?t:t.parentElement;while(n!==null&&It(n)===void 0)n=n.parentElement;if(n===null)return null;let i=It(n);if(i===void 0)return null;if(t.nodeType===3){if(t.parentElement===null)return null;if(ee(t.parentElement)!==null)return{line:i,character:lt(t,e)};return{line:i,character:Qt(n,t)+st(t.textContent,e)}}if(t.nodeType===1){let s=t;if(s.tagName==="DIV"){let o=0;for(let r=0;r<e;r++)o=lt(s.childNodes[r]);return{line:i,character:o}}if(s.tagName==="BR")return{line:i,character:0};if(s.tagName==="SPAN"){if(e<s.childNodes.length){let o=s.childNodes[e];if(o?.nodeType===1){let r=Z(o);if(r!==void 0)return{line:i,character:r};let a=ee(o),c=a===null?void 0:Z(a);if(c!==void 0)return{line:i,character:c}}}return{line:i,character:e>0?lt(s.childNodes[e-1]):Qt(n,s)}}return{line:i,character:Qt(n,s)}}return null}function Mn(t){let e=[];for(let n of t.childNodes){if(n.nodeType!==1)continue;let i=n;if(i.tagName!=="SPAN")continue;if(Z(i)!==void 0){e.push(i);continue}for(let s of i.childNodes)if(s.nodeType===1&&Z(s)!==void 0)e.push(s)}return e}function an(t,e){let n=Math.max(0,e),i=[{container:t,index:0}];while(i.length>0){let s=i[i.length-1];if(s.index>=s.container.childNodes.length){i.pop();continue}let o=s.container.childNodes[s.index];if(s.index++,o.nodeType===3){let r=st(o.textContent,o.textContent?.length??0);if(n<=r)return[o,n];n-=r}else if(o.nodeType===1)i.push({container:o,index:0})}return null}function Rn(t,e){let n=0,i=[{container:t,index:0}];while(i.length>0){let s=i[i.length-1];if(s.index>=s.container.childNodes.length){i.pop();continue}let o=s.container.childNodes[s.index];if(o===e)return n;if(s.index++,o.nodeType===3)n+=st(o.textContent,o.textContent?.length??0);else if(o.nodeType===1)i.push({container:o,index:0})}return n}function Yi(t,e){let n=e;while(n!==null){if(n===t)return!0;n=n.parentElement}return!1}function Qt(t,e){if(e.parentElement===t){let s=0,o=Array.prototype.indexOf.call(t.childNodes,e);for(let r=0;r<o;r++)s=lt(t.childNodes[r]);return s}for(let s of Mn(t))if(Yi(s,e))return Z(s)+(e.nodeType===3?Rn(s,e):0);let n=0,i=e.nodeType===1?e:e.parentElement;while(i!==null&&i.parentElement!==null){if(It(i.parentElement)!==void 0)break;let s=i.parentElement,o=Array.prototype.indexOf.call(s.childNodes,i);for(let r=0;r<o;r++)n=lt(s.childNodes[r]);i=s}return n}function ee(t){let e=t;while(e!==null){if(It(e)!==void 0)return null;if(Z(e)!==void 0)return e;e=e.parentElement}return null}function lt(t,e){if(t===void 0)return 0;if(t.nodeType===3){let o=t.parentElement;if(o===null)return 0;let r=ee(o);if(r===null)return 0;let a=Z(r);if(a===void 0)return 0;let c=e===void 0?st(t.textContent,t.textContent?.length??0):st(t.textContent,e);return a+Rn(r,t)+c}if(t.nodeType!==1)return 0;let n=t;if(n.tagName!=="SPAN"&&n.tagName!=="BR")return 0;let i=Z(n);if(i!==void 0)return i+(n.textContent?.length??0);let s=0;for(let o of n.childNodes)s=Math.max(s,lt(o));return s}function It(t){let{line:e,lineType:n}=t.dataset;if(e!==void 0&&n!=="change-deletion"){let i=parseInt(e,10);if(!Number.isNaN(i))return i-1}}function Z(t){let{char:e}=t.dataset;if(e!==void 0){let n=parseInt(e,10);if(!Number.isNaN(n))return n}}function st(t,e){let n=t??"",i=n.search(/[\r\n]/);return Math.min(e,i===-1?n.length:i)}var qi=300,ji=100,he="marker-popover",ue=class{#n;#s=[];#t=0;#e;#r;#l;#c;#m;#w;#p;#x=!1;constructor(t){this.#n=t}get markers(){return this.#s}isPopoverVisible(){return this.#p!==void 0}updatePopoverPosition(){let t=this.#p,e=this.#e;if(t===void 0||e===void 0)return;let n=this.#s[t];if(n===void 0){this.removePopover();return}this.#h(e,n.start.line,n.start.character)}setMarkers(t,e){this.#t=e.lineCount,this.#s=t.map((n)=>({...n,start:e.normalizePosition(n.start),end:e.normalizePosition(n.end)})),this.removePopover()}listenHover(t){if(this.#l?.forEach((e)=>e()),this.#l=void 0,this.#s.length===0)return;this.#l=[N(t,"mouseover",(e)=>{if(this.#n.isMouseDown())return;let n=e.composedPath()[0];if(n===void 0)return;let i=this.#C(n);if(i!==void 0)this.#R(i);else this.#g(),this.#o()}),N(t,"mouseleave",()=>{this.#g(),this.#o()})]}removePopover(){this.#g(),this.#L(),this.#b()}cleanup(){this.#l?.forEach((t)=>t()),this.#l=void 0,this.removePopover(),this.#s=[]}#C(t){let e=t.closest("[data-line]");if(e==null)return;let n=X(e);if(n===void 0)return;let i;if(t.tagName==="SPAN"){let o=t.dataset.char;if(o===void 0)return;if(i=parseInt(o,10),Number.isNaN(i))return}else if(t.tagName==="BR")i=0;else return;let s={line:n-1,character:i};for(let o=this.#s.length-1;o>=0;o--)if(St({start:s,end:s},this.#s[o]))return o}#g(){if(this.#c!==void 0)clearTimeout(this.#c),this.#c=void 0;this.#w=void 0}#L(){if(this.#m!==void 0)clearTimeout(this.#m),this.#m=void 0}#R(t){if(t===this.#p||t===this.#w){this.#L();return}if(this.#g(),this.#L(),this.#e!==void 0){this.#y(t);return}this.#w=t,this.#c=setTimeout(()=>{this.#c=void 0,this.#w=void 0,this.#y(t)},qi)}#o(){if(this.#x)return;this.#L(),this.#m=setTimeout(()=>{if(this.#m=void 0,!this.#x)this.removePopover()},ji)}#O(t,e,n,i,s=this.#n.popoverManager.getPlacementBounds()){Ct(t,{gutterWidth:this.#n.getGutterWidth(),placeAbove:i,viewport:s,x:e,y:n})}#h(t,e,n){let{getCharX:i,getLineY:s,getLineHeight:o,popoverManager:r}=this.#n,[a,c]=i(e,n),l=o(),h=s(e)+c*l,d=t.offsetHeight,f={top:h+l,bottom:h+l+d},g={top:h-d,bottom:h},m=e>=this.#t-3,C=r.getPlacementBounds(),v=r.choosePlacement({preferred:f,fallback:g,viewport:C,popoverHeight:d,atDocumentEdge:m,placementKey:he})==="fallback";this.#O(t,a,v?h:h+l,v,C)}#b(){this.#r?.forEach((t)=>t()),this.#r=void 0,this.#e?.remove(),this.#e=void 0,this.#p=void 0,this.#x=!1,this.#n.popoverManager.resetPlacement(he)}#y(t){if(t===this.#p)return;let e=this.#n.getOverlayElement();if(t>=this.#s.length||e==null)return;let{start:n,message:i,severity:s}=this.#s[t],{line:o,character:r}=n,a=this.#e;if(this.#n.popoverManager.resetPlacement(he),a!==void 0){Qi(a,s);let c=a.firstElementChild;if(c?.dataset.markerMessage!==void 0)if(typeof i==="string")c.textContent=i;else if(i instanceof HTMLElement)c.replaceChildren(i);else c.innerHTML=i.html;this.#h(a,o,r),this.#p=t;return}this.#e=P("div",{dataset:{editorWidget:"",markerPopover:"",[ft(s)]:""},children:[P("div",{dataset:"markerMessage",...typeof i==="string"?{textContent:i}:i instanceof HTMLElement?{children:[i]}:{innerHTML:i.html}})]},e),this.#h(this.#e,o,r),this.#p=t,this.#r=[N(this.#e,"mouseenter",()=>{this.#x=!0,this.#L()}),N(this.#e,"mouseleave",()=>{this.#x=!1,this.#o()})]}},Zi=["error","warning","info","hint"];function Qi(t,e){for(let n of Zi)delete t.dataset[ft(n)];t.dataset[ft(e)]=""}function ft(t){switch(t){case"error":return"markerError";case"warning":return"markerWarning";case"info":return"markerInfo";case"hint":return"markerHint"}}function On(t){return{...t,oldFile:t.oldFile!=null?{...t.oldFile,lines:[...t.oldFile.lines]}:null,hunks:Pe(t.hunks)}}var Pn='@layer base,theme,rendered,unsafe;::selection{background-color:#0000}[data-deleted-text-selection] [data-deletions] ::selection,[data-deleted-text-selection] [data-line-type=change-deletion] ::selection{background-color:var(--diffs-editor-selection-bg)}@keyframes blinking{0%{opacity:1}50%{opacity:0}to{opacity:1}}:host,[data-code],[data-content],[data-diff-type=split][data-overflow=wrap]{position:relative}[data-code]{container-type:inline-size}[data-content]{cursor:text;caret-color:var(--diffs-bg-caret);background-color:#0000;outline:none}[data-line]{cursor:text;background-color:#0000}[data-line]:after{content:"";z-index:-20;background-color:var(--diffs-line-bg);pointer-events:none;position:absolute;inset:0}[data-line][data-editor-active-line]:after{box-shadow:inset 0 0 0 1px var(--diffs-editor-line-highlight-border)}[data-editor-overlay]{display:contents}[data-caret],[data-edit-prediction],[data-selection-range],[data-match-range],[data-bracket-match-range],[data-edit-prediction-deletion-range],[data-edit-prediction-insertion-range],[data-edit-prediction-replacement-range],[data-marker-range],[data-remote-caret],[data-caret-highlight-range]{height:1lh;line-height:var(--diffs-line-height);pointer-events:none;position:absolute;top:0;left:0}[data-edit-prediction]{z-index:1;user-select:none;width:max-content;height:auto;color:var(--diffs-editor-edit-prediction-fg,color-mix(in lab, var(--diffs-fg) 45%, transparent));overflow:visible}[data-edit-prediction-line]{box-sizing:border-box;white-space:pre;width:max-content;min-height:1lh;display:block}[data-edit-prediction][data-replacement] [data-edit-prediction-line],[data-edit-prediction-insertion-range],[data-edit-prediction-replacement-range]{background-color:var(--diffs-edit-prediction-bg,var(--diffs-bg))}[data-edit-prediction-suffix]{color:var(--diffs-fg)}[data-edit-prediction][data-wrap] [data-edit-prediction-line]{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%}[data-edit-prediction-line][data-empty]:after{content:"↵"}[data-edit-prediction-spacer]{margin-block-end:var(--diffs-edit-prediction-spacer-height)}[data-code][data-deletions] [data-edit-prediction-spacer]{box-sizing:content-box;margin-block-end:0;padding-block-end:var(--diffs-edit-prediction-spacer-height)}[data-edit-prediction-deletion-range]{--diffs-edit-prediction-deletion-color:var(--diffs-editor-edit-prediction-deletion-fg,color-mix(in lab, var(--diffs-deletion-base) 70%, transparent));z-index:1;background:linear-gradient(to bottom, transparent calc(50% - .5px), var(--diffs-edit-prediction-deletion-color) calc(50% - .5px), var(--diffs-edit-prediction-deletion-color) calc(50% + .5px), transparent calc(50% + .5px))}[data-edit-prediction-insertion-range]{z-index:0}[data-edit-prediction-replacement-range]{z-index:1}[data-caret]{z-index:2;background-color:var(--diffs-bg-caret-override,var(--diffs-editor-cursor-fg,light-dark(color-mix(in lab, var(--diffs-fg) 50%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 75%, var(--diffs-bg)))));visibility:hidden;width:2px}@media (prefers-reduced-motion:no-preference){[data-caret]{animation:1.2s .8s infinite blinking}}[data-selection-range]{z-index:-10;background-color:var(--diffs-editor-selection-bg)}[data-caret-highlight-range]{z-index:-10;background-color:var(--diffs-caret-highlight-bg,var(--diffs-editor-selection-bg))}[data-selection-corner]{background-color:var(--diffs-selection-corner-bg,var(--diffs-bg));width:100%;height:100%}[data-match-range]{z-index:-10;background-color:var(--diffs-editor-match-bg,var(--diffs-editor-selection-bg))}[data-match-range]:not([data-focus]){background-color:var(--diffs-editor-match-highlight-bg,light-dark(#ff963288,#ff963266))}[data-bracket-match-range]{z-index:-9;box-sizing:border-box;border-bottom:1px solid var(--diffs-editor-bracket-match-border,color-mix(in lab, var(--diffs-fg) 60%, transparent));background-color:var(--diffs-editor-bracket-match-bg,color-mix(in lab, var(--diffs-fg) 5%, transparent))}[data-rtl]{border-top-left-radius:3px}[data-rtr]{border-top-right-radius:3px}[data-rbl]{border-bottom-left-radius:3px}[data-rbr]{border-bottom-right-radius:3px}[data-marker-range]{z-index:1;background-color:var(--diffs-marker-bg);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Im0wIDIuNSBsMiAtMS41IGwxIDAgbDIgMS41IGwxIDAiIHN0cm9rZT0iI2ZmZiIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9zdmc+);mask-position:0 100%;mask-size:6px 3px;mask-repeat:repeat-x}[data-marker-error]{--diffs-marker-contrast:light-dark(#fff,#000);--diffs-marker-bg:var(--diffs-editor-error-fg,var(--diffs-deletion-base))}[data-marker-warning]{--diffs-marker-contrast:#000;--diffs-marker-bg:var(--diffs-editor-warning-fg,light-dark(var(--diffs-warning-light),var(--diffs-warning-dark)))}[data-marker-info]{--diffs-marker-contrast:#000;--diffs-marker-bg:var(--diffs-editor-info-fg,var(--diffs-modified-base))}[data-marker-hint]{--diffs-marker-contrast:light-dark(#fff,#000);--diffs-marker-bg:var(--diffs-editor-hint-fg,var(--diffs-fg-number))}@media (width>=480px){[data-content]{caret-color:#0000}[data-content]:focus~[data-editor-overlay] [data-caret]{visibility:visible}}[data-editor-widget]{--diffs-widget-fg:var(--diffs-fg);--diffs-widget-bg:color-mix(in lab, var(--diffs-fg) 4%, var(--diffs-bg));--diffs-widget-border:color-mix(in lab, var(--diffs-fg) 20%, transparent);--diffs-widget-shadow:inset 0 0 0 1px var(--diffs-bg), 0 4px 8px #00000013, 0 6px 18px #00000013;z-index:100;width:fit-content;max-width:calc(100% - 24px);font:14px/20px var(--diffs-header-font-fallback);border:1px solid var(--diffs-widget-border);background-color:var(--diffs-widget-bg);box-shadow:var(--diffs-widget-shadow);background-clip:padding-box;border-radius:9px;position:absolute;top:0;left:0}[data-marker-popover],[data-selection-action-popover]{--popover-gap:var(--diffs-popover-gap,var(--diffs-gap-fallback,8px));--popover-viewport-left:0px;--popover-viewport-right:100cqw;--popover-viewport-top:-99999px;--popover-viewport-bottom:99999px;--popover-min-left:calc(var(--popover-viewport-left) + var(--gutter-width,0px) + var(--popover-gap));--popover-available-width:max(0px, calc(var(--popover-viewport-right) - var(--popover-min-left) - var(--popover-gap)));max-width:min(640px, var(--popover-available-width));translate:clamp(var(--popover-min-left), var(--popover-x,var(--popover-min-left)), calc(var(--popover-viewport-right) - var(--popover-gap) - 100%)) clamp(var(--popover-viewport-top), calc(var(--popover-y,0px) + var(--popover-y-shift,0px)), calc(var(--popover-viewport-bottom) - var(--popover-gap) - 100%))}[data-marker-popover]{--diffs-widget-bg:var(--diffs-marker-bg);--diffs-widget-shadow:0 4px 8px #00000026, 0 6px 18px #00000026;min-width:min(180px, var(--popover-available-width));overflow-wrap:anywhere;color:var(--diffs-marker-contrast);white-space:normal;pointer-events:auto;border:0;padding:8px 12px;@supports (color:contrast-color(red)){color:contrast-color(var(--diffs-marker-bg,var(--diffs-bg)))}& [data-marker-message]{white-space:normal;overflow-wrap:anywhere;& code{white-space:normal;color:inherit;background-color:#0000;display:inline}}}[data-selection-action-popover]{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:4px;width:max-content;padding:4px;display:flex}[data-search-panel]{z-index:100;flex-direction:column;justify-content:right;width:100%;height:0;display:flex;position:sticky;top:16px;right:16px;container:search-panel/inline-size;& [data-editor-widget]{z-index:100;flex-shrink:0;align-items:stretch;gap:8px;min-width:260px;max-width:100%;margin-inline:auto 16px;padding:4px;display:flex;position:relative}& svg{fill:currentColor;width:12px;height:12px;display:block}}[data-search-grid]{grid-template-columns:auto auto auto;grid-template-areas:"find matches nav""replace actions.";align-items:center;gap:4px 6px;width:100%;display:grid}[data-input-box][data-find]{grid-area:find}[data-search-nav]{grid-area:nav}[data-input-box][data-replace]{grid-area:replace}[data-replace-actions]{grid-area:actions}[data-search-grid][data-mode=find]{grid-template-areas:"find matches nav"}[data-search-grid][data-mode=find] [data-replace-cell]{display:none}@container search-panel (width<400px){[data-search-panel] [data-editor-widget]{padding:10px}[data-search-grid][data-mode=replace]{grid-template-columns:auto 1fr auto;grid-template-areas:"find find find""replace replace replace""nav matches actions"}[data-search-grid][data-mode=find]{grid-template-columns:auto 1fr auto;grid-template-areas:"find find find""nav matches matches"}[data-replace-actions]{justify-self:end}[data-search-grid] [data-input-box]{width:auto}}[data-input-box]{align-items:center;width:200px;display:flex;position:relative;& input{width:100%;min-width:0;color:var(--diffs-fg);background-color:var(--diffs-bg);border:1px solid color-mix(in lab, var(--diffs-fg) 12%, var(--diffs-bg));border-radius:6px;outline:none;flex-grow:1;padding-inline:6px;font-size:13px;line-height:24px;&::selection{background-color:color-mix(in lab, var(--diffs-fg) 8%, var(--diffs-bg))}&:focus-visible{outline:1px solid var(--diffs-modified-base)}}&[data-find] input{padding-inline-end:72px}& [data-search-icon]{--diffs-search-icon-size:20px}}[data-search-toggles]{align-items:center;gap:1px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}[data-matches]{white-space:nowrap;min-width:50px;color:color-mix(in lab, var(--diffs-fg) 50%, var(--diffs-bg));flex-shrink:0;grid-area:matches;font-size:12px;font-weight:500;line-height:20px;&[data-no-matches]{color:color-mix(in lab, var(--diffs-fg) 35%, var(--diffs-bg))}}[data-replace-actions],[data-search-nav]{align-items:center;display:flex}[data-search-icon]{appearance:none;width:var(--diffs-search-icon-size,24px);height:var(--diffs-search-icon-size,24px);color:color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg));border-radius:var(--diffs-search-icon-radius,4px);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background-color .1s ease-in-out,color .1s ease-in-out;display:flex;&:disabled{opacity:.25;cursor:default}&:not(:disabled):hover{color:var(--diffs-fg)}&:focus-visible{outline:1px solid var(--diffs-modified-base)}&[aria-pressed=true]{color:var(--diffs-modified-base)}}[data-search-close]{--diffs-search-icon-size:20px;--diffs-search-icon-radius:50%;color:var(--diffs-widget-bg);background-color:color-mix(in lab, var(--diffs-widget-fg) 50%, var(--diffs-bg));position:absolute;top:0;right:0;transform:translate(50%,-50%);&:not(:disabled):hover{opacity:1;color:var(--diffs-widget-bg);background-color:var(--diffs-widget-fg)}}\n';var Ji=[11,3],Q=new TextEncoder;function Ft(t){let e=[0];for(let n=0;n<t.length;n++){if(t.charCodeAt(n)===13&&t.charCodeAt(n+1)===10)n++;if(t.charCodeAt(n)===10||t.charCodeAt(n)===13)e.push(n+1)}return e}function In(t,e){if(t.length===0)return 0;return e.at(-1)===t.length?e.length-1:e.length}function ut(t,e,n){let i=e[n+1];return i===void 0?t.length:i-(t.charCodeAt(i-1)===10&&t.charCodeAt(i-2)===13?2:1)}function _n(t,e,n,i,s,o){let r=e[n],a=s[o],c=ut(t,e,n)-r;if(c!==ut(i,s,o)-a)return!1;for(let l=0;l<c;l++)if(t.charCodeAt(r+l)!==i.charCodeAt(a+l))return!1;return!0}function Dn(t,e,n,i){let s=In(t,e),o=In(n,i),r=0;while(r<s&&r<o){if(!_n(t,e,r,n,i,r))break;r++}let a=0;while(a<s-r&&a<o-r){if(!_n(t,e,s-1-a,n,i,o-1-a))break;a++}return{oldLineCount:s,newLineCount:o,prefixLines:r,suffixLines:a}}function Nn(t,e,n,i=0){if(e===n)return;let s=Ft(e),o=Ft(n),r=Dn(e,s,n,o);if(r.prefixLines===r.oldLineCount&&r.prefixLines===r.newLineCount)return;let a=r.oldLineCount-r.suffixLines,c=r.newLineCount-r.suffixLines,l=e.slice(s[r.prefixLines]??e.length,s[a]??e.length),h=n.slice(o[r.prefixLines]??n.length,o[c]??n.length);if(Q.encode(l).byteLength>6144||Q.encode(h).byteLength>6144)return;let d=Math.max(0,r.prefixLines-3),f=Math.min(r.oldLineCount,a+3),g=Math.min(r.newLineCount,c+3),m=f-d,C=g-d,v=d+i,L=[`--- a/${t}`,`+++ b/${t}`,`@@ -${m===0?v:v+1},${m} +${C===0?v:v+1},${C} @@`];for(let b=d;b<r.prefixLines;b++)L.push(` ${e.slice(s[b],ut(e,s,b))}`);for(let b=r.prefixLines;b<a;b++)L.push(`-${e.slice(s[b],ut(e,s,b))}`);for(let b=r.prefixLines;b<c;b++)L.push(`+${n.slice(o[b],ut(n,o,b))}`);for(let b=a;b<f;b++)L.push(` ${e.slice(s[b],ut(e,s,b))}`);let x=L.join(`
12
+ `);return Q.encode(x).byteLength<=6144?{hunk:x,bounds:r}:void 0}function zn(t,e,n){let i=[],s=0;for(let o of n){let r=o.start-e,a=o.end-e;if(r<s||a<r||a>t.length)return;i.push(t.slice(s,r),o.text),s=a}return i.push(t.slice(s)),i.join("")}function ts(t,e){let n=e.inverseEdits;if(n.length===0)return;let i=n[0].start,s=n[0].end;for(let a=1;a<n.length;a++)i=Math.min(i,n[a].start),s=Math.max(s,n[a].end);let[o,r]=t.positionsAt([i,s]);for(let a of Ji){let c=Math.max(0,o.line-a),l=Math.min(t.lineCount-1,r.line+a),h=t.offsetAt({line:c,character:0}),d=l+1<t.lineCount?t.offsetAt({line:l+1,character:0}):t.offsetAt({line:l,character:t.getLineLength(l)});if(d-h>6144)continue;let f=t.getTextSlice(h,d);if(Q.encode(f).byteLength>6144)continue;let g=zn(f,h,n);if(g===void 0||g.length>6144||Q.encode(g).byteLength>6144)continue;return{beforeText:g,afterText:f,startOffset:h,startLine:c,bounds:Dn(g,Ft(g),f,Ft(f))}}}function Hn(t,e,n,i,s,o=Date.now()){let r=t.slice(-10),a=ts(n,i);if(a===void 0){let m=r.at(-1);if(m?.fragment!==void 0)r[r.length-1]={...m,fragment:void 0};return r}if(a.beforeText===a.afterText)return r;let c=a.startLine+a.bounds.prefixLines,l=a.startLine+a.bounds.oldLineCount-a.bounds.suffixLines,h=r.at(-1),d=h!==void 0&&c>h.end?c-h.end:h!==void 0&&h.start>l?h.start-l:0;if(h!==void 0&&h.fragment!==void 0&&h.path===e&&h.source===s&&o-h.at<1000&&d<=8){let m=h.fragment,C=a.startOffset+a.beforeText.length,v=Math.max(m.currentStart,a.startOffset),L=Math.min(m.currentEnd,C);if(v<=L&&m.currentText.slice(v-m.currentStart,L-m.currentStart)===a.beforeText.slice(v-a.startOffset,L-a.startOffset)){let x=Math.min(m.currentStart,a.startOffset),b=m.currentStart<=a.startOffset?m.currentText+a.beforeText.slice(Math.max(0,m.currentEnd-a.startOffset)):a.beforeText+m.currentText.slice(Math.max(0,C-m.currentStart)),E=b.slice(0,m.currentStart-x),T=b.slice(m.currentEnd-x),k=E+m.baseText+T,I=zn(b,x,i.appliedEdits),B=m.currentStart<=a.startOffset?m.startLine:a.startLine;if(I!==void 0&&k.length<=6144&&I.length<=6144&&Q.encode(k).byteLength<=6144&&Q.encode(I).byteLength<=6144){if(k===I)return r.pop(),r;let M=Nn(e,k,I,B);if(M!==void 0)return r[r.length-1]={path:e,hunk:M.hunk,start:B+M.bounds.prefixLines,end:B+M.bounds.newLineCount-M.bounds.suffixLines,at:o,source:s,fragment:{baseText:k,currentText:I,currentStart:x,currentEnd:x+I.length,startLine:B}},r}}}let f=r.at(-1);if(f?.fragment!==void 0)r[r.length-1]={...f,fragment:void 0};let g=Nn(e,a.beforeText,a.afterText,a.startLine);if(g===void 0)return r;return r.push({path:e,hunk:g.hunk,start:c,end:a.startLine+a.bounds.newLineCount-a.bounds.suffixLines,at:o,source:s,fragment:{baseText:a.beforeText,currentText:a.afterText,currentStart:a.startOffset,currentEnd:a.startOffset+a.afterText.length,startLine:a.startLine}}),r.slice(-10)}function Bn(t,e,n,i,s,o){while(o>0&&(i>0||s<t-1)){let r=!1;if(i>0&&n(i-1)){let a=e(i-1);if(a<=o)i--,o-=a,r=!0}if(s<t-1&&n(s+1)){let a=e(s+1);if(a<=o)s++,o-=a,r=!0}if(!r)break}return{first:i,last:s}}function Fn(t,e,n,i,s){if(e.lineCount<=0)return;let o=e.lineCount-1,r=e.offsetAt({line:o,character:e.getLineLength(o)}),a=Math.max(0,Math.min(Number.isFinite(n)?Math.trunc(n):0,r)),c=e.charAt(a-1).charCodeAt(0),l=e.charAt(a).charCodeAt(0);if(a>0&&a<r&&(c===13&&l===10||c>=55296&&c<=56319&&l>=56320&&l<=57343))a--;let h=e.positionAt(a).line,d=new Map,f=(w)=>{if(w<0||w>=e.lineCount)return!1;let _=d.get(w);if(_==null)_=s(w),d.set(w,_);return _};if(!f(h))return;let g=new Map,m=(w)=>{let _=g.get(w);if(_!==void 0)return _;let O=e.getLineLength(w);if(Math.floor(O/3)>662)return g.set(w,663),663;let y=Math.max(1,Math.floor(Q.encode(e.getLineText(w)).byteLength/3));return g.set(w,y),y},C=h,v=h,L=Math.max(0,Math.floor(262.5)-m(h));while(L>0&&(f(C-1)||f(v+1))){if(f(v+1)){let w=m(v+1);if(w>L)break;v++,L-=w}if(f(C-1)&&L>0){let w=m(C-1);if(w>L)break;C--,L-=w}}L+=88,{first:C,last:v}=Bn(e.lineCount,m,f,C,v,L);let x=C,b=v;({first:x,last:b}=Bn(e.lineCount,m,()=>!0,x,b,150));let E=0;for(let w=C;w<=v;w++)E+=m(w);let T=0;for(let w=x;w<=b;w++)T+=m(w);if(E>512||T>662)return;let k=e.offsetAt({line:x,character:0}),I=e.offsetAt({line:b,character:e.getLineLength(b)}),B=e.getTextSlice(k,I),M={path:t,version:e.version,eol:e.eol,excerptText:B,excerptStartLine:x,cursorOffsetInExcerpt:a-k,editableRange:{start:e.offsetAt({line:C,character:0})-k,end:e.offsetAt({line:v,character:e.getLineLength(v)})-k},editHistory:i.slice(-10).map(({hunk:w,source:_})=>({diff:w,source:_}))};return Q.encode(JSON.stringify(M)).byteLength<=131072?M:void 0}function pe(t,e){if(typeof e!=="string")return new RegExp(e.source,e.flags).test(t);e=e.replaceAll("\\","/");let n="^";for(let i=0;i<e.length;i++){let s=e[i];if(s==="*")if(e[i+1]==="*")if(i++,e[i+1]==="/")i++,n+="(?:.*/)?";else n+=".*";else n+="[^/]*";else if(s==="?")n+="[^/]";else n+=/[\\^$.*+?()[\]{}|]/.test(s)?`\\${s}`:s}return new RegExp(`${n}$`).test(t)}var es=["/*","*/"],ns={sql:{lineComment:"--"},ruby:{lineComment:"#",blockComment:["=begin","=end"]},rst:{lineComment:".."},coffeescript:{lineComment:"#",blockComment:["###","###"]},cmd:{lineComment:"@REM"},julia:{lineComment:"#",blockComment:["#=","=#"]},yaml:{lineComment:"#"},yml:{lineComment:"#"},markdown:{lineComment:null,blockComment:["<!--","-->"]},zsh:{lineComment:"#"},makefile:{lineComment:"#"},handlebars:{lineComment:null,blockComment:["{{!--","--}}"]},ini:{lineComment:";",blockComment:[";"," "]},powershell:{lineComment:"#",blockComment:["<#","#>"]},vb:{lineComment:"'"},xml:{lineComment:null,blockComment:["<!--","-->"]},lua:{lineComment:"--",blockComment:["--[[","]]"]},html:{lineComment:null,blockComment:["<!--","-->"]},diff:{lineComment:"#",blockComment:["#"," "]},r:{lineComment:"#"},fsharp:{blockComment:["(*","*)"]},pug:{lineComment:"//-"},perl:{lineComment:"#"},tex:{lineComment:"%"},clojure:{lineComment:";;"},css:{lineComment:null},python:{lineComment:"#",blockComment:['"""','"""']},dotenv:{lineComment:"#"},dockerfile:{lineComment:"#"},razor:{lineComment:null,blockComment:["<!--","-->"]},prompt:{lineComment:null,blockComment:["<!--","-->"]}};function Wn(t,e){let n={...ns[t],...e?.[t]};return{lineComment:n.lineComment===void 0?"//":n.lineComment,blockComment:n.blockComment??es}}function Vn(t,e,n){let i=[],s=new Set;for(let a of e){let c=a.end.line;if(a.start.line<c&&a.end.character===0)c--;let l=i.length,h=1/0;for(let d=a.start.line;d<=c;d++){if(s.has(d))continue;s.add(d);let f=t.getLineText(d),g=f.length-f.trimStart().length,m=g===f.length;if(!m)h=Math.min(h,g);i.push({line:d,comment:f.slice(g,g+n.length)===n?g:-1,empty:m,indent:g,single:!1})}if(h!==1/0){for(let d=l;d<i.length;d++)if(!i[d].empty)i[d].indent=h}if(i.length===l+1)i[l].single=!0}let o=i.some((a)=>a.comment<0&&(!a.empty||a.single)),r=[];if(o){for(let a of i){if(a.empty&&!a.single)continue;let c={line:a.line,character:a.indent};r.push({range:{start:c,end:c},newText:n+" "})}return r}for(let a of i){if(a.comment<0)continue;let c=t.getLineText(a.line),l=a.comment,h=l+n.length+(c[l+n.length]===" "?1:0);r.push({range:{start:{line:a.line,character:l},end:{line:a.line,character:h}},newText:""})}return r}var Ut=50;function is(t,e,n,i,s){let o=Math.max(0,i-Ut),r=t.getTextSlice(o,i),a=t.getTextSlice(s,s+Ut),c=r.length-r.trimEnd().length,l=a.length-a.trimStart().length,h=r.length-c;if(r.slice(h-e.length,h)===e&&a.slice(l,l+n.length)===n)return{open:{start:i-c-e.length,end:i-c+(c>0?1:0),text:""},close:{start:s+l-(l>0?1:0),end:s+l+n.length,text:""},contentStart:i,contentEnd:s};let d=s-i<=100?t.getTextSlice(i,s):void 0,f=d??t.getTextSlice(i,i+Ut),g=d??t.getTextSlice(s-Ut,s),m=f.length-f.trimStart().length,C=s-(g.length-g.trimEnd().length)-n.length;if(f.slice(m,m+e.length)!==e||t.getTextSlice(C,C+n.length)!==n)return;let v=i+m,L=v+e.length+(/\s/.test(f[e.length+m]??"")?1:0),x=C-(/\s/.test(t.getTextSlice(C-1,C))?1:0);return{open:{start:v,end:L,text:""},close:{start:x,end:C+n.length,text:""},contentStart:L,contentEnd:x}}function Un(t,e,n,i){let s=0,o=e.length;while(s<o){let a=s+o>>>1;if(e[a].end<t)s=a+1;else o=a}let r=n[s];for(let a=s;a<e.length;a++){let c=e[a];if(t<c.start)break;if(c.start===c.end&&t===c.start){if(i<0)break;r+=c.text.length;continue}if(t>c.end){r+=c.text.length-(c.end-c.start);continue}if(t===c.end)return c.start+r+c.text.length;return c.start+r+(i>0?c.text.length:0)}return t+r}function $n(t,e,[n,i],s=!1){let o=e.map((d)=>{let{start:f,end:g}=d;if(s){let m=g.line;if(f.line<m&&g.character===0)m--;let C=t.getLineText(f.line),v=C.length-C.trimStart().length;f={line:f.line,character:v},g={line:m,character:t.getLineLength(m)}}return{from:t.offsetAt(f),to:t.offsetAt(g),direction:d.direction,comment:void 0}});if(s&&o.length>1){o.sort((f,g)=>{let m=f.from-g.from;return m!==0?m:f.to-g.to});let d=0;for(let f=1;f<o.length;f++){let g=o[d],m=o[f];if(m.from<=g.to)g.to=Math.max(g.to,m.to);else o[++d]=m}o.length=d+1}for(let d of o)d.comment=is(t,n,i,d.from,d.to);let r=o.every((d)=>d.comment!==void 0),a=[];for(let d of o){let f=d.comment;if(r&&f!==void 0){a.push(f.open,f.close);continue}if(f!==void 0)continue;if(d.from===d.to){a.push({start:d.from,end:d.to,text:n+" "+i});continue}a.push({start:d.from,end:d.from,text:n+" "},{start:d.to,end:d.to,text:" "+i})}if(a.length===0)return;a.sort((d,f)=>{let g=d.start-f.start;return g!==0?g:d.end-f.end});let c=a.map((d)=>({range:{start:t.positionAt(d.start),end:t.positionAt(d.end)},newText:d.text}));if(s)return{edits:c,nextSelectionOffsets:[]};let l=o.map((d)=>{let f=d.comment;if(r&&f!==void 0)return{start:f.contentStart,end:f.contentEnd,startAssociation:1,endAssociation:-1};if(f!==void 0)return{start:d.from,end:d.to,startAssociation:1,endAssociation:1};if(d.from===d.to)return{start:d.from,end:d.to,startAssociation:-1,endAssociation:-1,collapsedInset:n.length+1};return{start:d.from,end:d.to,startAssociation:1,endAssociation:-1}}),h=Array(a.length+1);h[0]=0;for(let d=0;d<a.length;d++){let f=a[d];h[d+1]=h[d]+f.text.length-(f.end-f.start)}return{edits:c,nextSelectionOffsets:l.map((d,f)=>{let g=Un(d.start,a,h,d.startAssociation)+(d.collapsedInset??0);return[g,d.collapsedInset===void 0?Un(d.end,a,h,d.endAssociation):g,o[f].direction]})}}var ve=new Map([["(",")"],["[","]"],["{","}"]]),Yn=new Map([...ve].map(([t,e])=>[e,t]));function qn(t,e,n){let i=ss(t,e,t.normalizePosition(n));if(i===void 0)return;let s=ve.get(i.char),o=Yn.get(i.char);if(s!==void 0)return Gn(i,os(t,e,i,s));if(o!==void 0)return Gn(as(t,e,i,o),i)}function ss(t,e,n){let i=rs(n);if(i!==void 0){let s=Kn(t,e,i);if(s!==void 0)return s}return Kn(t,e,n)}function rs(t){if(t.character>0)return{line:t.line,character:t.character-1}}function Kn(t,e,n){let i=t.getLineText(n.line)[n.character];if(i===void 0||!ve.has(i)&&!Yn.has(i)||cs(e,n))return;return{...n,char:i}}function os(t,e,n,i){let s=0,o=0,r=0;for(let a=n.line;a<t.lineCount;a++){if(o>=1000)return;o++;let c=t.getLineText(a),l=e.getStringCommentRegexpRangesInLine(a),h={index:0},d=a===n.line?n.character:0;for(let f=d;f<c.length;f++){if(r>=50000)return;if(r++,ds(l,f,h))continue;let g=c[f];if(g===n.char)s++;else if(g===i){if(s--,s===0)return{line:a,character:f,char:g}}}}}function as(t,e,n,i){let s=0,o=0,r=0;for(let a=n.line;a>=0;a--){if(o>=1000)return;o++;let c=t.getLineText(a),l=e.getStringCommentRegexpRangesInLine(a),h={index:l===null?-1:l.length-1},d=a===n.line?n.character:c.length-1;for(let f=d;f>=0;f--){if(r>=50000)return;if(r++,hs(l,f,h))continue;let g=c[f];if(g===n.char)s++;else if(g===i){if(s--,s===0)return{line:a,character:f,char:g}}}}}function cs(t,e){return ls(t.getStringCommentRegexpRangesInLine(e.line),e.character)}function ls(t,e){if(t===null)return!1;for(let[n,i]of t){if(e<n)return!1;if(e<i)return!0}return!1}function ds(t,e,n){if(t===null)return!1;while(n.index<t.length&&e>=t[n.index][1])n.index++;let i=t[n.index];return i!==void 0&&e>=i[0]}function hs(t,e,n){if(t===null)return!1;while(n.index>=0&&e<t[n.index][0])n.index--;let i=t[n.index];return i!==void 0&&e<i[1]}function Gn(t,e){if(t===void 0||e===void 0)return;return[Xn(t),Xn(e)]}function Xn(t){return{start:{line:t.line,character:t.character},end:{line:t.line,character:t.character+1}}}var jn=()=>{let t=document.createElement("div");t.innerHTML=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
13
13
  <symbol id="diffs-editor-icon-close" viewBox="0 0 16 16">
14
14
  <path fill="currentColor" d="M3.21967 3.21967C3.51256 2.92678 3.98744 2.92678 4.28033 3.21967L8 6.93934L11.7197 3.21967C12.0126 2.92678 12.4874 2.92678 12.7803 3.21967C13.0732 3.51256 13.0732 3.98744 12.7803 4.28033L9.06066 8L12.7803 11.7197C13.0732 12.0126 13.0732 12.4874 12.7803 12.7803C12.4874 13.0732 12.0126 13.0732 11.7197 12.7803L8 9.06066L4.28033 12.7803C3.98744 13.0732 3.51256 13.0732 3.21967 12.7803C2.92678 12.4874 2.92678 12.0126 3.21967 11.7197L6.93934 8L3.21967 4.28033C2.92678 3.98744 2.92678 3.51256 3.21967 3.21967Z"></path>
15
15
  </symbol>
@@ -40,7 +40,7 @@ import{u,G,R,q,D,re,p,S,Pt,me,Mt,ge,Ot,fe,ie,Pe}from"./main-z9ya2zyf.js";import{
40
40
  </symbol>
41
41
  </svg>`;let e=t.firstElementChild;if(e===null||!(e instanceof SVGSVGElement))throw Error("Failed to create sprite element");return e},Zn=(t,e=16)=>`<svg width="${e}" height="${e}" aria-hidden="true" focusable="false">
42
42
  <use href="#diffs-editor-icon-${t}"></use>
43
- </svg>`;var Qn=class{#n;#s;#t;#e;#r;#l;constructor(t){let{textDocument:e,containerElement:n,defaultQuery:i,mode:s="find",initialMatch:o,scrollToMatch:r,applyReplace:a,onUpdate:c,onClose:l}=t,h={text:i,replaceText:"",caseSensitive:!1,wholeWord:!1,regex:!1},d={all:[],current:void 0},f=P("div",{dataset:{matches:"",noMatches:""},textContent:"No results"}),g=(A)=>{d.all=h.text!==""?e.search(h):[];let U=d.all.length===0;if(J.disabled=U,rt.disabled=U,U){f.textContent="No results",f.dataset.noMatches="",d.current=void 0,c([]);return}if(delete f.dataset.noMatches,A?.syncSelection===!1){let V=c(d.all,{syncSelection:!1});m(V);return}m(c(d.all))};this.#t=g;let m=(A)=>{if(A===void 0)f.textContent=`${d.all.length} results`;else{let[U,V]=A,K=d.all.findIndex((j)=>j[0]===U&&j[1]===V);f.textContent=`${K+1} of ${d.all.length}`}d.current=A},C=(A,U)=>{h[A]=U,g()},v=(A=!1,U=!1)=>{let V=d.all,K=V[0];if(V.length>0)if(A){let j=d.current?.[0]??0;K=V.at(-1);for(let gt of V)if(gt[1]<=j)K=gt;else break}else{let j=d.current?.[1]??0;for(let gt of V)if(gt[0]>=j){K=gt;break}}if(K!==void 0)m(K),r(K,U);d.current=K};this.#r=(A)=>v(A,!0);let L=(A,U)=>({start:A,end:U,text:ze((V)=>e.positionAt(V),(V)=>e.offsetAt(V),(V)=>e.getLineText(V),h,A,U)}),x=()=>{if(h.text===""||d.all.length===0)return;let A=d.current;if(A===void 0){if(v(!1,!0),A=d.current,A===void 0)return}let[U,V]=A,K=L(U,V);a([K]),r([U+K.text.length,U+K.text.length],!0),d.current=void 0,g()},b=()=>{if(h.text===""||d.all.length===0)return;a(d.all.map(([A,U])=>L(A,U))),d.current=void 0,g()},E=()=>{this.cleanup(),l()};this.#l=E;let T=(A)=>P("button",{type:"button",title:A.label,ariaLabel:A.label,dataset:{searchIcon:"",...A.dataset},innerHTML:Zn(A.icon,A.size??16),onclick:A.onClick}),k=(A,U,V)=>{let K=T({icon:A,label:U,size:14,onClick:()=>{let j=!h[V];K.ariaPressed=String(j),C(V,j)}});return K.ariaPressed=String(h[V]),K},I=k("case","Match Case","caseSensitive"),B=k("whole-word","Whole Word","wholeWord"),M=k("regex","Regexp","regex"),w=P("input",{type:"text",placeholder:"Replace",dataset:"replace",value:"",oninput:(A)=>{h.replaceText=A.target.value},onkeydown:(A)=>{if(A.isComposing||A.keyCode===229)return;let U=ct(A);if(A.key==="Escape")A.preventDefault(),E();else if(A.key==="Enter")A.preventDefault(),x();else if(U!==void 0)A.preventDefault(),v(U==="previous",!0)}});this.#s=P("input",{type:"text",placeholder:"Search",dataset:"search",value:i,oninput:(A)=>{h.text=A.target.value,d.current=void 0,g()},onkeydown:(A)=>{if(A.isComposing||A.keyCode===229)return;let U=ct(A);if(A.key==="Escape")A.preventDefault(),E();else if(A.key==="Enter")A.preventDefault(),v(A.shiftKey,!0);else if(U!==void 0)A.preventDefault(),v(U==="previous",!0);else if(et(A)&&(A.key==="f"||A.code==="KeyF"))A.preventDefault(),we(A.altKey?"replace":"find")}});let _=P("div",{dataset:"searchToggles",children:[I,B,M]}),O=P("div",{dataset:{inputBox:"",find:""},children:[this.#s,_]}),y=P("div",{dataset:{inputBox:"",replace:"",replaceCell:""},children:[w]}),H=P("div",{dataset:{replaceActions:"",replaceCell:""},children:[T({icon:"replace",label:"Replace",onClick:x}),T({icon:"replace-all",label:"Replace All",onClick:b})]}),J=T({icon:"arrow-up",label:"Previous",onClick:()=>{v(!0)}}),rt=T({icon:"arrow-down",label:"Next",onClick:()=>{v()}});J.disabled=!0,rt.disabled=!0;let ai=P("div",{dataset:"searchNav",children:[J,rt]}),ci=T({icon:"close",label:"Close",onClick:E,dataset:{searchClose:""}}),be=P("div",{dataset:{searchGrid:"",mode:s},children:[O,y,H,f,ai,ci]}),we=(A)=>{be.dataset.mode=A,this.#s.focus(),this.#s.select()};this.#e=we,this.#n=P("div",{dataset:"searchPanel",children:[P("div",{dataset:"editorWidget",children:[be]})]}),d.current=o,n.before(this.#n),requestAnimationFrame(()=>{if(o!==void 0)g();else c([]);this.#s.select()})}focus(){this.#s.focus()}navigate(t){this.#r?.(t)}updateMatches(t){this.#t?.(t)}setMode(t){this.#e?.(t)}close(){this.#l?.()}cleanup(){this.#n.remove()}};var Jn=class{#n;#s;#t;constructor(t,e,n){this.#n=P("div",{dataset:{editorWidget:"",selectionActionPopover:""},contentEditable:"false",children:[t]},e),this.#s=this.#n.offsetHeight,this.#t=new ResizeObserver(()=>{let i=this.#n.offsetHeight;if(i!==this.#s)this.#s=i,n()}),this.#t.observe(this.#n)}reposition(t,e,n,i,s,o){this.#n.style.visibility=s?"":"hidden",Ct(this.#n,{gutterWidth:n,placeAbove:i,viewport:o,x:t,y:e})}get height(){return this.#s}cleanup(){this.#t.disconnect(),this.#n.remove()}};var fs=4096,us=/\p{Mark}/u,ti=class{#n;#s;#t;#e;#r=new Map;ch=-1;tabSize=2;lineHeight=20;paddingTop=0;init(t){if(this.#n===t&&this.#t!==void 0&&this.ch!==-1)return;if(this.#n=t,this.#s??=P("canvas",{style:{display:"none"}}),this.#t??=this.#s.getContext("2d")??void 0,this.#t===void 0)throw Error("Could not get canvas context");let e=t.parentElement;if(e!==null){let{paddingTop:c}=getComputedStyle(e);if(c.endsWith("px"))this.paddingTop=parseFloat(c.slice(0,-2))}let{fontSize:n,fontFamily:i,tabSize:s,lineHeight:o}=getComputedStyle(t);if(o.endsWith("px"))this.lineHeight=parseFloat(o.slice(0,-2));else if(n.endsWith("px"))this.lineHeight=nt(parseFloat(n.slice(0,-2))*parseFloat(o));let r=n+" "+i;if(this.#e!==r||this.ch===-1)this.#e=r,this.#l(r),this.ch=this.canvasMeasureTextWidth("0"),this.clearTextWidthCache();let a=parseInt(s,10);if(!Number.isNaN(a))this.tabSize=a}remeasureCharacterWidth(){if(this.#t===void 0||this.#e===void 0)return!1;this.#l(this.#e);let t=this.canvasMeasureTextWidth("0"),e=t!==this.ch;if(e)this.ch=t;let n=this.#m();return e||n}#l(t){let e=this.#n,n=this.#s,i=this.#t;if(e==null||n==null||i==null)throw Error("Metrics not initialized");e.append(n);try{i.font=t}finally{n.remove()}}measureTextWidth(t){if(!t.includes("\t"))return this.#c(t);if(this.#t===void 0)throw Error("Metrics not initialized");let e=pt(t,this.tabSize);if(e!==-1)return e*this.ch;let n=0,i=0,s=this.tabSize*this.ch;for(let o=0;o<t.length;o++){if(t.charCodeAt(o)!==9)continue;if(o>i)n+=this.#c(t.slice(i,o));if(s>0){let r=n%s;n+=r===0?s:s-r}i=o+1}if(i<t.length)n+=this.#c(t.slice(i));return nt(n)}segmentTextWidth(t,e,n){if(n<=e)return 0;let i=t.slice(e,n),s=pt(i,this.tabSize);return s!==-1?s*this.ch:this.measureTextWidth(i)}#c(t){if(Ce(t))return this.domMeasureTextWidth(t);return this.canvasMeasureTextWidth(t)}canvasMeasureTextWidth(t){if(this.#t===void 0)throw Error("Metrics not initialized");return nt(this.#t.measureText(t).width)}domMeasureTextWidth(t){if(this.#n===void 0)throw Error("Metrics not initialized");let e=t+"|"+this.#e,n=this.#r.get(e);if(n!==void 0)return n;let i=P("span",{style:{position:"absolute",top:"0",left:"0",visibility:"hidden",pointerEvents:"none",whiteSpace:"pre",font:"inherit"},textContent:t},this.#n),s;try{s=nt(i.getBoundingClientRect().width)}finally{i.remove()}if(this.#r.size>=fs){let o=this.#r.keys().next().value;if(o!==void 0)this.#r.delete(o)}return this.#r.set(e,s),s}clearTextWidthCache(){this.#m()}#m(){let t=this.#r.size>0;return this.#r.clear(),t}};function Ce(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n>=55296&&n<=57343||n===8205||n===65038||n===65039||n>127&&us.test(t.charAt(e)))return!0}return!1}function ei(t,e){let n=Math.max(0,Math.min(e,t.length));if(n===0||n===t.length||!Ce(t))return n;let i=it();if(i!==void 0){for(let o of i.segment(t)){let r=o.index,a=r+o.segment.length;if(n>r&&n<a)return a;if(n<=r)break}return n}let s=0;for(let o of t){let r=s+o.length;if(n>s&&n<r)return r;if(n<=s)break;s=r}return n}function ni(t){if(!Ce(t))return;let e=[0],n=it();if(n!==void 0){for(let s of n.segment(t))e.push(s.index+s.segment.length);return e}let i=0;for(let s of t)i+=s.length,e.push(i);return e}function pt(t,e){let n=0;for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);if(s>127)return-1;n+=s===9?e-n%e:1}return n}var Le=500,ps=0,ii=class{#n;#s;#t;#e="dark";#r="";#l;#c;#m;#w;#p;#x;#C;#g;#L;#R=!1;#o=[R];#O=[];#h=0;#b=[];#y=-1;#T=!0;#M=!1;#v=0;#W=++ps;#a=-1;#N=-1;#P;#A=0;#S=[];#F=!1;#Y=je(async(t)=>{if(this.#R)return;let{startingLine:e=0,totalLines:n=1/0}=t??{},i=Math.min(n===1/0?1/0:e+n,this.#c.lineCount);if(this.#s===void 0&&!Vt(this.#c.languageId)){if(await this.#n.loadLanguage(this.#c.languageId),this.#R)return;this.#s=this.#n.getLanguage(this.#c.languageId)}this.#et(),this.#D(i)},500);#V=({data:t})=>{if(typeof t!=="object"||t===null)return;let{type:e,tokenizerId:n,jobId:i}=t;if(e==="tokenize"&&n===this.#W&&typeof i==="number"&&i===this.#v)if(this.#a>=0)this.#it(i);else this.#z(i)};get themeType(){return this.#e}getStringCommentRegexpRangesInLine(t){if(!this.#C||t<0||t>=this.#c.lineCount)return null;if(this.#B(),this.#s===void 0)return null;if(this.#S[t]===void 0){this.#I(t);let e=this.#o[t]??R,n=this.#ct(t,e);this.#o[t+1]=n.state}return this.#S[t]??null}constructor({codeOptions:t,highlighter:e,textDocument:n,matchBrackets:i,setStyle:s,onDeferTokenize:o,onThemeChange:r,__debug:a}){let{themeType:c="system",theme:l=u,tokenizeMaxLineLength:h=1000}=t;this.#t=window.matchMedia("(prefers-color-scheme: dark)");let d;if(c==="system")d=this.#tt();else d=c;if(typeof l!=="string"&&c==="system"){let f=new MutationObserver((g)=>{for(let{type:m,attributeName:C}of g)if(m==="attributes"&&C!==null&&(C==="class"||C.startsWith("data-"))){let v=this.#tt();this.#f(l[v],v);break}});f.observe(document.documentElement,{attributes:!0}),f.observe(document.body,{attributes:!0}),this.#L=[N(this.#t,"change",()=>{let g=this.#tt();this.#f(l[g],g)}),()=>f.disconnect()]}this.#n=e,this.#c=n,this.#m=h,this.#w=s,this.#p=o,this.#x=r,this.#C=i!==!1,this.#g=a??!1,this.#B(),this.#l=[],this.#at(typeof l==="string"?l:l[d],typeof l==="string"?void 0:d)}#f(t,e){if(t===this.#r&&e===this.#e)return;if(this.#at(t,e),this.stopBackgroundTokenize(),this.#o=[R],this.#O=[],this.#h=0,this.#b=[],this.#s!==void 0&&this.#c.lineCount>0)this.#ut(0);this.#x?.()}#tt(){try{if(typeof document<"u"&&typeof getComputedStyle==="function"&&document.body!=null){let t=getComputedStyle(document.body).colorScheme.split(/\s+/),e=t.includes("dark");if(e!==t.includes("light"))return e?"dark":"light"}}catch{}return this.#t.matches?"dark":"light"}syncTheme(t){let{themeType:e="system",theme:n=u}=t;if(typeof n==="string"){let o=this.#n.getTheme(n).type;if(n===this.#r&&o===this.#e)return;this.#f(n,o);return}let i=e==="system"?this.#tt():e,s=n[i];if(i===this.#e&&s===this.#r)return;this.#f(s,i)}#at(t,e){let{theme:n,colorMap:i}=this.#n.setTheme(t),{colors:s={}}=this.#n.getTheme(t),o=s["editor.selectionBackground"],r=s["editor.lineHighlightBackground"],a=r!=null&&r.trim()!==""&&!Pt.isFullyTransparent(r)?r:void 0,c=s["editor.lineHighlightBorder"]??(a==null?"color-mix(in lab, var(--diffs-bg) 70%, var(--diffs-fg))":"transparent"),l=a==null?"100%":"85%",h=s["editorCursor.foreground"],d=s["editor.findMatchBackground"],f=s["editor.findMatchHighlightBackground"],g=s["editorBracketMatch.background"],m=s["editorBracketMatch.border"],C=s["editorHint.foreground"],v=s["editorInfo.foreground"],L=s["editorWarning.foreground"],x=s["editorError.foreground"];this.#w(`:host {
43
+ </svg>`;var Qn=class{#n;#s;#t;#e;#r;#l;constructor(t){let{textDocument:e,containerElement:n,defaultQuery:i,mode:s="find",initialMatch:o,scrollToMatch:r,applyReplace:a,onUpdate:c,onClose:l}=t,h={text:i,replaceText:"",caseSensitive:!1,wholeWord:!1,regex:!1},d={all:[],current:void 0},f=P("div",{dataset:{matches:"",noMatches:""},textContent:"No results"}),g=(A)=>{d.all=h.text!==""?e.search(h):[];let U=d.all.length===0;if(J.disabled=U,rt.disabled=U,U){f.textContent="No results",f.dataset.noMatches="",d.current=void 0,c([]);return}if(delete f.dataset.noMatches,A?.syncSelection===!1){let V=c(d.all,{syncSelection:!1});m(V);return}m(c(d.all))};this.#t=g;let m=(A)=>{if(A===void 0)f.textContent=`${d.all.length} results`;else{let[U,V]=A,K=d.all.findIndex((j)=>j[0]===U&&j[1]===V);f.textContent=`${K+1} of ${d.all.length}`}d.current=A},C=(A,U)=>{h[A]=U,g()},v=(A=!1,U=!1)=>{let V=d.all,K=V[0];if(V.length>0)if(A){let j=d.current?.[0]??0;K=V.at(-1);for(let gt of V)if(gt[1]<=j)K=gt;else break}else{let j=d.current?.[1]??0;for(let gt of V)if(gt[0]>=j){K=gt;break}}if(K!==void 0)m(K),r(K,U);d.current=K};this.#r=(A)=>v(A,!0);let L=(A,U)=>({start:A,end:U,text:ze((V)=>e.positionAt(V),(V)=>e.offsetAt(V),(V)=>e.getLineText(V),h,A,U)}),x=()=>{if(h.text===""||d.all.length===0)return;let A=d.current;if(A===void 0){if(v(!1,!0),A=d.current,A===void 0)return}let[U,V]=A,K=L(U,V);a([K]),r([U+K.text.length,U+K.text.length],!0),d.current=void 0,g()},b=()=>{if(h.text===""||d.all.length===0)return;a(d.all.map(([A,U])=>L(A,U))),d.current=void 0,g()},E=()=>{this.cleanup(),l()};this.#l=E;let T=(A)=>P("button",{type:"button",title:A.label,ariaLabel:A.label,dataset:{searchIcon:"",...A.dataset},innerHTML:Zn(A.icon,A.size??16),onclick:A.onClick}),k=(A,U,V)=>{let K=T({icon:A,label:U,size:14,onClick:()=>{let j=!h[V];K.ariaPressed=String(j),C(V,j)}});return K.ariaPressed=String(h[V]),K},I=k("case","Match Case","caseSensitive"),B=k("whole-word","Whole Word","wholeWord"),M=k("regex","Regexp","regex"),w=P("input",{type:"text",placeholder:"Replace",dataset:"replace",value:"",oninput:(A)=>{h.replaceText=A.target.value},onkeydown:(A)=>{if(A.isComposing||A.keyCode===229)return;let U=ct(A);if(A.key==="Escape")A.preventDefault(),E();else if(A.key==="Enter")A.preventDefault(),x();else if(U!==void 0)A.preventDefault(),v(U==="previous",!0)}});this.#s=P("input",{type:"text",placeholder:"Search",dataset:"search",value:i,oninput:(A)=>{h.text=A.target.value,d.current=void 0,g()},onkeydown:(A)=>{if(A.isComposing||A.keyCode===229)return;let U=ct(A);if(A.key==="Escape")A.preventDefault(),E();else if(A.key==="Enter")A.preventDefault(),v(A.shiftKey,!0);else if(U!==void 0)A.preventDefault(),v(U==="previous",!0);else if(et(A)&&(A.key==="f"||A.code==="KeyF"))A.preventDefault(),we(A.altKey?"replace":"find")}});let _=P("div",{dataset:"searchToggles",children:[I,B,M]}),O=P("div",{dataset:{inputBox:"",find:""},children:[this.#s,_]}),y=P("div",{dataset:{inputBox:"",replace:"",replaceCell:""},children:[w]}),H=P("div",{dataset:{replaceActions:"",replaceCell:""},children:[T({icon:"replace",label:"Replace",onClick:x}),T({icon:"replace-all",label:"Replace All",onClick:b})]}),J=T({icon:"arrow-up",label:"Previous",onClick:()=>{v(!0)}}),rt=T({icon:"arrow-down",label:"Next",onClick:()=>{v()}});J.disabled=!0,rt.disabled=!0;let ai=P("div",{dataset:"searchNav",children:[J,rt]}),ci=T({icon:"close",label:"Close",onClick:E,dataset:{searchClose:""}}),be=P("div",{dataset:{searchGrid:"",mode:s},children:[O,y,H,f,ai,ci]}),we=(A)=>{be.dataset.mode=A,this.#s.focus(),this.#s.select()};this.#e=we,this.#n=P("div",{dataset:"searchPanel",children:[P("div",{dataset:"editorWidget",children:[be]})]}),d.current=o,n.before(this.#n),requestAnimationFrame(()=>{if(o!==void 0)g();else c([]);this.#s.select()})}focus(){this.#s.focus()}navigate(t){this.#r?.(t)}updateMatches(t){this.#t?.(t)}setMode(t){this.#e?.(t)}close(){this.#l?.()}cleanup(){this.#n.remove()}};var Jn=class{#n;#s;#t;constructor(t,e,n){this.#n=P("div",{dataset:{editorWidget:"",selectionActionPopover:""},contentEditable:"false",children:[t]},e),this.#s=this.#n.offsetHeight,this.#t=new ResizeObserver(()=>{let i=this.#n.offsetHeight;if(i!==this.#s)this.#s=i,n()}),this.#t.observe(this.#n)}reposition(t,e,n,i,s,o){this.#n.style.visibility=s?"":"hidden",Ct(this.#n,{gutterWidth:n,placeAbove:i,viewport:o,x:t,y:e})}get height(){return this.#s}cleanup(){this.#t.disconnect(),this.#n.remove()}};var fs=4096,us=/\p{Mark}/u,ti=class{#n;#s;#t;#e;#r=new Map;ch=-1;tabSize=2;lineHeight=20;paddingTop=0;init(t){if(this.#n===t&&this.#t!==void 0&&this.ch!==-1)return;if(this.#n=t,this.#s??=P("canvas",{style:{display:"none"}}),this.#t??=this.#s.getContext("2d")??void 0,this.#t===void 0)throw Error("Could not get canvas context");let e=t.parentElement;if(e!==null){let{paddingTop:c}=getComputedStyle(e);if(c.endsWith("px"))this.paddingTop=parseFloat(c.slice(0,-2))}let{fontSize:n,fontFamily:i,tabSize:s,lineHeight:o}=getComputedStyle(t);if(o.endsWith("px"))this.lineHeight=parseFloat(o.slice(0,-2));else if(n.endsWith("px"))this.lineHeight=nt(parseFloat(n.slice(0,-2))*parseFloat(o));let r=n+" "+i;if(this.#e!==r||this.ch===-1)this.#e=r,this.#l(r),this.ch=this.canvasMeasureTextWidth("0"),this.clearTextWidthCache();let a=parseInt(s,10);if(!Number.isNaN(a))this.tabSize=a}remeasureCharacterWidth(){if(this.#t===void 0||this.#e===void 0)return!1;this.#l(this.#e);let t=this.canvasMeasureTextWidth("0"),e=t!==this.ch;if(e)this.ch=t;let n=this.#m();return e||n}#l(t){let e=this.#n,n=this.#s,i=this.#t;if(e==null||n==null||i==null)throw Error("Metrics not initialized");e.append(n);try{i.font=t}finally{n.remove()}}measureTextWidth(t){if(!t.includes("\t"))return this.#c(t);if(this.#t===void 0)throw Error("Metrics not initialized");let e=pt(t,this.tabSize);if(e!==-1)return e*this.ch;let n=0,i=0,s=this.tabSize*this.ch;for(let o=0;o<t.length;o++){if(t.charCodeAt(o)!==9)continue;if(o>i)n+=this.#c(t.slice(i,o));if(s>0){let r=n%s;n+=r===0?s:s-r}i=o+1}if(i<t.length)n+=this.#c(t.slice(i));return nt(n)}segmentTextWidth(t,e,n){if(n<=e)return 0;let i=t.slice(e,n),s=pt(i,this.tabSize);return s!==-1?s*this.ch:this.measureTextWidth(i)}#c(t){if(Ce(t))return this.domMeasureTextWidth(t);return this.canvasMeasureTextWidth(t)}canvasMeasureTextWidth(t){if(this.#t===void 0)throw Error("Metrics not initialized");return nt(this.#t.measureText(t).width)}domMeasureTextWidth(t){if(this.#n===void 0)throw Error("Metrics not initialized");let e=t+"|"+this.#e,n=this.#r.get(e);if(n!==void 0)return n;let i=P("span",{style:{position:"absolute",top:"0",left:"0",visibility:"hidden",pointerEvents:"none",whiteSpace:"pre",font:"inherit"},textContent:t},this.#n),s;try{s=nt(i.getBoundingClientRect().width)}finally{i.remove()}if(this.#r.size>=fs){let o=this.#r.keys().next().value;if(o!==void 0)this.#r.delete(o)}return this.#r.set(e,s),s}clearTextWidthCache(){this.#m()}#m(){let t=this.#r.size>0;return this.#r.clear(),t}};function Ce(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n>=55296&&n<=57343||n===8205||n===65038||n===65039||n>127&&us.test(t.charAt(e)))return!0}return!1}function ei(t,e){let n=Math.max(0,Math.min(e,t.length));if(n===0||n===t.length||!Ce(t))return n;let i=it();if(i!==void 0){for(let o of i.segment(t)){let r=o.index,a=r+o.segment.length;if(n>r&&n<a)return a;if(n<=r)break}return n}let s=0;for(let o of t){let r=s+o.length;if(n>s&&n<r)return r;if(n<=s)break;s=r}return n}function ni(t){if(!Ce(t))return;let e=[0],n=it();if(n!==void 0){for(let s of n.segment(t))e.push(s.index+s.segment.length);return e}let i=0;for(let s of t)i+=s.length,e.push(i);return e}function pt(t,e){let n=0;for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);if(s>127)return-1;n+=s===9?e-n%e:1}return n}var Le=500,ps=0,ii=class{#n;#s;#t;#e="dark";#r="";#l;#c;#m;#w;#p;#x;#C;#g;#L;#R=!1;#o=[R];#O=[];#h=0;#b=[];#y=-1;#T=!0;#M=!1;#v=0;#W=++ps;#a=-1;#N=-1;#P;#A=0;#S=[];#F=!1;#Y=je(async(t)=>{if(this.#R)return;let{startingLine:e=0,totalLines:n=1/0}=t??{},i=Math.min(n===1/0?1/0:e+n,this.#c.lineCount);if(this.#s===void 0&&!Wt(this.#c.languageId)){if(await this.#n.loadLanguage(this.#c.languageId),this.#R)return;this.#s=this.#n.getLanguage(this.#c.languageId)}this.#et(),this.#D(i)},500);#V=({data:t})=>{if(typeof t!=="object"||t===null)return;let{type:e,tokenizerId:n,jobId:i}=t;if(e==="tokenize"&&n===this.#W&&typeof i==="number"&&i===this.#v)if(this.#a>=0)this.#it(i);else this.#z(i)};get themeType(){return this.#e}getStringCommentRegexpRangesInLine(t){if(!this.#C||t<0||t>=this.#c.lineCount)return null;if(this.#B(),this.#s===void 0)return null;if(this.#S[t]===void 0){this.#I(t);let e=this.#o[t]??R,n=this.#ct(t,e);this.#o[t+1]=n.state}return this.#S[t]??null}constructor({codeOptions:t,highlighter:e,textDocument:n,matchBrackets:i,setStyle:s,onDeferTokenize:o,onThemeChange:r,__debug:a}){let{themeType:c="system",theme:l=u,tokenizeMaxLineLength:h=1000}=t;this.#t=window.matchMedia("(prefers-color-scheme: dark)");let d;if(c==="system")d=this.#tt();else d=c;if(typeof l!=="string"&&c==="system"){let f=new MutationObserver((g)=>{for(let{type:m,attributeName:C}of g)if(m==="attributes"&&C!==null&&(C==="class"||C.startsWith("data-"))){let v=this.#tt();this.#f(l[v],v);break}});f.observe(document.documentElement,{attributes:!0}),f.observe(document.body,{attributes:!0}),this.#L=[N(this.#t,"change",()=>{let g=this.#tt();this.#f(l[g],g)}),()=>f.disconnect()]}this.#n=e,this.#c=n,this.#m=h,this.#w=s,this.#p=o,this.#x=r,this.#C=i!==!1,this.#g=a??!1,this.#B(),this.#l=[],this.#at(typeof l==="string"?l:l[d],typeof l==="string"?void 0:d)}#f(t,e){if(t===this.#r&&e===this.#e)return;if(this.#at(t,e),this.stopBackgroundTokenize(),this.#o=[R],this.#O=[],this.#h=0,this.#b=[],this.#s!==void 0&&this.#c.lineCount>0)this.#ut(0);this.#x?.()}#tt(){try{if(typeof document<"u"&&typeof getComputedStyle==="function"&&document.body!=null){let t=getComputedStyle(document.body).colorScheme.split(/\s+/),e=t.includes("dark");if(e!==t.includes("light"))return e?"dark":"light"}}catch{}return this.#t.matches?"dark":"light"}syncTheme(t){let{themeType:e="system",theme:n=u}=t;if(typeof n==="string"){let o=this.#n.getTheme(n).type;if(n===this.#r&&o===this.#e)return;this.#f(n,o);return}let i=e==="system"?this.#tt():e,s=n[i];if(i===this.#e&&s===this.#r)return;this.#f(s,i)}#at(t,e){let{theme:n,colorMap:i}=this.#n.setTheme(t),{colors:s={}}=this.#n.getTheme(t),o=s["editor.selectionBackground"],r=s["editor.lineHighlightBackground"],a=r!=null&&r.trim()!==""&&!Mt.isFullyTransparent(r)?r:void 0,c=s["editor.lineHighlightBorder"]??(a==null?"color-mix(in lab, var(--diffs-bg) 70%, var(--diffs-fg))":"transparent"),l=a==null?"100%":"85%",h=s["editorCursor.foreground"],d=s["editor.findMatchBackground"],f=s["editor.findMatchHighlightBackground"],g=s["editorBracketMatch.background"],m=s["editorBracketMatch.border"],C=s["editorHint.foreground"],v=s["editorInfo.foreground"],L=s["editorWarning.foreground"],x=s["editorError.foreground"];this.#w(`:host {
44
44
  --diffs-editor-selection-bg: ${o??"var(--diffs-line-bg)"};
45
45
  --diffs-editor-line-highlight-border: ${c};
46
46
  --diffs-editor-active-line-source-mix: ${l};
@@ -53,12 +53,12 @@ import{u,G,R,q,D,re,p,S,Pt,me,Mt,ge,Ot,fe,ie,Pe}from"./main-z9ya2zyf.js";import{
53
53
  --diffs-editor-info-fg: ${v??"initial"};
54
54
  --diffs-editor-warning-fg: ${L??"initial"};
55
55
  --diffs-editor-error-fg: ${x??"initial"};
56
- }`),this.#r=t,this.#e=e??n.type,this.#l=i}#et(){if(this.#r==="")return;let{colorMap:t}=this.#n.setTheme(this.#r);this.#l=t}cleanUp(){this.#R=!0,this.stopBackgroundTokenize(),this.#E(),this.#L?.forEach((t)=>t()),this.#L=void 0}tokenize(t,e,n=!1){if(this.#B(),this.#et(),this.#s===void 0&&!Vt(this.#c.languageId))throw Error(`Grammar for language "${this.#c.languageId}" not loaded`);let{lineCount:i}=this.#c,{startingLine:s=0,totalLines:o=1/0}=e??{},r=o===1/0?i:Math.min(s+o,i),a=t.startLine,c=Math.max(s,a),l=e!==void 0&&o!==1/0&&t.lineDelta>0&&a<r&&t.endLine>=r,h=t.lineDelta===0&&(t.changedLineChanges?.every(([,,M])=>M===0)??!0);if(this.#C&&!h)this.#S.length=Math.min(this.#S.length,t.startLine);let d=n&&t.lineDelta!==0&&a>=s,f=h||e===void 0||a>=c,g=t.changedLineRanges??[[a,t.endLine]];this.#O=[],this.#h=0,this.#b=[];let m=-1;if(a<c){for(let[M,w]of g)if(M<c)m=Math.max(m,Math.min(w,c-1))}let C=m>=a&&(h||t.lineDelta<0);if(h)this.#I(a);else if(this.#pt(t),e===void 0||a>=c)this.#I(c);let v=0,L=g[v][1],x,b=0,E=h?g[v][0]:c,T=!1,k=new Map,I=C?new Map:void 0;if(I!==void 0&&!h){let M=Math.min(m+1,c,r);if(M>a){this.#I(M);let w=a,_=this.#o[w]??R;for(;w<M;w++){let O=this.#ct(w,_);_=O.state,I.set(w,O.resolvedTokens)}this.#o[M]=_}}let B=this.#o[E]??R;for(;E<r;){let M=h?this.#o[E+1]:d?this.#k(E+1):void 0;if(f)this.#o[E]=B;let{resolvedTokens:w,state:_}=this.#ct(E,B);if(B=_,E>=c)k.set(E,w);else I?.set(E,w);if(f)this.#o[E+1]=B;if(T=E>=L&&(h||d)&&M!==void 0&&B.equals(M),T){v++;let O=g[v];if(O===void 0)break;if(O[0]>=r){x=O[0],b=v;break}let y=this.#o[O[0]];if(d)for(let H=E+2;H<=O[0];H++){if(y=this.#k(H),y===void 0)break;this.#o[H]=y}if(y===void 0)L=O[1],E++;else E=O[0],B=y,L=O[1];T=!1;continue}E++}if(f)if(E<r)this.#o[E+1]=B;else this.#o[E]=B;if(T&&d&&x===void 0){for(let M=E+2;M<=i;M++){let w=this.#k(M);if(w===void 0)break;this.#o[M]=w}this.#O=[],this.#h=0,this.#b=[]}if(I!==void 0&&I.size>0)this.#p(I,this.#e);if(x!==void 0){if(this.#C&&h)this.#S.length=Math.min(this.#S.length,x);this.#ut(x,g,b)}else if(!T&&E<i){let M=l&&a>=c?r:a<c&&!h?a:E;if(this.#C&&h)this.#S.length=Math.min(this.#S.length,M);this.#ut(M,g,v)}return k}prebuildStateStack(t){this.#B(),this.#Y(t)}stopBackgroundTokenize(){if(this.#N=-1,this.#T)return;this.#T=!0,this.#M=!1,this.#y=-1,this.#a=-1,this.#P=void 0,this.#A=0,this.#O=[],this.#h=0,this.#b=[],this.#E()}pauseBackgroundTokenize(){if(this.#T||this.#M)return;if(this.#g)console.log("[diffs/editor] background tokenization paused",{jobId:this.#v});this.#M=!0}resumeBackgroundTokenize(){if(this.#T||!this.#M||this.#s===void 0||this.#y<0)return;if(this.#g)console.log("[diffs/editor] background tokenization resumed",{jobId:this.#v});this.#M=!1,this.#nt(this.#v)}#B(){if(this.#s===void 0&&!Vt(this.#c.languageId)&&this.#n.getLoadedLanguages().includes(this.#c.languageId))this.#s=this.#n.getLanguage(this.#c.languageId)}#ft(){if(this.#F)return;globalThis.addEventListener("message",this.#V),this.#F=!0}#E(){if(!this.#F)return;globalThis.removeEventListener("message",this.#V),this.#F=!1}#nt(t){globalThis.postMessage({type:"tokenize",tokenizerId:this.#W,jobId:t})}#ut(t,e,n=0){if(Vt(this.#c.languageId))return;let i=++this.#v;if(this.#g)console.log("[diffs/editor] background tokenization scheduled",{jobId:i,startLine:t,changedLineRanges:e,changedRangeIndex:n});if(this.#T=!1,this.#M=!1,this.#y=t,this.#a>=0)this.#N=Math.max(this.#N,this.#a);this.#a=-1,this.#P=e,this.#A=n,this.#ft(),this.#nt(i)}#D(t){if(this.#s===void 0||this.#o.length>t)return;if(!this.#T){if(this.#a>=0)this.#a=Math.max(this.#a,t);else this.#N=Math.max(this.#N,t);return}let e=++this.#v;this.#T=!1,this.#M=!1,this.#y=this.#o.length-1,this.#a=t,this.#N=-1,this.#P=void 0,this.#A=0,this.#ft(),this.#nt(e)}#ct(t,e){let n=this.#c.getLineText(t);if(n.length>this.#m)return console.warn(`[diffs] Line(${t}) too long to tokenize: ${n.length}`),this.#u(t,null),{resolvedTokens:[[0,"",n]],state:e};if(this.#s===void 0||n===""||n.trim()==="")return this.#u(t,null),{resolvedTokens:[[0,"",n]],state:e};let i=xe(this.#s,this.#l,n,e,Le,this.#C);return this.#u(t,i.bracketIgnoredRanges),{resolvedTokens:i.resolvedTokens,state:i.ruleStack}}#u(t,e){if(this.#C)this.#S[t]=e}#pt(t){let e=t.changedLineChanges??[[t.startLine,t.endLine,t.lineDelta]],n=t.startLine+1;if(n<=this.#o.length-n)this.#O=this.#o,this.#h=0,this.#o=this.#o.slice(0,n);else this.#h=n,this.#O=this.#o.slice(n),this.#o.length=Math.min(this.#o.length,n);this.#b=e}#k(t){let e=t;for(let n=this.#b.length-1;n>=0;n--){let[i,s,o]=this.#b[n];if(o===0)continue;if(e>s)e-=o;else if(e>i)return this.#o[t]}return this.#O[e-this.#h]??this.#o[t]}#I(t,e){let n=Math.min(Math.max(0,t),this.#c.lineCount);if(this.#o.length>n||this.#s===void 0)return!0;let i=e===void 0?0:performance.now(),s=this.#o.length-1,o=this.#o[s]??R;while(s<n){this.#o[s]=o;let r=this.#c.getLineText(s);if(r.length<=this.#m&&r!==""&&r.trim()!==""){let a=xe(this.#s,this.#l,r,o,Le,this.#C,!1);this.#u(s,a.bracketIgnoredRanges),o=a.ruleStack}else this.#u(s,null);if(s++,this.#o[s]=o,e!==void 0&&performance.now()-i>e)break}return s>=n}#it(t){if(this.#T||this.#M||this.#s===void 0||t!==this.#v)return;this.#et();let e=this.#I(this.#a,1);if(this.#T||this.#M||t!==this.#v)return;if(e){this.stopBackgroundTokenize();return}this.#y=this.#o.length-1,this.#nt(t)}#z(t){if(this.#T||this.#M||this.#s===void 0||t!==this.#v)return;this.#et();let e=performance.now(),n=new Map,i=this.#c.lineCount,s=this.#P,o=this.#y,r=this.#o[o]??R,a=!1,c=this.#A,l=s?.[c]?.[1];for(;o<i;){this.#o[o]=r;let h=l!==void 0?this.#k(o+1):void 0,d=this.#c.getLineText(o);if(d.length>this.#m)console.warn(`[diffs] Line(${o}) too long to tokenize: ${d.length}`),n.set(o,[[0,"",d]]),this.#u(o,null);else if(d===""||d.trim()==="")n.set(o,[[0,"",d]]),this.#u(o,null);else{let f=xe(this.#s,this.#l,d,r,Le,this.#C);n.set(o,f.resolvedTokens),this.#u(o,f.bracketIgnoredRanges),r=f.ruleStack}if(this.#o[o+1]=r,a=l!==void 0&&o>=l&&h!==void 0&&r.equals(h),o++,a){c++;let f=s?.[c];if(f===void 0)break;if(l=f[1],this.#o[f[0]]===void 0)a=!1;else{o=f[0],r=this.#o[o]??r,a=!1;continue}}if(performance.now()-e>1)break}if(this.#p(n,this.#e),this.#T||this.#M||t!==this.#v)return;if(a||o>=i){let h=this.#N;if(this.stopBackgroundTokenize(),h>=0)this.#D(h);return}this.#y=o,this.#A=c,this.#nt(t)}};function xe(t,e,n,i,s,o=!0,r=!0){let a=t.tokenizeLine2(n,i,s);if(a.stoppedEarly)console.warn(`[diffs] Time limit reached when tokenizing line: ${n.substring(0,100)}`);let c=a.tokens,l=c.length/2,h=[],d=[];if(!r&&!o)return{ruleStack:a.ruleStack,resolvedTokens:h,bracketIgnoredRanges:d};for(let f=0;f<l;f++){let g=c[2*f],m=f+1<l?c[2*f+2]:n.length;if(g===m)continue;let C=c[2*f+1];if(r){let v=G.getForeground(C);h.push([g,e[v],n.slice(g,m)])}if(o&&G.getTokenType(C)>0)d.push([g,m])}return{ruleStack:a.ruleStack,resolvedTokens:h,bracketIgnoredRanges:d}}function $t(t){return t.map(([e,n,i])=>{if(e===0&&n===""){if(i==="")return P("br");return i}return P("span",{dataset:{char:e.toString()},style:`color:${n};`,textContent:i})})}function Vt(t){return t==="text"||t==="ansi"}function gs(t){let e=t.getSelection?.();if(e==null||e.rangeCount===0)return;let n=e.getRangeAt(0);return{collapsed:n.collapsed,startContainer:n.startContainer,startOffset:n.startOffset,endContainer:n.endContainer,endOffset:n.endOffset}}function ms(t,e){let n=me(t),i=n[n.length-1]??0;return{start:0,end:t.length,text:e,range:{start:{line:0,character:0},end:{line:n.length-1,character:t.length-i}}}}function vs(t){return t!=null&&"renderType"in t&&t.renderType==="virtualized"}var Cs=2,Ls=1e4,xs=300,Ss=256,Es=131072,bs=new TextEncoder,Se="selection-action",Ee="application/vnd.pierre.diffs-selections+json",ws=class{type;#n;#s;#t;#e=new ti;#r;#l;#c;#m;#w;#p;#x={generation:0,callback:void 0,delivered:!1};#C;#g;#L;#R=new Map;#o=new Map;#O=new Map;#h;#b;#y;#T;#M;#v;#W;#a;#N;#P;#A;#S;#F;#Y;#V;#f;#tt;#at;#et;#B=!1;#ft=!1;#E;#nt;#ut;#D;#ct;#u;#pt;#k;#I;#it=!0;#z=!1;#bt=!1;#H=!1;#_;#Ut=!1;#Ot=!1;#lt=!1;#gt;#jt=!1;#q;#Pt="";#It;#Zt;#i;#K;#st;#wt;#Wt=!1;#yt=!1;#mt=!1;#Qt=!1;#Tt;#_t;#vt;#Jt=0;#Vt=!1;#te=!1;#j;#At=[];#ee=new Map;#ne=new Map;#We=(t,e)=>{if(!this.#B)return;if(this.#f?.updateRenderCache(t,e),this.#D!==void 0&&this.#D.totalLines!==1/0){let n=this.#j===void 0?void 0:new Set(this.#j.response.edits.map((a)=>a.range.start.line)),i=!1,{startingLine:s,totalLines:o}=this.#D,r=Math.min(s+o,(this.#t??this.#s)?.document?.lineCount??0);for(let[a,c]of t)if(a>=s&&a<r){let l=this.#J(a);if(l!==void 0)l.replaceChildren(...$t(c)),i||=n?.has(a)===!0}if(i&&this.#i!==void 0)this.#d(this.#i)}};constructor(t,e={},n){this.type=t,this.#n=e,this.#ut=e.ownsVerticalViewport===!0,this.#s=e.initialState,this.#nt=n}get#ie(){return this.type==="file"?this:this}setOptions(t){let e=this.#n.renderCaret,n=this.#n.editPrediction;if(this.#n={...this.#n,...t},e!==this.#n.renderCaret)this.#S?.forEach((i)=>i.remove()),this.#S=void 0,this.#xt();if(n!==this.#n.editPrediction)this.#ot(!0),this.#At=[],this.#Mt()}__emitEditComplete(t){this.#n.onComplete?.(t)}__getGhostTextRows(){return this.#ne}setCarets(t){let e=this.#t?.document;if(e===void 0)return;this.#S?.forEach((n)=>n.remove()),this.#S=void 0,this.#F?.forEach((n)=>n.remove()),this.#F=void 0,this.#pt=t.length===0?void 0:t.map((n)=>{let i=e.normalizePosition(n.anchor),s=e.normalizePosition(n.focus);return{caret:{...n,anchor:i,focus:s},anchorOffset:e.offsetAt(i),focusOffset:e.offsetAt(s)}}),this.#xt()}edit(t){let e=this.#ie,n=this.#t;if(this.#B)throw Error("Editor.edit: the editor is already rendering its component");if(this.#f!=null&&this.#f!==t)throw Error("Editor.edit: a recycled edit session cannot attach to a different component");if(t.type==="file-diff"&&this.#t==null&&!t.__canAttachEditor())throw Error("Editor.edit: a complete diff is required before editing");let i=this.#s,s=i?.editor,o=this.#nt,r=ys({type:this.type,editStateKey:o,owner:this,initialState:i,previousSession:n}),a=r.diffSession;this.#s=void 0,this.#t=r,this.#f=t,this.#B=!0,this.#ft=r.editor!=null;try{if(this.#Ye(),t.type==="file"&&e.type==="file")if(e.#tt=t.applyDocumentChange.bind(t),e.#at=t.applySuspendedDocumentChange.bind(t),e.#et=(c,l,h)=>{let d={changes:c,file:l,editor:e,lineAnnotations:h};t.__acceptEditorChange(d),e.#n.onChange?.(d),t.emitEditChange(d)},this.#p==null)this.#p=t.__attachEditor(e);else t.__resumeEditor(e);else if(t.type==="file-diff"&&e.type==="file-diff")if(e.#tt=t.applyDocumentChange.bind(t),e.#at=t.applySuspendedDocumentChange.bind(t),e.#et=(c,l,h)=>{let d={changes:c,file:l,editor:e,lineAnnotations:h};t.__acceptEditorChange(d),e.#n.onChange?.(d),t.emitEditChange(d)},this.#p==null)this.#p=t.__attachEditor(e);else t.__resumeEditor(e);else throw Error("Editor.edit: Impossible edit state")}catch(c){if(this.cleanUp("recycle"),r.type==="file-diff"&&r.diffSession==null)r.diffSession=a;if(this.#p==null&&o!=null)if(e.type==="file")ot.releaseFile(o,e);else ot.releaseFileDiff(o,e);if(this.#t=n,this.#p==null)this.#f=void 0,this.#tt=void 0,this.#at=void 0,this.#et=void 0;if(i!=null&&s!=null)i.editor=s;throw this.#s=i,c}return()=>{this.cleanUp("complete")}}applyEdits(t,e=!0){let n=this.#t?.document;if(n==null)throw Error("Editor.applyEdits: Editor is not attached");let i=this.#H,s=this.#i,o=s?.map((l)=>[n.offsetAt(l.start),n.offsetAt(l.end)]),r=s===void 0?void 0:n.resolveEdits(t).sort((l,h)=>l.start-h.start),a=n.applyEdits(t,e,s);if(a===void 0)return;let c;if(s!==void 0&&o!==void 0&&r!==void 0){if(c=Et(n,s,o,r),e)n.setLastUndoSelectionsAfter(c)}this.#U(a,c,this.#Q(a),{skipFocus:!i})}get canUndo(){return(this.#t??this.#s)?.document?.canUndo??!1}get canRedo(){return(this.#t??this.#s)?.document?.canRedo??!1}undo(){this.#re("undo")}redo(){this.#re("redo")}getFile(){let t=this.#t??this.#s,e=t?.fileInfo,n=t?.document;if(e===void 0||n===void 0)return;let i={...e};return Object.defineProperty(i,"contents",{enumerable:!0,get:()=>n.getText()}),i}getText(){return(this.#t??this.#s)?.document?.getText()??""}getViewState(){let t=this.#B?this.#f:void 0;if(!this.#B&&this.#t?.editor!=null)return At(this.#t.editor);let e=this.#i?.map((s)=>({...s,start:{...s.start},end:{...s.end}}));if(t==null)return{selections:e};let n=this.#ue(),i=t.getCodeScrollLeft();if(n==null)return{selections:e,view:{scrollLeft:i}};return{selections:e,view:{scrollLeft:i,scrollTop:n.scrollTop}}}getEditState(){let t=this.#t;if(t==null)return;if(this.#f==null)throw Error(`Editor.getEditState: active ${this.type} session has no component`);return vt(t)}setViewState({selections:t,view:e}){if(!this.#B||this.#f===void 0||this.#t?.document===void 0)throw Error("Editor.setViewState: Editor is not attached");if(this.#it=!1,this.#d(t??[]),e!=null){this.#f.setCodeScrollLeft(e.scrollLeft);let n=this.#ue();if(e.scrollTop!==void 0&&n!=null)n.scrollTop=e.scrollTop}else if(this.#ut)this.#rt();this.#$t()}setSelections(t){let e=this.#t?.document;if(e===void 0)throw Error("Editor.setSelections: Text document is not initialized");let n=t.map((s)=>{let o=e.normalizePosition(s.start),r=e.normalizePosition(s.end),a=s.direction==="none"?0:s.direction==="backward"?-1:1;if(z(o,r)>0){if([o,r]=[r,o],a!==0)a=a===1?-1:1}return{direction:a,start:o,end:r}});this.#it=!1,this.#d(n);let i=n.at(-1);if(i!==void 0)this.#Lt(W(i).line);this.#rt()}setMarkers(t){let e=this.#t?.document;if(e===void 0)throw Error("Editor.setMarkers: Text document is not initialized");if(t.length===0){this.#u?.cleanup(),this.#u=void 0,this.#d(this.#i??[]);return}if(this.#u??=new ue({popoverManager:this.#Kt(),getLineHeight:()=>this.#e.lineHeight,getOverlayElement:()=>this.#P,getGutterWidth:()=>this.#dt(),getCharX:(n,i)=>this.#X(n,i),getLineY:(n)=>this.#ht(n),isMouseDown:()=>this.#lt||this.#Ot}),this.#u.setMarkers(t,e),this.#a!==void 0)this.#u.listenHover(this.#a);this.#d(this.#i??[]),this.#xt()}focus(t){let e=t?.preventScroll??!1,n=t?.lineNumber;if(n==="first-visible"||typeof n==="number"){let s=this.#t?.document;if(s==null||!this.#B||this.#f==null)return;let o=n==="first-visible"?this.#in(t?.offset):n;if(o==null)return;let r=s.normalizePosition({line:o-1,character:n==="first-visible"?0:t?.character??0});this.#sn(r,e);return}let i=this.#i?.at(-1);if(i!==void 0){let s=i.direction===-1?i.end:i.start;this.#$(s,e)}else this.#$(void 0,e)}blur(){this.#_=void 0,this.#H=!1,this.#z=!1,this.#a?.blur()}cleanUp(t="discard"){let e=this.#f,n=t==="recycle";if(this.#ot(!0,!1),!n)this.#At=[];let i=this.#t;if(e!=null&&i!=null){let s=!this.#$t();if(!n)this.#Ve(s)}if(this.#fe(),!n)this.#x.delivered=!1;if(this.#B=!1,D(this.#me),this.#r?.cleanUp(),this.#r=void 0,this.#m?.forEach((s)=>s()),this.#m=void 0,this.#c?.forEach((s)=>s()),this.#c=void 0,!n)this.#p?.(),this.#p=void 0;if(this.#g=void 0,this.#L=void 0,this.#R.clear(),this.#o.clear(),this.#O.clear(),this.#h=void 0,this.#b?.remove(),this.#b=void 0,this.#y?.remove(),this.#y=void 0,this.#T?.remove(),this.#T=void 0,this.#M?.remove(),this.#M=void 0,this.#v=void 0,this.#l?.cleanUp(),this.#l=void 0,this.#W=void 0,this.#N=void 0,this.#a?.removeAttribute("contentEditable"),this.#a=void 0,this.#_=void 0,this.#H=!1,this.#P?.remove(),this.#P=void 0,this.#V?.disconnect(),this.#V=void 0,this.#Qt=!1,this.#Tt!==void 0)cancelAnimationFrame(this.#Tt),this.#Tt=void 0;if(this.#he(n),!n)try{if(e!=null&&i!=null){let s=this.#ie,o=t==="complete"?"install":"discard";if(e.type==="file"&&s.type==="file")e.__completeEditSession(s,o);else if(e.type==="file-diff"&&s.type==="file-diff")e.__completeEditSession(s,o);else throw Error("Editor.cleanUp: Impossible edit state")}}finally{this.#t=void 0,this.#f=void 0,this.#tt=void 0,this.#at=void 0,this.#et=void 0}}#$t(){let t=this.#f,e=this.#t;if(t==null||e==null)return!1;let n=this.#B?this.getViewState():e.editor??{},{view:i}=n,s=i!=null&&(i.scrollLeft!==0||(i.scrollTop??0)!==0),o=n.selections!=null||s;if(e.editor=At(n),e.type==="file")return!1;let r=t.__captureDocumentSessionState();if(r==null)return e.diffSession=void 0,!1;e.diffSession=r.diffSession;let a=e.document;return r.hasChanges||o||a?.canUndo===!0||a?.canRedo===!0}#Ve(t=!1){let e=this.#nt;if(e==null)return;let n=this.#ie;if(n.type==="file")ot.releaseFile(e,n);else ot.releaseFileDiff(e,n,t)}__postponeBgTokenizeToNextFrame(){let t=this.#r;if(t!==void 0)t.pauseBackgroundTokenize(),requestAnimationFrame(()=>{t.resumeBackgroundTokenize()})}__captureFocusForDOMReplacement(){let t=this.#a,e=this.#v?.shadowRoot?.activeElement;if(t!=null&&(this.#H||e===t||e!=null&&t.contains(e)))this.#_={}}__getDocumentContents(t){let e=this.#t?.fileInfo,n=this.#t?.document;if(n==null)return e==null||t==null?void 0:{...e,contents:t.contents};let i=e??t;if(i==null)return;return{name:i.name,lang:i.lang,contents:n.getText()}}__getDocumentSessionState(){let t=this.#t?.diffSession;return t!=null?On(t):void 0}__syncRenderView(t){let{highlighter:e,fileContainer:n,renderRange:i,externalDocument:s=!1}=t,o=t,r;if("file"in o&&this.type==="file")r=o.file;else if("fileDiff"in o&&this.type==="file-diff")r=o.fileDiff;else throw Error("Editor.__syncRenderView: Impossible render state");let a=o.lineAnnotations,c=this.#nt,l=this.#f,h=this.#t;if(!this.#B||l==null||h==null)return;let d=n.shadowRoot;if(d==null){console.error("[editor] Could not find the shadow root.");return}let f,g,m,C,v;for(let w of d.querySelectorAll("[data-code]")){let _=w.dataset.deletions!=null;if(!_)f=w;for(let O of w.children){if(!(O instanceof HTMLElement))continue;let{gutter:y,content:H}=O.dataset;if(y!=null)if(_)C=O;else g=O;else if(H!=null)if(_)v=O;else m=O}}if(v==null)this.#N=void 0;else if(C==null)throw Error("Editor.__syncRenderView: the deletions column has no gutter");else this.#N={content:v,gutter:C};if(f===void 0||m===void 0){this.#_=void 0;return}if(this.#Kt().setViewportElements(n,f),this.#v!==n){if(this.#v=n,this.#b!==void 0)n.appendChild(this.#b);if(this.#y!==void 0)d.appendChild(this.#y);if(this.#T!==void 0)d.appendChild(this.#T);if(this.#M!==void 0)d.prepend(this.#M)}let L=r.lang??p(r.name),x="contents"in r?r.contents:r.additionLines.join(""),b=h.document,E=t.resetHistory??(b!=null&&h.fileInfo!=null&&(h.fileInfo.name!==r.name||b.languageId!==L)),T=s&&b!==void 0&&b.getText()!==x?[ms(b.getText(),x)]:void 0,k=s&&E;if(h.document==null||h.fileInfo==null||c==null&&(h.fileInfo.name!==r.name||h.document.languageId!==L)||k){this.#ot(!0),this.#At=[],this.#fe();let{name:w,lang:_}=r,O=k||c==null&&h.fileInfo!=null?void 0:h.document;if(b!=null&&O==null)h.editor=void 0;if(O==null){let y=new bt({maxEntries:this.#n.historyMaxEntries});O=new Yt(r.name,x,L,0,y)}if(h.fileInfo={name:w,lang:_},h.document=O,k)h.diffSession=void 0;if(this.#r?.cleanUp(),this.#r=void 0,this.#he(),this.#o.clear(),this.#i=this.#Zt,this.#n.__debug===!0)console.log("[diffs/editor] text document initialized from",r.name)}if(s&&!k){this.#$e(h,x,a);let{name:w,lang:_}=r;h.fileInfo={name:w,lang:_}}let I=h.document;if(this.#r==null&&I!=null)this.#r=new ii({highlighter:e,textDocument:I,codeOptions:this.#f?.__getEffectiveCodeOptions()??{},matchBrackets:this.#n.matchBrackets,onDeferTokenize:this.#We,onThemeChange:()=>this.#on(),setStyle:(w)=>{this.#T.textContent=w},__debug:this.#n.__debug});if(this.#a!==m){if(this.#W=g,this.#a=qe(m,{contentEditable:"true",role:"textbox",ariaMultiLine:"true",autocapitalize:"off",writingSuggestions:"off",autocorrect:!1,spellcheck:!1,translate:!1}),this.#P!==void 0)m.after(this.#P);if(this.#e.init(m),this.#en(),this.#qe(m,g),this.#a!==void 0&&this.#n.__debug===!0)console.log("[diffs/editor] full re-render triggered !!!")}if(this.#_!=null)this.#_.target=m;if(m.ariaLabel!==r.name)m.ariaLabel=r.name;if(a!==void 0&&a.length>0||this.#G)for(let w of this.#a.children){let _=w,{lineAnnotation:O,lineType:y,separator:H}=_.dataset;if(O!==void 0||H!==void 0||y==="change-deletion")_.setAttribute("contenteditable","false")}this.#zt(),this.#r?.syncTheme(this.#f?.__getEffectiveCodeOptions()??{}),this.#E=a,this.#D=i,this.#ct=i?.totalLines,this.#r?.prebuildStateStack(i);let B=h.editor,M=this.#ft;try{if(this.#u?.removePopover(),this.#i!==void 0||this.#K!==void 0||this.#u!==void 0)this.#d(this.#i??[]);if(this.#xt(),this.#te)this.#Mt();if(this.#Zt!==void 0&&this.#Y!==void 0)this.#Zt=void 0,this.#rt(!1,"center");else if(this.#st!==void 0)this.#ae(this.#st,this.#wt,this.#yt);else if(this.#_!==void 0)this.#oe();else if(this.#i!==void 0&&this.#i.length>0&&this.#H&&!this.#mt)this.focus({preventScroll:!0});if(this.#mt)this.#k?.focus();if(M){if(this.#ft=!1,B!==void 0)this.setViewState(B)}if(this.#n.__debug===!0&&i!==void 0){let{startingLine:w,totalLines:_}=i;console.log("[diffs/editor] render file:",r.name,"RenderRange:",w+"-"+(w+_),"of",h.document?.lineCount,"lines")}if(s)l.__acknowledgeDocumentUpdate();this.#$t()}catch(w){throw this.#ft=M,h.editor=B,w}if(T!=null)this.#ze(T,a);this.#Ge(l)}#$e(t,e,n){let i=t.document;if(i==null||i.getText()===e)return;let s=this.#i,o=s?.map((a)=>[i.offsetAt(a.start),i.offsetAt(a.end)]),r={start:0,end:i.getText().length,text:e};if(i.applyResolvedEdits([r],!0,s,void 0,!0)==null)return;if(s!=null&&o!=null){let a=Et(i,s,o,[r]);i.setLastUndoSelectionsAfter(a),this.#i=a}if(this.#E!=null||n!=null)i.setLastUndoLineAnnotations(this.#E??[],n??[]);if(this.#r?.cleanUp(),this.#r=void 0,this.#zt(),this.#o.clear(),this.#u?.removePopover(),this.#k!==void 0&&this.#K!==void 0)this.#k.updateMatches({syncSelection:!1})}get#Nt(){return this.#f?.type==="file-diff"?this.#f:void 0}get#Bt(){return vs(this.#f)?this.#f:void 0}#Ct(t){return this.#Nt?.isLineRenderable?.(t+1)??!0}get#Ke(){let t=this.#Nt;if(t==null)return;return(e,n)=>{let i=t.getNearestRenderableLine(e+1,n);return i==null?void 0:i-1}}#Lt(t){if(!this.#Ct(t))this.#Nt?.revealLine?.(t+1)}get#Dt(){return this.#Nt?.options.diffStyle??"split"}get#G(){return this.type==="file-diff"}get#Z(){return this.#f?.options.overflow==="wrap"}#Kt(){return this.#l??=new Zt({hasActivePopover:()=>this.#I!==void 0||this.#u?.isPopoverVisible()===!0,updateActivePopover:()=>{this.#le(),this.#u?.updatePopoverPosition()}})}#zt(){this.#R.clear(),this.#O.clear(),this.#h=void 0}#he(t=!1){if(this.#Ft(null),this.#g=void 0,this.#L=void 0,this.#pe(),this.#bt=!1,this.#A?.forEach((e)=>e.remove()),this.#A=void 0,this.#S?.forEach((e)=>e.remove()),this.#S=void 0,this.#F?.forEach((e)=>e.remove()),this.#F=void 0,!t)this.#pt=void 0;this.#i=void 0,this.#st=void 0,this.#u?.cleanup(),this.#u=void 0,this.#k?.cleanup(),this.#k=void 0,this.#I?.cleanup(),this.#I=void 0,this.#it=!0}#fe(){let t=this.#x;if(t.generation++,t.callback!=null)D(t.callback),t.callback=void 0}#Ge(t){let e=this.#x,n=this.#t?.document;if(e.delivered||e.callback!=null||n==null)return;let{generation:i}=e,s=()=>{if(e.callback!==s)return;if(e.callback=void 0,i!==e.generation||this.#f!==t||this.#t?.document!==n)return;let o=this.#a,r=this.#v?.shadowRoot;if(o==null||r==null||!r.contains(o))return;e.delivered=!0,this.#n.onAttach?.(this,t)};e.callback=s,q(s)}#Xe(){let t=this.#Bt?.getEditorViewport?.();if(t!=null)return t;let e=this.#v;if(this.#f==null||e==null)return;return Qe(e)}#ue(){if(!this.#ut)return;let t=this.#Bt?.getEditorViewport?.();if(t instanceof HTMLElement)return t}#Ye(){this.#b=P("style",{dataset:"editorGlobalCss",textContent:`
56
+ }`),this.#r=t,this.#e=e??n.type,this.#l=i}#et(){if(this.#r==="")return;let{colorMap:t}=this.#n.setTheme(this.#r);this.#l=t}cleanUp(){this.#R=!0,this.stopBackgroundTokenize(),this.#E(),this.#L?.forEach((t)=>t()),this.#L=void 0}tokenize(t,e,n=!1){if(this.#B(),this.#et(),this.#s===void 0&&!Wt(this.#c.languageId))throw Error(`Grammar for language "${this.#c.languageId}" not loaded`);let{lineCount:i}=this.#c,{startingLine:s=0,totalLines:o=1/0}=e??{},r=o===1/0?i:Math.min(s+o,i),a=t.startLine,c=Math.max(s,a),l=e!==void 0&&o!==1/0&&t.lineDelta>0&&a<r&&t.endLine>=r,h=t.lineDelta===0&&(t.changedLineChanges?.every(([,,M])=>M===0)??!0);if(this.#C&&!h)this.#S.length=Math.min(this.#S.length,t.startLine);let d=n&&t.lineDelta!==0&&a>=s,f=h||e===void 0||a>=c,g=t.changedLineRanges??[[a,t.endLine]];this.#O=[],this.#h=0,this.#b=[];let m=-1;if(a<c){for(let[M,w]of g)if(M<c)m=Math.max(m,Math.min(w,c-1))}let C=m>=a&&(h||t.lineDelta<0);if(h)this.#I(a);else if(this.#pt(t),e===void 0||a>=c)this.#I(c);let v=0,L=g[v][1],x,b=0,E=h?g[v][0]:c,T=!1,k=new Map,I=C?new Map:void 0;if(I!==void 0&&!h){let M=Math.min(m+1,c,r);if(M>a){this.#I(M);let w=a,_=this.#o[w]??R;for(;w<M;w++){let O=this.#ct(w,_);_=O.state,I.set(w,O.resolvedTokens)}this.#o[M]=_}}let B=this.#o[E]??R;for(;E<r;){let M=h?this.#o[E+1]:d?this.#k(E+1):void 0;if(f)this.#o[E]=B;let{resolvedTokens:w,state:_}=this.#ct(E,B);if(B=_,E>=c)k.set(E,w);else I?.set(E,w);if(f)this.#o[E+1]=B;if(T=E>=L&&(h||d)&&M!==void 0&&B.equals(M),T){v++;let O=g[v];if(O===void 0)break;if(O[0]>=r){x=O[0],b=v;break}let y=this.#o[O[0]];if(d)for(let H=E+2;H<=O[0];H++){if(y=this.#k(H),y===void 0)break;this.#o[H]=y}if(y===void 0)L=O[1],E++;else E=O[0],B=y,L=O[1];T=!1;continue}E++}if(f)if(E<r)this.#o[E+1]=B;else this.#o[E]=B;if(T&&d&&x===void 0){for(let M=E+2;M<=i;M++){let w=this.#k(M);if(w===void 0)break;this.#o[M]=w}this.#O=[],this.#h=0,this.#b=[]}if(I!==void 0&&I.size>0)this.#p(I,this.#e);if(x!==void 0){if(this.#C&&h)this.#S.length=Math.min(this.#S.length,x);this.#ut(x,g,b)}else if(!T&&E<i){let M=l&&a>=c?r:a<c&&!h?a:E;if(this.#C&&h)this.#S.length=Math.min(this.#S.length,M);this.#ut(M,g,v)}return k}prebuildStateStack(t){this.#B(),this.#Y(t)}stopBackgroundTokenize(){if(this.#N=-1,this.#T)return;this.#T=!0,this.#M=!1,this.#y=-1,this.#a=-1,this.#P=void 0,this.#A=0,this.#O=[],this.#h=0,this.#b=[],this.#E()}pauseBackgroundTokenize(){if(this.#T||this.#M)return;if(this.#g)console.log("[diffs/editor] background tokenization paused",{jobId:this.#v});this.#M=!0}resumeBackgroundTokenize(){if(this.#T||!this.#M||this.#s===void 0||this.#y<0)return;if(this.#g)console.log("[diffs/editor] background tokenization resumed",{jobId:this.#v});this.#M=!1,this.#nt(this.#v)}#B(){if(this.#s===void 0&&!Wt(this.#c.languageId)&&this.#n.getLoadedLanguages().includes(this.#c.languageId))this.#s=this.#n.getLanguage(this.#c.languageId)}#ft(){if(this.#F)return;globalThis.addEventListener("message",this.#V),this.#F=!0}#E(){if(!this.#F)return;globalThis.removeEventListener("message",this.#V),this.#F=!1}#nt(t){globalThis.postMessage({type:"tokenize",tokenizerId:this.#W,jobId:t})}#ut(t,e,n=0){if(Wt(this.#c.languageId))return;let i=++this.#v;if(this.#g)console.log("[diffs/editor] background tokenization scheduled",{jobId:i,startLine:t,changedLineRanges:e,changedRangeIndex:n});if(this.#T=!1,this.#M=!1,this.#y=t,this.#a>=0)this.#N=Math.max(this.#N,this.#a);this.#a=-1,this.#P=e,this.#A=n,this.#ft(),this.#nt(i)}#D(t){if(this.#s===void 0||this.#o.length>t)return;if(!this.#T){if(this.#a>=0)this.#a=Math.max(this.#a,t);else this.#N=Math.max(this.#N,t);return}let e=++this.#v;this.#T=!1,this.#M=!1,this.#y=this.#o.length-1,this.#a=t,this.#N=-1,this.#P=void 0,this.#A=0,this.#ft(),this.#nt(e)}#ct(t,e){let n=this.#c.getLineText(t);if(n.length>this.#m)return console.warn(`[diffs] Line(${t}) too long to tokenize: ${n.length}`),this.#u(t,null),{resolvedTokens:[[0,"",n]],state:e};if(this.#s===void 0||n===""||n.trim()==="")return this.#u(t,null),{resolvedTokens:[[0,"",n]],state:e};let i=xe(this.#s,this.#l,n,e,Le,this.#C);return this.#u(t,i.bracketIgnoredRanges),{resolvedTokens:i.resolvedTokens,state:i.ruleStack}}#u(t,e){if(this.#C)this.#S[t]=e}#pt(t){let e=t.changedLineChanges??[[t.startLine,t.endLine,t.lineDelta]],n=t.startLine+1;if(n<=this.#o.length-n)this.#O=this.#o,this.#h=0,this.#o=this.#o.slice(0,n);else this.#h=n,this.#O=this.#o.slice(n),this.#o.length=Math.min(this.#o.length,n);this.#b=e}#k(t){let e=t;for(let n=this.#b.length-1;n>=0;n--){let[i,s,o]=this.#b[n];if(o===0)continue;if(e>s)e-=o;else if(e>i)return this.#o[t]}return this.#O[e-this.#h]??this.#o[t]}#I(t,e){let n=Math.min(Math.max(0,t),this.#c.lineCount);if(this.#o.length>n||this.#s===void 0)return!0;let i=e===void 0?0:performance.now(),s=this.#o.length-1,o=this.#o[s]??R;while(s<n){this.#o[s]=o;let r=this.#c.getLineText(s);if(r.length<=this.#m&&r!==""&&r.trim()!==""){let a=xe(this.#s,this.#l,r,o,Le,this.#C,!1);this.#u(s,a.bracketIgnoredRanges),o=a.ruleStack}else this.#u(s,null);if(s++,this.#o[s]=o,e!==void 0&&performance.now()-i>e)break}return s>=n}#it(t){if(this.#T||this.#M||this.#s===void 0||t!==this.#v)return;this.#et();let e=this.#I(this.#a,1);if(this.#T||this.#M||t!==this.#v)return;if(e){this.stopBackgroundTokenize();return}this.#y=this.#o.length-1,this.#nt(t)}#z(t){if(this.#T||this.#M||this.#s===void 0||t!==this.#v)return;this.#et();let e=performance.now(),n=new Map,i=this.#c.lineCount,s=this.#P,o=this.#y,r=this.#o[o]??R,a=!1,c=this.#A,l=s?.[c]?.[1];for(;o<i;){this.#o[o]=r;let h=l!==void 0?this.#k(o+1):void 0,d=this.#c.getLineText(o);if(d.length>this.#m)console.warn(`[diffs] Line(${o}) too long to tokenize: ${d.length}`),n.set(o,[[0,"",d]]),this.#u(o,null);else if(d===""||d.trim()==="")n.set(o,[[0,"",d]]),this.#u(o,null);else{let f=xe(this.#s,this.#l,d,r,Le,this.#C);n.set(o,f.resolvedTokens),this.#u(o,f.bracketIgnoredRanges),r=f.ruleStack}if(this.#o[o+1]=r,a=l!==void 0&&o>=l&&h!==void 0&&r.equals(h),o++,a){c++;let f=s?.[c];if(f===void 0)break;if(l=f[1],this.#o[f[0]]===void 0)a=!1;else{o=f[0],r=this.#o[o]??r,a=!1;continue}}if(performance.now()-e>1)break}if(this.#p(n,this.#e),this.#T||this.#M||t!==this.#v)return;if(a||o>=i){let h=this.#N;if(this.stopBackgroundTokenize(),h>=0)this.#D(h);return}this.#y=o,this.#A=c,this.#nt(t)}};function xe(t,e,n,i,s,o=!0,r=!0){let a=t.tokenizeLine2(n,i,s);if(a.stoppedEarly)console.warn(`[diffs] Time limit reached when tokenizing line: ${n.substring(0,100)}`);let c=a.tokens,l=c.length/2,h=[],d=[];if(!r&&!o)return{ruleStack:a.ruleStack,resolvedTokens:h,bracketIgnoredRanges:d};for(let f=0;f<l;f++){let g=c[2*f],m=f+1<l?c[2*f+2]:n.length;if(g===m)continue;let C=c[2*f+1];if(r){let v=G.getForeground(C);h.push([g,e[v],n.slice(g,m)])}if(o&&G.getTokenType(C)>0)d.push([g,m])}return{ruleStack:a.ruleStack,resolvedTokens:h,bracketIgnoredRanges:d}}function Vt(t){return t.map(([e,n,i])=>{if(e===0&&n===""){if(i==="")return P("br");return i}return P("span",{dataset:{char:e.toString()},style:`color:${n};`,textContent:i})})}function Wt(t){return t==="text"||t==="ansi"}function gs(t){let e=t.getSelection?.();if(e==null||e.rangeCount===0)return;let n=e.getRangeAt(0);return{collapsed:n.collapsed,startContainer:n.startContainer,startOffset:n.startOffset,endContainer:n.endContainer,endOffset:n.endOffset}}function ms(t,e){let n=me(t),i=n[n.length-1]??0;return{start:0,end:t.length,text:e,range:{start:{line:0,character:0},end:{line:n.length-1,character:t.length-i}}}}function vs(t){return t!=null&&"renderType"in t&&t.renderType==="virtualized"}var Cs=2,Ls=1e4,xs=300,Ss=256,Es=131072,bs=new TextEncoder,Se="selection-action",Ee="application/vnd.pierre.diffs-selections+json",ws=class{type;#n;#s;#t;#e=new ti;#r;#l;#c;#m;#w;#p;#x={generation:0,callback:void 0,delivered:!1};#C;#g;#L;#R=new Map;#o=new Map;#O=new Map;#h;#b;#y;#T;#M;#v;#W;#a;#N;#P;#A;#S;#F;#Y;#V;#f;#tt;#at;#et;#B=!1;#ft=!1;#E;#nt;#ut;#D;#ct;#u;#pt;#k;#I;#it=!0;#z=!1;#bt=!1;#H=!1;#_;#Ut=!1;#Ot=!1;#lt=!1;#gt;#jt=!1;#q;#Pt="";#It;#Zt;#i;#K;#st;#wt;#Wt=!1;#yt=!1;#mt=!1;#Qt=!1;#Tt;#_t;#vt;#Jt=0;#Vt=!1;#te=!1;#j;#At=[];#ee=new Map;#ne=new Map;#We=(t,e)=>{if(!this.#B)return;if(this.#f?.updateRenderCache(t,e),this.#D!==void 0&&this.#D.totalLines!==1/0){let n=this.#j===void 0?void 0:new Set(this.#j.response.edits.map((a)=>a.range.start.line)),i=!1,{startingLine:s,totalLines:o}=this.#D,r=Math.min(s+o,(this.#t??this.#s)?.document?.lineCount??0);for(let[a,c]of t)if(a>=s&&a<r){let l=this.#J(a);if(l!==void 0)l.replaceChildren(...Vt(c)),i||=n?.has(a)===!0}if(i&&this.#i!==void 0)this.#d(this.#i)}};constructor(t,e={},n){this.type=t,this.#n=e,this.#ut=e.ownsVerticalViewport===!0,this.#s=e.initialState,this.#nt=n}get#ie(){return this.type==="file"?this:this}setOptions(t){let e=this.#n.renderCaret,n=this.#n.editPrediction;if(this.#n={...this.#n,...t},e!==this.#n.renderCaret)this.#S?.forEach((i)=>i.remove()),this.#S=void 0,this.#xt();if(n!==this.#n.editPrediction)this.#ot(!0),this.#At=[],this.#Mt()}__emitEditComplete(t){this.#n.onComplete?.(t)}__getGhostTextRows(){return this.#ne}setCarets(t){let e=this.#t?.document;if(e===void 0)return;this.#S?.forEach((n)=>n.remove()),this.#S=void 0,this.#F?.forEach((n)=>n.remove()),this.#F=void 0,this.#pt=t.length===0?void 0:t.map((n)=>{let i=e.normalizePosition(n.anchor),s=e.normalizePosition(n.focus);return{caret:{...n,anchor:i,focus:s},anchorOffset:e.offsetAt(i),focusOffset:e.offsetAt(s)}}),this.#xt()}edit(t){let e=this.#ie,n=this.#t;if(this.#B)throw Error("Editor.edit: the editor is already rendering its component");if(this.#f!=null&&this.#f!==t)throw Error("Editor.edit: a recycled edit session cannot attach to a different component");if(t.type==="file-diff"&&this.#t==null&&!t.__canAttachEditor())throw Error("Editor.edit: a complete diff is required before editing");let i=this.#s,s=i?.editor,o=this.#nt,r=ys({type:this.type,editStateKey:o,owner:this,initialState:i,previousSession:n}),a=r.diffSession;this.#s=void 0,this.#t=r,this.#f=t,this.#B=!0,this.#ft=r.editor!=null;try{if(this.#Ye(),t.type==="file"&&e.type==="file")if(e.#tt=t.applyDocumentChange.bind(t),e.#at=t.applySuspendedDocumentChange.bind(t),e.#et=(c,l,h)=>{let d={changes:c,file:l,editor:e,lineAnnotations:h};t.__acceptEditorChange(d),e.#n.onChange?.(d),t.emitEditChange(d)},this.#p==null)this.#p=t.__attachEditor(e);else t.__resumeEditor(e);else if(t.type==="file-diff"&&e.type==="file-diff")if(e.#tt=t.applyDocumentChange.bind(t),e.#at=t.applySuspendedDocumentChange.bind(t),e.#et=(c,l,h)=>{let d={changes:c,file:l,editor:e,lineAnnotations:h};t.__acceptEditorChange(d),e.#n.onChange?.(d),t.emitEditChange(d)},this.#p==null)this.#p=t.__attachEditor(e);else t.__resumeEditor(e);else throw Error("Editor.edit: Impossible edit state")}catch(c){if(this.cleanUp("recycle"),r.type==="file-diff"&&r.diffSession==null)r.diffSession=a;if(this.#p==null&&o!=null)if(e.type==="file")ot.releaseFile(o,e);else ot.releaseFileDiff(o,e);if(this.#t=n,this.#p==null)this.#f=void 0,this.#tt=void 0,this.#at=void 0,this.#et=void 0;if(i!=null&&s!=null)i.editor=s;throw this.#s=i,c}return()=>{this.cleanUp("complete")}}applyEdits(t,e=!0){let n=this.#t?.document;if(n==null)throw Error("Editor.applyEdits: Editor is not attached");let i=this.#H,s=this.#i,o=s?.map((l)=>[n.offsetAt(l.start),n.offsetAt(l.end)]),r=s===void 0?void 0:n.resolveEdits(t).sort((l,h)=>l.start-h.start),a=n.applyEdits(t,e,s);if(a===void 0)return;let c;if(s!==void 0&&o!==void 0&&r!==void 0){if(c=Et(n,s,o,r),e)n.setLastUndoSelectionsAfter(c)}this.#U(a,c,this.#Q(a),{skipFocus:!i})}get canUndo(){return(this.#t??this.#s)?.document?.canUndo??!1}get canRedo(){return(this.#t??this.#s)?.document?.canRedo??!1}undo(){this.#re("undo")}redo(){this.#re("redo")}getFile(){let t=this.#t??this.#s,e=t?.fileInfo,n=t?.document;if(e===void 0||n===void 0)return;let i={...e};return Object.defineProperty(i,"contents",{enumerable:!0,get:()=>n.getText()}),i}getText(){return(this.#t??this.#s)?.document?.getText()??""}getViewState(){let t=this.#B?this.#f:void 0;if(!this.#B&&this.#t?.editor!=null)return At(this.#t.editor);let e=this.#i?.map((s)=>({...s,start:{...s.start},end:{...s.end}}));if(t==null)return{selections:e};let n=this.#ue(),i=t.getCodeScrollLeft();if(n==null)return{selections:e,view:{scrollLeft:i}};return{selections:e,view:{scrollLeft:i,scrollTop:n.scrollTop}}}getEditState(){let t=this.#t;if(t==null)return;if(this.#f==null)throw Error(`Editor.getEditState: active ${this.type} session has no component`);return vt(t)}setViewState({selections:t,view:e}){if(!this.#B||this.#f===void 0||this.#t?.document===void 0)throw Error("Editor.setViewState: Editor is not attached");if(this.#it=!1,this.#d(t??[]),e!=null){this.#f.setCodeScrollLeft(e.scrollLeft);let n=this.#ue();if(e.scrollTop!==void 0&&n!=null)n.scrollTop=e.scrollTop}else if(this.#ut)this.#rt();this.#$t()}setSelections(t){let e=this.#t?.document;if(e===void 0)throw Error("Editor.setSelections: Text document is not initialized");let n=t.map((s)=>{let o=e.normalizePosition(s.start),r=e.normalizePosition(s.end),a=s.direction==="none"?0:s.direction==="backward"?-1:1;if(z(o,r)>0){if([o,r]=[r,o],a!==0)a=a===1?-1:1}return{direction:a,start:o,end:r}});this.#it=!1,this.#d(n);let i=n.at(-1);if(i!==void 0)this.#Lt(W(i).line);this.#rt()}setMarkers(t){let e=this.#t?.document;if(e===void 0)throw Error("Editor.setMarkers: Text document is not initialized");if(t.length===0){this.#u?.cleanup(),this.#u=void 0,this.#d(this.#i??[]);return}if(this.#u??=new ue({popoverManager:this.#Kt(),getLineHeight:()=>this.#e.lineHeight,getOverlayElement:()=>this.#P,getGutterWidth:()=>this.#dt(),getCharX:(n,i)=>this.#X(n,i),getLineY:(n)=>this.#ht(n),isMouseDown:()=>this.#lt||this.#Ot}),this.#u.setMarkers(t,e),this.#a!==void 0)this.#u.listenHover(this.#a);this.#d(this.#i??[]),this.#xt()}focus(t){let e=t?.preventScroll??!1,n=t?.lineNumber;if(n==="first-visible"||typeof n==="number"){let s=this.#t?.document;if(s==null||!this.#B||this.#f==null)return;let o=n==="first-visible"?this.#in(t?.offset):n;if(o==null)return;let r=s.normalizePosition({line:o-1,character:n==="first-visible"?0:t?.character??0});this.#sn(r,e);return}let i=this.#i?.at(-1);if(i!==void 0){let s=i.direction===-1?i.end:i.start;this.#$(s,e)}else this.#$(void 0,e)}blur(){this.#_=void 0,this.#H=!1,this.#z=!1,this.#a?.blur()}cleanUp(t="discard"){let e=this.#f,n=t==="recycle";if(this.#ot(!0,!1),!n)this.#At=[];let i=this.#t;if(e!=null&&i!=null){let s=!this.#$t();if(!n)this.#Ve(s)}if(this.#fe(),!n)this.#x.delivered=!1;if(this.#B=!1,D(this.#me),this.#r?.cleanUp(),this.#r=void 0,this.#m?.forEach((s)=>s()),this.#m=void 0,this.#c?.forEach((s)=>s()),this.#c=void 0,!n)this.#p?.(),this.#p=void 0;if(this.#g=void 0,this.#L=void 0,this.#R.clear(),this.#o.clear(),this.#O.clear(),this.#h=void 0,this.#b?.remove(),this.#b=void 0,this.#y?.remove(),this.#y=void 0,this.#T?.remove(),this.#T=void 0,this.#M?.remove(),this.#M=void 0,this.#v=void 0,this.#l?.cleanUp(),this.#l=void 0,this.#W=void 0,this.#N=void 0,this.#a?.removeAttribute("contentEditable"),this.#a=void 0,this.#_=void 0,this.#H=!1,this.#P?.remove(),this.#P=void 0,this.#V?.disconnect(),this.#V=void 0,this.#Qt=!1,this.#Tt!==void 0)cancelAnimationFrame(this.#Tt),this.#Tt=void 0;if(this.#he(n),!n)try{if(e!=null&&i!=null){let s=this.#ie,o=t==="complete"?"install":"discard";if(e.type==="file"&&s.type==="file")e.__completeEditSession(s,o);else if(e.type==="file-diff"&&s.type==="file-diff")e.__completeEditSession(s,o);else throw Error("Editor.cleanUp: Impossible edit state")}}finally{this.#t=void 0,this.#f=void 0,this.#tt=void 0,this.#at=void 0,this.#et=void 0}}#$t(){let t=this.#f,e=this.#t;if(t==null||e==null)return!1;let n=this.#B?this.getViewState():e.editor??{},{view:i}=n,s=i!=null&&(i.scrollLeft!==0||(i.scrollTop??0)!==0),o=n.selections!=null||s;if(e.editor=At(n),e.type==="file")return!1;let r=t.__captureDocumentSessionState();if(r==null)return e.diffSession=void 0,!1;e.diffSession=r.diffSession;let a=e.document;return r.hasChanges||o||a?.canUndo===!0||a?.canRedo===!0}#Ve(t=!1){let e=this.#nt;if(e==null)return;let n=this.#ie;if(n.type==="file")ot.releaseFile(e,n);else ot.releaseFileDiff(e,n,t)}__postponeBgTokenizeToNextFrame(){let t=this.#r;if(t!==void 0)t.pauseBackgroundTokenize(),requestAnimationFrame(()=>{t.resumeBackgroundTokenize()})}__captureFocusForDOMReplacement(){let t=this.#a,e=this.#v?.shadowRoot?.activeElement;if(t!=null&&(this.#H||e===t||e!=null&&t.contains(e)))this.#_={}}__getDocumentContents(t){let e=this.#t?.fileInfo,n=this.#t?.document;if(n==null)return e==null||t==null?void 0:{...e,contents:t.contents};let i=e??t;if(i==null)return;return{name:i.name,lang:i.lang,contents:n.getText()}}__getDocumentSessionState(){let t=this.#t?.diffSession;return t!=null?On(t):void 0}__syncRenderView(t){let{highlighter:e,fileContainer:n,renderRange:i,externalDocument:s=!1}=t,o=t,r;if("file"in o&&this.type==="file")r=o.file;else if("fileDiff"in o&&this.type==="file-diff")r=o.fileDiff;else throw Error("Editor.__syncRenderView: Impossible render state");let a=o.lineAnnotations,c=this.#nt,l=this.#f,h=this.#t;if(!this.#B||l==null||h==null)return;let d=n.shadowRoot;if(d==null){console.error("[editor] Could not find the shadow root.");return}let f,g,m,C,v;for(let w of d.querySelectorAll("[data-code]")){let _=w.dataset.deletions!=null;if(!_)f=w;for(let O of w.children){if(!(O instanceof HTMLElement))continue;let{gutter:y,content:H}=O.dataset;if(y!=null)if(_)C=O;else g=O;else if(H!=null)if(_)v=O;else m=O}}if(v==null)this.#N=void 0;else if(C==null)throw Error("Editor.__syncRenderView: the deletions column has no gutter");else this.#N={content:v,gutter:C};if(f===void 0||m===void 0){this.#_=void 0;return}if(this.#Kt().setViewportElements(n,f),this.#v!==n){if(this.#v=n,this.#b!==void 0)n.appendChild(this.#b);if(this.#y!==void 0)d.appendChild(this.#y);if(this.#T!==void 0)d.appendChild(this.#T);if(this.#M!==void 0)d.prepend(this.#M)}let L=r.lang??p(r.name),x="contents"in r?r.contents:r.additionLines.join(""),b=h.document,E=t.resetHistory??(b!=null&&h.fileInfo!=null&&(h.fileInfo.name!==r.name||b.languageId!==L)),T=s&&b!==void 0&&b.getText()!==x?[ms(b.getText(),x)]:void 0,k=s&&E;if(h.document==null||h.fileInfo==null||c==null&&(h.fileInfo.name!==r.name||h.document.languageId!==L)||k){this.#ot(!0),this.#At=[],this.#fe();let{name:w,lang:_}=r,O=k||c==null&&h.fileInfo!=null?void 0:h.document;if(b!=null&&O==null)h.editor=void 0;if(O==null){let y=new bt({maxEntries:this.#n.historyMaxEntries});O=new Yt(r.name,x,L,0,y)}if(h.fileInfo={name:w,lang:_},h.document=O,k)h.diffSession=void 0;if(this.#r?.cleanUp(),this.#r=void 0,this.#he(),this.#o.clear(),this.#i=this.#Zt,this.#n.__debug===!0)console.log("[diffs/editor] text document initialized from",r.name)}if(s&&!k){this.#$e(h,x,a);let{name:w,lang:_}=r;h.fileInfo={name:w,lang:_}}let I=h.document;if(this.#r==null&&I!=null)this.#r=new ii({highlighter:e,textDocument:I,codeOptions:this.#f?.__getEffectiveCodeOptions()??{},matchBrackets:this.#n.matchBrackets,onDeferTokenize:this.#We,onThemeChange:()=>this.#on(),setStyle:(w)=>{this.#T.textContent=w},__debug:this.#n.__debug});if(this.#a!==m){if(this.#W=g,this.#a=qe(m,{contentEditable:"true",role:"textbox",ariaMultiLine:"true",autocapitalize:"off",writingSuggestions:"off",autocorrect:!1,spellcheck:!1,translate:!1}),this.#P!==void 0)m.after(this.#P);if(this.#e.init(m),this.#en(),this.#qe(m,g),this.#a!==void 0&&this.#n.__debug===!0)console.log("[diffs/editor] full re-render triggered !!!")}if(this.#_!=null)this.#_.target=m;if(m.ariaLabel!==r.name)m.ariaLabel=r.name;if(a!==void 0&&a.length>0||this.#G)for(let w of this.#a.children){let _=w,{lineAnnotation:O,lineType:y,separator:H}=_.dataset;if(O!==void 0||H!==void 0||y==="change-deletion")_.setAttribute("contenteditable","false")}this.#zt(),this.#r?.syncTheme(this.#f?.__getEffectiveCodeOptions()??{}),this.#E=a,this.#D=i,this.#ct=i?.totalLines,this.#r?.prebuildStateStack(i);let B=h.editor,M=this.#ft;try{if(this.#u?.removePopover(),this.#i!==void 0||this.#K!==void 0||this.#u!==void 0)this.#d(this.#i??[]);if(this.#xt(),this.#te)this.#Mt();if(this.#Zt!==void 0&&this.#Y!==void 0)this.#Zt=void 0,this.#rt(!1,"center");else if(this.#st!==void 0)this.#ae(this.#st,this.#wt,this.#yt);else if(this.#_!==void 0)this.#oe();else if(this.#i!==void 0&&this.#i.length>0&&this.#H&&!this.#mt)this.focus({preventScroll:!0});if(this.#mt)this.#k?.focus();if(M){if(this.#ft=!1,B!==void 0)this.setViewState(B)}if(this.#n.__debug===!0&&i!==void 0){let{startingLine:w,totalLines:_}=i;console.log("[diffs/editor] render file:",r.name,"RenderRange:",w+"-"+(w+_),"of",h.document?.lineCount,"lines")}if(s)l.__acknowledgeDocumentUpdate();this.#$t()}catch(w){throw this.#ft=M,h.editor=B,w}if(T!=null)this.#ze(T,a);this.#Ge(l)}#$e(t,e,n){let i=t.document;if(i==null||i.getText()===e)return;let s=this.#i,o=s?.map((a)=>[i.offsetAt(a.start),i.offsetAt(a.end)]),r={start:0,end:i.getText().length,text:e};if(i.applyResolvedEdits([r],!0,s,void 0,!0)==null)return;if(s!=null&&o!=null){let a=Et(i,s,o,[r]);i.setLastUndoSelectionsAfter(a),this.#i=a}if(this.#E!=null||n!=null)i.setLastUndoLineAnnotations(this.#E??[],n??[]);if(this.#r?.cleanUp(),this.#r=void 0,this.#zt(),this.#o.clear(),this.#u?.removePopover(),this.#k!==void 0&&this.#K!==void 0)this.#k.updateMatches({syncSelection:!1})}get#Nt(){return this.#f?.type==="file-diff"?this.#f:void 0}get#Bt(){return vs(this.#f)?this.#f:void 0}#Ct(t){return this.#Nt?.isLineRenderable?.(t+1)??!0}get#Ke(){let t=this.#Nt;if(t==null)return;return(e,n)=>{let i=t.getNearestRenderableLine(e+1,n);return i==null?void 0:i-1}}#Lt(t){if(!this.#Ct(t))this.#Nt?.revealLine?.(t+1)}get#Dt(){return this.#Nt?.options.diffStyle??"split"}get#G(){return this.type==="file-diff"}get#Z(){return this.#f?.options.overflow==="wrap"}#Kt(){return this.#l??=new Zt({hasActivePopover:()=>this.#I!==void 0||this.#u?.isPopoverVisible()===!0,updateActivePopover:()=>{this.#le(),this.#u?.updatePopoverPosition()}})}#zt(){this.#R.clear(),this.#O.clear(),this.#h=void 0}#he(t=!1){if(this.#Ft(null),this.#g=void 0,this.#L=void 0,this.#pe(),this.#bt=!1,this.#A?.forEach((e)=>e.remove()),this.#A=void 0,this.#S?.forEach((e)=>e.remove()),this.#S=void 0,this.#F?.forEach((e)=>e.remove()),this.#F=void 0,!t)this.#pt=void 0;this.#i=void 0,this.#st=void 0,this.#u?.cleanup(),this.#u=void 0,this.#k?.cleanup(),this.#k=void 0,this.#I?.cleanup(),this.#I=void 0,this.#it=!0}#fe(){let t=this.#x;if(t.generation++,t.callback!=null)D(t.callback),t.callback=void 0}#Ge(t){let e=this.#x,n=this.#t?.document;if(e.delivered||e.callback!=null||n==null)return;let{generation:i}=e,s=()=>{if(e.callback!==s)return;if(e.callback=void 0,i!==e.generation||this.#f!==t||this.#t?.document!==n)return;let o=this.#a,r=this.#v?.shadowRoot;if(o==null||r==null||!r.contains(o))return;e.delivered=!0,this.#n.onAttach?.(this,t)};e.callback=s,q(s)}#Xe(){let t=this.#Bt?.getEditorViewport?.();if(t!=null)return t;let e=this.#v;if(this.#f==null||e==null)return;return Qe(e)}#ue(){if(!this.#ut)return;let t=this.#Bt?.getEditorViewport?.();if(t instanceof HTMLElement)return t}#Ye(){this.#b=P("style",{dataset:"editorGlobalCss",textContent:`
57
57
  [data-annotation-slot] {
58
58
  user-select: none;
59
59
  -webkit-user-select: none;
60
60
  }
61
- `}),this.#y=P("style",{dataset:"editorCss",textContent:Pn}),this.#T=P("style",{dataset:"editorThemeCss"}),this.#M=jn(),this.#P=P("div",{dataset:"editorOverlay"});let t=(i)=>{let s=i.composedPath()[0];return s instanceof Node&&this.#a?.contains(s)===!0},e=()=>{if(this.#_==null)return;this.#_=void 0,this.#H=!1,this.#z=!1},n=(i)=>{if(i.pointerType!=="mouse")return;let s=this.#Ot;if(this.#pe(),s)this.#$();if(this.#n.enabledSelectionAction===!0&&this.#i!==void 0&&this.#i.length>0&&!F(this.#i.at(-1)))this.#d(this.#i)};this.#m=[N(document,"focusin",(i)=>{if(!t(i))e()},{passive:!0}),N(document,"pointerdown",(i)=>{if(!t(i))queueMicrotask(e)},{capture:!0,passive:!0}),N(document,"selectionchange",()=>{let i=this.#v?.shadowRoot;if(this.#z||this.#bt||i==null||!this.#H)return;if(this.#i!==void 0&&this.#i.length>1&&!this.#lt)return;let s=document.getSelection();if(s==null)return;let o;if(typeof s.getComposedRanges==="function")o=s.getComposedRanges({shadowRoots:[i]})?.[0];else o=gs(i);if(o===void 0||!this.#wn(o))return;let r=ln(o,0);if(r===void 0)return;if(this.#lt&&this.#jt&&this.#i!==void 0&&this.#i.length>0){let a=this.#i.at(-1);this.#d([oe(a,r)]);return}if(this.#q!==void 0)r.direction=se(this.#q,r).direction;else if(this.#lt)this.#q=r;else if(this.#i!==void 0&&this.#i.length===1){let a=this.#i[0];if(z(a.start,r.start)===0&&z(a.end,r.end)===0)r.direction=a.direction}if(this.#gt!==void 0){if(this.#gt.focusLine=W(r).line,this.#Ae())return}if(this.#It!==void 0)this.#d([...this.#It.filter((a)=>!St(a,r)),r]);else this.#d([r])},{passive:!0}),N(document,"pointerup",n,{passive:!0}),N(document,"pointercancel",n,{passive:!0}),N(document,"keydown",(i)=>{if(i.key==="Shift")this.#q=this.#i?.at(-1);else if(i.key==="Alt"&&!i.repeat&&this.#H&&this.#n.editPrediction?.mode==="subtle")this.#Vt=!this.#Vt,this.#d(this.#i??[])},{passive:!0}),N(document,"keyup",(i)=>{if(i.key==="Shift")this.#q=void 0},{passive:!0})]}#pe(){this.#w?.forEach((t)=>t()),this.#w=void 0,this.#z=!1,this.#Ot=!1,this.#lt=!1,this.#gt=void 0,this.#jt=!1,this.#q=void 0,this.#It=void 0}#se(t){this.#w?.forEach((e)=>e()),this.#w=t}#ge(){return this.#f?.options.enableLineSelection===!0}#Gt(){this.#bt=this.#i!==void 0}#qe(t,e){let{onFocus:n,onBlur:i}=this.#n,s=(r)=>{let a=r.composedPath()[0];return a!==void 0&&(a===t||t.contains(a))};this.#c?.forEach((r)=>r()),this.#c=[N(t,"focus",()=>{if(this.#H=!0,n?.(),!this.#lt&&!this.#z&&this.#i!==void 0&&this.#i.length>0)this.#Ht(this.#i.at(-1))},{passive:!0}),N(t,"blur",()=>{if(this.#_?.target===t)this.#_=void 0,this.#z=!1;this.#H=!1,i?.()},{passive:!0}),N(t,"pointerdown",(r)=>{if(this.#it=!0,this.#bt=!1,r.pointerType!=="mouse")return;if(this.#gt=void 0,this.#rn(r)){if(this.#Yt(!0),this.#i!==void 0)this.#d([]);return}this.#Yt(!1),this.#u?.removePopover();let a=[];if(ie()&&this.#E!==void 0&&this.#E.length>0){let l=[...t.querySelectorAll("[data-line-annotation]")].map((h)=>[N(h,"mouseenter",()=>{this.#z=!0}),N(h,"mouseleave",()=>{this.#z=!1})]).flat();a.push(...l)}this.#lt=!0;let c=r.button===0&&r.altKey&&!r.ctrlKey&&!r.metaKey&&!r.shiftKey;if(this.#q=void 0,c)this.#gt={pointerId:r.pointerId,startClientX:r.clientX,clientX:r.clientX,startScrollLeft:t.parentElement?.scrollLeft??0},this.#It=void 0,this.#i=void 0,this.#d([]),a.push(N(document,"pointermove",(l)=>{let h=this.#gt;if(h===void 0||l.pointerType!=="mouse"||l.pointerId!==h.pointerId)return;h.clientX=l.clientX,this.#Ae()},{capture:!0,passive:!0}));else if(r.button===0&&et(r))this.#It=this.#i?.map((l)=>({...l}));if(this.#se(a),r.shiftKey){let l=this.#i?.at(-1);if(l!==void 0){let h=l.direction===-1?l.end:l.start;this.#Ht({start:h,end:h,direction:0})}this.#jt=!0}},{passive:!0}),N(t,"keydown",(r)=>{if(!s(r))return;if(this.#it=!0,this.#bt=!1,r.isComposing||r.keyCode===229)return;if(r.key==="Tab"&&!r.shiftKey&&!r.ctrlKey&&!r.metaKey&&!r.isComposing&&!this.#Ut&&(!r.altKey||this.#n.editPrediction?.mode==="subtle")&&this.#j?.rendered===!0){this.#fn(),r.preventDefault();return}if(r.key==="Escape"&&this.#j!==void 0){this.#ot(!0),r.preventDefault();return}let a=qt(r,this.#n.keymap);if(a!==void 0){if(r.preventDefault(),a==="simplifySelection")this.#k?.close(),this.#k=void 0,this.#mt=!1,this.#I?.cleanup(),this.#I=void 0;this.#re(a);return}let c=$e(r),l=this.#t?.document;if(this.#i!==void 0&&this.#i.length>0&&c!==void 0&&l!==void 0){let h={getSoftLineOffsets:this.#Z?(d)=>this.#qt(d):void 0,resolveRenderableLine:this.#Ke};if(r.shiftKey)this.#d(fn(l,this.#i,c,h));else this.#d(ne(l,this.#i,c,h));this.#rt(),r.preventDefault();return}if((r.key.length===1?r.key.toLowerCase():r.key)==="v"&&et(r)){if(r.repeat&&this.#G){r.preventDefault();return}if(this.#n.clipboard!==void 0){r.preventDefault(),q(this.#me);return}}if(this.#k!==void 0){let h=ct(r);if(h!==void 0){r.preventDefault(),this.#k.navigate(h==="previous");return}}}),N(t,"copy",(r)=>{if(!s(r))return;if(r.preventDefault(),this.#ye())r.clipboardData?.setData("text",this.#Te());else this.#Be(r.clipboardData,this.#vn(),this.#Ne())}),N(t,"cut",(r)=>{if(!s(r))return;if(r.preventDefault(),this.#ye())r.clipboardData?.setData("text",this.#Te());else{let a=this.#Ne();this.#Be(r.clipboardData,this.#Cn(),a)}}),N(t,"paste",(r)=>{if(!s(r))return;r.preventDefault();let a=r.clipboardData,c=this.#t?.document;if(a===null||c===void 0)return;let l=a.getData("text"),h=this.#i?.length??0;if(h>1){let d=a.getData(Ee);if(d!==void 0)try{let f=JSON.parse(d);if(Array.isArray(f)&&f.length===h)l=f}catch{}}this.#Rt(Array.isArray(l)?l.map((d)=>c.normalizeEol(d)):c.normalizeEol(l),void 0,!0,"document")}),N(t,"beforeinput",(r)=>{if(!s(r))return;if(r.inputType==="insertCompositionText"){this.#ot(!0);return}r.preventDefault(),this.#Ce(r.inputType,r.data)}),N(t,"drop",(r)=>{if(!s(r))return;r.preventDefault()}),N(t,"compositionstart",(r)=>{if(!s(r))return;this.#ot(!0),this.#Ut=!0,this.#z=!0},{passive:!0}),N(t,"compositionend",(r)=>{if(!s(r))return;this.#z=!1;let a=this.#Ut;if(this.#Ut=!1,r.data!==""||!a)this.#Ce("insertText",r.data)},{passive:!0})];let o=this.#v?.shadowRoot?.querySelector("[data-deletions]");if(o!=null)this.#c.push(N(o,"pointerdown",(r)=>{let a=r.composedPath();if(re(a)){this.#Gt();return}let c=a[0],l=c instanceof HTMLElement?c.closest("[data-column-number]"):null;if(l instanceof HTMLElement){if(this.#ge()){this.#Gt();return}if(this.#we(l,o,r.pointerType==="mouse"))return}if(this.#Yt(!0),this.#i!==void 0)this.#d([])},{passive:!0}));if(e!==void 0){let r=(c,l=!1)=>{let h=c;if(h?.dataset.lineNumberContent!==void 0)h=h.parentElement??void 0;else if(l&&h?.tagName==="SPAN")h=h.closest("[data-line]");return h},a=(c)=>{if(c===void 0)return;let l=c.dataset.lineType,h=X(c)??X(c,"columnNumber");if(h===void 0||l===void 0||!ht(l))return;return h-1};this.#c.push(N(e,"pointerdown",(c)=>{let l=c.composedPath();if(re(l)){this.#Gt();return}let h=r(l[0]);if(h!==void 0&&this.#ge()){this.#Gt();return}if(h?.dataset.lineType==="change-deletion"){let m=h.closest("[data-code]");if(m!=null)this.#we(h,m,c.pointerType==="mouse");return}if(c.pointerType!=="mouse")return;let d=this.#t?.document,f=a(h);if(f===void 0||d===void 0)return;this.#it=!0,this.#u?.removePopover();let g=this.#Se(f,f,d);this.#Ot=!0,this.#q=g,this.#d([g]),this.#Ht(g),this.#$(),this.#se([N(document,"mousemove",(m)=>{if(!this.#Ot)return;let C=this.#t?.document,v=a(r(m.composedPath()[0],!0));if(v===void 0||C===void 0)return;let L=this.#q?.start.line??v,x=this.#Se(L,v,C);this.#q??=x,this.#d([x]),this.#$(x.direction===-1?x.start:x.end)},{passive:!0})])},{passive:!0}))}this.#u?.listenHover(t),this.#V?.disconnect(),this.#V=new ResizeObserver(this.#tn),this.#V.observe(t),this.#V.observe(t.parentElement),this.#ve(t)}#me=async()=>{let t=this.#n.clipboard;if(t!==void 0){let e=await t.readText(),n=this.#i?.length??0;if(n>1){let s=await t.readText(Ee);try{let o=JSON.parse(s);if(Array.isArray(o)&&o.length===n)e=o}catch{}}let i=this.#t?.document;if(i!=null)this.#Rt(Array.isArray(e)?e.map((s)=>i.normalizeEol(s)):i.normalizeEol(e),void 0,!0,"document")}};#ve(t){if(this.#G&&this.#Dt==="split"&&this.#Z){if(this.#C={top:t.offsetTop-this.#e.paddingTop,left:t.offsetLeft-this.#dt()},this.#n.__debug===!0)console.log("[diffs/editor] content offset:",this.#C)}}get#kt(){if(this.#G&&this.#Dt==="split"&&this.#Z)return this.#C}#re(t){let e=this.#t?.document;if(e==null)return;switch(t){case"openSearchPanel":this.#_e("find");break;case"openSearchReplacePanel":this.#_e("replace");break;case"findNextMatch":{let n=this.#i;if(n===void 0)break;if(n.some(F)){let i=n.map((s)=>{if(F(s))return Ft(e,s);return s});this.#d(i),this.focus()}else{let i=En(e,n);if(i!==void 0){this.#d(i);let s=i.at(-1);if(s!==void 0)this.#Lt(W(s).line);this.#rt()}}break}case"moveLineUp":case"moveLineDown":this.#Je(t==="moveLineUp"?-1:1);break;case"copyLineUp":case"copyLineDown":this.#Ze(t==="copyLineUp"?-1:1);break;case"simplifySelection":{let n=this.#i,i=n?.at(-1);if(n===void 0||i===void 0)break;if(n.length>1)this.#d([i]),this.#$(W(i));else if(!F(i)){let s=W(i);this.#d([{start:s,end:s,direction:0}]),this.#$(s)}break}case"insertBlankLine":this.#Qe();break;case"deleteHardLineForward":this.#En();break;case"toggleComment":case"toggleBlockComment":{let n=this.#i;if(n===void 0)break;let{lineComment:i,blockComment:s}=Wn(e.languageId,this.#n.languageCommentConfig);if(t==="toggleComment"&&i!==null){this.#Xt(Vn(e,n,i));break}let o=t==="toggleComment",r=$n(e,n,s,o);if(r!==void 0)this.#Xt(r.edits,o?void 0:(a)=>r.nextSelectionOffsets.map(([c,l,h])=>({start:a.positionAt(c),end:a.positionAt(l),direction:h})));break}case"indent":case"outdent":case"indentLess":case"indentMore":if(this.#i!==void 0){let n=[],i=[],s=new Set,o=[];for(let a of this.#i){let c=a.start.line,l=t==="outdent"||t==="indentLess",h=t==="indentLess"||t==="indentMore";if(c!==a.end.line||l||h){let d=dn(e,a,this.#e.tabSize,l);for(let f of d[0]){let g=f.range.start.line;if(!s.has(g))s.add(g),n.push(f)}i.push(d[1])}else{let d=e.charAt({line:c,character:0})==="\t"?"\t":" ".repeat(this.#e.tabSize);n.push({range:a,newText:d}),o.push({line:c,startCharacter:a.start.character,addedLength:d.length-(a.end.character-a.start.character),selectionIndex:i.length});let f={line:a.start.line,character:a.start.character+d.length};i.push({start:f,end:f,direction:0})}}for(let a of o){let c=0;for(let l of o)if(l.line===a.line&&l.startCharacter<a.startCharacter)c+=l.addedLength;if(c!==0){let l=i[a.selectionIndex],h={line:a.line,character:l.start.character+c};i[a.selectionIndex]={start:h,end:h,direction:0}}}let r=e.applyEdits(n,!0,this.#i,i);if(r!==void 0)this.#U(r,i)}break;case"selectAll":{let n=bn(e);this.#d([n]),this.focus();let i=this.#He(),s=i[0]?.[0],o=i.at(-1)?.[1];if(s!==void 0&&o!==void 0)this.#bt=!0,this.#Ht({start:{line:s,character:0},end:{line:o,character:e.getLineLength(o)},direction:1});break}case"moveCursorToDocStart":case"moveCursorToDocEnd":{let n=le(e,t==="moveCursorToDocEnd",this.#G);this.#d([n]),this.#Lt(W(n).line),this.#rt()}break;case"expandSelectionDocStart":case"expandSelectionDocEnd":{let n=t==="expandSelectionDocEnd",i=this.#i;if(i!==void 0){let s=le(e,n,this.#G);this.#d(xn(i,s)),this.#Lt(W(s).line),this.#rt()}}break;case"undo":case"redo":this.#je(t)}}#je(t){let e=this.#t?.document;if(e==null)return;if(t==="undo"&&!e.canUndo||t==="redo"&&!e.canRedo)return;let n=this.#i,i=n?.map((d)=>[e.offsetAt(d.start),e.offsetAt(d.end)]),s=t==="undo"?e.undo():e.redo();if(s===void 0)return;let[o,r,a,c]=s,l=r??(n!==void 0&&i!==void 0&&c!==void 0?Et(e,n,i,c):void 0),h=a??(this.#E!=null?at(o,this.#E):void 0);this.#U(o,l,h)}#Xt(t,e){let n=this.#t?.document,i=this.#i;if(n===void 0||i===void 0)return;let s=e===void 0,o=s?i.map((l)=>[n.offsetAt(l.start),n.offsetAt(l.end)]):void 0,r=s?t.map((l)=>{let h=n.offsetAt(l.range.start),d=n.offsetAt(l.range.end);return{start:Math.min(h,d),end:Math.max(h,d),text:l.newText}}).sort((l,h)=>{let d=l.start-h.start;return d!==0?d:l.end-h.end}):void 0,a=n.applyEdits(t,!0,i,void 0,!0);if(a===void 0)return;let c=s?Et(n,i,o,r):e(n);n.setLastUndoSelectionsAfter(c),this.#U(a,c,this.#Q(a))}#Ze(t){let e=this.#t?.document,n=this.#i;if(e===void 0||n===void 0)return;let i=ce(n);if(i.length===0)return;let s=[],o=0,r=[];for(let c of i){s.push(o);let l=c.endLine-c.startLine+1;o+=l;let h=e.getText({start:{line:c.startLine,character:0},end:{line:c.endLine,character:e.getLineLength(c.endLine)}});if(t>0){let d={line:c.startLine,character:0};r.push({range:{start:d,end:d},newText:h+e.eol})}else if(c.endLine<e.lineCount-1){let d={line:c.endLine+1,character:0};r.push({range:{start:d,end:d},newText:h+e.eol})}else{let d={line:c.endLine,character:e.getLineLength(c.endLine)};r.push({range:{start:d,end:d},newText:e.eol+h})}}let a=n.map((c)=>{let l=c.start.line,h=0,d=i.length-1;while(h<=d){let C=h+d>>>1,v=i[C];if(l<v.startLine)d=C-1;else if(l>v.endLine)h=C+1;else{h=C;break}}let f=Math.max(0,h<=d?h:d),g=i[f],m=s[f]+(t>0?g.endLine-g.startLine+1:0);return{start:{...c.start,line:c.start.line+m},end:{...c.end,line:c.end.line+m},direction:c.direction}});this.#Xt(r,()=>a)}#Qe(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0)return;let n=e.map((c)=>W(c).line),i=Array.from(new Set(n)).sort((c,l)=>c-l),s=new Map,o=new Map,r=[];for(let c=0;c<i.length;c++){let l=i[c],h=t.getLineText(l),d=/^\s*/.exec(h)?.[0]??"";s.set(l,c),o.set(l,d);let f={line:l,character:t.getLineLength(l)};r.push({range:{start:f,end:f},newText:t.eol+d})}let a=e.map((c,l)=>{let h=n[l],d={line:h+1+s.get(h),character:o.get(h).length};return{start:d,end:d,direction:0}});this.#Xt(r,()=>a)}#Je(t){let e=this.#t?.document,n=this.#i;if(e===void 0||n===void 0)return;let i=ce(n);if(i.length===0||t<0&&i[0].startLine===0||t>0&&i.at(-1).endLine>=e.lineCount-1)return;let s=e.lineCount,o=(f)=>f<s-1?{line:f+1,character:0}:{line:f,character:e.getLineLength(f)},r=(f,g)=>{let m=f.map((C)=>e.getLineText(C)).join(e.eol);return g?m+e.eol:m},a=[];if(t<0)for(let f of i){let g=f.startLine-1,m=[];for(let C=f.startLine;C<=f.endLine;C++)m.push(C);a.push({range:{start:{line:g,character:0},end:o(f.endLine)},newText:r([...m,g],f.endLine<s-1)})}else for(let f=i.length-1;f>=0;f--){let g=i[f],m=g.endLine+1,C=[];for(let v=g.startLine;v<=g.endLine;v++)C.push(v);a.push({range:{start:{line:g.startLine,character:0},end:o(m)},newText:r([m,...C],m<s-1)})}let c=i.at(-1),l=t>0&&c.endLine===s-2?e.getLineLength(c.endLine):e.getLineLength(s-1),h=n.map((f)=>Sn(f,t,s,(g)=>g===s-1?l:e.getLineLength(g))),d=e.applyEdits(a,!0,n,h,!0);if(d!==void 0)this.#U(d,h)}#tn=()=>{let t=this.#E?.length??0,e=this.#g,n=this.#L;this.#g=void 0,this.#L=void 0;let i=this.#dt()!==e,s=this.#de()!==n;if(!i&&!s)return;if(this.#O.clear(),this.#h=void 0,this.#e.clearTextWidthCache(),s){if(this.#o.clear(),this.#Z||t>0)this.#R.clear()}if(this.#i!==void 0||this.#K!==void 0||this.#u!==void 0){if(this.#d(this.#i??[]),this.#i!==void 0&&this.#H)this.focus()}this.#u?.removePopover(),this.#ve(this.#a),this.#xt()};#en(){if(this.#Qt)return;let t=document.fonts;if(t===void 0)return;this.#Qt=!0,t.ready.then(()=>{if(this.#a===void 0||!this.#e.remeasureCharacterWidth())return;if(this.#g=void 0,this.#L=void 0,this.#zt(),this.#o.clear(),this.#i!==void 0||this.#K!==void 0||this.#u!==void 0)this.#d(this.#i??[]);this.#xt(),this.#u?.removePopover()})}#nn(t,e,n=this.#D,i){let s=this.#r,o=this.#f,r=this.#tt,a=this.#t?.document,c=this.#W,l=this.#a;if(s==null||o==null||r==null||a==null||l==null)return;s.stopBackgroundTokenize();let h=performance.now(),d=s.tokenize(t,n,!this.#G&&this.#Bt!=null),f=performance.now();if(d.size>0){let m=l.children,C=new Set;for(let v of d.keys())if(this.#Ct(v))C.add(v);for(let v=0;v<m.length;v++){let L=m[v];if(L!==void 0){let x=X(L),b=L.dataset.lineType;if(x===void 0||b==="change-deletion")continue;let E=x-1;if(C.has(E)){let T=d.get(E);if(L.replaceChildren(...$t(T)),C.delete(E),C.size===0)break}}}if(C.size>0){let v=0;for(let L=m.length-1;L>=0;L--){let x=m[L],b=X(x);if(b!==void 0&&x.dataset.lineType!=="change-deletion"){v=b;break}}for(let L of C){if(L<v)continue;let x=d.get(L),b=String(L+1);if(P("div",{dataset:{line:b,lineType:"context",lineIndex:L.toString()},children:$t(x)},l),c!==void 0)P("div",{dataset:{lineType:"context",columnNumber:b,lineIndex:L.toString()},children:[P("span",{dataset:{lineNumberContent:""},textContent:b})]},c)}}}if(t.lineDelta<0)for(let m of[l.children,c?.children??[]])for(let C=m.length-1;C>=0;C--){let v=m[C],L=X(v)??X(v,"columnNumber"),x=v.dataset.lineType;if(L===void 0||x==="change-deletion")continue;if(L-1<t.lineCount)break;v.remove()}let g=t.lineDelta!==0;if(g){let m=l.children.length;for(let C of l.children){let{bufferSize:v}=C.dataset;if(v!==void 0)m+=parseInt(v)-1}if(l.style.gridRow="span "+m,c!==void 0)c.style.gridRow="span "+m}if(o.updateRenderCache(d,s.themeType,{shouldRefreshDiffsView:this.#G&&!g,lineCountChangeInFlight:g}),g)r(a,e,i);if(g||this.#G&&this.#Dt==="unified")this.#zt();if(e!=null){if(this.#E=e,!this.#G||!g)sn(e,l,c,o.getAnnotationSlotName)}if(this.#xt(),this.#n.__debug===!0)console.log(`[diffs/editor] re-render in: ${nt(performance.now()-f)}ms,`,`tokenize in: ${nt(f-h)}ms (${d.size} dirty lines)`)}#Ce(t,e){switch(t){case"insertText":{let n=e??"",i=this.#t?.document,s=this.#i,o=i!==void 0&&s!==void 0?pn(i,s,n,this.#n.autoSurround):void 0;this.#Rt(o??n);break}case"insertCompositionText":break;case"insertLineBreak":case"insertParagraph":this.#Rt(this.#t?.document?.eol??`
62
- `);break;case"deleteContentBackward":this.#De();break;case"deleteContentForward":this.#De(!0);break;case"deleteSoftLineBackward":case"deleteHardLineBackward":this.#xn();break;case"deleteWordBackward":this.#Sn();break;case"insertTranspose":this.#bn();break;default:console.warn(`[diffs] Unknown input type: ${t}`,e)}}#$(t,e=!0,n){if(this.#H=!0,t!==void 0)this.#z=!0,this.#Ht({start:t,end:t,direction:0}),q(()=>{if(n?.()===!1||!this.#H){this.#z=!1;return}this.#a?.focus({preventScroll:e}),q(()=>{this.#z=!1})});else if(n?.()!==!1)this.#a?.focus({preventScroll:e});else this.#H=!1}#oe(t){let e=this.#_;if(e==null)return;if(this.#mt){this.#_=void 0,this.#H=!1,this.#z=!1;return}let n=this.#a;if(n==null||!this.#Le(n)){this.#_=void 0,this.#H=!1;return}let i=()=>{if(this.#_!==e)return!1;let r=this.#Le(n);return this.#_=void 0,r};if(t!=null){this.#$(t,!0,i);return}let s=this.#i?.at(-1);if(s==null){this.#$(void 0,!0,i);return}let o=s.direction===-1?s.end:s.start;this.#$(o,!0,i)}#Le(t){let e=this.#v,n=e?.shadowRoot;if(e==null||n==null||this.#a!==t||!n.contains(t))return!1;let{activeElement:i}=n;if(i===t||i!=null&&t.contains(i))return!0;if(i!=null)return!1;let{ownerDocument:s}=e,{activeElement:o}=s;return o==null||o===s.body||o===s.documentElement||o===e}#in(t=0){let e=this.#a,n=this.#v;if(this.#t?.document==null||e==null||n==null)return;let i=this.#Xe();if(i===void 0)return;let s,o;if(i instanceof HTMLElement){let a=i.getBoundingClientRect();s=a.top,o=a.bottom}else s=0,o=i.defaultView?.innerHeight??0;let r=n.shadowRoot?.querySelector("[data-diffs-header][data-sticky]");if(r!=null)s=Math.max(s,r.getBoundingClientRect().bottom);if(Number.isFinite(t))s+=Math.max(0,t);if(o<=s)return;for(let a of e.children){let c=a,l=X(c),h=c.dataset.lineType;if(l==null||h==null||!ht(h))continue;let d=c.getBoundingClientRect();if(d.bottom<=d.top)continue;if(d.top>=s&&d.top<o)return l}}#sn(t,e){let n={start:t,end:t,direction:0};if(this.#it=!1,this.#d([n]),this.#Lt(t.line),e)this.#$(t,!0);else this.#rt()}#Ht(t){let e=window.getSelection();if(e===null)return;let{start:n,end:i,direction:s}=t;if(z(n,i)>0)[n,i]=[i,n];let o=this.#J(n.line),r=this.#J(i.line);if(o===void 0||r===void 0)return;let[a,c]=Ht(o,n.character),[l,h]=Ht(r,i.character);if(s===-1)[a,c,l,h]=[l,h,a,c];try{e.setBaseAndExtent(a,kt(a,c),l,kt(l,h))}catch(d){console.error("[diffs/editor] failed to update window selection:",d)}}#rt(t=!1,e="nearest"){let n=this.#i?.at(-1);if(n===void 0)return;let i=this.#Y;if(i!==void 0){if(i.scrollIntoView({block:e,inline:"nearest"}),!t){let s=n.direction===-1?n.end:n.start;if(this.#_!==void 0)this.#oe(s);else this.#$(s)}}else{let s=W(n);this.#ae(s.line,s.character,t)}}#xe(){let t=this.#k!==void 0?48:0,e=this.#dt()+this.#e.ch;return`${t}px ${this.#e.ch}px 0 ${e}px`}#ae(t,e=0,n=!1){this.__postponeBgTokenizeToNextFrame();let i=P("div",{style:{position:"absolute",left:"0",width:"2px",height:this.#e.lineHeight+"px",scrollMargin:this.#xe()}});if(this.#J(t)!==void 0){let[s,o]=this.#X(t,e),r=this.#ht(t)+o*this.#e.lineHeight;if(i.style.top=r+"px",i.style.left=s+"px",this.#P?.appendChild(i),i.scrollIntoView({block:"center",inline:"nearest"}),!n){let a={line:t,character:e};if(this.#_!==void 0)this.#oe(a);else this.#$(a)}this.#st=void 0,this.#wt=void 0,this.#Wt=!1,this.#yt=!1}else{let s=this.#Bt?.getLinePosition?.(t+1);if(s!==void 0)if(i.style.top=s.top+"px",this.#v?.shadowRoot?.appendChild(i),i.scrollIntoView({block:"center",inline:"nearest"}),s.height>0&&this.#Ct(t))this.#st=t,this.#wt=e,this.#yt=n;else this.#st=void 0,this.#wt=void 0,this.#yt=!1;else{let o=0;if(this.#st===t&&this.#a!==void 0)for(let a=this.#a.childElementCount-1;a>=0;a--){let c=this.#a.children[a],l=c.dataset.lineType,h=X(c);if(l!==void 0&&ht(l)&&h!==void 0){o=(t-(h-1))*this.#e.lineHeight;break}}let r=((this.#E??[]).filter((a)=>a.lineNumber<t).length+t)*this.#e.lineHeight+o;if(i.style.top=r+"px",this.#v?.shadowRoot?.appendChild(i),i.scrollIntoView({block:"center",inline:"nearest"}),this.#st===t&&(o===0||this.#Wt)||!this.#Ct(t))this.#st=void 0,this.#wt=void 0,this.#Wt=!1,this.#yt=!1;else this.#st=t,this.#wt=e,this.#Wt=o!==0,this.#yt=n}}i.remove()}#Se(t,e,n){let i=(o)=>({line:o,character:0}),s=(o)=>({line:o,character:n.getLineText(o).length});if(e<t)return{start:i(e),end:s(t),direction:-1};return{start:i(t),end:s(e),direction:1}}#rn(t){let e=t.composedPath()[0];return e instanceof HTMLElement&&e.closest("[data-line]")?.getAttribute("data-line-type")==="change-deletion"}#Ee(t,e,n){let i=[...n.querySelectorAll("[data-content] > [data-line]")],s=i.indexOf(t),o=i.indexOf(e),[r,a]=o<s?[e,t]:[t,e],c=window.getSelection();if(c!==null){let d=document.createRange();d.setStart(r,0),d.setEnd(a,a.childNodes.length),c.removeAllRanges(),c.addRange(d)}this.#Yt(!0),this.#d([]),this.#Ft(X(e)??null,!0,"deletions");let l=Math.min(s,o),h=Math.max(s,o);this.#Pt=l<0?"":i.slice(l,h+1).filter((d)=>d.getAttribute("data-line-type")==="change-deletion").map((d)=>d.textContent??"").join(`
63
- `)}#be(t,e){let n=t.parentElement;if(n==null||e==null)return;let i=[...n.children].indexOf(t),s=e.children[i];return s instanceof HTMLElement?s:void 0}#we(t,e,n){let i=e.querySelector("[data-content]"),s=this.#be(t,i);if(s===void 0)return!1;if(this.#Ee(s,s,e),n)this.#se([N(document,"mousemove",(o)=>{let r=o.composedPath()[0],a=r instanceof HTMLElement?r.closest("[data-column-number]"):null;if(a instanceof HTMLElement&&e.contains(a)){let c=this.#be(a,i);if(c!==void 0)this.#Ee(s,c,e)}},{passive:!0})]);return!0}#ye(){return this.#v?.shadowRoot?.querySelector("pre")?.hasAttribute("data-deleted-text-selection")??!1}#Te(){return this.#Pt!==""?this.#Pt:window.getSelection()?.toString()??""}#Yt(t){let e=this.#v?.shadowRoot?.querySelector("pre");if(e==null)return;if(t)e.setAttribute("data-deleted-text-selection",""),this.#Ft(null),this.#Pt="";else e.removeAttribute("data-deleted-text-selection"),this.#Pt=""}#Ft(t,e=!1,n="additions"){try{this.#f?.setEditorActiveLine(t,{lineNumberOnly:e,side:n})}catch{}}#on(){if(this.#Tt!==void 0)return;this.#Tt=requestAnimationFrame(()=>{if(this.#Tt=void 0,this.#i!==void 0||this.#K!==void 0||this.#u!==void 0)this.#d(this.#i??[])})}#Ae(){let t=this.#gt,e=this.#q,n=this.#t?.document;if(t===void 0||t.focusLine===void 0||e===void 0||n===void 0)return!1;let i=e.direction===-1?e.end:e.start,s=this.#a?.parentElement?.scrollLeft??0,o=(t.clientX-t.startClientX+s-t.startScrollLeft)/this.#e.ch,r=o<0?-Math.round(-o):Math.round(o),a=Math.max(0,i.character+r),c={line:t.focusLine,character:a};if(t.renderedGoal!==void 0&&z(t.renderedGoal,c)===0)return!0;t.renderedGoal=c;let l=[],h=c.line<i.line?-1:1;for(let d=i.line;;d+=h){if(this.#Ct(d)){let f=n.getLineText(d),g=Math.min(i.character,f.length),m=Math.min(a,f.length),C=Bt(f,g),v=m===g?C:Bt(f,m);l.push({start:{line:d,character:Math.min(C,v)},end:{line:d,character:Math.max(C,v)},direction:C===v?0:C<v?1:-1})}if(d===c.line)break}return this.#d(l),!0}#an(){for(let[t,e]of this.#A??[])if(t.startsWith("editPrediction"))e.remove(),this.#A?.delete(t)}#cn(t,e,n){let i=e[n],s=n,o=i.range.end.line;while(s+1<e.length&&e[s+1].range.start.line<=o)s++,o=Math.max(o,e[s].range.end.line);if(s===n&&(i.newText.length===0||z(i.range.start,i.range.end)===0))return{edit:i,endIndex:s};let r=i.range.start,a={line:o,character:t.getLineLength(o)},c=[],l=t.offsetAt(r);for(let h=n;h<=s;h++){let d=e[h],f=t.offsetAt(d.range.start),g=t.offsetAt(d.range.end);c.push(t.getTextSlice(l,f),d.newText),l=g}return c.push(t.getTextSlice(l,t.offsetAt(a))),{edit:{range:{start:r,end:a},newText:c.join("")},endIndex:s}}#ke(){let t=this.#j,e=this.#t?.document;if(t==null||e==null||t.document!==e||t.version!==e.version||this.#n.editPrediction?.mode==="subtle"&&!this.#Vt)return;let{edits:n}=t.response,i=[],s=n.length>0;for(let o=0;o<n.length;){let{edit:r,endIndex:a}=this.#cn(e,n,o);for(let c=r.range.start.line;s&&c<=r.range.end.line;c++)s=this.#Et(c);i.push({edit:r,startIndex:o,endIndex:a}),o=a+1}return{groups:i,allVisible:s}}#Me(t,e,n,i,s){if(this.#Z)t.dataset.wrap="",t.style.width=`calc(100cqw - ${i}px)`;else delete t.dataset.wrap,t.style.width="max-content";let o=e.split(/\r\n|\r|\n/);for(let r=0;r<o.length;r++){let a=o[r],c=r===o.length-1?s:void 0,l=a.length===0&&c===void 0,h=P("span",{dataset:l?["editPredictionLine","empty"]:"editPredictionLine",textContent:l?"​":a},t);if(c!==void 0)P("span",{dataset:"editPredictionSuffix"},h).append(c);if(r===0&&n!==i)h.style.textIndent=`${n-i}px`}}#Re(t){let e=this.#j,n=this.#t?.document;if(e==null||n==null)return;let{edit:i,startIndex:s,endIndex:o}=t,{start:r,end:a}=i.range;if(!(z(r,a)===0&&r.character<n.getLineLength(r.line))||e.response.edits[s-1]?.range.end.line===r.line||e.response.edits[o+1]?.range.start.line===r.line)return;let c=this.#J(r.line);if(c===void 0)return document.createTextNode(n.getLineText(r.line).slice(r.character));let[l,h]=Ht(c,r.character),d=document.createRange();d.selectNodeContents(c),d.setStart(l,kt(l,h));let f=d.cloneContents();if(f.firstChild?.textContent==="")f.firstChild.remove();return f}#ln(t){let{edit:e}=t,{start:n}=e.range,[i,s]=this.#X(n.line,n.character),o=1,r=e.newText.split(/\r\n|\r|\n/).length,a=this.#P;if(this.#Z&&a!=null){o=Math.max(1,this.#qt(n.line).length-1);let c=P("span",{dataset:"editPrediction",style:{visibility:"hidden"}},a);this.#Me(c,e.newText,i,this.#X(n.line,0)[0],this.#Re(t));let{width:l,height:h}=c.getBoundingClientRect();c.remove();let{lineHeight:d}=this.#e;if(l>0&&h>0&&d>0)r=Math.round(h/d)}return Math.max(0,r-(o-s))}#Oe(t=!0){let e=new Map,n=new Map,i=this.#ne,s=!1,o=this.#a,r=this.#ke();if(o!=null&&r!=null&&r.allVisible){for(let c of r.groups){let{edit:l}=c;if(l.newText.length===0)continue;let h=this.#ln(c);if(h>(n.get(l.range.start.line)??0))n.set(l.range.start.line,h)}if(n.size>0){let c,l=this.#D?.startingLine??0;for(let[h,d]of n){s||=i.get(h)!==d;let f=this.#J(h);if(f===void 0)continue;let g=h-l;if(o.children[g]!==f){if(c===void 0){c=new Map;for(let v=0;v<o.children.length;v++)c.set(o.children[v],v)}g=c.get(f)??-1}if(g<0)continue;e.set(f,d);let m=this.#W?.children[g];if(m instanceof HTMLElement)e.set(m,d);let C=this.#dn(g);if(C!=null)e.set(C.content,(e.get(C.content)??0)+d),e.set(C.gutter,(e.get(C.gutter)??0)+d)}}}let a=!1;for(let[c,l]of this.#ee){if(e.get(c)===l)continue;delete c.dataset.editPredictionSpacer,c.style.removeProperty("--diffs-edit-prediction-spacer-height"),a=!0}for(let[c,l]of e){if(this.#ee.get(c)===l)continue;c.dataset.editPredictionSpacer="",c.style.setProperty("--diffs-edit-prediction-spacer-height",`${l}lh`),a=!0}if(this.#ee=e,s||n.size!==i.size){if(this.#ne=n,t)this.#Bt?.syncGhostTextRows()}if(a)this.#zt()}#dn(t){let e=this.#N,n=this.#a;if(e==null||n==null||!this.#G||this.#Dt!=="split"||this.#Z)return;let i=0;for(let a=0;a<t;a++)i+=si(n.children[a]);let{content:s,gutter:o}=e,r=0;for(let a=0;a<s.children.length;a++){let c=s.children[a];if(r+=si(c),r>i){let l=o.children[a];if(!(c instanceof HTMLElement)||!(l instanceof HTMLElement))throw Error("Editor: deletions column rows and gutter cells are out of step");return{content:c,gutter:l}}}}#ot(t,e=!0){if(this.#_t!==void 0)clearTimeout(this.#_t),this.#_t=void 0;if(this.#vt?.abort(),this.#vt=void 0,this.#Jt++,this.#Vt=!1,this.#te=!1,this.#j=void 0,this.#Oe(e),t)this.#an()}#Pe(t){let e=this.#n.editPrediction;if(e===void 0)return!1;let n=t.replaceAll("\\","/");return(e.include===void 0||e.include.some((i)=>pe(n,i)))&&e.exclude?.some((i)=>pe(n,i))!==!0}#Mt(){this.#ot(!0);let t=this.#i?.[0];if(this.#n.editPrediction===void 0||this.#t?.document===void 0||this.#t?.fileInfo===void 0||this.#i?.length!==1||t===void 0||!F(t))return;let e=this.#t?.document,n=e.offsetAt(W(t));this.#_t=setTimeout(()=>{this.#_t=void 0;let i=this.#n.editPrediction,s=this.#i?.[0],o=this.#t?.fileInfo?.name;if(i===void 0||o===void 0||this.#t?.document!==e||this.#i?.length!==1||s===void 0||!F(s)||e.offsetAt(W(s))!==n)return;if(!this.#Pe(o))return;let r=(m)=>this.#Fe(m)&&this.#Ct(m);if(!r(W(s).line)){this.#te=!0;return}let a=Fn(o,e,n,this.#At,r);if(a===void 0)return;let c=e.offsetAt({line:a.excerptStartLine,character:0}),l=c+a.editableRange.start,h=c+a.editableRange.end,d=new AbortController,f=++this.#Jt;this.#vt=d;let g;try{g=i.provider.predict(a,{signal:d.signal})}catch{this.#vt=void 0;return}Promise.resolve(g).then((m)=>{let C=this.#i?.[0];if(d.signal.aborted||f!==this.#Jt||this.#vt!==d||this.#t?.document!==e||e.version!==a.version||this.#i?.length!==1||C===void 0||!F(C)||e.offsetAt(W(C))!==n)return;if(m==null||!Array.isArray(m.edits)||m.edits.length===0||m.edits.length>Ss||m.newCursor==null)return;let v=[],L=0;for(let y of m.edits){if(y==null||typeof y.newText!=="string"||!ri(e,y.range?.start)||!ri(e,y.range?.end)||z(y.range.start,y.range.end)>0)return;if(L+=bs.encode(y.newText).byteLength,L>Es)return;let H=e.offsetAt(y.range.start),J=e.offsetAt(y.range.end),rt=e.resolveEdits([y])[0];if(rt.start!==H||rt.end!==J)return;v.push(rt)}v.sort((y,H)=>{let J=y.start-H.start;return J===0?y.end-H.end:J});for(let y=0;y<v.length;y++){let H=v[y];if(H.start<l||H.end>h||y>0&&v[y-1].end>H.start)return}let x=v.filter((y)=>y.text!==e.getTextSlice(y.start,y.end));if(x.length===0)return;let b=e.positionAt(x[0].start),E=e.positionAt(x.at(-1).end),T=e.offsetAt({line:b.line,character:0}),k=e.offsetAt({line:E.line,character:e.getLineLength(E.line)}),I=[],B=T;for(let y of x)I.push(e.getTextSlice(B,y.start),y.text),B=y.end;I.push(e.getTextSlice(B,k));let M=I.join("").split(/\r\n|\r|\n/),w=b.line+M.length-1,_=M.length-(E.line-b.line+1),O=m.newCursor;if(!Number.isInteger(O.line)||!Number.isInteger(O.character)||O.line<0||O.character<0)return;if(O.line>=b.line&&O.line<=w){let y=M[O.line-b.line];if(O.character>y.length||oi(y,O.character))return}else{let y=O.line<b.line?O.line:O.line-_;if(y<0||y>=e.lineCount||O.character>e.getLineLength(y))return;let H=e.offsetAt({line:y,character:O.character});if(oi(e.charAt(H-1)+e.charAt(H),1))return}this.#j={document:e,version:a.version,cursorOffset:n,rendered:!1,response:{edits:x.map((y)=>({range:{start:e.positionAt(y.start),end:e.positionAt(y.end)},newText:y.text})),newCursor:{...O}}},this.#d(this.#i)}).catch(()=>{}).finally(()=>{if(this.#vt===d)this.#vt=void 0})},xs)}#hn(t,e){let n=this.#t?.document,i=this.#t?.fileInfo?.name,s=Fe(t);if(n===void 0||i===void 0||s===void 0||!this.#Pe(i))return;this.#At=Hn(this.#At,i,n,s,e)}#fn(){let t=this.#j,e=this.#t?.document,n=this.#i?.[0];if(t===void 0||!t.rendered||e===void 0||t.document!==e||t.version!==e.version||this.#i?.length!==1||n===void 0||!F(n)||e.offsetAt(W(n))!==t.cursorOffset)return;let{edits:i,newCursor:s}=t.response;this.#ot(!0);let o=e.applyEdits(i.map((c)=>({range:{start:{...c.range.start},end:{...c.range.end}},newText:c.newText})),!0,this.#i,void 0,!0);if(o===void 0){this.#Mt();return}let r=e.normalizePosition(s),a=[{start:r,end:r,direction:0}];e.setLastUndoSelectionsAfter(a),this.#U(o,a,this.#Q(o),{editSource:"prediction"})}#un(t){let e=this.#j,n=this.#t?.document;if(e!==void 0)e.rendered=!1;let i=this.#ke();if(e==null||n==null||i==null||!i.allVisible)return;for(let s of i.groups){let{edit:o,endIndex:r}=s,{start:a,end:c}=o.range,l=o.newText.length===0,h=z(a,c)!==0,d=n.getLineLength(a.line),f=!h&&a.character<d;if(h)this.#St(t,l?"editPredictionDeletion":"editPredictionReplacement",{start:a,end:c});else if(f)this.#St(t,"editPredictionInsertion",{start:a,end:{line:a.line,character:d}});if(l)continue;let[g,m]=this.#X(a.line,a.character),C=this.#X(a.line,0)[0],v=this.#ht(a.line)+m*this.#e.lineHeight,L=`editPrediction-${r}`,x=this.#A?.get(L);if(x!==void 0)this.#A?.delete(L),x.replaceChildren();else x=P("span",{ariaHidden:"true",contentEditable:"false",dataset:"editPrediction"},t.fragment);if(h){x.dataset.replacement="";let b=this.#J(a.line);if(b!==void 0)x.style.setProperty("--diffs-edit-prediction-bg",getComputedStyle(b).getPropertyValue("--diffs-line-bg"))}else delete x.dataset.replacement,x.style.removeProperty("--diffs-edit-prediction-bg");this.#Me(x,o.newText,g,C,this.#Re(s)),x.style.transform=`translateX(${C}px) translateY(${v}px)`,t.elements.set(L,x)}e.rendered=!0}#d(t){this.__postponeBgTokenizeToNextFrame();let e=this.#i,n=e?.length!==t.length;if(!n&&e!==void 0)for(let r=0;r<t.length;r++){let a=e[r],c=t[r];if(a.direction!==c.direction||z(a.start,c.start)!==0||z(a.end,c.end)!==0){n=!0;break}}if(n)this.#ot(!0);if(this.#Oe(),this.#Y=void 0,this.#Ft(null),t.length===0&&this.#K===void 0&&this.#u===void 0){if(this.#i=void 0,this.#A?.forEach((r)=>r.remove()),this.#A?.clear(),this.#I?.cleanup(),this.#I=void 0,n)this.#Mt();return}let i=document.createDocumentFragment(),s={fragment:i,elements:new Map};if(t.length>0){let r=ae(t),a=r.at(-1);this.#i=r;let c=r.some((d)=>!F(d)),l=W(a).line+1;this.#Ft(l,c);for(let d of r){if(!F(d))this.#St(s,"selection",d);this.#gn(s,d,d===a)}let h=this.#n.matchBrackets!==!1&&this.#t?.document!=null&&this.#r!==void 0&&F(a)?qn(this.#t?.document,this.#r,a.start):void 0;if(h!==void 0)for(let d of h)this.#St(s,"bracketMatch",d)}let o=this.#t?.document;if(this.#K!==void 0&&o!==void 0){let r=this.#K,a=this.#D,c=a!=null&&Number.isFinite(a.totalLines)||this.#G&&this.#Nt?.options.expandUnchanged!==!0?this.#He():void 0,l=this.#i?.at(-1),h=l!==void 0?o.offsetAt(l.start):-1,d=l!==void 0?o.offsetAt(l.end):-1,f=0,g=c?.length??1;for(let m=0;m<g;m++){let C=1/0,v=c?.[m];if(v!==void 0){let[L,x]=v,b=o.offsetAt({line:L,character:0}),E=x+1;C=E<o.lineCount?o.offsetAt({line:E,character:0}):o.offsetAt({line:E-1,character:o.getLineLength(E-1)});let T=f,k=r.length;while(T<k){let I=T+Math.floor((k-T)/2);if(r[I][1]<=b)T=I+1;else k=I}f=T}for(;f<r.length;f++){let[L,x]=r[f];if(L>=C)break;let b={start:o.positionAt(L),end:o.positionAt(x)},E=h===L&&d===x;this.#St(s,"match",b,E?"focus":void 0)}}}if(this.#u!==void 0&&o!==void 0)for(let r of this.#u.markers)this.#St(s,"marker",r,ft(r.severity));if(this.#un(s),this.#P?.appendChild(i),this.#A?.forEach((r)=>r.remove()),this.#A?.clear(),this.#A=s.elements,this.#le(),n)this.#Mt()}#xt(){let t=this.#pt,e=this.#n.renderCaret,n=this.#P;if(this.#F?.forEach((r)=>r.remove()),this.#F=void 0,t===void 0||e===void 0||n===void 0){this.#S?.forEach((r)=>r.remove()),this.#S=void 0;return}let i=this.#S??=new Map;for(let[r,a]of i)if(!this.#Et(r.caret.focus.line))a.remove(),i.delete(r);let s=document.createDocumentFragment(),o=[];for(let r of t){let{caret:a}=r,{line:c,character:l}=a.focus;if(r.anchorOffset!==r.focusOffset){let m={fragment:s,elements:new Map};this.#St(m,"caretHighlight",r.anchorOffset<r.focusOffset?{start:a.anchor,end:a.focus}:{start:a.focus,end:a.anchor},void 0,a.focus);for(let C of m.elements.values())C.style.setProperty("--diffs-caret-highlight-bg",`color-mix(in srgb, ${a.metadata.color} 32%, transparent)`),o.push(C)}if(!this.#Et(c))continue;let h=i.get(r);if(h===void 0)h=P("div",{dataset:"remoteCaret",children:[e(a)]},s),i.set(r,h);let[d,f]=this.#X(c,l),g=this.#ht(c)+f*this.#e.lineHeight;h.style.transform=`translateX(${d}px) translateY(${g}px)`}this.#F=o,n.appendChild(s)}#St(t,e,n,i,s){if(this.#t?.document==null)return;let{start:o,end:r}=n,a=o.line,c=r.line+1;if(this.#D!==void 0){let{startingLine:l,totalLines:h}=this.#D;a=Math.max(a,l),c=Math.min(c,l+h)}for(let l=a;l<c;l++){if(!this.#Et(l))continue;let h=l===r.line,d=l===o.line?o.character:0,f=h?r.character:this.#t?.document.getLineLength(l);if(d===f&&(e==="editPredictionDeletion"||e==="editPredictionReplacement")){if(h&&l!==o.line)continue;let[v,L]=this.#X(l,d);this.#ce(t,e,l,L,v,this.#e.ch,i);continue}if(this.#Z){let v=this.#de(),L=this.#t?.document.getLineText(l);if(2*this.#e.ch+this.#e.measureTextWidth(L)>v){this.#pn(t,l,L,d,f,h,e,i,s);continue}}let g=0,m=0,C=0;if(d===0)g=this.#dt()+this.#e.ch+(this.#kt?.left??0);else g=this.#X(l,d)[0];if(!h&&e==="selection")C=this.#e.ch;if(d===f)m=C;else m=this.#X(l,f)[0]-g+C;this.#ce(t,e,l,0,g,m,i,{start:s?.line===o.line&&s.character===o.character&&l===o.line,end:s?.line===r.line&&s.character===r.character&&l===r.line})}}#pn(t,e,n,i,s,o,r,a,c){let l=this.#qt(e),h=l.length-1,d=this.#dt()+this.#e.ch+(this.#kt?.left??0);for(let f=0;f<h;f++){let g=l[f],m=l[f+1],C=Math.max(i,g),v=Math.min(s,m);if(C>v)continue;let L=this.#Ie(n,g,C),x=d+L,b=0;if(!o&&f===h-1&&r==="selection")b=this.#e.ch;let E=C===v?b:this.#Ie(n,g,v)-L+b;this.#ce(t,r,e,f,x,E,a,{start:c?.line===e&&c.character===i&&C===i,end:c?.line===e&&c.character===s&&v===s})}}#Ie(t,e,n){if(n<=e)return 0;let i=t.slice(e,n),s=pt(i,this.#e.tabSize);return s!==-1?s*this.#e.ch:this.#e.measureTextWidth(i)}#ce(t,e,n,i,s,o,r,a){if(o===0)return;let{ch:c,lineHeight:l}=this.#e,h=this.#ht(n)+i*l,d=`${e}-${n}/${i}-${s}-${o} ${r??""}`,f=this.#A,g=(this.#n.roundedSelection??!0)&&(e==="selection"||e==="caretHighlight"),m=(L,x,b,E)=>{let T=this.#ht(L)+x*l,k=this.#J(L),I="initial";if(k!==void 0&&(k.dataset.lineType==="change-addition"||k.dataset.selectedLine!==void 0))I=getComputedStyle(k).getPropertyValue("--diffs-line-bg");let B=`width:${c}px;transform:translateX(${b}px) translateY(${T}px);--diffs-selection-corner-bg:${I}`,M={selectionCorner:"",[E]:""},w=`${e}-block-${L}/${x}-${b}-1ch`,_=w+"-"+E;if(E==="rbl"){let y=w+"-rtl",H=t.elements.get(y);if(H!==void 0)H.remove(),t.elements.delete(y),_+="-rtl",M.rtl=""}let O=t.elements.get(_);if(O!==void 0)return;if(f?.has(_)===!0)O=f.get(_),O.style.cssText=B,f.delete(_);else O=P("div",{dataset:e==="caretHighlight"?"caretHighlightRange":"selectionRange",style:{cssText:B},children:[P("div",{dataset:M})]},t.fragment);t.elements.set(_,O)},C=(L)=>{let x=s+o,b=L.dataset,E=t.previousSelectionRange;if(E===void 0||E.line!==n||E.wrapLine!==i)t.previousSelectionRange={element:L,line:n,wrapLine:i,left:s,width:o};if(E===void 0||x<=E.left)["rtl","rtr","rbl","rbr"].forEach((T)=>{b[T]=""});else{let{line:T,wrapLine:k,left:I}=E,B=E.element.dataset,M=I+E.width;if(I>s)m(T,k,I-c,"rbr");if(delete B.rbl,delete b.rtl,delete b.rtr,x>=M)delete B.rbr;if(x>M)m(T,k,M,"rbl"),b.rtr="";if(x<M)m(n,i,x,"rtl");if(s<I)b.rtl="";b.rbl="",b.rbr=""}if(a?.start===!0)delete b.rtl,delete b.rbl;if(a?.end===!0)delete b.rtr,delete b.rbr},v=t.elements.get(d);if(v!==void 0){if(g)C(v);return}if(f?.has(d)===!0)v=f.get(d),f.delete(d);else v=P("div",{dataset:r?[e+"Range",r]:e+"Range"},t.fragment);if(v.style.width=`${o}px`,v.style.transform=`translateX(${s}px) translateY(${h}px)`,e==="editPredictionInsertion"||e==="editPredictionReplacement"){let L=this.#J(n);if(L!==void 0)v.style.setProperty("--diffs-edit-prediction-bg",getComputedStyle(L).getPropertyValue("--diffs-line-bg"))}else v.style.removeProperty("--diffs-edit-prediction-bg");if(g)C(v);t.elements.set(d,v)}#gn(t,e,n){let{line:i,character:s}=W(e);if(!this.#Et(i))return;let[o,r]=this.#X(i,s),a="caret-"+i+"/"+r+":"+s;if(t.elements.has(a))return;let c=o-1,l=this.#ht(i)+r*this.#e.lineHeight,h=P("div",{dataset:"caret",style:{transform:`translateX(${c}px) translateY(${l}px)`}},t.fragment);if(t.elements.set(a,h),n)h.style.scrollMargin=this.#xe(),this.#Y=h}#le(){let t=this.#i?.at(-1),e=this.#P,n=this.#t?.document,i=this.#n.renderSelectionAction,s=()=>{this.#I?.cleanup(),this.#I=void 0};if(this.#n.enabledSelectionAction!==!0||i===void 0||t===void 0||F(t)||this.#lt||e===void 0||n===void 0){s();return}let o=W(t);if(!this.#Et(o.line)){s();return}if(this.#I===void 0){if(!this.#it)return;let M=()=>this.#i?.at(-1)??t,w=i({textDocument:n,get selection(){return M()},applyEdits:(_)=>this.applyEdits(_),getSelectionText:()=>this.#t?.document?.getText(M())??"",replaceSelectionText:(_)=>{this.#Rt(_,[M()])},close:()=>{s(),this.#rt()}});this.#I=new Jn(w,e,()=>this.#le()),this.#Kt().resetPlacement(Se)}let r=this.#e.lineHeight,a=t.direction===-1,c={placeAbove:a,anchor:o},l=a?{placeAbove:!1,anchor:t.end}:{placeAbove:!0,anchor:t.start},h=this.#I.height,d=(M)=>{let[w,_]=this.#X(M.anchor.line,M.anchor.character),O=this.#ht(M.anchor.line)+_*r,y=M.placeAbove?O:O+r,H=M.placeAbove?y-h:y;return{top:H,bottom:H+h,left:w,anchorTop:y,rowTop:O}},f=d(c),g=n.lineCount,m=a?o.line<3:o.line>=g-3,C=this.#Et(l.anchor.line)?d(l):void 0,v=this.#Kt(),L=v.getPlacementBounds(),x=C!==void 0&&v.choosePlacement({preferred:f,fallback:C,viewport:L,popoverHeight:h,atDocumentEdge:m,placementKey:Se})==="fallback";if(C===void 0)v.setPlacement("preferred",Se);let{placeAbove:b}=x?l:c,{left:E,anchorTop:T}=x&&C!==void 0?C:f,k=a?f.rowTop:C?.rowTop??-1/0,I=(a?C?.rowTop??1/0:f.rowTop)+(t.end.line>t.start.line&&t.end.character===0?0:r),B=L===void 0||I>L.top&&k<L.bottom;this.#I.reposition(E,T,this.#dt(),b,B,L)}#_e(t){if(this.#k!==void 0){this.#k.setMode(t);return}this.#mn(t)}#mn(t){this.#k?.cleanup();let e=this.#t?.document,n=this.#v?.shadowRoot?.querySelector("pre"),i=this.#i;if(e===void 0||n==null)return;let s="",o=void 0;if(i!==void 0&&i.length>0){let c=i.at(-1);if(F(c)){c=Ft(e,c),this.#d([...i.slice(0,-1),c]);let l=e.getText(c);if(l!==""&&!l.includes(`
64
- `))s=l,o=[e.offsetAt(c.start),e.offsetAt(c.end)]}}let r=([c,l],h)=>{let d=Dt(e,c,l);this.#d([d]),this.#Lt(W(d).line),this.#rt(!0),this.#mt=h},a=new Qn({textDocument:e,containerElement:n,defaultQuery:s,mode:t,initialMatch:o,scrollToMatch:r,applyReplace:(c)=>{if(c.length===0)return;let l=e.applyEdits(c.map((h)=>({range:{start:e.positionAt(h.start),end:e.positionAt(h.end)},newText:h.text})),!0,this.#i);if(l!==void 0)this.#U(l,void 0,this.#Q(l),{skipSearchRefresh:!0})},onUpdate:(c,l)=>{if(c.length===0){this.#K=void 0,this.#d(this.#i??[]);return}if(this.#K=c,l?.syncSelection===!1){this.#d(this.#i??[]);let g=this.#i?.at(-1);if(g!==void 0){let m=e.offsetAt(g.start),C=e.offsetAt(g.end);for(let v of c)if(v[0]===m&&v[1]===C)return v}return}let h=this.#i?.at(-1),d=0,f;if(h!==void 0)d=e.offsetAt(h.start);for(let g of c)if(g[0]>=d){f=g;break}if(f!==void 0)r(f,!0);else this.#d(this.#i??[]);return f},onClose:()=>{this.#k=void 0,this.#mt=!1,this.#K=void 0,this.#d(this.#i??[])}});this.#k=a,this.#mt=!1}#vn(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0)return"";return zt(t,e)}#Ne(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0)return[];return yn(t,e)}#Be(t,e,n){if(t===null)return;if(t.setData("text",e),n.length>1)t.setData(Ee,JSON.stringify(n))}#Cn(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0||e.length===0)return"";if(e.some((i)=>F(i))){let i=Tn(t,e);return this.#Ln(i.edits,i.nextSelectionOffsets),i.text}let n=zt(t,e);return this.#Rt("",void 0,!0),n}#Ln(t,e){let n=this.#t?.document,i=this.#i;if(n===void 0||i===void 0||t.length===0)return;let s=n.applyResolvedEdits(t,!0,i,void 0,!0);if(s===void 0)return;let o=e.map((r)=>{let a=n.positionAt(r);return{start:a,end:a,direction:0}});n.setLastUndoSelectionsAfter(o),this.#U(s,o,this.#Q(s))}#Rt(t,e=this.#i,n=!1,i="selection"){if(e===void 0)return;let s=this.#t?.document,o=e.at(-1);if(s===void 0||o===void 0)return;let{nextSelections:r,change:a}=Array.isArray(t)&&t.length===e.length?dt(s,e,t,this.#E,n,i):un(s,e,{start:s.offsetAt(o.start),end:s.offsetAt(o.end),text:Array.isArray(t)?t.join(s.eol):t},this.#E,void 0,n);if(a!==void 0)this.#U(a,r,this.#Q(a))}#De(t=!1){let e=this.#i,n=this.#t?.document;if(e===void 0||n===void 0)return;let{nextSelections:i,change:s}=Ln(n,e,t,this.#E,this.#e.tabSize);if(s!==void 0)this.#U(s,i,this.#Q(s))}#xn(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let n=this.#Z?(o,r)=>{let a=this.#qt(o);for(let c=0;c+1<a.length;c++){let l=a[c],h=a[c+1];if(r>=l&&r<=h)return l}return 0}:void 0,{nextSelections:i,change:s}=vn(e,t,n,this.#E);if(s!==void 0)this.#U(s,i,this.#Q(s))}#Sn(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let{nextSelections:n,change:i}=Cn(e,t,this.#E);if(i!==void 0)this.#U(i,n,this.#Q(i))}#En(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let{nextSelections:n,change:i}=mn(e,t,this.#E);if(i!==void 0)this.#U(i,n,this.#Q(i))}#bn(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let{nextSelections:n,change:i}=gn(e,t,this.#E);if(i!==void 0)this.#U(i,n,this.#Q(i))}#U(t,e,n,i){if(this.#j!=null)this.#ot(!0);let s=this.#t?.document;if(s!==void 0&&this.#pt!==void 0)for(let a of this.#pt)a.anchorOffset=xt(a.anchorOffset,t.changes),a.focusOffset=xt(a.focusOffset,t.changes),a.caret.anchor=s.positionAt(a.anchorOffset),a.caret.focus=s.positionAt(a.focusOffset);if(t.lineDelta!==0||this.#Z){for(let a of this.#R.keys())if(a>=t.startLine)this.#R.delete(a)}if(this.#o.size>0){if(t.lineDelta===0&&(t.changedLineRanges.length===1||t.changedLineChanges?.every(([,,a])=>a===0)===!0))for(let[a,c]of t.changedLineRanges)for(let l=a;l<=c;l++)this.#o.delete(l);else for(let a of this.#o.keys())if(a>=t.startLine)this.#o.delete(a)}this.#h=void 0;let o=this.#D,r;if(o!==void 0&&e!==void 0&&e.length>0){let a=e.at(-1),c=o.startingLine+o.totalLines;if(a.end.line>=c){let l=a.end.line-o.startingLine+1,h=this.#ct===void 0||this.#ct===1/0?1/0:this.#ct*Cs;if(t.startLine<=c&&l<=h&&this.#Ct(a.end.line)){if(a.end.line>c)r=!0;o={...o,totalLines:l},this.#D=o}else r=!0}}if(this.#B&&this.#r!=null&&this.#a!=null)this.#nn(t,n,o,r);else if(s!=null){if(this.#at?.(s,n),n!=null)this.#E=n}if(e!=null)this.#d(e);if(this.#f?.__acknowledgeDocumentUpdate(),this.#$t(),this.#hn(t,i?.editSource??"user"),this.#Mt(),this.#ze(t.changes,n??this.#E),i?.skipSearchRefresh!==!0&&this.#k!==void 0&&this.#K!==void 0)this.#k.updateMatches({syncSelection:!1});if(e!=null){if(i?.skipFocus!==!0){let a=e.at(-1);if(a!==void 0)this.#Lt(W(a).line);if(this.#Y!==void 0)requestAnimationFrame(()=>{this.#Y?.scrollIntoView({block:"nearest",inline:"nearest"})});else if(e.length>0){let c=W(e.at(-1));this.#ae(c.line,c.character)}this.focus({preventScroll:!0})}}}#ze(t,e){let n=this.getFile(),i=this.#et;if(n==null||i==null)return;i(t,n,e)}#Q(t){if(this.#E!=null){let e=at(t,this.#E);if(e!=null)return this.#t?.document?.setLastUndoLineAnnotations(this.#E,e),e}}#He(){let t=this.#a;if(t===void 0)return[];let e=[];for(let n of t.children){let i=n,s=i.dataset.lineType,o=X(i);if(o===void 0||s===void 0||!ht(s))continue;let r=o-1,a=e.at(-1);if(a!==void 0&&r<=a[1]+1)a[1]=Math.max(a[1],r);else e.push([r,r])}return e}#Fe(t){let e=this.#D;return e==null||t>=e.startingLine&&t<e.startingLine+e.totalLines}#J(t){let e=this.#O.get(t);if(e!==void 0)return e??void 0;let n=this.#D;if(!this.#Fe(t))return;let i=this.#a;if(i===void 0)return;if(n!==void 0){let{startingLine:s}=n,{children:o}=i;for(let r=t-s;r<=o.length;r++){let a=o[r];if(a===void 0)break;let c=X(a),l=a.dataset.lineType;if(c!==void 0&&c===t+1&&l!==void 0&&ht(l)){e=a;break}}}if(e??=i.querySelector(`[data-line="${t+1}"]`+(this.#Dt==="unified"?':not([data-line-type="change-deletion"])':"")),e!==void 0)this.#O.set(t,e);return e??void 0}#dt(){if(this.#W===void 0)return 0;if(this.#g===void 0){let t=this.#a?.parentElement?.style.getPropertyValue("--diffs-column-number-width");if(t!==void 0&&t.length>2&&t.endsWith("px"))this.#g=parseInt(t.slice(0,-2),10);else this.#g=this.#W.offsetWidth}return this.#g}#de(){if(this.#a===void 0)return 0;if(this.#L===void 0){let t=this.#a.parentElement?.style.getPropertyValue("--diffs-column-content-width");if(t!==void 0&&t.length>2&&t.endsWith("px"))this.#L=parseFloat(t.slice(0,-2));else this.#L=this.#a.offsetWidth}return this.#L}#ht(t){let e=this.#R.get(t);if(e!==void 0)return e;let n=this.#J(t);if(n===void 0)return-1;let i=n.offsetTop+this.#e.paddingTop;return i+=this.#kt?.top??0,this.#R.set(t,i),i}#X(t,e){if(this.#h!==void 0&&this.#h[0]===t&&this.#h[1]===e)return[this.#h[2],this.#h[3]];let n=this.#t?.document?.getLineText(t),i=this.#dt()+this.#e.ch;if(n===void 0||n.length===0||e<=0)return[i+(this.#kt?.left??0),0];let s=ei(n,Math.min(e,n.length)),o=n.slice(0,s),r=pt(o,this.#e.tabSize),a=0,c=0;if(r!==-1)a=i+r*this.#e.ch;else a=i+this.#e.measureTextWidth(o);if(this.#Z){let l=this.#de();if(2*this.#e.ch+this.#e.measureTextWidth(n)>l){let h=this.#Ue(t);if(h==null)return[a+(this.#kt?.left??0),0];for(let d=0;d+1<h.length;d++){let f=h[d];if(s<=h[d+1]){c=d;let g=n.slice(f,s),m=pt(g,this.#e.tabSize);if(m!==-1)a=i+m*this.#e.ch;else a=i+this.#e.measureTextWidth(g);break}}}a+=this.#kt?.left??0}if(this.#h!==void 0)this.#h[0]=t,this.#h[1]=e,this.#h[2]=a,this.#h[3]=c;else this.#h=[t,e,a,c];return[a,c]}#Ue(t){let e=this.#o.get(t);if(e!==void 0)return e;if(this.#o.size>=Ls)this.#o.clear();let n=this.#t?.document?.getLineText(t);if(n===void 0||n.length===0){let c=new Uint32Array([0]);return this.#o.set(t,c),c}let i=this.#a;if(i==null||!i.isConnected)return;let s=P("div",{style:{position:"absolute",top:"0",left:"0",width:"100%",boxSizing:"border-box",visibility:"hidden",pointerEvents:"none",whiteSpace:"pre-wrap",wordBreak:"break-word",font:"inherit",paddingInline:"1ch",tabSize:this.#e.tabSize.toString()},textContent:n},i),o=s.firstChild,r=document.createRange(),a=[];try{let c=s.getBoundingClientRect();if(c.width===0)return;let l=ni(n),h=c.left+this.#e.ch,d=l===void 0?n.length:l.length-1,f=(L)=>l===void 0?L:l[L],g=(L)=>{r.setStart(o,f(L)),r.setEnd(o,f(L+1));let x=r.getClientRects();return x.item(x.length-1)??r.getBoundingClientRect()};a.push(0);let m=g(0).top,C=1;while(C<d){let L=C,x=d;while(L<x){let k=L+x>>1;if(g(k).top>m)x=k;else L=k+1}if(L>=d)break;let{left:b,top:E}=g(L),T=ie()&&b-h>this.#e.ch/2;a.push(f(T?L-1:L)),m=E,C=L+1}let v=new Uint32Array(a.length+1);for(let L=0;L<a.length;L++)v[L]=a[L];return v[a.length]=n.length,this.#o.set(t,v),v}finally{s.remove()}}#qt(t){let e=this.#Ue(t);if(e!==void 0)return e;let n=this.#t?.document?.getLineText(t)?.length??0;return Uint32Array.of(0,n)}#wn({startContainer:t,endContainer:e}){let n=this.#a;if(n===void 0)return!1;return n.contains(t)&&n.contains(e)}#Et(t){let e=this.#t?.document?.lineCount??0;if(t<0||t>=e)return!1;return this.#J(t)!==void 0}};function ys({type:t,editStateKey:e,owner:n,initialState:i,previousSession:s}){if(i!=null&&i.type!==t)throw TypeError(`Editor: initialState: a ${i.type} state cannot initialize a ${t} editor`);let o=i;if(e!=null)return ot.activate(t,e,n,o);if(o!=null)return o;if(s!=null)return s;return t==="file"?{type:"file"}:{type:"file-diff"}}function si(t){if(!(t instanceof HTMLElement))return 1;return Number(t.dataset.bufferSize??1)}function ri(t,e){return e!==void 0&&Number.isInteger(e.line)&&Number.isInteger(e.character)&&e.line>=0&&e.line<t.lineCount&&e.character>=0&&e.character<=t.getLineLength(e.line)}function oi(t,e){let n=t.charCodeAt(e-1),i=t.charCodeAt(e);return e>0&&e<t.length&&n>=55296&&n<=56319&&i>=56320&&i<=57343}export{ws as Editor};
61
+ `}),this.#y=P("style",{dataset:"editorCss",textContent:Pn}),this.#T=P("style",{dataset:"editorThemeCss"}),this.#M=jn(),this.#P=P("div",{dataset:"editorOverlay"});let t=(i)=>{let s=i.composedPath()[0];return s instanceof Node&&this.#a?.contains(s)===!0},e=()=>{if(this.#_==null)return;this.#_=void 0,this.#H=!1,this.#z=!1},n=(i)=>{if(i.pointerType!=="mouse")return;let s=this.#Ot;if(this.#pe(),s)this.#$();if(this.#n.enabledSelectionAction===!0&&this.#i!==void 0&&this.#i.length>0&&!F(this.#i.at(-1)))this.#d(this.#i)};this.#m=[N(document,"focusin",(i)=>{if(!t(i))e()},{passive:!0}),N(document,"pointerdown",(i)=>{if(!t(i))queueMicrotask(e)},{capture:!0,passive:!0}),N(document,"selectionchange",()=>{let i=this.#v?.shadowRoot;if(this.#z||this.#bt||i==null||!this.#H)return;if(this.#i!==void 0&&this.#i.length>1&&!this.#lt)return;let s=document.getSelection();if(s==null)return;let o;if(typeof s.getComposedRanges==="function")o=s.getComposedRanges({shadowRoots:[i]})?.[0];else o=gs(i);if(o===void 0||!this.#wn(o))return;let r=ln(o,0);if(r===void 0)return;if(this.#lt&&this.#jt&&this.#i!==void 0&&this.#i.length>0){let a=this.#i.at(-1);this.#d([re(a,r)]);return}if(this.#q!==void 0)r.direction=se(this.#q,r).direction;else if(this.#lt)this.#q=r;else if(this.#i!==void 0&&this.#i.length===1){let a=this.#i[0];if(z(a.start,r.start)===0&&z(a.end,r.end)===0)r.direction=a.direction}if(this.#gt!==void 0){if(this.#gt.focusLine=W(r).line,this.#Ae())return}if(this.#It!==void 0)this.#d([...this.#It.filter((a)=>!St(a,r)),r]);else this.#d([r])},{passive:!0}),N(document,"pointerup",n,{passive:!0}),N(document,"pointercancel",n,{passive:!0}),N(document,"keydown",(i)=>{if(i.key==="Shift")this.#q=this.#i?.at(-1);else if(i.key==="Alt"&&!i.repeat&&this.#H&&this.#n.editPrediction?.mode==="subtle")this.#Vt=!this.#Vt,this.#d(this.#i??[])},{passive:!0}),N(document,"keyup",(i)=>{if(i.key==="Shift")this.#q=void 0},{passive:!0})]}#pe(){this.#w?.forEach((t)=>t()),this.#w=void 0,this.#z=!1,this.#Ot=!1,this.#lt=!1,this.#gt=void 0,this.#jt=!1,this.#q=void 0,this.#It=void 0}#se(t){this.#w?.forEach((e)=>e()),this.#w=t}#ge(){return this.#f?.options.enableLineSelection===!0}#Gt(){this.#bt=this.#i!==void 0}#qe(t,e){let{onFocus:n,onBlur:i}=this.#n,s=(r)=>{let a=r.composedPath()[0];return a!==void 0&&(a===t||t.contains(a))};this.#c?.forEach((r)=>r()),this.#c=[N(t,"focus",()=>{if(this.#H=!0,n?.(),!this.#lt&&!this.#z&&this.#i!==void 0&&this.#i.length>0)this.#Ht(this.#i.at(-1))},{passive:!0}),N(t,"blur",()=>{if(this.#_?.target===t)this.#_=void 0,this.#z=!1;this.#H=!1,i?.()},{passive:!0}),N(t,"pointerdown",(r)=>{if(this.#it=!0,this.#bt=!1,r.pointerType!=="mouse")return;if(this.#gt=void 0,this.#rn(r)){if(this.#Yt(!0),this.#i!==void 0)this.#d([]);return}this.#Yt(!1),this.#u?.removePopover();let a=[];if(oe()&&this.#E!==void 0&&this.#E.length>0){let l=[...t.querySelectorAll("[data-line-annotation]")].map((h)=>[N(h,"mouseenter",()=>{this.#z=!0}),N(h,"mouseleave",()=>{this.#z=!1})]).flat();a.push(...l)}this.#lt=!0;let c=r.button===0&&r.altKey&&!r.ctrlKey&&!r.metaKey&&!r.shiftKey;if(this.#q=void 0,c)this.#gt={pointerId:r.pointerId,startClientX:r.clientX,clientX:r.clientX,startScrollLeft:t.parentElement?.scrollLeft??0},this.#It=void 0,this.#i=void 0,this.#d([]),a.push(N(document,"pointermove",(l)=>{let h=this.#gt;if(h===void 0||l.pointerType!=="mouse"||l.pointerId!==h.pointerId)return;h.clientX=l.clientX,this.#Ae()},{capture:!0,passive:!0}));else if(r.button===0&&et(r))this.#It=this.#i?.map((l)=>({...l}));if(this.#se(a),r.shiftKey){let l=this.#i?.at(-1);if(l!==void 0){let h=l.direction===-1?l.end:l.start;this.#Ht({start:h,end:h,direction:0})}this.#jt=!0}},{passive:!0}),N(t,"keydown",(r)=>{if(!s(r))return;if(this.#it=!0,this.#bt=!1,r.isComposing||r.keyCode===229)return;if(r.key==="Tab"&&!r.shiftKey&&!r.ctrlKey&&!r.metaKey&&!r.isComposing&&!this.#Ut&&(!r.altKey||this.#n.editPrediction?.mode==="subtle")&&this.#j?.rendered===!0){this.#fn(),r.preventDefault();return}if(r.key==="Escape"&&this.#j!==void 0){this.#ot(!0),r.preventDefault();return}let a=qt(r,this.#n.keymap);if(a!==void 0){if(r.preventDefault(),a==="simplifySelection")this.#k?.close(),this.#k=void 0,this.#mt=!1,this.#I?.cleanup(),this.#I=void 0;this.#re(a);return}let c=$e(r),l=this.#t?.document;if(this.#i!==void 0&&this.#i.length>0&&c!==void 0&&l!==void 0){let h={getSoftLineOffsets:this.#Z?(d)=>this.#qt(d):void 0,resolveRenderableLine:this.#Ke};if(r.shiftKey)this.#d(fn(l,this.#i,c,h));else this.#d(ne(l,this.#i,c,h));this.#rt(),r.preventDefault();return}if((r.key.length===1?r.key.toLowerCase():r.key)==="v"&&et(r)){if(r.repeat&&this.#G){r.preventDefault();return}if(this.#n.clipboard!==void 0){r.preventDefault(),q(this.#me);return}}if(this.#k!==void 0){let h=ct(r);if(h!==void 0){r.preventDefault(),this.#k.navigate(h==="previous");return}}}),N(t,"copy",(r)=>{if(!s(r))return;if(r.preventDefault(),this.#ye())r.clipboardData?.setData("text",this.#Te());else this.#Be(r.clipboardData,this.#vn(),this.#Ne())}),N(t,"cut",(r)=>{if(!s(r))return;if(r.preventDefault(),this.#ye())r.clipboardData?.setData("text",this.#Te());else{let a=this.#Ne();this.#Be(r.clipboardData,this.#Cn(),a)}}),N(t,"paste",(r)=>{if(!s(r))return;r.preventDefault();let a=r.clipboardData,c=this.#t?.document;if(a===null||c===void 0)return;let l=a.getData("text"),h=this.#i?.length??0;if(h>1){let d=a.getData(Ee);if(d!==void 0)try{let f=JSON.parse(d);if(Array.isArray(f)&&f.length===h)l=f}catch{}}this.#Rt(Array.isArray(l)?l.map((d)=>c.normalizeEol(d)):c.normalizeEol(l),void 0,!0,"document")}),N(t,"beforeinput",(r)=>{if(!s(r))return;if(r.inputType==="insertCompositionText"){this.#ot(!0);return}r.preventDefault(),this.#Ce(r.inputType,r.data)}),N(t,"drop",(r)=>{if(!s(r))return;r.preventDefault()}),N(t,"compositionstart",(r)=>{if(!s(r))return;this.#ot(!0),this.#Ut=!0,this.#z=!0},{passive:!0}),N(t,"compositionend",(r)=>{if(!s(r))return;this.#z=!1;let a=this.#Ut;if(this.#Ut=!1,r.data!==""||!a)this.#Ce("insertText",r.data)},{passive:!0})];let o=this.#v?.shadowRoot?.querySelector("[data-deletions]");if(o!=null)this.#c.push(N(o,"pointerdown",(r)=>{let a=r.composedPath();if(ie(a)){this.#Gt();return}let c=a[0],l=c instanceof HTMLElement?c.closest("[data-column-number]"):null;if(l instanceof HTMLElement){if(this.#ge()){this.#Gt();return}if(this.#we(l,o,r.pointerType==="mouse"))return}if(this.#Yt(!0),this.#i!==void 0)this.#d([])},{passive:!0}));if(e!==void 0){let r=(c,l=!1)=>{let h=c;if(h?.dataset.lineNumberContent!==void 0)h=h.parentElement??void 0;else if(l&&h?.tagName==="SPAN")h=h.closest("[data-line]");return h},a=(c)=>{if(c===void 0)return;let l=c.dataset.lineType,h=X(c)??X(c,"columnNumber");if(h===void 0||l===void 0||!ht(l))return;return h-1};this.#c.push(N(e,"pointerdown",(c)=>{let l=c.composedPath();if(ie(l)){this.#Gt();return}let h=r(l[0]);if(h!==void 0&&this.#ge()){this.#Gt();return}if(h?.dataset.lineType==="change-deletion"){let m=h.closest("[data-code]");if(m!=null)this.#we(h,m,c.pointerType==="mouse");return}if(c.pointerType!=="mouse")return;let d=this.#t?.document,f=a(h);if(f===void 0||d===void 0)return;this.#it=!0,this.#u?.removePopover();let g=this.#Se(f,f,d);this.#Ot=!0,this.#q=g,this.#d([g]),this.#Ht(g),this.#$(),this.#se([N(document,"mousemove",(m)=>{if(!this.#Ot)return;let C=this.#t?.document,v=a(r(m.composedPath()[0],!0));if(v===void 0||C===void 0)return;let L=this.#q?.start.line??v,x=this.#Se(L,v,C);this.#q??=x,this.#d([x]),this.#$(x.direction===-1?x.start:x.end)},{passive:!0})])},{passive:!0}))}this.#u?.listenHover(t),this.#V?.disconnect(),this.#V=new ResizeObserver(this.#tn),this.#V.observe(t),this.#V.observe(t.parentElement),this.#ve(t)}#me=async()=>{let t=this.#n.clipboard;if(t!==void 0){let e=await t.readText(),n=this.#i?.length??0;if(n>1){let s=await t.readText(Ee);try{let o=JSON.parse(s);if(Array.isArray(o)&&o.length===n)e=o}catch{}}let i=this.#t?.document;if(i!=null)this.#Rt(Array.isArray(e)?e.map((s)=>i.normalizeEol(s)):i.normalizeEol(e),void 0,!0,"document")}};#ve(t){if(this.#G&&this.#Dt==="split"&&this.#Z){if(this.#C={top:t.offsetTop-this.#e.paddingTop,left:t.offsetLeft-this.#dt()},this.#n.__debug===!0)console.log("[diffs/editor] content offset:",this.#C)}}get#kt(){if(this.#G&&this.#Dt==="split"&&this.#Z)return this.#C}#re(t){let e=this.#t?.document;if(e==null)return;switch(t){case"openSearchPanel":this.#_e("find");break;case"openSearchReplacePanel":this.#_e("replace");break;case"findNextMatch":{let n=this.#i;if(n===void 0)break;if(n.some(F)){let i=n.map((s)=>{if(F(s))return Ht(e,s);return s});this.#d(i),this.focus()}else{let i=En(e,n);if(i!==void 0){this.#d(i);let s=i.at(-1);if(s!==void 0)this.#Lt(W(s).line);this.#rt()}}break}case"moveLineUp":case"moveLineDown":this.#Je(t==="moveLineUp"?-1:1);break;case"copyLineUp":case"copyLineDown":this.#Ze(t==="copyLineUp"?-1:1);break;case"simplifySelection":{let n=this.#i,i=n?.at(-1);if(n===void 0||i===void 0)break;if(n.length>1)this.#d([i]),this.#$(W(i));else if(!F(i)){let s=W(i);this.#d([{start:s,end:s,direction:0}]),this.#$(s)}break}case"insertBlankLine":this.#Qe();break;case"deleteHardLineForward":this.#En();break;case"toggleComment":case"toggleBlockComment":{let n=this.#i;if(n===void 0)break;let{lineComment:i,blockComment:s}=Wn(e.languageId,this.#n.languageCommentConfig);if(t==="toggleComment"&&i!==null){this.#Xt(Vn(e,n,i));break}let o=t==="toggleComment",r=$n(e,n,s,o);if(r!==void 0)this.#Xt(r.edits,o?void 0:(a)=>r.nextSelectionOffsets.map(([c,l,h])=>({start:a.positionAt(c),end:a.positionAt(l),direction:h})));break}case"indent":case"outdent":case"indentLess":case"indentMore":if(this.#i!==void 0){let n=[],i=[],s=new Set,o=[];for(let a of this.#i){let c=a.start.line,l=t==="outdent"||t==="indentLess",h=t==="indentLess"||t==="indentMore";if(c!==a.end.line||l||h){let d=dn(e,a,this.#e.tabSize,l);for(let f of d[0]){let g=f.range.start.line;if(!s.has(g))s.add(g),n.push(f)}i.push(d[1])}else{let d=e.charAt({line:c,character:0})==="\t"?"\t":" ".repeat(this.#e.tabSize);n.push({range:a,newText:d}),o.push({line:c,startCharacter:a.start.character,addedLength:d.length-(a.end.character-a.start.character),selectionIndex:i.length});let f={line:a.start.line,character:a.start.character+d.length};i.push({start:f,end:f,direction:0})}}for(let a of o){let c=0;for(let l of o)if(l.line===a.line&&l.startCharacter<a.startCharacter)c+=l.addedLength;if(c!==0){let l=i[a.selectionIndex],h={line:a.line,character:l.start.character+c};i[a.selectionIndex]={start:h,end:h,direction:0}}}let r=e.applyEdits(n,!0,this.#i,i);if(r!==void 0)this.#U(r,i)}break;case"selectAll":{let n=bn(e);this.#d([n]),this.focus();let i=this.#He(),s=i[0]?.[0],o=i.at(-1)?.[1];if(s!==void 0&&o!==void 0)this.#bt=!0,this.#Ht({start:{line:s,character:0},end:{line:o,character:e.getLineLength(o)},direction:1});break}case"moveCursorToDocStart":case"moveCursorToDocEnd":{let n=le(e,t==="moveCursorToDocEnd",this.#G);this.#d([n]),this.#Lt(W(n).line),this.#rt()}break;case"expandSelectionDocStart":case"expandSelectionDocEnd":{let n=t==="expandSelectionDocEnd",i=this.#i;if(i!==void 0){let s=le(e,n,this.#G);this.#d(xn(i,s)),this.#Lt(W(s).line),this.#rt()}}break;case"undo":case"redo":this.#je(t)}}#je(t){let e=this.#t?.document;if(e==null)return;if(t==="undo"&&!e.canUndo||t==="redo"&&!e.canRedo)return;let n=this.#i,i=n?.map((d)=>[e.offsetAt(d.start),e.offsetAt(d.end)]),s=t==="undo"?e.undo():e.redo();if(s===void 0)return;let[o,r,a,c]=s,l=r??(n!==void 0&&i!==void 0&&c!==void 0?Et(e,n,i,c):void 0),h=a??(this.#E!=null?at(o,this.#E):void 0);this.#U(o,l,h)}#Xt(t,e){let n=this.#t?.document,i=this.#i;if(n===void 0||i===void 0)return;let s=e===void 0,o=s?i.map((l)=>[n.offsetAt(l.start),n.offsetAt(l.end)]):void 0,r=s?t.map((l)=>{let h=n.offsetAt(l.range.start),d=n.offsetAt(l.range.end);return{start:Math.min(h,d),end:Math.max(h,d),text:l.newText}}).sort((l,h)=>{let d=l.start-h.start;return d!==0?d:l.end-h.end}):void 0,a=n.applyEdits(t,!0,i,void 0,!0);if(a===void 0)return;let c=s?Et(n,i,o,r):e(n);n.setLastUndoSelectionsAfter(c),this.#U(a,c,this.#Q(a))}#Ze(t){let e=this.#t?.document,n=this.#i;if(e===void 0||n===void 0)return;let i=ce(n);if(i.length===0)return;let s=[],o=0,r=[];for(let c of i){s.push(o);let l=c.endLine-c.startLine+1;o+=l;let h=e.getText({start:{line:c.startLine,character:0},end:{line:c.endLine,character:e.getLineLength(c.endLine)}});if(t>0){let d={line:c.startLine,character:0};r.push({range:{start:d,end:d},newText:h+e.eol})}else if(c.endLine<e.lineCount-1){let d={line:c.endLine+1,character:0};r.push({range:{start:d,end:d},newText:h+e.eol})}else{let d={line:c.endLine,character:e.getLineLength(c.endLine)};r.push({range:{start:d,end:d},newText:e.eol+h})}}let a=n.map((c)=>{let l=c.start.line,h=0,d=i.length-1;while(h<=d){let C=h+d>>>1,v=i[C];if(l<v.startLine)d=C-1;else if(l>v.endLine)h=C+1;else{h=C;break}}let f=Math.max(0,h<=d?h:d),g=i[f],m=s[f]+(t>0?g.endLine-g.startLine+1:0);return{start:{...c.start,line:c.start.line+m},end:{...c.end,line:c.end.line+m},direction:c.direction}});this.#Xt(r,()=>a)}#Qe(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0)return;let n=e.map((c)=>W(c).line),i=Array.from(new Set(n)).sort((c,l)=>c-l),s=new Map,o=new Map,r=[];for(let c=0;c<i.length;c++){let l=i[c],h=t.getLineText(l),d=/^\s*/.exec(h)?.[0]??"";s.set(l,c),o.set(l,d);let f={line:l,character:t.getLineLength(l)};r.push({range:{start:f,end:f},newText:t.eol+d})}let a=e.map((c,l)=>{let h=n[l],d={line:h+1+s.get(h),character:o.get(h).length};return{start:d,end:d,direction:0}});this.#Xt(r,()=>a)}#Je(t){let e=this.#t?.document,n=this.#i;if(e===void 0||n===void 0)return;let i=ce(n);if(i.length===0||t<0&&i[0].startLine===0||t>0&&i.at(-1).endLine>=e.lineCount-1)return;let s=e.lineCount,o=(f)=>f<s-1?{line:f+1,character:0}:{line:f,character:e.getLineLength(f)},r=(f,g)=>{let m=f.map((C)=>e.getLineText(C)).join(e.eol);return g?m+e.eol:m},a=[];if(t<0)for(let f of i){let g=f.startLine-1,m=[];for(let C=f.startLine;C<=f.endLine;C++)m.push(C);a.push({range:{start:{line:g,character:0},end:o(f.endLine)},newText:r([...m,g],f.endLine<s-1)})}else for(let f=i.length-1;f>=0;f--){let g=i[f],m=g.endLine+1,C=[];for(let v=g.startLine;v<=g.endLine;v++)C.push(v);a.push({range:{start:{line:g.startLine,character:0},end:o(m)},newText:r([m,...C],m<s-1)})}let c=i.at(-1),l=t>0&&c.endLine===s-2?e.getLineLength(c.endLine):e.getLineLength(s-1),h=n.map((f)=>Sn(f,t,s,(g)=>g===s-1?l:e.getLineLength(g))),d=e.applyEdits(a,!0,n,h,!0);if(d!==void 0)this.#U(d,h)}#tn=()=>{let t=this.#E?.length??0,e=this.#g,n=this.#L;this.#g=void 0,this.#L=void 0;let i=this.#dt()!==e,s=this.#de()!==n;if(!i&&!s)return;if(this.#O.clear(),this.#h=void 0,this.#e.clearTextWidthCache(),s){if(this.#o.clear(),this.#Z||t>0)this.#R.clear()}if(this.#i!==void 0||this.#K!==void 0||this.#u!==void 0){if(this.#d(this.#i??[]),this.#i!==void 0&&this.#H)this.focus()}this.#u?.removePopover(),this.#ve(this.#a),this.#xt()};#en(){if(this.#Qt)return;let t=document.fonts;if(t===void 0)return;this.#Qt=!0,t.ready.then(()=>{if(this.#a===void 0||!this.#e.remeasureCharacterWidth())return;if(this.#g=void 0,this.#L=void 0,this.#zt(),this.#o.clear(),this.#i!==void 0||this.#K!==void 0||this.#u!==void 0)this.#d(this.#i??[]);this.#xt(),this.#u?.removePopover()})}#nn(t,e,n=this.#D,i){let s=this.#r,o=this.#f,r=this.#tt,a=this.#t?.document,c=this.#W,l=this.#a;if(s==null||o==null||r==null||a==null||l==null)return;s.stopBackgroundTokenize();let h=performance.now(),d=s.tokenize(t,n,!this.#G&&this.#Bt!=null),f=performance.now();if(d.size>0){let m=l.children,C=new Set;for(let v of d.keys())if(this.#Ct(v))C.add(v);for(let v=0;v<m.length;v++){let L=m[v];if(L!==void 0){let x=X(L),b=L.dataset.lineType;if(x===void 0||b==="change-deletion")continue;let E=x-1;if(C.has(E)){let T=d.get(E);if(L.replaceChildren(...Vt(T)),C.delete(E),C.size===0)break}}}if(C.size>0){let v=0;for(let L=m.length-1;L>=0;L--){let x=m[L],b=X(x);if(b!==void 0&&x.dataset.lineType!=="change-deletion"){v=b;break}}for(let L of C){if(L<v)continue;let x=d.get(L),b=String(L+1);if(P("div",{dataset:{line:b,lineType:"context",lineIndex:L.toString()},children:Vt(x)},l),c!==void 0)P("div",{dataset:{lineType:"context",columnNumber:b,lineIndex:L.toString()},children:[P("span",{dataset:{lineNumberContent:""},textContent:b})]},c)}}}if(t.lineDelta<0)for(let m of[l.children,c?.children??[]])for(let C=m.length-1;C>=0;C--){let v=m[C],L=X(v)??X(v,"columnNumber"),x=v.dataset.lineType;if(L===void 0||x==="change-deletion")continue;if(L-1<t.lineCount)break;v.remove()}let g=t.lineDelta!==0;if(g){let m=l.children.length;for(let C of l.children){let{bufferSize:v}=C.dataset;if(v!==void 0)m+=parseInt(v)-1}if(l.style.gridRow="span "+m,c!==void 0)c.style.gridRow="span "+m}if(o.updateRenderCache(d,s.themeType,{shouldRefreshDiffsView:this.#G&&!g,lineCountChangeInFlight:g}),g)r(a,e,i);if(g||this.#G&&this.#Dt==="unified")this.#zt();if(e!=null){if(this.#E=e,!this.#G||!g)sn(e,l,c,o.getAnnotationSlotName)}if(this.#xt(),this.#n.__debug===!0)console.log(`[diffs/editor] re-render in: ${nt(performance.now()-f)}ms,`,`tokenize in: ${nt(f-h)}ms (${d.size} dirty lines)`)}#Ce(t,e){switch(t){case"insertText":{let n=e??"",i=this.#t?.document,s=this.#i,o=i!==void 0&&s!==void 0?pn(i,s,n,this.#n.autoSurround):void 0;this.#Rt(o??n);break}case"insertCompositionText":break;case"insertLineBreak":case"insertParagraph":this.#Rt(this.#t?.document?.eol??`
62
+ `);break;case"deleteContentBackward":this.#De();break;case"deleteContentForward":this.#De(!0);break;case"deleteSoftLineBackward":case"deleteHardLineBackward":this.#xn();break;case"deleteWordBackward":this.#Sn();break;case"insertTranspose":this.#bn();break;default:console.warn(`[diffs] Unknown input type: ${t}`,e)}}#$(t,e=!0,n){if(this.#H=!0,t!==void 0)this.#z=!0,this.#Ht({start:t,end:t,direction:0}),q(()=>{if(n?.()===!1||!this.#H){this.#z=!1;return}this.#a?.focus({preventScroll:e}),q(()=>{this.#z=!1})});else if(n?.()!==!1)this.#a?.focus({preventScroll:e});else this.#H=!1}#oe(t){let e=this.#_;if(e==null)return;if(this.#mt){this.#_=void 0,this.#H=!1,this.#z=!1;return}let n=this.#a;if(n==null||!this.#Le(n)){this.#_=void 0,this.#H=!1;return}let i=()=>{if(this.#_!==e)return!1;let r=this.#Le(n);return this.#_=void 0,r};if(t!=null){this.#$(t,!0,i);return}let s=this.#i?.at(-1);if(s==null){this.#$(void 0,!0,i);return}let o=s.direction===-1?s.end:s.start;this.#$(o,!0,i)}#Le(t){let e=this.#v,n=e?.shadowRoot;if(e==null||n==null||this.#a!==t||!n.contains(t))return!1;let{activeElement:i}=n;if(i===t||i!=null&&t.contains(i))return!0;if(i!=null)return!1;let{ownerDocument:s}=e,{activeElement:o}=s;return o==null||o===s.body||o===s.documentElement||o===e}#in(t=0){let e=this.#a,n=this.#v;if(this.#t?.document==null||e==null||n==null)return;let i=this.#Xe();if(i===void 0)return;let s,o;if(i instanceof HTMLElement){let a=i.getBoundingClientRect();s=a.top,o=a.bottom}else s=0,o=i.defaultView?.innerHeight??0;let r=n.shadowRoot?.querySelector("[data-diffs-header][data-sticky]");if(r!=null)s=Math.max(s,r.getBoundingClientRect().bottom);if(Number.isFinite(t))s+=Math.max(0,t);if(o<=s)return;for(let a of e.children){let c=a,l=X(c),h=c.dataset.lineType;if(l==null||h==null||!ht(h))continue;let d=c.getBoundingClientRect();if(d.bottom<=d.top)continue;if(d.top>=s&&d.top<o)return l}}#sn(t,e){let n={start:t,end:t,direction:0};if(this.#it=!1,this.#d([n]),this.#Lt(t.line),e)this.#$(t,!0);else this.#rt()}#Ht(t){let e=window.getSelection();if(e===null)return;let{start:n,end:i,direction:s}=t;if(z(n,i)>0)[n,i]=[i,n];let o=this.#J(n.line),r=this.#J(i.line);if(o===void 0||r===void 0)return;let[a,c]=Dt(o,n.character),[l,h]=Dt(r,i.character);if(s===-1)[a,c,l,h]=[l,h,a,c];try{e.setBaseAndExtent(a,kt(a,c),l,kt(l,h))}catch(d){console.error("[diffs/editor] failed to update window selection:",d)}}#rt(t=!1,e="nearest"){let n=this.#i?.at(-1);if(n===void 0)return;let i=this.#Y;if(i!==void 0){if(i.scrollIntoView({block:e,inline:"nearest"}),!t){let s=n.direction===-1?n.end:n.start;if(this.#_!==void 0)this.#oe(s);else this.#$(s)}}else{let s=W(n);this.#ae(s.line,s.character,t)}}#xe(){let t=this.#k!==void 0?48:0,e=this.#dt()+this.#e.ch;return`${t}px ${this.#e.ch}px 0 ${e}px`}#ae(t,e=0,n=!1){this.__postponeBgTokenizeToNextFrame();let i=P("div",{style:{position:"absolute",left:"0",width:"2px",height:this.#e.lineHeight+"px",scrollMargin:this.#xe()}});if(this.#J(t)!==void 0){let[s,o]=this.#X(t,e),r=this.#ht(t)+o*this.#e.lineHeight;if(i.style.top=r+"px",i.style.left=s+"px",this.#P?.appendChild(i),i.scrollIntoView({block:"center",inline:"nearest"}),!n){let a={line:t,character:e};if(this.#_!==void 0)this.#oe(a);else this.#$(a)}this.#st=void 0,this.#wt=void 0,this.#Wt=!1,this.#yt=!1}else{let s=this.#Bt?.getLinePosition?.(t+1);if(s!==void 0)if(i.style.top=s.top+"px",this.#v?.shadowRoot?.appendChild(i),i.scrollIntoView({block:"center",inline:"nearest"}),s.height>0&&this.#Ct(t))this.#st=t,this.#wt=e,this.#yt=n;else this.#st=void 0,this.#wt=void 0,this.#yt=!1;else{let o=0;if(this.#st===t&&this.#a!==void 0)for(let a=this.#a.childElementCount-1;a>=0;a--){let c=this.#a.children[a],l=c.dataset.lineType,h=X(c);if(l!==void 0&&ht(l)&&h!==void 0){o=(t-(h-1))*this.#e.lineHeight;break}}let r=((this.#E??[]).filter((a)=>a.lineNumber<t).length+t)*this.#e.lineHeight+o;if(i.style.top=r+"px",this.#v?.shadowRoot?.appendChild(i),i.scrollIntoView({block:"center",inline:"nearest"}),this.#st===t&&(o===0||this.#Wt)||!this.#Ct(t))this.#st=void 0,this.#wt=void 0,this.#Wt=!1,this.#yt=!1;else this.#st=t,this.#wt=e,this.#Wt=o!==0,this.#yt=n}}i.remove()}#Se(t,e,n){let i=(o)=>({line:o,character:0}),s=(o)=>({line:o,character:n.getLineText(o).length});if(e<t)return{start:i(e),end:s(t),direction:-1};return{start:i(t),end:s(e),direction:1}}#rn(t){let e=t.composedPath()[0];return e instanceof HTMLElement&&e.closest("[data-line]")?.getAttribute("data-line-type")==="change-deletion"}#Ee(t,e,n){let i=[...n.querySelectorAll("[data-content] > [data-line]")],s=i.indexOf(t),o=i.indexOf(e),[r,a]=o<s?[e,t]:[t,e],c=window.getSelection();if(c!==null){let d=document.createRange();d.setStart(r,0),d.setEnd(a,a.childNodes.length),c.removeAllRanges(),c.addRange(d)}this.#Yt(!0),this.#d([]),this.#Ft(X(e)??null,!0,"deletions");let l=Math.min(s,o),h=Math.max(s,o);this.#Pt=l<0?"":i.slice(l,h+1).filter((d)=>d.getAttribute("data-line-type")==="change-deletion").map((d)=>d.textContent??"").join(`
63
+ `)}#be(t,e){let n=t.parentElement;if(n==null||e==null)return;let i=[...n.children].indexOf(t),s=e.children[i];return s instanceof HTMLElement?s:void 0}#we(t,e,n){let i=e.querySelector("[data-content]"),s=this.#be(t,i);if(s===void 0)return!1;if(this.#Ee(s,s,e),n)this.#se([N(document,"mousemove",(o)=>{let r=o.composedPath()[0],a=r instanceof HTMLElement?r.closest("[data-column-number]"):null;if(a instanceof HTMLElement&&e.contains(a)){let c=this.#be(a,i);if(c!==void 0)this.#Ee(s,c,e)}},{passive:!0})]);return!0}#ye(){return this.#v?.shadowRoot?.querySelector("pre")?.hasAttribute("data-deleted-text-selection")??!1}#Te(){return this.#Pt!==""?this.#Pt:window.getSelection()?.toString()??""}#Yt(t){let e=this.#v?.shadowRoot?.querySelector("pre");if(e==null)return;if(t)e.setAttribute("data-deleted-text-selection",""),this.#Ft(null),this.#Pt="";else e.removeAttribute("data-deleted-text-selection"),this.#Pt=""}#Ft(t,e=!1,n="additions"){try{this.#f?.setEditorActiveLine(t,{lineNumberOnly:e,side:n})}catch{}}#on(){if(this.#Tt!==void 0)return;this.#Tt=requestAnimationFrame(()=>{if(this.#Tt=void 0,this.#i!==void 0||this.#K!==void 0||this.#u!==void 0)this.#d(this.#i??[])})}#Ae(){let t=this.#gt,e=this.#q,n=this.#t?.document;if(t===void 0||t.focusLine===void 0||e===void 0||n===void 0)return!1;let i=e.direction===-1?e.end:e.start,s=this.#a?.parentElement?.scrollLeft??0,o=(t.clientX-t.startClientX+s-t.startScrollLeft)/this.#e.ch,r=o<0?-Math.round(-o):Math.round(o),a=Math.max(0,i.character+r),c={line:t.focusLine,character:a};if(t.renderedGoal!==void 0&&z(t.renderedGoal,c)===0)return!0;t.renderedGoal=c;let l=[],h=c.line<i.line?-1:1;for(let d=i.line;;d+=h){if(this.#Ct(d)){let f=n.getLineText(d),g=Math.min(i.character,f.length),m=Math.min(a,f.length),C=_t(f,g),v=m===g?C:_t(f,m);l.push({start:{line:d,character:Math.min(C,v)},end:{line:d,character:Math.max(C,v)},direction:C===v?0:C<v?1:-1})}if(d===c.line)break}return this.#d(l),!0}#an(){for(let[t,e]of this.#A??[])if(t.startsWith("editPrediction"))e.remove(),this.#A?.delete(t)}#cn(t,e,n){let i=e[n],s=n,o=i.range.end.line;while(s+1<e.length&&e[s+1].range.start.line<=o)s++,o=Math.max(o,e[s].range.end.line);if(s===n&&(i.newText.length===0||z(i.range.start,i.range.end)===0))return{edit:i,endIndex:s};let r=i.range.start,a={line:o,character:t.getLineLength(o)},c=[],l=t.offsetAt(r);for(let h=n;h<=s;h++){let d=e[h],f=t.offsetAt(d.range.start),g=t.offsetAt(d.range.end);c.push(t.getTextSlice(l,f),d.newText),l=g}return c.push(t.getTextSlice(l,t.offsetAt(a))),{edit:{range:{start:r,end:a},newText:c.join("")},endIndex:s}}#ke(){let t=this.#j,e=this.#t?.document;if(t==null||e==null||t.document!==e||t.version!==e.version||this.#n.editPrediction?.mode==="subtle"&&!this.#Vt)return;let{edits:n}=t.response,i=[],s=n.length>0;for(let o=0;o<n.length;){let{edit:r,endIndex:a}=this.#cn(e,n,o);for(let c=r.range.start.line;s&&c<=r.range.end.line;c++)s=this.#Et(c);i.push({edit:r,startIndex:o,endIndex:a}),o=a+1}return{groups:i,allVisible:s}}#Me(t,e,n,i,s){if(this.#Z)t.dataset.wrap="",t.style.width=`calc(100cqw - ${i}px)`;else delete t.dataset.wrap,t.style.width="max-content";let o=e.split(/\r\n|\r|\n/);for(let r=0;r<o.length;r++){let a=o[r],c=r===o.length-1?s:void 0,l=a.length===0&&c===void 0,h=P("span",{dataset:l?["editPredictionLine","empty"]:"editPredictionLine",textContent:l?"​":a},t);if(c!==void 0)P("span",{dataset:"editPredictionSuffix"},h).append(c);if(r===0&&n!==i)h.style.textIndent=`${n-i}px`}}#Re(t){let e=this.#j,n=this.#t?.document;if(e==null||n==null)return;let{edit:i,startIndex:s,endIndex:o}=t,{start:r,end:a}=i.range;if(!(z(r,a)===0&&r.character<n.getLineLength(r.line))||e.response.edits[s-1]?.range.end.line===r.line||e.response.edits[o+1]?.range.start.line===r.line)return;let c=this.#J(r.line);if(c===void 0)return document.createTextNode(n.getLineText(r.line).slice(r.character));let[l,h]=Dt(c,r.character),d=document.createRange();d.selectNodeContents(c),d.setStart(l,kt(l,h));let f=d.cloneContents();if(f.firstChild?.textContent==="")f.firstChild.remove();return f}#ln(t){let{edit:e}=t,{start:n}=e.range,[i,s]=this.#X(n.line,n.character),o=1,r=e.newText.split(/\r\n|\r|\n/).length,a=this.#P;if(this.#Z&&a!=null){o=Math.max(1,this.#qt(n.line).length-1);let c=P("span",{dataset:"editPrediction",style:{visibility:"hidden"}},a);this.#Me(c,e.newText,i,this.#X(n.line,0)[0],this.#Re(t));let{width:l,height:h}=c.getBoundingClientRect();c.remove();let{lineHeight:d}=this.#e;if(l>0&&h>0&&d>0)r=Math.round(h/d)}return Math.max(0,r-(o-s))}#Oe(t=!0){let e=new Map,n=new Map,i=this.#ne,s=!1,o=this.#a,r=this.#ke();if(o!=null&&r!=null&&r.allVisible){for(let c of r.groups){let{edit:l}=c;if(l.newText.length===0)continue;let h=this.#ln(c);if(h>(n.get(l.range.start.line)??0))n.set(l.range.start.line,h)}if(n.size>0){let c,l=this.#D?.startingLine??0;for(let[h,d]of n){s||=i.get(h)!==d;let f=this.#J(h);if(f===void 0)continue;let g=h-l;if(o.children[g]!==f){if(c===void 0){c=new Map;for(let v=0;v<o.children.length;v++)c.set(o.children[v],v)}g=c.get(f)??-1}if(g<0)continue;e.set(f,d);let m=this.#W?.children[g];if(m instanceof HTMLElement)e.set(m,d);let C=this.#dn(g);if(C!=null)e.set(C.content,(e.get(C.content)??0)+d),e.set(C.gutter,(e.get(C.gutter)??0)+d)}}}let a=!1;for(let[c,l]of this.#ee){if(e.get(c)===l)continue;delete c.dataset.editPredictionSpacer,c.style.removeProperty("--diffs-edit-prediction-spacer-height"),a=!0}for(let[c,l]of e){if(this.#ee.get(c)===l)continue;c.dataset.editPredictionSpacer="",c.style.setProperty("--diffs-edit-prediction-spacer-height",`${l}lh`),a=!0}if(this.#ee=e,s||n.size!==i.size){if(this.#ne=n,t)this.#Bt?.syncGhostTextRows()}if(a)this.#zt()}#dn(t){let e=this.#N,n=this.#a;if(e==null||n==null||!this.#G||this.#Dt!=="split"||this.#Z)return;let i=0;for(let a=0;a<t;a++)i+=si(n.children[a]);let{content:s,gutter:o}=e,r=0;for(let a=0;a<s.children.length;a++){let c=s.children[a];if(r+=si(c),r>i){let l=o.children[a];if(!(c instanceof HTMLElement)||!(l instanceof HTMLElement))throw Error("Editor: deletions column rows and gutter cells are out of step");return{content:c,gutter:l}}}}#ot(t,e=!0){if(this.#_t!==void 0)clearTimeout(this.#_t),this.#_t=void 0;if(this.#vt?.abort(),this.#vt=void 0,this.#Jt++,this.#Vt=!1,this.#te=!1,this.#j=void 0,this.#Oe(e),t)this.#an()}#Pe(t){let e=this.#n.editPrediction;if(e===void 0)return!1;let n=t.replaceAll("\\","/");return(e.include===void 0||e.include.some((i)=>pe(n,i)))&&e.exclude?.some((i)=>pe(n,i))!==!0}#Mt(){this.#ot(!0);let t=this.#i?.[0];if(this.#n.editPrediction===void 0||this.#t?.document===void 0||this.#t?.fileInfo===void 0||this.#i?.length!==1||t===void 0||!F(t))return;let e=this.#t?.document,n=e.offsetAt(W(t));this.#_t=setTimeout(()=>{this.#_t=void 0;let i=this.#n.editPrediction,s=this.#i?.[0],o=this.#t?.fileInfo?.name;if(i===void 0||o===void 0||this.#t?.document!==e||this.#i?.length!==1||s===void 0||!F(s)||e.offsetAt(W(s))!==n)return;if(!this.#Pe(o))return;let r=(m)=>this.#Fe(m)&&this.#Ct(m);if(!r(W(s).line)){this.#te=!0;return}let a=Fn(o,e,n,this.#At,r);if(a===void 0)return;let c=e.offsetAt({line:a.excerptStartLine,character:0}),l=c+a.editableRange.start,h=c+a.editableRange.end,d=new AbortController,f=++this.#Jt;this.#vt=d;let g;try{g=i.provider.predict(a,{signal:d.signal})}catch{this.#vt=void 0;return}Promise.resolve(g).then((m)=>{let C=this.#i?.[0];if(d.signal.aborted||f!==this.#Jt||this.#vt!==d||this.#t?.document!==e||e.version!==a.version||this.#i?.length!==1||C===void 0||!F(C)||e.offsetAt(W(C))!==n)return;if(m==null||!Array.isArray(m.edits)||m.edits.length===0||m.edits.length>Ss||m.newCursor==null)return;let v=[],L=0;for(let y of m.edits){if(y==null||typeof y.newText!=="string"||!ri(e,y.range?.start)||!ri(e,y.range?.end)||z(y.range.start,y.range.end)>0)return;if(L+=bs.encode(y.newText).byteLength,L>Es)return;let H=e.offsetAt(y.range.start),J=e.offsetAt(y.range.end),rt=e.resolveEdits([y])[0];if(rt.start!==H||rt.end!==J)return;v.push(rt)}v.sort((y,H)=>{let J=y.start-H.start;return J===0?y.end-H.end:J});for(let y=0;y<v.length;y++){let H=v[y];if(H.start<l||H.end>h||y>0&&v[y-1].end>H.start)return}let x=v.filter((y)=>y.text!==e.getTextSlice(y.start,y.end));if(x.length===0)return;let b=e.positionAt(x[0].start),E=e.positionAt(x.at(-1).end),T=e.offsetAt({line:b.line,character:0}),k=e.offsetAt({line:E.line,character:e.getLineLength(E.line)}),I=[],B=T;for(let y of x)I.push(e.getTextSlice(B,y.start),y.text),B=y.end;I.push(e.getTextSlice(B,k));let M=I.join("").split(/\r\n|\r|\n/),w=b.line+M.length-1,_=M.length-(E.line-b.line+1),O=m.newCursor;if(!Number.isInteger(O.line)||!Number.isInteger(O.character)||O.line<0||O.character<0)return;if(O.line>=b.line&&O.line<=w){let y=M[O.line-b.line];if(O.character>y.length||oi(y,O.character))return}else{let y=O.line<b.line?O.line:O.line-_;if(y<0||y>=e.lineCount||O.character>e.getLineLength(y))return;let H=e.offsetAt({line:y,character:O.character});if(oi(e.charAt(H-1)+e.charAt(H),1))return}this.#j={document:e,version:a.version,cursorOffset:n,rendered:!1,response:{edits:x.map((y)=>({range:{start:e.positionAt(y.start),end:e.positionAt(y.end)},newText:y.text})),newCursor:{...O}}},this.#d(this.#i)}).catch(()=>{}).finally(()=>{if(this.#vt===d)this.#vt=void 0})},xs)}#hn(t,e){let n=this.#t?.document,i=this.#t?.fileInfo?.name,s=Fe(t);if(n===void 0||i===void 0||s===void 0||!this.#Pe(i))return;this.#At=Hn(this.#At,i,n,s,e)}#fn(){let t=this.#j,e=this.#t?.document,n=this.#i?.[0];if(t===void 0||!t.rendered||e===void 0||t.document!==e||t.version!==e.version||this.#i?.length!==1||n===void 0||!F(n)||e.offsetAt(W(n))!==t.cursorOffset)return;let{edits:i,newCursor:s}=t.response;this.#ot(!0);let o=e.applyEdits(i.map((c)=>({range:{start:{...c.range.start},end:{...c.range.end}},newText:c.newText})),!0,this.#i,void 0,!0);if(o===void 0){this.#Mt();return}let r=e.normalizePosition(s),a=[{start:r,end:r,direction:0}];e.setLastUndoSelectionsAfter(a),this.#U(o,a,this.#Q(o),{editSource:"prediction"})}#un(t){let e=this.#j,n=this.#t?.document;if(e!==void 0)e.rendered=!1;let i=this.#ke();if(e==null||n==null||i==null||!i.allVisible)return;for(let s of i.groups){let{edit:o,endIndex:r}=s,{start:a,end:c}=o.range,l=o.newText.length===0,h=z(a,c)!==0,d=n.getLineLength(a.line),f=!h&&a.character<d;if(h)this.#St(t,l?"editPredictionDeletion":"editPredictionReplacement",{start:a,end:c});else if(f)this.#St(t,"editPredictionInsertion",{start:a,end:{line:a.line,character:d}});if(l)continue;let[g,m]=this.#X(a.line,a.character),C=this.#X(a.line,0)[0],v=this.#ht(a.line)+m*this.#e.lineHeight,L=`editPrediction-${r}`,x=this.#A?.get(L);if(x!==void 0)this.#A?.delete(L),x.replaceChildren();else x=P("span",{ariaHidden:"true",contentEditable:"false",dataset:"editPrediction"},t.fragment);if(h){x.dataset.replacement="";let b=this.#J(a.line);if(b!==void 0)x.style.setProperty("--diffs-edit-prediction-bg",getComputedStyle(b).getPropertyValue("--diffs-line-bg"))}else delete x.dataset.replacement,x.style.removeProperty("--diffs-edit-prediction-bg");this.#Me(x,o.newText,g,C,this.#Re(s)),x.style.transform=`translateX(${C}px) translateY(${v}px)`,t.elements.set(L,x)}e.rendered=!0}#d(t){this.__postponeBgTokenizeToNextFrame();let e=this.#i,n=e?.length!==t.length;if(!n&&e!==void 0)for(let r=0;r<t.length;r++){let a=e[r],c=t[r];if(a.direction!==c.direction||z(a.start,c.start)!==0||z(a.end,c.end)!==0){n=!0;break}}if(n)this.#ot(!0);if(this.#Oe(),this.#Y=void 0,this.#Ft(null),t.length===0&&this.#K===void 0&&this.#u===void 0){if(this.#i=void 0,this.#A?.forEach((r)=>r.remove()),this.#A?.clear(),this.#I?.cleanup(),this.#I=void 0,n)this.#Mt();return}let i=document.createDocumentFragment(),s={fragment:i,elements:new Map};if(t.length>0){let r=ae(t),a=r.at(-1);this.#i=r;let c=r.some((d)=>!F(d)),l=W(a).line+1;this.#Ft(l,c);for(let d of r){if(!F(d))this.#St(s,"selection",d);this.#gn(s,d,d===a)}let h=this.#n.matchBrackets!==!1&&this.#t?.document!=null&&this.#r!==void 0&&F(a)?qn(this.#t?.document,this.#r,a.start):void 0;if(h!==void 0)for(let d of h)this.#St(s,"bracketMatch",d)}let o=this.#t?.document;if(this.#K!==void 0&&o!==void 0){let r=this.#K,a=this.#D,c=a!=null&&Number.isFinite(a.totalLines)||this.#G&&this.#Nt?.options.expandUnchanged!==!0?this.#He():void 0,l=this.#i?.at(-1),h=l!==void 0?o.offsetAt(l.start):-1,d=l!==void 0?o.offsetAt(l.end):-1,f=0,g=c?.length??1;for(let m=0;m<g;m++){let C=1/0,v=c?.[m];if(v!==void 0){let[L,x]=v,b=o.offsetAt({line:L,character:0}),E=x+1;C=E<o.lineCount?o.offsetAt({line:E,character:0}):o.offsetAt({line:E-1,character:o.getLineLength(E-1)});let T=f,k=r.length;while(T<k){let I=T+Math.floor((k-T)/2);if(r[I][1]<=b)T=I+1;else k=I}f=T}for(;f<r.length;f++){let[L,x]=r[f];if(L>=C)break;let b={start:o.positionAt(L),end:o.positionAt(x)},E=h===L&&d===x;this.#St(s,"match",b,E?"focus":void 0)}}}if(this.#u!==void 0&&o!==void 0)for(let r of this.#u.markers)this.#St(s,"marker",r,ft(r.severity));if(this.#un(s),this.#P?.appendChild(i),this.#A?.forEach((r)=>r.remove()),this.#A?.clear(),this.#A=s.elements,this.#le(),n)this.#Mt()}#xt(){let t=this.#pt,e=this.#n.renderCaret,n=this.#P;if(this.#F?.forEach((r)=>r.remove()),this.#F=void 0,t===void 0||e===void 0||n===void 0){this.#S?.forEach((r)=>r.remove()),this.#S=void 0;return}let i=this.#S??=new Map;for(let[r,a]of i)if(!this.#Et(r.caret.focus.line))a.remove(),i.delete(r);let s=document.createDocumentFragment(),o=[];for(let r of t){let{caret:a}=r,{line:c,character:l}=a.focus;if(r.anchorOffset!==r.focusOffset){let m={fragment:s,elements:new Map};this.#St(m,"caretHighlight",r.anchorOffset<r.focusOffset?{start:a.anchor,end:a.focus}:{start:a.focus,end:a.anchor},void 0,a.focus);for(let C of m.elements.values())C.style.setProperty("--diffs-caret-highlight-bg",`color-mix(in srgb, ${a.metadata.color} 32%, transparent)`),o.push(C)}if(!this.#Et(c))continue;let h=i.get(r);if(h===void 0)h=P("div",{dataset:"remoteCaret",children:[e(a)]},s),i.set(r,h);let[d,f]=this.#X(c,l),g=this.#ht(c)+f*this.#e.lineHeight;h.style.transform=`translateX(${d}px) translateY(${g}px)`}this.#F=o,n.appendChild(s)}#St(t,e,n,i,s){if(this.#t?.document==null)return;let{start:o,end:r}=n,a=o.line,c=r.line+1;if(this.#D!==void 0){let{startingLine:l,totalLines:h}=this.#D;a=Math.max(a,l),c=Math.min(c,l+h)}for(let l=a;l<c;l++){if(!this.#Et(l))continue;let h=l===r.line,d=l===o.line?o.character:0,f=h?r.character:this.#t?.document.getLineLength(l);if(d===f&&(e==="editPredictionDeletion"||e==="editPredictionReplacement")){if(h&&l!==o.line)continue;let[v,L]=this.#X(l,d);this.#ce(t,e,l,L,v,this.#e.ch,i);continue}if(this.#Z){let v=this.#de(),L=this.#t?.document.getLineText(l);if(2*this.#e.ch+this.#e.measureTextWidth(L)>v){this.#pn(t,l,L,d,f,h,e,i,s);continue}}let g=0,m=0,C=0;if(d===0)g=this.#dt()+this.#e.ch+(this.#kt?.left??0);else g=this.#X(l,d)[0];if(!h&&e==="selection")C=this.#e.ch;if(d===f)m=C;else m=this.#X(l,f)[0]-g+C;this.#ce(t,e,l,0,g,m,i,{start:s?.line===o.line&&s.character===o.character&&l===o.line,end:s?.line===r.line&&s.character===r.character&&l===r.line})}}#pn(t,e,n,i,s,o,r,a,c){let l=this.#qt(e),h=l.length-1,d=this.#dt()+this.#e.ch+(this.#kt?.left??0);for(let f=0;f<h;f++){let g=l[f],m=l[f+1],C=Math.max(i,g),v=Math.min(s,m);if(C>v)continue;let L=this.#Ie(n,g,C),x=d+L,b=0;if(!o&&f===h-1&&r==="selection")b=this.#e.ch;let E=C===v?b:this.#Ie(n,g,v)-L+b;this.#ce(t,r,e,f,x,E,a,{start:c?.line===e&&c.character===i&&C===i,end:c?.line===e&&c.character===s&&v===s})}}#Ie(t,e,n){if(n<=e)return 0;let i=t.slice(e,n),s=pt(i,this.#e.tabSize);return s!==-1?s*this.#e.ch:this.#e.measureTextWidth(i)}#ce(t,e,n,i,s,o,r,a){if(o===0)return;let{ch:c,lineHeight:l}=this.#e,h=this.#ht(n)+i*l,d=`${e}-${n}/${i}-${s}-${o} ${r??""}`,f=this.#A,g=(this.#n.roundedSelection??!0)&&(e==="selection"||e==="caretHighlight"),m=(L,x,b,E)=>{let T=this.#ht(L)+x*l,k=this.#J(L),I="initial";if(k!==void 0&&(k.dataset.lineType==="change-addition"||k.dataset.selectedLine!==void 0))I=getComputedStyle(k).getPropertyValue("--diffs-line-bg");let B=`width:${c}px;transform:translateX(${b}px) translateY(${T}px);--diffs-selection-corner-bg:${I}`,M={selectionCorner:"",[E]:""},w=`${e}-block-${L}/${x}-${b}-1ch`,_=w+"-"+E;if(E==="rbl"){let y=w+"-rtl",H=t.elements.get(y);if(H!==void 0)H.remove(),t.elements.delete(y),_+="-rtl",M.rtl=""}let O=t.elements.get(_);if(O!==void 0)return;if(f?.has(_)===!0)O=f.get(_),O.style.cssText=B,f.delete(_);else O=P("div",{dataset:e==="caretHighlight"?"caretHighlightRange":"selectionRange",style:{cssText:B},children:[P("div",{dataset:M})]},t.fragment);t.elements.set(_,O)},C=(L)=>{let x=s+o,b=L.dataset,E=t.previousSelectionRange;if(E===void 0||E.line!==n||E.wrapLine!==i)t.previousSelectionRange={element:L,line:n,wrapLine:i,left:s,width:o};if(E===void 0||x<=E.left)["rtl","rtr","rbl","rbr"].forEach((T)=>{b[T]=""});else{let{line:T,wrapLine:k,left:I}=E,B=E.element.dataset,M=I+E.width;if(I>s)m(T,k,I-c,"rbr");if(delete B.rbl,delete b.rtl,delete b.rtr,x>=M)delete B.rbr;if(x>M)m(T,k,M,"rbl"),b.rtr="";if(x<M)m(n,i,x,"rtl");if(s<I)b.rtl="";b.rbl="",b.rbr=""}if(a?.start===!0)delete b.rtl,delete b.rbl;if(a?.end===!0)delete b.rtr,delete b.rbr},v=t.elements.get(d);if(v!==void 0){if(g)C(v);return}if(f?.has(d)===!0)v=f.get(d),f.delete(d);else v=P("div",{dataset:r?[e+"Range",r]:e+"Range"},t.fragment);if(v.style.width=`${o}px`,v.style.transform=`translateX(${s}px) translateY(${h}px)`,e==="editPredictionInsertion"||e==="editPredictionReplacement"){let L=this.#J(n);if(L!==void 0)v.style.setProperty("--diffs-edit-prediction-bg",getComputedStyle(L).getPropertyValue("--diffs-line-bg"))}else v.style.removeProperty("--diffs-edit-prediction-bg");if(g)C(v);t.elements.set(d,v)}#gn(t,e,n){let{line:i,character:s}=W(e);if(!this.#Et(i))return;let[o,r]=this.#X(i,s),a="caret-"+i+"/"+r+":"+s;if(t.elements.has(a))return;let c=o-1,l=this.#ht(i)+r*this.#e.lineHeight,h=P("div",{dataset:"caret",style:{transform:`translateX(${c}px) translateY(${l}px)`}},t.fragment);if(t.elements.set(a,h),n)h.style.scrollMargin=this.#xe(),this.#Y=h}#le(){let t=this.#i?.at(-1),e=this.#P,n=this.#t?.document,i=this.#n.renderSelectionAction,s=()=>{this.#I?.cleanup(),this.#I=void 0};if(this.#n.enabledSelectionAction!==!0||i===void 0||t===void 0||F(t)||this.#lt||e===void 0||n===void 0){s();return}let o=W(t);if(!this.#Et(o.line)){s();return}if(this.#I===void 0){if(!this.#it)return;let M=()=>this.#i?.at(-1)??t,w=i({textDocument:n,get selection(){return M()},applyEdits:(_)=>this.applyEdits(_),getSelectionText:()=>this.#t?.document?.getText(M())??"",replaceSelectionText:(_)=>{this.#Rt(_,[M()])},close:()=>{s(),this.#rt()}});this.#I=new Jn(w,e,()=>this.#le()),this.#Kt().resetPlacement(Se)}let r=this.#e.lineHeight,a=t.direction===-1,c={placeAbove:a,anchor:o},l=a?{placeAbove:!1,anchor:t.end}:{placeAbove:!0,anchor:t.start},h=this.#I.height,d=(M)=>{let[w,_]=this.#X(M.anchor.line,M.anchor.character),O=this.#ht(M.anchor.line)+_*r,y=M.placeAbove?O:O+r,H=M.placeAbove?y-h:y;return{top:H,bottom:H+h,left:w,anchorTop:y,rowTop:O}},f=d(c),g=n.lineCount,m=a?o.line<3:o.line>=g-3,C=this.#Et(l.anchor.line)?d(l):void 0,v=this.#Kt(),L=v.getPlacementBounds(),x=C!==void 0&&v.choosePlacement({preferred:f,fallback:C,viewport:L,popoverHeight:h,atDocumentEdge:m,placementKey:Se})==="fallback";if(C===void 0)v.setPlacement("preferred",Se);let{placeAbove:b}=x?l:c,{left:E,anchorTop:T}=x&&C!==void 0?C:f,k=a?f.rowTop:C?.rowTop??-1/0,I=(a?C?.rowTop??1/0:f.rowTop)+(t.end.line>t.start.line&&t.end.character===0?0:r),B=L===void 0||I>L.top&&k<L.bottom;this.#I.reposition(E,T,this.#dt(),b,B,L)}#_e(t){if(this.#k!==void 0){this.#k.setMode(t);return}this.#mn(t)}#mn(t){this.#k?.cleanup();let e=this.#t?.document,n=this.#v?.shadowRoot?.querySelector("pre"),i=this.#i;if(e===void 0||n==null)return;let s="",o=void 0;if(i!==void 0&&i.length>0){let c=i.at(-1);if(F(c)){c=Ht(e,c),this.#d([...i.slice(0,-1),c]);let l=e.getText(c);if(l!==""&&!l.includes(`
64
+ `))s=l,o=[e.offsetAt(c.start),e.offsetAt(c.end)]}}let r=([c,l],h)=>{let d=Nt(e,c,l);this.#d([d]),this.#Lt(W(d).line),this.#rt(!0),this.#mt=h},a=new Qn({textDocument:e,containerElement:n,defaultQuery:s,mode:t,initialMatch:o,scrollToMatch:r,applyReplace:(c)=>{if(c.length===0)return;let l=e.applyEdits(c.map((h)=>({range:{start:e.positionAt(h.start),end:e.positionAt(h.end)},newText:h.text})),!0,this.#i);if(l!==void 0)this.#U(l,void 0,this.#Q(l),{skipSearchRefresh:!0})},onUpdate:(c,l)=>{if(c.length===0){this.#K=void 0,this.#d(this.#i??[]);return}if(this.#K=c,l?.syncSelection===!1){this.#d(this.#i??[]);let g=this.#i?.at(-1);if(g!==void 0){let m=e.offsetAt(g.start),C=e.offsetAt(g.end);for(let v of c)if(v[0]===m&&v[1]===C)return v}return}let h=this.#i?.at(-1),d=0,f;if(h!==void 0)d=e.offsetAt(h.start);for(let g of c)if(g[0]>=d){f=g;break}if(f!==void 0)r(f,!0);else this.#d(this.#i??[]);return f},onClose:()=>{this.#k=void 0,this.#mt=!1,this.#K=void 0,this.#d(this.#i??[])}});this.#k=a,this.#mt=!1}#vn(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0)return"";return Bt(t,e)}#Ne(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0)return[];return yn(t,e)}#Be(t,e,n){if(t===null)return;if(t.setData("text",e),n.length>1)t.setData(Ee,JSON.stringify(n))}#Cn(){let t=this.#t?.document,e=this.#i;if(t===void 0||e===void 0||e.length===0)return"";if(e.some((i)=>F(i))){let i=Tn(t,e);return this.#Ln(i.edits,i.nextSelectionOffsets),i.text}let n=Bt(t,e);return this.#Rt("",void 0,!0),n}#Ln(t,e){let n=this.#t?.document,i=this.#i;if(n===void 0||i===void 0||t.length===0)return;let s=n.applyResolvedEdits(t,!0,i,void 0,!0);if(s===void 0)return;let o=e.map((r)=>{let a=n.positionAt(r);return{start:a,end:a,direction:0}});n.setLastUndoSelectionsAfter(o),this.#U(s,o,this.#Q(s))}#Rt(t,e=this.#i,n=!1,i="selection"){if(e===void 0)return;let s=this.#t?.document,o=e.at(-1);if(s===void 0||o===void 0)return;let{nextSelections:r,change:a}=Array.isArray(t)&&t.length===e.length?dt(s,e,t,this.#E,n,i):un(s,e,{start:s.offsetAt(o.start),end:s.offsetAt(o.end),text:Array.isArray(t)?t.join(s.eol):t},this.#E,void 0,n);if(a!==void 0)this.#U(a,r,this.#Q(a))}#De(t=!1){let e=this.#i,n=this.#t?.document;if(e===void 0||n===void 0)return;let{nextSelections:i,change:s}=Ln(n,e,t,this.#E,this.#e.tabSize);if(s!==void 0)this.#U(s,i,this.#Q(s))}#xn(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let n=this.#Z?(o,r)=>{let a=this.#qt(o);for(let c=0;c+1<a.length;c++){let l=a[c],h=a[c+1];if(r>=l&&r<=h)return l}return 0}:void 0,{nextSelections:i,change:s}=vn(e,t,n,this.#E);if(s!==void 0)this.#U(s,i,this.#Q(s))}#Sn(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let{nextSelections:n,change:i}=Cn(e,t,this.#E);if(i!==void 0)this.#U(i,n,this.#Q(i))}#En(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let{nextSelections:n,change:i}=mn(e,t,this.#E);if(i!==void 0)this.#U(i,n,this.#Q(i))}#bn(){let t=this.#i,e=this.#t?.document;if(t===void 0||e===void 0)return;let{nextSelections:n,change:i}=gn(e,t,this.#E);if(i!==void 0)this.#U(i,n,this.#Q(i))}#U(t,e,n,i){if(this.#j!=null)this.#ot(!0);let s=this.#t?.document;if(s!==void 0&&this.#pt!==void 0)for(let a of this.#pt)a.anchorOffset=xt(a.anchorOffset,t.changes),a.focusOffset=xt(a.focusOffset,t.changes),a.caret.anchor=s.positionAt(a.anchorOffset),a.caret.focus=s.positionAt(a.focusOffset);if(t.lineDelta!==0||this.#Z){for(let a of this.#R.keys())if(a>=t.startLine)this.#R.delete(a)}if(this.#o.size>0){if(t.lineDelta===0&&(t.changedLineRanges.length===1||t.changedLineChanges?.every(([,,a])=>a===0)===!0))for(let[a,c]of t.changedLineRanges)for(let l=a;l<=c;l++)this.#o.delete(l);else for(let a of this.#o.keys())if(a>=t.startLine)this.#o.delete(a)}this.#h=void 0;let o=this.#D,r;if(o!==void 0&&e!==void 0&&e.length>0){let a=e.at(-1),c=o.startingLine+o.totalLines;if(a.end.line>=c){let l=a.end.line-o.startingLine+1,h=this.#ct===void 0||this.#ct===1/0?1/0:this.#ct*Cs;if(t.startLine<=c&&l<=h&&this.#Ct(a.end.line)){if(a.end.line>c)r=!0;o={...o,totalLines:l},this.#D=o}else r=!0}}if(this.#B&&this.#r!=null&&this.#a!=null)this.#nn(t,n,o,r);else if(s!=null){if(this.#at?.(s,n),n!=null)this.#E=n}if(e!=null)this.#d(e);if(this.#f?.__acknowledgeDocumentUpdate(),this.#$t(),this.#hn(t,i?.editSource??"user"),this.#Mt(),this.#ze(t.changes,n??this.#E),i?.skipSearchRefresh!==!0&&this.#k!==void 0&&this.#K!==void 0)this.#k.updateMatches({syncSelection:!1});if(e!=null){if(i?.skipFocus!==!0){let a=e.at(-1);if(a!==void 0)this.#Lt(W(a).line);if(this.#Y!==void 0)requestAnimationFrame(()=>{this.#Y?.scrollIntoView({block:"nearest",inline:"nearest"})});else if(e.length>0){let c=W(e.at(-1));this.#ae(c.line,c.character)}this.focus({preventScroll:!0})}}}#ze(t,e){let n=this.getFile(),i=this.#et;if(n==null||i==null)return;i(t,n,e)}#Q(t){if(this.#E!=null){let e=at(t,this.#E);if(e!=null)return this.#t?.document?.setLastUndoLineAnnotations(this.#E,e),e}}#He(){let t=this.#a;if(t===void 0)return[];let e=[];for(let n of t.children){let i=n,s=i.dataset.lineType,o=X(i);if(o===void 0||s===void 0||!ht(s))continue;let r=o-1,a=e.at(-1);if(a!==void 0&&r<=a[1]+1)a[1]=Math.max(a[1],r);else e.push([r,r])}return e}#Fe(t){let e=this.#D;return e==null||t>=e.startingLine&&t<e.startingLine+e.totalLines}#J(t){let e=this.#O.get(t);if(e!==void 0)return e??void 0;let n=this.#D;if(!this.#Fe(t))return;let i=this.#a;if(i===void 0)return;if(n!==void 0){let{startingLine:s}=n,{children:o}=i;for(let r=t-s;r<=o.length;r++){let a=o[r];if(a===void 0)break;let c=X(a),l=a.dataset.lineType;if(c!==void 0&&c===t+1&&l!==void 0&&ht(l)){e=a;break}}}if(e??=i.querySelector(`[data-line="${t+1}"]`+(this.#Dt==="unified"?':not([data-line-type="change-deletion"])':"")),e!==void 0)this.#O.set(t,e);return e??void 0}#dt(){if(this.#W===void 0)return 0;if(this.#g===void 0){let t=this.#a?.parentElement?.style.getPropertyValue("--diffs-column-number-width");if(t!==void 0&&t.length>2&&t.endsWith("px"))this.#g=parseInt(t.slice(0,-2),10);else this.#g=this.#W.offsetWidth}return this.#g}#de(){if(this.#a===void 0)return 0;if(this.#L===void 0){let t=this.#a.parentElement?.style.getPropertyValue("--diffs-column-content-width");if(t!==void 0&&t.length>2&&t.endsWith("px"))this.#L=parseFloat(t.slice(0,-2));else this.#L=this.#a.offsetWidth}return this.#L}#ht(t){let e=this.#R.get(t);if(e!==void 0)return e;let n=this.#J(t);if(n===void 0)return-1;let i=n.offsetTop+this.#e.paddingTop;return i+=this.#kt?.top??0,this.#R.set(t,i),i}#X(t,e){if(this.#h!==void 0&&this.#h[0]===t&&this.#h[1]===e)return[this.#h[2],this.#h[3]];let n=this.#t?.document?.getLineText(t),i=this.#dt()+this.#e.ch;if(n===void 0||n.length===0||e<=0)return[i+(this.#kt?.left??0),0];let s=ei(n,Math.min(e,n.length)),o=n.slice(0,s),r=pt(o,this.#e.tabSize),a=0,c=0;if(r!==-1)a=i+r*this.#e.ch;else a=i+this.#e.measureTextWidth(o);if(this.#Z){let l=this.#de();if(2*this.#e.ch+this.#e.measureTextWidth(n)>l){let h=this.#Ue(t);if(h==null)return[a+(this.#kt?.left??0),0];for(let d=0;d+1<h.length;d++){let f=h[d];if(s<=h[d+1]){c=d;let g=n.slice(f,s),m=pt(g,this.#e.tabSize);if(m!==-1)a=i+m*this.#e.ch;else a=i+this.#e.measureTextWidth(g);break}}}a+=this.#kt?.left??0}if(this.#h!==void 0)this.#h[0]=t,this.#h[1]=e,this.#h[2]=a,this.#h[3]=c;else this.#h=[t,e,a,c];return[a,c]}#Ue(t){let e=this.#o.get(t);if(e!==void 0)return e;if(this.#o.size>=Ls)this.#o.clear();let n=this.#t?.document?.getLineText(t);if(n===void 0||n.length===0){let c=new Uint32Array([0]);return this.#o.set(t,c),c}let i=this.#a;if(i==null||!i.isConnected)return;let s=P("div",{style:{position:"absolute",top:"0",left:"0",width:"100%",boxSizing:"border-box",visibility:"hidden",pointerEvents:"none",whiteSpace:"pre-wrap",wordBreak:"break-word",font:"inherit",paddingInline:"1ch",tabSize:this.#e.tabSize.toString()},textContent:n},i),o=s.firstChild,r=document.createRange(),a=[];try{let c=s.getBoundingClientRect();if(c.width===0)return;let l=ni(n),h=c.left+this.#e.ch,d=l===void 0?n.length:l.length-1,f=(L)=>l===void 0?L:l[L],g=(L)=>{r.setStart(o,f(L)),r.setEnd(o,f(L+1));let x=r.getClientRects();return x.item(x.length-1)??r.getBoundingClientRect()};a.push(0);let m=g(0).top,C=1;while(C<d){let L=C,x=d;while(L<x){let k=L+x>>1;if(g(k).top>m)x=k;else L=k+1}if(L>=d)break;let{left:b,top:E}=g(L),T=oe()&&b-h>this.#e.ch/2;a.push(f(T?L-1:L)),m=E,C=L+1}let v=new Uint32Array(a.length+1);for(let L=0;L<a.length;L++)v[L]=a[L];return v[a.length]=n.length,this.#o.set(t,v),v}finally{s.remove()}}#qt(t){let e=this.#Ue(t);if(e!==void 0)return e;let n=this.#t?.document?.getLineText(t)?.length??0;return Uint32Array.of(0,n)}#wn({startContainer:t,endContainer:e}){let n=this.#a;if(n===void 0)return!1;return n.contains(t)&&n.contains(e)}#Et(t){let e=this.#t?.document?.lineCount??0;if(t<0||t>=e)return!1;return this.#J(t)!==void 0}};function ys({type:t,editStateKey:e,owner:n,initialState:i,previousSession:s}){if(i!=null&&i.type!==t)throw TypeError(`Editor: initialState: a ${i.type} state cannot initialize a ${t} editor`);let o=i;if(e!=null)return ot.activate(t,e,n,o);if(o!=null)return o;if(s!=null)return s;return t==="file"?{type:"file"}:{type:"file-diff"}}function si(t){if(!(t instanceof HTMLElement))return 1;return Number(t.dataset.bufferSize??1)}function ri(t,e){return e!==void 0&&Number.isInteger(e.line)&&Number.isInteger(e.character)&&e.line>=0&&e.line<t.lineCount&&e.character>=0&&e.character<=t.getLineLength(e.line)}function oi(t,e){let n=t.charCodeAt(e-1),i=t.charCodeAt(e);return e>0&&e<t.length&&n>=55296&&n<=56319&&i>=56320&&i<=57343}export{ws as Editor};