import{$ as M,a as N,i as P,t as Ae,u as J,v as I,w as te,y as ne}from"./chunk-JULZPKSW.js";import{f as Se,l as x}from"./chunk-I3OVNVKL.js";import{B as V,a as Z,c as L,h as pe,i as ge,k as h,l as _,m as ye,p as j,s as ee,t as G,u as C,w as ke}from"./chunk-7PWEZHZB.js";var it=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=ie(e.state,n.from);return r.line?ut(e):r.block?at(e):!1};function E(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let l=e(t,n);return l?(r(n.update(l)),!0):!1}}var ut=E(ue,0),An=E(ue,1),Bn=E(ue,2),ft=E(H,0),Cn=E(H,1),Dn=E(H,2),at=E((e,t)=>H(e,t,dt(t)),0);function ie(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}var R=50;function ht(e,{open:t,close:n},r,l){let o=e.sliceDoc(r-R,r),c=e.sliceDoc(l,l+R),s=/\s*$/.exec(o)[0].length,i=/^\s*/.exec(c)[0].length,f=o.length-s;if(o.slice(f-t.length,f)==t&&c.slice(i,i+n.length)==n)return{open:{pos:r-s,margin:s&&1},close:{pos:l+i,margin:i&&1}};let u,a;l-r<=2*R?u=a=e.sliceDoc(r,l):(u=e.sliceDoc(r,r+R),a=e.sliceDoc(l-R,l));let d=/^\s*/.exec(u)[0].length,S=/\s*$/.exec(a)[0].length,y=a.length-S-n.length;return u.slice(d,d+t.length)==t&&a.slice(y,y+n.length)==n?{open:{pos:r+d+t.length,margin:/\s/.test(u.charAt(d+t.length))?1:0},close:{pos:l-S-n.length,margin:/\s/.test(a.charAt(y-1))?1:0}}:null}function dt(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),l=n.to<=r.to?r:e.doc.lineAt(n.to);l.from>r.from&&l.from==n.to&&(l=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let o=t.length-1;o>=0&&t[o].to>r.from?t[o].to=l.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:l.to})}return t}function H(e,t,n=t.selection.ranges){let r=n.map(o=>ie(t,o.from).block);if(!r.every(o=>o))return null;let l=n.map((o,c)=>ht(t,r[c],o.from,o.to));if(e!=2&&!l.every(o=>o))return{changes:t.changes(n.map((o,c)=>l[c]?[]:[{from:o.from,insert:r[c].open+" "},{from:o.to,insert:" "+r[c].close}]))};if(e!=1&&l.some(o=>o)){let o=[];for(let c=0,s;cl&&(o==c||c>a.from)){l=a.from;let d=/^\s*/.exec(a.text)[0].length,S=d==a.length,y=a.text.slice(d,d+f.length)==f?d:-1;do.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:s,token:i,indent:f,empty:u,single:a}of r)(a||!u)&&o.push({from:s.from+f,insert:i+" "});let c=t.changes(o);return{changes:c,selection:t.selection.map(c,1)}}else if(e!=1&&r.some(o=>o.comment>=0)){let o=[];for(let{line:c,comment:s,token:i}of r)if(s>=0){let f=c.from+s,u=f+i.length;c.text[u-c.from]==" "&&u++,o.push({from:f,to:u})}return{changes:o}}return null}var oe=j.define(),mt=j.define(),pt=_.define(),Oe=_.define({combine(e){return ke(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,l)=>t(r,l)||n(r,l)})}}),F=ye.define({create(){return b.empty},update(e,t){let n=t.state.facet(Oe),r=t.annotation(oe);if(r){let i=A.fromTransaction(t,r.selection),f=r.side,u=f==0?e.undone:e.done;return i?u=z(u,u.length,n.minDepth,i):u=Ue(u,t.startState.selection),new b(f==0?r.rest:u,f==0?u:r.rest)}let l=t.annotation(mt);if((l=="full"||l=="before")&&(e=e.isolate()),t.annotation(G.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let o=A.fromTransaction(t),c=t.annotation(G.time),s=t.annotation(G.userEvent);return o?e=e.addChanges(o,c,s,n,t):t.selection&&(e=e.addSelection(t.startState.selection,c,s,n.newGroupDelay)),(l=="full"||l=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new b(e.done.map(A.fromJSON),e.undone.map(A.fromJSON))}});function Ln(e={}){return[F,Oe.of(e),x.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?ve:t.inputType=="historyRedo"?le:null;return r?(t.preventDefault(),r(n)):!1}})]}var xn=F;function W(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let l=n.field(F,!1);if(!l)return!1;let o=l.pop(e,n,t);return o?(r(o),!0):!1}}var ve=W(0,!1),le=W(1,!1),gt=W(0,!0),yt=W(1,!0);function Ie(e){return function(t){let n=t.field(F,!1);if(!n)return 0;let r=e==0?n.done:n.undone;return r.length-(r.length&&!r[0].changes?1:0)}}var Mn=Ie(0),bn=Ie(1);function Re(e){return function(t){let n=t.field(F,!1);if(!n)return!1;let r=e==0?n.done:n.undone;return r.length>0&&r[0].selectionsAfter.length>0}}var En=Re(0),Tn=Re(0),A=class e{constructor(t,n,r,l,o){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=l,this.selectionsAfter=o}setSelAfter(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(l=>l.toJSON())}}static fromJSON(t){return new e(t.changes&&ge.fromJSON(t.changes),[],t.mapped&&pe.fromJSON(t.mapped),t.startSelection&&h.fromJSON(t.startSelection),t.selectionsAfter.map(h.fromJSON))}static fromTransaction(t,n){let r=k;for(let l of t.startState.facet(pt)){let o=l(t);o.length&&(r=r.concat(o))}return!r.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,k)}static selection(t){return new e(void 0,k,void 0,void 0,t)}};function z(e,t,n,r){let l=t+1>n+20?t-n-1:0,o=e.slice(l,t);return o.push(r),o}function kt(e,t){let n=[],r=!1;return e.iterChangedRanges((l,o)=>n.push(l,o)),t.iterChangedRanges((l,o,c,s)=>{for(let i=0;i=f&&c<=u&&(r=!0)}}),r}function St(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function Fe(e,t){return e.length?t.length?e.concat(t):e:t}var k=[],At=200;function Ue(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-At));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),z(e,e.length-1,1e9,n.setSelAfter(r)))}else return[A.selection([t])]}function Bt(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function re(e,t){if(!e.length)return e;let n=e.length,r=k;for(;n;){let l=Ct(e[n-1],t,r);if(l.changes&&!l.changes.empty||l.effects.length){let o=e.slice(0,n);return o[n-1]=l,o}else t=l.mapped,n--,r=l.selectionsAfter}return r.length?[A.selection(r)]:k}function Ct(e,t,n){let r=Fe(e.selectionsAfter.length?e.selectionsAfter.map(s=>s.map(t)):k,n);if(!e.changes)return A.selection(r);let l=e.changes.map(t),o=t.mapDesc(e.changes,!0),c=e.mapped?e.mapped.composeDesc(o):o;return new A(l,ee.mapEffects(e.effects,t),c,e.startSelection.map(o),r)}var Dt=/^(input\.type|delete)($|\.)/,b=class e{constructor(t,n,r=0,l=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=l}isolate(){return this.prevTime?new e(this.done,this.undone):this}addChanges(t,n,r,l,o){let c=this.done,s=c[c.length-1];return s&&s.changes&&!s.changes.empty&&t.changes&&(!r||Dt.test(r))&&(!s.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?e.moveByChar(n,t):T(n,t))}function m(e){return e.textDirectionAt(e.state.selection.main.head)==Se.LTR}var Ge=e=>q(e,!m(e)),Ve=e=>q(e,m(e)),vn=e=>q(e,!0),In=e=>q(e,!1);function fe(e,t,n){let r=t.head,l=e.doc.lineAt(r);return r==(n?l.to:l.from)?r=n?Math.min(e.doc.length,l.to+1):Math.max(0,l.from-1):r=l.from+L(l.text,r-l.from,n),h.cursor(r,n?-1:1)}function Ne(e,t){return g(e,n=>n.empty?fe(e.state,n,t):T(n,t))}var Rn=e=>Ne(e,!0),Fn=e=>Ne(e,!1);function K(e,t){return g(e,n=>n.empty?e.moveByGroup(n,t):T(n,t))}var Lt=e=>K(e,!m(e)),xt=e=>K(e,m(e)),Un=e=>K(e,!0),Gn=e=>K(e,!1);function ae(e,t,n){let r=e.state.charCategorizer(t),l=r(n),o=l!=C.Space;return c=>{let s=r(c);return s!=C.Space?o&&s==l:(o=!1,!0)}}var Vn=e=>g(e,t=>t.empty?e.moveByChar(t,!0,n=>ae(e,t.head,n)):T(t,!0)),Be=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Pe(e,t,n){let r=e.state.charCategorizer(t.from),l=C.Space,o=t.from,c=0,s=!1,i=!1,f=!1,u=d=>{if(s)return!1;o+=n?d.length:-d.length;let S=r(d),y;if(S==C.Word&&d.charCodeAt(0)<128&&/[\W_]/.test(d)&&(S=-1),l==C.Space&&(l=S),l!=S)return!1;if(l==C.Word)if(d.toLowerCase()==d){if(!n&&i)return!1;f=!0}else if(f){if(n)return!1;s=!0}else{if(i&&n&&r(y=e.state.sliceDoc(o,o+1))==C.Word&&y.toLowerCase()==y)return!1;i=!0}return c++,!0},a=e.moveByChar(t,n,d=>(u(d),u));if(Be&&l==C.Word&&a.from==t.from+c*(n?1:-1)){let d=Math.min(t.head,a.head),S=Math.max(t.head,a.head),y=e.state.sliceDoc(d,S);if(y.length>1&&/[\u4E00-\uffff]/.test(y)){let U=Array.from(Be.segment(y));if(U.length>1)return n?h.cursor(t.head+U[1].index,-1):h.cursor(a.head+U[U.length-1].index,1)}}return a}function Je(e,t){return g(e,n=>n.empty?Pe(e,n,t):T(n,t))}var Nn=e=>Je(e,!0),Pn=e=>Je(e,!1);function Mt(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function $(e,t,n){let r=P(e).resolveInner(t.head),l=n?N.closedBy:N.openedBy;for(let i=t.head;;){let f=n?r.childAfter(i):r.childBefore(i);if(!f)break;Mt(e,f,l)?r=f:i=n?f.to:f.from}let o=r.type.prop(l),c,s;return o&&(c=n?M(e,r.from,1):M(e,r.to,-1))&&c.matched?s=n?c.end.to:c.end.from:s=n?r.to:r.from,h.cursor(s,n?-1:1)}var bt=e=>g(e,t=>$(e.state,t,!m(e))),Et=e=>g(e,t=>$(e.state,t,m(e)));function we(e,t){return g(e,n=>{if(!n.empty)return T(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}var ze=e=>we(e,!1),He=e=>we(e,!0);function We(e){let t=e.scrollDOM.clientHeightc.empty?e.moveVertically(c,t,n.height):T(c,t));if(l.eq(r.selection))return!1;let o;if(n.selfScroll){let c=e.coordsAtPos(r.selection.main.head),s=e.scrollDOM.getBoundingClientRect(),i=s.top+n.marginTop,f=s.bottom-n.marginBottom;c&&c.top>i&&c.bottomqe(e,!1),ce=e=>qe(e,!0);function D(e,t,n){let r=e.lineBlockAt(t.head),l=e.moveToLineBoundary(t,n);if(l.head==t.head&&l.head!=(n?r.to:r.from)&&(l=e.moveToLineBoundary(t,n,!1)),!n&&l.head==r.from&&r.length){let o=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;o&&t.head!=r.from+o&&(l=h.cursor(r.from+o))}return l}var Tt=e=>g(e,t=>D(e,t,!0)),Ot=e=>g(e,t=>D(e,t,!1)),vt=e=>g(e,t=>D(e,t,!m(e))),It=e=>g(e,t=>D(e,t,m(e))),Rt=e=>g(e,t=>e.moveToLineBoundary(t,!1,!1)),Ft=e=>g(e,t=>e.moveToLineBoundary(t,!0,!1));function Ke(e,t,n){let r=!1,l=v(e.selection,o=>{let c=M(e,o.head,-1)||M(e,o.head,1)||o.head>0&&M(e,o.head-1,1)||o.headKe(e,t,!1),Jn=({state:e,dispatch:t})=>Ke(e,t,!0);function p(e,t,n){let r=v(e.state.selection,l=>{l.undirectional&&l.head>=l.anchor!=t&&(l=h.range(l.head,l.anchor));let o=n(l);return h.range(l.anchor,o.head,o.goalColumn,o.bidiLevel||void 0,o.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(B(e.state,r)),!0)}function Q(e,t){return p(e,t,n=>e.moveByChar(n,t))}var $e=e=>Q(e,!m(e)),Qe=e=>Q(e,m(e)),wn=e=>Q(e,!0),zn=e=>Q(e,!1),Hn=e=>p(e,!0,t=>fe(e.state,t,!0)),Wn=e=>p(e,!1,t=>fe(e.state,t,!1));function X(e,t){return p(e,t,n=>e.moveByGroup(n,t))}var Gt=e=>X(e,!m(e)),Vt=e=>X(e,m(e)),qn=e=>X(e,!0),Kn=e=>X(e,!1),$n=e=>p(e,!0,t=>e.moveByChar(t,!0,n=>ae(e,t.head,n)));function Xe(e,t){return p(e,t,n=>Pe(e,n,t))}var Qn=e=>Xe(e,!0),Xn=e=>Xe(e,!1),Nt=e=>{let t=!m(e);return p(e,t,n=>$(e.state,n,t))},Pt=e=>{let t=m(e);return p(e,t,n=>$(e.state,n,t))};function Ye(e,t){return p(e,t,n=>e.moveVertically(n,t))}var Ze=e=>Ye(e,!1),_e=e=>Ye(e,!0);function je(e,t){return p(e,t,n=>e.moveVertically(n,t,We(e).height))}var De=e=>je(e,!1),Le=e=>je(e,!0),Jt=e=>p(e,!0,t=>D(e,t,!0)),wt=e=>p(e,!1,t=>D(e,t,!1)),zt=e=>{let t=!m(e);return p(e,t,n=>D(e,n,t))},Ht=e=>{let t=m(e);return p(e,t,n=>D(e,n,t))},Wt=e=>p(e,!1,t=>h.cursor(e.lineBlockAt(t.head).from)),qt=e=>p(e,!0,t=>h.cursor(e.lineBlockAt(t.head).to)),xe=({state:e,dispatch:t})=>(t(B(e,{anchor:0})),!0),Me=({state:e,dispatch:t})=>(t(B(e,{anchor:e.doc.length})),!0),be=({state:e,dispatch:t})=>(t(B(e,{anchor:e.selection.main.anchor,head:0})),!0),Ee=({state:e,dispatch:t})=>(t(B(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Kt=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),$t=({state:e,dispatch:t})=>{let n=Y(e).map(({from:r,to:l})=>h.undirectionalRange(r,Math.min(l+1,e.doc.length)));return t(e.update({selection:h.create(n),userEvent:"select"})),!0},Qt=({state:e,dispatch:t})=>{let n=v(e.selection,r=>{let l=P(e),o=l.resolveStack(r.from,1);if(r.empty){let c=l.resolveStack(r.from,-1);c.node.from>=o.node.from&&c.node.to<=o.node.to&&(o=c)}for(let c=o;c;c=c.next){let{node:s}=c;if((s.from=r.to||s.to>r.to&&s.from<=r.from)&&c.next)return h.undirectionalRange(s.from,s.to)}return r});return n.eq(e.selection)?!1:(t(B(e,n)),!0)};function et(e,t){let{state:n}=e,r=n.selection,l=n.selection.ranges.slice();for(let o of n.selection.ranges){let c=n.doc.lineAt(o.head);if(t?c.to0)for(let s=o;;){let i=e.moveVertically(s,t);if(i.headc.to){l.some(f=>f.head==i.head)||l.push(i);break}else{if(i.head==s.head)break;s=i}}}return l.length==r.ranges.length?!1:(e.dispatch(B(n,h.create(l,l.length-1))),!0)}var Xt=e=>et(e,!1),Yt=e=>et(e,!0),Zt=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=h.create([n.main]):n.main.empty||(r=h.create([h.cursor(n.main.head)])),r?(t(B(e,r)),!0):!1};function O(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,l=r.changeByRange(o=>{let{from:c,to:s}=o;if(c==s){let i=t(o);ic&&(n="delete.forward",i=w(e,i,!0)),c=Math.min(c,i),s=Math.max(s,i)}else c=w(e,c,!1),s=w(e,s,!0);return c==s?{range:o}:{changes:{from:c,to:s},range:h.cursor(c,cl(e)))r.between(t,t,(l,o)=>{lt&&(t=n?o:l)});return t}var he=(e,t,n)=>O(e,r=>{let l=r.from,{state:o}=e,c=o.doc.lineAt(l),s,i;if(n&&!t&&l>c.from&&lhe(e,!1,!0),Yn=e=>he(e,!1,!1),tt=e=>he(e,!0,!1),nt=(e,t)=>O(e,n=>{let r=n.head,{state:l}=e,o=l.doc.lineAt(r),c=l.charCategorizer(r);for(let s=null;;){if(r==(t?o.to:o.from)){r==n.head&&o.number!=(t?l.doc.lines:1)&&(r+=t?1:-1);break}let i=L(o.text,r-o.from,t)+o.from,f=o.text.slice(Math.min(r,i)-o.from,Math.max(r,i)-o.from),u=c(f);if(s!=null&&u!=s)break;(f!=" "||r!=n.head)&&(s=u),r=i}return r}),rt=e=>nt(e,!1),_t=e=>nt(e,!0),Zn=e=>O(e,t=>e.moveByChar(t,!0,n=>ae(e,t.head,n)).head),jt=e=>O(e,t=>{let n=e.lineBlockAt(t.head).to;return t.headO(e,t=>{let n=e.lineBlockAt(t.head).from;return t.head>n?n:Math.max(0,t.head-1)}),en=e=>O(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),tn=e=>O(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head{if(e.readOnly)return!1;let n=[];for(let r=0,l="",o=e.doc.iter();;){if(o.next(),o.lineBreak||o.done){let c=l.search(/\s+$/);if(c>-1&&n.push({from:r-(l.length-c),to:r}),o.done)break;l=""}else l=o.value;r+=o.value.length}return n.length?(t(e.update({changes:n,userEvent:"delete"})),!0):!1},nn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Z.of(["",""])},range:h.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},rn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let l=r.from,o=e.doc.lineAt(l),c=l==o.from?l-1:L(o.text,l-o.from,!1)+o.from,s=l==o.to?l+1:L(o.text,l-o.from,!0)+o.from;return{changes:{from:c,to:s,insert:e.doc.slice(l,s).append(e.doc.slice(c,l))},range:h.cursor(s)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Y(e){let t=[],n=-1;for(let r of e.selection.ranges){let l=e.doc.lineAt(r.from),o=e.doc.lineAt(r.to);if(!r.empty&&r.to==o.from&&(o=e.doc.lineAt(r.to-1)),n>=l.number){let c=t[t.length-1];c.to=o.to,c.ranges.push(r)}else t.push({from:l.from,to:o.to,ranges:[r]});n=o.number+1}return t}function ot(e,t,n){if(e.readOnly)return!1;let r=[],l=[];for(let o of Y(e)){if(n?o.to==e.doc.length:o.from==0)continue;let c=e.doc.lineAt(n?o.to+1:o.from-1),s=c.length+1;if(n){r.push({from:o.to,to:c.to},{from:o.from,insert:c.text+e.lineBreak});for(let i of o.ranges)l.push(h.range(Math.min(e.doc.length,i.anchor+s),Math.min(e.doc.length,i.head+s)))}else{r.push({from:c.from,to:o.from},{from:o.to,insert:e.lineBreak+c.text});for(let i of o.ranges)l.push(h.range(i.anchor-s,i.head-s))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:h.create(l,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}var on=({state:e,dispatch:t})=>ot(e,t,!1),ln=({state:e,dispatch:t})=>ot(e,t,!0);function lt(e,t,n){if(e.readOnly)return!1;let r=[];for(let o of Y(e))n?r.push({from:o.from,insert:e.doc.slice(o.from,o.to)+e.lineBreak}):r.push({from:o.to,insert:e.lineBreak+e.doc.slice(o.from,o.to)});let l=e.changes(r);return t(e.update({changes:l,selection:e.selection.map(l,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var cn=({state:e,dispatch:t})=>lt(e,t,!1),sn=({state:e,dispatch:t})=>lt(e,t,!0),un=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Y(t).map(({from:l,to:o})=>(l>0?l--:o{let o;if(e.lineWrapping){let c=e.lineBlockAt(l.head),s=e.coordsAtPos(l.head,l.assoc||1);s&&(o=c.bottom+e.documentTop-s.bottom+e.defaultLineHeight/2)}return e.moveVertically(l,!0,o)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0},er=({state:e,dispatch:t})=>(t(e.update(e.replaceSelection(e.lineBreak),{scrollIntoView:!0,userEvent:"input"})),!0),tr=({state:e,dispatch:t})=>(t(e.update(e.changeByRange(n=>{let r=/^\s*/.exec(e.doc.lineAt(n.from).text)[0];return{changes:{from:n.from,to:n.to,insert:e.lineBreak+r},range:h.cursor(n.from+r.length+1)}}),{scrollIntoView:!0,userEvent:"input"})),!0);function fn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=P(e).resolveInner(t),r=n.childBefore(t),l=n.childAfter(t),o;return r&&l&&r.to<=t&&l.from>=t&&(o=r.type.prop(N.closedBy))&&o.indexOf(l.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(l.from).from&&!/\S/.test(e.sliceDoc(r.to,l.from))?{from:r.to,to:l.from}:null}var Te=ct(!1),an=ct(!0);function ct(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(l=>{let{from:o,to:c}=l,s=t.doc.lineAt(o),i=!e&&o==c&&fn(t,o);e&&(o=c=(c<=s.to?s:t.doc.lineAt(c)).to);let f=new ne(t,{simulateBreak:o,simulateDoubleBreak:!!i}),u=te(f,o);for(u==null&&(u=V(/^\s*/.exec(t.doc.lineAt(o).text)[0],t.tabSize));cs.from&&o{let l=[];for(let c=r.from;c<=r.to;){let s=e.doc.lineAt(c);s.number>n&&(r.empty||r.to>s.from)&&(t(s,l,r),n=s.number),c=s.to+1}let o=e.changes(l);return{changes:l,range:h.range(o.mapPos(r.anchor,1),o.mapPos(r.head,1))}})}var hn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new ne(e,{overrideIndentation:o=>{let c=n[o];return c??-1}}),l=de(e,(o,c,s)=>{let i=te(r,o.from);if(i==null)return;/\S/.test(o.text)||(i=0);let f=/^\s*/.exec(o.text)[0],u=I(e,i);(f!=u||s.frome.readOnly?!1:(t(e.update(de(e,(n,r)=>{r.push({from:n.from,insert:e.facet(Ae)})}),{userEvent:"input.indent"})),!0),st=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(de(e,(n,r)=>{let l=/^\s*/.exec(n.text)[0];if(!l)return;let o=V(l,e.tabSize),c=0,s=I(e,Math.max(0,o-J(e)));for(;c(e.setTabFocusMode(),!0),nr=e=>(e.setTabFocusMode(2e3),!0),rr=({state:e,dispatch:t})=>e.selection.ranges.some(n=>!n.empty)?me({state:e,dispatch:t}):(t(e.update(e.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),mn=[{key:"Ctrl-b",run:Ge,shift:$e,preventDefault:!0},{key:"Ctrl-f",run:Ve,shift:Qe},{key:"Ctrl-p",run:ze,shift:Ze},{key:"Ctrl-n",run:He,shift:_e},{key:"Ctrl-a",run:Rt,shift:Wt},{key:"Ctrl-e",run:Ft,shift:qt},{key:"Ctrl-d",run:tt},{key:"Ctrl-h",run:se},{key:"Ctrl-k",run:jt},{key:"Ctrl-Alt-h",run:rt},{key:"Ctrl-o",run:nn},{key:"Ctrl-t",run:rn},{key:"Ctrl-v",run:ce}],pn=[{key:"ArrowLeft",run:Ge,shift:$e,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Lt,shift:Gt,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:vt,shift:zt,preventDefault:!0},{key:"ArrowRight",run:Ve,shift:Qe,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:xt,shift:Vt,preventDefault:!0},{mac:"Cmd-ArrowRight",run:It,shift:Ht,preventDefault:!0},{key:"ArrowUp",run:ze,shift:Ze,preventDefault:!0},{mac:"Cmd-ArrowUp",run:xe,shift:be},{mac:"Ctrl-ArrowUp",run:Ce,shift:De},{key:"ArrowDown",run:He,shift:_e,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Me,shift:Ee},{mac:"Ctrl-ArrowDown",run:ce,shift:Le},{key:"PageUp",run:Ce,shift:De},{key:"PageDown",run:ce,shift:Le},{key:"Home",run:Ot,shift:wt,preventDefault:!0},{key:"Mod-Home",run:xe,shift:be},{key:"End",run:Tt,shift:Jt,preventDefault:!0},{key:"Mod-End",run:Me,shift:Ee},{key:"Enter",run:Te,shift:Te},{key:"Mod-a",run:Kt},{key:"Backspace",run:se,shift:se,preventDefault:!0},{key:"Delete",run:tt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:rt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:_t,preventDefault:!0},{mac:"Mod-Backspace",run:en,preventDefault:!0},{mac:"Mod-Delete",run:tn,preventDefault:!0}].concat(mn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),or=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:bt,shift:Nt},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Et,shift:Pt},{key:"Alt-ArrowUp",run:on},{key:"Shift-Alt-ArrowUp",run:cn},{key:"Alt-ArrowDown",run:ln},{key:"Shift-Alt-ArrowDown",run:sn},{key:"Mod-Alt-ArrowUp",run:Xt},{key:"Mod-Alt-ArrowDown",run:Yt},{key:"Escape",run:Zt},{key:"Mod-Enter",run:an},{key:"Alt-l",mac:"Ctrl-l",run:$t},{key:"Mod-i",run:Qt,preventDefault:!0},{key:"Mod-[",run:st},{key:"Mod-]",run:me},{key:"Mod-Alt-\\",run:hn},{key:"Shift-Mod-k",run:un},{key:"Shift-Mod-\\",run:Ut},{key:"Mod-/",run:it},{key:"Alt-A",mac:"Ctrl-A",run:ft},{key:"Ctrl-m",mac:"Shift-Alt-m",run:dn}].concat(pn),lr={key:"Tab",run:me,shift:st};export{Xt as addCursorAbove,Yt as addCursorBelow,Cn as blockComment,Dn as blockUncomment,Tn as canRedoSelection,En as canUndoSelection,sn as copyLineDown,cn as copyLineUp,In as cursorCharBackward,Fn as cursorCharBackwardLogical,vn as cursorCharForward,Rn as cursorCharForwardLogical,Ge as cursorCharLeft,Ve as cursorCharRight,Me as cursorDocEnd,xe as cursorDocStart,Gn as cursorGroupBackward,Un as cursorGroupForward,Vn as cursorGroupForwardWin,Lt as cursorGroupLeft,xt as cursorGroupRight,Ot as cursorLineBoundaryBackward,Tt as cursorLineBoundaryForward,vt as cursorLineBoundaryLeft,It as cursorLineBoundaryRight,He as cursorLineDown,Ft as cursorLineEnd,Rt as cursorLineStart,ze as cursorLineUp,Ut as cursorMatchingBracket,ce as cursorPageDown,Ce as cursorPageUp,Pn as cursorSubwordBackward,Nn as cursorSubwordForward,bt as cursorSyntaxLeft,Et as cursorSyntaxRight,or as defaultKeymap,se as deleteCharBackward,Yn as deleteCharBackwardStrict,tt as deleteCharForward,rt as deleteGroupBackward,_t as deleteGroupForward,Zn as deleteGroupForwardWin,un as deleteLine,en as deleteLineBoundaryBackward,tn as deleteLineBoundaryForward,jt as deleteToLineEnd,_n as deleteToLineStart,jn as deleteTrailingWhitespace,mn as emacsStyleKeymap,Ln as history,xn as historyField,On as historyKeymap,st as indentLess,me as indentMore,hn as indentSelection,lr as indentWithTab,an as insertBlankLine,er as insertNewline,Te as insertNewlineAndIndent,tr as insertNewlineKeepIndent,rr as insertTab,pt as invertedEffects,mt as isolateHistory,An as lineComment,Bn as lineUncomment,ln as moveLineDown,on as moveLineUp,le as redo,bn as redoDepth,yt as redoSelection,Kt as selectAll,zn as selectCharBackward,Wn as selectCharBackwardLogical,wn as selectCharForward,Hn as selectCharForwardLogical,$e as selectCharLeft,Qe as selectCharRight,Ee as selectDocEnd,be as selectDocStart,Kn as selectGroupBackward,qn as selectGroupForward,$n as selectGroupForwardWin,Gt as selectGroupLeft,Vt as selectGroupRight,$t as selectLine,wt as selectLineBoundaryBackward,Jt as selectLineBoundaryForward,zt as selectLineBoundaryLeft,Ht as selectLineBoundaryRight,_e as selectLineDown,qt as selectLineEnd,Wt as selectLineStart,Ze as selectLineUp,Jn as selectMatchingBracket,Le as selectPageDown,De as selectPageUp,Qt as selectParentSyntax,Xn as selectSubwordBackward,Qn as selectSubwordForward,Nt as selectSyntaxLeft,Pt as selectSyntaxRight,Zt as simplifySelection,nn as splitLine,pn as standardKeymap,nr as temporarilySetTabFocusMode,ft as toggleBlockComment,at as toggleBlockCommentByLine,it as toggleComment,ut as toggleLineComment,dn as toggleTabFocusMode,rn as transposeChars,ve as undo,Mn as undoDepth,gt as undoSelection};