@nbt-dev/devtools 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,30 +6,30 @@ const require = (m) => {
6
6
  if (m === "react-dom") return __DEVTOOLS_REACT_DOM.default || __DEVTOOLS_REACT_DOM;
7
7
  throw new Error("Dynamic require of \"" + m + "\" is not supported");
8
8
  };
9
- var HM=Object.create;var Jf=Object.defineProperty;var _M=Object.getOwnPropertyDescriptor;var qM=Object.getOwnPropertyNames;var zM=Object.getPrototypeOf,UM=Object.prototype.hasOwnProperty;var Cx=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var ll=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),yx=(t,e)=>{for(var a in e)Jf(t,a,{get:e[a],enumerable:!0})},VM=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of qM(e))!UM.call(t,r)&&r!==a&&Jf(t,r,{get:()=>e[r],enumerable:!(o=_M(e,r))||o.enumerable});return t};var WM=(t,e,a)=>(a=t!=null?HM(zM(t)):{},VM(e||!t||!t.__esModule?Jf(a,"default",{value:t,enumerable:!0}):a,t));var AI=ll(kI=>{"use strict";var Qn=Cx("react");function gF(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var xF=typeof Object.is=="function"?Object.is:gF,LF=Qn.useState,CF=Qn.useEffect,yF=Qn.useLayoutEffect,wF=Qn.useDebugValue;function bF(t,e){var a=e(),o=LF({inst:{value:a,getSnapshot:e}}),r=o[0].inst,n=o[1];return yF(function(){r.value=a,r.getSnapshot=e,Vm(r)&&n({inst:r})},[t,a,e]),CF(function(){return Vm(r)&&n({inst:r}),t(function(){Vm(r)&&n({inst:r})})},[t]),wF(a),a}function Vm(t){var e=t.getSnapshot;t=t.value;try{var a=e();return!xF(t,a)}catch{return!0}}function IF(t,e){return e()}var SF=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?IF:bF;kI.useSyncExternalStore=Qn.useSyncExternalStore!==void 0?Qn.useSyncExternalStore:SF});var PI=ll((zK,MI)=>{"use strict";MI.exports=AI()});var DI=ll(RI=>{"use strict";var rf=Cx("react"),vF=PI();function kF(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var AF=typeof Object.is=="function"?Object.is:kF,MF=vF.useSyncExternalStore,PF=rf.useRef,RF=rf.useEffect,DF=rf.useMemo,TF=rf.useDebugValue;RI.useSyncExternalStoreWithSelector=function(t,e,a,o,r){var n=PF(null);if(n.current===null){var s={hasValue:!1,value:null};n.current=s}else s=n.current;n=DF(function(){function l(h){if(!u){if(u=!0,d=h,h=o(h),r!==void 0&&s.hasValue){var p=s.value;if(r(p,h))return f=p}return f=h}if(p=f,AF(d,h))return p;var m=o(h);return r!==void 0&&r(p,m)?(d=h,p):(d=h,f=m)}var u=!1,d,f,c=a===void 0?null:a;return[function(){return l(e())},c===null?void 0:function(){return l(c())}]},[e,a,o,r]);var i=MF(t,n[0],n[1]);return RF(function(){s.hasValue=!0,s.value=i},[i]),TF(i),i}});var EI=ll((VK,TI)=>{"use strict";TI.exports=DI()});import Nn from"react";var ec=[],Sx=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,a=0;e<t.length;e++)(e%2?Sx:ec).push(a=a+t[e])})();function GM(t){if(t<768)return!1;for(let e=0,a=ec.length;;){let o=e+a>>1;if(t<ec[o])a=o;else if(t>=Sx[o])e=o+1;else return!0;if(e==a)return!1}}function wx(t){return t>=127462&&t<=127487}var bx=8205;function vx(t,e,a=!0,o=!0){return(a?kx:$M)(t,e,o)}function kx(t,e,a){if(e==t.length)return e;e&&Ax(t.charCodeAt(e))&&Mx(t.charCodeAt(e-1))&&e--;let o=Qf(t,e);for(e+=Ix(o);e<t.length;){let r=Qf(t,e);if(o==bx||r==bx||a&&GM(r))e+=Ix(r),o=r;else if(wx(r)){let n=0,s=e-2;for(;s>=0&&wx(Qf(t,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function $M(t,e,a){for(;e>0;){let o=kx(t,e-2,a);if(o<e)return o;e--}return 0}function Qf(t,e){let a=t.charCodeAt(e);if(!Mx(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return Ax(o)?(a-55296<<10)+(o-56320)+65536:a}function Ax(t){return t>=56320&&t<57344}function Mx(t){return t>=55296&&t<56320}function Ix(t){return t<65536?1:2}var xe=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,a,o){[e,a]=pn(this,e,a);let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(a,this.length,r,1),fn.from(r,this.length-(a-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,a=this.length){[e,a]=pn(this,e,a);let o=[];return this.decompose(e,a,o,0),fn.from(o,a-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let a=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new dr(this),n=new dr(e);for(let s=a,i=a;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(i+=r.value.length,r.done||i>=o)return!0}}iter(e=1){return new dr(this,e)}iterRange(e,a=this.length){return new hl(this,e,a)}iterLines(e,a){let o;if(e==null)o=this.iter();else{a==null&&(a=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,a==this.lines+1?this.length:a<=1?0:this.line(a-1).to))}return new pl(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new Ht(e):fn.from(Ht.split(e,[]))}},Ht=class t extends xe{constructor(e,a=XM(e)){super(),this.text=e,this.length=a}get lines(){return this.text.length}get children(){return null}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.text[n],i=r+s.length;if((a?o:i)>=e)return new ac(r,i,o,s);r=i+1,o++}}decompose(e,a,o,r){let n=e<=0&&a>=this.length?this:new t(Px(this.text,e,a),Math.min(a,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),i=cl(n.text,s.text.slice(),0,n.length);if(i.length<=32)o.push(new t(i,s.length+n.length));else{let l=i.length>>1;o.push(new t(i.slice(0,l)),new t(i.slice(l)))}}else o.push(n)}replace(e,a,o){if(!(o instanceof t))return super.replace(e,a,o);[e,a]=pn(this,e,a);let r=cl(this.text,cl(o.text,Px(this.text,0,e)),a),n=this.length+o.length-(a-e);return r.length<=32?new t(r,n):fn.from(t.split(r,[]),n)}sliceString(e,a=this.length,o=`
10
- `){[e,a]=pn(this,e,a);let r="";for(let n=0,s=0;n<=a&&s<this.text.length;s++){let i=this.text[s],l=n+i.length;n>e&&s&&(r+=o),e<l&&a>n&&(r+=i.slice(Math.max(0,e-n),a-n)),n=l+1}return r}flatten(e){for(let a of this.text)e.push(a)}scanIdentical(){return 0}static split(e,a){let o=[],r=-1;for(let n of e)o.push(n),r+=n.length+1,o.length==32&&(a.push(new t(o,r)),o=[],r=-1);return r>-1&&a.push(new t(o,r)),a}},fn=class t extends xe{constructor(e,a){super(),this.children=e,this.length=a,this.lines=0;for(let o of e)this.lines+=o.lines}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.children[n],i=r+s.length,l=o+s.lines-1;if((a?l:i)>=e)return s.lineInner(e,a,o,r);r=i+1,o=l+1}}decompose(e,a,o,r){for(let n=0,s=0;s<=a&&n<this.children.length;n++){let i=this.children[n],l=s+i.length;if(e<=l&&a>=s){let u=r&((s<=e?1:0)|(l>=a?2:0));s>=e&&l<=a&&!u?o.push(i):i.decompose(e-s,a-s,o,u)}s=l+1}}replace(e,a,o){if([e,a]=pn(this,e,a),o.lines<this.lines)for(let r=0,n=0;r<this.children.length;r++){let s=this.children[r],i=n+s.length;if(e>=n&&a<=i){let l=s.replace(e-n,a-n,o),u=this.lines-s.lines+l.lines;if(l.lines<u>>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new t(d,this.length-(a-e)+o.length)}return super.replace(n,i,l)}n=i+1}return super.replace(e,a,o)}sliceString(e,a=this.length,o=`
11
- `){[e,a]=pn(this,e,a);let r="";for(let n=0,s=0;n<this.children.length&&s<=a;n++){let i=this.children[n],l=s+i.length;s>e&&n&&(r+=o),e<l&&a>s&&(r+=i.sliceString(e-s,a-s,o)),s=l+1}return r}flatten(e){for(let a of this.children)a.flatten(e)}scanIdentical(e,a){if(!(e instanceof t))return 0;let o=0,[r,n,s,i]=a>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=a,n+=a){if(r==s||n==i)return o;let l=this.children[r],u=e.children[n];if(l!=u)return o+l.scanIdentical(u,a);o+=l.length+1}}static from(e,a=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let h of e)o+=h.lines;if(o<32){let h=[];for(let p of e)p.flatten(h);return new Ht(h,a)}let r=Math.max(32,o>>5),n=r<<1,s=r>>1,i=[],l=0,u=-1,d=[];function f(h){let p;if(h.lines>n&&h instanceof t)for(let m of h.children)f(m);else h.lines>s&&(l>s||!l)?(c(),i.push(h)):h instanceof Ht&&l&&(p=d[d.length-1])instanceof Ht&&h.lines+p.lines<=32?(l+=h.lines,u+=h.length+1,d[d.length-1]=new Ht(p.text.concat(h.text),p.length+1+h.length)):(l+h.lines>r&&c(),l+=h.lines,u+=h.length+1,d.push(h))}function c(){l!=0&&(i.push(d.length==1?d[0]:t.from(d,u)),u=-1,l=d.length=0)}for(let h of e)f(h);return c(),i.length==1?i[0]:new t(i,a)}};xe.empty=new Ht([""],0);function XM(t){let e=-1;for(let a of t)e+=a.length+1;return e}function cl(t,e,a=0,o=1e9){for(let r=0,n=0,s=!0;n<t.length&&r<=o;n++){let i=t[n],l=r+i.length;l>=a&&(l>o&&(i=i.slice(0,o-r)),r<a&&(i=i.slice(a-r)),s?(e[e.length-1]+=i,s=!1):e.push(i)),r=l+1}return e}function Px(t,e,a){return cl(t,[""],e,a)}var dr=class{constructor(e,a=1){this.dir=a,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[a>0?1:(e instanceof Ht?e.text.length:e.children.length)<<1]}nextInner(e,a){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,r=this.nodes[o],n=this.offsets[o],s=n>>1,i=r instanceof Ht?r.text.length:r.children.length;if(s==(a>0?i:0)){if(o==0)return this.done=!0,this.value="",this;a>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(a>0?0:1)){if(this.offsets[o]+=a,e==0)return this.lineBreak=!0,this.value=`
12
- `,this;e--}else if(r instanceof Ht){let l=r.text[s+(a<0?-1:0)];if(this.offsets[o]+=a,l.length>Math.max(0,e))return this.value=e==0?l:a>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[s+(a<0?-1:0)];e>l.length?(e-=l.length,this.offsets[o]+=a):(a<0&&this.offsets[o]--,this.nodes.push(l),this.offsets.push(a>0?1:(l instanceof Ht?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},hl=class{constructor(e,a,o){this.value="",this.done=!1,this.cursor=new dr(e,a>o?-1:1),this.pos=a>o?e.length:0,this.from=Math.min(a,o),this.to=Math.max(a,o)}nextInner(e,a){if(a<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,a<0?this.pos-this.to:this.from-this.pos);let o=a<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*a,this.value=r.length<=o?r:a<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},pl=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:a,lineBreak:o,value:r}=this.inner.next(e);return a&&this.afterBreak?(this.value="",this.afterBreak=!1):a?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},dr.prototype[Symbol.iterator]=hl.prototype[Symbol.iterator]=pl.prototype[Symbol.iterator]=function(){return this});var ac=class{constructor(e,a,o,r){this.from=e,this.to=a,this.number=o,this.text=r}get length(){return this.to-this.from}};function pn(t,e,a){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,a))]}function We(t,e,a=!0,o=!0){return vx(t,e,a,o)}function KM(t){return t>=56320&&t<57344}function jM(t){return t>=55296&&t<56320}function Mt(t,e){let a=t.charCodeAt(e);if(!jM(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return KM(o)?(a-55296<<10)+(o-56320)+65536:a}function ys(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function $t(t){return t<65536?1:2}var oc=/\r\n?|\n/,st=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(st||(st={})),eo=class t{constructor(e){this.sections=e}get length(){let e=0;for(let a=0;a<this.sections.length;a+=2)e+=this.sections[a];return e}get newLength(){let e=0;for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a+1];e+=o<0?this.sections[a]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let a=0,o=0,r=0;a<this.sections.length;){let n=this.sections[a++],s=this.sections[a++];s<0?(e(o,r,n),r+=n):r+=s,o+=n}}iterChangedRanges(e,a=!1){rc(this,e,a)}get invertedDesc(){let e=[];for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];r<0?e.push(o,r):e.push(r,o)}return new t(e)}composeDesc(e){return this.empty?e:e.empty?this:Bx(this,e)}mapDesc(e,a=!1){return e.empty?this:nc(this,e,a)}mapPos(e,a=-1,o=st.Simple){let r=0,n=0;for(let s=0;s<this.sections.length;){let i=this.sections[s++],l=this.sections[s++],u=r+i;if(l<0){if(u>e)return n+(e-r);n+=i}else{if(o!=st.Simple&&u>=e&&(o==st.TrackDel&&r<e&&u>e||o==st.TrackBefore&&r<e||o==st.TrackAfter&&u>e))return null;if(u>e||u==e&&a<0&&!i)return e==r||a<0?n:n+l;n+=l}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,a=e){for(let o=0,r=0;o<this.sections.length&&r<=a;){let n=this.sections[o++],s=this.sections[o++],i=r+n;if(s>=0&&r<=a&&i>=e)return r<e&&i>a?"cover":!0;r=i}return!1}toString(){let e="";for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(a=>typeof a!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},xt=class t extends eo{constructor(e,a){super(e),this.inserted=a}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return rc(this,(a,o,r,n,s)=>e=e.replace(r,r+(o-a),s),!1),e}mapDesc(e,a=!1){return nc(this,e,a,!0)}invert(e){let a=this.sections.slice(),o=[];for(let r=0,n=0;r<a.length;r+=2){let s=a[r],i=a[r+1];if(i>=0){a[r]=i,a[r+1]=s;let l=r>>1;for(;o.length<l;)o.push(xe.empty);o.push(s?e.slice(n,n+s):xe.empty)}n+=s}return new t(a,o)}compose(e){return this.empty?e:e.empty?this:Bx(this,e,!0)}map(e,a=!1){return e.empty?this:nc(this,e,a,!0)}iterChanges(e,a=!1){rc(this,e,a)}get desc(){return eo.create(this.sections)}filter(e){let a=[],o=[],r=[],n=new fr(this);e:for(let s=0,i=0;;){let l=s==e.length?1e9:e[s++];for(;i<l||i==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-i);ct(r,d,-1);let f=n.ins==-1?-1:n.off==0?n.ins:0;ct(a,d,f),f>0&&Io(o,a,n.text),n.forward(d),i+=d}let u=e[s++];for(;i<u;){if(n.done)break e;let d=Math.min(n.len,u-i);ct(a,d,-1),ct(r,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),i+=d}}return{changes:new t(a,o),filtered:eo.create(r)}}toJSON(){let e=[];for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a],r=this.sections[a+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[a>>1].toJSON()))}return e}static of(e,a,o){let r=[],n=[],s=0,i=null;function l(d=!1){if(!d&&!r.length)return;s<a&&ct(r,a-s,-1);let f=new t(r,n);i=i?i.compose(f.map(i)):f,r=[],n=[],s=0}function u(d){if(Array.isArray(d))for(let f of d)u(f);else if(d instanceof t){if(d.length!=a)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${a})`);l(),i=i?i.compose(d.map(i)):d}else{let{from:f,to:c=f,insert:h}=d;if(f>c||f<0||c>a)throw new RangeError(`Invalid change range ${f} to ${c} (in doc of length ${a})`);let p=h?typeof h=="string"?xe.of(h.split(o||oc)):h:xe.empty,m=p.length;if(f==c&&m==0)return;f<s&&l(),f>s&&ct(r,f-s,-1),ct(r,c-f,m),Io(n,r,p),s=c}}return u(e),l(!i),i}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let a=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(typeof n=="number")a.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((s,i)=>i&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)a.push(n[0],0);else{for(;o.length<r;)o.push(xe.empty);o[r]=xe.of(n.slice(1)),a.push(n[0],o[r].length)}}}return new t(a,o)}static createSet(e,a){return new t(e,a)}};function ct(t,e,a,o=!1){if(e==0&&a<=0)return;let r=t.length-2;r>=0&&a<=0&&a==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=a:o?(t[r]+=e,t[r+1]+=a):t.push(e,a)}function Io(t,e,a){if(a.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(a);else{for(;t.length<o;)t.push(xe.empty);t.push(a)}}function rc(t,e,a){let o=t.inserted;for(let r=0,n=0,s=0;s<t.sections.length;){let i=t.sections[s++],l=t.sections[s++];if(l<0)r+=i,n+=i;else{let u=r,d=n,f=xe.empty;for(;u+=i,d+=l,l&&o&&(f=f.append(o[s-2>>1])),!(a||s==t.sections.length||t.sections[s+1]<0);)i=t.sections[s++],l=t.sections[s++];e(r,u,n,d,f),r=u,n=d}}}function nc(t,e,a,o=!1){let r=[],n=o?[]:null,s=new fr(t),i=new fr(e);for(let l=-1;;){if(s.done&&i.len||i.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&i.ins==-1){let u=Math.min(s.len,i.len);ct(r,u,-1),s.forward(u),i.forward(u)}else if(i.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(i.len<s.len||i.len==s.len&&!a))){let u=i.len;for(ct(r,i.ins,-1);u;){let d=Math.min(s.len,u);s.ins>=0&&l<s.i&&s.len<=d&&(ct(r,0,s.ins),n&&Io(n,r,s.text),l=s.i),s.forward(d),u-=d}i.next()}else if(s.ins>=0){let u=0,d=s.len;for(;d;)if(i.ins==-1){let f=Math.min(d,i.len);u+=f,d-=f,i.forward(f)}else if(i.ins==0&&i.len<d)d-=i.len,i.next();else break;ct(r,u,l<s.i?s.ins:0),n&&l<s.i&&Io(n,r,s.text),l=s.i,s.forward(s.len-d)}else{if(s.done&&i.done)return n?xt.createSet(r,n):eo.create(r);throw new Error("Mismatched change set lengths")}}}function Bx(t,e,a=!1){let o=[],r=a?[]:null,n=new fr(t),s=new fr(e);for(let i=!1;;){if(n.done&&s.done)return r?xt.createSet(o,r):eo.create(o);if(n.ins==0)ct(o,n.len,0,i),n.next();else if(s.len==0&&!s.done)ct(o,0,s.ins,i),r&&Io(r,o,s.text),s.next();else{if(n.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,s.len),u=o.length;if(n.ins==-1){let d=s.ins==-1?-1:s.off?0:s.ins;ct(o,l,d,i),r&&d&&Io(r,o,s.text)}else s.ins==-1?(ct(o,n.off?0:n.len,l,i),r&&Io(r,o,n.textBit(l))):(ct(o,n.off?0:n.len,s.off?0:s.ins,i),r&&!s.off&&Io(r,o,s.text));i=(n.ins>l||s.ins>=0&&s.len>l)&&(i||o.length>u),n.forward2(l),s.forward(l)}}}}var fr=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,a=this.i-2>>1;return a>=e.length?xe.empty:e[a]}textBit(e){let{inserted:a}=this.set,o=this.i-2>>1;return o>=a.length&&!e?xe.empty:a[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},dn=class t{constructor(e,a,o){this.from=e,this.to=a,this.flags=o}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,a=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,a):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new t(o,r,this.flags)}extend(e,a=e,o=0){if(e<=this.anchor&&a>=this.anchor)return V.range(e,a,void 0,void 0,o);let r=Math.abs(e-this.anchor)>Math.abs(a-this.anchor)?e:a;return V.range(this.anchor,r,void 0,void 0,o)}eq(e,a=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!a||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return V.range(e.anchor,e.head)}static create(e,a,o){return new t(e,a,o)}},V=class t{constructor(e,a){this.ranges=e,this.mainIndex=a}map(e,a=-1){return e.empty?this:t.create(this.ranges.map(o=>o.map(e,a)),this.mainIndex)}eq(e,a=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let o=0;o<this.ranges.length;o++)if(!this.ranges[o].eq(e.ranges[o],a))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new t([this.main],0)}addRange(e,a=!0){return t.create([e].concat(this.ranges),a?0:this.mainIndex+1)}replaceRange(e,a=this.mainIndex){let o=this.ranges.slice();return o[a]=e,t.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(a=>dn.fromJSON(a)),e.main)}static single(e,a=e){return new t([t.range(e,a)],0)}static create(e,a=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let n=e[r];if(n.empty?n.from<=o:n.from<o)return t.normalized(e.slice(),a);o=n.to}return new t(e,a)}static cursor(e,a=0,o,r){return dn.create(e,e,(a==0?0:a<0?8:16)|(o==null?7:Math.min(6,o))|(r??16777215)<<6)}static range(e,a,o,r,n){let s=(o??16777215)<<6|(r==null?7:Math.min(6,r));return!n&&e!=a&&(n=a<e?1:-1),a<e?dn.create(a,e,48|s):dn.create(e,a,(n?n<0?8:16:0)|s)}static normalized(e,a=0){let o=e[a];e.sort((r,n)=>r.from-n.from),a=e.indexOf(o);for(let r=1;r<e.length;r++){let n=e[r],s=e[r-1];if(n.empty?n.from<=s.to:n.from<s.to){let i=s.from,l=Math.max(n.to,s.to);r<=a&&a--,e.splice(--r,2,n.anchor>n.head?t.range(l,i):t.range(i,l))}}return new t(e,a)}};function Ox(t,e){for(let a of t.ranges)if(a.to>e)throw new RangeError("Selection points outside of document")}var mc=0,j=class t{constructor(e,a,o,r,n){this.combine=e,this.compareInput=a,this.compare=o,this.isStatic=r,this.id=mc++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new t(e.combine||(a=>a),e.compareInput||((a,o)=>a===o),e.compare||(e.combine?(a,o)=>a===o:gc),!!e.static,e.enables)}of(e){return new cn([],this,0,e)}compute(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new cn(e,this,1,a)}computeN(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new cn(e,this,2,a)}from(e,a){return a||(a=o=>o),this.compute([e],o=>a(o.field(e)))}};function gc(t,e){return t==e||t.length==e.length&&t.every((a,o)=>a===e[o])}var cn=class{constructor(e,a,o,r){this.dependencies=e,this.facet=a,this.type=o,this.value=r,this.id=mc++}dynamicSlot(e){var a;let o=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,i=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:(((a=e[f.id])!==null&&a!==void 0?a:1)&1)==0&&d.push(e[f.id]);return{create(f){return f.values[s]=o(f),1},update(f,c){if(l&&c.docChanged||u&&(c.docChanged||c.selection)||sc(f,d)){let h=o(f);if(i?!Rx(h,f.values[s],r):!r(h,f.values[s]))return f.values[s]=h,1}return 0},reconfigure:(f,c)=>{let h,p=c.config.address[n];if(p!=null){let m=Ll(c,p);if(this.dependencies.every(g=>g instanceof j?c.facet(g)===f.facet(g):g instanceof He?c.field(g,!1)==f.field(g,!1):!0)||(i?Rx(h=o(f),m,r):r(h=o(f),m)))return f.values[s]=m,0}else h=o(f);return f.values[s]=h,1}}}};function Rx(t,e,a){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!a(t[o],e[o]))return!1;return!0}function sc(t,e){let a=!1;for(let o of e)gs(t,o)&1&&(a=!0);return a}function ZM(t,e,a){let o=a.map(l=>t[l.id]),r=a.map(l=>l.type),n=o.filter(l=>!(l&1)),s=t[e.id]>>1;function i(l){let u=[];for(let d=0;d<o.length;d++){let f=Ll(l,o[d]);if(r[d]==2)for(let c of f)u.push(c);else u.push(f)}return e.combine(u)}return{create(l){for(let u of o)gs(l,u);return l.values[s]=i(l),1},update(l,u){if(!sc(l,n))return 0;let d=i(l);return e.compare(d,l.values[s])?0:(l.values[s]=d,1)},reconfigure(l,u){let d=sc(l,o),f=u.config.facets[e.id],c=u.facet(e);if(f&&!d&&gc(a,f))return l.values[s]=c,0;let h=i(l);return e.compare(h,c)?(l.values[s]=c,0):(l.values[s]=h,1)}}}var ul=j.define({static:!0}),He=class t{constructor(e,a,o,r,n){this.id=e,this.createF=a,this.updateF=o,this.compareF=r,this.spec=n,this.provides=void 0}static define(e){let a=new t(mc++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(a.provides=e.provide(a)),a}create(e){let a=e.facet(ul).find(o=>o.field==this);return(a?.create||this.createF)(e)}slot(e){let a=e[this.id]>>1;return{create:o=>(o.values[a]=this.create(o),1),update:(o,r)=>{let n=o.values[a],s=this.updateF(n,r);return this.compareF(n,s)?0:(o.values[a]=s,1)},reconfigure:(o,r)=>{let n=o.facet(ul),s=r.facet(ul),i;return(i=n.find(l=>l.field==this))&&i!=s.find(l=>l.field==this)?(o.values[a]=i.create(o),1):r.config.address[this.id]!=null?(o.values[a]=r.field(this),0):(o.values[a]=this.create(o),1)}}}init(e){return[this,ul.of({field:this,create:e})]}get extension(){return this}},lr={lowest:4,low:3,default:2,high:1,highest:0};function ms(t){return e=>new ml(e,t)}var ua={highest:ms(lr.highest),high:ms(lr.high),default:ms(lr.default),low:ms(lr.low),lowest:ms(lr.lowest)},ml=class{constructor(e,a){this.inner=e,this.prec=a}},gl=class t{of(e){return new xs(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},xs=class{constructor(e,a){this.compartment=e,this.inner=a}},xl=class t{constructor(e,a,o,r,n,s){for(this.base=e,this.compartments=a,this.dynamicSlots=o,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let a=this.address[e.id];return a==null?e.default:this.staticValues[a>>1]}static resolve(e,a,o){let r=[],n=Object.create(null),s=new Map;for(let c of YM(e,a,s))c instanceof He?r.push(c):(n[c.facet.id]||(n[c.facet.id]=[])).push(c);let i=Object.create(null),l=[],u=[];for(let c of r)i[c.id]=u.length<<1,u.push(h=>c.slot(h));let d=o?.config.facets;for(let c in n){let h=n[c],p=h[0].facet,m=d&&d[c]||[];if(h.every(g=>g.type==0))if(i[p.id]=l.length<<1|1,gc(m,h))l.push(o.facet(p));else{let g=p.combine(h.map(x=>x.value));l.push(o&&p.compare(g,o.facet(p))?o.facet(p):g)}else{for(let g of h)g.type==0?(i[g.id]=l.length<<1|1,l.push(g.value)):(i[g.id]=u.length<<1,u.push(x=>g.dynamicSlot(x)));i[p.id]=u.length<<1,u.push(g=>ZM(g,p,h))}}let f=u.map(c=>c(i));return new t(e,s,f,i,l,n)}};function YM(t,e,a){let o=[[],[],[],[],[]],r=new Map;function n(s,i){let l=r.get(s);if(l!=null){if(l<=i)return;let u=o[l].indexOf(s);u>-1&&o[l].splice(u,1),s instanceof xs&&a.delete(s.compartment)}if(r.set(s,i),Array.isArray(s))for(let u of s)n(u,i);else if(s instanceof xs){if(a.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;a.set(s.compartment,u),n(u,i)}else if(s instanceof ml)n(s.inner,s.prec);else if(s instanceof He)o[i].push(s),s.provides&&n(s.provides,i);else if(s instanceof cn)o[i].push(s),s.facet.extensions&&n(s.facet.extensions,lr.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(u,i)}}return n(t,lr.default),o.reduce((s,i)=>s.concat(i))}function gs(t,e){if(e&1)return 2;let a=e>>1,o=t.status[a];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[a]=4;let r=t.computeSlot(t,t.config.dynamicSlots[a]);return t.status[a]=2|r}function Ll(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var Fx=j.define(),ic=j.define({combine:t=>t.some(e=>e),static:!0}),Nx=j.define({combine:t=>t.length?t[0]:void 0,static:!0}),Hx=j.define(),_x=j.define(),qx=j.define(),zx=j.define({combine:t=>t.length?t[0]:!1}),At=class{constructor(e,a){this.type=e,this.value=a}static define(){return new lc}},lc=class{of(e){return new At(this,e)}},uc=class{constructor(e){this.map=e}of(e){return new le(this,e)}},le=class t{constructor(e,a){this.type=e,this.value=a}map(e){let a=this.type.map(this.value,e);return a===void 0?void 0:a==this.value?this:new t(this.type,a)}is(e){return this.type==e}static define(e={}){return new uc(e.map||(a=>a))}static mapEffects(e,a){if(!e.length)return e;let o=[];for(let r of e){let n=r.map(a);n&&o.push(n)}return o}};le.reconfigure=le.define();le.appendConfig=le.define();var Ye=class t{constructor(e,a,o,r,n,s){this.startState=e,this.changes=a,this.selection=o,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,o&&Ox(o,a.newLength),n.some(i=>i.type==t.time)||(this.annotations=n.concat(t.time.of(Date.now())))}static create(e,a,o,r,n,s){return new t(e,a,o,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let a of this.annotations)if(a.type==e)return a.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let a=this.annotation(t.userEvent);return!!(a&&(a==e||a.length>e.length&&a.slice(0,e.length)==e&&a[e.length]=="."))}};Ye.time=At.define();Ye.userEvent=At.define();Ye.addToHistory=At.define();Ye.remote=At.define();function JM(t,e){let a=[];for(let o=0,r=0;;){let n,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))n=t[o++],s=t[o++];else if(r<e.length)n=e[r++],s=e[r++];else return a;!a.length||a[a.length-1]<n?a.push(n,s):a[a.length-1]<s&&(a[a.length-1]=s)}}function Ux(t,e,a){var o;let r,n,s;return a?(r=e.changes,n=xt.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),n=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(n):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:le.mapEffects(t.effects,r).concat(le.mapEffects(e.effects,n)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function dc(t,e,a){let o=e.selection,r=hn(e.annotations);return e.userEvent&&(r=r.concat(Ye.userEvent.of(e.userEvent))),{changes:e.changes instanceof xt?e.changes:xt.of(e.changes||[],a,t.facet(Nx)),selection:o&&(o instanceof V?o:V.single(o.anchor,o.head)),effects:hn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Vx(t,e,a){let o=dc(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(a=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(a=!1);let s=!!e[n].sequential;o=Ux(o,dc(t,e[n],s?o.changes.newLength:t.doc.length),s)}let r=Ye.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return eP(a?QM(r):r)}function QM(t){let e=t.startState,a=!0;for(let r of e.facet(Hx)){let n=r(t);if(n===!1){a=!1;break}Array.isArray(n)&&(a=a===!0?n:JM(a,n))}if(a!==!0){let r,n;if(a===!1)n=t.changes.invertedDesc,r=xt.empty(e.doc.length);else{let s=t.changes.filter(a);r=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}t=Ye.create(e,r,t.selection&&t.selection.map(n),le.mapEffects(t.effects,n),t.annotations,t.scrollIntoView)}let o=e.facet(_x);for(let r=o.length-1;r>=0;r--){let n=o[r](t);n instanceof Ye?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof Ye?t=n[0]:t=Vx(e,hn(n),!1)}return t}function eP(t){let e=t.startState,a=e.facet(qx),o=t;for(let r=a.length-1;r>=0;r--){let n=a[r](t);n&&Object.keys(n).length&&(o=Ux(o,dc(e,n,t.changes.newLength),!0))}return o==t?t:Ye.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var tP=[];function hn(t){return t==null?tP:Array.isArray(t)?t:[t]}var Ee=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Ee||(Ee={})),aP=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,fc;try{fc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function oP(t){if(fc)return fc.test(t);for(let e=0;e<t.length;e++){let a=t[e];if(/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||aP.test(a)))return!0}return!1}function rP(t){return e=>{if(!/\S/.test(e))return Ee.Space;if(oP(e))return Ee.Word;for(let a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return Ee.Word;return Ee.Other}}var Se=class t{constructor(e,a,o,r,n,s){this.config=e,this.doc=a,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let i=0;i<this.config.dynamicSlots.length;i++)gs(this,i<<1);this.computeSlot=null}field(e,a=!0){let o=this.config.address[e.id];if(o==null){if(a)throw new RangeError("Field is not present in this state");return}return gs(this,o),Ll(this,o)}update(...e){return Vx(this,e,!0)}applyTransaction(e){let a=this.config,{base:o,compartments:r}=a;for(let i of e.effects)i.is(gl.reconfigure)?(a&&(r=new Map,a.compartments.forEach((l,u)=>r.set(u,l)),a=null),r.set(i.value.compartment,i.value.extension)):i.is(le.reconfigure)?(a=null,o=i.value):i.is(le.appendConfig)&&(a=null,o=hn(o).concat(i.value));let n;a?n=e.startState.values.slice():(a=xl.resolve(o,r,this),n=new t(a,this.doc,this.selection,a.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let s=e.startState.facet(ic)?e.newSelection:e.newSelection.asSingle();new t(a,e.newDoc,s,n,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:e},range:V.cursor(a.from+e.length)}))}changeByRange(e){let a=this.selection,o=e(a.ranges[0]),r=this.changes(o.changes),n=[o.range],s=hn(o.effects);for(let i=1;i<a.ranges.length;i++){let l=e(a.ranges[i]),u=this.changes(l.changes),d=u.map(r);for(let c=0;c<i;c++)n[c]=n[c].map(d);let f=r.mapDesc(u,!0);n.push(l.range.map(f)),r=r.compose(d),s=le.mapEffects(s,d).concat(le.mapEffects(hn(l.effects),f))}return{changes:r,selection:V.create(n,a.mainIndex),effects:s}}changes(e=[]){return e instanceof xt?e:xt.of(e,this.doc.length,this.facet(t.lineSeparator))}toText(e){return xe.of(e.split(this.facet(t.lineSeparator)||oc))}sliceDoc(e=0,a=this.doc.length){return this.doc.sliceString(e,a,this.lineBreak)}facet(e){let a=this.config.address[e.id];return a==null?e.default:(gs(this,a),Ll(this,a))}toJSON(e){let a={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof He&&this.config.address[r.id]!=null&&(a[o]=r.spec.toJSON(this.field(e[o]),this))}return a}static fromJSON(e,a={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let n in o)if(Object.prototype.hasOwnProperty.call(e,n)){let s=o[n],i=e[n];r.push(s.init(l=>s.spec.fromJSON(i,l)))}}return t.create({doc:e.doc,selection:V.fromJSON(e.selection),extensions:a.extensions?r.concat([a.extensions]):r})}static create(e={}){let a=xl.resolve(e.extensions||[],new Map),o=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(a.staticFacet(t.lineSeparator)||oc)),r=e.selection?e.selection instanceof V?e.selection:V.single(e.selection.anchor,e.selection.head):V.single(0);return Ox(r,o.length),a.staticFacet(ic)||(r=r.asSingle()),new t(a,o,r,a.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||`
13
- `}get readOnly(){return this.facet(zx)}phrase(e,...a){for(let o of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(o,e)){e=o[e];break}return a.length&&(e=e.replace(/\$(\$|\d*)/g,(o,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>a.length?o:a[n-1]})),e}languageDataAt(e,a,o=-1){let r=[];for(let n of this.facet(Fx))for(let s of n(this,a,o))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let a=this.languageDataAt("wordChars",e);return rP(a.length?a[0]:"")}wordAt(e){let{text:a,from:o,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-o,i=e-o;for(;s>0;){let l=We(a,s,!1);if(n(a.slice(l,s))!=Ee.Word)break;s=l}for(;i<r;){let l=We(a,i);if(n(a.slice(i,l))!=Ee.Word)break;i=l}return s==i?null:V.range(s+o,i+o)}};Se.allowMultipleSelections=ic;Se.tabSize=j.define({combine:t=>t.length?t[0]:4});Se.lineSeparator=Nx;Se.readOnly=zx;Se.phrases=j.define({compare(t,e){let a=Object.keys(t),o=Object.keys(e);return a.length==o.length&&a.every(r=>t[r]==e[r])}});Se.languageData=Fx;Se.changeFilter=Hx;Se.transactionFilter=_x;Se.transactionExtender=qx;gl.reconfigure=le.define();function Pt(t,e,a={}){let o={};for(let r of t)for(let n of Object.keys(r)){let s=r[n],i=o[n];if(i===void 0)o[n]=s;else if(!(i===s||s===void 0))if(Object.hasOwnProperty.call(a,n))o[n]=a[n](i,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)o[r]===void 0&&(o[r]=e[r]);return o}var Gt=class{eq(e){return this==e}range(e,a=e){return Ls.create(e,a,this)}};Gt.prototype.startSide=Gt.prototype.endSide=0;Gt.prototype.point=!1;Gt.prototype.mapMode=st.TrackDel;function xc(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var Ls=class t{constructor(e,a,o){this.from=e,this.to=a,this.value=o}static create(e,a,o){return new t(e,a,o)}};function cc(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var hc=class t{constructor(e,a,o,r){this.from=e,this.to=a,this.value=o,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,a,o,r=0){let n=o?this.to:this.from;for(let s=r,i=n.length;;){if(s==i)return s;let l=s+i>>1,u=n[l]-e||(o?this.value[l].endSide:this.value[l].startSide)-a;if(l==s)return u>=0?s:i;u>=0?i=l:s=l+1}}between(e,a,o,r){for(let n=this.findIndex(a,-1e9,!0),s=this.findIndex(o,1e9,!1,n);n<s;n++)if(r(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,a){let o=[],r=[],n=[],s=-1,i=-1;for(let l=0;l<this.value.length;l++){let u=this.value[l],d=this.from[l]+e,f=this.to[l]+e,c,h;if(d==f){let p=a.mapPos(d,u.startSide,u.mapMode);if(p==null||(c=h=p,u.startSide!=u.endSide&&(h=a.mapPos(d,u.endSide),h<c)))continue}else if(c=a.mapPos(d,u.startSide),h=a.mapPos(f,u.endSide),c>h||c==h&&u.startSide>0&&u.endSide<=0)continue;(h-c||u.endSide-u.startSide)<0||(s<0&&(s=c),u.point&&(i=Math.max(i,h-c)),o.push(u),r.push(c-s),n.push(h-s))}return{mapped:o.length?new t(r,n,o,i):null,pos:s}}},Ce=class t{constructor(e,a,o,r){this.chunkPos=e,this.chunk=a,this.nextLayer=o,this.maxPoint=r}static create(e,a,o,r){return new t(e,a,o,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let a of this.chunk)e+=a.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:a=[],sort:o=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(a.length==0&&!s)return this;if(o&&(a=a.slice().sort(cc)),this.isEmpty)return a.length?t.of(a):this;let i=new Cl(this,null,-1).goto(0),l=0,u=[],d=new la;for(;i.value||l<a.length;)if(l<a.length&&(i.from-a[l].from||i.startSide-a[l].value.startSide)>=0){let f=a[l++];d.addInner(f.from,f.to,f.value)||u.push(f)}else i.rangeIndex==1&&i.chunkIndex<this.chunk.length&&(l==a.length||this.chunkEnd(i.chunkIndex)<a[l].from)&&(!s||r>this.chunkEnd(i.chunkIndex)||n<this.chunkPos[i.chunkIndex])&&d.addChunk(this.chunkPos[i.chunkIndex],this.chunk[i.chunkIndex])?i.nextChunk():((!s||r>i.to||n<i.from||s(i.from,i.to,i.value))&&(d.addInner(i.from,i.to,i.value)||u.push(Ls.create(i.from,i.to,i.value))),i.next());return d.finishInner(this.nextLayer.isEmpty&&!u.length?t.empty:this.nextLayer.update({add:u,filter:s,filterFrom:r,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let a=[],o=[],r=-1;for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],l=this.chunk[s],u=e.touchesRange(i,i+l.length);if(u===!1)r=Math.max(r,l.maxPoint),a.push(l),o.push(e.mapPos(i));else if(u===!0){let{mapped:d,pos:f}=l.map(i,e);d&&(r=Math.max(r,d.maxPoint),a.push(d),o.push(f))}}let n=this.nextLayer.map(e);return a.length==0?n:new t(o,a,n||t.empty,r)}between(e,a,o){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let n=this.chunkPos[r],s=this.chunk[r];if(a>=n&&e<=n+s.length&&s.between(n,e-n,a-n,o)===!1)return}this.nextLayer.between(e,a,o)}}iter(e=0){return Cs.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,a=0){return Cs.from(e).goto(a)}static compare(e,a,o,r,n=-1){let s=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=n),i=a.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=n),l=Dx(s,i,o),u=new ur(s,l,n),d=new ur(i,l,n);o.iterGaps((f,c,h)=>Tx(u,f,d,c,h,r)),o.empty&&o.length==0&&Tx(u,0,d,0,0,r)}static eq(e,a,o=0,r){r==null&&(r=999999999);let n=e.filter(d=>!d.isEmpty&&a.indexOf(d)<0),s=a.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let i=Dx(n,s),l=new ur(n,i,0).goto(o),u=new ur(s,i,0).goto(o);for(;;){if(l.to!=u.to||!pc(l.active,u.active)||l.point&&(!u.point||!xc(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(e,a,o,r,n=-1){let s=new ur(e,null,n).goto(a),i=a,l=s.openStart;for(;;){let u=Math.min(s.to,o);if(s.point){let d=s.activeForPoint(s.to),f=s.pointFrom<a?d.length+1:s.point.startSide<0?d.length:Math.min(d.length,l);r.point(i,u,s.point,d,f,s.pointRank),l=Math.min(s.openEnd(u),d.length)}else u>i&&(r.span(i,u,s.active,l),l=s.openEnd(u));if(s.to>o)return l+(s.point&&s.to>o?1:0);i=s.to,s.next()}}static of(e,a=!1){let o=new la;for(let r of e instanceof Ls?[e]:a?nP(e):e)o.add(r.from,r.to,r.value);return o.finish()}static join(e){if(!e.length)return t.empty;let a=e[e.length-1];for(let o=e.length-2;o>=0;o--)for(let r=e[o];r!=t.empty;r=r.nextLayer)a=new t(r.chunkPos,r.chunk,a,Math.max(r.maxPoint,a.maxPoint));return a}};Ce.empty=new Ce([],[],null,-1);function nP(t){if(t.length>1)for(let e=t[0],a=1;a<t.length;a++){let o=t[a];if(cc(e,o)>0)return t.slice().sort(cc);e=o}return t}Ce.empty.nextLayer=Ce.empty;var la=class t{finishChunk(e){this.chunks.push(new hc(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,a,o){this.addInner(e,a,o)||(this.nextLayer||(this.nextLayer=new t)).add(e,a,o)}addInner(e,a,o){let r=e-this.lastTo||o.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||o.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(a-this.chunkStart),this.last=o,this.lastFrom=e,this.lastTo=a,this.value.push(o),o.point&&(this.maxPoint=Math.max(this.maxPoint,a-e)),!0)}addChunk(e,a){if((e-this.lastTo||a.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,a.maxPoint),this.chunks.push(a),this.chunkPos.push(e);let o=a.value.length-1;return this.last=a.value[o],this.lastFrom=a.from[o]+e,this.lastTo=a.to[o]+e,!0}finish(){return this.finishInner(Ce.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let a=Ce.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,a}};function Dx(t,e,a){let o=new Map;for(let n of t)for(let s=0;s<n.chunk.length;s++)n.chunk[s].maxPoint<=0&&o.set(n.chunk[s],n.chunkPos[s]);let r=new Set;for(let n of e)for(let s=0;s<n.chunk.length;s++){let i=o.get(n.chunk[s]);i!=null&&(a?a.mapPos(i):i)==n.chunkPos[s]&&!a?.touchesRange(i,i+n.chunk[s].length)&&r.add(n.chunk[s])}return r}var Cl=class{constructor(e,a,o,r=0){this.layer=e,this.skip=a,this.minPoint=o,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,a=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,a,!1),this}gotoInner(e,a,o){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,o=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],a,!0);(!o||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,a){(this.to-e||this.endSide-a)<0&&this.gotoInner(e,a,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],a=this.layer.chunk[this.chunkIndex],o=e+a.from[this.rangeIndex];if(this.from=o,this.to=e+a.to[this.rangeIndex],this.value=a.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},Cs=class t{constructor(e){this.heap=e}static from(e,a=null,o=-1){let r=[];for(let n=0;n<e.length;n++)for(let s=e[n];!s.isEmpty;s=s.nextLayer)s.maxPoint>=o&&r.push(new Cl(s,a,o,n));return r.length==1?r[0]:new t(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,a=-1e9){for(let o of this.heap)o.goto(e,a);for(let o=this.heap.length>>1;o>=0;o--)tc(this.heap,o);return this.next(),this}forward(e,a){for(let o of this.heap)o.forward(e,a);for(let o=this.heap.length>>1;o>=0;o--)tc(this.heap,o);(this.to-e||this.value.endSide-a)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),tc(this.heap,0)}}};function tc(t,e){for(let a=t[e];;){let o=(e<<1)+1;if(o>=t.length)break;let r=t[o];if(o+1<t.length&&r.compare(t[o+1])>=0&&(r=t[o+1],o++),a.compare(r)<0)break;t[o]=a,t[e]=r,e=o}}var ur=class{constructor(e,a,o){this.minPoint=o,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Cs.from(e,a,o)}goto(e,a=-1e9){return this.cursor.goto(e,a),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=a,this.openStart=-1,this.next(),this}forward(e,a){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-a)<0;)this.removeActive(this.minActive);this.cursor.forward(e,a)}removeActive(e){dl(this.active,e),dl(this.activeTo,e),dl(this.activeRank,e),this.minActive=Ex(this.active,this.activeTo)}addActive(e){let a=0,{value:o,to:r,rank:n}=this.cursor;for(;a<this.activeRank.length&&(n-this.activeRank[a]||r-this.activeTo[a])>0;)a++;fl(this.active,a,o),fl(this.activeTo,a,r),fl(this.activeRank,a,n),e&&fl(e,a,this.cursor.from),this.minActive=Ex(this.active,this.activeTo)}next(){let e=this.to,a=this.point;this.point=null;let o=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),o&&dl(o,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(o),this.cursor.next();else if(a&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(o){this.openStart=0;for(let r=o.length-1;r>=0&&o[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let a=[];for(let o=this.active.length-1;o>=0&&!(this.activeRank[o]<this.pointRank);o--)(this.activeTo[o]>e||this.activeTo[o]==e&&this.active[o].endSide>=this.point.endSide)&&a.push(this.active[o]);return a.reverse()}openEnd(e){let a=0;for(let o=this.activeTo.length-1;o>=0&&this.activeTo[o]>e;o--)a++;return a}};function Tx(t,e,a,o,r,n){t.goto(e),a.goto(o);let s=o+r,i=o,l=o-e,u=!!n.boundChange;for(let d=!1;;){let f=t.to+l-a.to,c=f||t.endSide-a.endSide,h=c<0?t.to+l:a.to,p=Math.min(h,s);if(t.point||a.point?(t.point&&a.point&&xc(t.point,a.point)&&pc(t.activeForPoint(t.to),a.activeForPoint(a.to))||n.comparePoint(i,p,t.point,a.point),d=!1):(d&&n.boundChange(i),p>i&&!pc(t.active,a.active)&&n.compareRange(i,p,t.active,a.active),u&&p<s&&(f||t.openEnd(h)!=a.openEnd(h))&&(d=!0)),h>s)break;i=h,c<=0&&t.next(),c>=0&&a.next()}}function pc(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!=e[a]&&!xc(t[a],e[a]))return!1;return!0}function dl(t,e){for(let a=e,o=t.length-1;a<o;a++)t[a]=t[a+1];t.pop()}function fl(t,e,a){for(let o=t.length-1;o>=e;o--)t[o+1]=t[o];t[e]=a}function Ex(t,e){let a=-1,o=1e9;for(let r=0;r<e.length;r++)(e[r]-o||t[r].endSide-t[a].endSide)<0&&(a=r,o=e[r]);return a}function cr(t,e,a=t.length){let o=0;for(let r=0;r<a&&r<t.length;)t.charCodeAt(r)==9?(o+=e-o%e,r++):(o++,r=We(t,r));return o}function Wx(t,e,a,o){for(let r=0,n=0;;){if(n>=e)return r;if(r==t.length)break;n+=t.charCodeAt(r)==9?a-n%a:1,r=We(t,r)}return o===!0?-1:t.length}var Gx=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Lc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),$x=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Xt=class{constructor(e,a){this.rules=[];let{finish:o}=a||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,i,l,u){let d=[],f=/^@(\w+)\b/.exec(s[0]),c=f&&f[1]=="keyframes";if(f&&i==null)return l.push(s[0]+";");for(let h in i){let p=i[h];if(/&/.test(h))n(h.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");n(r(h),p,d,c)}else p!=null&&d.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(d.length||c)&&l.push((o&&!f&&!u?s.map(o):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(`
14
- `)}static newName(){let e=$x[Gx]||1;return $x[Gx]=e+1,"\u037C"+e.toString(36)}static mount(e,a,o){let r=e[Lc],n=o&&o.nonce;r?n&&r.setNonce(n):r=new Cc(e,n),r.mount(Array.isArray(a)?a:[a],e)}},Xx=new Map,Cc=class{constructor(e,a){let o=e.ownerDocument||e,r=o.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=Xx.get(o);if(n)return e[Lc]=n;this.sheet=new r.CSSStyleSheet,Xx.set(o,this)}else this.styleTag=o.createElement("style"),a&&this.styleTag.setAttribute("nonce",a);this.modules=[],e[Lc]=this}mount(e,a){let o=this.sheet,r=0,n=0;for(let s=0;s<e.length;s++){let i=e[s],l=this.modules.indexOf(i);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,i),o)for(let u=0;u<i.rules.length;u++)o.insertRule(i.rules[u],r++)}else{for(;n<l;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(o)a.adoptedStyleSheets.indexOf(this.sheet)<0&&(a.adoptedStyleSheets=[this.sheet,...a.adoptedStyleSheets]);else{let s="";for(let l=0;l<this.modules.length;l++)s+=this.modules[l].getRules()+`
15
- `;this.styleTag.textContent=s;let i=a.head||a;this.styleTag.parentNode!=i&&i.insertBefore(this.styleTag,i.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var to={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},mn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},sP=typeof navigator<"u"&&/Mac/.test(navigator.platform),iP=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Ze=0;Ze<10;Ze++)to[48+Ze]=to[96+Ze]=String(Ze);var Ze;for(Ze=1;Ze<=24;Ze++)to[Ze+111]="F"+Ze;var Ze;for(Ze=65;Ze<=90;Ze++)to[Ze]=String.fromCharCode(Ze+32),mn[Ze]=String.fromCharCode(Ze);var Ze;for(yl in to)mn.hasOwnProperty(yl)||(mn[yl]=to[yl]);var yl;function Kx(t){var e=sP&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||iP&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",a=!e&&t.key||(t.shiftKey?mn:to)[t.keyCode]||t.key||"Unidentified";return a=="Esc"&&(a="Escape"),a=="Del"&&(a="Delete"),a=="Left"&&(a="ArrowLeft"),a=="Up"&&(a="ArrowUp"),a=="Right"&&(a="ArrowRight"),a=="Down"&&(a="ArrowDown"),a}function ye(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,a=arguments[1];if(a&&typeof a=="object"&&a.nodeType==null&&!Array.isArray(a)){for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var r=a[o];typeof r=="string"?t.setAttribute(o,r):r!=null&&(t[o]=r)}e++}for(;e<arguments.length;e++)jx(t,arguments[e]);return t}function jx(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)jx(t,e[a]);else throw new RangeError("Unsupported child node: "+e)}var Lt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Pc=typeof document<"u"?document:{documentElement:{style:{}}},Rc=/Edge\/(\d+)/.exec(Lt.userAgent),DL=/MSIE \d/.test(Lt.userAgent),Dc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Lt.userAgent),Yl=!!(DL||Dc||Rc),Zx=!Yl&&/gecko\/(\d+)/i.test(Lt.userAgent),yc=!Yl&&/Chrome\/(\d+)/.exec(Lt.userAgent),Yx="webkitFontSmoothing"in Pc.documentElement.style,Tc=!Yl&&/Apple Computer/.test(Lt.vendor),Jx=Tc&&(/Mobile\/\w+/.test(Lt.userAgent)||Lt.maxTouchPoints>2),Y={mac:Jx||/Mac/.test(Lt.platform),windows:/Win/.test(Lt.platform),linux:/Linux|X11/.test(Lt.platform),ie:Yl,ie_version:DL?Pc.documentMode||6:Dc?+Dc[1]:Rc?+Rc[1]:0,gecko:Zx,gecko_version:Zx?+(/Firefox\/(\d+)/.exec(Lt.userAgent)||[0,0])[1]:0,chrome:!!yc,chrome_version:yc?+yc[1]:0,ios:Jx,android:/Android\b/.test(Lt.userAgent),webkit:Yx,webkit_version:Yx?+(/\bAppleWebKit\/(\d+)/.exec(Lt.userAgent)||[0,0])[1]:0,safari:Tc,safari_version:Tc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Lt.userAgent)||[0,0])[1]:0,tabSize:Pc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ch(t,e){for(let a in t)a=="class"&&e.class?e.class+=" "+t.class:a=="style"&&e.style?e.style+=";"+t.style:e[a]=t[a];return e}var El=Object.create(null);function yh(t,e,a){if(t==e)return!0;t||(t=El),e||(e=El);let o=Object.keys(t),r=Object.keys(e);if(o.length-(a&&o.indexOf(a)>-1?1:0)!=r.length-(a&&r.indexOf(a)>-1?1:0))return!1;for(let n of o)if(n!=a&&(r.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function lP(t,e){for(let a=t.attributes.length-1;a>=0;a--){let o=t.attributes[a].name;e[o]==null&&t.removeAttribute(o)}for(let a in e){let o=e[a];a=="style"?t.style.cssText=o:t.getAttribute(a)!=o&&t.setAttribute(a,o)}}function Qx(t,e,a){let o=!1;if(e)for(let r in e)a&&r in a||(o=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(a)for(let r in a)e&&e[r]==a[r]||(o=!0,r=="style"?t.style.cssText=a[r]:t.setAttribute(r,a[r]));return o}function uP(t){let e=Object.create(null);for(let a=0;a<t.attributes.length;a++){let o=t.attributes[a];e[o.name]=o.value}return e}var Da=class{eq(e){return!1}updateDOM(e,a,o){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,a,o){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},lt=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(lt||(lt={})),ce=class extends Gt{constructor(e,a,o,r){super(),this.startSide=e,this.endSide=a,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Ts(e)}static widget(e){let a=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return a+=o&&!e.inlineOrder?a>0?3e8:-4e8:a>0?1e8:-1e8,new gr(e,a,a,o,e.widget||null,!1)}static replace(e){let a=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:n,end:s}=TL(e,a);o=(n?a?-3e8:-1:5e8)-1,r=(s?a?2e8:1:-6e8)+1}return new gr(e,o,r,a,e.widget||null,!0)}static line(e){return new Es(e)}static set(e,a=!1){return Ce.of(e,a)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};ce.none=Ce.empty;var Ts=class t extends ce{constructor(e){let{start:a,end:o}=TL(e);super(a?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ch(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||El}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&yh(this.attrs,e.attrs)}range(e,a=e){if(e>=a)throw new RangeError("Mark decorations may not be empty");return super.range(e,a)}};Ts.prototype.point=!1;var Es=class t extends ce{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&yh(this.spec.attributes,e.spec.attributes)}range(e,a=e){if(a!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,a)}};Es.prototype.mapMode=st.TrackBefore;Es.prototype.point=!0;var gr=class t extends ce{constructor(e,a,o,r,n,s){super(a,o,n,e),this.block=r,this.isReplace=s,this.mapMode=r?a<=0?st.TrackBefore:st.TrackAfter:st.TrackDel}get type(){return this.startSide!=this.endSide?lt.WidgetRange:this.startSide<=0?lt.WidgetBefore:lt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&dP(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,a=e){if(this.isReplace&&(e>a||e==a&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&a!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,a)}};gr.prototype.point=!0;function TL(t,e=!1){let{inclusiveStart:a,inclusiveEnd:o}=t;return a==null&&(a=t.inclusive),o==null&&(o=t.inclusive),{start:a??e,end:o??e}}function dP(t,e){return t==e||!!(t&&e&&t.compare(e))}function wn(t,e,a,o=0){let r=a.length-1;r>=0&&a[r]+o>=t?a[r]=Math.max(a[r],e):a.push(t,e)}var Bl=class t extends Gt{constructor(e,a,o){super(),this.tagName=e,this.attributes=a,this.rank=o}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&yh(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||El,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,a=!1){return Ce.of(e,a)}};Bl.prototype.startSide=Bl.prototype.endSide=-1;function Bs(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Ec(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Is(t,e){if(!e.anchorNode)return!1;try{return Ec(t,e.anchorNode)}catch{return!1}}function Rl(t){return t.nodeType==3?Os(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Ss(t,e,a,o){return a?eL(t,e,a,o,-1)||eL(t,e,a,o,1):!1}function ko(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Ol(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function eL(t,e,a,o,r){for(;;){if(t==a&&e==o)return!0;if(e==(r<0?0:ro(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=ko(t)+(r<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?ro(t):0}else return!1}}function ro(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Fl(t,e){let a=e?t.left:t.right;return{left:a,right:a,top:t.top,bottom:t.bottom}}function fP(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function EL(t,e){let a=e.width/t.offsetWidth,o=e.height/t.offsetHeight;return(a>.995&&a<1.005||!isFinite(a)||Math.abs(e.width-t.offsetWidth)<1)&&(a=1),(o>.995&&o<1.005||!isFinite(o)||Math.abs(e.height-t.offsetHeight)<1)&&(o=1),{scaleX:a,scaleY:o}}function cP(t,e,a,o,r,n,s,i){let l=t.ownerDocument,u=l.defaultView||window;for(let d=t,f=!1;d&&!f;)if(d.nodeType==1){let c,h=d==l.body,p=1,m=1;if(h)c=fP(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let C=d.getBoundingClientRect();({scaleX:p,scaleY:m}=EL(d,C)),c={left:C.left,right:C.left+d.clientWidth*p,top:C.top,bottom:C.top+d.clientHeight*m}}let g=0,x=0;if(r=="nearest")e.top<c.top+s?(x=e.top-(c.top+s),a>0&&e.bottom>c.bottom+x&&(x=e.bottom-c.bottom+s)):e.bottom>c.bottom-s&&(x=e.bottom-c.bottom+s,a<0&&e.top-x<c.top&&(x=e.top-(c.top+s)));else{let C=e.bottom-e.top,L=c.bottom-c.top;x=(r=="center"&&C<=L?e.top+C/2-L/2:r=="start"||r=="center"&&a<0?e.top-s:e.bottom-L+s)-c.top}if(o=="nearest"?e.left<c.left+n?(g=e.left-(c.left+n),a>0&&e.right>c.right+g&&(g=e.right-c.right+n)):e.right>c.right-n&&(g=e.right-c.right+n,a<0&&e.left<c.left+g&&(g=e.left-(c.left+n))):g=(o=="center"?e.left+(e.right-e.left)/2-(c.right-c.left)/2:o=="start"==i?e.left-n:e.right-(c.right-c.left)+n)-c.left,g||x)if(h)u.scrollBy(g,x);else{let C=0,L=0;if(x){let y=d.scrollTop;d.scrollTop+=x/m,L=(d.scrollTop-y)*m}if(g){let y=d.scrollLeft;d.scrollLeft+=g/p,C=(d.scrollLeft-y)*p}e={left:e.left-C,top:e.top-L,right:e.right-C,bottom:e.bottom-L},C&&Math.abs(C-g)<1&&(o="nearest"),L&&Math.abs(L-x)<1&&(r="nearest")}if(h)break;(e.top<c.top||e.bottom>c.bottom||e.left<c.left||e.right>c.right)&&(e={left:Math.max(e.left,c.left),right:Math.min(e.right,c.right),top:Math.max(e.top,c.top),bottom:Math.min(e.bottom,c.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function BL(t,e=!0){let a=t.ownerDocument,o=null,r=null;for(let n=t.parentNode;n&&!(n==a.body||(!e||o)&&r);)if(n.nodeType==1)!r&&n.scrollHeight>n.clientHeight&&(r=n),e&&!o&&n.scrollWidth>n.clientWidth&&(o=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:o,y:r}}var Bc=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:a,focusNode:o}=e;this.set(a,Math.min(e.anchorOffset,a?ro(a):0),o,Math.min(e.focusOffset,o?ro(o):0))}set(e,a,o,r){this.anchorNode=e,this.anchorOffset=a,this.focusNode=o,this.focusOffset=r}},hr=null;Y.safari&&Y.safari_version>=26&&(hr=!1);function OL(t){if(t.setActive)return t.setActive();if(hr)return t.focus(hr);let e=[];for(let a=t;a&&(e.push(a,a.scrollTop,a.scrollLeft),a!=a.ownerDocument);a=a.parentNode);if(t.focus(hr==null?{get preventScroll(){return hr={preventScroll:!0},!0}}:void 0),!hr){hr=!1;for(let a=0;a<e.length;){let o=e[a++],r=e[a++],n=e[a++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=n&&(o.scrollLeft=n)}}}var tL;function Os(t,e,a=e){let o=tL||(tL=document.createRange());return o.setEnd(t,a),o.setStart(t,e),o}function bn(t,e,a,o){let r={key:e,code:e,keyCode:a,which:a,cancelable:!0};o&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=o);let n=new KeyboardEvent("keydown",r);n.synthetic=!0,t.dispatchEvent(n);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,t.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}function hP(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function pP(t,e){let a=e.focusNode,o=e.focusOffset;if(!a||e.anchorNode!=a||e.anchorOffset!=o)return!1;for(o=Math.min(o,ro(a));;)if(o){if(a.nodeType!=1)return!1;let r=a.childNodes[o-1];r.contentEditable=="false"?o--:(a=r,o=ro(a))}else{if(a==t)return!0;o=ko(a),a=a.parentNode}}function FL(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function NL(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o>0)return{node:a,offset:o};if(a.nodeType==1&&o>0){if(a.contentEditable=="false")return null;a=a.childNodes[o-1],o=ro(a)}else if(a.parentNode&&!Ol(a))o=ko(a),a=a.parentNode;else return null}}function HL(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o<a.nodeValue.length)return{node:a,offset:o};if(a.nodeType==1&&o<a.childNodes.length){if(a.contentEditable=="false")return null;a=a.childNodes[o],o=0}else if(a.parentNode&&!Ol(a))o=ko(a)+1,a=a.parentNode;else return null}}var Ra=class t{constructor(e,a,o=!0){this.node=e,this.offset=a,this.precise=o}static before(e,a){return new t(e.parentNode,ko(e),a)}static after(e,a){return new t(e.parentNode,ko(e)+1,a)}},be=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(be||(be={})),xr=be.LTR,wh=be.RTL;function _L(t){let e=[];for(let a=0;a<t.length;a++)e.push(1<<+t[a]);return e}var mP=_L("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),gP=_L("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Oc=Object.create(null),Pa=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),a=t.charCodeAt(1);Oc[e]=a,Oc[a]=-e}function qL(t){return t<=247?mP[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?gP[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var xP=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,Zt=class{get dir(){return this.level%2?wh:xr}constructor(e,a,o){this.from=e,this.to=a,this.level=o}side(e,a){return this.dir==a==e?this.to:this.from}forward(e,a){return e==(this.dir==a)}static find(e,a,o,r){let n=-1;for(let s=0;s<e.length;s++){let i=e[s];if(i.from<=a&&i.to>=a){if(i.level==o)return s;(n<0||(r!=0?r<0?i.from<a:i.to>a:e[n].level>i.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function zL(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++){let o=t[a],r=e[a];if(o.from!=r.from||o.to!=r.to||o.direction!=r.direction||!zL(o.inner,r.inner))return!1}return!0}var ve=[];function LP(t,e,a,o,r){for(let n=0;n<=o.length;n++){let s=n?o[n-1].to:e,i=n<o.length?o[n].from:a,l=n?256:r;for(let u=s,d=l,f=l;u<i;u++){let c=qL(t.charCodeAt(u));c==512?c=d:c==8&&f==4&&(c=16),ve[u]=c==4?2:c,c&7&&(f=c),d=c}for(let u=s,d=l,f=l;u<i;u++){let c=ve[u];if(c==128)u<i-1&&d==ve[u+1]&&d&24?c=ve[u]=d:ve[u]=256;else if(c==64){let h=u+1;for(;h<i&&ve[h]==64;)h++;let p=u&&d==8||h<a&&ve[h]==8?f==1?1:8:256;for(let m=u;m<h;m++)ve[m]=p;u=h-1}else c==8&&f==1&&(ve[u]=1);d=c,c&7&&(f=c)}}}function CP(t,e,a,o,r){let n=r==1?2:1;for(let s=0,i=0,l=0;s<=o.length;s++){let u=s?o[s-1].to:e,d=s<o.length?o[s].from:a;for(let f=u,c,h,p;f<d;f++)if(h=Oc[c=t.charCodeAt(f)])if(h<0){for(let m=i-3;m>=0;m-=3)if(Pa[m+1]==-h){let g=Pa[m+2],x=g&2?r:g&4?g&1?n:r:0;x&&(ve[f]=ve[Pa[m]]=x),i=m;break}}else{if(Pa.length==189)break;Pa[i++]=f,Pa[i++]=c,Pa[i++]=l}else if((p=ve[f])==2||p==1){let m=p==r;l=m?0:1;for(let g=i-3;g>=0;g-=3){let x=Pa[g+2];if(x&2)break;if(m)Pa[g+2]|=2;else{if(x&4)break;Pa[g+2]|=4}}}}}function yP(t,e,a,o){for(let r=0,n=o;r<=a.length;r++){let s=r?a[r-1].to:t,i=r<a.length?a[r].from:e;for(let l=s;l<i;){let u=ve[l];if(u==256){let d=l+1;for(;;)if(d==i){if(r==a.length)break;d=a[r++].to,i=r<a.length?a[r].from:e}else if(ve[d]==256)d++;else break;let f=n==1,c=(d<e?ve[d]:o)==1,h=f==c?f?1:2:o;for(let p=d,m=r,g=m?a[m-1].to:t;p>l;)p==g&&(p=a[--m].from,g=m?a[m-1].to:t),ve[--p]=h;l=d}else n=u,l++}}}function Fc(t,e,a,o,r,n,s){let i=o%2?2:1;if(o%2==r%2)for(let l=e,u=0;l<a;){let d=!0,f=!1;if(u==n.length||l<n[u].from){let m=ve[l];m!=i&&(d=!1,f=m==16)}let c=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u<n.length&&p==n[u].from){if(f)break e;let m=n[u];if(!d)for(let g=m.to,x=u+1;;){if(g==a)break e;if(x<n.length&&n[x].from==g)g=n[x++].to;else{if(ve[g]==i)break e;break}}if(u++,c)c.push(m);else{m.from>l&&s.push(new Zt(l,m.from,h));let g=m.direction==xr!=!(h%2);Nc(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.to}p=m.to}else{if(p==a||(d?ve[p]!=i:ve[p]==i))break;p++}c?Fc(t,l,p,o+1,r,c,s):l<p&&s.push(new Zt(l,p,h)),l=p}else for(let l=a,u=n.length;l>e;){let d=!0,f=!1;if(!u||l>n[u-1].to){let m=ve[l-1];m!=i&&(d=!1,f=m==16)}let c=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u&&p==n[u-1].to){if(f)break e;let m=n[--u];if(!d)for(let g=m.from,x=u;;){if(g==e)break e;if(x&&n[x-1].to==g)g=n[--x].from;else{if(ve[g-1]==i)break e;break}}if(c)c.push(m);else{m.to<l&&s.push(new Zt(m.to,l,h));let g=m.direction==xr!=!(h%2);Nc(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.from}p=m.from}else{if(p==e||(d?ve[p-1]!=i:ve[p-1]==i))break;p--}c?Fc(t,p,l,o+1,r,c,s):p<l&&s.push(new Zt(p,l,h)),l=p}}function Nc(t,e,a,o,r,n,s){let i=e%2?2:1;LP(t,r,n,o,i),CP(t,r,n,o,i),yP(r,n,o,i),Fc(t,r,n,e,a,o,s)}function wP(t,e,a){if(!t)return[new Zt(0,0,e==wh?1:0)];if(e==xr&&!a.length&&!xP.test(t))return UL(t.length);if(a.length)for(;t.length>ve.length;)ve[ve.length]=256;let o=[],r=e==xr?0:1;return Nc(t,r,r,a,0,t.length,o),o}function UL(t){return[new Zt(0,t,0)]}var VL="";function bP(t,e,a,o,r){var n;let s=o.head-t.from,i=Zt.find(e,s,(n=o.bidiLevel)!==null&&n!==void 0?n:-1,o.assoc),l=e[i],u=l.side(r,a);if(s==u){let c=i+=r?1:-1;if(c<0||c>=e.length)return null;l=e[i=c],s=l.side(!r,a),u=l.side(r,a)}let d=We(t.text,s,l.forward(r,a));(d<l.from||d>l.to)&&(d=u),VL=t.text.slice(Math.min(s,d),Math.max(s,d));let f=i==(r?e.length-1:0)?null:e[i+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)<l.level?V.cursor(f.side(!r,a)+t.from,f.forward(r,a)?1:-1,f.level):V.cursor(d+t.from,l.forward(r,a)?-1:1,l.level)}function IP(t,e,a){for(let o=e;o<a;o++){let r=qL(t.charCodeAt(o));if(r==1)return xr;if(r==2||r==4)return wh}return xr}var WL=j.define(),GL=j.define(),$L=j.define(),XL=j.define(),Hc=j.define(),KL=j.define(),jL=j.define(),bh=j.define(),Ih=j.define(),ZL=j.define({combine:t=>t.some(e=>e)}),YL=j.define({combine:t=>t.some(e=>e)}),JL=j.define(),vs=class t{constructor(e,a,o,r,n,s=!1){this.range=e,this.y=a,this.x=o,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(V.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},wl=le.define({map:(t,e)=>t.map(e)}),QL=le.define();function it(t,e,a){let o=t.facet(XL);o.length?o[0](e):window.onerror&&window.onerror(String(e),a,void 0,void 0,e)||(a?console.error(a+":",e):console.error(e))}var ao=j.define({combine:t=>t.length?t[0]:!0}),SP=0,xn=j.define({combine(t){return t.filter((e,a)=>{for(let o=0;o<a;o++)if(t[o].plugin==e.plugin)return!1;return!0})}}),Ge=class t{constructor(e,a,o,r,n){this.id=e,this.create=a,this.domEventHandlers=o,this.domEventObservers=r,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(xn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(xn.of({plugin:this,arg:e}))}static define(e,a){let{eventHandlers:o,eventObservers:r,provide:n,decorations:s}=a||{};return new t(SP++,e,o,r,i=>{let l=[];return s&&l.push(Jl.of(u=>{let d=u.plugin(i);return d?s(d):ce.none})),n&&l.push(n(i)),l})}static fromClass(e,a){return t.define((o,r)=>new e(o,r),a)}},ks=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(o){if(it(a.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(a){it(e.state,a,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var a;if(!((a=this.value)===null||a===void 0)&&a.destroy)try{this.value.destroy()}catch(o){it(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},eC=j.define(),Sh=j.define(),Jl=j.define(),tC=j.define(),vh=j.define(),Fs=j.define(),aC=j.define();function aL(t,e){let a=t.state.facet(aC);if(!a.length)return a;let o=a.map(n=>n instanceof Function?n(t):n),r=[];return Ce.spans(o,e.from,e.to,{point(){},span(n,s,i,l){let u=n-e.from,d=s-e.from,f=r;for(let c=i.length-1;c>=0;c--,l--){let h=i[c].spec.bidiIsolate,p;if(h==null&&(h=IP(e.text,u,d)),l>0&&f.length&&(p=f[f.length-1]).to==u&&p.direction==h)p.to=d,f=p.inner;else{let m={from:u,to:d,direction:h,inner:[]};f.push(m),f=m.inner}}}}),r}var oC=j.define();function kh(t){let e=0,a=0,o=0,r=0;for(let n of t.state.facet(oC)){let s=n(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(a=Math.max(a,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:a,top:o,bottom:r}}var ws=j.define(),fa=class t{constructor(e,a,o,r){this.fromA=e,this.toA=a,this.fromB=o,this.toB=r}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let a=e.length,o=this;for(;a>0;a--){let r=e[a-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(a-1,1)}}return e.splice(a,0,o),e}static extendWithRanges(e,a){if(a.length==0)return e;let o=[];for(let r=0,n=0,s=0;;){let i=r<e.length?e[r].fromB:1e9,l=n<a.length?a[n]:1e9,u=Math.min(i,l);if(u==1e9)break;let d=u+s,f=u,c=d;for(;;)if(n<a.length&&a[n]<=f){let h=a[n+1];n+=2,f=Math.max(f,h);for(let p=r;p<e.length&&e[p].fromB<=f;p++)s=e[p].toA-e[p].toB;c=Math.max(c,h+s)}else if(r<e.length&&e[r].fromB<=f){let h=e[r++];f=Math.max(f,h.toB),c=Math.max(c,h.toA),s=h.toA-h.toB}else break;o.push(new t(d,c,u,f))}return o}},Nl=class t{constructor(e,a,o){this.view=e,this.state=a,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=xt.empty(this.startState.doc.length);for(let n of o)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,i,l)=>r.push(new fa(n,s,i,l))),this.changedRanges=r}static create(e,a,o){return new t(e,a,o)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},vP=[],Be=class{constructor(e,a,o=0){this.dom=e,this.length=a,this.flags=o,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return vP}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let a=this.domAttrs;a&&lP(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,a=this.posAtStart){let o=a;for(let r of this.children){if(r==e)return o;o+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,a){return null}domPosFor(e,a){let o=ko(this.dom),r=this.length?e>0:a>0;return new Ra(this.parent.dom,o+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Sn)return e;return null}static get(e){return e.cmTile}},In=class extends Be{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let a=this.dom,o=null,r,n=e?.node==a?e:null,s=0;for(let i of this.children){if(i.sync(e),s+=i.length+i.breakAfter,r=o?o.nextSibling:a.firstChild,n&&r!=i.dom&&(n.written=!0),i.dom.parentNode==a)for(;r&&r!=i.dom;)r=oL(r);else a.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:a.firstChild,n&&r&&(n.written=!0);r;)r=oL(r);this.length=s}};function oL(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var Sn=class extends In{constructor(e,a){super(a),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let a=Be.get(e);if(a&&this.owns(a))return a;e=e.parentNode}}blockTiles(e){for(let a=[],o=this,r=0,n=0;;)if(r==o.children.length){if(!a.length)return;o=o.parent,o.breakAfter&&n++,r=a.pop()}else{let s=o.children[r++];if(s instanceof oo)a.push(r),o=s,r=0;else{let i=n+s.length,l=e(s,n);if(l!==void 0)return l;n=i+s.breakAfter}}}resolveBlock(e,a){let o,r=-1,n,s=-1;if(this.blockTiles((i,l)=>{let u=l+i.length;if(e>=l&&e<=u){if(i.isWidget()&&a>=-1&&a<=1){if(i.flags&32)return!0;i.flags&16&&(o=void 0)}(l<e||e==u&&(a<-1?i.length:i.covers(1)))&&(!o||!i.isWidget()&&o.isWidget())&&(o=i,r=e-l),(u>e||e==l&&(a>1?i.length:i.covers(-1)))&&(!n||!i.isWidget()&&n.isWidget())&&(n=i,s=e-l)}}),!o&&!n)throw new Error("No tile at position "+e);return o&&a<0||!n?{tile:o,offset:r}:{tile:n,offset:s}}},oo=class t extends In{constructor(e,a){super(e),this.wrapper=a}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},vn=class t extends In{constructor(e,a){super(e),this.attrs=a}isLine(){return!0}static start(e,a,o){let r=new t(a||document.createElement("div"),e);return(!a||!o)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,a,o){let r=null,n=-1,s=null,i=-1;function l(d,f){for(let c=0,h=0;c<d.children.length&&h<=f;c++){let p=d.children[c],m=h+p.length;m>=f&&(p.isComposite()?l(p,f-h):(!s||s.isHidden&&(a>0||o&&AP(s,p)))&&(m>f||p.flags&32)?(s=p,i=f-h):(h<f||p.flags&16&&!p.isHidden)&&(r=p,n=f-h)),h=m}}l(this,e);let u=(a<0?r:s)||r||s;return u?{tile:u,offset:u==r?n:i}:null}coordsIn(e,a){let o=this.resolveInline(e,a,!0);return o?o.tile.coordsIn(Math.max(0,o.offset),a):kP(this)}domIn(e,a){let o=this.resolveInline(e,a);if(o){let{tile:r,offset:n}=o;if(this.dom.contains(r.dom))return r.isText()?new Ra(r.dom,Math.min(r.dom.nodeValue.length,n)):r.domPosFor(n,r.flags&16?1:r.flags&32?-1:a);let s=o.tile.parent,i=!1;for(let l of s.children){if(i)return new Ra(l.dom,0);l==o.tile&&(i=!0)}}return new Ra(this.dom,0)}};function kP(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let a=Rl(e);return a[a.length-1]||null}function AP(t,e){let a=t.coordsIn(0,1),o=e.coordsIn(0,1);return a&&o&&o.top<a.bottom}var Rt=class t extends In{constructor(e,a){super(e),this.mark=a}get domAttrs(){return this.mark.attrs}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},pr=class t extends Be{constructor(e,a){super(e,a.length),this.text=a}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,a){let o=this.dom.nodeValue.length;e>o&&(e=o);let r=e,n=e,s=0;e==0&&a<0||e==o&&a>=0?Y.chrome||Y.gecko||(e?(r--,s=1):n<o&&(n++,s=-1)):a<0?r--:n<o&&n++;let i=Os(this.dom,r,n).getClientRects();if(!i.length)return null;let l=i[(s?s<0:a>=0)?0:i.length-1];return Y.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(i,u=>u.width)||l),s?Fl(l,s<0):l||null}static of(e,a){let o=new t(a||document.createTextNode(e),e);return a||(o.flags|=2),o}},Lr=class t extends Be{constructor(e,a,o,r){super(e,a,r),this.widget=o}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,a){return this.coordsInWidget(e,a,!1)}coordsInWidget(e,a,o){let r=this.widget.coordsAt(this.dom,e,a);if(r)return r;if(o)return Fl(this.dom.getBoundingClientRect(),this.length?e==0:a<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let i=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=i?n.length-1:0;s=n[l],!(e>0?l==0:l==n.length-1||s.top<s.bottom);l+=i?-1:1);return Fl(s,!i)}}get overrideDOMText(){if(!this.length)return xe.empty;let{root:e}=this;if(!e)return xe.empty;let a=this.posAtStart;return e.view.state.doc.slice(a,a+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,a,o,r,n){return n||(n=e.toDOM(a),e.editable||(n.contentEditable="false")),new t(n,o,e,r)}},kn=class extends Be{constructor(e){let a=document.createElement("img");a.className="cm-widgetBuffer",a.setAttribute("aria-hidden","true"),super(a,0,e)}get isHidden(){return!0}get overrideDOMText(){return xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}},_c=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,a,o){let{tile:r,index:n,beforeBreak:s,parents:i}=this;for(;e||a>0;)if(r.isComposite())if(s){if(!e)break;o&&o.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!i.length)break;o&&o.leave(r),s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++}else{let l=r.children[n],u=l.breakAfter;(a>0?l.length<=e:l.length<e)&&(!o||o.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!u,n++,e-=l.length):(i.push({tile:r,index:n}),r=l,n=0,o&&l.isComposite()&&o.enter(l))}else if(n==r.length)s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++;else if(e){let l=Math.min(e,r.length-n);o&&o.skip(r,n,n+l),e-=l,n+=l}else break;return this.tile=r,this.index=n,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},qc=class{constructor(e,a,o,r){this.from=e,this.to=a,this.wrapper=o,this.rank=r}},zc=class{constructor(e,a,o){this.cache=e,this.root=a,this.blockWrappers=o,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,a,o,r){var n;this.flushBuffer();let s=this.ensureMarks(a,o),i=s.lastChild;if(i&&i.isText()&&!(i.flags&8)&&i.length+e.length<512){this.cache.reused.set(i,2);let l=s.children[s.children.length-1]=new pr(i.dom,i.text+e);l.parent=s}else s.append(r||pr.of(e,(n=this.cache.find(pr))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,a){let o=this.curLine;o.dom!=a.line.dom&&(o.setDOM(this.cache.reused.has(a.line)?wc(a.line.dom):a.line.dom),this.cache.reused.set(a.line,2));let r=o;for(let i=a.marks.length-1;i>=0;i--){let l=a.marks[i],u=r.lastChild;if(u instanceof Rt&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(wc(l.dom)),r=u;else{if(this.cache.reused.get(l)){let f=Be.get(l.dom);f&&f.setDOM(wc(l.dom))}let d=Rt.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let n=Be.get(e.text);n&&this.cache.reused.set(n,2);let s=new pr(e.text,e.text.nodeValue);s.flags|=8,this.pos=e.range.toB,r.append(s)}addInlineWidget(e,a,o){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(a,o);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,a,o){this.flushBuffer(),this.ensureMarks(a,o).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let a=this.afterWidget||this.lastBlock;a.length+=e,this.pos+=e}addLineStart(e,a){var o;e||(e=rC);let r=vn.start(e,a||((o=this.cache.find(vn))===null||o===void 0?void 0:o.dom),!!a);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,a){var o;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],i;if(a>0&&(i=r.lastChild)&&i instanceof Rt&&i.mark.eq(s))r=i,a--;else{let l=Rt.of(s,(o=this.cache.find(Rt,u=>u.mark.eq(s)))===null||o===void 0?void 0:o.dom);r.append(l),r=l,a=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!rL(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Y.ios&&rL(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(bc,0,32)||new Lr(bc.toDOM(),0,bc,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let a=e.rank*102+e.value.rank,o=new qc(e.from,e.to,e.value,a),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-o.rank||this.wrappers[r-1].to-o.to)<0;)r--;this.wrappers.splice(r,0,o)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let a=this.root;for(let o of this.wrappers){let r=a.lastChild;if(o.from<this.pos&&r instanceof oo&&r.wrapper.eq(o.wrapper))a=r;else{let n=oo.of(o.wrapper,(e=this.cache.find(oo,s=>s.wrapper.eq(o.wrapper)))===null||e===void 0?void 0:e.dom);a.append(n),a=n}}return a}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let a=2|(e<0?16:32),o=this.cache.find(kn,void 0,1);return o&&(o.flags=a),o||new kn(a)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Uc=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let i=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,i)}let a=Math.min(this.text.length,this.textOff+e),o=this.text.slice(this.textOff,a);return this.textOff=a,o}},Hl=[Lr,vn,pr,Rt,kn,oo,Sn];for(let t=0;t<Hl.length;t++)Hl[t].bucket=t;var Vc=class{constructor(e){this.view=e,this.buckets=Hl.map(()=>[]),this.index=Hl.map(()=>0),this.reused=new Map}add(e){let a=e.constructor.bucket,o=this.buckets[a];o.length<6?o.push(e):o[this.index[a]=(this.index[a]+1)%6]=e}find(e,a,o=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let i=n.length-1;i>=0;i--){let l=(i+s)%n.length,u=n[l];if((!a||a(u))&&!this.reused.has(u))return n.splice(l,1),l<s&&this.index[r]--,this.reused.set(u,o),u}return null}findWidget(e,a,o){let r=this.buckets[0];if(r.length)for(let n=0,s=0;;n++){if(n==r.length){if(s)return null;s=1,n=0}let i=r[n];if(!this.reused.has(i)&&(s==0?i.widget.compare(e):i.widget.constructor==e.constructor&&e.updateDOM(i.dom,this.view,i.widget)))return r.splice(n,1),n<this.index[0]&&this.index[0]--,i.widget==e&&i.length==a&&(i.flags&497)==o?(this.reused.set(i,1),i):(this.reused.set(i,2),new Lr(i.dom,a,e,i.flags&-498|o))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,a=2){if(!this.reused.has(e))return this.reused.set(e,a),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},Wc=class{constructor(e,a,o,r,n){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new Vc(e),this.text=new Uc(e.state.doc),this.builder=new zc(this.cache,new Sn(e,e.contentDOM),Ce.iter(o)),this.cache.reused.set(a,2),this.old=new _c(a),this.reuseWalker={skip:(s,i,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,a){let o=a&&this.getCompositionContext(a.text);for(let r=0,n=0,s=0;;){let i=s<e.length?e[s++]:null,l=i?i.fromA:this.old.root.length;if(l>r){let u=l-r;this.preserve(u,!s,!i),r=l,n+=u}if(!i)break;a&&i.fromA<=a.range.fromA&&i.toA>=a.range.toA?(this.forward(i.fromA,a.range.fromA,a.range.fromA<a.range.toA?1:-1),this.emit(n,a.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(a,o),this.text.skip(a.range.toB-a.range.fromB),this.forward(a.range.fromA,i.toA),this.emit(a.range.toB,i.toB)):(this.forward(i.fromA,i.toA),this.emit(n,i.toB)),n=i.toB,r=i.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,a,o){let r=RP(this.old),n=this.openMarks;this.old.advance(e,o?1:-1,{skip:(s,i,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-i);else{let u=l>0||i<s.length?Lr.of(s.widget,this.view,l-i,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);u.flags&256?(u.flags&=-2,this.builder.addBlockWidget(u)):(this.builder.ensureLine(null),this.builder.addInlineWidget(u,r,n),n=r.length)}else if(s.isText())this.builder.ensureLine(null),!i&&l==s.length&&!this.cache.reused.has(s)?this.builder.addText(s.text,r,n,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(i,l),r,n)),n=r.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof kn)this.cache.add(s);else if(s instanceof Rt)this.builder.ensureLine(null),this.builder.addMark(s,r,n),this.cache.reused.set(s,1),n=r.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof Rt&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof Rt&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,a){let o=null,r=this.builder,n=0,s=Ce.spans(this.decorations,e,a,{point:(i,l,u,d,f,c)=>{if(u instanceof gr){if(this.disallowBlockEffectsFor[c]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(i).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,f>d.length)r.continueWidget(l-i);else{let h=u.widget||(u.block?Ao.block:Ao.inline),p=MP(u),m=this.cache.findWidget(h,l-i,p)||Lr.of(h,this.view,l-i,p);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(o),r.addBlockWidget(m)):(r.ensureLine(o),r.addInlineWidget(m,d,f))}o=null}else o=PP(o,u);l>i&&this.text.skip(l-i)},span:(i,l,u,d)=>{for(let f=i;f<l;){let c=this.text.next(Math.min(512,l-f));c==null?(r.addLineStartIfNotCovered(o),r.addBreak(),f++):(r.ensureLine(o),r.addText(c,u,f==i?d:u.length),f+=c.length),o=null}}});r.addLineStartIfNotCovered(o),this.openWidget=s>n,this.openMarks=s}forward(e,a,o=1){a-e<=10?this.old.advance(a-e,o,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(a-e-10,-1),this.old.advance(5,o,this.reuseWalker))}getCompositionContext(e){let a=[],o=null;for(let r=e.parentNode;;r=r.parentNode){let n=Be.get(r);if(r==this.view.contentDOM)break;n instanceof Rt?a.push(n):n?.isLine()?o=n:n instanceof oo||(r.nodeName=="DIV"&&!o&&r!=this.view.contentDOM?o=new vn(r,rC):o||a.push(Rt.of(new Ts({tagName:r.nodeName.toLowerCase(),attributes:uP(r)}),r)))}return{line:o,marks:a}}};function rL(t,e){let a=o=>{for(let r of o.children)if((e?r.isText():r.length)||a(r))return!0;return!1};return a(t)}function MP(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var rC={class:"cm-line"};function PP(t,e){let a=e.spec.attributes,o=e.spec.class;return!a&&!o||(t||(t={class:"cm-line"}),a&&Ch(a,t),o&&(t.class+=" "+o)),t}function RP(t){let e=[];for(let a=t.parents.length;a>1;a--){let o=a==t.parents.length?t.tile:t.parents[a].tile;o instanceof Rt&&e.push(o.mark)}return e}function wc(t){let e=Be.get(t);return e&&e.setDOM(t.cloneNode()),t}var Ao=class extends Da{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Ao.inline=new Ao("span");Ao.block=new Ao("div");var bc=new class extends Da{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},_l=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ce.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Sn(e,e.contentDOM),this.updateInner([new fa(0,0,0,e.state.doc.length)],null)}update(e){var a;let o=e.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:d,toA:f})=>f<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((a=this.domChanged)===null||a===void 0)&&a.newSel?r=this.domChanged.newSel.head:!HP(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?TP(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;o=new fa(d,f,e.changes.mapPos(d,-1),e.changes.mapPos(f,1)).addToSet(o.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Y.ie||Y.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,i=this.blockWrappers;this.updateDeco();let l=OP(s,this.decorations,e.changes);l.length&&(o=fa.extendWithRanges(o,l));let u=FP(i,this.blockWrappers,e.changes);return u.length&&(o=fa.extendWithRanges(o,u)),n&&!o.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(o=n.range.addToSet(o.slice())),this.tile.flags&2&&o.length==0?!1:(this.updateInner(o,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,a){this.view.viewState.mustMeasureContent=!0;let{observer:o}=this.view;o.ignore(()=>{if(a||e.length){let s=this.tile,i=new Wc(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);a&&Be.get(a.text)&&i.cache.reused.set(Be.get(a.text),2),this.tile=i.run(e,a),Gc(s,i.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let n=Y.chrome||Y.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||o.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof As&&r.push(n.dom);o.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let a of e.transactions)for(let o of a.effects)o.is(QL)&&(this.editContextFormatting=o.value)}updateSelection(e=!1,a=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:o}=this.tile,r=this.view.root.activeElement,n=r==o,s=!n&&!(this.view.state.facet(ao)||o.tabIndex>-1)&&Is(o,this.view.observer.selectionRange)&&!(r&&o.contains(r));if(!(n||a||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Y.gecko&&l.empty&&!this.hasComposition&&DP(u)){let c=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(c,u.node.childNodes[u.offset]||null)),u=d=new Ra(c,0),i=!0}let f=this.view.observer.selectionRange;(i||!f.focusNode||(!Ss(u.node,u.offset,f.anchorNode,f.anchorOffset)||!Ss(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{Y.android&&Y.chrome&&o.contains(f.focusNode)&&NP(f.focusNode,o)&&(o.blur(),o.focus({preventScroll:!0}));let c=Bs(this.view.root);if(c)if(l.empty){if(Y.gecko){let h=EP(u.node,u.offset);if(h&&h!=3){let p=(h==1?NL:HL)(u.node,u.offset);p&&(u=new Ra(p.node,p.offset))}}c.collapse(u.node,u.offset),l.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=l.bidiLevel)}else if(c.extend){c.collapse(u.node,u.offset);try{c.extend(d.node,d.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),h.setEnd(d.node,d.offset),h.setStart(u.node,u.offset),c.removeAllRanges(),c.addRange(h)}s&&this.view.root.activeElement==o&&(o.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new Ra(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new Ra(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,a){return this.hasComposition&&a.empty&&Ss(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==a.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,a=e.state.selection.main,o=Bs(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!o||!a.empty||!a.assoc||!o.modify)return;let s=this.lineAt(a.head,a.assoc);if(!s)return;let i=s.posAtStart;if(a.head==i||a.head==i+s.length)return;let l=this.coordsAt(a.head,-1),u=this.coordsAt(a.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(a.head+a.assoc,a.assoc);o.collapse(d.node,d.offset),o.modify("move",a.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=a.from&&o.collapse(r,n)}posFromDOM(e,a){let o=this.tile.nearest(e);if(!o)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=o.posAtStart;if(o.isComposite()){let n;if(e==o.dom)n=o.dom.childNodes[a];else{let s=ro(e)==0?0:a==0?-1:1;for(;;){let i=e.parentNode;if(i==o.dom)break;s==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?s=-1:s=1),e=i}s<0?n=e:n=e.nextSibling}if(n==o.dom.firstChild)return r;for(;n&&!Be.get(n);)n=n.nextSibling;if(!n)return r+o.length;for(let s=0,i=r;;s++){let l=o.children[s];if(l.dom==n)return i;i+=l.length+l.breakAfter}}else return o.isText()?e==o.dom?r+a:r+(a?o.length:0):r}domAtPos(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.domPosFor(e,a):o.domIn(r,a)}inlineDOMNearPos(e,a){let o,r=-1,n=!1,s,i=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=e)return!0;u.flags&16&&(n=!0)}else{let f=d+u.length;if(d<=e&&(o=u,r=e-d,n=f<e),f>=e&&!s&&(s=u,i=e-d,l=d>e),d>e&&s)return!0}}),!o&&!s?this.domAtPos(e,a):(n&&s?o=null:l&&o&&(s=null),o&&a<0||!s?o.domIn(r,a):s.domIn(i,a))}coordsAt(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.widget instanceof As?null:o.coordsInWidget(r,a,!0):o.coordsIn(r,a)}lineAt(e,a){let{tile:o}=this.tile.resolveBlock(e,a);return o.isLine()?o:null}coordsForChar(e){let{tile:a,offset:o}=this.tile.resolveBlock(e,1);if(!a.isLine())return null;function r(n,s){if(n.isComposite())for(let i of n.children){if(i.length>=s){let l=r(i,s);if(l)return l}if(s-=i.length,s<0)break}else if(n.isText()&&s<n.length){let i=We(n.text,s);if(i==s)return null;let l=Os(n.dom,s,i).getClientRects();for(let u=0;u<l.length;u++){let d=l[u];if(u==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return r(a,o)}measureVisibleLineHeights(e){let a=[],{from:o,to:r}=e,n=this.view.contentDOM.clientWidth,s=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,i=-1,l=this.view.textDirection==be.LTR,u=0,d=(f,c,h)=>{for(let p=0;p<f.children.length&&!(c>r);p++){let m=f.children[p],g=c+m.length,x=m.dom.getBoundingClientRect(),{height:C}=x;if(h&&!p&&(u+=x.top-h.top),m instanceof oo)g>o&&d(m,c,x);else if(c>=o&&(u>0&&a.push(-u),a.push(C+u),u=0,s)){let L=m.dom.lastChild,y=L?Rl(L):[];if(y.length){let S=y[y.length-1],w=l?S.right-x.left:x.right-S.left;w>i&&(i=w,this.minWidth=n,this.minWidthFrom=c,this.minWidthTo=g)}}h&&p==f.children.length-1&&(u+=h.bottom-x.bottom),c=g+m.breakAfter}};return d(this.tile,0,null),a}textDirectionAt(e){let{tile:a}=this.tile.resolveBlock(e,1);return getComputedStyle(a.dom).direction=="rtl"?be.RTL:be.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let i=0,l;for(let u of s.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=Rl(u.dom);if(d.length!=1)return;i+=d[0].width,l=d[0].height}if(i)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:i/s.length,textHeight:l}}});if(e)return e;let a=document.createElement("div"),o,r,n;return a.className="cm-line",a.style.width="99999px",a.style.position="absolute",a.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(a);let s=Rl(a.firstChild)[0];o=a.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:o,a.remove()}),{lineHeight:o,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],a=this.view.viewState;for(let o=0,r=0;;r++){let n=r==a.viewports.length?null:a.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>o){let i=(a.lineBlockAt(s).bottom-a.lineBlockAt(o).top)/this.view.scaleY;e.push(ce.replace({widget:new As(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!n)break;o=n.to+1}return ce.set(e)}updateDeco(){let e=1,a=this.view.state.facet(Jl).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),o=!1,r=this.view.state.facet(vh).map((n,s)=>{let i=typeof n=="function";return i&&(o=!0),i?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=o,a.push(Ce.join(r))),this.decorations=[this.editContextFormatting,...a,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(tC).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){var a;if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(JL))try{if(d(this.view,e.range,e))return!0}catch(f){it(this.view.state,f,"scroll handler")}let{range:o}=e,r=this.coordsAt(o.head,(a=o.assoc)!==null&&a!==void 0?a:o.empty?0:o.head>o.anchor?-1:1),n;if(!r)return;!o.empty&&(n=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=kh(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:u}=this.view.scrollDOM;if(cP(this.view.scrollDOM,i,o.head<o.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,u),-u),this.view.textDirection==be.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let d=this.view.docView.lineAt(o.head,1);d&&d.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let a=o=>o.isWidget()||o.children.some(a);return a(this.tile.resolveBlock(e,1).tile)}destroy(){Gc(this.tile)}};function Gc(t,e){let a=e?.get(t);if(a!=1){a==null&&t.destroy();for(let o of t.children)Gc(o,e)}}function DP(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function nC(t,e){let a=t.observer.selectionRange;if(!a.focusNode)return null;let o=NL(a.focusNode,a.focusOffset),r=HL(a.focusNode,a.focusOffset),n=o||r;if(r&&o&&r.node!=o.node){let i=Be.get(r.node);if(!i||i.isText()&&i.text!=r.node.nodeValue)n=r;else if(t.docView.lastCompositionAfterCursor){let l=Be.get(o.node);!l||l.isText()&&l.text!=o.node.nodeValue||(n=r)}}if(t.docView.lastCompositionAfterCursor=n!=o,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function TP(t,e,a){let o=nC(t,a);if(!o)return null;let{node:r,from:n,to:s}=o,i=r.nodeValue;if(/[\n\r]/.test(i)||t.state.doc.sliceString(o.from,o.to)!=i)return null;let l=e.invertedDesc;return{range:new fa(l.mapPos(n),l.mapPos(s),n,s),text:r}}function EP(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var BP=class{constructor(){this.changes=[]}compareRange(e,a){wn(e,a,this.changes)}comparePoint(e,a){wn(e,a,this.changes)}boundChange(e){wn(e,e,this.changes)}};function OP(t,e,a){let o=new BP;return Ce.compare(t,e,a,o),o.changes}var $c=class{constructor(){this.changes=[]}compareRange(e,a){wn(e,a,this.changes)}comparePoint(){}boundChange(e){wn(e,e,this.changes)}};function FP(t,e,a){let o=new $c;return Ce.compare(t,e,a,o),o.changes}function NP(t,e){for(let a=t;a&&a!=e;a=a.assignedSlot||a.parentNode)if(a.nodeType==1&&a.contentEditable=="false")return!0;return!1}function HP(t,e){let a=!1;return e&&t.iterChangedRanges((o,r)=>{o<e.to&&r>e.from&&(a=!0)}),a}var As=class extends Da{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function _P(t,e,a=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),n=e-r.from;if(r.length==0)return V.cursor(e);n==0?a=1:n==r.length&&(a=-1);let s=n,i=n;a<0?s=We(r.text,n,!1):i=We(r.text,n);let l=o(r.text.slice(s,i));for(;s>0;){let u=We(r.text,s,!1);if(o(r.text.slice(u,s))!=l)break;s=u}for(;i<r.length;){let u=We(r.text,i);if(o(r.text.slice(i,u))!=l)break;i=u}return V.range(s+r.from,i+r.from)}function qP(t,e,a,o,r){let n=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&a.height>t.defaultLineHeight*1.5){let i=t.viewState.heightOracle.textHeight,l=Math.floor((r-a.top-(t.defaultLineHeight-i)*.5)/i);n+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(a.from,a.to);return a.from+Wx(s,n,t.state.tabSize)}function Xc(t,e,a){let o=t.lineBlockAt(e);if(Array.isArray(o.type)){let r;for(let n of o.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!r||n.type==lt.Text&&(r.type!=n.type||(a<0?n.from<e:n.to>e)))&&(r=n)}}return r||o}return o}function zP(t,e,a,o){let r=Xc(t,e.head,e.assoc||-1),n=!o||r.type!=lt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=t.dom.getBoundingClientRect(),i=t.textDirectionAt(r.from),l=t.posAtCoords({x:a==(i==be.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(l!=null)return V.cursor(l,a?-1:1)}return V.cursor(a?r.to:r.from,a?-1:1)}function nL(t,e,a,o){let r=t.state.doc.lineAt(e.head),n=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let i=e,l=null;;){let u=bP(r,n,s,i,a),d=VL;if(!u){if(r.number==(a?t.state.doc.lines:1))return i;d=`
16
- `,r=t.state.doc.line(r.number+(a?1:-1)),n=t.bidiSpans(r),u=t.visualLineSide(r,!a)}if(l){if(!l(d))return i}else{if(!o)return u;l=o(d)}i=u}}function UP(t,e,a){let o=t.state.charCategorizer(e),r=o(a);return n=>{let s=o(n);return r==Ee.Space&&(r=s),r==s}}function VP(t,e,a,o){let r=e.head,n=a?1:-1;if(r==(a?t.state.doc.length:0))return V.cursor(r,e.assoc);let s=e.goalColumn,i,l=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r,e.assoc||((e.empty?a:e.head==e.from)?1:-1)),d=t.documentTop;if(u)s==null&&(s=u.left-l.left),i=n<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(r-p.from))),i=(n<0?p.top:p.bottom)+d}let f=l.left+s,c=t.viewState.heightOracle.textHeight>>1,h=o??c;for(let p=0;;p+=c){let m=i+(h+p)*n,g=Kc(t,{x:f,y:m},!1,n);if(a?m>l.bottom:m<l.top)return V.cursor(g.pos,g.assoc);let x=t.coordsAtPos(g.pos,g.assoc),C=x?(x.top+x.bottom)/2:0;if(!x||(a?C>i:C<i))return V.cursor(g.pos,g.assoc,void 0,s)}}function Ms(t,e,a){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(n,s,i)=>{if(e>n&&e<s){let l=o||a||(e-n<s-e?-1:1);e=l<0?n:s,o=l}});if(!o)return e}}function sC(t,e){let a=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],n=null;if(r.empty){let s=Ms(t,r.from,0);s!=r.from&&(n=V.cursor(s,-1))}else{let s=Ms(t,r.from,-1),i=Ms(t,r.to,1);(s!=r.from||i!=r.to)&&(n=V.range(r.from==r.anchor?s:i,r.from==r.head?s:i))}n&&(a||(a=e.ranges.slice()),a[o]=n)}return a?V.create(a,e.mainIndex):e}function Ic(t,e,a){let o=Ms(t.state.facet(Fs).map(r=>r(t)),a.from,e.head>a.from?-1:1);return o==a.from?a:V.cursor(o,o<a.from?1:-1)}var jt=class{constructor(e,a){this.pos=e,this.assoc=a}};function Kc(t,e,a,o){let r=t.contentDOM.getBoundingClientRect(),n=r.top+t.viewState.paddingTop,{x:s,y:i}=e,l=i-n,u;for(;;){if(l<0)return new jt(0,1);if(l>t.viewState.docHeight)return new jt(t.state.doc.length,-1);if(u=t.elementAtHeight(l),o==null)break;if(u.type==lt.Text){if(o<0?u.to<t.viewport.from:u.from>t.viewport.to)break;let c=t.docView.coordsAt(o<0?u.from:u.to,o>0?-1:1);if(c&&(o<0?c.top<=l+n:c.bottom>=l+n))break}let f=t.viewState.heightOracle.textHeight/2;l=o>0?u.bottom+f:u.top-f}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(a)return null;if(u.type==lt.Text){let f=qP(t,r,u,s,i);return new jt(f,f==u.from?1:-1)}}if(u.type!=lt.Text)return l<(u.top+u.bottom)/2?new jt(u.from,1):new jt(u.to,-1);let d=t.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=t.docView.lineAt(u.from,-2)),new jc(t,s,i,t.textDirectionAt(u.from)).scanTile(d,u.from)}var jc=class{constructor(e,a,o,r){this.view=e,this.x=a,this.y=o,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[Zt.find(r,e-o.from,-1,a)].level==this.baseDir}dirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[Zt.find(r,e-o.from,-1,a)].dir}bidiIn(e,a){let{spans:o,line:r}=this.bidiSpansAt(e);return o.length>1||o.length&&(o[0].level!=this.baseDir||o[0].to+r.from<a)}scan(e,a,o=!1){let r=0,n=e.length-1,s=new Set,i=this.bidiIn(e[0],e[n]),l,u,d=-1,f=1e9,c;e:for(;r<n;){let p=n-r,m=r+n>>1;t:if(s.has(m)){let x=r+Math.floor(Math.random()*p);for(let C=0;C<p;C++){if(!s.has(x)){m=x;break t}x++,x==n&&(x=r)}break e}s.add(m);let g=a(m);if(g)for(let x=0;x<g.length;x++){let C=g[x],L=0;if(!(C.width==0&&g.length>1)){if(C.bottom<this.y)(!l||l.bottom<C.bottom)&&(l=C),L=1;else if(C.top>this.y)(!u||u.top>C.top)&&(u=C),L=-1;else{let y=C.left>this.x?this.x-C.left:C.right<this.x?this.x-C.right:0,S=Math.abs(y);S<f&&(d=m,f=S,c=C),y&&(L=y<0==(this.baseDir==be.LTR)?-1:1)}L==-1&&(!i||this.baseDirAt(e[m],1))?n=m:L==1&&(!i||this.baseDirAt(e[m+1],-1))&&(r=m+1)}}}if(!c){if(!u&&!l)return{i:e[0],after:!1};let p=l&&(!u||this.y-l.bottom<u.top-this.y)?l:u;return this.y=(p.top+p.bottom)/2,this.scan(e,a,!0)}if(f&&!o){let{top:p,bottom:m}=c;if(l&&l.bottom>(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,a,!0);if(u&&u.top<(p+m+m)/3)return this.y=u.top+1,this.scan(e,a,!0)}let h=(i?this.dirAt(e[d],1):this.baseDir)==be.LTR;return{i:d,after:this.x>(c.left+c.right)/2==h}}scanText(e,a){let o=[];for(let n=0;n<e.length;n=We(e.text,n))o.push(a+n);o.push(a+e.length);let r=this.scan(o,n=>{let s=o[n]-a,i=o[n+1]-a;return Os(e.dom,s,i).getClientRects()});return r.after?new jt(o[r.i+1],-1):new jt(o[r.i],1)}scanTile(e,a){if(!e.length)return new jt(a,1);if(e.children.length==1){let i=e.children[0];if(i.isText())return this.scanText(i,a);if(i.isComposite())return this.scanTile(i,a)}let o=[a];for(let i=0,l=a;i<e.children.length;i++)o.push(l+=e.children[i].length);let r=this.scan(o,i=>{let l=e.children[i];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Os(l.dom,0,l.length)).getClientRects()}),n=e.children[r.i],s=o[r.i];return n.isText()?this.scanText(n,s):n.isComposite()?this.scanTile(n,s):r.after?new jt(o[r.i+1],-1):new jt(s,1)}},gn="\uFFFF",Zc=class{constructor(e,a){this.points=e,this.view=a,this.text="",this.lineSeparator=a.state.facet(Se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=gn}readRange(e,a){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let n=this.text.length;this.readNode(r);let s=Be.get(r),i=r.nextSibling;if(i==a){s?.breakAfter&&!i&&o!=this.view.contentDOM&&this.lineBreak();break}let l=Be.get(i);(s&&l?s.breakAfter:(s?s.breakAfter:Ol(r))||Ol(i)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!GP(i,a)&&this.lineBreak(),r=i}return this.findPointBefore(o,a),this}readTextNode(e){let a=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,a.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,i;if(this.lineSeparator?(n=a.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(i=r.exec(a))&&(n=i.index,s=i[0].length),this.append(a.slice(o,n<0?a.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);o=n+s}}readNode(e){let a=Be.get(e),o=a&&a.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,a){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==a&&(o.pos=this.text.length)}findPointInside(e,a){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+(WP(e,o.node,o.offset)?a:0))}};function WP(t,e,a){for(;;){if(!e||a<ro(e))return!1;if(e==t)return!0;a=ko(e)+1,e=e.parentNode}}function GP(t,e){let a;for(;!(t==e||!t);t=t.nextSibling){let o=Be.get(t);if(!o?.isWidget())return!1;o&&(a||(a=[])).push(o)}if(a)for(let o of a){let r=o.overrideDOMText;if(r?.length)return!1}return!0}var ql=class{constructor(e,a){this.node=e,this.offset=a,this.pos=-1}},Yc=class{constructor(e,a,o,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=a>-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView,i=e.state.selection;if(e.state.readOnly&&a>-1)this.newSel=null;else if(a>-1&&(this.bounds=iC(e.docView.tile,a,o,0))){let l=n||s?[]:XP(e),u=new Zc(l,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=KP(l,this.bounds.from)}else{let l=e.observer.selectionRange,u=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!Ec(e.contentDOM,l.focusNode)?i.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!Ec(e.contentDOM,l.anchorNode)?i.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((Y.ios||Y.chrome)&&i.main.empty&&u!=d&&(f.from>0||f.to<e.state.doc.length)){let c=Math.min(u,d),h=Math.max(u,d),p=f.from-c,m=f.to-h;(p==0||p==1||c==0)&&(m==0||m==-1||h==e.state.doc.length)&&(u=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&i.ranges.length>1)this.newSel=i.replaceRange(V.range(d,u));else if(e.lineWrapping&&d==u&&!(i.main.empty&&i.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let c=e.coordsAtPos(u,-1),h=0;c&&(h=e.inputState.lastTouchY<=c.bottom?-1:1),this.newSel=V.create([V.cursor(u,h)])}else this.newSel=V.single(d,u)}}};function iC(t,e,a,o){if(t.isComposite()){let r=-1,n=-1,s=-1,i=-1;for(let l=0,u=o,d=o;l<t.children.length;l++){let f=t.children[l],c=u+f.length;if(u<e&&c>a)return iC(f,e,a,u);if(c>=e&&r==-1&&(r=l,n=u),u>a&&f.dom.parentNode==t.dom){s=l,i=d;break}d=c,u=c+f.breakAfter}return{from:n,to:i<0?o+t.length:i,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:o,to:o+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function lC(t,e){let a,{newSel:o}=e,{state:r}=t,n=r.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,u=n.from,d=null;(s===8||Y.android&&e.text.length<l-i)&&(u=n.to,d="end");let f=r.doc.sliceString(i,l,gn),c,h;!n.empty&&n.from>=i&&n.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,n.from-i)==e.text.slice(0,n.from-i)&&f.slice(n.to-i)==e.text.slice(c=e.text.length-(f.length-(n.to-i)))?a={from:n.from,to:n.to,insert:xe.of(e.text.slice(n.from-i,c).split(gn))}:(h=uC(f,e.text,u-i,d))&&(Y.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==gn+gn&&h.toB--,a={from:i+h.from,to:i+h.toA,insert:xe.of(e.text.slice(h.from,h.toB).split(gn))})}else o&&(!t.hasFocus&&r.facet(ao)||zl(o,n))&&(o=null);if(!a&&!o)return!1;if((Y.mac||Y.android)&&a&&a.from==a.to&&a.from==n.head-1&&/^\. ?$/.test(a.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&a.insert.length==2&&(o=V.single(o.main.anchor-1,o.main.head-1)),a={from:a.from,to:a.to,insert:xe.of([a.insert.toString().replace("."," ")])}):r.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?a={from:n.from,to:n.to,insert:r.toText(t.inputState.insertingText)}:Y.chrome&&a&&a.from==a.to&&a.from==n.head&&a.insert.toString()==`
17
- `&&t.lineWrapping&&(o&&(o=V.single(o.main.anchor-1,o.main.head-1)),a={from:n.from,to:n.to,insert:xe.of([" "])}),a)return Ah(t,a,o,s);if(o&&!zl(o,n)){let i=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(i=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(o=sC(r.facet(Fs).map(u=>u(t)),o))),t.dispatch({selection:o,scrollIntoView:i,userEvent:l}),!0}else return!1}function Ah(t,e,a,o=-1){if(Y.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Y.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&t.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&bn(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||o==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&bn(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&bn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,i=()=>s||(s=$P(t,e,a));return t.state.facet(KL).some(l=>l(t,e.from,e.to,n,i))||t.dispatch(i()),!0}function $P(t,e,a){let o,r=t.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,u=l<0?n.from:n.to,d=Ms(r.facet(Fs).map(f=>f(t)),u,l);e.from==d&&(s=d)}if(s>-1)o={changes:e,selection:V.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!a||a.main.empty&&a.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=n.from<e.from?r.sliceDoc(n.from,e.from):"",u=n.to>e.to?r.sliceDoc(e.to,n.to):"";o=r.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let l=r.changes(e),u=a&&a.main.to<=l.newLength?a.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=t.state.sliceDoc(e.from,e.to),f,c=a&&nC(t,a.main.head);if(c){let p=e.insert.length-(e.to-e.from);f={from:c.from,to:c.to-p}}else f=t.state.doc.lineAt(n.head);let h=n.to-e.to;o=r.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:l,range:u||p.map(l)};let m=p.to-h,g=m-d.length;if(t.state.sliceDoc(g,m)!=d||m>=f.from&&g<=f.to)return{range:p};let x=r.changes({from:g,to:m,insert:e.insert}),C=p.to-n.to;return{changes:x,range:u?V.range(Math.max(0,u.anchor+C),Math.max(0,u.head+C)):p.map(x)}})}else o={changes:l,selection:u&&r.selection.replaceRange(u)}}let i="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,i+=".compose",t.inputState.compositionFirstChange&&(i+=".start",t.inputState.compositionFirstChange=!1)),r.update(o,{userEvent:i,scrollIntoView:!0})}function uC(t,e,a,o){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==r&&t.length==e.length)return null;let s=t.length,i=e.length;for(;s>0&&i>0&&t.charCodeAt(s-1)==e.charCodeAt(i-1);)s--,i--;if(o=="end"){let l=Math.max(0,n-Math.min(s,i));a-=s+l-n}if(s<n&&t.length<e.length){let l=a<=n&&a>=s?n-a:0;n-=l,i=n+(i-s),s=n}else if(i<n){let l=a<=n&&a>=i?n-a:0;n-=l,s=n+(s-i),i=n}return{from:n,toA:s,toB:i}}function XP(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}=t.observer.selectionRange;return a&&(e.push(new ql(a,o)),(r!=a||n!=o)&&e.push(new ql(r,n))),e}function KP(t,e){if(t.length==0)return null;let a=t[0].pos,o=t.length==2?t[1].pos:a;return a>-1&&o>-1?V.single(a+e,o+e):null}function zl(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var Jc=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Y.safari&&e.contentDOM.addEventListener("input",()=>null),Y.gecko&&lR(e.contentDOM.ownerDocument)}handleEvent(e){!tR(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,a){let o=this.handlers[e];if(o){for(let r of o.observers)r(this.view,a);for(let r of o.handlers){if(a.defaultPrevented)break;if(r(this.view,a)){a.preventDefault();break}}}}ensureHandlers(e){let a=jP(e),o=this.handlers,r=this.view.contentDOM;for(let n in a)if(n!="scroll"){let s=!a[n].handlers.length,i=o[n];i&&s!=!i.handlers.length&&(r.removeEventListener(n,this.handleEvent),i=null),i||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in o)n!="scroll"&&!a[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=a}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&fC.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Y.android&&Y.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let a;return Y.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((a=dC.find(o=>o.keyCode==e.keyCode))&&!e.ctrlKey||ZP.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=a||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let a=this.pendingIOSKey;return!a||a.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,bn(this.view.contentDOM,a.key,a.keyCode,a instanceof KeyboardEvent?a:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Y.safari&&!Y.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function sL(t,e){return(a,o)=>{try{return e.call(t,o,a)}catch(r){it(a.state,r)}}}function jP(t){let e=Object.create(null);function a(o){return e[o]||(e[o]={observers:[],handlers:[]})}for(let o of t){let r=o.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let i in n){let l=n[i];l&&a(i).handlers.push(sL(o.value,l))}if(s)for(let i in s){let l=s[i];l&&a(i).observers.push(sL(o.value,l))}}for(let o in ca)a(o).handlers.push(ca[o]);for(let o in Dt)a(o).observers.push(Dt[o]);return e}var dC=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ZP="dthko",fC=[16,17,18,20,91,92,224,225],bl=6;function Il(t){return Math.max(0,t)*.7+8}function YP(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var Qc=class{constructor(e,a,o,r){this.view=e,this.startEvent=a,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=a,this.scrollParents=BL(e.contentDOM),this.atoms=e.state.facet(Fs).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=a.shiftKey,this.multiple=e.state.facet(Se.allowMultipleSelections)&&JP(e,a),this.dragging=eR(e,a)&&pC(a)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&YP(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let a=0,o=0,r=0,n=0,s=this.view.win.innerWidth,i=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:i}=this.scrollParents.y.getBoundingClientRect());let l=kh(this.view);e.clientX-l.left<=r+bl?a=-Il(r-e.clientX):e.clientX+l.right>=s-bl&&(a=Il(e.clientX-s)),e.clientY-l.top<=n+bl?o=-Il(n-e.clientY):e.clientY+l.bottom>=i-bl&&(o=Il(e.clientY-i)),this.setScrollSpeed(a,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,a){this.scrollSpeed={x:e,y:a},e||a?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:a}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),a&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=a,a=0),(e||a)&&this.view.win.scrollBy(e,a),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:a}=this,o=sC(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(a.state.selection,this.dragging===!1))&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function JP(t,e){let a=t.state.facet(WL);return a.length?a[0](e):Y.mac?e.metaKey:e.ctrlKey}function QP(t,e){let a=t.state.facet(GL);return a.length?a[0](e):Y.mac?!e.altKey:!e.ctrlKey}function eR(t,e){let{main:a}=t.state.selection;if(a.empty)return!1;let o=Bs(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let n=0;n<r.length;n++){let s=r[n];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function tR(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let a=e.target,o;a!=t.contentDOM;a=a.parentNode)if(!a||a.nodeType==11||(o=Be.get(a))&&o.isWidget()&&!o.isHidden&&o.widget.ignoreEvent(e))return!1;return!0}var ca=Object.create(null),Dt=Object.create(null),cC=Y.ie&&Y.ie_version<15||Y.ios&&Y.webkit_version<604;function aR(t){let e=t.dom.parentNode;if(!e)return;let a=e.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.focus(),setTimeout(()=>{t.focus(),a.remove(),hC(t,a.value)},50)}function Ql(t,e,a){for(let o of t.facet(e))a=o(a,t);return a}function hC(t,e){e=Ql(t.state,bh,e);let{state:a}=t,o,r=1,n=a.toText(e),s=n.lines==a.selection.ranges.length;if(eh!=null&&a.selection.ranges.every(l=>l.empty)&&eh==n.toString()){let l=-1;o=a.changeByRange(u=>{let d=a.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=a.toText((s?n.line(r++).text:e)+a.lineBreak);return{changes:{from:d.from,insert:f},range:V.cursor(u.from+f.length)}})}else s?o=a.changeByRange(l=>{let u=n.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:V.cursor(l.from+u.length)}}):o=a.replaceSelection(n);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}Dt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Dt.wheel=Dt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};ca.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Dt.touchstart=(t,e)=>{let a=t.inputState,o=e.targetTouches[0];a.lastTouchTime=Date.now(),o&&(a.lastTouchX=o.clientX,a.lastTouchY=o.clientY),a.setSelectionOrigin("select.pointer")};Dt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};ca.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let o of t.state.facet($L))if(a=o(t,e),a)break;if(!a&&e.button==0&&(a=rR(t,e)),a){let o=!t.hasFocus;t.inputState.startMouseSelection(new Qc(t,e,a,o)),o&&t.observer.ignore(()=>{OL(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function iL(t,e,a,o){if(o==1)return V.cursor(e,a);if(o==2)return _P(t.state,e,a);{let r=t.docView.lineAt(e,a),n=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<t.state.doc.length&&i==n.to&&i++,V.range(s,i)}}var oR=Y.ie&&Y.ie_version<=11,lL=null,uL=0,dL=0;function pC(t){if(!oR)return t.detail;let e=lL,a=dL;return lL=t,dL=Date.now(),uL=!e||a>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(uL+1)%3:1}function rR(t,e){let a=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),o=pC(e),r=t.state.selection;return{update(n){n.docChanged&&(a.pos=n.changes.mapPos(a.pos),r=r.map(n.changes))},get(n,s,i){let l=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),u,d=iL(t,l.pos,l.assoc,o);if(a.pos!=l.pos&&!s){let f=iL(t,a.pos,a.assoc,o),c=Math.min(f.from,d.from),h=Math.max(f.to,d.to);d=c<d.from?V.range(c,h,d.assoc):V.range(h,c,d.assoc)}return s?r.replaceRange(r.main.extend(d.from,d.to,d.assoc)):i&&o==1&&r.ranges.length>1&&(u=nR(r,l.pos))?u:i?r.addRange(d):V.create([d])}}}function nR(t,e){for(let a=0;a<t.ranges.length;a++){let{from:o,to:r}=t.ranges[a];if(o<=e&&r>=e)return V.create(t.ranges.slice(0,a).concat(t.ranges.slice(a+1)),t.mainIndex==a?0:t.mainIndex-(t.mainIndex>a?1:0))}return null}ca.dragstart=(t,e)=>{let{selection:{main:a}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=a.to||s<=a.from)&&(a=V.range(n,s))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=a,e.dataTransfer&&(e.dataTransfer.setData("Text",Ql(t.state,Ih,t.state.sliceDoc(a.from,a.to))),e.dataTransfer.effectAllowed="copyMove"),!1};ca.dragend=t=>(t.inputState.draggedContent=null,!1);function fL(t,e,a,o){if(a=Ql(t.state,bh,a),!a)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,s=o&&n&&QP(t,e)?{from:n.from,to:n.to}:null,i={from:r,insert:a},l=t.state.changes(s?[s,i]:i);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}ca.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let a=e.dataTransfer.files;if(a&&a.length){let o=Array(a.length),r=0,n=()=>{++r==a.length&&fL(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<a.length;s++){let i=new FileReader;i.onerror=n,i.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(i.result)||(o[s]=i.result),n()},i.readAsText(a[s])}return!0}else{let o=e.dataTransfer.getData("Text");if(o)return fL(t,e,o,!0),!0}return!1};ca.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let a=cC?null:e.clipboardData;return a?(hC(t,a.getData("text/plain")||a.getData("text/uri-list")),!0):(aR(t),!1)};function sR(t,e){let a=t.dom.parentNode;if(!a)return;let o=a.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function iR(t){let e=[],a=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),a.push(r));if(!e.length){let r=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>r&&(e.push(s.text),a.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:Ql(t,Ih,e.join(t.lineBreak)),ranges:a,linewise:o}}var eh=null;ca.copy=ca.cut=(t,e)=>{if(!Is(t.contentDOM,t.observer.selectionRange))return!1;let{text:a,ranges:o,linewise:r}=iR(t.state);if(!a&&!r)return!1;eh=r?a:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let n=cC?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",a),!0):(sR(t,a),!1)};var mC=At.define();function gC(t,e){let a=[];for(let o of t.facet(jL)){let r=o(t,e);r&&a.push(r)}return a.length?t.update({effects:a,annotations:mC.of(!0)}):null}function xC(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let a=gC(t.state,e);a?t.dispatch(a):t.update([])}},10)}Dt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),xC(t)};Dt.blur=t=>{t.observer.clearSelectionRange(),xC(t)};Dt.compositionstart=Dt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Dt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Y.chrome&&Y.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Dt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};ca.beforeinput=(t,e)=>{var a,o;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(a=e.dataTransfer)===null||a===void 0?void 0:a.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let i=s[0],l=t.posAtDOM(i.startContainer,i.startOffset),u=t.posAtDOM(i.endContainer,i.endOffset);return Ah(t,{from:l,to:u,insert:t.state.toText(n)},null),!0}}let r;if(Y.chrome&&Y.android&&(r=dC.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Y.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Y.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Dt.compositionend(t,e),20),!1};var cL=new Set;function lR(t){cL.has(t)||(cL.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var hL=["pre-wrap","normal","pre-line","break-spaces"],An=!1;function pL(){An=!1}var th=class{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,a){let o=this.doc.lineAt(a).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((a-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return hL.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let a=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(a=!0,this.heightSamples[Math.floor(r*10)]=!0)}return a}refresh(e,a,o,r,n,s){let i=hL.indexOf(e)>-1,l=Math.abs(a-this.lineHeight)>.3||this.lineWrapping!=i;if(this.lineWrapping=i,this.lineHeight=a,this.charWidth=o,this.textHeight=r,this.lineLength=n,l){this.heightSamples={};for(let u=0;u<s.length;u++){let d=s[u];d<0?u++:this.heightSamples[Math.floor(d*10)]=!0}}return l}},ah=class{constructor(e,a){this.from=e,this.heights=a,this.index=0}get more(){return this.index<this.heights.length}},da=class t{constructor(e,a,o,r,n){this.from=e,this.length=a,this.top=o,this.height=r,this._content=n}get type(){return typeof this._content=="number"?lt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof gr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let a=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t(this.from,this.length+e.length,this.top,this.height+e.height,a)}},Ae=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(Ae||(Ae={})),Dl=.001,_t=class t{constructor(e,a,o=2){this.length=e,this.height=a,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Dl&&(An=!0),this.height=e)}replace(e,a,o){return t.of(o)}decomposeLeft(e,a){a.push(this)}decomposeRight(e,a){a.push(this)}applyChanges(e,a,o,r){let n=this,s=o.doc;for(let i=r.length-1;i>=0;i--){let{fromA:l,toA:u,fromB:d,toB:f}=r[i],c=n.lineAt(l,Ae.ByPosNoHeight,o.setDoc(a),0,0),h=c.to>=u?c:n.lineAt(u,Ae.ByPosNoHeight,o,0,0);for(f+=h.to-u,u=h.to;i>0&&c.from<=r[i-1].toA;)l=r[i-1].fromA,d=r[i-1].fromB,i--,l<c.from&&(c=n.lineAt(l,Ae.ByPosNoHeight,o,0,0));d+=c.from-l,l=c.from;let p=rh.build(o.setDoc(s),e,d,f);n=Ul(n,n.replace(l,u,p))}return n.updateHeight(o,0)}static empty(){return new Kt(0,0,0)}static of(e){if(e.length==1)return e[0];let a=0,o=e.length,r=0,n=0;for(;;)if(a==o)if(r>n*2){let i=e[a-1];i.break?e.splice(--a,1,i.left,null,i.right):e.splice(--a,1,i.left,i.right),o+=1+i.break,r-=i.size}else if(n>r*2){let i=e[o];i.break?e.splice(o,1,i.left,null,i.right):e.splice(o,1,i.left,i.right),o+=2+i.break,n-=i.size}else break;else if(r<n){let i=e[a++];i&&(r+=i.size)}else{let i=e[--o];i&&(n+=i.size)}let s=0;return e[a-1]==null?(s=1,a--):e[a]==null&&(s=1,o++),new oh(t.of(e.slice(0,a)),s,t.of(e.slice(o)))}};function Ul(t,e){return t==e?t:(t.constructor!=e.constructor&&(An=!0),e)}_t.prototype.size=1;var uR=ce.replace({}),Vl=class extends _t{constructor(e,a,o){super(e,a),this.deco=o,this.spaceAbove=0}mainBlock(e,a){return new da(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,a,o,r){return this.spaceAbove&&e<o+this.spaceAbove?new da(r,0,o,this.spaceAbove,uR):this.mainBlock(o,r)}lineAt(e,a,o,r,n){let s=this.mainBlock(r,n);return this.spaceAbove?this.blockAt(0,o,r,n).join(s):s}forEachLine(e,a,o,r,n,s){e<=n+this.length&&a>=n&&s(this.lineAt(0,Ae.ByPos,o,r,n))}setMeasuredHeight(e){let a=e.heights[e.index++];a<0?(this.spaceAbove=-a,a=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(a)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},Kt=class t extends Vl{constructor(e,a,o){super(e,a,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=o}mainBlock(e,a){return new da(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,a,o){let r=o[0];return o.length==1&&(r instanceof t||r instanceof vo&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof vo?r=new t(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):_t.of(o)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more?this.setMeasuredHeight(r):(o||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},vo=class t extends _t{constructor(e){super(e,0)}heightMetrics(e,a){let o=e.doc.lineAt(a).number,r=e.doc.lineAt(a+this.length).number,n=r-o+1,s,i=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);s=l/n,this.length>n+1&&(i=(this.height-l)/(this.length-n-1))}else s=this.height/n;return{firstLine:o,lastLine:r,perLine:s,perChar:i}}blockAt(e,a,o,r){let{firstLine:n,lastLine:s,perLine:i,perChar:l}=this.heightMetrics(a,r);if(a.lineWrapping){let u=r+(e<a.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length)),d=a.doc.lineAt(u),f=i+d.length*l,c=Math.max(o,e-f/2);return new da(d.from,d.length,c,f,0)}else{let u=Math.max(0,Math.min(s-n,Math.floor((e-o)/i))),{from:d,length:f}=a.doc.line(n+u);return new da(d,f,o+i*u,i,0)}}lineAt(e,a,o,r,n){if(a==Ae.ByHeight)return this.blockAt(e,o,r,n);if(a==Ae.ByPosNoHeight){let{from:h,to:p}=o.doc.lineAt(e);return new da(h,p-h,0,0,0)}let{firstLine:s,perLine:i,perChar:l}=this.heightMetrics(o,n),u=o.doc.lineAt(e),d=i+u.length*l,f=u.number-s,c=r+i*f+l*(u.from-n-f);return new da(u.from,u.length,Math.max(r,Math.min(c,r+this.height-d)),d,0)}forEachLine(e,a,o,r,n,s){e=Math.max(e,n),a=Math.min(a,n+this.length);let{firstLine:i,perLine:l,perChar:u}=this.heightMetrics(o,n);for(let d=e,f=r;d<=a;){let c=o.doc.lineAt(d);if(d==e){let p=c.number-i;f+=l*p+u*(e-n-p)}let h=l+u*c.length;s(new da(c.from,c.length,f,h,0)),f+=h,d=c.to+1}}replace(e,a,o){let r=this.length-a;if(r>0){let n=o[o.length-1];n instanceof t?o[o.length-1]=new t(n.length+r):o.push(null,new t(r-1))}if(e>0){let n=o[0];n instanceof t?o[0]=new t(e+n.length):o.unshift(new t(e-1),null)}return _t.of(o)}decomposeLeft(e,a){a.push(new t(e-1),null)}decomposeRight(e,a){a.push(null,new t(this.length-e-1))}updateHeight(e,a=0,o=!1,r){let n=a+this.length;if(r&&r.from<=a+this.length&&r.more){let s=[],i=Math.max(a,r.from),l=-1;for(r.from>a&&s.push(new t(r.from-a-1).updateHeight(e,a));i<=n&&r.more;){let d=e.doc.lineAt(i).length;s.length&&s.push(null);let f=r.heights[r.index++],c=0;f<0&&(c=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=Dl&&(l=-2);let h=new Kt(d,f,c);h.outdated=!1,s.push(h),i+=d+1}i<=n&&s.push(null,new t(n-i).updateHeight(e,i));let u=_t.of(s);return(l<0||Math.abs(u.height-this.height)>=Dl||Math.abs(l-this.heightMetrics(e,a).perLine)>=Dl)&&(An=!0),Ul(this,u)}else(o||this.outdated)&&(this.setHeight(e.heightForGap(a,a+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},oh=class extends _t{constructor(e,a,o){super(e.length+a+o.length,e.height+o.height,a|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,a,o,r){let n=o+this.left.height;return e<n?this.left.blockAt(e,a,o,r):this.right.blockAt(e,a,n,r+this.left.length+this.break)}lineAt(e,a,o,r,n){let s=r+this.left.height,i=n+this.left.length+this.break,l=a==Ae.ByHeight?e<s:e<i,u=l?this.left.lineAt(e,a,o,r,n):this.right.lineAt(e,a,o,s,i);if(this.break||(l?u.to<i:u.from>i))return u;let d=a==Ae.ByPosNoHeight?Ae.ByPosNoHeight:Ae.ByPos;return l?u.join(this.right.lineAt(i,d,o,s,i)):this.left.lineAt(i,d,o,r,n).join(u)}forEachLine(e,a,o,r,n,s){let i=r+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,a,o,r,n,s),a>=l&&this.right.forEachLine(e,a,o,i,l,s);else{let u=this.lineAt(l,Ae.ByPos,o,r,n);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,n,s),u.to>=e&&u.from<=a&&s(u),a>u.to&&this.right.forEachLine(u.to+1,a,o,i,l,s)}}replace(e,a,o){let r=this.left.length+this.break;if(a<r)return this.balanced(this.left.replace(e,a,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,a-r,o));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let i of o)n.push(i);if(e>0&&mL(n,s-1),a<this.length){let i=n.length;this.decomposeRight(a,n),mL(n,i)}return _t.of(n)}decomposeLeft(e,a){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,a);a.push(this.left),this.break&&(o++,e>=o&&a.push(null)),e>o&&this.right.decomposeLeft(e-o,a)}decomposeRight(e,a){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,a);e<o&&this.left.decomposeRight(e,a),this.break&&e<r&&a.push(null),a.push(this.right)}balanced(e,a){return e.size>2*a.size||a.size>2*e.size?_t.of(this.break?[e,null,a]:[e,a]):(this.left=Ul(this.left,e),this.right=Ul(this.right,a),this.setHeight(e.height+a.height),this.outdated=e.outdated||a.outdated,this.size=e.size+a.size,this.length=e.length+this.break+a.length,this)}updateHeight(e,a=0,o=!1,r){let{left:n,right:s}=this,i=a+n.length+this.break,l=null;return r&&r.from<=a+n.length&&r.more?l=n=n.updateHeight(e,a,o,r):n.updateHeight(e,a,o),r&&r.from<=i+s.length&&r.more?l=s=s.updateHeight(e,i,o,r):s.updateHeight(e,i,o),l?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function mL(t,e){let a,o;t[e]==null&&(a=t[e-1])instanceof vo&&(o=t[e+1])instanceof vo&&t.splice(e-1,3,new vo(a.length+1+o.length))}var dR=5,rh=class t{constructor(e,a){this.pos=e,this.oracle=a,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,a){if(this.lineStart>-1){let o=Math.min(a,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Kt?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new Kt(o-this.pos,-1,0)),this.writtenTo=o,a>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=a}point(e,a,o){if(e<a||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,n=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=a-e;o.block?this.addBlock(new Vl(s,r,o)):(s||n||r>=dR)&&this.addLineDeco(r,n,s)}else a>e&&this.span(e,a);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:a}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=a,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Kt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,a){let o=new vo(a-e);return this.oracle.doc.lineAt(e).to==a&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Kt)return e;let a=new Kt(0,-1,0);return this.nodes.push(a),a}addBlock(e){this.enterLine();let a=e.deco;a&&a.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,a&&a.endSide>0&&(this.covering=e)}addLineDeco(e,a,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=a,this.writtenTo=this.pos=this.pos+o}finish(e){let a=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(a instanceof Kt)&&!this.isCovered?this.nodes.push(new Kt(0,-1,0)):(this.writtenTo<this.pos||a==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof Kt&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,a,o,r){let n=new t(o,e);return Ce.spans(a,o,r,n,0),n.finish(o)}};function fR(t,e,a){let o=new nh;return Ce.compare(t,e,a,o,0),o.changes}var nh=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,a,o,r){(e<a||o&&o.heightRelevant||r&&r.heightRelevant)&&wn(e,a,this.changes,5)}};function cR(t,e){let a=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,n=Math.max(0,a.left),s=Math.min(r.innerWidth,a.right),i=Math.max(0,a.top),l=Math.min(r.innerHeight,a.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let d=u,f=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let c=d.getBoundingClientRect();n=Math.max(n,c.left),s=Math.min(s,c.right),i=Math.max(i,c.top),l=Math.min(u==t.parentNode?r.innerHeight:l,c.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:n-a.left,right:Math.max(n,s)-a.left,top:i-(a.top+e),bottom:Math.max(i,l)-(a.top+e)}}function hR(t){let e=t.getBoundingClientRect(),a=t.ownerDocument.defaultView||window;return e.left<a.innerWidth&&e.right>0&&e.top<a.innerHeight&&e.bottom>0}function pR(t,e){let a=t.getBoundingClientRect();return{left:0,right:a.right-a.left,top:e,bottom:a.bottom-(a.top+e)}}var Ps=class{constructor(e,a,o,r){this.from=e,this.to=a,this.size=o,this.displaySize=r}static same(e,a){if(e.length!=a.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],n=a[o];if(r.from!=n.from||r.to!=n.to||r.size!=n.size)return!1}return!0}draw(e,a){return ce.replace({widget:new sh(this.displaySize*(a?e.scaleY:e.scaleX),a)}).range(this.from,this.to)}},sh=class extends Da{constructor(e,a){super(),this.size=e,this.vertical=a}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Wl=class{constructor(e,a){this.view=e,this.state=a,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=gL,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=be.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let o=a.facet(Sh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new th(o),this.stateDeco=xL(a),this.heightMap=_t.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(a.doc),[new fa(0,0,0,a.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ce.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:a}=this.state.selection;for(let o=0;o<=1;o++){let r=o?a.head:a.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new Ln(n,s))}}return this.viewports=e.sort((o,r)=>o.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?gL:new ih(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(bs(e,this.scaler))})}update(e,a=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=xL(this.state);let r=e.changedRanges,n=fa.extendWithRanges(r,fR(o,this.stateDeco,e?e.changes:xt.empty(this.state.doc.length))),s=this.heightMap.height,i=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);pL(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||An)&&(e.flags|=2),i?(this.scrollAnchorPos=e.changes.mapPos(i.from,-1),this.scrollAnchorHeight=i.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(a&&(a.range.head<l.from||a.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,a));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),a&&(this.scrollTarget=a),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(YL)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,a=e.contentDOM,o=window.getComputedStyle(a),r=this.heightOracle,n=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?be.RTL:be.LTR;let s=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",i=a.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=i.height;this.contentDOMHeight=i.height,this.mustMeasureContent=!1;let u=0,d=0;if(i.width&&i.height){let{scaleX:S,scaleY:w}=EL(a,i);(S>.005&&Math.abs(this.scaleX-S)>.005||w>.005&&Math.abs(this.scaleY-w)>.005)&&(this.scaleX=S,this.scaleY=w,u|=16,s=l=!0)}let f=(parseInt(o.paddingTop)||0)*this.scaleY,c=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=c)&&(this.paddingTop=f,this.paddingBottom=c,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let h=BL(this.view.contentDOM,!1).y;h!=this.scrollParent&&(this.scrollParent=h,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=FL(this.scrollParent||e.win);let m=(this.printing?pR:cR)(a,this.paddingTop),g=m.top-this.pixelViewport.top,x=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let C=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(C!=this.inView&&(this.inView=C,C&&(l=!0)),!this.inView&&!this.scrollTarget&&!hR(e.dom))return 0;let L=i.width;if((this.contentDOMWidth!=L||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=i.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),l){let S=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(S)&&(s=!0),s||r.lineWrapping&&Math.abs(L-this.contentDOMWidth)>r.charWidth){let{lineHeight:w,charWidth:b,textHeight:I}=e.docView.measureTextSize();s=w>0&&r.refresh(n,w,b,I,Math.max(5,L/b),S),s&&(e.docView.minWidth=0,u|=16)}g>0&&x>0?d=Math.max(g,x):g<0&&x<0&&(d=Math.min(g,x)),pL();for(let w of this.viewports){let b=w.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(w);this.heightMap=(s?_t.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new fa(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new ah(w.from,b))}An&&(u|=2)}let y=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,a){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:i}=this,l=new Ln(r.lineAt(s-o*1e3,Ae.ByHeight,n,0,0).from,r.lineAt(i+(1-o)*1e3,Ae.ByHeight,n,0,0).to);if(a){let{head:u}=a.range;if(u<l.from||u>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,Ae.ByPos,n,0,0),c;a.y=="center"?c=(f.top+f.bottom)/2-d/2:a.y=="start"||a.y=="nearest"&&u<l.from?c=f.top:c=f.bottom-d,l=new Ln(r.lineAt(c-1e3/2,Ae.ByHeight,n,0,0).from,r.lineAt(c+d+1e3/2,Ae.ByHeight,n,0,0).to)}}return l}mapViewport(e,a){let o=a.mapPos(e.from,-1),r=a.mapPos(e.to,1);return new Ln(this.heightMap.lineAt(o,Ae.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Ae.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:a},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(a,Ae.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:i}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(a==this.state.doc.length||n>=i+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&n<i+2*1e3}mapLineGaps(e,a){if(!e.length||a.empty)return e;let o=[];for(let r of e)a.touchesRange(r.from,r.to)||o.push(new Ps(a.mapPos(r.from),a.mapPos(r.to),r.size,r.displaySize));return o}ensureLineGaps(e,a){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,n=r>>1,s=r<<1;if(this.defaultTextDirection!=be.LTR&&!o)return[];let i=[],l=(d,f,c,h)=>{if(f-d<n)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let x of m)if(x>d&&x<f){l(d,x-10,c,h),l(x+10,f,c,h);return}let g=gR(e,x=>x.from>=c.from&&x.to<=c.to&&Math.abs(x.from-d)<n&&Math.abs(x.to-f)<n&&!m.some(C=>x.from<C&&x.to>C));if(!g){if(f<c.to&&a&&o&&a.visibleRanges.some(L=>L.from<=f&&L.to>=f)){let L=a.moveToLineBoundary(V.cursor(f),!1,!0).head;L>d&&(f=L)}let x=this.gapSize(c,d,f,h),C=o||x<2e6?x:2e6;g=new Ps(d,f,x,C)}i.push(g)},u=d=>{if(d.length<s||d.type!=lt.Text)return;let f=mR(d.from,d.to,this.stateDeco);if(f.total<s)return;let c=this.scrollTarget?this.scrollTarget.range.head:null,h,p;if(o){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,x;if(c!=null){let C=vl(f,c),L=((this.visibleBottom-this.visibleTop)/2+m)/d.height;g=C-L,x=C+L}else g=(this.visibleTop-d.top-m)/d.height,x=(this.visibleBottom-d.top+m)/d.height;h=Sl(f,g),p=Sl(f,x)}else{let m=f.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,x=0;if(m>2e6)for(let w of e)w.from>=d.from&&w.from<d.to&&w.size!=w.displaySize&&w.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=w.size-w.displaySize);let C=this.pixelViewport.left+x,L=this.pixelViewport.right+x,y,S;if(c!=null){let w=vl(f,c),b=((L-C)/2+g)/m;y=w-b,S=w+b}else y=(C-g)/m,S=(L+g)/m;h=Sl(f,y),p=Sl(f,S)}h>d.from&&l(d.from,h,d,f),p<d.to&&l(p,d.to,d,f)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(u):u(d);return i}gapSize(e,a,o,r){let n=vl(r,o)-vl(r,a);return this.heightOracle.lineWrapping?e.height*n:r.total*this.heightOracle.charWidth*n}updateLineGaps(e){Ps.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ce.set(e.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let a=this.stateDeco;this.lineGaps.length&&(a=a.concat(this.lineGapDeco));let o=[];Ce.spans(a,this.viewport.from,this.viewport.to,{span(n,s){o.push({from:n,to:s})},point(){}},20);let r=0;if(o.length!=this.visibleRanges.length)r=12;else for(let n=0;n<o.length&&!(r&8);n++){let s=this.visibleRanges[n],i=o[n];(s.from!=i.from||s.to!=i.to)&&(r|=4,e&&e.mapPos(s.from,-1)==i.from&&e.mapPos(s.to,1)==i.to||(r|=8))}return this.visibleRanges=o,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(a=>a.from<=e&&a.to>=e)||bs(this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(a=>a.top<=e&&a.bottom>=e)||bs(this.heightMap.lineAt(this.scaler.fromDOM(e),Ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let a=this.lineBlockAtHeight(e+8);return a.from>=this.viewport.from||this.viewportLines[0].top-e>200?a:this.viewportLines[0]}elementAtHeight(e){return bs(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Ln=class{constructor(e,a){this.from=e,this.to=a}};function mR(t,e,a){let o=[],r=t,n=0;return Ce.spans(a,t,e,{span(){},point(s,i){s>r&&(o.push({from:r,to:s}),n+=s-r),r=i}},20),r<e&&(o.push({from:r,to:e}),n+=e-r),{total:n,ranges:o}}function Sl({total:t,ranges:e},a){if(a<=0)return e[0].from;if(a>=1)return e[e.length-1].to;let o=Math.floor(t*a);for(let r=0;;r++){let{from:n,to:s}=e[r],i=s-n;if(o<=i)return n+o;o-=i}}function vl(t,e){let a=0;for(let{from:o,to:r}of t.ranges){if(e<=r){a+=e-o;break}a+=r-o}return a/t.total}function gR(t,e){for(let a of t)if(e(a))return a}var gL={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function xL(t){let e=t.facet(Jl).filter(o=>typeof o!="function"),a=t.facet(vh).filter(o=>typeof o!="function");return a.length&&e.push(Ce.join(a)),e}var ih=class t{constructor(e,a,o){let r=0,n=0,s=0;this.viewports=o.map(({from:i,to:l})=>{let u=a.lineAt(i,Ae.ByPos,e,0,0).top,d=a.lineAt(l,Ae.ByPos,e,0,0).bottom;return r+=d-u,{from:i,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(a.height-r);for(let i of this.viewports)i.domTop=s+(i.top-n)*this.scale,s=i.domBottom=i.domTop+(i.bottom-i.top),n=i.bottom}toDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.top)return r+(e-o)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);o=n.bottom,r=n.domBottom}}fromDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.domTop)return o+(e-r)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);o=n.bottom,r=n.domBottom}}eq(e){return e instanceof t?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((a,o)=>a.from==e.viewports[o].from&&a.to==e.viewports[o].to):!1}};function bs(t,e){if(e.scale==1)return t;let a=e.toDOM(t.top),o=e.toDOM(t.bottom);return new da(t.from,t.length,a,o-a,Array.isArray(t._content)?t._content.map(r=>bs(r,e)):t._content)}var kl=j.define({combine:t=>t.join(" ")}),lh=j.define({combine:t=>t.indexOf(!0)>-1}),uh=Xt.newName(),LC=Xt.newName(),CC=Xt.newName(),yC={"&light":"."+LC,"&dark":"."+CC};function dh(t,e,a){return new Xt(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!a||!a[r])throw new RangeError(`Unsupported selector: ${r}`);return a[r]}):t+" "+o}})}var xR=dh("."+uh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},yC),LR={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Sc=Y.ie&&Y.ie_version<=11,fh=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Bc,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(a=>{for(let o of a)this.queue.push(o);(Y.ie&&Y.ie_version<=11||Y.ios&&e.composing)&&a.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Y.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Y.chrome&&Y.chrome_version<126)&&(this.editContext=new ch(e),e.state.facet(ao)&&(e.contentDOM.editContext=this.editContext.editContext)),Sc&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var a;((a=this.view.docView)===null||a===void 0?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((a,o)=>a!=e[o]))){this.gapIntersection.disconnect();for(let a of e)this.gapIntersection.observe(a);this.gaps=e}}onSelectionChange(e){let a=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(ao)?o.root.activeElement!=this.dom:!Is(this.dom,r))return;let n=r.anchorNode&&o.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){a||(this.selectionChanged=!1);return}(Y.ie&&Y.ie_version<=11||Y.android&&Y.chrome)&&!o.state.selection.main.empty&&r.focusNode&&Ss(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,a=Bs(e.root);if(!a)return!1;let o=Y.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&CR(this.view,a)||a;if(!o||this.selectionRange.eq(o))return!1;let r=Is(this.dom,o);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&pP(this.dom,o)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(o),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,a){this.selectionRange.set(e.node,e.offset,a.node,a.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,a=null;for(let o=this.dom;o;)if(o.nodeType==1)!a&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:a||(a=this.scrollTargets.slice(0,e)),a&&a.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!a&&(a=this.scrollTargets.slice(0,e)),a){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=a)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,LR),Sc&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Sc&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,a){var o;if(!this.delayedAndroidKey){let r=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&bn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:a,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let a=-1,o=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),a==-1?{from:a,to:o}=s:(a=Math.min(s.from,a),o=Math.max(s.to,o)))}return{from:a,to:o,typeOver:r}}readChange(){let{from:e,to:a,typeOver:o}=this.processRecords(),r=this.selectionChanged&&Is(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Yc(this.view,e,a,o);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let a=this.readChange();if(!a)return this.view.requestMeasure(),!1;let o=this.view.state,r=lC(this.view,a);return this.view.state==o&&(a.domChanged||a.newSel&&!zl(this.view.state.selection,a.newSel.main))&&this.view.update([]),r}readMutation(e){let a=this.view.docView.tile.nearest(e.target);if(!a||a.isWidget())return null;if(a.markDirty(e.type=="attributes"),e.type=="childList"){let o=LL(a,e.previousSibling||e.target.previousSibling,-1),r=LL(a,e.nextSibling||e.target.nextSibling,1);return{from:o?a.posAfter(o):a.posAtStart,to:r?a.posBefore(r):a.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:a.posAtStart,to:a.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(ao)!=e.state.facet(ao)&&(e.view.contentDOM.editContext=e.state.facet(ao)?this.editContext.editContext:null))}destroy(){var e,a,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(a=this.gapIntersection)===null||a===void 0||a.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function LL(t,e,a){for(;e;){let o=Be.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:a>0?e.nextSibling:e.previousSibling}return null}function CL(t,e){let a=e.startContainer,o=e.startOffset,r=e.endContainer,n=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return Ss(s.node,s.offset,r,n)&&([a,o,r,n]=[r,n,a,o]),{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}}function CR(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return CL(t,r)}let a=null;function o(r){r.preventDefault(),r.stopImmediatePropagation(),a=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",o,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",o,!0),a?CL(t,a):null}var ch=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let a=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=o=>{let r=e.state.selection.main,{anchor:n,head:s}=r,i=this.toEditorPos(o.updateRangeStart),l=this.toEditorPos(o.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:o.updateRangeStart,editorBase:i,drifted:!1});let u=l-i>o.text.length;i==this.from&&n<this.from?i=n:l==this.to&&n>this.to&&(l=n);let d=uC(e.state.sliceDoc(i,l),o.text,(u?r.from:r.to)-i,u?"end":null);if(!d){let c=V.single(this.toEditorPos(o.selectionStart),this.toEditorPos(o.selectionEnd));zl(c,r)||e.dispatch({selection:c,userEvent:"select"});return}let f={from:d.from+i,to:d.toA+i,insert:xe.of(o.text.slice(d.from,d.toB).split(`
18
- `))};if((Y.mac||Y.android)&&f.from==s-1&&/^\. ?$/.test(o.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:i,to:l,insert:xe.of([o.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let c=this.to-this.from+(f.to-f.from+f.insert.length);Ah(e,f,V.single(this.toEditorPos(o.selectionStart,c),this.toEditorPos(o.selectionEnd,c)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(a.text.slice(Math.max(0,o.updateRangeStart-1),Math.min(a.text.length,o.updateRangeStart+1)))&&this.handlers.compositionend(o)},this.handlers.characterboundsupdate=o=>{let r=[],n=null;for(let s=this.toEditorPos(o.rangeStart),i=this.toEditorPos(o.rangeEnd);s<i;s++){let l=e.coordsForChar(s);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,r.push(n)}a.updateCharacterBounds(o.rangeStart,r)},this.handlers.textformatupdate=o=>{let r=[];for(let n of o.getTextFormats()){let s=n.underlineStyle,i=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(i)){let l=this.toEditorPos(n.rangeStart),u=this.toEditorPos(n.rangeEnd);if(l<u){let d=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(i)?1:2}px`;r.push(ce.mark({attributes:{style:d}}).range(l,u))}}}e.dispatch({effects:QL.of(ce.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:o}=this.composing;this.composing=null,o&&this.reset(e.state)}};for(let o in this.handlers)a.addEventListener(o,this.handlers[o]);this.measureReq={read:o=>{this.editContext.updateControlBounds(o.contentDOM.getBoundingClientRect());let r=Bs(o.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let a=0,o=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,i,l,u)=>{if(o)return;let d=u.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(u)){r=this.pendingContextChange=null,a+=d,this.to+=d;return}else r=null,this.revertPending(e.state);if(n+=a,s+=a,s<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||s>this.to||this.to-this.from+u.length>3e4){o=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),u.toString()),this.to+=d}a+=d}),r&&!o&&this.revertPending(e.state),!o}update(e){let a=this.pendingContextChange,o=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(o.from,o.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||a)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:a}=e.selection.main;this.from=Math.max(0,a-1e4),this.to=Math.min(e.doc.length,a+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let a=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(a.from),this.toContextPos(a.from+a.insert.length),e.doc.sliceString(a.from,a.to))}setSelection(e){let{main:a}=e.selection,o=this.toContextPos(Math.max(this.from,Math.min(this.to,a.anchor))),r=this.toContextPos(a.head);(this.editContext.selectionStart!=o||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(o,r)}rangeIsValid(e){let{head:a}=e.selection.main;return!(this.from>0&&a-this.from<500||this.to<e.doc.length&&this.to-a<500||this.to-this.from>1e4*3)}toEditorPos(e,a=this.to-this.from){e=Math.min(e,a);let o=this.composing;return o&&o.drifted?o.editorBase+(e-o.contextBase):e+this.from}toContextPos(e){let a=this.composing;return a&&a.drifted?a.contextBase+(e-a.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},J=class t{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var a;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:o}=e;this.dispatchTransactions=e.dispatchTransactions||o&&(r=>r.forEach(n=>o(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||hP(e.parent)||document,this.viewState=new Wl(this,e.state||Se.create(e)),e.scrollTo&&e.scrollTo.is(wl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(xn).map(r=>new ks(r));for(let r of this.plugins)r.update(this);this.observer=new fh(this),this.inputState=new Jc(this),this.inputState.ensureHandlers(this.plugins),this.docView=new _l(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((a=document.fonts)===null||a===void 0)&&a.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let a=e.length==1&&e[0]instanceof Ye?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(a,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let a=!1,o=!1,r,n=this.state;for(let c of e){if(c.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=c.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,i=0,l=null;e.some(c=>c.annotation(mC))?(this.inputState.notifiedFocused=s,i=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=gC(n,s),l||(i=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(Se.phrases)!=this.state.facet(Se.phrases))return this.setState(n);r=Nl.create(this,n,e),r.flags|=i;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let c of e){if(f&&(f=f.map(c.changes)),c.scrollIntoView){let{main:h}=c.state.selection,{x:p,y:m}=this.state.facet(t.cursorScrollMargin);f=new vs(h.empty?h:V.cursor(h.head,h.head>h.anchor?-1:1),"nearest","nearest",m,p)}for(let h of c.effects)h.is(wl)&&(f=h.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Gl.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),a=this.docView.update(r),this.state.facet(ws)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(a,e.some(c=>c.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(kl)!=r.state.facet(kl)&&(this.viewState.mustMeasureContent=!0),(a||o||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),a&&this.docViewUpdate(),!r.empty)for(let c of this.state.facet(Hc))try{c(r)}catch(h){it(this.state,h,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!lC(this,d)&&u.force&&bn(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let a=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new Wl(this,e),this.plugins=e.facet(xn).map(o=>new ks(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView.destroy(),this.docView=new _l(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}a&&this.focus(),this.requestMeasure()}updatePlugins(e){let a=e.startState.facet(xn),o=e.state.facet(xn);if(a!=o){let r=[];for(let n of o){let s=a.indexOf(n);if(s<0)r.push(new ks(n));else{let i=this.plugins[s];i.mustUpdate=e,r.push(i)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);a!=o&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let a=e.value;if(a&&a.docViewUpdate)try{a.docViewUpdate(this)}catch(o){it(this.state,o,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let a=null,o=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let i=0;;i++){if(s<0)if(FL(o||this.win))n=-1,s=this.viewState.heightMap.height;else{let h=this.viewState.scrollAnchorAt(r);n=h.from,s=h.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(i>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(h=>{try{return h.read(this)}catch(p){return it(this.state,p),yL}}),f=Nl.create(this,this.state,[]),c=!1;f.flags|=l,a?a.flags|=l:a=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),c=this.docView.update(f),c&&this.docViewUpdate());for(let h=0;h<u.length;h++)if(d[h]!=yL)try{let p=u[h];p.write&&p.write(d[h],this)}catch(p){it(this.state,p)}if(c&&this.docView.updateSelection(!0),!f.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let p=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-s)/this.scaleY;if((p>1||p<-1)&&(o==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,o?o.scrollTop+=p:this.win.scrollBy(0,p),s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(a&&!a.empty)for(let i of this.state.facet(Hc))i(a)}get themeClasses(){return uh+" "+(this.state.facet(lh)?CC:LC)+" "+this.state.facet(kl)}updateAttrs(){let e=wL(this,eC,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),a={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ao)?"true":"false",class:"cm-content",style:`${Y.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(a["aria-readonly"]="true"),wL(this,Sh,a);let o=this.observer.ignore(()=>{let r=Qx(this.contentDOM,this.contentAttrs,a),n=Qx(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=a,o}showAnnouncements(e){let a=!0;for(let o of e)for(let r of o.effects)if(r.is(t.announce)){a&&(this.announceDOM.textContent=""),a=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(ws);let e=this.state.facet(t.cspNonce);Xt.mount(this.root,this.styleModules.concat(xR).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let a=0;a<this.measureRequests.length;a++)if(this.measureRequests[a].key===e.key){this.measureRequests[a]=e;return}}this.measureRequests.push(e)}}plugin(e){let a=this.pluginMap.get(e);return(a===void 0||a&&a.plugin!=e)&&this.pluginMap.set(e,a=this.plugins.find(o=>o.plugin==e)||null),a&&a.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,a,o){return Ic(this,e,nL(this,e,a,o))}moveByGroup(e,a){return Ic(this,e,nL(this,e,a,o=>UP(this,e.head,o)))}visualLineSide(e,a){let o=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=o[a?o.length-1:0];return V.cursor(n.side(a,r)+e.from,n.forward(!a,r)?1:-1)}moveToLineBoundary(e,a,o=!0){return zP(this,e,a,o)}moveVertically(e,a,o){return Ic(this,e,VP(this,e,a,o))}domAtPos(e,a=1){return this.docView.domAtPos(e,a)}posAtDOM(e,a=0){return this.docView.posFromDOM(e,a)}posAtCoords(e,a=!0){this.readMeasured();let o=Kc(this,e,a);return o&&o.pos}posAndSideAtCoords(e,a=!0){return this.readMeasured(),Kc(this,e,a)}coordsAtPos(e,a=1){this.readMeasured();let o=this.docView.coordsAt(e,a);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[Zt.find(n,e-r.from,-1,a)];return Fl(o,s.dir==be.LTR==a>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(ZL)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>yR)return UL(e.length);let a=this.textDirectionAt(e.from),o;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==a&&(n.fresh||zL(n.isolates,o=aL(this,e))))return n.order;o||(o=aL(this,e));let r=wP(e.text,a,o);return this.bidiCache.push(new Gl(e.from,e.to,a,o,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Y.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{OL(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,a={}){var o,r,n,s;return wl.of(new vs(typeof e=="number"?V.cursor(e):e,(o=a.y)!==null&&o!==void 0?o:"nearest",(r=a.x)!==null&&r!==void 0?r:"nearest",(n=a.yMargin)!==null&&n!==void 0?n:5,(s=a.xMargin)!==null&&s!==void 0?s:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:a}=this.scrollDOM,o=this.viewState.scrollAnchorAt(e);return wl.of(new vs(V.cursor(o.from),"start","start",o.top-e,a,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ge.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ge.define(()=>({}),{eventObservers:e})}static theme(e,a){let o=Xt.newName(),r=[kl.of(o),ws.of(dh(`.${o}`,e))];return a&&a.dark&&r.push(lh.of(!0)),r}static baseTheme(e){return ua.lowest(ws.of(dh("."+uh,e,yC)))}static findFromDOM(e){var a;let o=e.querySelector(".cm-content"),r=o&&Be.get(o)||Be.get(e);return((a=r?.root)===null||a===void 0?void 0:a.view)||null}};J.styleModule=ws;J.inputHandler=KL;J.clipboardInputFilter=bh;J.clipboardOutputFilter=Ih;J.scrollHandler=JL;J.focusChangeEffect=jL;J.perLineTextDirection=ZL;J.exceptionSink=XL;J.updateListener=Hc;J.editable=ao;J.mouseSelectionStyle=$L;J.dragMovesSelection=GL;J.clickAddsSelectionRange=WL;J.decorations=Jl;J.blockWrappers=tC;J.outerDecorations=vh;J.atomicRanges=Fs;J.bidiIsolatedRanges=aC;J.cursorScrollMargin=j.define({combine:t=>{let e=5,a=5;for(let o of t)typeof o=="number"?e=a=o:{x:e,y:a}=o;return{x:e,y:a}}});J.scrollMargins=oC;J.darkTheme=lh;J.cspNonce=j.define({combine:t=>t.length?t[0]:""});J.contentAttributes=Sh;J.editorAttributes=eC;J.lineWrapping=J.contentAttributes.of({class:"cm-lineWrapping"});J.announce=le.define();var yR=4096,yL={},Gl=class t{constructor(e,a,o,r,n,s){this.from=e,this.to=a,this.dir=o,this.isolates=r,this.fresh=n,this.order=s}static update(e,a){if(a.empty&&!e.some(n=>n.fresh))return e;let o=[],r=e.length?e[e.length-1].dir:be.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let s=e[n];s.dir==r&&!a.touchesRange(s.from,s.to)&&o.push(new t(a.mapPos(s.from,1),a.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return o}};function wL(t,e,a){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let n=o[r],s=typeof n=="function"?n(t):n;s&&Ch(s,a)}return a}var wR=Y.mac?"mac":Y.windows?"win":Y.linux?"linux":"key";function bR(t,e){let a=t.split(/-(?!$)/),o=a[a.length-1];o=="Space"&&(o=" ");let r,n,s,i;for(let l=0;l<a.length-1;++l){let u=a[l];if(/^(cmd|meta|m)$/i.test(u))i=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))n=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?i=!0:n=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),n&&(o="Ctrl-"+o),i&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function Al(t,e,a){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),a!==!1&&e.shiftKey&&(t="Shift-"+t),t}var IR=ua.default(J.domEventHandlers({keydown(t,e){return IC(wC(e.state),t,e,"editor")}})),yr=j.define({enables:IR}),bL=new WeakMap;function wC(t){let e=t.facet(yr),a=bL.get(e);return a||bL.set(e,a=vR(e.reduce((o,r)=>o.concat(r),[]))),a}function bC(t,e,a){return IC(wC(t.state),e,t,a)}var So=null,SR=4e3;function vR(t,e=wR){let a=Object.create(null),o=Object.create(null),r=(s,i)=>{let l=o[s];if(l==null)o[s]=i;else if(l!=i)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,i,l,u,d)=>{var f,c;let h=a[s]||(a[s]=Object.create(null)),p=i.split(/ (?!$)/).map(x=>bR(x,e));for(let x=1;x<p.length;x++){let C=p.slice(0,x).join(" ");r(C,!0),h[C]||(h[C]={preventDefault:!0,stopPropagation:!1,run:[L=>{let y=So={view:L,prefix:C,scope:s};return setTimeout(()=>{So==y&&(So=null)},SR),!0}]})}let m=p.join(" ");r(m,!1);let g=h[m]||(h[m]={preventDefault:!1,stopPropagation:!1,run:((c=(f=h._any)===null||f===void 0?void 0:f.run)===null||c===void 0?void 0:c.slice())||[]});l&&g.run.push(l),u&&(g.preventDefault=!0),d&&(g.stopPropagation=!0)};for(let s of t){let i=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of i){let d=a[u]||(a[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=s;for(let c in d)d[c].run.push(h=>f(h,hh))}let l=s[e]||s.key;if(l)for(let u of i)n(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return a}var hh=null;function IC(t,e,a,o){hh=e;let r=Kx(e),n=Mt(r,0),s=$t(n)==r.length&&r!=" ",i="",l=!1,u=!1,d=!1;So&&So.view==a&&So.scope==o&&(i=So.prefix+" ",fC.indexOf(e.keyCode)<0&&(u=!0,So=null));let f=new Set,c=g=>{if(g){for(let x of g.run)if(!f.has(x)&&(f.add(x),x(a)))return g.stopPropagation&&(d=!0),!0;g.preventDefault&&(g.stopPropagation&&(d=!0),u=!0)}return!1},h=t[o],p,m;return h&&(c(h[i+Al(r,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Y.windows&&e.ctrlKey&&e.altKey)&&!(Y.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=to[e.keyCode])&&p!=r?(c(h[i+Al(p,e,!0)])||e.shiftKey&&(m=mn[e.keyCode])!=r&&m!=p&&c(h[i+Al(m,e,!1)]))&&(l=!0):s&&e.shiftKey&&c(h[i+Al(r,e,!0)])&&(l=!0),!l&&c(h._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),hh=null,l}var mr=class t{constructor(e,a,o,r,n){this.className=e,this.left=a,this.top=o,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,a){return a.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,a,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let n=SC(e);return[new t(a,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return kR(e,a,o)}};function SC(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==be.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function IL(t,e,a,o){let r=t.coordsAtPos(e,a*2);if(!r)return o;let n=t.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,i=t.posAtCoords({x:n.left+1,y:s}),l=t.posAtCoords({x:n.right-1,y:s});return i==null||l==null?o:{from:Math.max(o.from,Math.min(i,l)),to:Math.min(o.to,Math.max(i,l))}}function kR(t,e,a){if(a.to<=t.viewport.from||a.from>=t.viewport.to)return[];let o=Math.max(a.from,t.viewport.from),r=Math.min(a.to,t.viewport.to),n=t.textDirection==be.LTR,s=t.contentDOM,i=s.getBoundingClientRect(),l=SC(t),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=i.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),c=i.right-(d?parseInt(d.paddingRight):0),h=Xc(t,o,1),p=Xc(t,r,-1),m=h.type==lt.Text?h:null,g=p.type==lt.Text?p:null;if(m&&(t.lineWrapping||h.widgetLineBreaks)&&(m=IL(t,o,1,m)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=IL(t,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return C(L(a.from,a.to,m));{let S=m?L(a.from,null,m):y(h,!1),w=g?L(null,a.to,g):y(p,!0),b=[];return(m||h).to<(g||p).from-(m&&g?1:0)||h.widgetLineBreaks>1&&S.bottom+t.defaultLineHeight/2<w.top?b.push(x(f,S.bottom,c,w.top)):S.bottom<w.top&&t.elementAtHeight((S.bottom+w.top)/2).type==lt.Text&&(S.bottom=w.top=(S.bottom+w.top)/2),C(S).concat(b).concat(C(w))}function x(S,w,b,I){return new mr(e,S-l.left,w-l.top,Math.max(0,b-S),I-w)}function C({top:S,bottom:w,horizontal:b}){let I=[];for(let v=0;v<b.length;v+=2)I.push(x(b[v],S,b[v+1],w));return I}function L(S,w,b){let I=1e9,v=-1e9,N=[];function P(k,D,M,T,E){let B=t.coordsAtPos(k,k==b.to?-2:2),A=t.coordsAtPos(M,M==b.from?2:-2);!B||!A||(I=Math.min(B.top,A.top,I),v=Math.max(B.bottom,A.bottom,v),E==be.LTR?N.push(n&&D?f:B.left,n&&T?c:A.right):N.push(!n&&T?f:A.left,!n&&D?c:B.right))}let R=S??b.from,H=w??b.to;for(let k of t.visibleRanges)if(k.to>R&&k.from<H)for(let D=Math.max(k.from,R),M=Math.min(k.to,H);;){let T=t.state.doc.lineAt(D);for(let E of t.bidiSpans(T)){let B=E.from+T.from,A=E.to+T.from;if(B>=M)break;A>D&&P(Math.max(B,D),S==null&&B<=R,Math.min(A,M),w==null&&A>=H,E.dir)}if(D=T.to+1,D>=M)break}return N.length==0&&P(R,S==null,H,w==null,t.textDirection),{top:I,bottom:v,horizontal:N}}function y(S,w){let b=i.top+(w?S.top:S.bottom);return{top:b,bottom:b,horizontal:[]}}}function AR(t,e){return t.constructor==e.constructor&&t.eq(e)}var ph=class{constructor(e,a){this.view=e,this.layer=a,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),a.above&&this.dom.classList.add("cm-layer-above"),a.class&&this.dom.classList.add(a.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),a.mount&&a.mount(this.dom,e)}update(e){e.startState.facet(Tl)!=e.state.facet(Tl)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let a=0,o=e.facet(Tl);for(;a<o.length&&o[a]!=this.layer;)a++;this.dom.style.zIndex=String((this.layer.above?150:-1)-a)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:a}=this.view;(e!=this.scaleX||a!=this.scaleY)&&(this.scaleX=e,this.scaleY=a,this.dom.style.transform=`scale(${1/e}, ${1/a})`)}draw(e){if(e.length!=this.drawn.length||e.some((a,o)=>!AR(a,this.drawn[o]))){let a=this.dom.firstChild,o=0;for(let r of e)r.update&&a&&r.constructor&&this.drawn[o].constructor&&r.update(a,this.drawn[o])?(a=a.nextSibling,o++):this.dom.insertBefore(r.draw(),a);for(;a;){let r=a.nextSibling;a.remove(),a=r}this.drawn=e,Y.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Tl=j.define();function vC(t){return[Ge.define(e=>new ph(e,t)),Tl.of(t)]}var Mn=j.define({combine(t){return Pt(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,a)=>Math.min(e,a),drawRangeCursor:(e,a)=>e||a})}});function kC(t={}){return[Mn.of(t),MR,PR,RR,YL.of(!0)]}function AC(t){return t.startState.facet(Mn)!=t.state.facet(Mn)}var MR=vC({above:!0,markers(t){let{state:e}=t,a=e.facet(Mn),o=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||a.drawRangeCursor&&!(n&&Y.ios&&a.iosSelectionHandles)){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:V.cursor(r.head,r.assoc);for(let l of mr.forRange(t,s,i))o.push(l)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let a=AC(t);return a&&SL(t.state,e),t.docChanged||t.selectionSet||a},mount(t,e){SL(e.state,t)},class:"cm-cursorLayer"});function SL(t,e){e.style.animationDuration=t.facet(Mn).cursorBlinkRate+"ms"}var PR=vC({above:!1,markers(t){let e=[],{main:a,ranges:o}=t.state.selection;for(let r of o)if(!r.empty)for(let n of mr.forRange(t,"cm-selectionBackground",r))e.push(n);if(Y.ios&&!a.empty&&t.state.facet(Mn).iosSelectionHandles){for(let r of mr.forRange(t,"cm-selectionHandle cm-selectionHandle-start",V.cursor(a.from,1)))e.push(r);for(let r of mr.forRange(t,"cm-selectionHandle cm-selectionHandle-end",V.cursor(a.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||AC(t)},class:"cm-selectionLayer"}),RR=ua.highest(J.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));var NG=/x/.unicode!=null?"gu":"g";function MC(){return TR}var DR=ce.line({class:"cm-activeLine"}),TR=Ge.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,a=[];for(let o of t.state.selection.ranges){let r=t.lineBlockAt(o.head);r.from>e&&(a.push(DR.range(r.from)),e=r.from)}return ce.set(a)}},{decorations:t=>t.decorations});var Ml="-10000px",$l=class{constructor(e,a,o,r){this.facet=a,this.createTooltipView=o,this.removeTooltipView=r,this.input=e.state.facet(a),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=o(s,n))}update(e,a){var o;let r=e.state.facet(this.facet),n=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],i=a?[]:null;for(let l=0;l<n.length;l++){let u=n[l],d=-1;if(u){for(let f=0;f<this.tooltips.length;f++){let c=this.tooltips[f];c&&c.create==u.create&&(d=f)}if(d<0)s[l]=this.createTooltipView(u,l?s[l-1]:null),i&&(i[l]=!!u.above);else{let f=s[l]=this.tooltipViews[d];i&&(i[l]=a[d]),f.update&&f.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(o=l.destroy)===null||o===void 0||o.call(l));return a&&(i.forEach((l,u)=>a[u]=l),a.length=i.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function ER(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var vc=j.define({combine:t=>{var e,a,o;return{position:Y.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((a=t.find(r=>r.parent))===null||a===void 0?void 0:a.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||ER}}}),vL=new WeakMap,Mh=Ge.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(vc);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new $l(t,Pn,(a,o)=>this.createTooltip(a,o),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let a=e||t.geometryChanged,o=t.state.facet(vc);if(o.position!=this.position&&!this.madeAbsolute){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;a=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);a=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);a&&this.maybeMeasure()}createTooltip(t,e){let a=t.create(this.view),o=e?e.dom:null;if(a.dom.classList.add("cm-tooltip"),t.arrow&&!a.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",a.dom.appendChild(r)}return a.dom.style.position=this.position,a.dom.style.top=Ml,a.dom.style.left="0px",this.container.insertBefore(a.dom,o),a.mount&&a.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(a.dom),a}destroy(){var t,e,a;this.view.win.removeEventListener("resize",this.measureSoon);for(let o of this.manager.tooltipViews)o.dom.remove(),(t=o.destroy)===null||t===void 0||t.call(o);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(a=this.intersectionObserver)===null||a===void 0||a.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,a=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Y.safari){let s=n.getBoundingClientRect();a=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else a=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(a||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(t=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let o=this.view.scrollDOM.getBoundingClientRect(),r=kh(this.view);return{visible:{left:o.left+r.left,top:o.top+r.top,right:o.right-r.right,bottom:o.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let i=this.manager.tooltipViews[s];return i.getCoords?i.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(vc).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:a}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let i of this.manager.tooltipViews)i.dom.style.position="absolute"}let{visible:a,space:o,scaleX:r,scaleY:n}=t,s=[];for(let i=0;i<this.manager.tooltips.length;i++){let l=this.manager.tooltips[i],u=this.manager.tooltipViews[i],{dom:d}=u,f=t.pos[i],c=t.size[i];if(!f||l.clip!==!1&&(f.bottom<=Math.max(a.top,o.top)||f.top>=Math.min(a.bottom,o.bottom)||f.right<Math.max(a.left,o.left)-.1||f.left>Math.min(a.right,o.right)+.1)){d.style.top=Ml;continue}let h=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=h?7:0,m=c.right-c.left,g=(e=vL.get(u))!==null&&e!==void 0?e:c.bottom-c.top,x=u.offset||OR,C=this.view.textDirection==be.LTR,L=c.width>o.right-o.left?C?o.left:o.right-c.width:C?Math.max(o.left,Math.min(f.left-(h?14:0)+x.x,o.right-m)):Math.min(Math.max(o.left,f.left-m+(h?14:0)-x.x),o.right-m),y=this.above[i];!l.strictSide&&(y?f.top-g-p-x.y<o.top:f.bottom+g+p+x.y>o.bottom)&&y==o.bottom-f.bottom>f.top-o.top&&(y=this.above[i]=!y);let S=(y?f.top-o.top:o.bottom-f.bottom)-p;if(S<g&&u.resize!==!1){if(S<this.view.defaultLineHeight){d.style.top=Ml;continue}vL.set(u,g),d.style.height=(g=S)/n+"px"}else d.style.height&&(d.style.height="");let w=y?f.top-g-p-x.y:f.bottom+p+x.y,b=L+m;if(u.overlap!==!0)for(let I of s)I.left<b&&I.right>L&&I.top<w+g&&I.bottom>w&&(w=y?I.top-g-2-p:I.bottom+p+2);if(this.position=="absolute"?(d.style.top=(w-t.parent.top)/n+"px",kL(d,(L-t.parent.left)/r)):(d.style.top=w/n+"px",kL(d,L/r)),h){let I=f.left+(C?x.x:-x.x)-(L+14-7);h.style.left=I/r+"px"}u.overlap!==!0&&s.push({left:L,top:w,right:b,bottom:w+g}),d.classList.toggle("cm-tooltip-above",y),d.classList.toggle("cm-tooltip-below",!y),u.positioned&&u.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Ml}},{eventObservers:{scroll(){this.maybeMeasure()}}});function kL(t,e){let a=parseInt(t.style.left,10);(isNaN(a)||Math.abs(e-a)>1)&&(t.style.left=e+"px")}var BR=J.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),OR={x:0,y:0},Pn=j.define({enables:[Mh,BR]}),Xl=j.define({combine:t=>t.reduce((e,a)=>e.concat(a),[])}),Kl=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new $l(e,Xl,(a,o)=>this.createHostedView(a,o),a=>a.dom.remove())}createHostedView(e,a){let o=e.create(this.view);return o.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(o.dom,a?a.dom.nextSibling:this.dom.firstChild),this.mounted&&o.mount&&o.mount(this.view),o}mount(e){for(let a of this.manager.tooltipViews)a.mount&&a.mount(e);this.mounted=!0}positioned(e){for(let a of this.manager.tooltipViews)a.positioned&&a.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let a of this.manager.tooltipViews)(e=a.destroy)===null||e===void 0||e.call(a)}passProp(e){let a;for(let o of this.manager.tooltipViews){let r=o[e];if(r!==void 0){if(a===void 0)a=r;else if(a!==r)return}}return a}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},FR=Pn.compute([Xl],t=>{let e=t.facet(Xl);return e.length===0?null:{pos:Math.min(...e.map(a=>a.pos)),end:Math.max(...e.map(a=>{var o;return(o=a.end)!==null&&o!==void 0?o:a.pos})),create:Kl.create,above:e[0].above,arrow:e.some(a=>a.arrow)}}),NR=j.define(),mh=class{constructor(e,a,o,r,n,s){this.view=e,this.source=a,this.field=o,this.locked=r,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:a}=this,o=e.docView.tile.nearest(a.target);if(!o)return;let r,n=1;if(o.isWidget())r=o.posAtStart;else{if(r=e.posAtCoords(a),r==null)return;let s=e.coordsAtPos(r);if(!s||a.y<s.top||a.y>s.bottom||a.x<s.left-e.defaultCharacterWidth||a.x>s.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=i&&i.dir==be.RTL?-1:1;n=a.x<s.left?-l:l}this.activateHover(e,r,n)}activateHover(e,a,o,r){let n=this.source(e,a,o),s=i=>{if(i&&!(Array.isArray(i)&&!i.length)){let l=Array.isArray(i)?i:[i];r&&this.locked.set(l,r),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let i=this.pending={pos:a};n.then(l=>{this.pending==i&&(this.pending=null,s(l))},l=>it(e.state,l,"hover tooltip"))}else s(n)}get tooltip(){let e=this.view.plugin(Mh),a=e?e.manager.tooltips.findIndex(o=>o.create==Kl.create):-1;return a>-1?e.manager.tooltipViews[a]:null}mousemove(e){var a,o;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&!this.locked.has(r)&&n&&!HR(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,i=(o=(a=r[0])===null||a===void 0?void 0:a.end)!==null&&o!==void 0?o:s;(s==i?this.view.posAtCoords(this.lastMove)!=s:!_R(this.view,s,i,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:a}=this;if(a.length&&!this.locked.has(a)){let{tooltip:o}=this;o&&o.dom.contains(e.relatedTarget)?this.watchTooltipLeave(o.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let a=o=>{e.removeEventListener("mouseleave",a);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(o.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",a)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Pl=4;function HR(t,e){let{left:a,right:o,top:r,bottom:n}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let i=s.getBoundingClientRect();r=Math.min(i.top,r),n=Math.max(i.bottom,n)}return e.clientX>=a-Pl&&e.clientX<=o+Pl&&e.clientY>=r-Pl&&e.clientY<=n+Pl}function _R(t,e,a,o,r,n){let s=t.scrollDOM.getBoundingClientRect(),i=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>o||s.right<o||s.top>r||Math.min(s.bottom,i)<r)return!1;let l=t.posAtCoords({x:o,y:r},!1);return l>=e&&l<=a}function eu(t,e={}){let a=le.define(),o=new WeakMap,r=He.define({create(){return[]},update(s,i){let l=o.get(s);if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:l&&l(i)?s=[]:e.hideOn&&(s=s.filter(u=>!e.hideOn(i,u)))),i.docChanged&&s.length){let u=[];for(let d of s){let f=i.changes.mapPos(d.pos,-1,st.TrackDel);if(f!=null){let c=Object.assign(Object.create(null),d);c.pos=f,c.end!=null&&(c.end=i.changes.mapPos(c.end)),u.push(c)}}s=u}for(let u of i.effects)u.is(a)&&(s=u.value,l=void 0),(u.is(qR)&&!u.value||u.value==r)&&(s=[]);return s.length&&l&&o.set(s,l),s},provide:s=>Xl.from(s)}),n=Ge.define(s=>new mh(s,t,r,o,a,e.hoverTime||300));return{active:r,extension:[r,n,NR.of(n),FR]}}function Ph(t,e){let a=t.plugin(Mh);if(!a)return null;let o=a.manager.tooltips.indexOf(e);return o<0?null:a.manager.tooltipViews[o]}var qR=le.define();var AL=j.define({combine(t){let e,a;for(let o of t)e=e||o.topContainer,a=a||o.bottomContainer;return{topContainer:e,bottomContainer:a}}});function tu(t,e){let a=t.plugin(PC),o=a?a.specs.indexOf(e):-1;return o>-1?a.panels[o]:null}var PC=Ge.fromClass(class{constructor(t){this.input=t.state.facet(Cr),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(a=>a(t));let e=t.state.facet(AL);this.top=new Cn(t,!0,e.topContainer),this.bottom=new Cn(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top));for(let a of this.panels)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}update(t){let e=t.state.facet(AL);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Cn(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Cn(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let a=t.state.facet(Cr);if(a!=this.input){let o=a.filter(l=>l),r=[],n=[],s=[],i=[];for(let l of o){let u=this.specs.indexOf(l),d;u<0?(d=l(t.view),i.push(d)):(d=this.panels[u],d.update&&d.update(t)),r.push(d),(d.top?n:s).push(d)}this.specs=o,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let l of i)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let o of this.panels)o.update&&o.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>J.scrollMargins.of(e=>{let a=e.plugin(t);return a&&{top:a.top.scrollMargin(),bottom:a.bottom.scrollMargin()}})}),Cn=class{constructor(e,a,o){this.view=e,this.top=a,this.container=o,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let a of this.panels)a.destroy&&e.indexOf(a)<0&&a.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let e=this.dom.firstChild;for(let a of this.panels)if(a.dom.parentNode==this.dom){for(;e!=a.dom;)e=ML(e);e=e.nextSibling}else this.dom.insertBefore(a.dom,e);for(;e;)e=ML(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function ML(t){let e=t.nextSibling;return t.remove(),e}var Cr=j.define({enables:PC});function RC(t,e){let a,o=new Promise(s=>a=s),r=s=>zR(s,e,a);t.state.field(kc,!1)?t.dispatch({effects:DC.of(r)}):t.dispatch({effects:le.appendConfig.of(kc.init(()=>[r]))});let n=TC.of(r);return{close:n,result:o.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(kc).indexOf(r)>-1&&t.dispatch({effects:n})}),s))}}var kc=He.define({create(){return[]},update(t,e){for(let a of e.effects)a.is(DC)?t=[a.value].concat(t):a.is(TC)&&(t=t.filter(o=>o!=a.value));return t},provide:t=>Cr.computeN([t],e=>e.field(t))}),DC=le.define(),TC=le.define();function zR(t,e,a){let o=e.content?e.content(t,()=>s(null)):null;if(!o){if(o=ye("form"),e.input){let i=ye("input",e.input);/^(text|password|number|email|tel|url)$/.test(i.type)&&i.classList.add("cm-textfield"),i.name||(i.name="input"),o.appendChild(ye("label",(e.label||"")+": ",i))}else o.appendChild(document.createTextNode(e.label||""));o.appendChild(document.createTextNode(" ")),o.appendChild(ye("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=o.nodeName=="FORM"?[o]:o.querySelectorAll("form");for(let i=0;i<r.length;i++){let l=r[i];l.addEventListener("keydown",u=>{u.keyCode==27?(u.preventDefault(),s(null)):u.keyCode==13&&(u.preventDefault(),s(l))}),l.addEventListener("submit",u=>{u.preventDefault(),s(l)})}let n=ye("div",o,ye("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function s(i){n.contains(n.ownerDocument.activeElement)&&t.focus(),a(i)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let i;typeof e.focus=="string"?i=o.querySelector(e.focus):i=o.querySelector("input")||o.querySelector("button"),i&&"select"in i?i.select():i&&"focus"in i&&i.focus()}}}}var Yt=class extends Gt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Yt.prototype.elementClass="";Yt.prototype.toDOM=void 0;Yt.prototype.mapMode=st.TrackBefore;Yt.prototype.startSide=Yt.prototype.endSide=-1;Yt.prototype.point=!0;var Ac=j.define(),UR=j.define(),VR={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Ce.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Rs=j.define();function Rh(t){return[EC(),Rs.of({...VR,...t})]}var gh=j.define({combine:t=>t.some(e=>e)});function EC(t){let e=[WR];return t&&t.fixed===!1&&e.push(gh.of(!0)),e}var WR=Ge.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Rs).map(e=>new jl(t,e)),this.fixed=!t.state.facet(gh);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,a=t.view.viewport,o=Math.min(e.to,a.to)-Math.max(e.from,a.from);this.syncGutters(o<(a.to-a.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(gh)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let a=Ce.iter(this.view.state.facet(Ac),this.view.viewport.from),o=[],r=this.gutters.map(n=>new Lh(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(n.type)){let s=!0;for(let i of n.type)if(i.type==lt.Text&&s){xh(a,o,i.from);for(let l of r)l.line(this.view,i,o);s=!1}else if(i.widget)for(let l of r)l.widget(this.view,i)}else if(n.type==lt.Text){xh(a,o,n.from);for(let s of r)s.line(this.view,n,o)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Rs),a=t.state.facet(Rs),o=t.docChanged||t.heightChanged||t.viewportChanged||!Ce.eq(t.startState.facet(Ac),t.state.facet(Ac),t.view.viewport.from,t.view.viewport.to);if(e==a)for(let r of this.gutters)r.update(t)&&(o=!0);else{o=!0;let r=[];for(let n of a){let s=e.indexOf(n);s<0?r.push(new jl(this.view,n)):(this.gutters[s].update(t),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>J.scrollMargins.of(e=>{let a=e.plugin(t);if(!a||a.gutters.length==0||!a.fixed)return null;let o=a.dom.offsetWidth*e.scaleX,r=a.domAfter?a.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==be.LTR?{left:o,right:r}:{right:o,left:r}})});function PL(t){return Array.isArray(t)?t:[t]}function xh(t,e,a){for(;t.value&&t.from<=a;)t.from==a&&e.push(t.value),t.next()}var Lh=class{constructor(e,a,o){this.gutter=e,this.height=o,this.i=0,this.cursor=Ce.iter(e.markers,a.from)}addElement(e,a,o){let{gutter:r}=this,n=(a.top-this.height)/e.scaleY,s=a.height/e.scaleY;if(this.i==r.elements.length){let i=new Zl(e,s,n,o);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(e,s,n,o);this.height=a.bottom,this.i++}line(e,a,o){let r=[];xh(this.cursor,r,a.from),o.length&&(r=r.concat(o));let n=this.gutter.config.lineMarker(e,a,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,a,r)}widget(e,a){let o=this.gutter.config.widgetMarker(e,a.widget,a),r=o?[o]:null;for(let n of e.state.facet(UR)){let s=n(e,a.widget,a);s&&(r||(r=[])).push(s)}r&&this.addElement(e,a,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let a=e.elements.pop();e.dom.removeChild(a.dom),a.destroy()}}},jl=class{constructor(e,a){this.view=e,this.config=a,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let o in a.domEventHandlers)this.dom.addEventListener(o,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=r.clientY;let i=e.lineBlockAtHeight(s-e.documentTop);a.domEventHandlers[o](e,i,r)&&r.preventDefault()});this.markers=PL(a.markers(e)),a.initialSpacer&&(this.spacer=new Zl(e,0,0,[a.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let a=this.markers;if(this.markers=PL(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let o=e.view.viewport;return!Ce.eq(this.markers,a,o.from,o.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},Zl=class{constructor(e,a,o,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,a,o,r)}update(e,a,o,r){this.height!=a&&(this.height=a,this.dom.style.height=a+"px"),this.above!=o&&(this.dom.style.marginTop=(this.above=o)?o+"px":""),GR(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,a){let o="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let i=s,l=n<a.length?a[n++]:null,u=!1;if(l){let d=l.elementClass;d&&(o+=" "+d);for(let f=s;f<this.markers.length;f++)if(this.markers[f].compare(l)){i=f,u=!0;break}}else i=this.markers.length;for(;s<i;){let d=this.markers[s++];if(d.toDOM){d.destroy(r);let f=r.nextSibling;r.remove(),r=f}}if(!l)break;l.toDOM&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),u&&s++}this.dom.className=o,this.markers=a}destroy(){this.setMarkers(null,[])}};function GR(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].compare(e[a]))return!1;return!0}var $R=j.define(),XR=j.define(),yn=j.define({combine(t){return Pt(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,a){let o=Object.assign({},e);for(let r in a){let n=o[r],s=a[r];o[r]=n?(i,l,u)=>n(i,l,u)||s(i,l,u):s}return o}})}}),Ds=class extends Yt{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Mc(t,e){return t.state.facet(yn).formatNumber(e,t.state)}var KR=Rs.compute([yn],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet($R)},lineMarker(e,a,o){return o.some(r=>r.toDOM)?null:new Ds(Mc(e,e.state.doc.lineAt(a.from).number))},widgetMarker:(e,a,o)=>{for(let r of e.state.facet(XR)){let n=r(e,a,o);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(yn)!=e.state.facet(yn),initialSpacer(e){return new Ds(Mc(e,RL(e.state.doc.lines)))},updateSpacer(e,a){let o=Mc(a.view,RL(a.view.state.doc.lines));return o==e.number?e:new Ds(o)},domEventHandlers:t.facet(yn).domEventHandlers,side:"before"}));function BC(t={}){return[yn.of(t),EC(),KR]}function RL(t){let e=9;for(;e<t;)e=e*10+9;return e}var jR=0,Ns=class{constructor(e,a){this.from=e,this.to=a}},fe=class{constructor(e={}){this.id=jR++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Ct.match(e)),a=>{let o=e(a);return o===void 0?null:[this,o]}}};fe.closedBy=new fe({deserialize:t=>t.split(" ")});fe.openedBy=new fe({deserialize:t=>t.split(" ")});fe.group=new fe({deserialize:t=>t.split(" ")});fe.isolate=new fe({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});fe.contextHash=new fe({perNode:!0});fe.lookAhead=new fe({perNode:!0});fe.mounted=new fe({perNode:!0});var wr=class{constructor(e,a,o,r=!1){this.tree=e,this.overlay=a,this.parser=o,this.bracketed=r}static get(e){return e&&e.props&&e.props[fe.mounted.id]}},ZR=Object.create(null),Ct=class t{constructor(e,a,o,r=0){this.name=e,this.props=a,this.id=o,this.flags=r}static define(e){let a=e.props&&e.props.length?Object.create(null):ZR,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new t(e.name||"",a,e.id,o);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");a[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let a=this.prop(fe.group);return a?a.indexOf(e)>-1:!1}return this.id==e}static match(e){let a=Object.create(null);for(let o in e)for(let r of o.split(" "))a[r]=e[o];return o=>{for(let r=o.prop(fe.group),n=-1;n<(r?r.length:0);n++){let s=a[n<0?o.name:r[n]];if(s)return s}}}};Ct.none=new Ct("",Object.create(null),0,8);var ru=class t{constructor(e){this.types=e;for(let a=0;a<e.length;a++)if(e[a].id!=a)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let a=[];for(let o of this.types){let r=null;for(let n of e){let s=n(o);if(s){r||(r=Object.assign({},o.props));let i=s[1],l=s[0];l.combine&&l.id in r&&(i=l.combine(r[l.id],i)),r[l.id]=i}}a.push(r?new Ct(o.name,r,o.id,o.flags):o)}return new t(a)}},au=new WeakMap,OC=new WeakMap,_e;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(_e||(_e={}));var Oe=class t{constructor(e,a,o,r,n){if(this.type=e,this.children=a,this.positions=o,this.length=r,this.props=null,n&&n.length){this.props=Object.create(null);for(let[s,i]of n)this.props[typeof s=="number"?s:s.id]=i}}toString(){let e=wr.get(this);if(e&&!e.overlay)return e.tree.toString();let a="";for(let o of this.children){let r=o.toString();r&&(a&&(a+=","),a+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(a.length?"("+a+")":""):a}cursor(e=0){return new qs(this.topNode,e)}cursorAt(e,a=0,o=0){let r=au.get(this)||this.topNode,n=new qs(r);return n.moveTo(e,a),au.set(this,n._tree),n}get topNode(){return new Ta(this,0,0,null)}resolve(e,a=0){let o=Hs(au.get(this)||this.topNode,e,a,!1);return au.set(this,o),o}resolveInner(e,a=0){let o=Hs(OC.get(this)||this.topNode,e,a,!0);return OC.set(this,o),o}resolveStack(e,a=0){return YR(this,e,a)}iterate(e){let{enter:a,leave:o,from:r=0,to:n=this.length}=e,s=e.mode||0,i=(s&_e.IncludeAnonymous)>0;for(let l=this.cursor(s|_e.IncludeAnonymous);;){let u=!1;if(l.from<=n&&l.to>=r&&(!i&&l.type.isAnonymous||a(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(i||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let a in this.props)e.push([+a,this.props[a]]);return e}balance(e={}){return this.children.length<=8?this:Nh(Ct.none,this.children,this.positions,0,this.children.length,0,this.length,(a,o,r)=>new t(this.type,a,o,r,this.propValues),e.makeTree||((a,o,r)=>new t(Ct.none,a,o,r)))}static build(e){return JR(e)}};Oe.empty=new Oe(Ct.none,[],[],0);var Dh=class t{constructor(e,a){this.buffer=e,this.index=a}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},Mo=class t{constructor(e,a,o){this.buffer=e,this.length=a,this.set=o}get type(){return Ct.none}toString(){let e=[];for(let a=0;a<this.buffer.length;)e.push(this.childString(a)),a=this.buffer[a+3];return e.join(",")}childString(e){let a=this.buffer[e],o=this.buffer[e+3],r=this.set.types[a],n=r.name;if(/\W/.test(n)&&!r.isError&&(n=JSON.stringify(n)),e+=4,o==e)return n;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,a,o,r,n){let{buffer:s}=this,i=-1;for(let l=e;l!=a&&!(HC(n,r,s[l+1],s[l+2])&&(i=l,o>0));l=s[l+3]);return i}slice(e,a,o){let r=this.buffer,n=new Uint16Array(a-e),s=0;for(let i=e,l=0;i<a;){n[l++]=r[i++],n[l++]=r[i++]-o;let u=n[l++]=r[i++]-o;n[l++]=r[i++]-e,s=Math.max(s,u)}return new t(n,s,this.set)}};function HC(t,e,a,o){switch(t){case-2:return a<e;case-1:return o>=e&&a<e;case 0:return a<e&&o>e;case 1:return a<=e&&o>e;case 2:return o>e;case 4:return!0}}function Hs(t,e,a,o){for(var r;t.from==t.to||(a<1?t.from>=e:t.from>e)||(a>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Ta&&t.index<0?null:t.parent;if(!s)return t;t=s}let n=o?0:_e.IgnoreOverlays;if(o)for(let s=t,i=s.parent;i;s=i,i=s.parent)s instanceof Ta&&s.index<0&&((r=i.enter(e,a,n))===null||r===void 0?void 0:r.from)!=s.from&&(t=i);for(;;){let s=t.enter(e,a,n);if(!s)return t;t=s}}var nu=class{cursor(e=0){return new qs(this,e)}getChild(e,a=null,o=null){let r=FC(this,e,a,o);return r.length?r[0]:null}getChildren(e,a=null,o=null){return FC(this,e,a,o)}resolve(e,a=0){return Hs(this,e,a,!1)}resolveInner(e,a=0){return Hs(this,e,a,!0)}matchContext(e){return Th(this.parent,e)}enterUnfinishedNodesBefore(e){let a=this.childBefore(e),o=this;for(;a;){let r=a.lastChild;if(!r||r.to!=a.to)break;r.type.isError&&r.from==r.to?(o=a,a=r.prevSibling):a=r}return o}get node(){return this}get next(){return this.parent}},Ta=class t extends nu{constructor(e,a,o,r){super(),this._tree=e,this.from=a,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,a,o,r,n=0){for(let s=this;;){for(let{children:i,positions:l}=s._tree,u=a>0?i.length:-1;e!=u;e+=a){let d=i[e],f=l[e]+s.from,c;if(!(!(n&_e.EnterBracketed&&d instanceof Oe&&(c=wr.get(d))&&!c.overlay&&c.bracketed&&o>=f&&o<=f+d.length)&&!HC(r,o,f,f+d.length))){if(d instanceof Mo){if(n&_e.ExcludeBuffers)continue;let h=d.findChild(0,d.buffer.length,a,o-f,r);if(h>-1)return new _s(new Eh(s,d,e,f),null,h)}else if(n&_e.IncludeAnonymous||!d.type.isAnonymous||Fh(d)){let h;if(!(n&_e.IgnoreMounts)&&(h=wr.get(d))&&!h.overlay)return new t(h.tree,f,e,s);let p=new t(d,f,e,s);return n&_e.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(a<0?d.children.length-1:0,a,o,r,n)}}}if(n&_e.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+a:e=a<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,a,o=0){let r;if(!(o&_e.IgnoreOverlays)&&(r=wr.get(this._tree))&&r.overlay){let n=e-this.from,s=o&_e.EnterBracketed&&r.bracketed;for(let{from:i,to:l}of r.overlay)if((a>0||s?i<=n:i<n)&&(a<0||s?l>=n:l>n))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,a,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function FC(t,e,a,o){let r=t.cursor(),n=[];if(!r.firstChild())return n;if(a!=null){for(let s=!1;!s;)if(s=r.type.is(a),!r.nextSibling())return n}for(;;){if(o!=null&&r.type.is(o))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return o==null?n:[]}}function Th(t,e,a=e.length-1){for(let o=t;a>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[a]&&e[a]!=o.name)return!1;a--}}return!0}var Eh=class{constructor(e,a,o,r){this.parent=e,this.buffer=a,this.index=o,this.start=r}},_s=class t extends nu{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,a,o){super(),this.context=e,this._parent=a,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,a,o){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.context.start,o);return n<0?null:new t(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,a,o=0){if(o&_e.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],a>0?1:-1,e-this.context.start,a);return n<0?null:new t(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,a=e.buffer[this.index+3];return a<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,a):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,a=this._parent?this._parent.index+4:0;return this.index==a?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(a,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],a=[],{buffer:o}=this.context,r=this.index+4,n=o.buffer[this.index+3];if(n>r){let s=o.buffer[this.index+1];e.push(o.slice(r,n,s)),a.push(0)}return new Oe(this.type,e,a,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function _C(t){if(!t.length)return null;let e=0,a=t[0];for(let n=1;n<t.length;n++){let s=t[n];(s.from>a.from||s.to<a.to)&&(a=s,e=n)}let o=a instanceof Ta&&a.index<0?null:a.parent,r=t.slice();return o?r[e]=o:r.splice(e,1),new Bh(r,a)}var Bh=class{constructor(e,a){this.heads=e,this.node=a}get next(){return _C(this.heads)}};function YR(t,e,a){let o=t.resolveInner(e,a),r=null;for(let n=o instanceof Ta?o:o.context.parent;n;n=n.parent)if(n.index<0){let s=n.parent;(r||(r=[o])).push(s.resolve(e,a)),n=s}else{let s=wr.get(n.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let i=new Ta(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[o])).push(Hs(i,e,a,!1))}}return r?_C(r):o}var qs=class{get name(){return this.type.name}constructor(e,a=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=a&~_e.EnterBracketed,e instanceof Ta)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,a){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=a||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Ta?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,a,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,a,o,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.buffer.start,o);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,a,o=this.mode){return this.buffer?o&_e.ExcludeBuffers?!1:this.enterChild(1,e,a):this.yield(this._tree.enter(e,a,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&_e.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&_e.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:a}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(a.findChild(r,this.index,-1,0,4))}else{let r=a.buffer[this.index+3];if(r<(o<0?a.buffer.length:a.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let a,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(r.buffer.buffer[n+3]<this.index)return!1;({index:a,parent:o}=r)}else({index:a,_parent:o}=this._tree);for(;o;{index:a,_parent:o}=o)if(a>-1)for(let n=a+e,s=e<0?-1:o._tree.children.length;n!=s;n+=e){let i=o._tree.children[n];if(this.mode&_e.IncludeAnonymous||i instanceof Mo||!i.type.isAnonymous||Fh(i))return!1}return!0}move(e,a){if(a&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,a=0){for(;(this.from==this.to||(a<1?this.from>=e:this.from>e)||(a>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,a););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,a=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;a=s,o=n+1;break e}r=this.stack[--n]}for(let r=o;r<this.stack.length;r++)a=new _s(this.buffer,a,this.stack[r]);return this.bufferNode=new _s(this.buffer,a,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,a){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&a&&a(this),r=this.type.isAnonymous,!o)return;if(this.nextSibling())break;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return Th(this.node.parent,e);let{buffer:a}=this.buffer,{types:o}=a.set;for(let r=e.length-1,n=this.stack.length-1;r>=0;n--){if(n<0)return Th(this._tree,e,r);let s=o[a.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function Fh(t){return t.children.some(e=>e instanceof Mo||!e.type.isAnonymous||Fh(e))}function JR(t){var e;let{buffer:a,nodeSet:o,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=o.types.length}=t,i=Array.isArray(a)?new Dh(a,a.length):a,l=o.types,u=0,d=0;function f(S,w,b,I,v,N){let{id:P,start:R,end:H,size:k}=i,D=d,M=u;if(k<0)if(i.next(),k==-1){let q=n[P];b.push(q),I.push(R-S);return}else if(k==-3){u=P;return}else if(k==-4){d=P;return}else throw new RangeError(`Unrecognized record size: ${k}`);let T=l[P],E,B,A=R-S;if(H-R<=r&&(B=g(i.pos-w,v))){let q=new Uint16Array(B.size-B.skip),F=i.pos-B.size,G=q.length;for(;i.pos>F;)G=x(B.start,q,G);E=new Mo(q,H-B.start,o),A=B.start-S}else{let q=i.pos-k;i.next();let F=[],G=[],_=P>=s?P:-1,O=0,U=H;for(;i.pos>q;)_>=0&&i.id==_&&i.size>=0?(i.end<=U-r&&(p(F,G,R,O,i.end,U,_,D,M),O=F.length,U=i.end),i.next()):N>2500?c(R,q,F,G):f(R,q,F,G,_,N+1);if(_>=0&&O>0&&O<F.length&&p(F,G,R,O,R,U,_,D,M),F.reverse(),G.reverse(),_>-1&&O>0){let X=h(T,M);E=Nh(T,F,G,0,F.length,0,H-R,X,X)}else E=m(T,F,G,H-R,D-H,M)}b.push(E),I.push(A)}function c(S,w,b,I){let v=[],N=0,P=-1;for(;i.pos>w;){let{id:R,start:H,end:k,size:D}=i;if(D>4)i.next();else{if(P>-1&&H<P)break;P<0&&(P=k-r),v.push(R,H,k),N++,i.next()}}if(N){let R=new Uint16Array(N*4),H=v[v.length-2];for(let k=v.length-3,D=0;k>=0;k-=3)R[D++]=v[k],R[D++]=v[k+1]-H,R[D++]=v[k+2]-H,R[D++]=D;b.push(new Mo(R,v[2]-H,o)),I.push(H-S)}}function h(S,w){return(b,I,v)=>{let N=0,P=b.length-1,R,H;if(P>=0&&(R=b[P])instanceof Oe){if(!P&&R.type==S&&R.length==v)return R;(H=R.prop(fe.lookAhead))&&(N=I[P]+R.length+H)}return m(S,b,I,v,N,w)}}function p(S,w,b,I,v,N,P,R,H){let k=[],D=[];for(;S.length>I;)k.push(S.pop()),D.push(w.pop()+b-v);S.push(m(o.types[P],k,D,N-v,R-N,H)),w.push(v-b)}function m(S,w,b,I,v,N,P){if(N){let R=[fe.contextHash,N];P=P?[R].concat(P):[R]}if(v>25){let R=[fe.lookAhead,v];P=P?[R].concat(P):[R]}return new Oe(S,w,b,I,P)}function g(S,w){let b=i.fork(),I=0,v=0,N=0,P=b.end-r,R={size:0,start:0,skip:0};e:for(let H=b.pos-S;b.pos>H;){let k=b.size;if(b.id==w&&k>=0){R.size=I,R.start=v,R.skip=N,N+=4,I+=4,b.next();continue}let D=b.pos-k;if(k<0||D<H||b.start<P)break;let M=b.id>=s?4:0,T=b.start;for(b.next();b.pos>D;){if(b.size<0)if(b.size==-3||b.size==-4)M+=4;else break e;else b.id>=s&&(M+=4);b.next()}v=T,I+=k,N+=M}return(w<0||I==S)&&(R.size=I,R.start=v,R.skip=N),R.size>4?R:void 0}function x(S,w,b){let{id:I,start:v,end:N,size:P}=i;if(i.next(),P>=0&&I<s){let R=b;if(P>4){let H=i.pos-(P-4);for(;i.pos>H;)b=x(S,w,b)}w[--b]=R,w[--b]=N-S,w[--b]=v-S,w[--b]=I}else P==-3?u=I:P==-4&&(d=I);return b}let C=[],L=[];for(;i.pos>0;)f(t.start||0,t.bufferStart||0,C,L,-1,0);let y=(e=t.length)!==null&&e!==void 0?e:C.length?L[0]+C[0].length:0;return new Oe(l[t.topID],C.reverse(),L.reverse(),y)}var NC=new WeakMap;function ou(t,e){if(!t.isAnonymous||e instanceof Mo||e.type!=t)return 1;let a=NC.get(e);if(a==null){a=1;for(let o of e.children){if(o.type!=t||!(o instanceof Oe)){a=1;break}a+=ou(t,o)}NC.set(e,a)}return a}function Nh(t,e,a,o,r,n,s,i,l){let u=0;for(let p=o;p<r;p++)u+=ou(t,e[p]);let d=Math.ceil(u*1.5/8),f=[],c=[];function h(p,m,g,x,C){for(let L=g;L<x;){let y=L,S=m[L],w=ou(t,p[L]);for(L++;L<x;L++){let b=ou(t,p[L]);if(w+b>=d)break;w+=b}if(L==y+1){if(w>d){let b=p[y];h(b.children,b.positions,0,b.children.length,m[y]+C);continue}f.push(p[y])}else{let b=m[L-1]+p[L-1].length-S;f.push(Nh(t,p,m,y,L,S,b,null,l))}c.push(S+C-n)}}return h(e,a,o,r,0),(i||l)(f,c,s)}var br=class t{constructor(e,a,o,r,n=!1,s=!1){this.from=e,this.to=a,this.tree=o,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,a=[],o=!1){let r=[new t(0,e.length,e,0,!1,o)];for(let n of a)n.to>e.length&&r.push(n);return r}static applyChanges(e,a,o=128){if(!a.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let i=0,l=0,u=0;;i++){let d=i<a.length?a[i]:null,f=d?d.fromA:1e9;if(f-l>=o)for(;s&&s.from<f;){let c=s;if(l>=c.from||f<=c.to||u){let h=Math.max(c.from,l)-u,p=Math.min(c.to,f)-u;c=h>=p?null:new t(h,p,c.tree,c.offset+u,i>0,!!d)}if(c&&r.push(c),s.to>f)break;s=n<e.length?e[n++]:null}if(!d)break;l=d.toA,u=d.toA-d.toB}return r}},zs=class{startParse(e,a,o){return typeof e=="string"&&(e=new Oh(e)),o=o?o.length?o.map(r=>new Ns(r.from,r.to)):[new Ns(0,0)]:[new Ns(0,e.length)],this.createParse(e,a||[],o)}parse(e,a,o){let r=this.startParse(e,a,o);for(;;){let n=r.advance();if(n)return n}}},Oh=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,a){return this.string.slice(e,a)}};var WG=new fe({perNode:!0});var QR=0,ha=class t{constructor(e,a,o,r){this.name=e,this.set=a,this.base=o,this.modified=r,this.id=QR++}toString(){let{name:e}=this;for(let a of this.modified)a.name&&(e=`${a.name}(${e})`);return e}static define(e,a){let o=typeof e=="string"?e:"?";if(e instanceof t&&(a=e),a?.base)throw new Error("Can not derive from a modified tag");let r=new t(o,[],null,[]);if(r.set.push(r),a)for(let n of a.set)r.set.push(n);return r}static defineModifier(e){let a=new uu(e);return o=>o.modified.indexOf(a)>-1?o:uu.get(o.base||o,o.modified.concat(a).sort((r,n)=>r.id-n.id))}},eD=0,uu=class t{constructor(e){this.name=e,this.instances=[],this.id=eD++}static get(e,a){if(!a.length)return e;let o=a[0].instances.find(i=>i.base==e&&tD(a,i.modified));if(o)return o;let r=[],n=new ha(e.name,r,e,a);for(let i of a)i.instances.push(n);let s=aD(a);for(let i of e.set)if(!i.modified.length)for(let l of s)r.push(t.get(i,l));return n}};function tD(t,e){return t.length==e.length&&t.every((a,o)=>a==e[o])}function aD(t){let e=[[]];for(let a=0;a<t.length;a++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[a]));return e.sort((a,o)=>o.length-a.length)}function UC(t){let e=Object.create(null);for(let a in t){let o=t[a];Array.isArray(o)||(o=[o]);for(let r of a.split(" "))if(r){let n=[],s=2,i=r;for(let f=0;;){if(i=="..."&&f>0&&f+3==r.length){s=1;break}let c=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!c)throw new RangeError("Invalid path: "+r);if(n.push(c[0]=="*"?"":c[0][0]=='"'?JSON.parse(c[0]):c[0]),f+=c[0].length,f==r.length)break;let h=r[f++];if(f==r.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+r);i=r.slice(f)}let l=n.length-1,u=n[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Sr(o,s,l>0?n.slice(0,l):null);e[u]=d.sort(e[u])}}return VC.add(e)}var VC=new fe({combine(t,e){let a,o,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),a&&a.mode==r.mode&&!r.context&&!a.context)continue;let n=new Sr(r.tags,r.mode,r.context);a?a.next=n:o=n,a=n}return o}}),Sr=class{constructor(e,a,o,r){this.tags=e,this.mode=a,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Sr.empty=new Sr([],2,null);function zh(t,e){let a=Object.create(null);for(let n of t)if(!Array.isArray(n.tag))a[n.tag.id]=n.class;else for(let s of n.tag)a[s.id]=n.class;let{scope:o,all:r=null}=e||{};return{style:n=>{let s=r;for(let i of n)for(let l of i.set){let u=a[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function oD(t,e){let a=null;for(let o of t){let r=o.style(e);r&&(a=a?a+" "+r:r)}return a}function WC(t,e,a,o=0,r=t.length){let n=new _h(o,Array.isArray(e)?e:[e],a);n.highlightRange(t.cursor(),o,r,"",n.highlighters),n.flush(r)}var _h=class{constructor(e,a,o){this.at=e,this.highlighters=a,this.span=o,this.class=""}startSpan(e,a){a!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=a)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,a,o,r,n){let{type:s,from:i,to:l}=e;if(i>=o||l<=a)return;s.isTop&&(n=this.highlighters.filter(h=>!h.scope||h.scope(s)));let u=r,d=rD(e)||Sr.empty,f=oD(n,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(a,i),u),d.opaque)return;let c=e.tree&&e.tree.prop(fe.mounted);if(c&&c.overlay){let h=e.node.enter(c.overlay[0].from+i,1),p=this.highlighters.filter(g=>!g.scope||g.scope(c.tree.type)),m=e.firstChild();for(let g=0,x=i;;g++){let C=g<c.overlay.length?c.overlay[g]:null,L=C?C.from+i:l,y=Math.max(a,x),S=Math.min(o,L);if(y<S&&m)for(;e.from<S&&(this.highlightRange(e,y,S,r,n),this.startSpan(Math.min(S,e.to),u),!(e.to>=L||!e.nextSibling())););if(!C||L>o)break;x=C.to+i,x>a&&(this.highlightRange(h.cursor(),Math.max(a,C.from+i),Math.min(o,x),"",p),this.startSpan(Math.min(o,x),u))}m&&e.parent()}else if(e.firstChild()){c&&(r="");do if(!(e.to<=a)){if(e.from>=o)break;this.highlightRange(e,a,o,r,n),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function rD(t){let e=t.type.prop(VC);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var K=ha.define,su=K(),Po=K(),qC=K(Po),zC=K(Po),Ro=K(),iu=K(Ro),Hh=K(Ro),Oa=K(),Ir=K(Oa),Ea=K(),Ba=K(),qh=K(),Us=K(qh),lu=K(),Z={comment:su,lineComment:K(su),blockComment:K(su),docComment:K(su),name:Po,variableName:K(Po),typeName:qC,tagName:K(qC),propertyName:zC,attributeName:K(zC),className:K(Po),labelName:K(Po),namespace:K(Po),macroName:K(Po),literal:Ro,string:iu,docString:K(iu),character:K(iu),attributeValue:K(iu),number:Hh,integer:K(Hh),float:K(Hh),bool:K(Ro),regexp:K(Ro),escape:K(Ro),color:K(Ro),url:K(Ro),keyword:Ea,self:K(Ea),null:K(Ea),atom:K(Ea),unit:K(Ea),modifier:K(Ea),operatorKeyword:K(Ea),controlKeyword:K(Ea),definitionKeyword:K(Ea),moduleKeyword:K(Ea),operator:Ba,derefOperator:K(Ba),arithmeticOperator:K(Ba),logicOperator:K(Ba),bitwiseOperator:K(Ba),compareOperator:K(Ba),updateOperator:K(Ba),definitionOperator:K(Ba),typeOperator:K(Ba),controlOperator:K(Ba),punctuation:qh,separator:K(qh),bracket:Us,angleBracket:K(Us),squareBracket:K(Us),paren:K(Us),brace:K(Us),content:Oa,heading:Ir,heading1:K(Ir),heading2:K(Ir),heading3:K(Ir),heading4:K(Ir),heading5:K(Ir),heading6:K(Ir),contentSeparator:K(Oa),list:K(Oa),quote:K(Oa),emphasis:K(Oa),strong:K(Oa),link:K(Oa),monospace:K(Oa),strikethrough:K(Oa),inserted:K(),deleted:K(),changed:K(),invalid:K(),meta:lu,documentMeta:K(lu),annotation:K(lu),processingInstruction:K(lu),definition:ha.defineModifier("definition"),constant:ha.defineModifier("constant"),function:ha.defineModifier("function"),standard:ha.defineModifier("standard"),local:ha.defineModifier("local"),special:ha.defineModifier("special")};for(let t in Z){let e=Z[t];e instanceof ha&&(e.name=t)}var XG=zh([{tag:Z.link,class:"tok-link"},{tag:Z.heading,class:"tok-heading"},{tag:Z.emphasis,class:"tok-emphasis"},{tag:Z.strong,class:"tok-strong"},{tag:Z.keyword,class:"tok-keyword"},{tag:Z.atom,class:"tok-atom"},{tag:Z.bool,class:"tok-bool"},{tag:Z.url,class:"tok-url"},{tag:Z.labelName,class:"tok-labelName"},{tag:Z.inserted,class:"tok-inserted"},{tag:Z.deleted,class:"tok-deleted"},{tag:Z.literal,class:"tok-literal"},{tag:Z.string,class:"tok-string"},{tag:Z.number,class:"tok-number"},{tag:[Z.regexp,Z.escape,Z.special(Z.string)],class:"tok-string2"},{tag:Z.variableName,class:"tok-variableName"},{tag:Z.local(Z.variableName),class:"tok-variableName tok-local"},{tag:Z.definition(Z.variableName),class:"tok-variableName tok-definition"},{tag:Z.special(Z.variableName),class:"tok-variableName2"},{tag:Z.definition(Z.propertyName),class:"tok-propertyName tok-definition"},{tag:Z.typeName,class:"tok-typeName"},{tag:Z.namespace,class:"tok-namespace"},{tag:Z.className,class:"tok-className"},{tag:Z.macroName,class:"tok-macroName"},{tag:Z.propertyName,class:"tok-propertyName"},{tag:Z.operator,class:"tok-operator"},{tag:Z.comment,class:"tok-comment"},{tag:Z.meta,class:"tok-meta"},{tag:Z.invalid,class:"tok-invalid"},{tag:Z.punctuation,class:"tok-punctuation"}]);var Uh,Rn=new fe;function nD(t){return j.define({combine:t?e=>e.concat(t):void 0})}var sD=new fe,qt=class{constructor(e,a,o=[],r=""){this.data=e,this.name=r,Se.prototype.hasOwnProperty("tree")||Object.defineProperty(Se.prototype,"tree",{get(){return yt(this)}}),this.parser=a,this.extension=[Dn.of(this),Se.languageData.of((n,s,i)=>{let l=GC(n,s,i),u=l.type.prop(Rn);if(!u)return[];let d=n.facet(u),f=l.type.prop(sD);if(f){let c=l.resolve(s-l.from,i);for(let h of f)if(h.test(c,n)){let p=n.facet(h.facet);return h.type=="replace"?p:p.concat(d)}}return d})].concat(o)}isActiveAt(e,a,o=-1){return GC(e,a,o).type.prop(Rn)==this.data}findRegions(e){let a=e.facet(Dn);if(a?.data==this.data)return[{from:0,to:e.doc.length}];if(!a||!a.allowsNesting)return[];let o=[],r=(n,s)=>{if(n.prop(Rn)==this.data){o.push({from:s,to:s+n.length});return}let i=n.prop(fe.mounted);if(i){if(i.tree.prop(Rn)==this.data){if(i.overlay)for(let l of i.overlay)o.push({from:l.from+s,to:l.to+s});else o.push({from:s,to:s+n.length});return}else if(i.overlay){let l=o.length;if(r(i.tree,i.overlay[0].from+s),o.length>l)return}}for(let l=0;l<n.children.length;l++){let u=n.children[l];u instanceof Oe&&r(u,n.positions[l]+s)}};return r(yt(e),0),o}get allowsNesting(){return!0}};qt.setState=le.define();function GC(t,e,a){let o=t.facet(Dn),r=yt(t).topNode;if(!o||o.allowsNesting)for(let n=r;n;n=n.enter(e,a,_e.ExcludeBuffers|_e.EnterBracketed))n.type.isTop&&(r=n);return r}function yt(t){let e=t.field(qt.state,!1);return e?e.tree:Oe.empty}var $h=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,a){let o=this.cursorPos-this.string.length;return e<o||a>=this.cursorPos?this.doc.sliceString(e,a):this.string.slice(e-o,a-o)}},Vs=null,Ws=class t{constructor(e,a,o=[],r,n,s,i,l){this.parser=e,this.state=a,this.fragments=o,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=i,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,a,o){return new t(e,a,[],Oe.empty,0,o,[],null)}startParse(){return this.parser.startParse(new $h(this.state.doc),this.fragments)}work(e,a){return a!=null&&a>=this.state.doc.length&&(a=void 0),this.tree!=Oe.empty&&this.isDone(a??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),a!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>a)&&a<this.state.doc.length&&this.parse.stopAt(a);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(br.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(a??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,a;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(a=this.parse.advance()););}),this.treeLen=e,this.tree=a,this.fragments=this.withoutTempSkipped(br.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let a=Vs;Vs=this;try{return e()}finally{Vs=a}}withoutTempSkipped(e){for(let a;a=this.tempSkipped.pop();)e=$C(e,a.from,a.to);return e}changes(e,a){let{fragments:o,tree:r,treeLen:n,viewport:s,skipped:i}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,f,c)=>l.push({fromA:u,toA:d,fromB:f,toB:c})),o=br.applyChanges(o,l),r=Oe.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){i=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),f=e.mapPos(u.to,-1);d<f&&i.push({from:d,to:f})}}}return new t(this.parser,a,o,r,n,s,i,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let a=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:n}=this.skipped[o];r<e.to&&n>e.from&&(this.fragments=$C(this.fragments,r,n),this.skipped.splice(o--,1))}return this.skipped.length>=a?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,a){this.skipped.push({from:e,to:a})}static getSkippingParser(e){return new class extends zs{createParse(a,o,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let l=Vs;if(l){for(let u of r)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new Oe(Ct.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let a=this.fragments;return this.treeLen>=e&&a.length&&a[0].from==0&&a[0].to>=e}static get(){return Vs}};function $C(t,e,a){return br.applyChanges(t,[{fromA:e,toA:a,fromB:e,toB:a}])}var Gs=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let a=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),a.viewport.to);return a.work(20,o)||a.takeTree(),new t(a)}static init(e){let a=Math.min(3e3,e.doc.length),o=Ws.create(e.facet(Dn).parser,e,{from:0,to:a});return o.work(20,a)||o.takeTree(),new t(o)}};qt.state=He.define({create:Gs.init,update(t,e){for(let a of e.effects)if(a.is(qt.setState))return a.value;return e.startState.facet(Dn)!=e.state.facet(Dn)?Gs.init(e.state):t.apply(e)}});var JC=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(JC=t=>{let e=-1,a=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(a):cancelIdleCallback(e)});var Vh=typeof navigator<"u"&&(!((Uh=navigator.scheduling)===null||Uh===void 0)&&Uh.isInputPending)?()=>navigator.scheduling.isInputPending():null,iD=Ge.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let a=this.view.state.field(qt.state).context;(a.updateViewport(e.view.viewport)||this.view.viewport.to>a.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(a)}scheduleWork(){if(this.working)return;let{state:e}=this.view,a=e.field(qt.state);(a.tree!=a.context.tree||!a.context.isDone(e.doc.length))&&(this.working=JC(this.work))}work(e){this.working=null;let a=Date.now();if(this.chunkEnd<a&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=a+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,n=o.field(qt.state);if(n.tree==n.context.tree&&n.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!Vh?Math.max(25,e.timeRemaining()-5):1e9),i=n.context.treeLen<r&&o.doc.length>r+1e3,l=n.context.work(()=>Vh&&Vh()||Date.now()>s,r+(i?0:1e5));this.chunkBudget-=Date.now()-a,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:qt.setState.of(new Gs(n.context))})),this.chunkBudget>0&&!(l&&!i)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(a=>it(this.view.state,a)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Dn=j.define({combine(t){return t.length?t[0]:null},enables:t=>[qt.state,iD,J.contentAttributes.compute([t],e=>{let a=e.facet(t);return a&&a.name?{"data-language":a.name}:{}})]}),du=class{constructor(e,a=[]){this.language=e,this.support=a,this.extension=[e,a]}};var lD=j.define(),kr=j.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(a=>a!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Do(t){let e=t.facet(kr);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Xs(t,e){let a="",o=t.tabSize,r=t.facet(kr)[0];if(r==" "){for(;e>=o;)a+=" ",e-=o;r=" "}for(let n=0;n<e;n++)a+=r;return a}function Qh(t,e){t instanceof Se&&(t=new vr(t));for(let o of t.state.facet(lD)){let r=o(t,e);if(r!==void 0)return r}let a=yt(t.state);return a.length>=e?uD(t,a,e):null}var vr=class{constructor(e,a={}){this.state=e,this.options=a,this.unit=Do(e)}lineAt(e,a=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=o.from&&r<=o.to?n&&r==e?{text:"",from:e}:(a<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,a=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,a);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(n+=s-this.countColumn(o,o.search(/\S|$/))),n}countColumn(e,a=e.length){return cr(e,this.state.tabSize,a)}lineIndent(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},QC=new fe;function uD(t,e,a){let o=e.resolveStack(a),r=e.resolveInner(a,-1).resolve(a,0).enterUnfinishedNodesBefore(a);if(r!=o.node){let n=[];for(let s=r;s&&!(s.from<o.node.from||s.to>o.node.to||s.from==o.node.from&&s.type==o.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)o={node:n[s],next:o}}return ey(o,t,a)}function ey(t,e,a){for(let o=t;o;o=o.next){let r=fD(o.node);if(r)return r(Xh.create(e,a,o))}return 0}function dD(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function fD(t){let e=t.type.prop(QC);if(e)return e;let a=t.firstChild,o;if(a&&(o=a.type.prop(fe.closedBy))){let r=t.lastChild,n=r&&o.indexOf(r.name)>-1;return s=>mD(s,!0,1,void 0,n&&!dD(s)?r.from:void 0)}return t.parent==null?cD:null}function cD(){return 0}var Xh=class t extends vr{constructor(e,a,o){super(e.state,e.options),this.base=e,this.pos=a,this.context=o}get node(){return this.context.node}static create(e,a,o){return new t(e,a,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let a=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(a.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(hD(o,e))break;a=this.state.doc.lineAt(o.from)}return this.lineIndent(a.from)}continue(){return ey(this.context.next,this.base,this.pos)}};function hD(t,e){for(let a=e;a;a=a.parent)if(t==a)return!0;return!1}function pD(t){let e=t.node,a=e.childAfter(e.from),o=e.lastChild;if(!a)return null;let r=t.options.simulateBreak,n=t.state.doc.lineAt(a.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let i=a.to;;){let l=e.childAfter(i);if(!l||l==o)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let u=/^ */.exec(n.text.slice(a.to-n.from))[0].length;return{from:a.from,to:a.to+u}}i=l.to}}function mD(t,e,a,o,r){let n=t.textAfter,s=n.match(/^\s*/)[0].length,i=o&&n.slice(s,s+o.length)==o||r==t.pos+s,l=e?pD(t):null;return l?i?t.column(l.from):t.column(l.to):t.baseIndent+(i?0:t.unit*a)}var fu=class t{constructor(e,a){this.specs=e;let o;function r(i){let l=Xt.newName();return(o||(o=Object.create(null)))["."+l]=i,l}let n=typeof a.all=="string"?a.all:a.all?r(a.all):void 0,s=a.scope;this.scope=s instanceof qt?i=>i.prop(Rn)==s.data:s?i=>i==s:void 0,this.style=zh(e.map(i=>({tag:i.tag,class:i.class||r(Object.assign({},i,{tag:null}))})),{all:n}).style,this.module=o?new Xt(o):null,this.themeType=a.themeType}static define(e,a){return new t(e,a||{})}},Kh=j.define(),ty=j.define({combine(t){return t.length?[t[0]]:null}});function Wh(t){let e=t.facet(Kh);return e.length?e:t.facet(ty)}function ay(t,e){let a=[gD],o;return t instanceof fu&&(t.module&&a.push(J.styleModule.of(t.module)),o=t.themeType),e?.fallback?a.push(ty.of(t)):o?a.push(Kh.computeN([J.darkTheme],r=>r.facet(J.darkTheme)==(o=="dark")?[t]:[])):a.push(Kh.of(t)),a}var jh=class{constructor(e){this.markCache=Object.create(null),this.tree=yt(e.state),this.decorations=this.buildDeco(e,Wh(e.state)),this.decoratedTo=e.viewport.to}update(e){let a=yt(e.state),o=Wh(e.state),r=o!=Wh(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);a.length<n.to&&!r&&a.type==this.tree.type&&s>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(a!=this.tree||e.viewportChanged||r)&&(this.tree=a,this.decorations=this.buildDeco(e.view,o),this.decoratedTo=n.to)}buildDeco(e,a){if(!a||!this.tree.length)return ce.none;let o=new la;for(let{from:r,to:n}of e.visibleRanges)WC(this.tree,a,(s,i,l)=>{o.add(s,i,this.markCache[l]||(this.markCache[l]=ce.mark({class:l})))},r,n);return o.finish()}},gD=ua.high(Ge.fromClass(jh,{decorations:t=>t.decorations})),oy=fu.define([{tag:Z.meta,color:"#404740"},{tag:Z.link,textDecoration:"underline"},{tag:Z.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Z.emphasis,fontStyle:"italic"},{tag:Z.strong,fontWeight:"bold"},{tag:Z.strikethrough,textDecoration:"line-through"},{tag:Z.keyword,color:"#708"},{tag:[Z.atom,Z.bool,Z.url,Z.contentSeparator,Z.labelName],color:"#219"},{tag:[Z.literal,Z.inserted],color:"#164"},{tag:[Z.string,Z.deleted],color:"#a11"},{tag:[Z.regexp,Z.escape,Z.special(Z.string)],color:"#e40"},{tag:Z.definition(Z.variableName),color:"#00f"},{tag:Z.local(Z.variableName),color:"#30a"},{tag:[Z.typeName,Z.namespace],color:"#085"},{tag:Z.className,color:"#167"},{tag:[Z.special(Z.variableName),Z.macroName],color:"#256"},{tag:Z.definition(Z.propertyName),color:"#00c"},{tag:Z.comment,color:"#940"},{tag:Z.invalid,color:"#f00"}]),xD=J.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ry=1e4,ny="()[]{}",sy=j.define({combine(t){return Pt(t,{afterCursor:!0,brackets:ny,maxScanDistance:ry,renderMatch:yD})}}),LD=ce.mark({class:"cm-matchingBracket"}),CD=ce.mark({class:"cm-nonmatchingBracket"});function yD(t){let e=[],a=t.matched?LD:CD;return e.push(a.range(t.start.from,t.start.to)),t.end&&e.push(a.range(t.end.from,t.end.to)),e}function XC(t){let e=[],a=t.facet(sy);for(let o of t.selection.ranges){if(!o.empty)continue;let r=pa(t,o.head,-1,a)||o.head>0&&pa(t,o.head-1,1,a)||a.afterCursor&&(pa(t,o.head,1,a)||o.head<t.doc.length&&pa(t,o.head+1,-1,a));r&&(e=e.concat(a.renderMatch(r,t)))}return ce.set(e,!0)}var wD=Ge.fromClass(class{constructor(t){this.paused=!1,this.decorations=XC(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=XC(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),bD=[wD,xD];function iy(t={}){return[sy.of(t),bD]}var ID=new fe;function Zh(t,e,a){let o=t.prop(e<0?fe.openedBy:fe.closedBy);if(o)return o;if(t.name.length==1){let r=a.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[a[r+e]]}return null}function Yh(t){let e=t.type.prop(ID);return e?e(t.node):t}function pa(t,e,a,o={}){let r=o.maxScanDistance||ry,n=o.brackets||ny,s=yt(t),i=s.resolveInner(e,a);for(let l=i;l;l=l.parent){let u=Zh(l.type,a,n);if(u&&l.from<l.to){let d=Yh(l);if(d&&(a>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return SD(t,e,a,l,d,u,n)}}return vD(t,e,a,s,i.type,r,n)}function SD(t,e,a,o,r,n,s){let i=o.parent,l={from:r.from,to:r.to},u=0,d=i?.cursor();if(d&&(a<0?d.childBefore(o.from):d.childAfter(o.to)))do if(a<0?d.to<=o.from:d.from>=o.to){if(u==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let f=Yh(d);return{start:l,end:f?{from:f.from,to:f.to}:void 0,matched:!0}}else if(Zh(d.type,a,s))u++;else if(Zh(d.type,-a,s)){if(u==0){let f=Yh(d);return{start:l,end:f&&f.from<f.to?{from:f.from,to:f.to}:void 0,matched:!1}}u--}}while(a<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function vD(t,e,a,o,r,n,s){if(a<0?!e:e==t.doc.length)return null;let i=a<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(i);if(l<0||l%2==0!=a>0)return null;let u={from:a<0?e-1:e,to:a>0?e+1:e},d=t.doc.iterRange(e,a>0?t.doc.length:0),f=0;for(let c=0;!d.next().done&&c<=n;){let h=d.value;a<0&&(c+=h.length);let p=e+c*a;for(let m=a>0?0:h.length-1,g=a>0?h.length:-1;m!=g;m+=a){let x=s.indexOf(h[m]);if(!(x<0||o.resolveInner(p+m,1).type!=r))if(x%2==0==a>0)f++;else{if(f==1)return{start:u,end:{from:p+m,to:p+m+1},matched:x>>1==l>>1};f--}}a>0&&(c+=h.length)}return d.done?{start:u,matched:!1}:null}function KC(t,e,a,o=0,r=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let n=r;for(let s=o;s<e;s++)t.charCodeAt(s)==9?n+=a-n%a:n++;return n}var cu=class{constructor(e,a,o,r){this.string=e,this.tabSize=a,this.indentUnit=o,this.overrideIndent=r,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let a=this.string.charAt(this.pos),o;if(typeof e=="string"?o=a==e:o=a&&(e instanceof RegExp?e.test(a):e(a)),o)return++this.pos,a}eatWhile(e){let a=this.pos;for(;this.eat(e););return this.pos>a}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let a=this.string.indexOf(e,this.pos);if(a>-1)return this.pos=a,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=KC(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:KC(this.string,null,this.tabSize)}match(e,a,o){if(typeof e=="string"){let r=s=>o?s.toLowerCase():s,n=this.string.substr(this.pos,e.length);return r(n)==r(e)?(a!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&a!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function kD(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||AD,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||tp,mergeTokens:t.mergeTokens!==!1}}function AD(t){if(typeof t!="object")return t;let e={};for(let a in t){let o=t[a];e[a]=o instanceof Array?o.slice():o}return e}var jC=new WeakMap,hu=class t extends qt{constructor(e){let a=nD(e.languageData),o=kD(e),r,n=new class extends zs{createParse(s,i,l){return new Jh(r,s,i,l)}};super(a,n,[],e.name),this.topNode=DD(a,this),r=this,this.streamParser=o,this.stateAfter=new fe({perNode:!0}),this.tokenTable=e.tokenTable?new pu(o.tokenTable):RD}static define(e){return new t(e)}getIndent(e){let a,{overrideIndentation:o}=e.options;o&&(a=jC.get(e.state),a!=null&&a<e.pos-1e4&&(a=void 0));let r=ep(this,e.node.tree,e.node.from,e.node.from,a??e.pos),n,s;if(r?(s=r.state,n=r.pos+1):(s=this.streamParser.startState(e.unit),n=e.node.from),e.pos-n>1e4)return null;for(;n<e.pos;){let l=e.state.doc.lineAt(n),u=Math.min(e.pos,l.to);if(l.length){let d=o?o(l.from):-1,f=new cu(l.text,e.state.tabSize,e.unit,d<0?void 0:d);for(;f.pos<u-l.from;)uy(this.streamParser.token,f,s)}else this.streamParser.blankLine(s,e.unit);if(u==e.pos)break;n=l.to+1}let i=e.lineAt(e.pos);return o&&a==null&&jC.set(e.state,i.from),this.streamParser.indent(s,/^\s*(.*)/.exec(i.text)[1],e)}get allowsNesting(){return!1}};function ep(t,e,a,o,r){let n=a>=o&&a+e.length<=r&&e.prop(t.stateAfter);if(n)return{state:t.streamParser.copyState(n),pos:a+e.length};for(let s=e.children.length-1;s>=0;s--){let i=e.children[s],l=a+e.positions[s],u=i instanceof Oe&&l<r&&ep(t,i,l,o,r);if(u)return u}return null}function ly(t,e,a,o,r){if(r&&a<=0&&o>=e.length)return e;!r&&a==0&&e.type==t.topNode&&(r=!0);for(let n=e.children.length-1;n>=0;n--){let s=e.positions[n],i=e.children[n],l;if(s<o&&i instanceof Oe){if(!(l=ly(t,i,a-s,o-s,r)))break;return r?new Oe(e.type,e.children.slice(0,n).concat(l),e.positions.slice(0,n+1),s+l.length):l}}return null}function MD(t,e,a,o,r){for(let n of e){let s=n.from+(n.openStart?25:0),i=n.to-(n.openEnd?25:0),l=s<=a&&i>a&&ep(t,n.tree,0-n.offset,a,i),u;if(l&&l.pos<=o&&(u=ly(t,n.tree,a+n.offset,l.pos+n.offset,!1)))return{state:l.state,tree:u}}return{state:t.streamParser.startState(r?Do(r):4),tree:Oe.empty}}var Jh=class{constructor(e,a,o,r){this.lang=e,this.input=a,this.fragments=o,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let n=Ws.get(),s=r[0].from,{state:i,tree:l}=MD(e,o,s,this.to,n?.state);this.state=i,this.parsedPos=this.chunkStart=s+l.length;for(let u=0;u<l.children.length;u++)this.chunks.push(l.children[u]),this.chunkPos.push(l.positions[u]);n&&this.parsedPos<n.viewport.from-1e5&&r.some(u=>u.from<=n.viewport.from&&u.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(Do(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Ws.get(),a=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),o=Math.min(a,this.chunkStart+512);for(e&&(o=Math.min(o,e.viewport.to));this.parsedPos<o;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=a?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,a),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let a=this.input.chunk(e);if(this.input.lineChunks)a==`
9
+ var vP=Object.create;var cf=Object.defineProperty;var SP=Object.getOwnPropertyDescriptor;var IP=Object.getOwnPropertyNames;var kP=Object.getPrototypeOf,AP=Object.prototype.hasOwnProperty;var Tx=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var wl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ex=(t,e)=>{for(var a in e)cf(t,a,{get:e[a],enumerable:!0})},MP=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of IP(e))!AP.call(t,r)&&r!==a&&cf(t,r,{get:()=>e[r],enumerable:!(o=SP(e,r))||o.enumerable});return t};var PP=(t,e,a)=>(a=t!=null?vP(kP(t)):{},MP(e||!t||!t.__esModule?cf(a,"default",{value:t,enumerable:!0}):a,t));var oS=wl(aS=>{"use strict";var is=Tx("react");function sN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var iN=typeof Object.is=="function"?Object.is:sN,lN=is.useState,uN=is.useEffect,dN=is.useLayoutEffect,cN=is.useDebugValue;function fN(t,e){var a=e(),o=lN({inst:{value:a,getSnapshot:e}}),r=o[0].inst,n=o[1];return dN(function(){r.value=a,r.getSnapshot=e,rg(r)&&n({inst:r})},[t,a,e]),uN(function(){return rg(r)&&n({inst:r}),t(function(){rg(r)&&n({inst:r})})},[t]),cN(a),a}function rg(t){var e=t.getSnapshot;t=t.value;try{var a=e();return!iN(t,a)}catch{return!0}}function hN(t,e){return e()}var pN=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?hN:fN;aS.useSyncExternalStore=is.useSyncExternalStore!==void 0?is.useSyncExternalStore:pN});var nS=wl((rj,rS)=>{"use strict";rS.exports=oS()});var iS=wl(sS=>{"use strict";var pc=Tx("react"),mN=nS();function gN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var xN=typeof Object.is=="function"?Object.is:gN,bN=mN.useSyncExternalStore,wN=pc.useRef,yN=pc.useEffect,LN=pc.useMemo,CN=pc.useDebugValue;sS.useSyncExternalStoreWithSelector=function(t,e,a,o,r){var n=wN(null);if(n.current===null){var s={hasValue:!1,value:null};n.current=s}else s=n.current;n=LN(function(){function l(h){if(!u){if(u=!0,d=h,h=o(h),r!==void 0&&s.hasValue){var p=s.value;if(r(p,h))return c=p}return c=h}if(p=c,xN(d,h))return p;var m=o(h);return r!==void 0&&r(p,m)?(d=h,p):(d=h,c=m)}var u=!1,d,c,f=a===void 0?null:a;return[function(){return l(e())},f===null?void 0:function(){return l(f())}]},[e,a,o,r]);var i=bN(t,n[0],n[1]);return yN(function(){s.hasValue=!0,s.value=i},[i]),CN(i),i}});var uS=wl((sj,lS)=>{"use strict";lS.exports=iS()});import bl from"react";import{createRoot as L4}from"react-dom/client";import Aa from"react";var hf=[],Nx=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,a=0;e<t.length;e++)(e%2?Nx:hf).push(a=a+t[e])})();function DP(t){if(t<768)return!1;for(let e=0,a=hf.length;;){let o=e+a>>1;if(t<hf[o])a=o;else if(t>=Nx[o])e=o+1;else return!0;if(e==a)return!1}}function Bx(t){return t>=127462&&t<=127487}var Fx=8205;function _x(t,e,a=!0,o=!0){return(a?Hx:RP)(t,e,o)}function Hx(t,e,a){if(e==t.length)return e;e&&zx(t.charCodeAt(e))&&qx(t.charCodeAt(e-1))&&e--;let o=ff(t,e);for(e+=Ox(o);e<t.length;){let r=ff(t,e);if(o==Fx||r==Fx||a&&DP(r))e+=Ox(r),o=r;else if(Bx(r)){let n=0,s=e-2;for(;s>=0&&Bx(ff(t,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function RP(t,e,a){for(;e>0;){let o=Hx(t,e-2,a);if(o<e)return o;e--}return 0}function ff(t,e){let a=t.charCodeAt(e);if(!qx(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return zx(o)?(a-55296<<10)+(o-56320)+65536:a}function zx(t){return t>=56320&&t<57344}function qx(t){return t>=55296&&t<56320}function Ox(t){return t<65536?1:2}var we=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,a,o){[e,a]=Ln(this,e,a);let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(a,this.length,r,1),bn.from(r,this.length-(a-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,a=this.length){[e,a]=Ln(this,e,a);let o=[];return this.decompose(e,a,o,0),bn.from(o,a-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let a=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new xr(this),n=new xr(e);for(let s=a,i=a;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(i+=r.value.length,r.done||i>=o)return!0}}iter(e=1){return new xr(this,e)}iterRange(e,a=this.length){return new Sl(this,e,a)}iterLines(e,a){let o;if(e==null)o=this.iter();else{a==null&&(a=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,a==this.lines+1?this.length:a<=1?0:this.line(a-1).to))}return new Il(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new $t(e):bn.from($t.split(e,[]))}},$t=class t extends we{constructor(e,a=TP(e)){super(),this.text=e,this.length=a}get lines(){return this.text.length}get children(){return null}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.text[n],i=r+s.length;if((a?o:i)>=e)return new mf(r,i,o,s);r=i+1,o++}}decompose(e,a,o,r){let n=e<=0&&a>=this.length?this:new t(Ux(this.text,e,a),Math.min(a,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),i=vl(n.text,s.text.slice(),0,n.length);if(i.length<=32)o.push(new t(i,s.length+n.length));else{let l=i.length>>1;o.push(new t(i.slice(0,l)),new t(i.slice(l)))}}else o.push(n)}replace(e,a,o){if(!(o instanceof t))return super.replace(e,a,o);[e,a]=Ln(this,e,a);let r=vl(this.text,vl(o.text,Ux(this.text,0,e)),a),n=this.length+o.length-(a-e);return r.length<=32?new t(r,n):bn.from(t.split(r,[]),n)}sliceString(e,a=this.length,o=`
10
+ `){[e,a]=Ln(this,e,a);let r="";for(let n=0,s=0;n<=a&&s<this.text.length;s++){let i=this.text[s],l=n+i.length;n>e&&s&&(r+=o),e<l&&a>n&&(r+=i.slice(Math.max(0,e-n),a-n)),n=l+1}return r}flatten(e){for(let a of this.text)e.push(a)}scanIdentical(){return 0}static split(e,a){let o=[],r=-1;for(let n of e)o.push(n),r+=n.length+1,o.length==32&&(a.push(new t(o,r)),o=[],r=-1);return r>-1&&a.push(new t(o,r)),a}},bn=class t extends we{constructor(e,a){super(),this.children=e,this.length=a,this.lines=0;for(let o of e)this.lines+=o.lines}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.children[n],i=r+s.length,l=o+s.lines-1;if((a?l:i)>=e)return s.lineInner(e,a,o,r);r=i+1,o=l+1}}decompose(e,a,o,r){for(let n=0,s=0;s<=a&&n<this.children.length;n++){let i=this.children[n],l=s+i.length;if(e<=l&&a>=s){let u=r&((s<=e?1:0)|(l>=a?2:0));s>=e&&l<=a&&!u?o.push(i):i.decompose(e-s,a-s,o,u)}s=l+1}}replace(e,a,o){if([e,a]=Ln(this,e,a),o.lines<this.lines)for(let r=0,n=0;r<this.children.length;r++){let s=this.children[r],i=n+s.length;if(e>=n&&a<=i){let l=s.replace(e-n,a-n,o),u=this.lines-s.lines+l.lines;if(l.lines<u>>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new t(d,this.length-(a-e)+o.length)}return super.replace(n,i,l)}n=i+1}return super.replace(e,a,o)}sliceString(e,a=this.length,o=`
11
+ `){[e,a]=Ln(this,e,a);let r="";for(let n=0,s=0;n<this.children.length&&s<=a;n++){let i=this.children[n],l=s+i.length;s>e&&n&&(r+=o),e<l&&a>s&&(r+=i.sliceString(e-s,a-s,o)),s=l+1}return r}flatten(e){for(let a of this.children)a.flatten(e)}scanIdentical(e,a){if(!(e instanceof t))return 0;let o=0,[r,n,s,i]=a>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=a,n+=a){if(r==s||n==i)return o;let l=this.children[r],u=e.children[n];if(l!=u)return o+l.scanIdentical(u,a);o+=l.length+1}}static from(e,a=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let h of e)o+=h.lines;if(o<32){let h=[];for(let p of e)p.flatten(h);return new $t(h,a)}let r=Math.max(32,o>>5),n=r<<1,s=r>>1,i=[],l=0,u=-1,d=[];function c(h){let p;if(h.lines>n&&h instanceof t)for(let m of h.children)c(m);else h.lines>s&&(l>s||!l)?(f(),i.push(h)):h instanceof $t&&l&&(p=d[d.length-1])instanceof $t&&h.lines+p.lines<=32?(l+=h.lines,u+=h.length+1,d[d.length-1]=new $t(p.text.concat(h.text),p.length+1+h.length)):(l+h.lines>r&&f(),l+=h.lines,u+=h.length+1,d.push(h))}function f(){l!=0&&(i.push(d.length==1?d[0]:t.from(d,u)),u=-1,l=d.length=0)}for(let h of e)c(h);return f(),i.length==1?i[0]:new t(i,a)}};we.empty=new $t([""],0);function TP(t){let e=-1;for(let a of t)e+=a.length+1;return e}function vl(t,e,a=0,o=1e9){for(let r=0,n=0,s=!0;n<t.length&&r<=o;n++){let i=t[n],l=r+i.length;l>=a&&(l>o&&(i=i.slice(0,o-r)),r<a&&(i=i.slice(a-r)),s?(e[e.length-1]+=i,s=!1):e.push(i)),r=l+1}return e}function Ux(t,e,a){return vl(t,[""],e,a)}var xr=class{constructor(e,a=1){this.dir=a,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[a>0?1:(e instanceof $t?e.text.length:e.children.length)<<1]}nextInner(e,a){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,r=this.nodes[o],n=this.offsets[o],s=n>>1,i=r instanceof $t?r.text.length:r.children.length;if(s==(a>0?i:0)){if(o==0)return this.done=!0,this.value="",this;a>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(a>0?0:1)){if(this.offsets[o]+=a,e==0)return this.lineBreak=!0,this.value=`
12
+ `,this;e--}else if(r instanceof $t){let l=r.text[s+(a<0?-1:0)];if(this.offsets[o]+=a,l.length>Math.max(0,e))return this.value=e==0?l:a>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[s+(a<0?-1:0)];e>l.length?(e-=l.length,this.offsets[o]+=a):(a<0&&this.offsets[o]--,this.nodes.push(l),this.offsets.push(a>0?1:(l instanceof $t?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Sl=class{constructor(e,a,o){this.value="",this.done=!1,this.cursor=new xr(e,a>o?-1:1),this.pos=a>o?e.length:0,this.from=Math.min(a,o),this.to=Math.max(a,o)}nextInner(e,a){if(a<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,a<0?this.pos-this.to:this.from-this.pos);let o=a<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*a,this.value=r.length<=o?r:a<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Il=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:a,lineBreak:o,value:r}=this.inner.next(e);return a&&this.afterBreak?(this.value="",this.afterBreak=!1):a?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(we.prototype[Symbol.iterator]=function(){return this.iter()},xr.prototype[Symbol.iterator]=Sl.prototype[Symbol.iterator]=Il.prototype[Symbol.iterator]=function(){return this});var mf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.number=o,this.text=r}get length(){return this.to-this.from}};function Ln(t,e,a){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,a))]}function je(t,e,a=!0,o=!0){return _x(t,e,a,o)}function EP(t){return t>=56320&&t<57344}function BP(t){return t>=55296&&t<56320}function Bt(t,e){let a=t.charCodeAt(e);if(!BP(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return EP(o)?(a-55296<<10)+(o-56320)+65536:a}function As(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function aa(t){return t<65536?1:2}var gf=/\r\n?|\n/,ft=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(ft||(ft={})),uo=class t{constructor(e){this.sections=e}get length(){let e=0;for(let a=0;a<this.sections.length;a+=2)e+=this.sections[a];return e}get newLength(){let e=0;for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a+1];e+=o<0?this.sections[a]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let a=0,o=0,r=0;a<this.sections.length;){let n=this.sections[a++],s=this.sections[a++];s<0?(e(o,r,n),r+=n):r+=s,o+=n}}iterChangedRanges(e,a=!1){xf(this,e,a)}get invertedDesc(){let e=[];for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];r<0?e.push(o,r):e.push(r,o)}return new t(e)}composeDesc(e){return this.empty?e:e.empty?this:Xx(this,e)}mapDesc(e,a=!1){return e.empty?this:bf(this,e,a)}mapPos(e,a=-1,o=ft.Simple){let r=0,n=0;for(let s=0;s<this.sections.length;){let i=this.sections[s++],l=this.sections[s++],u=r+i;if(l<0){if(u>e)return n+(e-r);n+=i}else{if(o!=ft.Simple&&u>=e&&(o==ft.TrackDel&&r<e&&u>e||o==ft.TrackBefore&&r<e||o==ft.TrackAfter&&u>e))return null;if(u>e||u==e&&a<0&&!i)return e==r||a<0?n:n+l;n+=l}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,a=e){for(let o=0,r=0;o<this.sections.length&&r<=a;){let n=this.sections[o++],s=this.sections[o++],i=r+n;if(s>=0&&r<=a&&i>=e)return r<e&&i>a?"cover":!0;r=i}return!1}toString(){let e="";for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(a=>typeof a!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},It=class t extends uo{constructor(e,a){super(e),this.inserted=a}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return xf(this,(a,o,r,n,s)=>e=e.replace(r,r+(o-a),s),!1),e}mapDesc(e,a=!1){return bf(this,e,a,!0)}invert(e){let a=this.sections.slice(),o=[];for(let r=0,n=0;r<a.length;r+=2){let s=a[r],i=a[r+1];if(i>=0){a[r]=i,a[r+1]=s;let l=r>>1;for(;o.length<l;)o.push(we.empty);o.push(s?e.slice(n,n+s):we.empty)}n+=s}return new t(a,o)}compose(e){return this.empty?e:e.empty?this:Xx(this,e,!0)}map(e,a=!1){return e.empty?this:bf(this,e,a,!0)}iterChanges(e,a=!1){xf(this,e,a)}get desc(){return uo.create(this.sections)}filter(e){let a=[],o=[],r=[],n=new br(this);e:for(let s=0,i=0;;){let l=s==e.length?1e9:e[s++];for(;i<l||i==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-i);yt(r,d,-1);let c=n.ins==-1?-1:n.off==0?n.ins:0;yt(a,d,c),c>0&&Ro(o,a,n.text),n.forward(d),i+=d}let u=e[s++];for(;i<u;){if(n.done)break e;let d=Math.min(n.len,u-i);yt(a,d,-1),yt(r,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),i+=d}}return{changes:new t(a,o),filtered:uo.create(r)}}toJSON(){let e=[];for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a],r=this.sections[a+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[a>>1].toJSON()))}return e}static of(e,a,o){let r=[],n=[],s=0,i=null;function l(d=!1){if(!d&&!r.length)return;s<a&&yt(r,a-s,-1);let c=new t(r,n);i=i?i.compose(c.map(i)):c,r=[],n=[],s=0}function u(d){if(Array.isArray(d))for(let c of d)u(c);else if(d instanceof t){if(d.length!=a)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${a})`);l(),i=i?i.compose(d.map(i)):d}else{let{from:c,to:f=c,insert:h}=d;if(c>f||c<0||f>a)throw new RangeError(`Invalid change range ${c} to ${f} (in doc of length ${a})`);let p=h?typeof h=="string"?we.of(h.split(o||gf)):h:we.empty,m=p.length;if(c==f&&m==0)return;c<s&&l(),c>s&&yt(r,c-s,-1),yt(r,f-c,m),Ro(n,r,p),s=f}}return u(e),l(!i),i}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let a=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(typeof n=="number")a.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((s,i)=>i&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)a.push(n[0],0);else{for(;o.length<r;)o.push(we.empty);o[r]=we.of(n.slice(1)),a.push(n[0],o[r].length)}}}return new t(a,o)}static createSet(e,a){return new t(e,a)}};function yt(t,e,a,o=!1){if(e==0&&a<=0)return;let r=t.length-2;r>=0&&a<=0&&a==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=a:o?(t[r]+=e,t[r+1]+=a):t.push(e,a)}function Ro(t,e,a){if(a.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(a);else{for(;t.length<o;)t.push(we.empty);t.push(a)}}function xf(t,e,a){let o=t.inserted;for(let r=0,n=0,s=0;s<t.sections.length;){let i=t.sections[s++],l=t.sections[s++];if(l<0)r+=i,n+=i;else{let u=r,d=n,c=we.empty;for(;u+=i,d+=l,l&&o&&(c=c.append(o[s-2>>1])),!(a||s==t.sections.length||t.sections[s+1]<0);)i=t.sections[s++],l=t.sections[s++];e(r,u,n,d,c),r=u,n=d}}}function bf(t,e,a,o=!1){let r=[],n=o?[]:null,s=new br(t),i=new br(e);for(let l=-1;;){if(s.done&&i.len||i.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&i.ins==-1){let u=Math.min(s.len,i.len);yt(r,u,-1),s.forward(u),i.forward(u)}else if(i.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(i.len<s.len||i.len==s.len&&!a))){let u=i.len;for(yt(r,i.ins,-1);u;){let d=Math.min(s.len,u);s.ins>=0&&l<s.i&&s.len<=d&&(yt(r,0,s.ins),n&&Ro(n,r,s.text),l=s.i),s.forward(d),u-=d}i.next()}else if(s.ins>=0){let u=0,d=s.len;for(;d;)if(i.ins==-1){let c=Math.min(d,i.len);u+=c,d-=c,i.forward(c)}else if(i.ins==0&&i.len<d)d-=i.len,i.next();else break;yt(r,u,l<s.i?s.ins:0),n&&l<s.i&&Ro(n,r,s.text),l=s.i,s.forward(s.len-d)}else{if(s.done&&i.done)return n?It.createSet(r,n):uo.create(r);throw new Error("Mismatched change set lengths")}}}function Xx(t,e,a=!1){let o=[],r=a?[]:null,n=new br(t),s=new br(e);for(let i=!1;;){if(n.done&&s.done)return r?It.createSet(o,r):uo.create(o);if(n.ins==0)yt(o,n.len,0,i),n.next();else if(s.len==0&&!s.done)yt(o,0,s.ins,i),r&&Ro(r,o,s.text),s.next();else{if(n.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,s.len),u=o.length;if(n.ins==-1){let d=s.ins==-1?-1:s.off?0:s.ins;yt(o,l,d,i),r&&d&&Ro(r,o,s.text)}else s.ins==-1?(yt(o,n.off?0:n.len,l,i),r&&Ro(r,o,n.textBit(l))):(yt(o,n.off?0:n.len,s.off?0:s.ins,i),r&&!s.off&&Ro(r,o,s.text));i=(n.ins>l||s.ins>=0&&s.len>l)&&(i||o.length>u),n.forward2(l),s.forward(l)}}}}var br=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,a=this.i-2>>1;return a>=e.length?we.empty:e[a]}textBit(e){let{inserted:a}=this.set,o=this.i-2>>1;return o>=a.length&&!e?we.empty:a[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},xn=class t{constructor(e,a,o){this.from=e,this.to=a,this.flags=o}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,a=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,a):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new t(o,r,this.flags)}extend(e,a=e,o=0){if(e<=this.anchor&&a>=this.anchor)return X.range(e,a,void 0,void 0,o);let r=Math.abs(e-this.anchor)>Math.abs(a-this.anchor)?e:a;return X.range(this.anchor,r,void 0,void 0,o)}eq(e,a=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!a||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return X.range(e.anchor,e.head)}static create(e,a,o){return new t(e,a,o)}},X=class t{constructor(e,a){this.ranges=e,this.mainIndex=a}map(e,a=-1){return e.empty?this:t.create(this.ranges.map(o=>o.map(e,a)),this.mainIndex)}eq(e,a=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let o=0;o<this.ranges.length;o++)if(!this.ranges[o].eq(e.ranges[o],a))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new t([this.main],0)}addRange(e,a=!0){return t.create([e].concat(this.ranges),a?0:this.mainIndex+1)}replaceRange(e,a=this.mainIndex){let o=this.ranges.slice();return o[a]=e,t.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(a=>xn.fromJSON(a)),e.main)}static single(e,a=e){return new t([t.range(e,a)],0)}static create(e,a=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let n=e[r];if(n.empty?n.from<=o:n.from<o)return t.normalized(e.slice(),a);o=n.to}return new t(e,a)}static cursor(e,a=0,o,r){return xn.create(e,e,(a==0?0:a<0?8:16)|(o==null?7:Math.min(6,o))|(r??16777215)<<6)}static range(e,a,o,r,n){let s=(o??16777215)<<6|(r==null?7:Math.min(6,r));return!n&&e!=a&&(n=a<e?1:-1),a<e?xn.create(a,e,48|s):xn.create(e,a,(n?n<0?8:16:0)|s)}static normalized(e,a=0){let o=e[a];e.sort((r,n)=>r.from-n.from),a=e.indexOf(o);for(let r=1;r<e.length;r++){let n=e[r],s=e[r-1];if(n.empty?n.from<=s.to:n.from<s.to){let i=s.from,l=Math.max(n.to,s.to);r<=a&&a--,e.splice(--r,2,n.anchor>n.head?t.range(l,i):t.range(i,l))}}return new t(e,a)}};function Kx(t,e){for(let a of t.ranges)if(a.to>e)throw new RangeError("Selection points outside of document")}var Mf=0,Y=class t{constructor(e,a,o,r,n){this.combine=e,this.compareInput=a,this.compare=o,this.isStatic=r,this.id=Mf++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new t(e.combine||(a=>a),e.compareInput||((a,o)=>a===o),e.compare||(e.combine?(a,o)=>a===o:Pf),!!e.static,e.enables)}of(e){return new wn([],this,0,e)}compute(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new wn(e,this,1,a)}computeN(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new wn(e,this,2,a)}from(e,a){return a||(a=o=>o),this.compute([e],o=>a(o.field(e)))}};function Pf(t,e){return t==e||t.length==e.length&&t.every((a,o)=>a===e[o])}var wn=class{constructor(e,a,o,r){this.dependencies=e,this.facet=a,this.type=o,this.value=r,this.id=Mf++}dynamicSlot(e){var a;let o=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,i=this.type==2,l=!1,u=!1,d=[];for(let c of this.dependencies)c=="doc"?l=!0:c=="selection"?u=!0:(((a=e[c.id])!==null&&a!==void 0?a:1)&1)==0&&d.push(e[c.id]);return{create(c){return c.values[s]=o(c),1},update(c,f){if(l&&f.docChanged||u&&(f.docChanged||f.selection)||wf(c,d)){let h=o(c);if(i?!Wx(h,c.values[s],r):!r(h,c.values[s]))return c.values[s]=h,1}return 0},reconfigure:(c,f)=>{let h,p=f.config.address[n];if(p!=null){let m=Ml(f,p);if(this.dependencies.every(g=>g instanceof Y?f.facet(g)===c.facet(g):g instanceof Ve?f.field(g,!1)==c.field(g,!1):!0)||(i?Wx(h=o(c),m,r):r(h=o(c),m)))return c.values[s]=m,0}else h=o(c);return c.values[s]=h,1}}}};function Wx(t,e,a){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!a(t[o],e[o]))return!1;return!0}function wf(t,e){let a=!1;for(let o of e)vs(t,o)&1&&(a=!0);return a}function FP(t,e,a){let o=a.map(l=>t[l.id]),r=a.map(l=>l.type),n=o.filter(l=>!(l&1)),s=t[e.id]>>1;function i(l){let u=[];for(let d=0;d<o.length;d++){let c=Ml(l,o[d]);if(r[d]==2)for(let f of c)u.push(f);else u.push(c)}return e.combine(u)}return{create(l){for(let u of o)vs(l,u);return l.values[s]=i(l),1},update(l,u){if(!wf(l,n))return 0;let d=i(l);return e.compare(d,l.values[s])?0:(l.values[s]=d,1)},reconfigure(l,u){let d=wf(l,o),c=u.config.facets[e.id],f=u.facet(e);if(c&&!d&&Pf(a,c))return l.values[s]=f,0;let h=i(l);return e.compare(h,f)?(l.values[s]=f,0):(l.values[s]=h,1)}}}var yl=Y.define({static:!0}),Ve=class t{constructor(e,a,o,r,n){this.id=e,this.createF=a,this.updateF=o,this.compareF=r,this.spec=n,this.provides=void 0}static define(e){let a=new t(Mf++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(a.provides=e.provide(a)),a}create(e){let a=e.facet(yl).find(o=>o.field==this);return(a?.create||this.createF)(e)}slot(e){let a=e[this.id]>>1;return{create:o=>(o.values[a]=this.create(o),1),update:(o,r)=>{let n=o.values[a],s=this.updateF(n,r);return this.compareF(n,s)?0:(o.values[a]=s,1)},reconfigure:(o,r)=>{let n=o.facet(yl),s=r.facet(yl),i;return(i=n.find(l=>l.field==this))&&i!=s.find(l=>l.field==this)?(o.values[a]=i.create(o),1):r.config.address[this.id]!=null?(o.values[a]=r.field(this),0):(o.values[a]=this.create(o),1)}}}init(e){return[this,yl.of({field:this,create:e})]}get extension(){return this}},mr={lowest:4,low:3,default:2,high:1,highest:0};function Cs(t){return e=>new kl(e,t)}var Xt={highest:Cs(mr.highest),high:Cs(mr.high),default:Cs(mr.default),low:Cs(mr.low),lowest:Cs(mr.lowest)},kl=class{constructor(e,a){this.inner=e,this.prec=a}},To=class t{of(e){return new Ss(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Ss=class{constructor(e,a){this.compartment=e,this.inner=a}},Al=class t{constructor(e,a,o,r,n,s){for(this.base=e,this.compartments=a,this.dynamicSlots=o,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let a=this.address[e.id];return a==null?e.default:this.staticValues[a>>1]}static resolve(e,a,o){let r=[],n=Object.create(null),s=new Map;for(let f of OP(e,a,s))f instanceof Ve?r.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let i=Object.create(null),l=[],u=[];for(let f of r)i[f.id]=u.length<<1,u.push(h=>f.slot(h));let d=o?.config.facets;for(let f in n){let h=n[f],p=h[0].facet,m=d&&d[f]||[];if(h.every(g=>g.type==0))if(i[p.id]=l.length<<1|1,Pf(m,h))l.push(o.facet(p));else{let g=p.combine(h.map(x=>x.value));l.push(o&&p.compare(g,o.facet(p))?o.facet(p):g)}else{for(let g of h)g.type==0?(i[g.id]=l.length<<1|1,l.push(g.value)):(i[g.id]=u.length<<1,u.push(x=>g.dynamicSlot(x)));i[p.id]=u.length<<1,u.push(g=>FP(g,p,h))}}let c=u.map(f=>f(i));return new t(e,s,c,i,l,n)}};function OP(t,e,a){let o=[[],[],[],[],[]],r=new Map;function n(s,i){let l=r.get(s);if(l!=null){if(l<=i)return;let u=o[l].indexOf(s);u>-1&&o[l].splice(u,1),s instanceof Ss&&a.delete(s.compartment)}if(r.set(s,i),Array.isArray(s))for(let u of s)n(u,i);else if(s instanceof Ss){if(a.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;a.set(s.compartment,u),n(u,i)}else if(s instanceof kl)n(s.inner,s.prec);else if(s instanceof Ve)o[i].push(s),s.provides&&n(s.provides,i);else if(s instanceof wn)o[i].push(s),s.facet.extensions&&n(s.facet.extensions,mr.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(u,i)}}return n(t,mr.default),o.reduce((s,i)=>s.concat(i))}function vs(t,e){if(e&1)return 2;let a=e>>1,o=t.status[a];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[a]=4;let r=t.computeSlot(t,t.config.dynamicSlots[a]);return t.status[a]=2|r}function Ml(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var jx=Y.define(),yf=Y.define({combine:t=>t.some(e=>e),static:!0}),Zx=Y.define({combine:t=>t.length?t[0]:void 0,static:!0}),Yx=Y.define(),Jx=Y.define(),Qx=Y.define(),e0=Y.define({combine:t=>t.length?t[0]:!1}),Et=class{constructor(e,a){this.type=e,this.value=a}static define(){return new Lf}},Lf=class{of(e){return new Et(this,e)}},Cf=class{constructor(e){this.map=e}of(e){return new de(this,e)}},de=class t{constructor(e,a){this.type=e,this.value=a}map(e){let a=this.type.map(this.value,e);return a===void 0?void 0:a==this.value?this:new t(this.type,a)}is(e){return this.type==e}static define(e={}){return new Cf(e.map||(a=>a))}static mapEffects(e,a){if(!e.length)return e;let o=[];for(let r of e){let n=r.map(a);n&&o.push(n)}return o}};de.reconfigure=de.define();de.appendConfig=de.define();var ot=class t{constructor(e,a,o,r,n,s){this.startState=e,this.changes=a,this.selection=o,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,o&&Kx(o,a.newLength),n.some(i=>i.type==t.time)||(this.annotations=n.concat(t.time.of(Date.now())))}static create(e,a,o,r,n,s){return new t(e,a,o,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let a of this.annotations)if(a.type==e)return a.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let a=this.annotation(t.userEvent);return!!(a&&(a==e||a.length>e.length&&a.slice(0,e.length)==e&&a[e.length]=="."))}};ot.time=Et.define();ot.userEvent=Et.define();ot.addToHistory=Et.define();ot.remote=Et.define();function NP(t,e){let a=[];for(let o=0,r=0;;){let n,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))n=t[o++],s=t[o++];else if(r<e.length)n=e[r++],s=e[r++];else return a;!a.length||a[a.length-1]<n?a.push(n,s):a[a.length-1]<s&&(a[a.length-1]=s)}}function t0(t,e,a){var o;let r,n,s;return a?(r=e.changes,n=It.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),n=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(n):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:de.mapEffects(t.effects,r).concat(de.mapEffects(e.effects,n)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function vf(t,e,a){let o=e.selection,r=yn(e.annotations);return e.userEvent&&(r=r.concat(ot.userEvent.of(e.userEvent))),{changes:e.changes instanceof It?e.changes:It.of(e.changes||[],a,t.facet(Zx)),selection:o&&(o instanceof X?o:X.single(o.anchor,o.head)),effects:yn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function a0(t,e,a){let o=vf(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(a=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(a=!1);let s=!!e[n].sequential;o=t0(o,vf(t,e[n],s?o.changes.newLength:t.doc.length),s)}let r=ot.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return HP(a?_P(r):r)}function _P(t){let e=t.startState,a=!0;for(let r of e.facet(Yx)){let n=r(t);if(n===!1){a=!1;break}Array.isArray(n)&&(a=a===!0?n:NP(a,n))}if(a!==!0){let r,n;if(a===!1)n=t.changes.invertedDesc,r=It.empty(e.doc.length);else{let s=t.changes.filter(a);r=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}t=ot.create(e,r,t.selection&&t.selection.map(n),de.mapEffects(t.effects,n),t.annotations,t.scrollIntoView)}let o=e.facet(Jx);for(let r=o.length-1;r>=0;r--){let n=o[r](t);n instanceof ot?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof ot?t=n[0]:t=a0(e,yn(n),!1)}return t}function HP(t){let e=t.startState,a=e.facet(Qx),o=t;for(let r=a.length-1;r>=0;r--){let n=a[r](t);n&&Object.keys(n).length&&(o=t0(o,vf(e,n,t.changes.newLength),!0))}return o==t?t:ot.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var zP=[];function yn(t){return t==null?zP:Array.isArray(t)?t:[t]}var _e=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(_e||(_e={})),qP=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Sf;try{Sf=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function UP(t){if(Sf)return Sf.test(t);for(let e=0;e<t.length;e++){let a=t[e];if(/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||qP.test(a)))return!0}return!1}function WP(t){return e=>{if(!/\S/.test(e))return _e.Space;if(UP(e))return _e.Word;for(let a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return _e.Word;return _e.Other}}var Me=class t{constructor(e,a,o,r,n,s){this.config=e,this.doc=a,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let i=0;i<this.config.dynamicSlots.length;i++)vs(this,i<<1);this.computeSlot=null}field(e,a=!0){let o=this.config.address[e.id];if(o==null){if(a)throw new RangeError("Field is not present in this state");return}return vs(this,o),Ml(this,o)}update(...e){return a0(this,e,!0)}applyTransaction(e){let a=this.config,{base:o,compartments:r}=a;for(let i of e.effects)i.is(To.reconfigure)?(a&&(r=new Map,a.compartments.forEach((l,u)=>r.set(u,l)),a=null),r.set(i.value.compartment,i.value.extension)):i.is(de.reconfigure)?(a=null,o=i.value):i.is(de.appendConfig)&&(a=null,o=yn(o).concat(i.value));let n;a?n=e.startState.values.slice():(a=Al.resolve(o,r,this),n=new t(a,this.doc,this.selection,a.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let s=e.startState.facet(yf)?e.newSelection:e.newSelection.asSingle();new t(a,e.newDoc,s,n,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:e},range:X.cursor(a.from+e.length)}))}changeByRange(e){let a=this.selection,o=e(a.ranges[0]),r=this.changes(o.changes),n=[o.range],s=yn(o.effects);for(let i=1;i<a.ranges.length;i++){let l=e(a.ranges[i]),u=this.changes(l.changes),d=u.map(r);for(let f=0;f<i;f++)n[f]=n[f].map(d);let c=r.mapDesc(u,!0);n.push(l.range.map(c)),r=r.compose(d),s=de.mapEffects(s,d).concat(de.mapEffects(yn(l.effects),c))}return{changes:r,selection:X.create(n,a.mainIndex),effects:s}}changes(e=[]){return e instanceof It?e:It.of(e,this.doc.length,this.facet(t.lineSeparator))}toText(e){return we.of(e.split(this.facet(t.lineSeparator)||gf))}sliceDoc(e=0,a=this.doc.length){return this.doc.sliceString(e,a,this.lineBreak)}facet(e){let a=this.config.address[e.id];return a==null?e.default:(vs(this,a),Ml(this,a))}toJSON(e){let a={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof Ve&&this.config.address[r.id]!=null&&(a[o]=r.spec.toJSON(this.field(e[o]),this))}return a}static fromJSON(e,a={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let n in o)if(Object.prototype.hasOwnProperty.call(e,n)){let s=o[n],i=e[n];r.push(s.init(l=>s.spec.fromJSON(i,l)))}}return t.create({doc:e.doc,selection:X.fromJSON(e.selection),extensions:a.extensions?r.concat([a.extensions]):r})}static create(e={}){let a=Al.resolve(e.extensions||[],new Map),o=e.doc instanceof we?e.doc:we.of((e.doc||"").split(a.staticFacet(t.lineSeparator)||gf)),r=e.selection?e.selection instanceof X?e.selection:X.single(e.selection.anchor,e.selection.head):X.single(0);return Kx(r,o.length),a.staticFacet(yf)||(r=r.asSingle()),new t(a,o,r,a.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||`
13
+ `}get readOnly(){return this.facet(e0)}phrase(e,...a){for(let o of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(o,e)){e=o[e];break}return a.length&&(e=e.replace(/\$(\$|\d*)/g,(o,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>a.length?o:a[n-1]})),e}languageDataAt(e,a,o=-1){let r=[];for(let n of this.facet(jx))for(let s of n(this,a,o))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let a=this.languageDataAt("wordChars",e);return WP(a.length?a[0]:"")}wordAt(e){let{text:a,from:o,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-o,i=e-o;for(;s>0;){let l=je(a,s,!1);if(n(a.slice(l,s))!=_e.Word)break;s=l}for(;i<r;){let l=je(a,i);if(n(a.slice(i,l))!=_e.Word)break;i=l}return s==i?null:X.range(s+o,i+o)}};Me.allowMultipleSelections=yf;Me.tabSize=Y.define({combine:t=>t.length?t[0]:4});Me.lineSeparator=Zx;Me.readOnly=e0;Me.phrases=Y.define({compare(t,e){let a=Object.keys(t),o=Object.keys(e);return a.length==o.length&&a.every(r=>t[r]==e[r])}});Me.languageData=jx;Me.changeFilter=Yx;Me.transactionFilter=Jx;Me.transactionExtender=Qx;To.reconfigure=de.define();function Ft(t,e,a={}){let o={};for(let r of t)for(let n of Object.keys(r)){let s=r[n],i=o[n];if(i===void 0)o[n]=s;else if(!(i===s||s===void 0))if(Object.hasOwnProperty.call(a,n))o[n]=a[n](i,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)o[r]===void 0&&(o[r]=e[r]);return o}var ta=class{eq(e){return this==e}range(e,a=e){return Is.create(e,a,this)}};ta.prototype.startSide=ta.prototype.endSide=0;ta.prototype.point=!1;ta.prototype.mapMode=ft.TrackDel;function Df(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var Is=class t{constructor(e,a,o){this.from=e,this.to=a,this.value=o}static create(e,a,o){return new t(e,a,o)}};function If(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var kf=class t{constructor(e,a,o,r){this.from=e,this.to=a,this.value=o,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,a,o,r=0){let n=o?this.to:this.from;for(let s=r,i=n.length;;){if(s==i)return s;let l=s+i>>1,u=n[l]-e||(o?this.value[l].endSide:this.value[l].startSide)-a;if(l==s)return u>=0?s:i;u>=0?i=l:s=l+1}}between(e,a,o,r){for(let n=this.findIndex(a,-1e9,!0),s=this.findIndex(o,1e9,!1,n);n<s;n++)if(r(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,a){let o=[],r=[],n=[],s=-1,i=-1;for(let l=0;l<this.value.length;l++){let u=this.value[l],d=this.from[l]+e,c=this.to[l]+e,f,h;if(d==c){let p=a.mapPos(d,u.startSide,u.mapMode);if(p==null||(f=h=p,u.startSide!=u.endSide&&(h=a.mapPos(d,u.endSide),h<f)))continue}else if(f=a.mapPos(d,u.startSide),h=a.mapPos(c,u.endSide),f>h||f==h&&u.startSide>0&&u.endSide<=0)continue;(h-f||u.endSide-u.startSide)<0||(s<0&&(s=f),u.point&&(i=Math.max(i,h-f)),o.push(u),r.push(f-s),n.push(h-s))}return{mapped:o.length?new t(r,n,o,i):null,pos:s}}},ye=class t{constructor(e,a,o,r){this.chunkPos=e,this.chunk=a,this.nextLayer=o,this.maxPoint=r}static create(e,a,o,r){return new t(e,a,o,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let a of this.chunk)e+=a.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:a=[],sort:o=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(a.length==0&&!s)return this;if(o&&(a=a.slice().sort(If)),this.isEmpty)return a.length?t.of(a):this;let i=new Pl(this,null,-1).goto(0),l=0,u=[],d=new xa;for(;i.value||l<a.length;)if(l<a.length&&(i.from-a[l].from||i.startSide-a[l].value.startSide)>=0){let c=a[l++];d.addInner(c.from,c.to,c.value)||u.push(c)}else i.rangeIndex==1&&i.chunkIndex<this.chunk.length&&(l==a.length||this.chunkEnd(i.chunkIndex)<a[l].from)&&(!s||r>this.chunkEnd(i.chunkIndex)||n<this.chunkPos[i.chunkIndex])&&d.addChunk(this.chunkPos[i.chunkIndex],this.chunk[i.chunkIndex])?i.nextChunk():((!s||r>i.to||n<i.from||s(i.from,i.to,i.value))&&(d.addInner(i.from,i.to,i.value)||u.push(Is.create(i.from,i.to,i.value))),i.next());return d.finishInner(this.nextLayer.isEmpty&&!u.length?t.empty:this.nextLayer.update({add:u,filter:s,filterFrom:r,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let a=[],o=[],r=-1;for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],l=this.chunk[s],u=e.touchesRange(i,i+l.length);if(u===!1)r=Math.max(r,l.maxPoint),a.push(l),o.push(e.mapPos(i));else if(u===!0){let{mapped:d,pos:c}=l.map(i,e);d&&(r=Math.max(r,d.maxPoint),a.push(d),o.push(c))}}let n=this.nextLayer.map(e);return a.length==0?n:new t(o,a,n||t.empty,r)}between(e,a,o){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let n=this.chunkPos[r],s=this.chunk[r];if(a>=n&&e<=n+s.length&&s.between(n,e-n,a-n,o)===!1)return}this.nextLayer.between(e,a,o)}}iter(e=0){return ks.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,a=0){return ks.from(e).goto(a)}static compare(e,a,o,r,n=-1){let s=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),i=a.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),l=Vx(s,i,o),u=new gr(s,l,n),d=new gr(i,l,n);o.iterGaps((c,f,h)=>Gx(u,c,d,f,h,r)),o.empty&&o.length==0&&Gx(u,0,d,0,0,r)}static eq(e,a,o=0,r){r==null&&(r=999999999);let n=e.filter(d=>!d.isEmpty&&a.indexOf(d)<0),s=a.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let i=Vx(n,s),l=new gr(n,i,0).goto(o),u=new gr(s,i,0).goto(o);for(;;){if(l.to!=u.to||!Af(l.active,u.active)||l.point&&(!u.point||!Df(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(e,a,o,r,n=-1){let s=new gr(e,null,n).goto(a),i=a,l=s.openStart;for(;;){let u=Math.min(s.to,o);if(s.point){let d=s.activeForPoint(s.to),c=s.pointFrom<a?d.length+1:s.point.startSide<0?d.length:Math.min(d.length,l);r.point(i,u,s.point,d,c,s.pointRank),l=Math.min(s.openEnd(u),d.length)}else u>i&&(r.span(i,u,s.active,l),l=s.openEnd(u));if(s.to>o)return l+(s.point&&s.to>o?1:0);i=s.to,s.next()}}static of(e,a=!1){let o=new xa;for(let r of e instanceof Is?[e]:a?VP(e):e)o.add(r.from,r.to,r.value);return o.finish()}static join(e){if(!e.length)return t.empty;let a=e[e.length-1];for(let o=e.length-2;o>=0;o--)for(let r=e[o];r!=t.empty;r=r.nextLayer)a=new t(r.chunkPos,r.chunk,a,Math.max(r.maxPoint,a.maxPoint));return a}};ye.empty=new ye([],[],null,-1);function VP(t){if(t.length>1)for(let e=t[0],a=1;a<t.length;a++){let o=t[a];if(If(e,o)>0)return t.slice().sort(If);e=o}return t}ye.empty.nextLayer=ye.empty;var xa=class t{finishChunk(e){this.chunks.push(new kf(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,a,o){this.addInner(e,a,o)||(this.nextLayer||(this.nextLayer=new t)).add(e,a,o)}addInner(e,a,o){let r=e-this.lastTo||o.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||o.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(a-this.chunkStart),this.last=o,this.lastFrom=e,this.lastTo=a,this.value.push(o),o.point&&(this.maxPoint=Math.max(this.maxPoint,a-e)),!0)}addChunk(e,a){if((e-this.lastTo||a.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,a.maxPoint),this.chunks.push(a),this.chunkPos.push(e);let o=a.value.length-1;return this.last=a.value[o],this.lastFrom=a.from[o]+e,this.lastTo=a.to[o]+e,!0}finish(){return this.finishInner(ye.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let a=ye.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,a}};function Vx(t,e,a){let o=new Map;for(let n of t)for(let s=0;s<n.chunk.length;s++)n.chunk[s].maxPoint<=0&&o.set(n.chunk[s],n.chunkPos[s]);let r=new Set;for(let n of e)for(let s=0;s<n.chunk.length;s++){let i=o.get(n.chunk[s]);i!=null&&(a?a.mapPos(i):i)==n.chunkPos[s]&&!a?.touchesRange(i,i+n.chunk[s].length)&&r.add(n.chunk[s])}return r}var Pl=class{constructor(e,a,o,r=0){this.layer=e,this.skip=a,this.minPoint=o,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,a=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,a,!1),this}gotoInner(e,a,o){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,o=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],a,!0);(!o||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,a){(this.to-e||this.endSide-a)<0&&this.gotoInner(e,a,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],a=this.layer.chunk[this.chunkIndex],o=e+a.from[this.rangeIndex];if(this.from=o,this.to=e+a.to[this.rangeIndex],this.value=a.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},ks=class t{constructor(e){this.heap=e}static from(e,a=null,o=-1){let r=[];for(let n=0;n<e.length;n++)for(let s=e[n];!s.isEmpty;s=s.nextLayer)s.maxPoint>=o&&r.push(new Pl(s,a,o,n));return r.length==1?r[0]:new t(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,a=-1e9){for(let o of this.heap)o.goto(e,a);for(let o=this.heap.length>>1;o>=0;o--)pf(this.heap,o);return this.next(),this}forward(e,a){for(let o of this.heap)o.forward(e,a);for(let o=this.heap.length>>1;o>=0;o--)pf(this.heap,o);(this.to-e||this.value.endSide-a)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),pf(this.heap,0)}}};function pf(t,e){for(let a=t[e];;){let o=(e<<1)+1;if(o>=t.length)break;let r=t[o];if(o+1<t.length&&r.compare(t[o+1])>=0&&(r=t[o+1],o++),a.compare(r)<0)break;t[o]=a,t[e]=r,e=o}}var gr=class{constructor(e,a,o){this.minPoint=o,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=ks.from(e,a,o)}goto(e,a=-1e9){return this.cursor.goto(e,a),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=a,this.openStart=-1,this.next(),this}forward(e,a){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-a)<0;)this.removeActive(this.minActive);this.cursor.forward(e,a)}removeActive(e){Ll(this.active,e),Ll(this.activeTo,e),Ll(this.activeRank,e),this.minActive=$x(this.active,this.activeTo)}addActive(e){let a=0,{value:o,to:r,rank:n}=this.cursor;for(;a<this.activeRank.length&&(n-this.activeRank[a]||r-this.activeTo[a])>0;)a++;Cl(this.active,a,o),Cl(this.activeTo,a,r),Cl(this.activeRank,a,n),e&&Cl(e,a,this.cursor.from),this.minActive=$x(this.active,this.activeTo)}next(){let e=this.to,a=this.point;this.point=null;let o=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),o&&Ll(o,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(o),this.cursor.next();else if(a&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(o){this.openStart=0;for(let r=o.length-1;r>=0&&o[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let a=[];for(let o=this.active.length-1;o>=0&&!(this.activeRank[o]<this.pointRank);o--)(this.activeTo[o]>e||this.activeTo[o]==e&&this.active[o].endSide>=this.point.endSide)&&a.push(this.active[o]);return a.reverse()}openEnd(e){let a=0;for(let o=this.activeTo.length-1;o>=0&&this.activeTo[o]>e;o--)a++;return a}};function Gx(t,e,a,o,r,n){t.goto(e),a.goto(o);let s=o+r,i=o,l=o-e,u=!!n.boundChange;for(let d=!1;;){let c=t.to+l-a.to,f=c||t.endSide-a.endSide,h=f<0?t.to+l:a.to,p=Math.min(h,s);if(t.point||a.point?(t.point&&a.point&&Df(t.point,a.point)&&Af(t.activeForPoint(t.to),a.activeForPoint(a.to))||n.comparePoint(i,p,t.point,a.point),d=!1):(d&&n.boundChange(i),p>i&&!Af(t.active,a.active)&&n.compareRange(i,p,t.active,a.active),u&&p<s&&(c||t.openEnd(h)!=a.openEnd(h))&&(d=!0)),h>s)break;i=h,f<=0&&t.next(),f>=0&&a.next()}}function Af(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!=e[a]&&!Df(t[a],e[a]))return!1;return!0}function Ll(t,e){for(let a=e,o=t.length-1;a<o;a++)t[a]=t[a+1];t.pop()}function Cl(t,e,a){for(let o=t.length-1;o>=e;o--)t[o+1]=t[o];t[e]=a}function $x(t,e){let a=-1,o=1e9;for(let r=0;r<e.length;r++)(e[r]-o||t[r].endSide-t[a].endSide)<0&&(a=r,o=e[r]);return a}function wr(t,e,a=t.length){let o=0;for(let r=0;r<a&&r<t.length;)t.charCodeAt(r)==9?(o+=e-o%e,r++):(o++,r=je(t,r));return o}function o0(t,e,a,o){for(let r=0,n=0;;){if(n>=e)return r;if(r==t.length)break;n+=t.charCodeAt(r)==9?a-n%a:1,r=je(t,r)}return o===!0?-1:t.length}var r0=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Rf=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),n0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},oa=class{constructor(e,a){this.rules=[];let{finish:o}=a||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,i,l,u){let d=[],c=/^@(\w+)\b/.exec(s[0]),f=c&&c[1]=="keyframes";if(c&&i==null)return l.push(s[0]+";");for(let h in i){let p=i[h];if(/&/.test(h))n(h.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+h+") should be a primitive value.");n(r(h),p,d,f)}else p!=null&&d.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(d.length||f)&&l.push((o&&!c&&!u?s.map(o):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(`
14
+ `)}static newName(){let e=n0[r0]||1;return n0[r0]=e+1,"\u037C"+e.toString(36)}static mount(e,a,o){let r=e[Rf],n=o&&o.nonce;r?n&&r.setNonce(n):r=new Tf(e,n),r.mount(Array.isArray(a)?a:[a],e)}},s0=new Map,Tf=class{constructor(e,a){let o=e.ownerDocument||e,r=o.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=s0.get(o);if(n)return e[Rf]=n;this.sheet=new r.CSSStyleSheet,s0.set(o,this)}else this.styleTag=o.createElement("style"),a&&this.styleTag.setAttribute("nonce",a);this.modules=[],e[Rf]=this}mount(e,a){let o=this.sheet,r=0,n=0;for(let s=0;s<e.length;s++){let i=e[s],l=this.modules.indexOf(i);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,i),o)for(let u=0;u<i.rules.length;u++)o.insertRule(i.rules[u],r++)}else{for(;n<l;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(o)a.adoptedStyleSheets.indexOf(this.sheet)<0&&(a.adoptedStyleSheets=[this.sheet,...a.adoptedStyleSheets]);else{let s="";for(let l=0;l<this.modules.length;l++)s+=this.modules[l].getRules()+`
15
+ `;this.styleTag.textContent=s;let i=a.head||a;this.styleTag.parentNode!=i&&i.insertBefore(this.styleTag,i.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var co={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Cn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},GP=typeof navigator<"u"&&/Mac/.test(navigator.platform),$P=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(et=0;et<10;et++)co[48+et]=co[96+et]=String(et);var et;for(et=1;et<=24;et++)co[et+111]="F"+et;var et;for(et=65;et<=90;et++)co[et]=String.fromCharCode(et+32),Cn[et]=String.fromCharCode(et);var et;for(Dl in co)Cn.hasOwnProperty(Dl)||(Cn[Dl]=co[Dl]);var Dl;function i0(t){var e=GP&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||$P&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",a=!e&&t.key||(t.shiftKey?Cn:co)[t.keyCode]||t.key||"Unidentified";return a=="Esc"&&(a="Escape"),a=="Del"&&(a="Delete"),a=="Left"&&(a="ArrowLeft"),a=="Up"&&(a="ArrowUp"),a=="Right"&&(a="ArrowRight"),a=="Down"&&(a="ArrowDown"),a}function Ce(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,a=arguments[1];if(a&&typeof a=="object"&&a.nodeType==null&&!Array.isArray(a)){for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var r=a[o];typeof r=="string"?t.setAttribute(o,r):r!=null&&(t[o]=r)}e++}for(;e<arguments.length;e++)l0(t,arguments[e]);return t}function l0(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)l0(t,e[a]);else throw new RangeError("Unsupported child node: "+e)}var kt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Uf=typeof document<"u"?document:{documentElement:{style:{}}},Wf=/Edge\/(\d+)/.exec(kt.userAgent),V0=/MSIE \d/.test(kt.userAgent),Vf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(kt.userAgent),iu=!!(V0||Vf||Wf),u0=!iu&&/gecko\/(\d+)/i.test(kt.userAgent),Ef=!iu&&/Chrome\/(\d+)/.exec(kt.userAgent),d0="webkitFontSmoothing"in Uf.documentElement.style,Gf=!iu&&/Apple Computer/.test(kt.vendor),c0=Gf&&(/Mobile\/\w+/.test(kt.userAgent)||kt.maxTouchPoints>2),Q={mac:c0||/Mac/.test(kt.platform),windows:/Win/.test(kt.platform),linux:/Linux|X11/.test(kt.platform),ie:iu,ie_version:V0?Uf.documentMode||6:Vf?+Vf[1]:Wf?+Wf[1]:0,gecko:u0,gecko_version:u0?+(/Firefox\/(\d+)/.exec(kt.userAgent)||[0,0])[1]:0,chrome:!!Ef,chrome_version:Ef?+Ef[1]:0,ios:c0,android:/Android\b/.test(kt.userAgent),webkit:d0,webkit_version:d0?+(/\bAppleWebKit\/(\d+)/.exec(kt.userAgent)||[0,0])[1]:0,safari:Gf,safari_version:Gf?+(/\bVersion\/(\d+(\.\d+)?)/.exec(kt.userAgent)||[0,0])[1]:0,tabSize:Uf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Th(t,e){for(let a in t)a=="class"&&e.class?e.class+=" "+t.class:a=="style"&&e.style?e.style+=";"+t.style:e[a]=t[a];return e}var Wl=Object.create(null);function Eh(t,e,a){if(t==e)return!0;t||(t=Wl),e||(e=Wl);let o=Object.keys(t),r=Object.keys(e);if(o.length-(a&&o.indexOf(a)>-1?1:0)!=r.length-(a&&r.indexOf(a)>-1?1:0))return!1;for(let n of o)if(n!=a&&(r.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function XP(t,e){for(let a=t.attributes.length-1;a>=0;a--){let o=t.attributes[a].name;e[o]==null&&t.removeAttribute(o)}for(let a in e){let o=e[a];a=="style"?t.style.cssText=o:t.getAttribute(a)!=o&&t.setAttribute(a,o)}}function f0(t,e,a){let o=!1;if(e)for(let r in e)a&&r in a||(o=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(a)for(let r in a)e&&e[r]==a[r]||(o=!0,r=="style"?t.style.cssText=a[r]:t.setAttribute(r,a[r]));return o}function KP(t){let e=Object.create(null);for(let a=0;a<t.attributes.length;a++){let o=t.attributes[a];e[o.name]=o.value}return e}var qa=class{eq(e){return!1}updateDOM(e,a,o){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,a,o){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},pt=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(pt||(pt={})),pe=class extends ta{constructor(e,a,o,r){super(),this.startSide=e,this.endSide=a,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Hs(e)}static widget(e){let a=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return a+=o&&!e.inlineOrder?a>0?3e8:-4e8:a>0?1e8:-1e8,new vr(e,a,a,o,e.widget||null,!1)}static replace(e){let a=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:n,end:s}=G0(e,a);o=(n?a?-3e8:-1:5e8)-1,r=(s?a?2e8:1:-6e8)+1}return new vr(e,o,r,a,e.widget||null,!0)}static line(e){return new zs(e)}static set(e,a=!1){return ye.of(e,a)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};pe.none=ye.empty;var Hs=class t extends pe{constructor(e){let{start:a,end:o}=G0(e);super(a?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Th(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Wl}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&Eh(this.attrs,e.attrs)}range(e,a=e){if(e>=a)throw new RangeError("Mark decorations may not be empty");return super.range(e,a)}};Hs.prototype.point=!1;var zs=class t extends pe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&Eh(this.spec.attributes,e.spec.attributes)}range(e,a=e){if(a!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,a)}};zs.prototype.mapMode=ft.TrackBefore;zs.prototype.point=!0;var vr=class t extends pe{constructor(e,a,o,r,n,s){super(a,o,n,e),this.block=r,this.isReplace=s,this.mapMode=r?a<=0?ft.TrackBefore:ft.TrackAfter:ft.TrackDel}get type(){return this.startSide!=this.endSide?pt.WidgetRange:this.startSide<=0?pt.WidgetBefore:pt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&jP(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,a=e){if(this.isReplace&&(e>a||e==a&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&a!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,a)}};vr.prototype.point=!0;function G0(t,e=!1){let{inclusiveStart:a,inclusiveEnd:o}=t;return a==null&&(a=t.inclusive),o==null&&(o=t.inclusive),{start:a??e,end:o??e}}function jP(t,e){return t==e||!!(t&&e&&t.compare(e))}function Mn(t,e,a,o=0){let r=a.length-1;r>=0&&a[r]+o>=t?a[r]=Math.max(a[r],e):a.push(t,e)}var Vl=class t extends ta{constructor(e,a,o){super(),this.tagName=e,this.attributes=a,this.rank=o}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&Eh(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||Wl,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,a=!1){return ye.of(e,a)}};Vl.prototype.startSide=Vl.prototype.endSide=-1;function qs(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function $f(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Ds(t,e){if(!e.anchorNode)return!1;try{return $f(t,e.anchorNode)}catch{return!1}}function zl(t){return t.nodeType==3?Us(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Rs(t,e,a,o){return a?h0(t,e,a,o,-1)||h0(t,e,a,o,1):!1}function Fo(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Gl(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function h0(t,e,a,o,r){for(;;){if(t==a&&e==o)return!0;if(e==(r<0?0:po(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=Fo(t)+(r<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?po(t):0}else return!1}}function po(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function $l(t,e){let a=e?t.left:t.right;return{left:a,right:a,top:t.top,bottom:t.bottom}}function ZP(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function $0(t,e){let a=e.width/t.offsetWidth,o=e.height/t.offsetHeight;return(a>.995&&a<1.005||!isFinite(a)||Math.abs(e.width-t.offsetWidth)<1)&&(a=1),(o>.995&&o<1.005||!isFinite(o)||Math.abs(e.height-t.offsetHeight)<1)&&(o=1),{scaleX:a,scaleY:o}}function YP(t,e,a,o,r,n,s,i){let l=t.ownerDocument,u=l.defaultView||window;for(let d=t,c=!1;d&&!c;)if(d.nodeType==1){let f,h=d==l.body,p=1,m=1;if(h)f=ZP(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(c=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let y=d.getBoundingClientRect();({scaleX:p,scaleY:m}=$0(d,y)),f={left:y.left,right:y.left+d.clientWidth*p,top:y.top,bottom:y.top+d.clientHeight*m}}let g=0,x=0;if(r=="nearest")e.top<f.top+s?(x=e.top-(f.top+s),a>0&&e.bottom>f.bottom+x&&(x=e.bottom-f.bottom+s)):e.bottom>f.bottom-s&&(x=e.bottom-f.bottom+s,a<0&&e.top-x<f.top&&(x=e.top-(f.top+s)));else{let y=e.bottom-e.top,w=f.bottom-f.top;x=(r=="center"&&y<=w?e.top+y/2-w/2:r=="start"||r=="center"&&a<0?e.top-s:e.bottom-w+s)-f.top}if(o=="nearest"?e.left<f.left+n?(g=e.left-(f.left+n),a>0&&e.right>f.right+g&&(g=e.right-f.right+n)):e.right>f.right-n&&(g=e.right-f.right+n,a<0&&e.left<f.left+g&&(g=e.left-(f.left+n))):g=(o=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:o=="start"==i?e.left-n:e.right-(f.right-f.left)+n)-f.left,g||x)if(h)u.scrollBy(g,x);else{let y=0,w=0;if(x){let C=d.scrollTop;d.scrollTop+=x/m,w=(d.scrollTop-C)*m}if(g){let C=d.scrollLeft;d.scrollLeft+=g/p,y=(d.scrollLeft-C)*p}e={left:e.left-y,top:e.top-w,right:e.right-y,bottom:e.bottom-w},y&&Math.abs(y-g)<1&&(o="nearest"),w&&Math.abs(w-x)<1&&(r="nearest")}if(h)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function X0(t,e=!0){let a=t.ownerDocument,o=null,r=null;for(let n=t.parentNode;n&&!(n==a.body||(!e||o)&&r);)if(n.nodeType==1)!r&&n.scrollHeight>n.clientHeight&&(r=n),e&&!o&&n.scrollWidth>n.clientWidth&&(o=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:o,y:r}}var Xf=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:a,focusNode:o}=e;this.set(a,Math.min(e.anchorOffset,a?po(a):0),o,Math.min(e.focusOffset,o?po(o):0))}set(e,a,o,r){this.anchorNode=e,this.anchorOffset=a,this.focusNode=o,this.focusOffset=r}},yr=null;Q.safari&&Q.safari_version>=26&&(yr=!1);function K0(t){if(t.setActive)return t.setActive();if(yr)return t.focus(yr);let e=[];for(let a=t;a&&(e.push(a,a.scrollTop,a.scrollLeft),a!=a.ownerDocument);a=a.parentNode);if(t.focus(yr==null?{get preventScroll(){return yr={preventScroll:!0},!0}}:void 0),!yr){yr=!1;for(let a=0;a<e.length;){let o=e[a++],r=e[a++],n=e[a++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=n&&(o.scrollLeft=n)}}}var p0;function Us(t,e,a=e){let o=p0||(p0=document.createRange());return o.setEnd(t,a),o.setStart(t,e),o}function Pn(t,e,a,o){let r={key:e,code:e,keyCode:a,which:a,cancelable:!0};o&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=o);let n=new KeyboardEvent("keydown",r);n.synthetic=!0,t.dispatchEvent(n);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,t.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}function JP(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function QP(t,e){let a=e.focusNode,o=e.focusOffset;if(!a||e.anchorNode!=a||e.anchorOffset!=o)return!1;for(o=Math.min(o,po(a));;)if(o){if(a.nodeType!=1)return!1;let r=a.childNodes[o-1];r.contentEditable=="false"?o--:(a=r,o=po(a))}else{if(a==t)return!0;o=Fo(a),a=a.parentNode}}function j0(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function Z0(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o>0)return{node:a,offset:o};if(a.nodeType==1&&o>0){if(a.contentEditable=="false")return null;a=a.childNodes[o-1],o=po(a)}else if(a.parentNode&&!Gl(a))o=Fo(a),a=a.parentNode;else return null}}function Y0(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o<a.nodeValue.length)return{node:a,offset:o};if(a.nodeType==1&&o<a.childNodes.length){if(a.contentEditable=="false")return null;a=a.childNodes[o],o=0}else if(a.parentNode&&!Gl(a))o=Fo(a)+1,a=a.parentNode;else return null}}var za=class t{constructor(e,a,o=!0){this.node=e,this.offset=a,this.precise=o}static before(e,a){return new t(e.parentNode,Fo(e),a)}static after(e,a){return new t(e.parentNode,Fo(e)+1,a)}},Ie=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(Ie||(Ie={})),Sr=Ie.LTR,Bh=Ie.RTL;function J0(t){let e=[];for(let a=0;a<t.length;a++)e.push(1<<+t[a]);return e}var eD=J0("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),tD=J0("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Kf=Object.create(null),Ha=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),a=t.charCodeAt(1);Kf[e]=a,Kf[a]=-e}function Q0(t){return t<=247?eD[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?tD[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var aD=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,sa=class{get dir(){return this.level%2?Bh:Sr}constructor(e,a,o){this.from=e,this.to=a,this.level=o}side(e,a){return this.dir==a==e?this.to:this.from}forward(e,a){return e==(this.dir==a)}static find(e,a,o,r){let n=-1;for(let s=0;s<e.length;s++){let i=e[s];if(i.from<=a&&i.to>=a){if(i.level==o)return s;(n<0||(r!=0?r<0?i.from<a:i.to>a:e[n].level>i.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function eb(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++){let o=t[a],r=e[a];if(o.from!=r.from||o.to!=r.to||o.direction!=r.direction||!eb(o.inner,r.inner))return!1}return!0}var Pe=[];function oD(t,e,a,o,r){for(let n=0;n<=o.length;n++){let s=n?o[n-1].to:e,i=n<o.length?o[n].from:a,l=n?256:r;for(let u=s,d=l,c=l;u<i;u++){let f=Q0(t.charCodeAt(u));f==512?f=d:f==8&&c==4&&(f=16),Pe[u]=f==4?2:f,f&7&&(c=f),d=f}for(let u=s,d=l,c=l;u<i;u++){let f=Pe[u];if(f==128)u<i-1&&d==Pe[u+1]&&d&24?f=Pe[u]=d:Pe[u]=256;else if(f==64){let h=u+1;for(;h<i&&Pe[h]==64;)h++;let p=u&&d==8||h<a&&Pe[h]==8?c==1?1:8:256;for(let m=u;m<h;m++)Pe[m]=p;u=h-1}else f==8&&c==1&&(Pe[u]=1);d=f,f&7&&(c=f)}}}function rD(t,e,a,o,r){let n=r==1?2:1;for(let s=0,i=0,l=0;s<=o.length;s++){let u=s?o[s-1].to:e,d=s<o.length?o[s].from:a;for(let c=u,f,h,p;c<d;c++)if(h=Kf[f=t.charCodeAt(c)])if(h<0){for(let m=i-3;m>=0;m-=3)if(Ha[m+1]==-h){let g=Ha[m+2],x=g&2?r:g&4?g&1?n:r:0;x&&(Pe[c]=Pe[Ha[m]]=x),i=m;break}}else{if(Ha.length==189)break;Ha[i++]=c,Ha[i++]=f,Ha[i++]=l}else if((p=Pe[c])==2||p==1){let m=p==r;l=m?0:1;for(let g=i-3;g>=0;g-=3){let x=Ha[g+2];if(x&2)break;if(m)Ha[g+2]|=2;else{if(x&4)break;Ha[g+2]|=4}}}}}function nD(t,e,a,o){for(let r=0,n=o;r<=a.length;r++){let s=r?a[r-1].to:t,i=r<a.length?a[r].from:e;for(let l=s;l<i;){let u=Pe[l];if(u==256){let d=l+1;for(;;)if(d==i){if(r==a.length)break;d=a[r++].to,i=r<a.length?a[r].from:e}else if(Pe[d]==256)d++;else break;let c=n==1,f=(d<e?Pe[d]:o)==1,h=c==f?c?1:2:o;for(let p=d,m=r,g=m?a[m-1].to:t;p>l;)p==g&&(p=a[--m].from,g=m?a[m-1].to:t),Pe[--p]=h;l=d}else n=u,l++}}}function jf(t,e,a,o,r,n,s){let i=o%2?2:1;if(o%2==r%2)for(let l=e,u=0;l<a;){let d=!0,c=!1;if(u==n.length||l<n[u].from){let m=Pe[l];m!=i&&(d=!1,c=m==16)}let f=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u<n.length&&p==n[u].from){if(c)break e;let m=n[u];if(!d)for(let g=m.to,x=u+1;;){if(g==a)break e;if(x<n.length&&n[x].from==g)g=n[x++].to;else{if(Pe[g]==i)break e;break}}if(u++,f)f.push(m);else{m.from>l&&s.push(new sa(l,m.from,h));let g=m.direction==Sr!=!(h%2);Zf(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.to}p=m.to}else{if(p==a||(d?Pe[p]!=i:Pe[p]==i))break;p++}f?jf(t,l,p,o+1,r,f,s):l<p&&s.push(new sa(l,p,h)),l=p}else for(let l=a,u=n.length;l>e;){let d=!0,c=!1;if(!u||l>n[u-1].to){let m=Pe[l-1];m!=i&&(d=!1,c=m==16)}let f=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u&&p==n[u-1].to){if(c)break e;let m=n[--u];if(!d)for(let g=m.from,x=u;;){if(g==e)break e;if(x&&n[x-1].to==g)g=n[--x].from;else{if(Pe[g-1]==i)break e;break}}if(f)f.push(m);else{m.to<l&&s.push(new sa(m.to,l,h));let g=m.direction==Sr!=!(h%2);Zf(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.from}p=m.from}else{if(p==e||(d?Pe[p-1]!=i:Pe[p-1]==i))break;p--}f?jf(t,p,l,o+1,r,f,s):p<l&&s.push(new sa(p,l,h)),l=p}}function Zf(t,e,a,o,r,n,s){let i=e%2?2:1;oD(t,r,n,o,i),rD(t,r,n,o,i),nD(r,n,o,i),jf(t,r,n,e,a,o,s)}function sD(t,e,a){if(!t)return[new sa(0,0,e==Bh?1:0)];if(e==Sr&&!a.length&&!aD.test(t))return tb(t.length);if(a.length)for(;t.length>Pe.length;)Pe[Pe.length]=256;let o=[],r=e==Sr?0:1;return Zf(t,r,r,a,0,t.length,o),o}function tb(t){return[new sa(0,t,0)]}var ab="";function iD(t,e,a,o,r){var n;let s=o.head-t.from,i=sa.find(e,s,(n=o.bidiLevel)!==null&&n!==void 0?n:-1,o.assoc),l=e[i],u=l.side(r,a);if(s==u){let f=i+=r?1:-1;if(f<0||f>=e.length)return null;l=e[i=f],s=l.side(!r,a),u=l.side(r,a)}let d=je(t.text,s,l.forward(r,a));(d<l.from||d>l.to)&&(d=u),ab=t.text.slice(Math.min(s,d),Math.max(s,d));let c=i==(r?e.length-1:0)?null:e[i+(r?1:-1)];return c&&d==u&&c.level+(r?0:1)<l.level?X.cursor(c.side(!r,a)+t.from,c.forward(r,a)?1:-1,c.level):X.cursor(d+t.from,l.forward(r,a)?-1:1,l.level)}function lD(t,e,a){for(let o=e;o<a;o++){let r=Q0(t.charCodeAt(o));if(r==1)return Sr;if(r==2||r==4)return Bh}return Sr}var ob=Y.define(),rb=Y.define(),nb=Y.define(),sb=Y.define(),Yf=Y.define(),ib=Y.define(),lb=Y.define(),Fh=Y.define(),Oh=Y.define(),ub=Y.define({combine:t=>t.some(e=>e)}),db=Y.define({combine:t=>t.some(e=>e)}),cb=Y.define(),Ts=class t{constructor(e,a,o,r,n,s=!1){this.range=e,this.y=a,this.x=o,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(X.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Rl=de.define({map:(t,e)=>t.map(e)}),fb=de.define();function ht(t,e,a){let o=t.facet(sb);o.length?o[0](e):window.onerror&&window.onerror(String(e),a,void 0,void 0,e)||(a?console.error(a+":",e):console.error(e))}var fo=Y.define({combine:t=>t.length?t[0]:!0}),uD=0,Sn=Y.define({combine(t){return t.filter((e,a)=>{for(let o=0;o<a;o++)if(t[o].plugin==e.plugin)return!1;return!0})}}),Ze=class t{constructor(e,a,o,r,n){this.id=e,this.create=a,this.domEventHandlers=o,this.domEventObservers=r,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(Sn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Sn.of({plugin:this,arg:e}))}static define(e,a){let{eventHandlers:o,eventObservers:r,provide:n,decorations:s}=a||{};return new t(uD++,e,o,r,i=>{let l=[];return s&&l.push(lu.of(u=>{let d=u.plugin(i);return d?s(d):pe.none})),n&&l.push(n(i)),l})}static fromClass(e,a){return t.define((o,r)=>new e(o,r),a)}},Es=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(o){if(ht(a.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(a){ht(e.state,a,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var a;if(!((a=this.value)===null||a===void 0)&&a.destroy)try{this.value.destroy()}catch(o){ht(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},hb=Y.define(),Nh=Y.define(),lu=Y.define(),pb=Y.define(),_h=Y.define(),Ws=Y.define(),mb=Y.define();function m0(t,e){let a=t.state.facet(mb);if(!a.length)return a;let o=a.map(n=>n instanceof Function?n(t):n),r=[];return ye.spans(o,e.from,e.to,{point(){},span(n,s,i,l){let u=n-e.from,d=s-e.from,c=r;for(let f=i.length-1;f>=0;f--,l--){let h=i[f].spec.bidiIsolate,p;if(h==null&&(h=lD(e.text,u,d)),l>0&&c.length&&(p=c[c.length-1]).to==u&&p.direction==h)p.to=d,c=p.inner;else{let m={from:u,to:d,direction:h,inner:[]};c.push(m),c=m.inner}}}}),r}var gb=Y.define();function Hh(t){let e=0,a=0,o=0,r=0;for(let n of t.state.facet(gb)){let s=n(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(a=Math.max(a,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:a,top:o,bottom:r}}var Ms=Y.define(),wa=class t{constructor(e,a,o,r){this.fromA=e,this.toA=a,this.fromB=o,this.toB=r}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let a=e.length,o=this;for(;a>0;a--){let r=e[a-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(a-1,1)}}return e.splice(a,0,o),e}static extendWithRanges(e,a){if(a.length==0)return e;let o=[];for(let r=0,n=0,s=0;;){let i=r<e.length?e[r].fromB:1e9,l=n<a.length?a[n]:1e9,u=Math.min(i,l);if(u==1e9)break;let d=u+s,c=u,f=d;for(;;)if(n<a.length&&a[n]<=c){let h=a[n+1];n+=2,c=Math.max(c,h);for(let p=r;p<e.length&&e[p].fromB<=c;p++)s=e[p].toA-e[p].toB;f=Math.max(f,h+s)}else if(r<e.length&&e[r].fromB<=c){let h=e[r++];c=Math.max(c,h.toB),f=Math.max(f,h.toA),s=h.toA-h.toB}else break;o.push(new t(d,f,u,c))}return o}},Xl=class t{constructor(e,a,o){this.view=e,this.state=a,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=It.empty(this.startState.doc.length);for(let n of o)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,i,l)=>r.push(new wa(n,s,i,l))),this.changedRanges=r}static create(e,a,o){return new t(e,a,o)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},dD=[],He=class{constructor(e,a,o=0){this.dom=e,this.length=a,this.flags=o,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return dD}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let a=this.domAttrs;a&&XP(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,a=this.posAtStart){let o=a;for(let r of this.children){if(r==e)return o;o+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,a){return null}domPosFor(e,a){let o=Fo(this.dom),r=this.length?e>0:a>0;return new za(this.parent.dom,o+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Rn)return e;return null}static get(e){return e.cmTile}},Dn=class extends He{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let a=this.dom,o=null,r,n=e?.node==a?e:null,s=0;for(let i of this.children){if(i.sync(e),s+=i.length+i.breakAfter,r=o?o.nextSibling:a.firstChild,n&&r!=i.dom&&(n.written=!0),i.dom.parentNode==a)for(;r&&r!=i.dom;)r=g0(r);else a.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:a.firstChild,n&&r&&(n.written=!0);r;)r=g0(r);this.length=s}};function g0(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var Rn=class extends Dn{constructor(e,a){super(a),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let a=He.get(e);if(a&&this.owns(a))return a;e=e.parentNode}}blockTiles(e){for(let a=[],o=this,r=0,n=0;;)if(r==o.children.length){if(!a.length)return;o=o.parent,o.breakAfter&&n++,r=a.pop()}else{let s=o.children[r++];if(s instanceof ho)a.push(r),o=s,r=0;else{let i=n+s.length,l=e(s,n);if(l!==void 0)return l;n=i+s.breakAfter}}}resolveBlock(e,a){let o,r=-1,n,s=-1;if(this.blockTiles((i,l)=>{let u=l+i.length;if(e>=l&&e<=u){if(i.isWidget()&&a>=-1&&a<=1){if(i.flags&32)return!0;i.flags&16&&(o=void 0)}(l<e||e==u&&(a<-1?i.length:i.covers(1)))&&(!o||!i.isWidget()&&o.isWidget())&&(o=i,r=e-l),(u>e||e==l&&(a>1?i.length:i.covers(-1)))&&(!n||!i.isWidget()&&n.isWidget())&&(n=i,s=e-l)}}),!o&&!n)throw new Error("No tile at position "+e);return o&&a<0||!n?{tile:o,offset:r}:{tile:n,offset:s}}},ho=class t extends Dn{constructor(e,a){super(e),this.wrapper=a}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Tn=class t extends Dn{constructor(e,a){super(e),this.attrs=a}isLine(){return!0}static start(e,a,o){let r=new t(a||document.createElement("div"),e);return(!a||!o)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,a,o){let r=null,n=-1,s=null,i=-1;function l(d,c){for(let f=0,h=0;f<d.children.length&&h<=c;f++){let p=d.children[f],m=h+p.length;m>=c&&(p.isComposite()?l(p,c-h):(!s||s.isHidden&&(a>0||o&&fD(s,p)))&&(m>c||p.flags&32)?(s=p,i=c-h):(h<c||p.flags&16&&!p.isHidden)&&(r=p,n=c-h)),h=m}}l(this,e);let u=(a<0?r:s)||r||s;return u?{tile:u,offset:u==r?n:i}:null}coordsIn(e,a){let o=this.resolveInline(e,a,!0);return o?o.tile.coordsIn(Math.max(0,o.offset),a):cD(this)}domIn(e,a){let o=this.resolveInline(e,a);if(o){let{tile:r,offset:n}=o;if(this.dom.contains(r.dom))return r.isText()?new za(r.dom,Math.min(r.dom.nodeValue.length,n)):r.domPosFor(n,r.flags&16?1:r.flags&32?-1:a);let s=o.tile.parent,i=!1;for(let l of s.children){if(i)return new za(l.dom,0);l==o.tile&&(i=!0)}}return new za(this.dom,0)}};function cD(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let a=zl(e);return a[a.length-1]||null}function fD(t,e){let a=t.coordsIn(0,1),o=e.coordsIn(0,1);return a&&o&&o.top<a.bottom}var Ot=class t extends Dn{constructor(e,a){super(e),this.mark=a}get domAttrs(){return this.mark.attrs}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Lr=class t extends He{constructor(e,a){super(e,a.length),this.text=a}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,a){let o=this.dom.nodeValue.length;e>o&&(e=o);let r=e,n=e,s=0;e==0&&a<0||e==o&&a>=0?Q.chrome||Q.gecko||(e?(r--,s=1):n<o&&(n++,s=-1)):a<0?r--:n<o&&n++;let i=Us(this.dom,r,n).getClientRects();if(!i.length)return null;let l=i[(s?s<0:a>=0)?0:i.length-1];return Q.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(i,u=>u.width)||l),s?$l(l,s<0):l||null}static of(e,a){let o=new t(a||document.createTextNode(e),e);return a||(o.flags|=2),o}},Ir=class t extends He{constructor(e,a,o,r){super(e,a,r),this.widget=o}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,a){return this.coordsInWidget(e,a,!1)}coordsInWidget(e,a,o){let r=this.widget.coordsAt(this.dom,e,a);if(r)return r;if(o)return $l(this.dom.getBoundingClientRect(),this.length?e==0:a<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let i=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=i?n.length-1:0;s=n[l],!(e>0?l==0:l==n.length-1||s.top<s.bottom);l+=i?-1:1);return $l(s,!i)}}get overrideDOMText(){if(!this.length)return we.empty;let{root:e}=this;if(!e)return we.empty;let a=this.posAtStart;return e.view.state.doc.slice(a,a+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,a,o,r,n){return n||(n=e.toDOM(a),e.editable||(n.contentEditable="false")),new t(n,o,e,r)}},En=class extends He{constructor(e){let a=document.createElement("img");a.className="cm-widgetBuffer",a.setAttribute("aria-hidden","true"),super(a,0,e)}get isHidden(){return!0}get overrideDOMText(){return we.empty}coordsIn(e){return this.dom.getBoundingClientRect()}},Jf=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,a,o){let{tile:r,index:n,beforeBreak:s,parents:i}=this;for(;e||a>0;)if(r.isComposite())if(s){if(!e)break;o&&o.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!i.length)break;o&&o.leave(r),s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++}else{let l=r.children[n],u=l.breakAfter;(a>0?l.length<=e:l.length<e)&&(!o||o.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!u,n++,e-=l.length):(i.push({tile:r,index:n}),r=l,n=0,o&&l.isComposite()&&o.enter(l))}else if(n==r.length)s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++;else if(e){let l=Math.min(e,r.length-n);o&&o.skip(r,n,n+l),e-=l,n+=l}else break;return this.tile=r,this.index=n,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},Qf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.wrapper=o,this.rank=r}},eh=class{constructor(e,a,o){this.cache=e,this.root=a,this.blockWrappers=o,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,a,o,r){var n;this.flushBuffer();let s=this.ensureMarks(a,o),i=s.lastChild;if(i&&i.isText()&&!(i.flags&8)&&i.length+e.length<512){this.cache.reused.set(i,2);let l=s.children[s.children.length-1]=new Lr(i.dom,i.text+e);l.parent=s}else s.append(r||Lr.of(e,(n=this.cache.find(Lr))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,a){let o=this.curLine;o.dom!=a.line.dom&&(o.setDOM(this.cache.reused.has(a.line)?Bf(a.line.dom):a.line.dom),this.cache.reused.set(a.line,2));let r=o;for(let i=a.marks.length-1;i>=0;i--){let l=a.marks[i],u=r.lastChild;if(u instanceof Ot&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(Bf(l.dom)),r=u;else{if(this.cache.reused.get(l)){let c=He.get(l.dom);c&&c.setDOM(Bf(l.dom))}let d=Ot.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let n=He.get(e.text);n&&this.cache.reused.set(n,2);let s=new Lr(e.text,e.text.nodeValue);s.flags|=8,this.pos=e.range.toB,r.append(s)}addInlineWidget(e,a,o){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(a,o);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,a,o){this.flushBuffer(),this.ensureMarks(a,o).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let a=this.afterWidget||this.lastBlock;a.length+=e,this.pos+=e}addLineStart(e,a){var o;e||(e=xb);let r=Tn.start(e,a||((o=this.cache.find(Tn))===null||o===void 0?void 0:o.dom),!!a);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,a){var o;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],i;if(a>0&&(i=r.lastChild)&&i instanceof Ot&&i.mark.eq(s))r=i,a--;else{let l=Ot.of(s,(o=this.cache.find(Ot,u=>u.mark.eq(s)))===null||o===void 0?void 0:o.dom);r.append(l),r=l,a=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!x0(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Q.ios&&x0(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Ff,0,32)||new Ir(Ff.toDOM(),0,Ff,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let a=e.rank*102+e.value.rank,o=new Qf(e.from,e.to,e.value,a),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-o.rank||this.wrappers[r-1].to-o.to)<0;)r--;this.wrappers.splice(r,0,o)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let a=this.root;for(let o of this.wrappers){let r=a.lastChild;if(o.from<this.pos&&r instanceof ho&&r.wrapper.eq(o.wrapper))a=r;else{let n=ho.of(o.wrapper,(e=this.cache.find(ho,s=>s.wrapper.eq(o.wrapper)))===null||e===void 0?void 0:e.dom);a.append(n),a=n}}return a}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let a=2|(e<0?16:32),o=this.cache.find(En,void 0,1);return o&&(o.flags=a),o||new En(a)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},th=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let i=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,i)}let a=Math.min(this.text.length,this.textOff+e),o=this.text.slice(this.textOff,a);return this.textOff=a,o}},Kl=[Ir,Tn,Lr,Ot,En,ho,Rn];for(let t=0;t<Kl.length;t++)Kl[t].bucket=t;var ah=class{constructor(e){this.view=e,this.buckets=Kl.map(()=>[]),this.index=Kl.map(()=>0),this.reused=new Map}add(e){let a=e.constructor.bucket,o=this.buckets[a];o.length<6?o.push(e):o[this.index[a]=(this.index[a]+1)%6]=e}find(e,a,o=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let i=n.length-1;i>=0;i--){let l=(i+s)%n.length,u=n[l];if((!a||a(u))&&!this.reused.has(u))return n.splice(l,1),l<s&&this.index[r]--,this.reused.set(u,o),u}return null}findWidget(e,a,o){let r=this.buckets[0];if(r.length)for(let n=0,s=0;;n++){if(n==r.length){if(s)return null;s=1,n=0}let i=r[n];if(!this.reused.has(i)&&(s==0?i.widget.compare(e):i.widget.constructor==e.constructor&&e.updateDOM(i.dom,this.view,i.widget)))return r.splice(n,1),n<this.index[0]&&this.index[0]--,i.widget==e&&i.length==a&&(i.flags&497)==o?(this.reused.set(i,1),i):(this.reused.set(i,2),new Ir(i.dom,a,e,i.flags&-498|o))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,a=2){if(!this.reused.has(e))return this.reused.set(e,a),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},oh=class{constructor(e,a,o,r,n){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new ah(e),this.text=new th(e.state.doc),this.builder=new eh(this.cache,new Rn(e,e.contentDOM),ye.iter(o)),this.cache.reused.set(a,2),this.old=new Jf(a),this.reuseWalker={skip:(s,i,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,a){let o=a&&this.getCompositionContext(a.text);for(let r=0,n=0,s=0;;){let i=s<e.length?e[s++]:null,l=i?i.fromA:this.old.root.length;if(l>r){let u=l-r;this.preserve(u,!s,!i),r=l,n+=u}if(!i)break;a&&i.fromA<=a.range.fromA&&i.toA>=a.range.toA?(this.forward(i.fromA,a.range.fromA,a.range.fromA<a.range.toA?1:-1),this.emit(n,a.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(a,o),this.text.skip(a.range.toB-a.range.fromB),this.forward(a.range.fromA,i.toA),this.emit(a.range.toB,i.toB)):(this.forward(i.fromA,i.toA),this.emit(n,i.toB)),n=i.toB,r=i.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,a,o){let r=mD(this.old),n=this.openMarks;this.old.advance(e,o?1:-1,{skip:(s,i,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-i);else{let u=l>0||i<s.length?Ir.of(s.widget,this.view,l-i,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);u.flags&256?(u.flags&=-2,this.builder.addBlockWidget(u)):(this.builder.ensureLine(null),this.builder.addInlineWidget(u,r,n),n=r.length)}else if(s.isText())this.builder.ensureLine(null),!i&&l==s.length&&!this.cache.reused.has(s)?this.builder.addText(s.text,r,n,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(i,l),r,n)),n=r.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof En)this.cache.add(s);else if(s instanceof Ot)this.builder.ensureLine(null),this.builder.addMark(s,r,n),this.cache.reused.set(s,1),n=r.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof Ot&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof Ot&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,a){let o=null,r=this.builder,n=0,s=ye.spans(this.decorations,e,a,{point:(i,l,u,d,c,f)=>{if(u instanceof vr){if(this.disallowBlockEffectsFor[f]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(i).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,c>d.length)r.continueWidget(l-i);else{let h=u.widget||(u.block?Oo.block:Oo.inline),p=hD(u),m=this.cache.findWidget(h,l-i,p)||Ir.of(h,this.view,l-i,p);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(o),r.addBlockWidget(m)):(r.ensureLine(o),r.addInlineWidget(m,d,c))}o=null}else o=pD(o,u);l>i&&this.text.skip(l-i)},span:(i,l,u,d)=>{for(let c=i;c<l;){let f=this.text.next(Math.min(512,l-c));f==null?(r.addLineStartIfNotCovered(o),r.addBreak(),c++):(r.ensureLine(o),r.addText(f,u,c==i?d:u.length),c+=f.length),o=null}}});r.addLineStartIfNotCovered(o),this.openWidget=s>n,this.openMarks=s}forward(e,a,o=1){a-e<=10?this.old.advance(a-e,o,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(a-e-10,-1),this.old.advance(5,o,this.reuseWalker))}getCompositionContext(e){let a=[],o=null;for(let r=e.parentNode;;r=r.parentNode){let n=He.get(r);if(r==this.view.contentDOM)break;n instanceof Ot?a.push(n):n?.isLine()?o=n:n instanceof ho||(r.nodeName=="DIV"&&!o&&r!=this.view.contentDOM?o=new Tn(r,xb):o||a.push(Ot.of(new Hs({tagName:r.nodeName.toLowerCase(),attributes:KP(r)}),r)))}return{line:o,marks:a}}};function x0(t,e){let a=o=>{for(let r of o.children)if((e?r.isText():r.length)||a(r))return!0;return!1};return a(t)}function hD(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var xb={class:"cm-line"};function pD(t,e){let a=e.spec.attributes,o=e.spec.class;return!a&&!o||(t||(t={class:"cm-line"}),a&&Th(a,t),o&&(t.class+=" "+o)),t}function mD(t){let e=[];for(let a=t.parents.length;a>1;a--){let o=a==t.parents.length?t.tile:t.parents[a].tile;o instanceof Ot&&e.push(o.mark)}return e}function Bf(t){let e=He.get(t);return e&&e.setDOM(t.cloneNode()),t}var Oo=class extends qa{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Oo.inline=new Oo("span");Oo.block=new Oo("div");var Ff=new class extends qa{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},jl=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=pe.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Rn(e,e.contentDOM),this.updateInner([new wa(0,0,0,e.state.doc.length)],null)}update(e){var a;let o=e.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:d,toA:c})=>c<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((a=this.domChanged)===null||a===void 0)&&a.newSel?r=this.domChanged.newSel.head:!vD(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?xD(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:c}=this.hasComposition;o=new wa(d,c,e.changes.mapPos(d,-1),e.changes.mapPos(c,1)).addToSet(o.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Q.ie||Q.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,i=this.blockWrappers;this.updateDeco();let l=yD(s,this.decorations,e.changes);l.length&&(o=wa.extendWithRanges(o,l));let u=LD(i,this.blockWrappers,e.changes);return u.length&&(o=wa.extendWithRanges(o,u)),n&&!o.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(o=n.range.addToSet(o.slice())),this.tile.flags&2&&o.length==0?!1:(this.updateInner(o,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,a){this.view.viewState.mustMeasureContent=!0;let{observer:o}=this.view;o.ignore(()=>{if(a||e.length){let s=this.tile,i=new oh(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);a&&He.get(a.text)&&i.cache.reused.set(He.get(a.text),2),this.tile=i.run(e,a),rh(s,i.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let n=Q.chrome||Q.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||o.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof Bs&&r.push(n.dom);o.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let a of e.transactions)for(let o of a.effects)o.is(fb)&&(this.editContextFormatting=o.value)}updateSelection(e=!1,a=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:o}=this.tile,r=this.view.root.activeElement,n=r==o,s=!n&&!(this.view.state.facet(fo)||o.tabIndex>-1)&&Ds(o,this.view.observer.selectionRange)&&!(r&&o.contains(r));if(!(n||a||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Q.gecko&&l.empty&&!this.hasComposition&&gD(u)){let f=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(f,u.node.childNodes[u.offset]||null)),u=d=new za(f,0),i=!0}let c=this.view.observer.selectionRange;(i||!c.focusNode||(!Rs(u.node,u.offset,c.anchorNode,c.anchorOffset)||!Rs(d.node,d.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,l))&&(this.view.observer.ignore(()=>{Q.android&&Q.chrome&&o.contains(c.focusNode)&&CD(c.focusNode,o)&&(o.blur(),o.focus({preventScroll:!0}));let f=qs(this.view.root);if(f)if(l.empty){if(Q.gecko){let h=bD(u.node,u.offset);if(h&&h!=3){let p=(h==1?Z0:Y0)(u.node,u.offset);p&&(u=new za(p.node,p.offset))}}f.collapse(u.node,u.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(u.node,u.offset);try{f.extend(d.node,d.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),h.setEnd(d.node,d.offset),h.setStart(u.node,u.offset),f.removeAllRanges(),f.addRange(h)}s&&this.view.root.activeElement==o&&(o.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new za(c.anchorNode,c.anchorOffset),this.impreciseHead=d.precise?null:new za(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,a){return this.hasComposition&&a.empty&&Rs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==a.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,a=e.state.selection.main,o=qs(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!o||!a.empty||!a.assoc||!o.modify)return;let s=this.lineAt(a.head,a.assoc);if(!s)return;let i=s.posAtStart;if(a.head==i||a.head==i+s.length)return;let l=this.coordsAt(a.head,-1),u=this.coordsAt(a.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(a.head+a.assoc,a.assoc);o.collapse(d.node,d.offset),o.modify("move",a.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=a.from&&o.collapse(r,n)}posFromDOM(e,a){let o=this.tile.nearest(e);if(!o)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=o.posAtStart;if(o.isComposite()){let n;if(e==o.dom)n=o.dom.childNodes[a];else{let s=po(e)==0?0:a==0?-1:1;for(;;){let i=e.parentNode;if(i==o.dom)break;s==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?s=-1:s=1),e=i}s<0?n=e:n=e.nextSibling}if(n==o.dom.firstChild)return r;for(;n&&!He.get(n);)n=n.nextSibling;if(!n)return r+o.length;for(let s=0,i=r;;s++){let l=o.children[s];if(l.dom==n)return i;i+=l.length+l.breakAfter}}else return o.isText()?e==o.dom?r+a:r+(a?o.length:0):r}domAtPos(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.domPosFor(e,a):o.domIn(r,a)}inlineDOMNearPos(e,a){let o,r=-1,n=!1,s,i=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=e)return!0;u.flags&16&&(n=!0)}else{let c=d+u.length;if(d<=e&&(o=u,r=e-d,n=c<e),c>=e&&!s&&(s=u,i=e-d,l=d>e),d>e&&s)return!0}}),!o&&!s?this.domAtPos(e,a):(n&&s?o=null:l&&o&&(s=null),o&&a<0||!s?o.domIn(r,a):s.domIn(i,a))}coordsAt(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.widget instanceof Bs?null:o.coordsInWidget(r,a,!0):o.coordsIn(r,a)}lineAt(e,a){let{tile:o}=this.tile.resolveBlock(e,a);return o.isLine()?o:null}coordsForChar(e){let{tile:a,offset:o}=this.tile.resolveBlock(e,1);if(!a.isLine())return null;function r(n,s){if(n.isComposite())for(let i of n.children){if(i.length>=s){let l=r(i,s);if(l)return l}if(s-=i.length,s<0)break}else if(n.isText()&&s<n.length){let i=je(n.text,s);if(i==s)return null;let l=Us(n.dom,s,i).getClientRects();for(let u=0;u<l.length;u++){let d=l[u];if(u==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return r(a,o)}measureVisibleLineHeights(e){let a=[],{from:o,to:r}=e,n=this.view.contentDOM.clientWidth,s=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,i=-1,l=this.view.textDirection==Ie.LTR,u=0,d=(c,f,h)=>{for(let p=0;p<c.children.length&&!(f>r);p++){let m=c.children[p],g=f+m.length,x=m.dom.getBoundingClientRect(),{height:y}=x;if(h&&!p&&(u+=x.top-h.top),m instanceof ho)g>o&&d(m,f,x);else if(f>=o&&(u>0&&a.push(-u),a.push(y+u),u=0,s)){let w=m.dom.lastChild,C=w?zl(w):[];if(C.length){let I=C[C.length-1],v=l?I.right-x.left:x.right-I.left;v>i&&(i=v,this.minWidth=n,this.minWidthFrom=f,this.minWidthTo=g)}}h&&p==c.children.length-1&&(u+=h.bottom-x.bottom),f=g+m.breakAfter}};return d(this.tile,0,null),a}textDirectionAt(e){let{tile:a}=this.tile.resolveBlock(e,1);return getComputedStyle(a.dom).direction=="rtl"?Ie.RTL:Ie.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let i=0,l;for(let u of s.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=zl(u.dom);if(d.length!=1)return;i+=d[0].width,l=d[0].height}if(i)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:i/s.length,textHeight:l}}});if(e)return e;let a=document.createElement("div"),o,r,n;return a.className="cm-line",a.style.width="99999px",a.style.position="absolute",a.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(a);let s=zl(a.firstChild)[0];o=a.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:o,a.remove()}),{lineHeight:o,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],a=this.view.viewState;for(let o=0,r=0;;r++){let n=r==a.viewports.length?null:a.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>o){let i=(a.lineBlockAt(s).bottom-a.lineBlockAt(o).top)/this.view.scaleY;e.push(pe.replace({widget:new Bs(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!n)break;o=n.to+1}return pe.set(e)}updateDeco(){let e=1,a=this.view.state.facet(lu).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),o=!1,r=this.view.state.facet(_h).map((n,s)=>{let i=typeof n=="function";return i&&(o=!0),i?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=o,a.push(ye.join(r))),this.decorations=[this.editContextFormatting,...a,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(pb).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){var a;if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(cb))try{if(d(this.view,e.range,e))return!0}catch(c){ht(this.view.state,c,"scroll handler")}let{range:o}=e,r=this.coordsAt(o.head,(a=o.assoc)!==null&&a!==void 0?a:o.empty?0:o.head>o.anchor?-1:1),n;if(!r)return;!o.empty&&(n=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=Hh(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:u}=this.view.scrollDOM;if(YP(this.view.scrollDOM,i,o.head<o.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,u),-u),this.view.textDirection==Ie.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let d=this.view.docView.lineAt(o.head,1);d&&d.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let a=o=>o.isWidget()||o.children.some(a);return a(this.tile.resolveBlock(e,1).tile)}destroy(){rh(this.tile)}};function rh(t,e){let a=e?.get(t);if(a!=1){a==null&&t.destroy();for(let o of t.children)rh(o,e)}}function gD(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function bb(t,e){let a=t.observer.selectionRange;if(!a.focusNode)return null;let o=Z0(a.focusNode,a.focusOffset),r=Y0(a.focusNode,a.focusOffset),n=o||r;if(r&&o&&r.node!=o.node){let i=He.get(r.node);if(!i||i.isText()&&i.text!=r.node.nodeValue)n=r;else if(t.docView.lastCompositionAfterCursor){let l=He.get(o.node);!l||l.isText()&&l.text!=o.node.nodeValue||(n=r)}}if(t.docView.lastCompositionAfterCursor=n!=o,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function xD(t,e,a){let o=bb(t,a);if(!o)return null;let{node:r,from:n,to:s}=o,i=r.nodeValue;if(/[\n\r]/.test(i)||t.state.doc.sliceString(o.from,o.to)!=i)return null;let l=e.invertedDesc;return{range:new wa(l.mapPos(n),l.mapPos(s),n,s),text:r}}function bD(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var wD=class{constructor(){this.changes=[]}compareRange(e,a){Mn(e,a,this.changes)}comparePoint(e,a){Mn(e,a,this.changes)}boundChange(e){Mn(e,e,this.changes)}};function yD(t,e,a){let o=new wD;return ye.compare(t,e,a,o),o.changes}var nh=class{constructor(){this.changes=[]}compareRange(e,a){Mn(e,a,this.changes)}comparePoint(){}boundChange(e){Mn(e,e,this.changes)}};function LD(t,e,a){let o=new nh;return ye.compare(t,e,a,o),o.changes}function CD(t,e){for(let a=t;a&&a!=e;a=a.assignedSlot||a.parentNode)if(a.nodeType==1&&a.contentEditable=="false")return!0;return!1}function vD(t,e){let a=!1;return e&&t.iterChangedRanges((o,r)=>{o<e.to&&r>e.from&&(a=!0)}),a}var Bs=class extends qa{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function SD(t,e,a=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),n=e-r.from;if(r.length==0)return X.cursor(e);n==0?a=1:n==r.length&&(a=-1);let s=n,i=n;a<0?s=je(r.text,n,!1):i=je(r.text,n);let l=o(r.text.slice(s,i));for(;s>0;){let u=je(r.text,s,!1);if(o(r.text.slice(u,s))!=l)break;s=u}for(;i<r.length;){let u=je(r.text,i);if(o(r.text.slice(i,u))!=l)break;i=u}return X.range(s+r.from,i+r.from)}function ID(t,e,a,o,r){let n=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&a.height>t.defaultLineHeight*1.5){let i=t.viewState.heightOracle.textHeight,l=Math.floor((r-a.top-(t.defaultLineHeight-i)*.5)/i);n+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(a.from,a.to);return a.from+o0(s,n,t.state.tabSize)}function sh(t,e,a){let o=t.lineBlockAt(e);if(Array.isArray(o.type)){let r;for(let n of o.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!r||n.type==pt.Text&&(r.type!=n.type||(a<0?n.from<e:n.to>e)))&&(r=n)}}return r||o}return o}function kD(t,e,a,o){let r=sh(t,e.head,e.assoc||-1),n=!o||r.type!=pt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=t.dom.getBoundingClientRect(),i=t.textDirectionAt(r.from),l=t.posAtCoords({x:a==(i==Ie.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(l!=null)return X.cursor(l,a?-1:1)}return X.cursor(a?r.to:r.from,a?-1:1)}function b0(t,e,a,o){let r=t.state.doc.lineAt(e.head),n=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let i=e,l=null;;){let u=iD(r,n,s,i,a),d=ab;if(!u){if(r.number==(a?t.state.doc.lines:1))return i;d=`
16
+ `,r=t.state.doc.line(r.number+(a?1:-1)),n=t.bidiSpans(r),u=t.visualLineSide(r,!a)}if(l){if(!l(d))return i}else{if(!o)return u;l=o(d)}i=u}}function AD(t,e,a){let o=t.state.charCategorizer(e),r=o(a);return n=>{let s=o(n);return r==_e.Space&&(r=s),r==s}}function MD(t,e,a,o){let r=e.head,n=a?1:-1;if(r==(a?t.state.doc.length:0))return X.cursor(r,e.assoc);let s=e.goalColumn,i,l=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r,e.assoc||((e.empty?a:e.head==e.from)?1:-1)),d=t.documentTop;if(u)s==null&&(s=u.left-l.left),i=n<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(r-p.from))),i=(n<0?p.top:p.bottom)+d}let c=l.left+s,f=t.viewState.heightOracle.textHeight>>1,h=o??f;for(let p=0;;p+=f){let m=i+(h+p)*n,g=ih(t,{x:c,y:m},!1,n);if(a?m>l.bottom:m<l.top)return X.cursor(g.pos,g.assoc);let x=t.coordsAtPos(g.pos,g.assoc),y=x?(x.top+x.bottom)/2:0;if(!x||(a?y>i:y<i))return X.cursor(g.pos,g.assoc,void 0,s)}}function Fs(t,e,a){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(n,s,i)=>{if(e>n&&e<s){let l=o||a||(e-n<s-e?-1:1);e=l<0?n:s,o=l}});if(!o)return e}}function wb(t,e){let a=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],n=null;if(r.empty){let s=Fs(t,r.from,0);s!=r.from&&(n=X.cursor(s,-1))}else{let s=Fs(t,r.from,-1),i=Fs(t,r.to,1);(s!=r.from||i!=r.to)&&(n=X.range(r.from==r.anchor?s:i,r.from==r.head?s:i))}n&&(a||(a=e.ranges.slice()),a[o]=n)}return a?X.create(a,e.mainIndex):e}function Of(t,e,a){let o=Fs(t.state.facet(Ws).map(r=>r(t)),a.from,e.head>a.from?-1:1);return o==a.from?a:X.cursor(o,o<a.from?1:-1)}var na=class{constructor(e,a){this.pos=e,this.assoc=a}};function ih(t,e,a,o){let r=t.contentDOM.getBoundingClientRect(),n=r.top+t.viewState.paddingTop,{x:s,y:i}=e,l=i-n,u;for(;;){if(l<0)return new na(0,1);if(l>t.viewState.docHeight)return new na(t.state.doc.length,-1);if(u=t.elementAtHeight(l),o==null)break;if(u.type==pt.Text){if(o<0?u.to<t.viewport.from:u.from>t.viewport.to)break;let f=t.docView.coordsAt(o<0?u.from:u.to,o>0?-1:1);if(f&&(o<0?f.top<=l+n:f.bottom>=l+n))break}let c=t.viewState.heightOracle.textHeight/2;l=o>0?u.bottom+c:u.top-c}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(a)return null;if(u.type==pt.Text){let c=ID(t,r,u,s,i);return new na(c,c==u.from?1:-1)}}if(u.type!=pt.Text)return l<(u.top+u.bottom)/2?new na(u.from,1):new na(u.to,-1);let d=t.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=t.docView.lineAt(u.from,-2)),new lh(t,s,i,t.textDirectionAt(u.from)).scanTile(d,u.from)}var lh=class{constructor(e,a,o,r){this.view=e,this.x=a,this.y=o,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[sa.find(r,e-o.from,-1,a)].level==this.baseDir}dirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[sa.find(r,e-o.from,-1,a)].dir}bidiIn(e,a){let{spans:o,line:r}=this.bidiSpansAt(e);return o.length>1||o.length&&(o[0].level!=this.baseDir||o[0].to+r.from<a)}scan(e,a,o=!1){let r=0,n=e.length-1,s=new Set,i=this.bidiIn(e[0],e[n]),l,u,d=-1,c=1e9,f;e:for(;r<n;){let p=n-r,m=r+n>>1;t:if(s.has(m)){let x=r+Math.floor(Math.random()*p);for(let y=0;y<p;y++){if(!s.has(x)){m=x;break t}x++,x==n&&(x=r)}break e}s.add(m);let g=a(m);if(g)for(let x=0;x<g.length;x++){let y=g[x],w=0;if(!(y.width==0&&g.length>1)){if(y.bottom<this.y)(!l||l.bottom<y.bottom)&&(l=y),w=1;else if(y.top>this.y)(!u||u.top>y.top)&&(u=y),w=-1;else{let C=y.left>this.x?this.x-y.left:y.right<this.x?this.x-y.right:0,I=Math.abs(C);I<c&&(d=m,c=I,f=y),C&&(w=C<0==(this.baseDir==Ie.LTR)?-1:1)}w==-1&&(!i||this.baseDirAt(e[m],1))?n=m:w==1&&(!i||this.baseDirAt(e[m+1],-1))&&(r=m+1)}}}if(!f){if(!u&&!l)return{i:e[0],after:!1};let p=l&&(!u||this.y-l.bottom<u.top-this.y)?l:u;return this.y=(p.top+p.bottom)/2,this.scan(e,a,!0)}if(c&&!o){let{top:p,bottom:m}=f;if(l&&l.bottom>(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,a,!0);if(u&&u.top<(p+m+m)/3)return this.y=u.top+1,this.scan(e,a,!0)}let h=(i?this.dirAt(e[d],1):this.baseDir)==Ie.LTR;return{i:d,after:this.x>(f.left+f.right)/2==h}}scanText(e,a){let o=[];for(let n=0;n<e.length;n=je(e.text,n))o.push(a+n);o.push(a+e.length);let r=this.scan(o,n=>{let s=o[n]-a,i=o[n+1]-a;return Us(e.dom,s,i).getClientRects()});return r.after?new na(o[r.i+1],-1):new na(o[r.i],1)}scanTile(e,a){if(!e.length)return new na(a,1);if(e.children.length==1){let i=e.children[0];if(i.isText())return this.scanText(i,a);if(i.isComposite())return this.scanTile(i,a)}let o=[a];for(let i=0,l=a;i<e.children.length;i++)o.push(l+=e.children[i].length);let r=this.scan(o,i=>{let l=e.children[i];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Us(l.dom,0,l.length)).getClientRects()}),n=e.children[r.i],s=o[r.i];return n.isText()?this.scanText(n,s):n.isComposite()?this.scanTile(n,s):r.after?new na(o[r.i+1],-1):new na(s,1)}},vn="\uFFFF",uh=class{constructor(e,a){this.points=e,this.view=a,this.text="",this.lineSeparator=a.state.facet(Me.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=vn}readRange(e,a){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let n=this.text.length;this.readNode(r);let s=He.get(r),i=r.nextSibling;if(i==a){s?.breakAfter&&!i&&o!=this.view.contentDOM&&this.lineBreak();break}let l=He.get(i);(s&&l?s.breakAfter:(s?s.breakAfter:Gl(r))||Gl(i)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!DD(i,a)&&this.lineBreak(),r=i}return this.findPointBefore(o,a),this}readTextNode(e){let a=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,a.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,i;if(this.lineSeparator?(n=a.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(i=r.exec(a))&&(n=i.index,s=i[0].length),this.append(a.slice(o,n<0?a.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);o=n+s}}readNode(e){let a=He.get(e),o=a&&a.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,a){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==a&&(o.pos=this.text.length)}findPointInside(e,a){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+(PD(e,o.node,o.offset)?a:0))}};function PD(t,e,a){for(;;){if(!e||a<po(e))return!1;if(e==t)return!0;a=Fo(e)+1,e=e.parentNode}}function DD(t,e){let a;for(;!(t==e||!t);t=t.nextSibling){let o=He.get(t);if(!o?.isWidget())return!1;o&&(a||(a=[])).push(o)}if(a)for(let o of a){let r=o.overrideDOMText;if(r?.length)return!1}return!0}var Zl=class{constructor(e,a){this.node=e,this.offset=a,this.pos=-1}},dh=class{constructor(e,a,o,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=a>-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView,i=e.state.selection;if(e.state.readOnly&&a>-1)this.newSel=null;else if(a>-1&&(this.bounds=yb(e.docView.tile,a,o,0))){let l=n||s?[]:TD(e),u=new uh(l,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=ED(l,this.bounds.from)}else{let l=e.observer.selectionRange,u=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!$f(e.contentDOM,l.focusNode)?i.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!$f(e.contentDOM,l.anchorNode)?i.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),c=e.viewport;if((Q.ios||Q.chrome)&&i.main.empty&&u!=d&&(c.from>0||c.to<e.state.doc.length)){let f=Math.min(u,d),h=Math.max(u,d),p=c.from-f,m=c.to-h;(p==0||p==1||f==0)&&(m==0||m==-1||h==e.state.doc.length)&&(u=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&i.ranges.length>1)this.newSel=i.replaceRange(X.range(d,u));else if(e.lineWrapping&&d==u&&!(i.main.empty&&i.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(u,-1),h=0;f&&(h=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=X.create([X.cursor(u,h)])}else this.newSel=X.single(d,u)}}};function yb(t,e,a,o){if(t.isComposite()){let r=-1,n=-1,s=-1,i=-1;for(let l=0,u=o,d=o;l<t.children.length;l++){let c=t.children[l],f=u+c.length;if(u<e&&f>a)return yb(c,e,a,u);if(f>=e&&r==-1&&(r=l,n=u),u>a&&c.dom.parentNode==t.dom){s=l,i=d;break}d=f,u=f+c.breakAfter}return{from:n,to:i<0?o+t.length:i,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:o,to:o+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Lb(t,e){let a,{newSel:o}=e,{state:r}=t,n=r.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,u=n.from,d=null;(s===8||Q.android&&e.text.length<l-i)&&(u=n.to,d="end");let c=r.doc.sliceString(i,l,vn),f,h;!n.empty&&n.from>=i&&n.to<=l&&(e.typeOver||c!=e.text)&&c.slice(0,n.from-i)==e.text.slice(0,n.from-i)&&c.slice(n.to-i)==e.text.slice(f=e.text.length-(c.length-(n.to-i)))?a={from:n.from,to:n.to,insert:we.of(e.text.slice(n.from-i,f).split(vn))}:(h=Cb(c,e.text,u-i,d))&&(Q.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==vn+vn&&h.toB--,a={from:i+h.from,to:i+h.toA,insert:we.of(e.text.slice(h.from,h.toB).split(vn))})}else o&&(!t.hasFocus&&r.facet(fo)||Yl(o,n))&&(o=null);if(!a&&!o)return!1;if((Q.mac||Q.android)&&a&&a.from==a.to&&a.from==n.head-1&&/^\. ?$/.test(a.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&a.insert.length==2&&(o=X.single(o.main.anchor-1,o.main.head-1)),a={from:a.from,to:a.to,insert:we.of([a.insert.toString().replace("."," ")])}):r.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?a={from:n.from,to:n.to,insert:r.toText(t.inputState.insertingText)}:Q.chrome&&a&&a.from==a.to&&a.from==n.head&&a.insert.toString()==`
17
+ `&&t.lineWrapping&&(o&&(o=X.single(o.main.anchor-1,o.main.head-1)),a={from:n.from,to:n.to,insert:we.of([" "])}),a)return zh(t,a,o,s);if(o&&!Yl(o,n)){let i=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(i=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(o=wb(r.facet(Ws).map(u=>u(t)),o))),t.dispatch({selection:o,scrollIntoView:i,userEvent:l}),!0}else return!1}function zh(t,e,a,o=-1){if(Q.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Q.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&t.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Pn(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||o==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Pn(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Pn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,i=()=>s||(s=RD(t,e,a));return t.state.facet(ib).some(l=>l(t,e.from,e.to,n,i))||t.dispatch(i()),!0}function RD(t,e,a){let o,r=t.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,u=l<0?n.from:n.to,d=Fs(r.facet(Ws).map(c=>c(t)),u,l);e.from==d&&(s=d)}if(s>-1)o={changes:e,selection:X.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!a||a.main.empty&&a.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=n.from<e.from?r.sliceDoc(n.from,e.from):"",u=n.to>e.to?r.sliceDoc(e.to,n.to):"";o=r.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let l=r.changes(e),u=a&&a.main.to<=l.newLength?a.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=t.state.sliceDoc(e.from,e.to),c,f=a&&bb(t,a.main.head);if(f){let p=e.insert.length-(e.to-e.from);c={from:f.from,to:f.to-p}}else c=t.state.doc.lineAt(n.head);let h=n.to-e.to;o=r.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:l,range:u||p.map(l)};let m=p.to-h,g=m-d.length;if(t.state.sliceDoc(g,m)!=d||m>=c.from&&g<=c.to)return{range:p};let x=r.changes({from:g,to:m,insert:e.insert}),y=p.to-n.to;return{changes:x,range:u?X.range(Math.max(0,u.anchor+y),Math.max(0,u.head+y)):p.map(x)}})}else o={changes:l,selection:u&&r.selection.replaceRange(u)}}let i="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,i+=".compose",t.inputState.compositionFirstChange&&(i+=".start",t.inputState.compositionFirstChange=!1)),r.update(o,{userEvent:i,scrollIntoView:!0})}function Cb(t,e,a,o){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==r&&t.length==e.length)return null;let s=t.length,i=e.length;for(;s>0&&i>0&&t.charCodeAt(s-1)==e.charCodeAt(i-1);)s--,i--;if(o=="end"){let l=Math.max(0,n-Math.min(s,i));a-=s+l-n}if(s<n&&t.length<e.length){let l=a<=n&&a>=s?n-a:0;n-=l,i=n+(i-s),s=n}else if(i<n){let l=a<=n&&a>=i?n-a:0;n-=l,s=n+(s-i),i=n}return{from:n,toA:s,toB:i}}function TD(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}=t.observer.selectionRange;return a&&(e.push(new Zl(a,o)),(r!=a||n!=o)&&e.push(new Zl(r,n))),e}function ED(t,e){if(t.length==0)return null;let a=t[0].pos,o=t.length==2?t[1].pos:a;return a>-1&&o>-1?X.single(a+e,o+e):null}function Yl(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var ch=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Q.safari&&e.contentDOM.addEventListener("input",()=>null),Q.gecko&&XD(e.contentDOM.ownerDocument)}handleEvent(e){!zD(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,a){let o=this.handlers[e];if(o){for(let r of o.observers)r(this.view,a);for(let r of o.handlers){if(a.defaultPrevented)break;if(r(this.view,a)){a.preventDefault();break}}}}ensureHandlers(e){let a=BD(e),o=this.handlers,r=this.view.contentDOM;for(let n in a)if(n!="scroll"){let s=!a[n].handlers.length,i=o[n];i&&s!=!i.handlers.length&&(r.removeEventListener(n,this.handleEvent),i=null),i||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in o)n!="scroll"&&!a[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=a}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Sb.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Q.android&&Q.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let a;return Q.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((a=vb.find(o=>o.keyCode==e.keyCode))&&!e.ctrlKey||FD.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=a||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let a=this.pendingIOSKey;return!a||a.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Pn(this.view.contentDOM,a.key,a.keyCode,a instanceof KeyboardEvent?a:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Q.safari&&!Q.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function w0(t,e){return(a,o)=>{try{return e.call(t,o,a)}catch(r){ht(a.state,r)}}}function BD(t){let e=Object.create(null);function a(o){return e[o]||(e[o]={observers:[],handlers:[]})}for(let o of t){let r=o.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let i in n){let l=n[i];l&&a(i).handlers.push(w0(o.value,l))}if(s)for(let i in s){let l=s[i];l&&a(i).observers.push(w0(o.value,l))}}for(let o in ya)a(o).handlers.push(ya[o]);for(let o in Nt)a(o).observers.push(Nt[o]);return e}var vb=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],FD="dthko",Sb=[16,17,18,20,91,92,224,225],Tl=6;function El(t){return Math.max(0,t)*.7+8}function OD(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var fh=class{constructor(e,a,o,r){this.view=e,this.startEvent=a,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=a,this.scrollParents=X0(e.contentDOM),this.atoms=e.state.facet(Ws).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=a.shiftKey,this.multiple=e.state.facet(Me.allowMultipleSelections)&&ND(e,a),this.dragging=HD(e,a)&&Ab(a)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&OD(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let a=0,o=0,r=0,n=0,s=this.view.win.innerWidth,i=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:i}=this.scrollParents.y.getBoundingClientRect());let l=Hh(this.view);e.clientX-l.left<=r+Tl?a=-El(r-e.clientX):e.clientX+l.right>=s-Tl&&(a=El(e.clientX-s)),e.clientY-l.top<=n+Tl?o=-El(n-e.clientY):e.clientY+l.bottom>=i-Tl&&(o=El(e.clientY-i)),this.setScrollSpeed(a,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,a){this.scrollSpeed={x:e,y:a},e||a?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:a}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),a&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=a,a=0),(e||a)&&this.view.win.scrollBy(e,a),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:a}=this,o=wb(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(a.state.selection,this.dragging===!1))&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function ND(t,e){let a=t.state.facet(ob);return a.length?a[0](e):Q.mac?e.metaKey:e.ctrlKey}function _D(t,e){let a=t.state.facet(rb);return a.length?a[0](e):Q.mac?!e.altKey:!e.ctrlKey}function HD(t,e){let{main:a}=t.state.selection;if(a.empty)return!1;let o=qs(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let n=0;n<r.length;n++){let s=r[n];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function zD(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let a=e.target,o;a!=t.contentDOM;a=a.parentNode)if(!a||a.nodeType==11||(o=He.get(a))&&o.isWidget()&&!o.isHidden&&o.widget.ignoreEvent(e))return!1;return!0}var ya=Object.create(null),Nt=Object.create(null),Ib=Q.ie&&Q.ie_version<15||Q.ios&&Q.webkit_version<604;function qD(t){let e=t.dom.parentNode;if(!e)return;let a=e.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.focus(),setTimeout(()=>{t.focus(),a.remove(),kb(t,a.value)},50)}function uu(t,e,a){for(let o of t.facet(e))a=o(a,t);return a}function kb(t,e){e=uu(t.state,Fh,e);let{state:a}=t,o,r=1,n=a.toText(e),s=n.lines==a.selection.ranges.length;if(hh!=null&&a.selection.ranges.every(l=>l.empty)&&hh==n.toString()){let l=-1;o=a.changeByRange(u=>{let d=a.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let c=a.toText((s?n.line(r++).text:e)+a.lineBreak);return{changes:{from:d.from,insert:c},range:X.cursor(u.from+c.length)}})}else s?o=a.changeByRange(l=>{let u=n.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:X.cursor(l.from+u.length)}}):o=a.replaceSelection(n);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}Nt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Nt.wheel=Nt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};ya.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Nt.touchstart=(t,e)=>{let a=t.inputState,o=e.targetTouches[0];a.lastTouchTime=Date.now(),o&&(a.lastTouchX=o.clientX,a.lastTouchY=o.clientY),a.setSelectionOrigin("select.pointer")};Nt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};ya.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let o of t.state.facet(nb))if(a=o(t,e),a)break;if(!a&&e.button==0&&(a=WD(t,e)),a){let o=!t.hasFocus;t.inputState.startMouseSelection(new fh(t,e,a,o)),o&&t.observer.ignore(()=>{K0(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function y0(t,e,a,o){if(o==1)return X.cursor(e,a);if(o==2)return SD(t.state,e,a);{let r=t.docView.lineAt(e,a),n=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<t.state.doc.length&&i==n.to&&i++,X.range(s,i)}}var UD=Q.ie&&Q.ie_version<=11,L0=null,C0=0,v0=0;function Ab(t){if(!UD)return t.detail;let e=L0,a=v0;return L0=t,v0=Date.now(),C0=!e||a>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(C0+1)%3:1}function WD(t,e){let a=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),o=Ab(e),r=t.state.selection;return{update(n){n.docChanged&&(a.pos=n.changes.mapPos(a.pos),r=r.map(n.changes))},get(n,s,i){let l=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),u,d=y0(t,l.pos,l.assoc,o);if(a.pos!=l.pos&&!s){let c=y0(t,a.pos,a.assoc,o),f=Math.min(c.from,d.from),h=Math.max(c.to,d.to);d=f<d.from?X.range(f,h,d.assoc):X.range(h,f,d.assoc)}return s?r.replaceRange(r.main.extend(d.from,d.to,d.assoc)):i&&o==1&&r.ranges.length>1&&(u=VD(r,l.pos))?u:i?r.addRange(d):X.create([d])}}}function VD(t,e){for(let a=0;a<t.ranges.length;a++){let{from:o,to:r}=t.ranges[a];if(o<=e&&r>=e)return X.create(t.ranges.slice(0,a).concat(t.ranges.slice(a+1)),t.mainIndex==a?0:t.mainIndex-(t.mainIndex>a?1:0))}return null}ya.dragstart=(t,e)=>{let{selection:{main:a}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=a.to||s<=a.from)&&(a=X.range(n,s))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=a,e.dataTransfer&&(e.dataTransfer.setData("Text",uu(t.state,Oh,t.state.sliceDoc(a.from,a.to))),e.dataTransfer.effectAllowed="copyMove"),!1};ya.dragend=t=>(t.inputState.draggedContent=null,!1);function S0(t,e,a,o){if(a=uu(t.state,Fh,a),!a)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,s=o&&n&&_D(t,e)?{from:n.from,to:n.to}:null,i={from:r,insert:a},l=t.state.changes(s?[s,i]:i);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}ya.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let a=e.dataTransfer.files;if(a&&a.length){let o=Array(a.length),r=0,n=()=>{++r==a.length&&S0(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<a.length;s++){let i=new FileReader;i.onerror=n,i.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(i.result)||(o[s]=i.result),n()},i.readAsText(a[s])}return!0}else{let o=e.dataTransfer.getData("Text");if(o)return S0(t,e,o,!0),!0}return!1};ya.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let a=Ib?null:e.clipboardData;return a?(kb(t,a.getData("text/plain")||a.getData("text/uri-list")),!0):(qD(t),!1)};function GD(t,e){let a=t.dom.parentNode;if(!a)return;let o=a.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function $D(t){let e=[],a=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),a.push(r));if(!e.length){let r=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>r&&(e.push(s.text),a.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:uu(t,Oh,e.join(t.lineBreak)),ranges:a,linewise:o}}var hh=null;ya.copy=ya.cut=(t,e)=>{if(!Ds(t.contentDOM,t.observer.selectionRange))return!1;let{text:a,ranges:o,linewise:r}=$D(t.state);if(!a&&!r)return!1;hh=r?a:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let n=Ib?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",a),!0):(GD(t,a),!1)};var Mb=Et.define();function Pb(t,e){let a=[];for(let o of t.facet(lb)){let r=o(t,e);r&&a.push(r)}return a.length?t.update({effects:a,annotations:Mb.of(!0)}):null}function Db(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let a=Pb(t.state,e);a?t.dispatch(a):t.update([])}},10)}Nt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),Db(t)};Nt.blur=t=>{t.observer.clearSelectionRange(),Db(t)};Nt.compositionstart=Nt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Nt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Q.chrome&&Q.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Nt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};ya.beforeinput=(t,e)=>{var a,o;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(a=e.dataTransfer)===null||a===void 0?void 0:a.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let i=s[0],l=t.posAtDOM(i.startContainer,i.startOffset),u=t.posAtDOM(i.endContainer,i.endOffset);return zh(t,{from:l,to:u,insert:t.state.toText(n)},null),!0}}let r;if(Q.chrome&&Q.android&&(r=vb.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Q.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Q.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Nt.compositionend(t,e),20),!1};var I0=new Set;function XD(t){I0.has(t)||(I0.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var k0=["pre-wrap","normal","pre-line","break-spaces"],Bn=!1;function A0(){Bn=!1}var ph=class{constructor(e){this.lineWrapping=e,this.doc=we.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,a){let o=this.doc.lineAt(a).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((a-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return k0.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let a=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(a=!0,this.heightSamples[Math.floor(r*10)]=!0)}return a}refresh(e,a,o,r,n,s){let i=k0.indexOf(e)>-1,l=Math.abs(a-this.lineHeight)>.3||this.lineWrapping!=i;if(this.lineWrapping=i,this.lineHeight=a,this.charWidth=o,this.textHeight=r,this.lineLength=n,l){this.heightSamples={};for(let u=0;u<s.length;u++){let d=s[u];d<0?u++:this.heightSamples[Math.floor(d*10)]=!0}}return l}},mh=class{constructor(e,a){this.from=e,this.heights=a,this.index=0}get more(){return this.index<this.heights.length}},ba=class t{constructor(e,a,o,r,n){this.from=e,this.length=a,this.top=o,this.height=r,this._content=n}get type(){return typeof this._content=="number"?pt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof vr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let a=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t(this.from,this.length+e.length,this.top,this.height+e.height,a)}},Te=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(Te||(Te={})),ql=.001,Kt=class t{constructor(e,a,o=2){this.length=e,this.height=a,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ql&&(Bn=!0),this.height=e)}replace(e,a,o){return t.of(o)}decomposeLeft(e,a){a.push(this)}decomposeRight(e,a){a.push(this)}applyChanges(e,a,o,r){let n=this,s=o.doc;for(let i=r.length-1;i>=0;i--){let{fromA:l,toA:u,fromB:d,toB:c}=r[i],f=n.lineAt(l,Te.ByPosNoHeight,o.setDoc(a),0,0),h=f.to>=u?f:n.lineAt(u,Te.ByPosNoHeight,o,0,0);for(c+=h.to-u,u=h.to;i>0&&f.from<=r[i-1].toA;)l=r[i-1].fromA,d=r[i-1].fromB,i--,l<f.from&&(f=n.lineAt(l,Te.ByPosNoHeight,o,0,0));d+=f.from-l,l=f.from;let p=xh.build(o.setDoc(s),e,d,c);n=Jl(n,n.replace(l,u,p))}return n.updateHeight(o,0)}static empty(){return new ra(0,0,0)}static of(e){if(e.length==1)return e[0];let a=0,o=e.length,r=0,n=0;for(;;)if(a==o)if(r>n*2){let i=e[a-1];i.break?e.splice(--a,1,i.left,null,i.right):e.splice(--a,1,i.left,i.right),o+=1+i.break,r-=i.size}else if(n>r*2){let i=e[o];i.break?e.splice(o,1,i.left,null,i.right):e.splice(o,1,i.left,i.right),o+=2+i.break,n-=i.size}else break;else if(r<n){let i=e[a++];i&&(r+=i.size)}else{let i=e[--o];i&&(n+=i.size)}let s=0;return e[a-1]==null?(s=1,a--):e[a]==null&&(s=1,o++),new gh(t.of(e.slice(0,a)),s,t.of(e.slice(o)))}};function Jl(t,e){return t==e?t:(t.constructor!=e.constructor&&(Bn=!0),e)}Kt.prototype.size=1;var KD=pe.replace({}),Ql=class extends Kt{constructor(e,a,o){super(e,a),this.deco=o,this.spaceAbove=0}mainBlock(e,a){return new ba(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,a,o,r){return this.spaceAbove&&e<o+this.spaceAbove?new ba(r,0,o,this.spaceAbove,KD):this.mainBlock(o,r)}lineAt(e,a,o,r,n){let s=this.mainBlock(r,n);return this.spaceAbove?this.blockAt(0,o,r,n).join(s):s}forEachLine(e,a,o,r,n,s){e<=n+this.length&&a>=n&&s(this.lineAt(0,Te.ByPos,o,r,n))}setMeasuredHeight(e){let a=e.heights[e.index++];a<0?(this.spaceAbove=-a,a=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(a)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},ra=class t extends Ql{constructor(e,a,o){super(e,a,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=o}mainBlock(e,a){return new ba(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,a,o){let r=o[0];return o.length==1&&(r instanceof t||r instanceof Bo&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Bo?r=new t(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Kt.of(o)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more?this.setMeasuredHeight(r):(o||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Bo=class t extends Kt{constructor(e){super(e,0)}heightMetrics(e,a){let o=e.doc.lineAt(a).number,r=e.doc.lineAt(a+this.length).number,n=r-o+1,s,i=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);s=l/n,this.length>n+1&&(i=(this.height-l)/(this.length-n-1))}else s=this.height/n;return{firstLine:o,lastLine:r,perLine:s,perChar:i}}blockAt(e,a,o,r){let{firstLine:n,lastLine:s,perLine:i,perChar:l}=this.heightMetrics(a,r);if(a.lineWrapping){let u=r+(e<a.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length)),d=a.doc.lineAt(u),c=i+d.length*l,f=Math.max(o,e-c/2);return new ba(d.from,d.length,f,c,0)}else{let u=Math.max(0,Math.min(s-n,Math.floor((e-o)/i))),{from:d,length:c}=a.doc.line(n+u);return new ba(d,c,o+i*u,i,0)}}lineAt(e,a,o,r,n){if(a==Te.ByHeight)return this.blockAt(e,o,r,n);if(a==Te.ByPosNoHeight){let{from:h,to:p}=o.doc.lineAt(e);return new ba(h,p-h,0,0,0)}let{firstLine:s,perLine:i,perChar:l}=this.heightMetrics(o,n),u=o.doc.lineAt(e),d=i+u.length*l,c=u.number-s,f=r+i*c+l*(u.from-n-c);return new ba(u.from,u.length,Math.max(r,Math.min(f,r+this.height-d)),d,0)}forEachLine(e,a,o,r,n,s){e=Math.max(e,n),a=Math.min(a,n+this.length);let{firstLine:i,perLine:l,perChar:u}=this.heightMetrics(o,n);for(let d=e,c=r;d<=a;){let f=o.doc.lineAt(d);if(d==e){let p=f.number-i;c+=l*p+u*(e-n-p)}let h=l+u*f.length;s(new ba(f.from,f.length,c,h,0)),c+=h,d=f.to+1}}replace(e,a,o){let r=this.length-a;if(r>0){let n=o[o.length-1];n instanceof t?o[o.length-1]=new t(n.length+r):o.push(null,new t(r-1))}if(e>0){let n=o[0];n instanceof t?o[0]=new t(e+n.length):o.unshift(new t(e-1),null)}return Kt.of(o)}decomposeLeft(e,a){a.push(new t(e-1),null)}decomposeRight(e,a){a.push(null,new t(this.length-e-1))}updateHeight(e,a=0,o=!1,r){let n=a+this.length;if(r&&r.from<=a+this.length&&r.more){let s=[],i=Math.max(a,r.from),l=-1;for(r.from>a&&s.push(new t(r.from-a-1).updateHeight(e,a));i<=n&&r.more;){let d=e.doc.lineAt(i).length;s.length&&s.push(null);let c=r.heights[r.index++],f=0;c<0&&(f=-c,c=r.heights[r.index++]),l==-1?l=c:Math.abs(c-l)>=ql&&(l=-2);let h=new ra(d,c,f);h.outdated=!1,s.push(h),i+=d+1}i<=n&&s.push(null,new t(n-i).updateHeight(e,i));let u=Kt.of(s);return(l<0||Math.abs(u.height-this.height)>=ql||Math.abs(l-this.heightMetrics(e,a).perLine)>=ql)&&(Bn=!0),Jl(this,u)}else(o||this.outdated)&&(this.setHeight(e.heightForGap(a,a+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},gh=class extends Kt{constructor(e,a,o){super(e.length+a+o.length,e.height+o.height,a|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,a,o,r){let n=o+this.left.height;return e<n?this.left.blockAt(e,a,o,r):this.right.blockAt(e,a,n,r+this.left.length+this.break)}lineAt(e,a,o,r,n){let s=r+this.left.height,i=n+this.left.length+this.break,l=a==Te.ByHeight?e<s:e<i,u=l?this.left.lineAt(e,a,o,r,n):this.right.lineAt(e,a,o,s,i);if(this.break||(l?u.to<i:u.from>i))return u;let d=a==Te.ByPosNoHeight?Te.ByPosNoHeight:Te.ByPos;return l?u.join(this.right.lineAt(i,d,o,s,i)):this.left.lineAt(i,d,o,r,n).join(u)}forEachLine(e,a,o,r,n,s){let i=r+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,a,o,r,n,s),a>=l&&this.right.forEachLine(e,a,o,i,l,s);else{let u=this.lineAt(l,Te.ByPos,o,r,n);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,n,s),u.to>=e&&u.from<=a&&s(u),a>u.to&&this.right.forEachLine(u.to+1,a,o,i,l,s)}}replace(e,a,o){let r=this.left.length+this.break;if(a<r)return this.balanced(this.left.replace(e,a,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,a-r,o));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let i of o)n.push(i);if(e>0&&M0(n,s-1),a<this.length){let i=n.length;this.decomposeRight(a,n),M0(n,i)}return Kt.of(n)}decomposeLeft(e,a){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,a);a.push(this.left),this.break&&(o++,e>=o&&a.push(null)),e>o&&this.right.decomposeLeft(e-o,a)}decomposeRight(e,a){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,a);e<o&&this.left.decomposeRight(e,a),this.break&&e<r&&a.push(null),a.push(this.right)}balanced(e,a){return e.size>2*a.size||a.size>2*e.size?Kt.of(this.break?[e,null,a]:[e,a]):(this.left=Jl(this.left,e),this.right=Jl(this.right,a),this.setHeight(e.height+a.height),this.outdated=e.outdated||a.outdated,this.size=e.size+a.size,this.length=e.length+this.break+a.length,this)}updateHeight(e,a=0,o=!1,r){let{left:n,right:s}=this,i=a+n.length+this.break,l=null;return r&&r.from<=a+n.length&&r.more?l=n=n.updateHeight(e,a,o,r):n.updateHeight(e,a,o),r&&r.from<=i+s.length&&r.more?l=s=s.updateHeight(e,i,o,r):s.updateHeight(e,i,o),l?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function M0(t,e){let a,o;t[e]==null&&(a=t[e-1])instanceof Bo&&(o=t[e+1])instanceof Bo&&t.splice(e-1,3,new Bo(a.length+1+o.length))}var jD=5,xh=class t{constructor(e,a){this.pos=e,this.oracle=a,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,a){if(this.lineStart>-1){let o=Math.min(a,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ra?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new ra(o-this.pos,-1,0)),this.writtenTo=o,a>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=a}point(e,a,o){if(e<a||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,n=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=a-e;o.block?this.addBlock(new Ql(s,r,o)):(s||n||r>=jD)&&this.addLineDeco(r,n,s)}else a>e&&this.span(e,a);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:a}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=a,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new ra(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,a){let o=new Bo(a-e);return this.oracle.doc.lineAt(e).to==a&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ra)return e;let a=new ra(0,-1,0);return this.nodes.push(a),a}addBlock(e){this.enterLine();let a=e.deco;a&&a.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,a&&a.endSide>0&&(this.covering=e)}addLineDeco(e,a,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=a,this.writtenTo=this.pos=this.pos+o}finish(e){let a=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(a instanceof ra)&&!this.isCovered?this.nodes.push(new ra(0,-1,0)):(this.writtenTo<this.pos||a==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof ra&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,a,o,r){let n=new t(o,e);return ye.spans(a,o,r,n,0),n.finish(o)}};function ZD(t,e,a){let o=new bh;return ye.compare(t,e,a,o,0),o.changes}var bh=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,a,o,r){(e<a||o&&o.heightRelevant||r&&r.heightRelevant)&&Mn(e,a,this.changes,5)}};function YD(t,e){let a=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,n=Math.max(0,a.left),s=Math.min(r.innerWidth,a.right),i=Math.max(0,a.top),l=Math.min(r.innerHeight,a.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let d=u,c=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&c.overflow!="visible"){let f=d.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),i=Math.max(i,f.top),l=Math.min(u==t.parentNode?r.innerHeight:l,f.bottom)}u=c.position=="absolute"||c.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:n-a.left,right:Math.max(n,s)-a.left,top:i-(a.top+e),bottom:Math.max(i,l)-(a.top+e)}}function JD(t){let e=t.getBoundingClientRect(),a=t.ownerDocument.defaultView||window;return e.left<a.innerWidth&&e.right>0&&e.top<a.innerHeight&&e.bottom>0}function QD(t,e){let a=t.getBoundingClientRect();return{left:0,right:a.right-a.left,top:e,bottom:a.bottom-(a.top+e)}}var Os=class{constructor(e,a,o,r){this.from=e,this.to=a,this.size=o,this.displaySize=r}static same(e,a){if(e.length!=a.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],n=a[o];if(r.from!=n.from||r.to!=n.to||r.size!=n.size)return!1}return!0}draw(e,a){return pe.replace({widget:new wh(this.displaySize*(a?e.scaleY:e.scaleX),a)}).range(this.from,this.to)}},wh=class extends qa{constructor(e,a){super(),this.size=e,this.vertical=a}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},eu=class{constructor(e,a){this.view=e,this.state=a,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=P0,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ie.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let o=a.facet(Nh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new ph(o),this.stateDeco=D0(a),this.heightMap=Kt.empty().applyChanges(this.stateDeco,we.empty,this.heightOracle.setDoc(a.doc),[new wa(0,0,0,a.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=pe.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:a}=this.state.selection;for(let o=0;o<=1;o++){let r=o?a.head:a.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new In(n,s))}}return this.viewports=e.sort((o,r)=>o.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?P0:new yh(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ps(e,this.scaler))})}update(e,a=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=D0(this.state);let r=e.changedRanges,n=wa.extendWithRanges(r,ZD(o,this.stateDeco,e?e.changes:It.empty(this.state.doc.length))),s=this.heightMap.height,i=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);A0(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||Bn)&&(e.flags|=2),i?(this.scrollAnchorPos=e.changes.mapPos(i.from,-1),this.scrollAnchorHeight=i.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(a&&(a.range.head<l.from||a.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,a));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),a&&(this.scrollTarget=a),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(db)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,a=e.contentDOM,o=window.getComputedStyle(a),r=this.heightOracle,n=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?Ie.RTL:Ie.LTR;let s=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",i=a.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=i.height;this.contentDOMHeight=i.height,this.mustMeasureContent=!1;let u=0,d=0;if(i.width&&i.height){let{scaleX:I,scaleY:v}=$0(a,i);(I>.005&&Math.abs(this.scaleX-I)>.005||v>.005&&Math.abs(this.scaleY-v)>.005)&&(this.scaleX=I,this.scaleY=v,u|=16,s=l=!0)}let c=(parseInt(o.paddingTop)||0)*this.scaleY,f=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let h=X0(this.view.contentDOM,!1).y;h!=this.scrollParent&&(this.scrollParent=h,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=j0(this.scrollParent||e.win);let m=(this.printing?QD:YD)(a,this.paddingTop),g=m.top-this.pixelViewport.top,x=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget&&!JD(e.dom))return 0;let w=i.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=i.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),l){let I=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(I)&&(s=!0),s||r.lineWrapping&&Math.abs(w-this.contentDOMWidth)>r.charWidth){let{lineHeight:v,charWidth:L,textHeight:S}=e.docView.measureTextSize();s=v>0&&r.refresh(n,v,L,S,Math.max(5,w/L),I),s&&(e.docView.minWidth=0,u|=16)}g>0&&x>0?d=Math.max(g,x):g<0&&x<0&&(d=Math.min(g,x)),A0();for(let v of this.viewports){let L=v.from==this.viewport.from?I:e.docView.measureVisibleLineHeights(v);this.heightMap=(s?Kt.empty().applyChanges(this.stateDeco,we.empty,this.heightOracle,[new wa(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new mh(v.from,L))}Bn&&(u|=2)}let C=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return C&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,a){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:i}=this,l=new In(r.lineAt(s-o*1e3,Te.ByHeight,n,0,0).from,r.lineAt(i+(1-o)*1e3,Te.ByHeight,n,0,0).to);if(a){let{head:u}=a.range;if(u<l.from||u>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=r.lineAt(u,Te.ByPos,n,0,0),f;a.y=="center"?f=(c.top+c.bottom)/2-d/2:a.y=="start"||a.y=="nearest"&&u<l.from?f=c.top:f=c.bottom-d,l=new In(r.lineAt(f-1e3/2,Te.ByHeight,n,0,0).from,r.lineAt(f+d+1e3/2,Te.ByHeight,n,0,0).to)}}return l}mapViewport(e,a){let o=a.mapPos(e.from,-1),r=a.mapPos(e.to,1);return new In(this.heightMap.lineAt(o,Te.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Te.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:a},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Te.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(a,Te.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:i}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(a==this.state.doc.length||n>=i+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&n<i+2*1e3}mapLineGaps(e,a){if(!e.length||a.empty)return e;let o=[];for(let r of e)a.touchesRange(r.from,r.to)||o.push(new Os(a.mapPos(r.from),a.mapPos(r.to),r.size,r.displaySize));return o}ensureLineGaps(e,a){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,n=r>>1,s=r<<1;if(this.defaultTextDirection!=Ie.LTR&&!o)return[];let i=[],l=(d,c,f,h)=>{if(c-d<n)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let x of m)if(x>d&&x<c){l(d,x-10,f,h),l(x+10,c,f,h);return}let g=tR(e,x=>x.from>=f.from&&x.to<=f.to&&Math.abs(x.from-d)<n&&Math.abs(x.to-c)<n&&!m.some(y=>x.from<y&&x.to>y));if(!g){if(c<f.to&&a&&o&&a.visibleRanges.some(w=>w.from<=c&&w.to>=c)){let w=a.moveToLineBoundary(X.cursor(c),!1,!0).head;w>d&&(c=w)}let x=this.gapSize(f,d,c,h),y=o||x<2e6?x:2e6;g=new Os(d,c,x,y)}i.push(g)},u=d=>{if(d.length<s||d.type!=pt.Text)return;let c=eR(d.from,d.to,this.stateDeco);if(c.total<s)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,h,p;if(o){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,x;if(f!=null){let y=Fl(c,f),w=((this.visibleBottom-this.visibleTop)/2+m)/d.height;g=y-w,x=y+w}else g=(this.visibleTop-d.top-m)/d.height,x=(this.visibleBottom-d.top+m)/d.height;h=Bl(c,g),p=Bl(c,x)}else{let m=c.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,x=0;if(m>2e6)for(let v of e)v.from>=d.from&&v.from<d.to&&v.size!=v.displaySize&&v.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=v.size-v.displaySize);let y=this.pixelViewport.left+x,w=this.pixelViewport.right+x,C,I;if(f!=null){let v=Fl(c,f),L=((w-y)/2+g)/m;C=v-L,I=v+L}else C=(y-g)/m,I=(w+g)/m;h=Bl(c,C),p=Bl(c,I)}h>d.from&&l(d.from,h,d,c),p<d.to&&l(p,d.to,d,c)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(u):u(d);return i}gapSize(e,a,o,r){let n=Fl(r,o)-Fl(r,a);return this.heightOracle.lineWrapping?e.height*n:r.total*this.heightOracle.charWidth*n}updateLineGaps(e){Os.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=pe.set(e.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let a=this.stateDeco;this.lineGaps.length&&(a=a.concat(this.lineGapDeco));let o=[];ye.spans(a,this.viewport.from,this.viewport.to,{span(n,s){o.push({from:n,to:s})},point(){}},20);let r=0;if(o.length!=this.visibleRanges.length)r=12;else for(let n=0;n<o.length&&!(r&8);n++){let s=this.visibleRanges[n],i=o[n];(s.from!=i.from||s.to!=i.to)&&(r|=4,e&&e.mapPos(s.from,-1)==i.from&&e.mapPos(s.to,1)==i.to||(r|=8))}return this.visibleRanges=o,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(a=>a.from<=e&&a.to>=e)||Ps(this.heightMap.lineAt(e,Te.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(a=>a.top<=e&&a.bottom>=e)||Ps(this.heightMap.lineAt(this.scaler.fromDOM(e),Te.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let a=this.lineBlockAtHeight(e+8);return a.from>=this.viewport.from||this.viewportLines[0].top-e>200?a:this.viewportLines[0]}elementAtHeight(e){return Ps(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},In=class{constructor(e,a){this.from=e,this.to=a}};function eR(t,e,a){let o=[],r=t,n=0;return ye.spans(a,t,e,{span(){},point(s,i){s>r&&(o.push({from:r,to:s}),n+=s-r),r=i}},20),r<e&&(o.push({from:r,to:e}),n+=e-r),{total:n,ranges:o}}function Bl({total:t,ranges:e},a){if(a<=0)return e[0].from;if(a>=1)return e[e.length-1].to;let o=Math.floor(t*a);for(let r=0;;r++){let{from:n,to:s}=e[r],i=s-n;if(o<=i)return n+o;o-=i}}function Fl(t,e){let a=0;for(let{from:o,to:r}of t.ranges){if(e<=r){a+=e-o;break}a+=r-o}return a/t.total}function tR(t,e){for(let a of t)if(e(a))return a}var P0={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function D0(t){let e=t.facet(lu).filter(o=>typeof o!="function"),a=t.facet(_h).filter(o=>typeof o!="function");return a.length&&e.push(ye.join(a)),e}var yh=class t{constructor(e,a,o){let r=0,n=0,s=0;this.viewports=o.map(({from:i,to:l})=>{let u=a.lineAt(i,Te.ByPos,e,0,0).top,d=a.lineAt(l,Te.ByPos,e,0,0).bottom;return r+=d-u,{from:i,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(a.height-r);for(let i of this.viewports)i.domTop=s+(i.top-n)*this.scale,s=i.domBottom=i.domTop+(i.bottom-i.top),n=i.bottom}toDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.top)return r+(e-o)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);o=n.bottom,r=n.domBottom}}fromDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.domTop)return o+(e-r)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);o=n.bottom,r=n.domBottom}}eq(e){return e instanceof t?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((a,o)=>a.from==e.viewports[o].from&&a.to==e.viewports[o].to):!1}};function Ps(t,e){if(e.scale==1)return t;let a=e.toDOM(t.top),o=e.toDOM(t.bottom);return new ba(t.from,t.length,a,o-a,Array.isArray(t._content)?t._content.map(r=>Ps(r,e)):t._content)}var Ol=Y.define({combine:t=>t.join(" ")}),Lh=Y.define({combine:t=>t.indexOf(!0)>-1}),Ch=oa.newName(),Rb=oa.newName(),Tb=oa.newName(),Eb={"&light":"."+Rb,"&dark":"."+Tb};function vh(t,e,a){return new oa(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!a||!a[r])throw new RangeError(`Unsupported selector: ${r}`);return a[r]}):t+" "+o}})}var aR=vh("."+Ch,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Eb),oR={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Nf=Q.ie&&Q.ie_version<=11,Sh=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Xf,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(a=>{for(let o of a)this.queue.push(o);(Q.ie&&Q.ie_version<=11||Q.ios&&e.composing)&&a.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Q.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Q.chrome&&Q.chrome_version<126)&&(this.editContext=new Ih(e),e.state.facet(fo)&&(e.contentDOM.editContext=this.editContext.editContext)),Nf&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var a;((a=this.view.docView)===null||a===void 0?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((a,o)=>a!=e[o]))){this.gapIntersection.disconnect();for(let a of e)this.gapIntersection.observe(a);this.gaps=e}}onSelectionChange(e){let a=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(fo)?o.root.activeElement!=this.dom:!Ds(this.dom,r))return;let n=r.anchorNode&&o.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){a||(this.selectionChanged=!1);return}(Q.ie&&Q.ie_version<=11||Q.android&&Q.chrome)&&!o.state.selection.main.empty&&r.focusNode&&Rs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,a=qs(e.root);if(!a)return!1;let o=Q.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&rR(this.view,a)||a;if(!o||this.selectionRange.eq(o))return!1;let r=Ds(this.dom,o);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&QP(this.dom,o)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(o),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,a){this.selectionRange.set(e.node,e.offset,a.node,a.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,a=null;for(let o=this.dom;o;)if(o.nodeType==1)!a&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:a||(a=this.scrollTargets.slice(0,e)),a&&a.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!a&&(a=this.scrollTargets.slice(0,e)),a){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=a)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,oR),Nf&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Nf&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,a){var o;if(!this.delayedAndroidKey){let r=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&Pn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:a,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let a=-1,o=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),a==-1?{from:a,to:o}=s:(a=Math.min(s.from,a),o=Math.max(s.to,o)))}return{from:a,to:o,typeOver:r}}readChange(){let{from:e,to:a,typeOver:o}=this.processRecords(),r=this.selectionChanged&&Ds(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new dh(this.view,e,a,o);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let a=this.readChange();if(!a)return this.view.requestMeasure(),!1;let o=this.view.state,r=Lb(this.view,a);return this.view.state==o&&(a.domChanged||a.newSel&&!Yl(this.view.state.selection,a.newSel.main))&&this.view.update([]),r}readMutation(e){let a=this.view.docView.tile.nearest(e.target);if(!a||a.isWidget())return null;if(a.markDirty(e.type=="attributes"),e.type=="childList"){let o=R0(a,e.previousSibling||e.target.previousSibling,-1),r=R0(a,e.nextSibling||e.target.nextSibling,1);return{from:o?a.posAfter(o):a.posAtStart,to:r?a.posBefore(r):a.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:a.posAtStart,to:a.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(fo)!=e.state.facet(fo)&&(e.view.contentDOM.editContext=e.state.facet(fo)?this.editContext.editContext:null))}destroy(){var e,a,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(a=this.gapIntersection)===null||a===void 0||a.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function R0(t,e,a){for(;e;){let o=He.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:a>0?e.nextSibling:e.previousSibling}return null}function T0(t,e){let a=e.startContainer,o=e.startOffset,r=e.endContainer,n=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return Rs(s.node,s.offset,r,n)&&([a,o,r,n]=[r,n,a,o]),{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}}function rR(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return T0(t,r)}let a=null;function o(r){r.preventDefault(),r.stopImmediatePropagation(),a=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",o,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",o,!0),a?T0(t,a):null}var Ih=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let a=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=o=>{let r=e.state.selection.main,{anchor:n,head:s}=r,i=this.toEditorPos(o.updateRangeStart),l=this.toEditorPos(o.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:o.updateRangeStart,editorBase:i,drifted:!1});let u=l-i>o.text.length;i==this.from&&n<this.from?i=n:l==this.to&&n>this.to&&(l=n);let d=Cb(e.state.sliceDoc(i,l),o.text,(u?r.from:r.to)-i,u?"end":null);if(!d){let f=X.single(this.toEditorPos(o.selectionStart),this.toEditorPos(o.selectionEnd));Yl(f,r)||e.dispatch({selection:f,userEvent:"select"});return}let c={from:d.from+i,to:d.toA+i,insert:we.of(o.text.slice(d.from,d.toB).split(`
18
+ `))};if((Q.mac||Q.android)&&c.from==s-1&&/^\. ?$/.test(o.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(c={from:i,to:l,insert:we.of([o.text.replace("."," ")])}),this.pendingContextChange=c,!e.state.readOnly){let f=this.to-this.from+(c.to-c.from+c.insert.length);zh(e,c,X.single(this.toEditorPos(o.selectionStart,f),this.toEditorPos(o.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),c.from<c.to&&!c.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(a.text.slice(Math.max(0,o.updateRangeStart-1),Math.min(a.text.length,o.updateRangeStart+1)))&&this.handlers.compositionend(o)},this.handlers.characterboundsupdate=o=>{let r=[],n=null;for(let s=this.toEditorPos(o.rangeStart),i=this.toEditorPos(o.rangeEnd);s<i;s++){let l=e.coordsForChar(s);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,r.push(n)}a.updateCharacterBounds(o.rangeStart,r)},this.handlers.textformatupdate=o=>{let r=[];for(let n of o.getTextFormats()){let s=n.underlineStyle,i=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(i)){let l=this.toEditorPos(n.rangeStart),u=this.toEditorPos(n.rangeEnd);if(l<u){let d=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(i)?1:2}px`;r.push(pe.mark({attributes:{style:d}}).range(l,u))}}}e.dispatch({effects:fb.of(pe.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:o}=this.composing;this.composing=null,o&&this.reset(e.state)}};for(let o in this.handlers)a.addEventListener(o,this.handlers[o]);this.measureReq={read:o=>{this.editContext.updateControlBounds(o.contentDOM.getBoundingClientRect());let r=qs(o.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let a=0,o=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,i,l,u)=>{if(o)return;let d=u.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(u)){r=this.pendingContextChange=null,a+=d,this.to+=d;return}else r=null,this.revertPending(e.state);if(n+=a,s+=a,s<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||s>this.to||this.to-this.from+u.length>3e4){o=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),u.toString()),this.to+=d}a+=d}),r&&!o&&this.revertPending(e.state),!o}update(e){let a=this.pendingContextChange,o=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(o.from,o.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||a)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:a}=e.selection.main;this.from=Math.max(0,a-1e4),this.to=Math.min(e.doc.length,a+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let a=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(a.from),this.toContextPos(a.from+a.insert.length),e.doc.sliceString(a.from,a.to))}setSelection(e){let{main:a}=e.selection,o=this.toContextPos(Math.max(this.from,Math.min(this.to,a.anchor))),r=this.toContextPos(a.head);(this.editContext.selectionStart!=o||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(o,r)}rangeIsValid(e){let{head:a}=e.selection.main;return!(this.from>0&&a-this.from<500||this.to<e.doc.length&&this.to-a<500||this.to-this.from>1e4*3)}toEditorPos(e,a=this.to-this.from){e=Math.min(e,a);let o=this.composing;return o&&o.drifted?o.editorBase+(e-o.contextBase):e+this.from}toContextPos(e){let a=this.composing;return a&&a.drifted?a.contextBase+(e-a.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},Z=class t{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var a;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:o}=e;this.dispatchTransactions=e.dispatchTransactions||o&&(r=>r.forEach(n=>o(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||JP(e.parent)||document,this.viewState=new eu(this,e.state||Me.create(e)),e.scrollTo&&e.scrollTo.is(Rl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Sn).map(r=>new Es(r));for(let r of this.plugins)r.update(this);this.observer=new Sh(this),this.inputState=new ch(this),this.inputState.ensureHandlers(this.plugins),this.docView=new jl(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((a=document.fonts)===null||a===void 0)&&a.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let a=e.length==1&&e[0]instanceof ot?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(a,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let a=!1,o=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,i=0,l=null;e.some(f=>f.annotation(Mb))?(this.inputState.notifiedFocused=s,i=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=Pb(n,s),l||(i=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(Me.phrases)!=this.state.facet(Me.phrases))return this.setState(n);r=Xl.create(this,n,e),r.flags|=i;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:h}=f.state.selection,{x:p,y:m}=this.state.facet(t.cursorScrollMargin);c=new Ts(h.empty?h:X.cursor(h.head,h.head>h.anchor?-1:1),"nearest","nearest",m,p)}for(let h of f.effects)h.is(Rl)&&(c=h.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=tu.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),a=this.docView.update(r),this.state.facet(Ms)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(a,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Ol)!=r.state.facet(Ol)&&(this.viewState.mustMeasureContent=!0),(a||o||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),a&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(Yf))try{f(r)}catch(h){ht(this.state,h,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!Lb(this,d)&&u.force&&Pn(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let a=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new eu(this,e),this.plugins=e.facet(Sn).map(o=>new Es(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView.destroy(),this.docView=new jl(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}a&&this.focus(),this.requestMeasure()}updatePlugins(e){let a=e.startState.facet(Sn),o=e.state.facet(Sn);if(a!=o){let r=[];for(let n of o){let s=a.indexOf(n);if(s<0)r.push(new Es(n));else{let i=this.plugins[s];i.mustUpdate=e,r.push(i)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);a!=o&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let a=e.value;if(a&&a.docViewUpdate)try{a.docViewUpdate(this)}catch(o){ht(this.state,o,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let a=null,o=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let i=0;;i++){if(s<0)if(j0(o||this.win))n=-1,s=this.viewState.heightMap.height;else{let h=this.viewState.scrollAnchorAt(r);n=h.from,s=h.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(i>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(h=>{try{return h.read(this)}catch(p){return ht(this.state,p),E0}}),c=Xl.create(this,this.state,[]),f=!1;c.flags|=l,a?a.flags|=l:a=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let h=0;h<u.length;h++)if(d[h]!=E0)try{let p=u[h];p.write&&p.write(d[h],this)}catch(p){ht(this.state,p)}if(f&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let p=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-s)/this.scaleY;if((p>1||p<-1)&&(o==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,o?o.scrollTop+=p:this.win.scrollBy(0,p),s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(a&&!a.empty)for(let i of this.state.facet(Yf))i(a)}get themeClasses(){return Ch+" "+(this.state.facet(Lh)?Tb:Rb)+" "+this.state.facet(Ol)}updateAttrs(){let e=B0(this,hb,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),a={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(fo)?"true":"false",class:"cm-content",style:`${Q.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(a["aria-readonly"]="true"),B0(this,Nh,a);let o=this.observer.ignore(()=>{let r=f0(this.contentDOM,this.contentAttrs,a),n=f0(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=a,o}showAnnouncements(e){let a=!0;for(let o of e)for(let r of o.effects)if(r.is(t.announce)){a&&(this.announceDOM.textContent=""),a=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Ms);let e=this.state.facet(t.cspNonce);oa.mount(this.root,this.styleModules.concat(aR).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let a=0;a<this.measureRequests.length;a++)if(this.measureRequests[a].key===e.key){this.measureRequests[a]=e;return}}this.measureRequests.push(e)}}plugin(e){let a=this.pluginMap.get(e);return(a===void 0||a&&a.plugin!=e)&&this.pluginMap.set(e,a=this.plugins.find(o=>o.plugin==e)||null),a&&a.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,a,o){return Of(this,e,b0(this,e,a,o))}moveByGroup(e,a){return Of(this,e,b0(this,e,a,o=>AD(this,e.head,o)))}visualLineSide(e,a){let o=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=o[a?o.length-1:0];return X.cursor(n.side(a,r)+e.from,n.forward(!a,r)?1:-1)}moveToLineBoundary(e,a,o=!0){return kD(this,e,a,o)}moveVertically(e,a,o){return Of(this,e,MD(this,e,a,o))}domAtPos(e,a=1){return this.docView.domAtPos(e,a)}posAtDOM(e,a=0){return this.docView.posFromDOM(e,a)}posAtCoords(e,a=!0){this.readMeasured();let o=ih(this,e,a);return o&&o.pos}posAndSideAtCoords(e,a=!0){return this.readMeasured(),ih(this,e,a)}coordsAtPos(e,a=1){this.readMeasured();let o=this.docView.coordsAt(e,a);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[sa.find(n,e-r.from,-1,a)];return $l(o,s.dir==Ie.LTR==a>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(ub)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>nR)return tb(e.length);let a=this.textDirectionAt(e.from),o;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==a&&(n.fresh||eb(n.isolates,o=m0(this,e))))return n.order;o||(o=m0(this,e));let r=sD(e.text,a,o);return this.bidiCache.push(new tu(e.from,e.to,a,o,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Q.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{K0(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,a={}){var o,r,n,s;return Rl.of(new Ts(typeof e=="number"?X.cursor(e):e,(o=a.y)!==null&&o!==void 0?o:"nearest",(r=a.x)!==null&&r!==void 0?r:"nearest",(n=a.yMargin)!==null&&n!==void 0?n:5,(s=a.xMargin)!==null&&s!==void 0?s:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:a}=this.scrollDOM,o=this.viewState.scrollAnchorAt(e);return Rl.of(new Ts(X.cursor(o.from),"start","start",o.top-e,a,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ze.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ze.define(()=>({}),{eventObservers:e})}static theme(e,a){let o=oa.newName(),r=[Ol.of(o),Ms.of(vh(`.${o}`,e))];return a&&a.dark&&r.push(Lh.of(!0)),r}static baseTheme(e){return Xt.lowest(Ms.of(vh("."+Ch,e,Eb)))}static findFromDOM(e){var a;let o=e.querySelector(".cm-content"),r=o&&He.get(o)||He.get(e);return((a=r?.root)===null||a===void 0?void 0:a.view)||null}};Z.styleModule=Ms;Z.inputHandler=ib;Z.clipboardInputFilter=Fh;Z.clipboardOutputFilter=Oh;Z.scrollHandler=cb;Z.focusChangeEffect=lb;Z.perLineTextDirection=ub;Z.exceptionSink=sb;Z.updateListener=Yf;Z.editable=fo;Z.mouseSelectionStyle=nb;Z.dragMovesSelection=rb;Z.clickAddsSelectionRange=ob;Z.decorations=lu;Z.blockWrappers=pb;Z.outerDecorations=_h;Z.atomicRanges=Ws;Z.bidiIsolatedRanges=mb;Z.cursorScrollMargin=Y.define({combine:t=>{let e=5,a=5;for(let o of t)typeof o=="number"?e=a=o:{x:e,y:a}=o;return{x:e,y:a}}});Z.scrollMargins=gb;Z.darkTheme=Lh;Z.cspNonce=Y.define({combine:t=>t.length?t[0]:""});Z.contentAttributes=Nh;Z.editorAttributes=hb;Z.lineWrapping=Z.contentAttributes.of({class:"cm-lineWrapping"});Z.announce=de.define();var nR=4096,E0={},tu=class t{constructor(e,a,o,r,n,s){this.from=e,this.to=a,this.dir=o,this.isolates=r,this.fresh=n,this.order=s}static update(e,a){if(a.empty&&!e.some(n=>n.fresh))return e;let o=[],r=e.length?e[e.length-1].dir:Ie.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let s=e[n];s.dir==r&&!a.touchesRange(s.from,s.to)&&o.push(new t(a.mapPos(s.from,1),a.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return o}};function B0(t,e,a){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let n=o[r],s=typeof n=="function"?n(t):n;s&&Th(s,a)}return a}var sR=Q.mac?"mac":Q.windows?"win":Q.linux?"linux":"key";function iR(t,e){let a=t.split(/-(?!$)/),o=a[a.length-1];o=="Space"&&(o=" ");let r,n,s,i;for(let l=0;l<a.length-1;++l){let u=a[l];if(/^(cmd|meta|m)$/i.test(u))i=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))n=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?i=!0:n=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),n&&(o="Ctrl-"+o),i&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function Nl(t,e,a){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),a!==!1&&e.shiftKey&&(t="Shift-"+t),t}var lR=Xt.default(Z.domEventHandlers({keydown(t,e){return Ob(Bb(e.state),t,e,"editor")}})),Ar=Y.define({enables:lR}),F0=new WeakMap;function Bb(t){let e=t.facet(Ar),a=F0.get(e);return a||F0.set(e,a=dR(e.reduce((o,r)=>o.concat(r),[]))),a}function Fb(t,e,a){return Ob(Bb(t.state),e,t,a)}var Eo=null,uR=4e3;function dR(t,e=sR){let a=Object.create(null),o=Object.create(null),r=(s,i)=>{let l=o[s];if(l==null)o[s]=i;else if(l!=i)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,i,l,u,d)=>{var c,f;let h=a[s]||(a[s]=Object.create(null)),p=i.split(/ (?!$)/).map(x=>iR(x,e));for(let x=1;x<p.length;x++){let y=p.slice(0,x).join(" ");r(y,!0),h[y]||(h[y]={preventDefault:!0,stopPropagation:!1,run:[w=>{let C=Eo={view:w,prefix:y,scope:s};return setTimeout(()=>{Eo==C&&(Eo=null)},uR),!0}]})}let m=p.join(" ");r(m,!1);let g=h[m]||(h[m]={preventDefault:!1,stopPropagation:!1,run:((f=(c=h._any)===null||c===void 0?void 0:c.run)===null||f===void 0?void 0:f.slice())||[]});l&&g.run.push(l),u&&(g.preventDefault=!0),d&&(g.stopPropagation=!0)};for(let s of t){let i=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of i){let d=a[u]||(a[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=s;for(let f in d)d[f].run.push(h=>c(h,kh))}let l=s[e]||s.key;if(l)for(let u of i)n(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return a}var kh=null;function Ob(t,e,a,o){kh=e;let r=i0(e),n=Bt(r,0),s=aa(n)==r.length&&r!=" ",i="",l=!1,u=!1,d=!1;Eo&&Eo.view==a&&Eo.scope==o&&(i=Eo.prefix+" ",Sb.indexOf(e.keyCode)<0&&(u=!0,Eo=null));let c=new Set,f=g=>{if(g){for(let x of g.run)if(!c.has(x)&&(c.add(x),x(a)))return g.stopPropagation&&(d=!0),!0;g.preventDefault&&(g.stopPropagation&&(d=!0),u=!0)}return!1},h=t[o],p,m;return h&&(f(h[i+Nl(r,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Q.windows&&e.ctrlKey&&e.altKey)&&!(Q.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=co[e.keyCode])&&p!=r?(f(h[i+Nl(p,e,!0)])||e.shiftKey&&(m=Cn[e.keyCode])!=r&&m!=p&&f(h[i+Nl(m,e,!1)]))&&(l=!0):s&&e.shiftKey&&f(h[i+Nl(r,e,!0)])&&(l=!0),!l&&f(h._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),kh=null,l}var Cr=class t{constructor(e,a,o,r,n){this.className=e,this.left=a,this.top=o,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,a){return a.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,a,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let n=Nb(e);return[new t(a,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return cR(e,a,o)}};function Nb(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ie.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function O0(t,e,a,o){let r=t.coordsAtPos(e,a*2);if(!r)return o;let n=t.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,i=t.posAtCoords({x:n.left+1,y:s}),l=t.posAtCoords({x:n.right-1,y:s});return i==null||l==null?o:{from:Math.max(o.from,Math.min(i,l)),to:Math.min(o.to,Math.max(i,l))}}function cR(t,e,a){if(a.to<=t.viewport.from||a.from>=t.viewport.to)return[];let o=Math.max(a.from,t.viewport.from),r=Math.min(a.to,t.viewport.to),n=t.textDirection==Ie.LTR,s=t.contentDOM,i=s.getBoundingClientRect(),l=Nb(t),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),c=i.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),f=i.right-(d?parseInt(d.paddingRight):0),h=sh(t,o,1),p=sh(t,r,-1),m=h.type==pt.Text?h:null,g=p.type==pt.Text?p:null;if(m&&(t.lineWrapping||h.widgetLineBreaks)&&(m=O0(t,o,1,m)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=O0(t,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return y(w(a.from,a.to,m));{let I=m?w(a.from,null,m):C(h,!1),v=g?w(null,a.to,g):C(p,!0),L=[];return(m||h).to<(g||p).from-(m&&g?1:0)||h.widgetLineBreaks>1&&I.bottom+t.defaultLineHeight/2<v.top?L.push(x(c,I.bottom,f,v.top)):I.bottom<v.top&&t.elementAtHeight((I.bottom+v.top)/2).type==pt.Text&&(I.bottom=v.top=(I.bottom+v.top)/2),y(I).concat(L).concat(y(v))}function x(I,v,L,S){return new Cr(e,I-l.left,v-l.top,Math.max(0,L-I),S-v)}function y({top:I,bottom:v,horizontal:L}){let S=[];for(let A=0;A<L.length;A+=2)S.push(x(L[A],I,L[A+1],v));return S}function w(I,v,L){let S=1e9,A=-1e9,H=[];function M(k,T,D,E,q){let B=t.coordsAtPos(k,k==L.to?-2:2),P=t.coordsAtPos(D,D==L.from?2:-2);!B||!P||(S=Math.min(B.top,P.top,S),A=Math.max(B.bottom,P.bottom,A),q==Ie.LTR?H.push(n&&T?c:B.left,n&&E?f:P.right):H.push(!n&&E?c:P.left,!n&&T?f:B.right))}let R=I??L.from,z=v??L.to;for(let k of t.visibleRanges)if(k.to>R&&k.from<z)for(let T=Math.max(k.from,R),D=Math.min(k.to,z);;){let E=t.state.doc.lineAt(T);for(let q of t.bidiSpans(E)){let B=q.from+E.from,P=q.to+E.from;if(B>=D)break;P>T&&M(Math.max(B,T),I==null&&B<=R,Math.min(P,D),v==null&&P>=z,q.dir)}if(T=E.to+1,T>=D)break}return H.length==0&&M(R,I==null,z,v==null,t.textDirection),{top:S,bottom:A,horizontal:H}}function C(I,v){let L=i.top+(v?I.top:I.bottom);return{top:L,bottom:L,horizontal:[]}}}function fR(t,e){return t.constructor==e.constructor&&t.eq(e)}var Ah=class{constructor(e,a){this.view=e,this.layer=a,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),a.above&&this.dom.classList.add("cm-layer-above"),a.class&&this.dom.classList.add(a.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),a.mount&&a.mount(this.dom,e)}update(e){e.startState.facet(Ul)!=e.state.facet(Ul)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let a=0,o=e.facet(Ul);for(;a<o.length&&o[a]!=this.layer;)a++;this.dom.style.zIndex=String((this.layer.above?150:-1)-a)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:a}=this.view;(e!=this.scaleX||a!=this.scaleY)&&(this.scaleX=e,this.scaleY=a,this.dom.style.transform=`scale(${1/e}, ${1/a})`)}draw(e){if(e.length!=this.drawn.length||e.some((a,o)=>!fR(a,this.drawn[o]))){let a=this.dom.firstChild,o=0;for(let r of e)r.update&&a&&r.constructor&&this.drawn[o].constructor&&r.update(a,this.drawn[o])?(a=a.nextSibling,o++):this.dom.insertBefore(r.draw(),a);for(;a;){let r=a.nextSibling;a.remove(),a=r}this.drawn=e,Q.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Ul=Y.define();function _b(t){return[Ze.define(e=>new Ah(e,t)),Ul.of(t)]}var Fn=Y.define({combine(t){return Ft(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,a)=>Math.min(e,a),drawRangeCursor:(e,a)=>e||a})}});function Hb(t={}){return[Fn.of(t),hR,pR,mR,db.of(!0)]}function zb(t){return t.startState.facet(Fn)!=t.state.facet(Fn)}var hR=_b({above:!0,markers(t){let{state:e}=t,a=e.facet(Fn),o=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||a.drawRangeCursor&&!(n&&Q.ios&&a.iosSelectionHandles)){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:X.cursor(r.head,r.assoc);for(let l of Cr.forRange(t,s,i))o.push(l)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let a=zb(t);return a&&N0(t.state,e),t.docChanged||t.selectionSet||a},mount(t,e){N0(e.state,t)},class:"cm-cursorLayer"});function N0(t,e){e.style.animationDuration=t.facet(Fn).cursorBlinkRate+"ms"}var pR=_b({above:!1,markers(t){let e=[],{main:a,ranges:o}=t.state.selection;for(let r of o)if(!r.empty)for(let n of Cr.forRange(t,"cm-selectionBackground",r))e.push(n);if(Q.ios&&!a.empty&&t.state.facet(Fn).iosSelectionHandles){for(let r of Cr.forRange(t,"cm-selectionHandle cm-selectionHandle-start",X.cursor(a.from,1)))e.push(r);for(let r of Cr.forRange(t,"cm-selectionHandle cm-selectionHandle-end",X.cursor(a.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||zb(t)},class:"cm-selectionLayer"}),mR=Xt.highest(Z.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));var F4=/x/.unicode!=null?"gu":"g";function qb(){return xR}var gR=pe.line({class:"cm-activeLine"}),xR=Ze.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,a=[];for(let o of t.state.selection.ranges){let r=t.lineBlockAt(o.head);r.from>e&&(a.push(gR.range(r.from)),e=r.from)}return pe.set(a)}},{decorations:t=>t.decorations});var _l="-10000px",au=class{constructor(e,a,o,r){this.facet=a,this.createTooltipView=o,this.removeTooltipView=r,this.input=e.state.facet(a),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=o(s,n))}update(e,a){var o;let r=e.state.facet(this.facet),n=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],i=a?[]:null;for(let l=0;l<n.length;l++){let u=n[l],d=-1;if(u){for(let c=0;c<this.tooltips.length;c++){let f=this.tooltips[c];f&&f.create==u.create&&(d=c)}if(d<0)s[l]=this.createTooltipView(u,l?s[l-1]:null),i&&(i[l]=!!u.above);else{let c=s[l]=this.tooltipViews[d];i&&(i[l]=a[d]),c.update&&c.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(o=l.destroy)===null||o===void 0||o.call(l));return a&&(i.forEach((l,u)=>a[u]=l),a.length=i.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function bR(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var _f=Y.define({combine:t=>{var e,a,o;return{position:Q.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((a=t.find(r=>r.parent))===null||a===void 0?void 0:a.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||bR}}}),_0=new WeakMap,qh=Ze.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(_f);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new au(t,On,(a,o)=>this.createTooltip(a,o),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let a=e||t.geometryChanged,o=t.state.facet(_f);if(o.position!=this.position&&!this.madeAbsolute){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;a=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);a=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);a&&this.maybeMeasure()}createTooltip(t,e){let a=t.create(this.view),o=e?e.dom:null;if(a.dom.classList.add("cm-tooltip"),t.arrow&&!a.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",a.dom.appendChild(r)}return a.dom.style.position=this.position,a.dom.style.top=_l,a.dom.style.left="0px",this.container.insertBefore(a.dom,o),a.mount&&a.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(a.dom),a}destroy(){var t,e,a;this.view.win.removeEventListener("resize",this.measureSoon);for(let o of this.manager.tooltipViews)o.dom.remove(),(t=o.destroy)===null||t===void 0||t.call(o);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(a=this.intersectionObserver)===null||a===void 0||a.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,a=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Q.safari){let s=n.getBoundingClientRect();a=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else a=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(a||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(t=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let o=this.view.scrollDOM.getBoundingClientRect(),r=Hh(this.view);return{visible:{left:o.left+r.left,top:o.top+r.top,right:o.right-r.right,bottom:o.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let i=this.manager.tooltipViews[s];return i.getCoords?i.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(_f).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:a}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let i of this.manager.tooltipViews)i.dom.style.position="absolute"}let{visible:a,space:o,scaleX:r,scaleY:n}=t,s=[];for(let i=0;i<this.manager.tooltips.length;i++){let l=this.manager.tooltips[i],u=this.manager.tooltipViews[i],{dom:d}=u,c=t.pos[i],f=t.size[i];if(!c||l.clip!==!1&&(c.bottom<=Math.max(a.top,o.top)||c.top>=Math.min(a.bottom,o.bottom)||c.right<Math.max(a.left,o.left)-.1||c.left>Math.min(a.right,o.right)+.1)){d.style.top=_l;continue}let h=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=h?7:0,m=f.right-f.left,g=(e=_0.get(u))!==null&&e!==void 0?e:f.bottom-f.top,x=u.offset||yR,y=this.view.textDirection==Ie.LTR,w=f.width>o.right-o.left?y?o.left:o.right-f.width:y?Math.max(o.left,Math.min(c.left-(h?14:0)+x.x,o.right-m)):Math.min(Math.max(o.left,c.left-m+(h?14:0)-x.x),o.right-m),C=this.above[i];!l.strictSide&&(C?c.top-g-p-x.y<o.top:c.bottom+g+p+x.y>o.bottom)&&C==o.bottom-c.bottom>c.top-o.top&&(C=this.above[i]=!C);let I=(C?c.top-o.top:o.bottom-c.bottom)-p;if(I<g&&u.resize!==!1){if(I<this.view.defaultLineHeight){d.style.top=_l;continue}_0.set(u,g),d.style.height=(g=I)/n+"px"}else d.style.height&&(d.style.height="");let v=C?c.top-g-p-x.y:c.bottom+p+x.y,L=w+m;if(u.overlap!==!0)for(let S of s)S.left<L&&S.right>w&&S.top<v+g&&S.bottom>v&&(v=C?S.top-g-2-p:S.bottom+p+2);if(this.position=="absolute"?(d.style.top=(v-t.parent.top)/n+"px",H0(d,(w-t.parent.left)/r)):(d.style.top=v/n+"px",H0(d,w/r)),h){let S=c.left+(y?x.x:-x.x)-(w+14-7);h.style.left=S/r+"px"}u.overlap!==!0&&s.push({left:w,top:v,right:L,bottom:v+g}),d.classList.toggle("cm-tooltip-above",C),d.classList.toggle("cm-tooltip-below",!C),u.positioned&&u.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=_l}},{eventObservers:{scroll(){this.maybeMeasure()}}});function H0(t,e){let a=parseInt(t.style.left,10);(isNaN(a)||Math.abs(e-a)>1)&&(t.style.left=e+"px")}var wR=Z.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),yR={x:0,y:0},On=Y.define({enables:[qh,wR]}),ou=Y.define({combine:t=>t.reduce((e,a)=>e.concat(a),[])}),ru=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new au(e,ou,(a,o)=>this.createHostedView(a,o),a=>a.dom.remove())}createHostedView(e,a){let o=e.create(this.view);return o.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(o.dom,a?a.dom.nextSibling:this.dom.firstChild),this.mounted&&o.mount&&o.mount(this.view),o}mount(e){for(let a of this.manager.tooltipViews)a.mount&&a.mount(e);this.mounted=!0}positioned(e){for(let a of this.manager.tooltipViews)a.positioned&&a.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let a of this.manager.tooltipViews)(e=a.destroy)===null||e===void 0||e.call(a)}passProp(e){let a;for(let o of this.manager.tooltipViews){let r=o[e];if(r!==void 0){if(a===void 0)a=r;else if(a!==r)return}}return a}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},LR=On.compute([ou],t=>{let e=t.facet(ou);return e.length===0?null:{pos:Math.min(...e.map(a=>a.pos)),end:Math.max(...e.map(a=>{var o;return(o=a.end)!==null&&o!==void 0?o:a.pos})),create:ru.create,above:e[0].above,arrow:e.some(a=>a.arrow)}}),CR=Y.define(),Mh=class{constructor(e,a,o,r,n,s){this.view=e,this.source=a,this.field=o,this.locked=r,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:a}=this,o=e.docView.tile.nearest(a.target);if(!o)return;let r,n=1;if(o.isWidget())r=o.posAtStart;else{if(r=e.posAtCoords(a),r==null)return;let s=e.coordsAtPos(r);if(!s||a.y<s.top||a.y>s.bottom||a.x<s.left-e.defaultCharacterWidth||a.x>s.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=i&&i.dir==Ie.RTL?-1:1;n=a.x<s.left?-l:l}this.activateHover(e,r,n)}activateHover(e,a,o,r){let n=this.source(e,a,o),s=i=>{if(i&&!(Array.isArray(i)&&!i.length)){let l=Array.isArray(i)?i:[i];r&&this.locked.set(l,r),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let i=this.pending={pos:a};n.then(l=>{this.pending==i&&(this.pending=null,s(l))},l=>ht(e.state,l,"hover tooltip"))}else s(n)}get tooltip(){let e=this.view.plugin(qh),a=e?e.manager.tooltips.findIndex(o=>o.create==ru.create):-1;return a>-1?e.manager.tooltipViews[a]:null}mousemove(e){var a,o;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&!this.locked.has(r)&&n&&!vR(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,i=(o=(a=r[0])===null||a===void 0?void 0:a.end)!==null&&o!==void 0?o:s;(s==i?this.view.posAtCoords(this.lastMove)!=s:!SR(this.view,s,i,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:a}=this;if(a.length&&!this.locked.has(a)){let{tooltip:o}=this;o&&o.dom.contains(e.relatedTarget)?this.watchTooltipLeave(o.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let a=o=>{e.removeEventListener("mouseleave",a);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(o.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",a)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Hl=4;function vR(t,e){let{left:a,right:o,top:r,bottom:n}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let i=s.getBoundingClientRect();r=Math.min(i.top,r),n=Math.max(i.bottom,n)}return e.clientX>=a-Hl&&e.clientX<=o+Hl&&e.clientY>=r-Hl&&e.clientY<=n+Hl}function SR(t,e,a,o,r,n){let s=t.scrollDOM.getBoundingClientRect(),i=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>o||s.right<o||s.top>r||Math.min(s.bottom,i)<r)return!1;let l=t.posAtCoords({x:o,y:r},!1);return l>=e&&l<=a}function du(t,e={}){let a=de.define(),o=new WeakMap,r=Ve.define({create(){return[]},update(s,i){let l=o.get(s);if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:l&&l(i)?s=[]:e.hideOn&&(s=s.filter(u=>!e.hideOn(i,u)))),i.docChanged&&s.length){let u=[];for(let d of s){let c=i.changes.mapPos(d.pos,-1,ft.TrackDel);if(c!=null){let f=Object.assign(Object.create(null),d);f.pos=c,f.end!=null&&(f.end=i.changes.mapPos(f.end)),u.push(f)}}s=u}for(let u of i.effects)u.is(a)&&(s=u.value,l=void 0),(u.is(IR)&&!u.value||u.value==r)&&(s=[]);return s.length&&l&&o.set(s,l),s},provide:s=>ou.from(s)}),n=Ze.define(s=>new Mh(s,t,r,o,a,e.hoverTime||300));return{active:r,extension:[r,n,CR.of(n),LR]}}function Uh(t,e){let a=t.plugin(qh);if(!a)return null;let o=a.manager.tooltips.indexOf(e);return o<0?null:a.manager.tooltipViews[o]}var IR=de.define();var z0=Y.define({combine(t){let e,a;for(let o of t)e=e||o.topContainer,a=a||o.bottomContainer;return{topContainer:e,bottomContainer:a}}});function cu(t,e){let a=t.plugin(Ub),o=a?a.specs.indexOf(e):-1;return o>-1?a.panels[o]:null}var Ub=Ze.fromClass(class{constructor(t){this.input=t.state.facet(kr),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(a=>a(t));let e=t.state.facet(z0);this.top=new kn(t,!0,e.topContainer),this.bottom=new kn(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top));for(let a of this.panels)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}update(t){let e=t.state.facet(z0);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new kn(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new kn(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let a=t.state.facet(kr);if(a!=this.input){let o=a.filter(l=>l),r=[],n=[],s=[],i=[];for(let l of o){let u=this.specs.indexOf(l),d;u<0?(d=l(t.view),i.push(d)):(d=this.panels[u],d.update&&d.update(t)),r.push(d),(d.top?n:s).push(d)}this.specs=o,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let l of i)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let o of this.panels)o.update&&o.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Z.scrollMargins.of(e=>{let a=e.plugin(t);return a&&{top:a.top.scrollMargin(),bottom:a.bottom.scrollMargin()}})}),kn=class{constructor(e,a,o){this.view=e,this.top=a,this.container=o,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let a of this.panels)a.destroy&&e.indexOf(a)<0&&a.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let e=this.dom.firstChild;for(let a of this.panels)if(a.dom.parentNode==this.dom){for(;e!=a.dom;)e=q0(e);e=e.nextSibling}else this.dom.insertBefore(a.dom,e);for(;e;)e=q0(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function q0(t){let e=t.nextSibling;return t.remove(),e}var kr=Y.define({enables:Ub});function Wb(t,e){let a,o=new Promise(s=>a=s),r=s=>kR(s,e,a);t.state.field(Hf,!1)?t.dispatch({effects:Vb.of(r)}):t.dispatch({effects:de.appendConfig.of(Hf.init(()=>[r]))});let n=Gb.of(r);return{close:n,result:o.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(Hf).indexOf(r)>-1&&t.dispatch({effects:n})}),s))}}var Hf=Ve.define({create(){return[]},update(t,e){for(let a of e.effects)a.is(Vb)?t=[a.value].concat(t):a.is(Gb)&&(t=t.filter(o=>o!=a.value));return t},provide:t=>kr.computeN([t],e=>e.field(t))}),Vb=de.define(),Gb=de.define();function kR(t,e,a){let o=e.content?e.content(t,()=>s(null)):null;if(!o){if(o=Ce("form"),e.input){let i=Ce("input",e.input);/^(text|password|number|email|tel|url)$/.test(i.type)&&i.classList.add("cm-textfield"),i.name||(i.name="input"),o.appendChild(Ce("label",(e.label||"")+": ",i))}else o.appendChild(document.createTextNode(e.label||""));o.appendChild(document.createTextNode(" ")),o.appendChild(Ce("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=o.nodeName=="FORM"?[o]:o.querySelectorAll("form");for(let i=0;i<r.length;i++){let l=r[i];l.addEventListener("keydown",u=>{u.keyCode==27?(u.preventDefault(),s(null)):u.keyCode==13&&(u.preventDefault(),s(l))}),l.addEventListener("submit",u=>{u.preventDefault(),s(l)})}let n=Ce("div",o,Ce("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function s(i){n.contains(n.ownerDocument.activeElement)&&t.focus(),a(i)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let i;typeof e.focus=="string"?i=o.querySelector(e.focus):i=o.querySelector("input")||o.querySelector("button"),i&&"select"in i?i.select():i&&"focus"in i&&i.focus()}}}}var ia=class extends ta{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ia.prototype.elementClass="";ia.prototype.toDOM=void 0;ia.prototype.mapMode=ft.TrackBefore;ia.prototype.startSide=ia.prototype.endSide=-1;ia.prototype.point=!0;var zf=Y.define(),AR=Y.define(),MR={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ye.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ns=Y.define();function Wh(t){return[$b(),Ns.of({...MR,...t})]}var Ph=Y.define({combine:t=>t.some(e=>e)});function $b(t){let e=[PR];return t&&t.fixed===!1&&e.push(Ph.of(!0)),e}var PR=Ze.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Ns).map(e=>new nu(t,e)),this.fixed=!t.state.facet(Ph);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,a=t.view.viewport,o=Math.min(e.to,a.to)-Math.max(e.from,a.from);this.syncGutters(o<(a.to-a.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ph)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let a=ye.iter(this.view.state.facet(zf),this.view.viewport.from),o=[],r=this.gutters.map(n=>new Rh(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(n.type)){let s=!0;for(let i of n.type)if(i.type==pt.Text&&s){Dh(a,o,i.from);for(let l of r)l.line(this.view,i,o);s=!1}else if(i.widget)for(let l of r)l.widget(this.view,i)}else if(n.type==pt.Text){Dh(a,o,n.from);for(let s of r)s.line(this.view,n,o)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Ns),a=t.state.facet(Ns),o=t.docChanged||t.heightChanged||t.viewportChanged||!ye.eq(t.startState.facet(zf),t.state.facet(zf),t.view.viewport.from,t.view.viewport.to);if(e==a)for(let r of this.gutters)r.update(t)&&(o=!0);else{o=!0;let r=[];for(let n of a){let s=e.indexOf(n);s<0?r.push(new nu(this.view,n)):(this.gutters[s].update(t),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>Z.scrollMargins.of(e=>{let a=e.plugin(t);if(!a||a.gutters.length==0||!a.fixed)return null;let o=a.dom.offsetWidth*e.scaleX,r=a.domAfter?a.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Ie.LTR?{left:o,right:r}:{right:o,left:r}})});function U0(t){return Array.isArray(t)?t:[t]}function Dh(t,e,a){for(;t.value&&t.from<=a;)t.from==a&&e.push(t.value),t.next()}var Rh=class{constructor(e,a,o){this.gutter=e,this.height=o,this.i=0,this.cursor=ye.iter(e.markers,a.from)}addElement(e,a,o){let{gutter:r}=this,n=(a.top-this.height)/e.scaleY,s=a.height/e.scaleY;if(this.i==r.elements.length){let i=new su(e,s,n,o);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(e,s,n,o);this.height=a.bottom,this.i++}line(e,a,o){let r=[];Dh(this.cursor,r,a.from),o.length&&(r=r.concat(o));let n=this.gutter.config.lineMarker(e,a,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,a,r)}widget(e,a){let o=this.gutter.config.widgetMarker(e,a.widget,a),r=o?[o]:null;for(let n of e.state.facet(AR)){let s=n(e,a.widget,a);s&&(r||(r=[])).push(s)}r&&this.addElement(e,a,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let a=e.elements.pop();e.dom.removeChild(a.dom),a.destroy()}}},nu=class{constructor(e,a){this.view=e,this.config=a,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let o in a.domEventHandlers)this.dom.addEventListener(o,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=r.clientY;let i=e.lineBlockAtHeight(s-e.documentTop);a.domEventHandlers[o](e,i,r)&&r.preventDefault()});this.markers=U0(a.markers(e)),a.initialSpacer&&(this.spacer=new su(e,0,0,[a.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let a=this.markers;if(this.markers=U0(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let o=e.view.viewport;return!ye.eq(this.markers,a,o.from,o.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},su=class{constructor(e,a,o,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,a,o,r)}update(e,a,o,r){this.height!=a&&(this.height=a,this.dom.style.height=a+"px"),this.above!=o&&(this.dom.style.marginTop=(this.above=o)?o+"px":""),DR(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,a){let o="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let i=s,l=n<a.length?a[n++]:null,u=!1;if(l){let d=l.elementClass;d&&(o+=" "+d);for(let c=s;c<this.markers.length;c++)if(this.markers[c].compare(l)){i=c,u=!0;break}}else i=this.markers.length;for(;s<i;){let d=this.markers[s++];if(d.toDOM){d.destroy(r);let c=r.nextSibling;r.remove(),r=c}}if(!l)break;l.toDOM&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),u&&s++}this.dom.className=o,this.markers=a}destroy(){this.setMarkers(null,[])}};function DR(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].compare(e[a]))return!1;return!0}var RR=Y.define(),TR=Y.define(),An=Y.define({combine(t){return Ft(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,a){let o=Object.assign({},e);for(let r in a){let n=o[r],s=a[r];o[r]=n?(i,l,u)=>n(i,l,u)||s(i,l,u):s}return o}})}}),_s=class extends ia{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function qf(t,e){return t.state.facet(An).formatNumber(e,t.state)}var ER=Ns.compute([An],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(RR)},lineMarker(e,a,o){return o.some(r=>r.toDOM)?null:new _s(qf(e,e.state.doc.lineAt(a.from).number))},widgetMarker:(e,a,o)=>{for(let r of e.state.facet(TR)){let n=r(e,a,o);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(An)!=e.state.facet(An),initialSpacer(e){return new _s(qf(e,W0(e.state.doc.lines)))},updateSpacer(e,a){let o=qf(a.view,W0(a.view.state.doc.lines));return o==e.number?e:new _s(o)},domEventHandlers:t.facet(An).domEventHandlers,side:"before"}));function Xb(t={}){return[An.of(t),$b(),ER]}function W0(t){let e=9;for(;e<t;)e=e*10+9;return e}var BR=0,Vs=class{constructor(e,a){this.from=e,this.to=a}},he=class{constructor(e={}){this.id=BR++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=At.match(e)),a=>{let o=e(a);return o===void 0?null:[this,o]}}};he.closedBy=new he({deserialize:t=>t.split(" ")});he.openedBy=new he({deserialize:t=>t.split(" ")});he.group=new he({deserialize:t=>t.split(" ")});he.isolate=new he({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});he.contextHash=new he({perNode:!0});he.lookAhead=new he({perNode:!0});he.mounted=new he({perNode:!0});var Mr=class{constructor(e,a,o,r=!1){this.tree=e,this.overlay=a,this.parser=o,this.bracketed=r}static get(e){return e&&e.props&&e.props[he.mounted.id]}},FR=Object.create(null),At=class t{constructor(e,a,o,r=0){this.name=e,this.props=a,this.id=o,this.flags=r}static define(e){let a=e.props&&e.props.length?Object.create(null):FR,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new t(e.name||"",a,e.id,o);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");a[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let a=this.prop(he.group);return a?a.indexOf(e)>-1:!1}return this.id==e}static match(e){let a=Object.create(null);for(let o in e)for(let r of o.split(" "))a[r]=e[o];return o=>{for(let r=o.prop(he.group),n=-1;n<(r?r.length:0);n++){let s=a[n<0?o.name:r[n]];if(s)return s}}}};At.none=new At("",Object.create(null),0,8);var pu=class t{constructor(e){this.types=e;for(let a=0;a<e.length;a++)if(e[a].id!=a)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let a=[];for(let o of this.types){let r=null;for(let n of e){let s=n(o);if(s){r||(r=Object.assign({},o.props));let i=s[1],l=s[0];l.combine&&l.id in r&&(i=l.combine(r[l.id],i)),r[l.id]=i}}a.push(r?new At(o.name,r,o.id,o.flags):o)}return new t(a)}},fu=new WeakMap,Kb=new WeakMap,Ge;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Ge||(Ge={}));var ze=class t{constructor(e,a,o,r,n){if(this.type=e,this.children=a,this.positions=o,this.length=r,this.props=null,n&&n.length){this.props=Object.create(null);for(let[s,i]of n)this.props[typeof s=="number"?s:s.id]=i}}toString(){let e=Mr.get(this);if(e&&!e.overlay)return e.tree.toString();let a="";for(let o of this.children){let r=o.toString();r&&(a&&(a+=","),a+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(a.length?"("+a+")":""):a}cursor(e=0){return new Xs(this.topNode,e)}cursorAt(e,a=0,o=0){let r=fu.get(this)||this.topNode,n=new Xs(r);return n.moveTo(e,a),fu.set(this,n._tree),n}get topNode(){return new Ua(this,0,0,null)}resolve(e,a=0){let o=Gs(fu.get(this)||this.topNode,e,a,!1);return fu.set(this,o),o}resolveInner(e,a=0){let o=Gs(Kb.get(this)||this.topNode,e,a,!0);return Kb.set(this,o),o}resolveStack(e,a=0){return OR(this,e,a)}iterate(e){let{enter:a,leave:o,from:r=0,to:n=this.length}=e,s=e.mode||0,i=(s&Ge.IncludeAnonymous)>0;for(let l=this.cursor(s|Ge.IncludeAnonymous);;){let u=!1;if(l.from<=n&&l.to>=r&&(!i&&l.type.isAnonymous||a(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(i||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let a in this.props)e.push([+a,this.props[a]]);return e}balance(e={}){return this.children.length<=8?this:Zh(At.none,this.children,this.positions,0,this.children.length,0,this.length,(a,o,r)=>new t(this.type,a,o,r,this.propValues),e.makeTree||((a,o,r)=>new t(At.none,a,o,r)))}static build(e){return NR(e)}};ze.empty=new ze(At.none,[],[],0);var Vh=class t{constructor(e,a){this.buffer=e,this.index=a}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},No=class t{constructor(e,a,o){this.buffer=e,this.length=a,this.set=o}get type(){return At.none}toString(){let e=[];for(let a=0;a<this.buffer.length;)e.push(this.childString(a)),a=this.buffer[a+3];return e.join(",")}childString(e){let a=this.buffer[e],o=this.buffer[e+3],r=this.set.types[a],n=r.name;if(/\W/.test(n)&&!r.isError&&(n=JSON.stringify(n)),e+=4,o==e)return n;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,a,o,r,n){let{buffer:s}=this,i=-1;for(let l=e;l!=a&&!(Yb(n,r,s[l+1],s[l+2])&&(i=l,o>0));l=s[l+3]);return i}slice(e,a,o){let r=this.buffer,n=new Uint16Array(a-e),s=0;for(let i=e,l=0;i<a;){n[l++]=r[i++],n[l++]=r[i++]-o;let u=n[l++]=r[i++]-o;n[l++]=r[i++]-e,s=Math.max(s,u)}return new t(n,s,this.set)}};function Yb(t,e,a,o){switch(t){case-2:return a<e;case-1:return o>=e&&a<e;case 0:return a<e&&o>e;case 1:return a<=e&&o>e;case 2:return o>e;case 4:return!0}}function Gs(t,e,a,o){for(var r;t.from==t.to||(a<1?t.from>=e:t.from>e)||(a>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Ua&&t.index<0?null:t.parent;if(!s)return t;t=s}let n=o?0:Ge.IgnoreOverlays;if(o)for(let s=t,i=s.parent;i;s=i,i=s.parent)s instanceof Ua&&s.index<0&&((r=i.enter(e,a,n))===null||r===void 0?void 0:r.from)!=s.from&&(t=i);for(;;){let s=t.enter(e,a,n);if(!s)return t;t=s}}var mu=class{cursor(e=0){return new Xs(this,e)}getChild(e,a=null,o=null){let r=jb(this,e,a,o);return r.length?r[0]:null}getChildren(e,a=null,o=null){return jb(this,e,a,o)}resolve(e,a=0){return Gs(this,e,a,!1)}resolveInner(e,a=0){return Gs(this,e,a,!0)}matchContext(e){return Gh(this.parent,e)}enterUnfinishedNodesBefore(e){let a=this.childBefore(e),o=this;for(;a;){let r=a.lastChild;if(!r||r.to!=a.to)break;r.type.isError&&r.from==r.to?(o=a,a=r.prevSibling):a=r}return o}get node(){return this}get next(){return this.parent}},Ua=class t extends mu{constructor(e,a,o,r){super(),this._tree=e,this.from=a,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,a,o,r,n=0){for(let s=this;;){for(let{children:i,positions:l}=s._tree,u=a>0?i.length:-1;e!=u;e+=a){let d=i[e],c=l[e]+s.from,f;if(!(!(n&Ge.EnterBracketed&&d instanceof ze&&(f=Mr.get(d))&&!f.overlay&&f.bracketed&&o>=c&&o<=c+d.length)&&!Yb(r,o,c,c+d.length))){if(d instanceof No){if(n&Ge.ExcludeBuffers)continue;let h=d.findChild(0,d.buffer.length,a,o-c,r);if(h>-1)return new $s(new $h(s,d,e,c),null,h)}else if(n&Ge.IncludeAnonymous||!d.type.isAnonymous||jh(d)){let h;if(!(n&Ge.IgnoreMounts)&&(h=Mr.get(d))&&!h.overlay)return new t(h.tree,c,e,s);let p=new t(d,c,e,s);return n&Ge.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(a<0?d.children.length-1:0,a,o,r,n)}}}if(n&Ge.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+a:e=a<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,a,o=0){let r;if(!(o&Ge.IgnoreOverlays)&&(r=Mr.get(this._tree))&&r.overlay){let n=e-this.from,s=o&Ge.EnterBracketed&&r.bracketed;for(let{from:i,to:l}of r.overlay)if((a>0||s?i<=n:i<n)&&(a<0||s?l>=n:l>n))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,a,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function jb(t,e,a,o){let r=t.cursor(),n=[];if(!r.firstChild())return n;if(a!=null){for(let s=!1;!s;)if(s=r.type.is(a),!r.nextSibling())return n}for(;;){if(o!=null&&r.type.is(o))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return o==null?n:[]}}function Gh(t,e,a=e.length-1){for(let o=t;a>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[a]&&e[a]!=o.name)return!1;a--}}return!0}var $h=class{constructor(e,a,o,r){this.parent=e,this.buffer=a,this.index=o,this.start=r}},$s=class t extends mu{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,a,o){super(),this.context=e,this._parent=a,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,a,o){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.context.start,o);return n<0?null:new t(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,a,o=0){if(o&Ge.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],a>0?1:-1,e-this.context.start,a);return n<0?null:new t(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,a=e.buffer[this.index+3];return a<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,a):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,a=this._parent?this._parent.index+4:0;return this.index==a?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(a,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],a=[],{buffer:o}=this.context,r=this.index+4,n=o.buffer[this.index+3];if(n>r){let s=o.buffer[this.index+1];e.push(o.slice(r,n,s)),a.push(0)}return new ze(this.type,e,a,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Jb(t){if(!t.length)return null;let e=0,a=t[0];for(let n=1;n<t.length;n++){let s=t[n];(s.from>a.from||s.to<a.to)&&(a=s,e=n)}let o=a instanceof Ua&&a.index<0?null:a.parent,r=t.slice();return o?r[e]=o:r.splice(e,1),new Xh(r,a)}var Xh=class{constructor(e,a){this.heads=e,this.node=a}get next(){return Jb(this.heads)}};function OR(t,e,a){let o=t.resolveInner(e,a),r=null;for(let n=o instanceof Ua?o:o.context.parent;n;n=n.parent)if(n.index<0){let s=n.parent;(r||(r=[o])).push(s.resolve(e,a)),n=s}else{let s=Mr.get(n.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let i=new Ua(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[o])).push(Gs(i,e,a,!1))}}return r?Jb(r):o}var Xs=class{get name(){return this.type.name}constructor(e,a=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=a&~Ge.EnterBracketed,e instanceof Ua)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,a){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=a||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Ua?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,a,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,a,o,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.buffer.start,o);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,a,o=this.mode){return this.buffer?o&Ge.ExcludeBuffers?!1:this.enterChild(1,e,a):this.yield(this._tree.enter(e,a,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ge.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ge.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:a}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(a.findChild(r,this.index,-1,0,4))}else{let r=a.buffer[this.index+3];if(r<(o<0?a.buffer.length:a.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let a,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(r.buffer.buffer[n+3]<this.index)return!1;({index:a,parent:o}=r)}else({index:a,_parent:o}=this._tree);for(;o;{index:a,_parent:o}=o)if(a>-1)for(let n=a+e,s=e<0?-1:o._tree.children.length;n!=s;n+=e){let i=o._tree.children[n];if(this.mode&Ge.IncludeAnonymous||i instanceof No||!i.type.isAnonymous||jh(i))return!1}return!0}move(e,a){if(a&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,a=0){for(;(this.from==this.to||(a<1?this.from>=e:this.from>e)||(a>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,a););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,a=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;a=s,o=n+1;break e}r=this.stack[--n]}for(let r=o;r<this.stack.length;r++)a=new $s(this.buffer,a,this.stack[r]);return this.bufferNode=new $s(this.buffer,a,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,a){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&a&&a(this),r=this.type.isAnonymous,!o)return;if(this.nextSibling())break;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return Gh(this.node.parent,e);let{buffer:a}=this.buffer,{types:o}=a.set;for(let r=e.length-1,n=this.stack.length-1;r>=0;n--){if(n<0)return Gh(this._tree,e,r);let s=o[a.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function jh(t){return t.children.some(e=>e instanceof No||!e.type.isAnonymous||jh(e))}function NR(t){var e;let{buffer:a,nodeSet:o,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=o.types.length}=t,i=Array.isArray(a)?new Vh(a,a.length):a,l=o.types,u=0,d=0;function c(I,v,L,S,A,H){let{id:M,start:R,end:z,size:k}=i,T=d,D=u;if(k<0)if(i.next(),k==-1){let N=n[M];L.push(N),S.push(R-I);return}else if(k==-3){u=M;return}else if(k==-4){d=M;return}else throw new RangeError(`Unrecognized record size: ${k}`);let E=l[M],q,B,P=R-I;if(z-R<=r&&(B=g(i.pos-v,A))){let N=new Uint16Array(B.size-B.skip),U=i.pos-B.size,$=N.length;for(;i.pos>U;)$=x(B.start,N,$);q=new No(N,z-B.start,o),P=B.start-I}else{let N=i.pos-k;i.next();let U=[],$=[],_=M>=s?M:-1,W=0,G=z;for(;i.pos>N;)_>=0&&i.id==_&&i.size>=0?(i.end<=G-r&&(p(U,$,R,W,i.end,G,_,T,D),W=U.length,G=i.end),i.next()):H>2500?f(R,N,U,$):c(R,N,U,$,_,H+1);if(_>=0&&W>0&&W<U.length&&p(U,$,R,W,R,G,_,T,D),U.reverse(),$.reverse(),_>-1&&W>0){let O=h(E,D);q=Zh(E,U,$,0,U.length,0,z-R,O,O)}else q=m(E,U,$,z-R,T-z,D)}L.push(q),S.push(P)}function f(I,v,L,S){let A=[],H=0,M=-1;for(;i.pos>v;){let{id:R,start:z,end:k,size:T}=i;if(T>4)i.next();else{if(M>-1&&z<M)break;M<0&&(M=k-r),A.push(R,z,k),H++,i.next()}}if(H){let R=new Uint16Array(H*4),z=A[A.length-2];for(let k=A.length-3,T=0;k>=0;k-=3)R[T++]=A[k],R[T++]=A[k+1]-z,R[T++]=A[k+2]-z,R[T++]=T;L.push(new No(R,A[2]-z,o)),S.push(z-I)}}function h(I,v){return(L,S,A)=>{let H=0,M=L.length-1,R,z;if(M>=0&&(R=L[M])instanceof ze){if(!M&&R.type==I&&R.length==A)return R;(z=R.prop(he.lookAhead))&&(H=S[M]+R.length+z)}return m(I,L,S,A,H,v)}}function p(I,v,L,S,A,H,M,R,z){let k=[],T=[];for(;I.length>S;)k.push(I.pop()),T.push(v.pop()+L-A);I.push(m(o.types[M],k,T,H-A,R-H,z)),v.push(A-L)}function m(I,v,L,S,A,H,M){if(H){let R=[he.contextHash,H];M=M?[R].concat(M):[R]}if(A>25){let R=[he.lookAhead,A];M=M?[R].concat(M):[R]}return new ze(I,v,L,S,M)}function g(I,v){let L=i.fork(),S=0,A=0,H=0,M=L.end-r,R={size:0,start:0,skip:0};e:for(let z=L.pos-I;L.pos>z;){let k=L.size;if(L.id==v&&k>=0){R.size=S,R.start=A,R.skip=H,H+=4,S+=4,L.next();continue}let T=L.pos-k;if(k<0||T<z||L.start<M)break;let D=L.id>=s?4:0,E=L.start;for(L.next();L.pos>T;){if(L.size<0)if(L.size==-3||L.size==-4)D+=4;else break e;else L.id>=s&&(D+=4);L.next()}A=E,S+=k,H+=D}return(v<0||S==I)&&(R.size=S,R.start=A,R.skip=H),R.size>4?R:void 0}function x(I,v,L){let{id:S,start:A,end:H,size:M}=i;if(i.next(),M>=0&&S<s){let R=L;if(M>4){let z=i.pos-(M-4);for(;i.pos>z;)L=x(I,v,L)}v[--L]=R,v[--L]=H-I,v[--L]=A-I,v[--L]=S}else M==-3?u=S:M==-4&&(d=S);return L}let y=[],w=[];for(;i.pos>0;)c(t.start||0,t.bufferStart||0,y,w,-1,0);let C=(e=t.length)!==null&&e!==void 0?e:y.length?w[0]+y[0].length:0;return new ze(l[t.topID],y.reverse(),w.reverse(),C)}var Zb=new WeakMap;function hu(t,e){if(!t.isAnonymous||e instanceof No||e.type!=t)return 1;let a=Zb.get(e);if(a==null){a=1;for(let o of e.children){if(o.type!=t||!(o instanceof ze)){a=1;break}a+=hu(t,o)}Zb.set(e,a)}return a}function Zh(t,e,a,o,r,n,s,i,l){let u=0;for(let p=o;p<r;p++)u+=hu(t,e[p]);let d=Math.ceil(u*1.5/8),c=[],f=[];function h(p,m,g,x,y){for(let w=g;w<x;){let C=w,I=m[w],v=hu(t,p[w]);for(w++;w<x;w++){let L=hu(t,p[w]);if(v+L>=d)break;v+=L}if(w==C+1){if(v>d){let L=p[C];h(L.children,L.positions,0,L.children.length,m[C]+y);continue}c.push(p[C])}else{let L=m[w-1]+p[w-1].length-I;c.push(Zh(t,p,m,C,w,I,L,null,l))}f.push(I+y-n)}}return h(e,a,o,r,0),(i||l)(c,f,s)}var Pr=class t{constructor(e,a,o,r,n=!1,s=!1){this.from=e,this.to=a,this.tree=o,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,a=[],o=!1){let r=[new t(0,e.length,e,0,!1,o)];for(let n of a)n.to>e.length&&r.push(n);return r}static applyChanges(e,a,o=128){if(!a.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let i=0,l=0,u=0;;i++){let d=i<a.length?a[i]:null,c=d?d.fromA:1e9;if(c-l>=o)for(;s&&s.from<c;){let f=s;if(l>=f.from||c<=f.to||u){let h=Math.max(f.from,l)-u,p=Math.min(f.to,c)-u;f=h>=p?null:new t(h,p,f.tree,f.offset+u,i>0,!!d)}if(f&&r.push(f),s.to>c)break;s=n<e.length?e[n++]:null}if(!d)break;l=d.toA,u=d.toA-d.toB}return r}},Ks=class{startParse(e,a,o){return typeof e=="string"&&(e=new Kh(e)),o=o?o.length?o.map(r=>new Vs(r.from,r.to)):[new Vs(0,0)]:[new Vs(0,e.length)],this.createParse(e,a||[],o)}parse(e,a,o){let r=this.startParse(e,a,o);for(;;){let n=r.advance();if(n)return n}}},Kh=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,a){return this.string.slice(e,a)}};var U4=new he({perNode:!0});var _R=0,La=class t{constructor(e,a,o,r){this.name=e,this.set=a,this.base=o,this.modified=r,this.id=_R++}toString(){let{name:e}=this;for(let a of this.modified)a.name&&(e=`${a.name}(${e})`);return e}static define(e,a){let o=typeof e=="string"?e:"?";if(e instanceof t&&(a=e),a?.base)throw new Error("Can not derive from a modified tag");let r=new t(o,[],null,[]);if(r.set.push(r),a)for(let n of a.set)r.set.push(n);return r}static defineModifier(e){let a=new wu(e);return o=>o.modified.indexOf(a)>-1?o:wu.get(o.base||o,o.modified.concat(a).sort((r,n)=>r.id-n.id))}},HR=0,wu=class t{constructor(e){this.name=e,this.instances=[],this.id=HR++}static get(e,a){if(!a.length)return e;let o=a[0].instances.find(i=>i.base==e&&zR(a,i.modified));if(o)return o;let r=[],n=new La(e.name,r,e,a);for(let i of a)i.instances.push(n);let s=qR(a);for(let i of e.set)if(!i.modified.length)for(let l of s)r.push(t.get(i,l));return n}};function zR(t,e){return t.length==e.length&&t.every((a,o)=>a==e[o])}function qR(t){let e=[[]];for(let a=0;a<t.length;a++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[a]));return e.sort((a,o)=>o.length-a.length)}function tw(t){let e=Object.create(null);for(let a in t){let o=t[a];Array.isArray(o)||(o=[o]);for(let r of a.split(" "))if(r){let n=[],s=2,i=r;for(let c=0;;){if(i=="..."&&c>0&&c+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==r.length)break;let h=r[c++];if(c==r.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+r);i=r.slice(c)}let l=n.length-1,u=n[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Rr(o,s,l>0?n.slice(0,l):null);e[u]=d.sort(e[u])}}return aw.add(e)}var aw=new he({combine(t,e){let a,o,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),a&&a.mode==r.mode&&!r.context&&!a.context)continue;let n=new Rr(r.tags,r.mode,r.context);a?a.next=n:o=n,a=n}return o}}),Rr=class{constructor(e,a,o,r){this.tags=e,this.mode=a,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Rr.empty=new Rr([],2,null);function ep(t,e){let a=Object.create(null);for(let n of t)if(!Array.isArray(n.tag))a[n.tag.id]=n.class;else for(let s of n.tag)a[s.id]=n.class;let{scope:o,all:r=null}=e||{};return{style:n=>{let s=r;for(let i of n)for(let l of i.set){let u=a[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function UR(t,e){let a=null;for(let o of t){let r=o.style(e);r&&(a=a?a+" "+r:r)}return a}function ow(t,e,a,o=0,r=t.length){let n=new Jh(o,Array.isArray(e)?e:[e],a);n.highlightRange(t.cursor(),o,r,"",n.highlighters),n.flush(r)}var Jh=class{constructor(e,a,o){this.at=e,this.highlighters=a,this.span=o,this.class=""}startSpan(e,a){a!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=a)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,a,o,r,n){let{type:s,from:i,to:l}=e;if(i>=o||l<=a)return;s.isTop&&(n=this.highlighters.filter(h=>!h.scope||h.scope(s)));let u=r,d=WR(e)||Rr.empty,c=UR(n,d.tags);if(c&&(u&&(u+=" "),u+=c,d.mode==1&&(r+=(r?" ":"")+c)),this.startSpan(Math.max(a,i),u),d.opaque)return;let f=e.tree&&e.tree.prop(he.mounted);if(f&&f.overlay){let h=e.node.enter(f.overlay[0].from+i,1),p=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,x=i;;g++){let y=g<f.overlay.length?f.overlay[g]:null,w=y?y.from+i:l,C=Math.max(a,x),I=Math.min(o,w);if(C<I&&m)for(;e.from<I&&(this.highlightRange(e,C,I,r,n),this.startSpan(Math.min(I,e.to),u),!(e.to>=w||!e.nextSibling())););if(!y||w>o)break;x=y.to+i,x>a&&(this.highlightRange(h.cursor(),Math.max(a,y.from+i),Math.min(o,x),"",p),this.startSpan(Math.min(o,x),u))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=a)){if(e.from>=o)break;this.highlightRange(e,a,o,r,n),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function WR(t){let e=t.type.prop(aw);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var j=La.define,gu=j(),_o=j(),Qb=j(_o),ew=j(_o),Ho=j(),xu=j(Ho),Yh=j(Ho),Ga=j(),Dr=j(Ga),Wa=j(),Va=j(),Qh=j(),js=j(Qh),bu=j(),b={comment:gu,lineComment:j(gu),blockComment:j(gu),docComment:j(gu),name:_o,variableName:j(_o),typeName:Qb,tagName:j(Qb),propertyName:ew,attributeName:j(ew),className:j(_o),labelName:j(_o),namespace:j(_o),macroName:j(_o),literal:Ho,string:xu,docString:j(xu),character:j(xu),attributeValue:j(xu),number:Yh,integer:j(Yh),float:j(Yh),bool:j(Ho),regexp:j(Ho),escape:j(Ho),color:j(Ho),url:j(Ho),keyword:Wa,self:j(Wa),null:j(Wa),atom:j(Wa),unit:j(Wa),modifier:j(Wa),operatorKeyword:j(Wa),controlKeyword:j(Wa),definitionKeyword:j(Wa),moduleKeyword:j(Wa),operator:Va,derefOperator:j(Va),arithmeticOperator:j(Va),logicOperator:j(Va),bitwiseOperator:j(Va),compareOperator:j(Va),updateOperator:j(Va),definitionOperator:j(Va),typeOperator:j(Va),controlOperator:j(Va),punctuation:Qh,separator:j(Qh),bracket:js,angleBracket:j(js),squareBracket:j(js),paren:j(js),brace:j(js),content:Ga,heading:Dr,heading1:j(Dr),heading2:j(Dr),heading3:j(Dr),heading4:j(Dr),heading5:j(Dr),heading6:j(Dr),contentSeparator:j(Ga),list:j(Ga),quote:j(Ga),emphasis:j(Ga),strong:j(Ga),link:j(Ga),monospace:j(Ga),strikethrough:j(Ga),inserted:j(),deleted:j(),changed:j(),invalid:j(),meta:bu,documentMeta:j(bu),annotation:j(bu),processingInstruction:j(bu),definition:La.defineModifier("definition"),constant:La.defineModifier("constant"),function:La.defineModifier("function"),standard:La.defineModifier("standard"),local:La.defineModifier("local"),special:La.defineModifier("special")};for(let t in b){let e=b[t];e instanceof La&&(e.name=t)}var G4=ep([{tag:b.link,class:"tok-link"},{tag:b.heading,class:"tok-heading"},{tag:b.emphasis,class:"tok-emphasis"},{tag:b.strong,class:"tok-strong"},{tag:b.keyword,class:"tok-keyword"},{tag:b.atom,class:"tok-atom"},{tag:b.bool,class:"tok-bool"},{tag:b.url,class:"tok-url"},{tag:b.labelName,class:"tok-labelName"},{tag:b.inserted,class:"tok-inserted"},{tag:b.deleted,class:"tok-deleted"},{tag:b.literal,class:"tok-literal"},{tag:b.string,class:"tok-string"},{tag:b.number,class:"tok-number"},{tag:[b.regexp,b.escape,b.special(b.string)],class:"tok-string2"},{tag:b.variableName,class:"tok-variableName"},{tag:b.local(b.variableName),class:"tok-variableName tok-local"},{tag:b.definition(b.variableName),class:"tok-variableName tok-definition"},{tag:b.special(b.variableName),class:"tok-variableName2"},{tag:b.definition(b.propertyName),class:"tok-propertyName tok-definition"},{tag:b.typeName,class:"tok-typeName"},{tag:b.namespace,class:"tok-namespace"},{tag:b.className,class:"tok-className"},{tag:b.macroName,class:"tok-macroName"},{tag:b.propertyName,class:"tok-propertyName"},{tag:b.operator,class:"tok-operator"},{tag:b.comment,class:"tok-comment"},{tag:b.meta,class:"tok-meta"},{tag:b.invalid,class:"tok-invalid"},{tag:b.punctuation,class:"tok-punctuation"}]);var tp,Nn=new he;function VR(t){return Y.define({combine:t?e=>e.concat(t):void 0})}var GR=new he,jt=class{constructor(e,a,o=[],r=""){this.data=e,this.name=r,Me.prototype.hasOwnProperty("tree")||Object.defineProperty(Me.prototype,"tree",{get(){return Mt(this)}}),this.parser=a,this.extension=[_n.of(this),Me.languageData.of((n,s,i)=>{let l=rw(n,s,i),u=l.type.prop(Nn);if(!u)return[];let d=n.facet(u),c=l.type.prop(GR);if(c){let f=l.resolve(s-l.from,i);for(let h of c)if(h.test(f,n)){let p=n.facet(h.facet);return h.type=="replace"?p:p.concat(d)}}return d})].concat(o)}isActiveAt(e,a,o=-1){return rw(e,a,o).type.prop(Nn)==this.data}findRegions(e){let a=e.facet(_n);if(a?.data==this.data)return[{from:0,to:e.doc.length}];if(!a||!a.allowsNesting)return[];let o=[],r=(n,s)=>{if(n.prop(Nn)==this.data){o.push({from:s,to:s+n.length});return}let i=n.prop(he.mounted);if(i){if(i.tree.prop(Nn)==this.data){if(i.overlay)for(let l of i.overlay)o.push({from:l.from+s,to:l.to+s});else o.push({from:s,to:s+n.length});return}else if(i.overlay){let l=o.length;if(r(i.tree,i.overlay[0].from+s),o.length>l)return}}for(let l=0;l<n.children.length;l++){let u=n.children[l];u instanceof ze&&r(u,n.positions[l]+s)}};return r(Mt(e),0),o}get allowsNesting(){return!0}};jt.setState=de.define();function rw(t,e,a){let o=t.facet(_n),r=Mt(t).topNode;if(!o||o.allowsNesting)for(let n=r;n;n=n.enter(e,a,Ge.ExcludeBuffers|Ge.EnterBracketed))n.type.isTop&&(r=n);return r}function Mt(t){let e=t.field(jt.state,!1);return e?e.tree:ze.empty}var np=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,a){let o=this.cursorPos-this.string.length;return e<o||a>=this.cursorPos?this.doc.sliceString(e,a):this.string.slice(e-o,a-o)}},Zs=null,Ys=class t{constructor(e,a,o=[],r,n,s,i,l){this.parser=e,this.state=a,this.fragments=o,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=i,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,a,o){return new t(e,a,[],ze.empty,0,o,[],null)}startParse(){return this.parser.startParse(new np(this.state.doc),this.fragments)}work(e,a){return a!=null&&a>=this.state.doc.length&&(a=void 0),this.tree!=ze.empty&&this.isDone(a??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),a!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>a)&&a<this.state.doc.length&&this.parse.stopAt(a);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Pr.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(a??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,a;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(a=this.parse.advance()););}),this.treeLen=e,this.tree=a,this.fragments=this.withoutTempSkipped(Pr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let a=Zs;Zs=this;try{return e()}finally{Zs=a}}withoutTempSkipped(e){for(let a;a=this.tempSkipped.pop();)e=nw(e,a.from,a.to);return e}changes(e,a){let{fragments:o,tree:r,treeLen:n,viewport:s,skipped:i}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,c,f)=>l.push({fromA:u,toA:d,fromB:c,toB:f})),o=Pr.applyChanges(o,l),r=ze.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){i=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),c=e.mapPos(u.to,-1);d<c&&i.push({from:d,to:c})}}}return new t(this.parser,a,o,r,n,s,i,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let a=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:n}=this.skipped[o];r<e.to&&n>e.from&&(this.fragments=nw(this.fragments,r,n),this.skipped.splice(o--,1))}return this.skipped.length>=a?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,a){this.skipped.push({from:e,to:a})}static getSkippingParser(e){return new class extends Ks{createParse(a,o,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let l=Zs;if(l){for(let u of r)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new ze(At.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let a=this.fragments;return this.treeLen>=e&&a.length&&a[0].from==0&&a[0].to>=e}static get(){return Zs}};function nw(t,e,a){return Pr.applyChanges(t,[{fromA:e,toA:a,fromB:e,toB:a}])}var Js=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let a=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),a.viewport.to);return a.work(20,o)||a.takeTree(),new t(a)}static init(e){let a=Math.min(3e3,e.doc.length),o=Ys.create(e.facet(_n).parser,e,{from:0,to:a});return o.work(20,a)||o.takeTree(),new t(o)}};jt.state=Ve.define({create:Js.init,update(t,e){for(let a of e.effects)if(a.is(jt.setState))return a.value;return e.startState.facet(_n)!=e.state.facet(_n)?Js.init(e.state):t.apply(e)}});var cw=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(cw=t=>{let e=-1,a=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(a):cancelIdleCallback(e)});var ap=typeof navigator<"u"&&(!((tp=navigator.scheduling)===null||tp===void 0)&&tp.isInputPending)?()=>navigator.scheduling.isInputPending():null,$R=Ze.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let a=this.view.state.field(jt.state).context;(a.updateViewport(e.view.viewport)||this.view.viewport.to>a.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(a)}scheduleWork(){if(this.working)return;let{state:e}=this.view,a=e.field(jt.state);(a.tree!=a.context.tree||!a.context.isDone(e.doc.length))&&(this.working=cw(this.work))}work(e){this.working=null;let a=Date.now();if(this.chunkEnd<a&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=a+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,n=o.field(jt.state);if(n.tree==n.context.tree&&n.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!ap?Math.max(25,e.timeRemaining()-5):1e9),i=n.context.treeLen<r&&o.doc.length>r+1e3,l=n.context.work(()=>ap&&ap()||Date.now()>s,r+(i?0:1e5));this.chunkBudget-=Date.now()-a,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:jt.setState.of(new Js(n.context))})),this.chunkBudget>0&&!(l&&!i)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(a=>ht(this.view.state,a)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),_n=Y.define({combine(t){return t.length?t[0]:null},enables:t=>[jt.state,$R,Z.contentAttributes.compute([t],e=>{let a=e.facet(t);return a&&a.name?{"data-language":a.name}:{}})]}),yu=class{constructor(e,a=[]){this.language=e,this.support=a,this.extension=[e,a]}};var XR=Y.define(),mo=Y.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(a=>a!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function zo(t){let e=t.facet(mo);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function ei(t,e){let a="",o=t.tabSize,r=t.facet(mo)[0];if(r==" "){for(;e>=o;)a+=" ",e-=o;r=" "}for(let n=0;n<e;n++)a+=r;return a}function fp(t,e){t instanceof Me&&(t=new Tr(t));for(let o of t.state.facet(XR)){let r=o(t,e);if(r!==void 0)return r}let a=Mt(t.state);return a.length>=e?KR(t,a,e):null}var Tr=class{constructor(e,a={}){this.state=e,this.options=a,this.unit=zo(e)}lineAt(e,a=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=o.from&&r<=o.to?n&&r==e?{text:"",from:e}:(a<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,a=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,a);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(n+=s-this.countColumn(o,o.search(/\S|$/))),n}countColumn(e,a=e.length){return wr(e,this.state.tabSize,a)}lineIndent(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},fw=new he;function KR(t,e,a){let o=e.resolveStack(a),r=e.resolveInner(a,-1).resolve(a,0).enterUnfinishedNodesBefore(a);if(r!=o.node){let n=[];for(let s=r;s&&!(s.from<o.node.from||s.to>o.node.to||s.from==o.node.from&&s.type==o.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)o={node:n[s],next:o}}return hw(o,t,a)}function hw(t,e,a){for(let o=t;o;o=o.next){let r=ZR(o.node);if(r)return r(sp.create(e,a,o))}return 0}function jR(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function ZR(t){let e=t.type.prop(fw);if(e)return e;let a=t.firstChild,o;if(a&&(o=a.type.prop(he.closedBy))){let r=t.lastChild,n=r&&o.indexOf(r.name)>-1;return s=>eT(s,!0,1,void 0,n&&!jR(s)?r.from:void 0)}return t.parent==null?YR:null}function YR(){return 0}var sp=class t extends Tr{constructor(e,a,o){super(e.state,e.options),this.base=e,this.pos=a,this.context=o}get node(){return this.context.node}static create(e,a,o){return new t(e,a,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let a=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(a.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(JR(o,e))break;a=this.state.doc.lineAt(o.from)}return this.lineIndent(a.from)}continue(){return hw(this.context.next,this.base,this.pos)}};function JR(t,e){for(let a=e;a;a=a.parent)if(t==a)return!0;return!1}function QR(t){let e=t.node,a=e.childAfter(e.from),o=e.lastChild;if(!a)return null;let r=t.options.simulateBreak,n=t.state.doc.lineAt(a.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let i=a.to;;){let l=e.childAfter(i);if(!l||l==o)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let u=/^ */.exec(n.text.slice(a.to-n.from))[0].length;return{from:a.from,to:a.to+u}}i=l.to}}function eT(t,e,a,o,r){let n=t.textAfter,s=n.match(/^\s*/)[0].length,i=o&&n.slice(s,s+o.length)==o||r==t.pos+s,l=e?QR(t):null;return l?i?t.column(l.from):t.column(l.to):t.baseIndent+(i?0:t.unit*a)}var qo=class t{constructor(e,a){this.specs=e;let o;function r(i){let l=oa.newName();return(o||(o=Object.create(null)))["."+l]=i,l}let n=typeof a.all=="string"?a.all:a.all?r(a.all):void 0,s=a.scope;this.scope=s instanceof jt?i=>i.prop(Nn)==s.data:s?i=>i==s:void 0,this.style=ep(e.map(i=>({tag:i.tag,class:i.class||r(Object.assign({},i,{tag:null}))})),{all:n}).style,this.module=o?new oa(o):null,this.themeType=a.themeType}static define(e,a){return new t(e,a||{})}},ip=Y.define(),pw=Y.define({combine(t){return t.length?[t[0]]:null}});function op(t){let e=t.facet(ip);return e.length?e:t.facet(pw)}function Hn(t,e){let a=[tT],o;return t instanceof qo&&(t.module&&a.push(Z.styleModule.of(t.module)),o=t.themeType),e?.fallback?a.push(pw.of(t)):o?a.push(ip.computeN([Z.darkTheme],r=>r.facet(Z.darkTheme)==(o=="dark")?[t]:[])):a.push(ip.of(t)),a}var lp=class{constructor(e){this.markCache=Object.create(null),this.tree=Mt(e.state),this.decorations=this.buildDeco(e,op(e.state)),this.decoratedTo=e.viewport.to}update(e){let a=Mt(e.state),o=op(e.state),r=o!=op(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);a.length<n.to&&!r&&a.type==this.tree.type&&s>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(a!=this.tree||e.viewportChanged||r)&&(this.tree=a,this.decorations=this.buildDeco(e.view,o),this.decoratedTo=n.to)}buildDeco(e,a){if(!a||!this.tree.length)return pe.none;let o=new xa;for(let{from:r,to:n}of e.visibleRanges)ow(this.tree,a,(s,i,l)=>{o.add(s,i,this.markCache[l]||(this.markCache[l]=pe.mark({class:l})))},r,n);return o.finish()}},tT=Xt.high(Ze.fromClass(lp,{decorations:t=>t.decorations})),mw=qo.define([{tag:b.meta,color:"#404740"},{tag:b.link,textDecoration:"underline"},{tag:b.heading,textDecoration:"underline",fontWeight:"bold"},{tag:b.emphasis,fontStyle:"italic"},{tag:b.strong,fontWeight:"bold"},{tag:b.strikethrough,textDecoration:"line-through"},{tag:b.keyword,color:"#708"},{tag:[b.atom,b.bool,b.url,b.contentSeparator,b.labelName],color:"#219"},{tag:[b.literal,b.inserted],color:"#164"},{tag:[b.string,b.deleted],color:"#a11"},{tag:[b.regexp,b.escape,b.special(b.string)],color:"#e40"},{tag:b.definition(b.variableName),color:"#00f"},{tag:b.local(b.variableName),color:"#30a"},{tag:[b.typeName,b.namespace],color:"#085"},{tag:b.className,color:"#167"},{tag:[b.special(b.variableName),b.macroName],color:"#256"},{tag:b.definition(b.propertyName),color:"#00c"},{tag:b.comment,color:"#940"},{tag:b.invalid,color:"#f00"}]),aT=Z.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),gw=1e4,xw="()[]{}",bw=Y.define({combine(t){return Ft(t,{afterCursor:!0,brackets:xw,maxScanDistance:gw,renderMatch:nT})}}),oT=pe.mark({class:"cm-matchingBracket"}),rT=pe.mark({class:"cm-nonmatchingBracket"});function nT(t){let e=[],a=t.matched?oT:rT;return e.push(a.range(t.start.from,t.start.to)),t.end&&e.push(a.range(t.end.from,t.end.to)),e}function sw(t){let e=[],a=t.facet(bw);for(let o of t.selection.ranges){if(!o.empty)continue;let r=Ca(t,o.head,-1,a)||o.head>0&&Ca(t,o.head-1,1,a)||a.afterCursor&&(Ca(t,o.head,1,a)||o.head<t.doc.length&&Ca(t,o.head+1,-1,a));r&&(e=e.concat(a.renderMatch(r,t)))}return pe.set(e,!0)}var sT=Ze.fromClass(class{constructor(t){this.paused=!1,this.decorations=sw(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=sw(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),iT=[sT,aT];function ww(t={}){return[bw.of(t),iT]}var lT=new he;function up(t,e,a){let o=t.prop(e<0?he.openedBy:he.closedBy);if(o)return o;if(t.name.length==1){let r=a.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[a[r+e]]}return null}function dp(t){let e=t.type.prop(lT);return e?e(t.node):t}function Ca(t,e,a,o={}){let r=o.maxScanDistance||gw,n=o.brackets||xw,s=Mt(t),i=s.resolveInner(e,a);for(let l=i;l;l=l.parent){let u=up(l.type,a,n);if(u&&l.from<l.to){let d=dp(l);if(d&&(a>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return uT(t,e,a,l,d,u,n)}}return dT(t,e,a,s,i.type,r,n)}function uT(t,e,a,o,r,n,s){let i=o.parent,l={from:r.from,to:r.to},u=0,d=i?.cursor();if(d&&(a<0?d.childBefore(o.from):d.childAfter(o.to)))do if(a<0?d.to<=o.from:d.from>=o.to){if(u==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let c=dp(d);return{start:l,end:c?{from:c.from,to:c.to}:void 0,matched:!0}}else if(up(d.type,a,s))u++;else if(up(d.type,-a,s)){if(u==0){let c=dp(d);return{start:l,end:c&&c.from<c.to?{from:c.from,to:c.to}:void 0,matched:!1}}u--}}while(a<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function dT(t,e,a,o,r,n,s){if(a<0?!e:e==t.doc.length)return null;let i=a<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(i);if(l<0||l%2==0!=a>0)return null;let u={from:a<0?e-1:e,to:a>0?e+1:e},d=t.doc.iterRange(e,a>0?t.doc.length:0),c=0;for(let f=0;!d.next().done&&f<=n;){let h=d.value;a<0&&(f+=h.length);let p=e+f*a;for(let m=a>0?0:h.length-1,g=a>0?h.length:-1;m!=g;m+=a){let x=s.indexOf(h[m]);if(!(x<0||o.resolveInner(p+m,1).type!=r))if(x%2==0==a>0)c++;else{if(c==1)return{start:u,end:{from:p+m,to:p+m+1},matched:x>>1==l>>1};c--}}a>0&&(f+=h.length)}return d.done?{start:u,matched:!1}:null}function iw(t,e,a,o=0,r=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let n=r;for(let s=o;s<e;s++)t.charCodeAt(s)==9?n+=a-n%a:n++;return n}var Lu=class{constructor(e,a,o,r){this.string=e,this.tabSize=a,this.indentUnit=o,this.overrideIndent=r,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let a=this.string.charAt(this.pos),o;if(typeof e=="string"?o=a==e:o=a&&(e instanceof RegExp?e.test(a):e(a)),o)return++this.pos,a}eatWhile(e){let a=this.pos;for(;this.eat(e););return this.pos>a}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let a=this.string.indexOf(e,this.pos);if(a>-1)return this.pos=a,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=iw(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:iw(this.string,null,this.tabSize)}match(e,a,o){if(typeof e=="string"){let r=s=>o?s.toLowerCase():s,n=this.string.substr(this.pos,e.length);return r(n)==r(e)?(a!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&a!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function cT(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||fT,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||pp,mergeTokens:t.mergeTokens!==!1}}function fT(t){if(typeof t!="object")return t;let e={};for(let a in t){let o=t[a];e[a]=o instanceof Array?o.slice():o}return e}var lw=new WeakMap,Cu=class t extends jt{constructor(e){let a=VR(e.languageData),o=cT(e),r,n=new class extends Ks{createParse(s,i,l){return new cp(r,s,i,l)}};super(a,n,[],e.name),this.topNode=gT(a,this),r=this,this.streamParser=o,this.stateAfter=new he({perNode:!0}),this.tokenTable=e.tokenTable?new vu(o.tokenTable):mT}static define(e){return new t(e)}getIndent(e){let a,{overrideIndentation:o}=e.options;o&&(a=lw.get(e.state),a!=null&&a<e.pos-1e4&&(a=void 0));let r=hp(this,e.node.tree,e.node.from,e.node.from,a??e.pos),n,s;if(r?(s=r.state,n=r.pos+1):(s=this.streamParser.startState(e.unit),n=e.node.from),e.pos-n>1e4)return null;for(;n<e.pos;){let l=e.state.doc.lineAt(n),u=Math.min(e.pos,l.to);if(l.length){let d=o?o(l.from):-1,c=new Lu(l.text,e.state.tabSize,e.unit,d<0?void 0:d);for(;c.pos<u-l.from;)Lw(this.streamParser.token,c,s)}else this.streamParser.blankLine(s,e.unit);if(u==e.pos)break;n=l.to+1}let i=e.lineAt(e.pos);return o&&a==null&&lw.set(e.state,i.from),this.streamParser.indent(s,/^\s*(.*)/.exec(i.text)[1],e)}get allowsNesting(){return!1}};function hp(t,e,a,o,r){let n=a>=o&&a+e.length<=r&&e.prop(t.stateAfter);if(n)return{state:t.streamParser.copyState(n),pos:a+e.length};for(let s=e.children.length-1;s>=0;s--){let i=e.children[s],l=a+e.positions[s],u=i instanceof ze&&l<r&&hp(t,i,l,o,r);if(u)return u}return null}function yw(t,e,a,o,r){if(r&&a<=0&&o>=e.length)return e;!r&&a==0&&e.type==t.topNode&&(r=!0);for(let n=e.children.length-1;n>=0;n--){let s=e.positions[n],i=e.children[n],l;if(s<o&&i instanceof ze){if(!(l=yw(t,i,a-s,o-s,r)))break;return r?new ze(e.type,e.children.slice(0,n).concat(l),e.positions.slice(0,n+1),s+l.length):l}}return null}function hT(t,e,a,o,r){for(let n of e){let s=n.from+(n.openStart?25:0),i=n.to-(n.openEnd?25:0),l=s<=a&&i>a&&hp(t,n.tree,0-n.offset,a,i),u;if(l&&l.pos<=o&&(u=yw(t,n.tree,a+n.offset,l.pos+n.offset,!1)))return{state:l.state,tree:u}}return{state:t.streamParser.startState(r?zo(r):4),tree:ze.empty}}var cp=class{constructor(e,a,o,r){this.lang=e,this.input=a,this.fragments=o,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let n=Ys.get(),s=r[0].from,{state:i,tree:l}=hT(e,o,s,this.to,n?.state);this.state=i,this.parsedPos=this.chunkStart=s+l.length;for(let u=0;u<l.children.length;u++)this.chunks.push(l.children[u]),this.chunkPos.push(l.positions[u]);n&&this.parsedPos<n.viewport.from-1e5&&r.some(u=>u.from<=n.viewport.from&&u.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(zo(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Ys.get(),a=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),o=Math.min(a,this.chunkStart+512);for(e&&(o=Math.min(o,e.viewport.to));this.parsedPos<o;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=a?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,a),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let a=this.input.chunk(e);if(this.input.lineChunks)a==`
19
19
  `&&(a="");else{let o=a.indexOf(`
20
- `);o>-1&&(a=a.slice(0,o))}return e+a.length<=this.to?a:a.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,a=this.lineAfter(e),o=e+a.length;for(let r=this.rangeIndex;;){let n=this.ranges[r].to;if(n>=o||(a=a.slice(0,n-(o-a.length)),r++,r==this.ranges.length))break;let s=this.ranges[r].from,i=this.lineAfter(s);a+=i,o=s+i.length}return{line:a,end:o}}skipGapsTo(e,a,o){for(;;){let r=this.ranges[this.rangeIndex].to,n=e+a;if(o>0?r>n:r>=n)break;let s=this.ranges[++this.rangeIndex].from;a+=s-r}return a}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,a,o,r){let n=4;if(this.ranges.length>1){r=this.skipGapsTo(a,r,1),a+=r;let i=this.chunk.length;r=this.skipGapsTo(o,r,-1),o+=r,n+=this.chunk.length-i}let s=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&n==4&&s>=0&&this.chunk[s]==e&&this.chunk[s+2]==a?this.chunk[s+2]=o:this.chunk.push(e,a,o,n),r}parseLine(e){let{line:a,end:o}=this.nextLine(),r=0,{streamParser:n}=this.lang,s=new cu(a,e?e.state.tabSize:4,e?Do(e.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let i=uy(n.token,s,this.state);if(i&&(r=this.emitToken(this.lang.tokenTable.resolve(i),this.parsedPos+s.start,this.parsedPos+s.pos,r)),s.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Oe.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:PD,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Oe(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Oe(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function uy(t,e,a){e.start=e.pos;for(let o=0;o<10;o++){let r=t(e,a);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var tp=Object.create(null),$s=[Ct.none],PD=new ru($s),ZC=[],YC=Object.create(null),dy=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])dy[t]=fy(tp,e);var pu=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),dy)}resolve(e){return e?this.table[e]||(this.table[e]=fy(this.extra,e)):0}},RD=new pu(tp);function Gh(t,e){ZC.indexOf(t)>-1||(ZC.push(t),console.warn(e))}function fy(t,e){let a=[];for(let i of e.split(" ")){let l=[];for(let u of i.split(".")){let d=t[u]||Z[u];d?typeof d=="function"?l.length?l=l.map(d):Gh(u,`Modifier ${u} used at start of tag`):l.length?Gh(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:Gh(u,`Unknown highlighting tag ${u}`)}for(let u of l)a.push(u)}if(!a.length)return 0;let o=e.replace(/ /g,"_"),r=o+" "+a.map(i=>i.id),n=YC[r];if(n)return n.id;let s=YC[r]=Ct.define({id:$s.length,name:o,props:[UC({[o]:a})]});return $s.push(s),s.id}function DD(t,e){let a=Ct.define({id:$s.length,name:"Document",props:[Rn.add(()=>t),QC.add(()=>o=>e.getIndent(o))],top:!0});return $s.push(a),a}var t5={rtl:ce.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:be.RTL}),ltr:ce.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:be.LTR}),auto:ce.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var TD=t=>{let{state:e}=t,a=e.doc.lineAt(e.selection.main.from),o=lp(t.state,a.from);return o.line?ED(t):o.block?OD(t):!1};function ip(t,e){return({state:a,dispatch:o})=>{if(a.readOnly)return!1;let r=t(e,a);return r?(o(a.update(r)),!0):!1}}var ED=ip(HD,0);var BD=ip(yy,0);var OD=ip((t,e)=>yy(t,e,ND(e)),0);function lp(t,e){let a=t.languageDataAt("commentTokens",e,1);return a.length?a[0]:{}}var Ks=50;function FD(t,{open:e,close:a},o,r){let n=t.sliceDoc(o-Ks,o),s=t.sliceDoc(r,r+Ks),i=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(s)[0].length,u=n.length-i;if(n.slice(u-e.length,u)==e&&s.slice(l,l+a.length)==a)return{open:{pos:o-i,margin:i&&1},close:{pos:r+l,margin:l&&1}};let d,f;r-o<=2*Ks?d=f=t.sliceDoc(o,r):(d=t.sliceDoc(o,o+Ks),f=t.sliceDoc(r-Ks,r));let c=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,p=f.length-h-a.length;return d.slice(c,c+e.length)==e&&f.slice(p,p+a.length)==a?{open:{pos:o+c+e.length,margin:/\s/.test(d.charAt(c+e.length))?1:0},close:{pos:r-h-a.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function ND(t){let e=[];for(let a of t.selection.ranges){let o=t.doc.lineAt(a.from),r=a.to<=o.to?o:t.doc.lineAt(a.to);r.from>o.from&&r.from==a.to&&(r=a.to==o.to+1?o:t.doc.lineAt(a.to-1));let n=e.length-1;n>=0&&e[n].to>o.from?e[n].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function yy(t,e,a=e.selection.ranges){let o=a.map(n=>lp(e,n.from).block);if(!o.every(n=>n))return null;let r=a.map((n,s)=>FD(e,o[s],n.from,n.to));if(t!=2&&!r.every(n=>n))return{changes:e.changes(a.map((n,s)=>r[s]?[]:[{from:n.from,insert:o[s].open+" "},{from:n.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(n=>n)){let n=[];for(let s=0,i;s<r.length;s++)if(i=r[s]){let l=o[s],{open:u,close:d}=i;n.push({from:u.pos-l.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function HD(t,e,a=e.selection.ranges){let o=[],r=-1;e:for(let{from:n,to:s}of a){let i=o.length,l=1e9,u;for(let d=n;d<=s;){let f=e.doc.lineAt(d);if(u==null&&(u=lp(e,f.from).line,!u))continue e;if(f.from>r&&(n==s||s>f.from)){r=f.from;let c=/^\s*/.exec(f.text)[0].length,h=c==f.length,p=f.text.slice(c,c+u.length)==u?c:-1;c<f.text.length&&c<l&&(l=c),o.push({line:f,comment:p,token:u,indent:c,empty:h,single:!1})}d=f.to+1}if(l<1e9)for(let d=i;d<o.length;d++)o[d].indent<o[d].line.text.length&&(o[d].indent=l);o.length==i+1&&(o[i].single=!0)}if(t!=2&&o.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:i,token:l,indent:u,empty:d,single:f}of o)(f||!d)&&n.push({from:i.from+u,insert:l+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:i,token:l}of o)if(i>=0){let u=s.from+i,d=u+l.length;s.text[d-s.from]==" "&&d++,n.push({from:u,to:d})}return{changes:n}}return null}var op=At.define(),_D=At.define(),qD=j.define(),wy=j.define({combine(t){return Pt(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,a)=>a},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,a)=>(o,r)=>e(o,r)||a(o,r)})}}),by=He.define({create(){return Ar.empty},update(t,e){let a=e.state.facet(wy),o=e.annotation(op);if(o){let l=ma.fromTransaction(e,o.selection),u=o.side,d=u==0?t.undone:t.done;return l?d=gu(d,d.length,a.minDepth,l):d=ky(d,e.startState.selection),new Ar(u==0?o.rest:d,u==0?d:o.rest)}let r=e.annotation(_D);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Ye.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=ma.fromTransaction(e),s=e.annotation(Ye.time),i=e.annotation(Ye.userEvent);return n?t=t.addChanges(n,s,i,a,e):e.selection&&(t=t.addSelection(e.startState.selection,s,i,a.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Ar(t.done.map(ma.fromJSON),t.undone.map(ma.fromJSON))}});function Iy(t={}){return[by,wy.of(t),J.domEventHandlers({beforeinput(e,a){let o=e.inputType=="historyUndo"?Sy:e.inputType=="historyRedo"?rp:null;return o?(e.preventDefault(),o(a)):!1}})]}function xu(t,e){return function({state:a,dispatch:o}){if(!e&&a.readOnly)return!1;let r=a.field(by,!1);if(!r)return!1;let n=r.pop(t,a,e);return n?(o(n),!0):!1}}var Sy=xu(0,!1),rp=xu(1,!1),zD=xu(0,!0),UD=xu(1,!0);var ma=class t{constructor(e,a,o,r,n){this.changes=e,this.effects=a,this.mapped=o,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new t(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,a,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(a=this.mapped)===null||a===void 0?void 0:a.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new t(e.changes&&xt.fromJSON(e.changes),[],e.mapped&&eo.fromJSON(e.mapped),e.startSelection&&V.fromJSON(e.startSelection),e.selectionsAfter.map(V.fromJSON))}static fromTransaction(e,a){let o=Jt;for(let r of e.startState.facet(qD)){let n=r(e);n.length&&(o=o.concat(n))}return!o.length&&e.changes.empty?null:new t(e.changes.invert(e.startState.doc),o,void 0,a||e.startState.selection,Jt)}static selection(e){return new t(void 0,Jt,void 0,void 0,e)}};function gu(t,e,a,o){let r=e+1>a+20?e-a-1:0,n=t.slice(r,e);return n.push(o),n}function VD(t,e){let a=[],o=!1;return t.iterChangedRanges((r,n)=>a.push(r,n)),e.iterChangedRanges((r,n,s,i)=>{for(let l=0;l<a.length;){let u=a[l++],d=a[l++];i>=u&&s<=d&&(o=!0)}}),o}function WD(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((a,o)=>a.empty!=e.ranges[o].empty).length===0}function vy(t,e){return t.length?e.length?t.concat(e):t:e}var Jt=[],GD=200;function ky(t,e){if(t.length){let a=t[t.length-1],o=a.selectionsAfter.slice(Math.max(0,a.selectionsAfter.length-GD));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),gu(t,t.length-1,1e9,a.setSelAfter(o)))}else return[ma.selection([e])]}function $D(t){let e=t[t.length-1],a=t.slice();return a[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),a}function ap(t,e){if(!t.length)return t;let a=t.length,o=Jt;for(;a;){let r=XD(t[a-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let n=t.slice(0,a);return n[a-1]=r,n}else e=r.mapped,a--,o=r.selectionsAfter}return o.length?[ma.selection(o)]:Jt}function XD(t,e,a){let o=vy(t.selectionsAfter.length?t.selectionsAfter.map(i=>i.map(e)):Jt,a);if(!t.changes)return ma.selection(o);let r=t.changes.map(e),n=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(n):n;return new ma(r,le.mapEffects(t.effects,e),s,t.startSelection.map(n),o)}var KD=/^(input\.type|delete)($|\.)/,Ar=class t{constructor(e,a,o=0,r=void 0){this.done=e,this.undone=a,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new t(this.done,this.undone):this}addChanges(e,a,o,r,n){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&e.changes&&(!o||KD.test(o))&&(!i.selectionsAfter.length&&a-this.prevTime<r.newGroupDelay&&r.joinToEvent(n,VD(i.changes,e.changes))||o=="input.type.compose")?s=gu(s,s.length-1,r.minDepth,new ma(e.changes.compose(i.changes),vy(le.mapEffects(e.effects,i.changes),i.effects),i.mapped,i.startSelection,Jt)):s=gu(s,s.length,r.minDepth,e),new t(s,Jt,a,o)}addSelection(e,a,o,r){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:Jt;return n.length>0&&a-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&WD(n[n.length-1],e)?this:new t(ky(this.done,e),this.undone,a,o)}addMapping(e){return new t(ap(this.done,e),ap(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,a,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let n=r[r.length-1],s=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):a.selection);if(o&&n.selectionsAfter.length)return a.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:op.of({side:e,rest:$D(r),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=r.length==1?Jt:r.slice(0,r.length-1);return n.mapped&&(i=ap(i,n.mapped)),a.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:op.of({side:e,rest:i,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Ar.empty=new Ar(Jt,Jt);var Ay=[{key:"Mod-z",run:Sy,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:rp,preventDefault:!0},{linux:"Ctrl-Shift-z",run:rp,preventDefault:!0},{key:"Mod-u",run:zD,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:UD,preventDefault:!0}];function Tn(t,e){return V.create(t.ranges.map(e),t.mainIndex)}function ga(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function xa({state:t,dispatch:e},a){let o=Tn(t.selection,a);return o.eq(t.selection,!0)?!1:(e(ga(t,o)),!0)}function Lu(t,e){return V.cursor(e?t.to:t.from)}function My(t,e){return xa(t,a=>a.empty?t.moveByChar(a,e):Lu(a,e))}function ht(t){return t.textDirectionAt(t.state.selection.main.head)==be.LTR}var Py=t=>My(t,!ht(t)),Ry=t=>My(t,ht(t));function Dy(t,e){return xa(t,a=>a.empty?t.moveByGroup(a,e):Lu(a,e))}var jD=t=>Dy(t,!ht(t)),ZD=t=>Dy(t,ht(t));var d5=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function YD(t,e,a){if(e.type.prop(a))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Cu(t,e,a){let o=yt(t).resolveInner(e.head),r=a?fe.closedBy:fe.openedBy;for(let l=e.head;;){let u=a?o.childAfter(l):o.childBefore(l);if(!u)break;YD(t,u,r)?o=u:l=a?u.to:u.from}let n=o.type.prop(r),s,i;return n&&(s=a?pa(t,o.from,1):pa(t,o.to,-1))&&s.matched?i=a?s.end.to:s.end.from:i=a?o.to:o.from,V.cursor(i,a?-1:1)}var JD=t=>xa(t,e=>Cu(t.state,e,!ht(t))),QD=t=>xa(t,e=>Cu(t.state,e,ht(t)));function Ty(t,e){return xa(t,a=>{if(!a.empty)return Lu(a,e);let o=t.moveVertically(a,e);return o.head!=a.head?o:t.moveToLineBoundary(a,e)})}var Ey=t=>Ty(t,!1),By=t=>Ty(t,!0);function Oy(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,a=0,o=0,r;if(e){for(let n of t.state.facet(J.scrollMargins)){let s=n(t);s?.top&&(a=Math.max(s?.top,a)),s?.bottom&&(o=Math.max(s?.bottom,o))}r=t.scrollDOM.clientHeight-a-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:a,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function Fy(t,e){let a=Oy(t),{state:o}=t,r=Tn(o.selection,s=>s.empty?t.moveVertically(s,e,a.height):Lu(s,e));if(r.eq(o.selection))return!1;let n;if(a.selfScroll){let s=t.coordsAtPos(o.selection.main.head),i=t.scrollDOM.getBoundingClientRect(),l=i.top+a.marginTop,u=i.bottom-a.marginBottom;s&&s.top>l&&s.bottom<u&&(n=J.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(ga(o,r),{effects:n}),!0}var cy=t=>Fy(t,!1),np=t=>Fy(t,!0);function To(t,e,a){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,a);if(r.head==e.head&&r.head!=(a?o.to:o.from)&&(r=t.moveToLineBoundary(e,a,!1)),!a&&r.head==o.from&&o.length){let n=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;n&&e.head!=o.from+n&&(r=V.cursor(o.from+n))}return r}var eT=t=>xa(t,e=>To(t,e,!0)),tT=t=>xa(t,e=>To(t,e,!1)),aT=t=>xa(t,e=>To(t,e,!ht(t))),oT=t=>xa(t,e=>To(t,e,ht(t))),rT=t=>xa(t,e=>V.cursor(t.lineBlockAt(e.head).from,1)),nT=t=>xa(t,e=>V.cursor(t.lineBlockAt(e.head).to,-1));function sT(t,e,a){let o=!1,r=Tn(t.selection,n=>{let s=pa(t,n.head,-1)||pa(t,n.head,1)||n.head>0&&pa(t,n.head-1,1)||n.head<t.doc.length&&pa(t,n.head+1,-1);if(!s||!s.end)return n;o=!0;let i=s.start.from==n.head?s.end.to:s.end.from;return a?V.range(n.anchor,i):V.cursor(i)});return o?(e(ga(t,r)),!0):!1}var iT=({state:t,dispatch:e})=>sT(t,e,!1);function Qt(t,e){let a=Tn(t.state.selection,o=>{let r=e(o);return V.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return a.eq(t.state.selection)?!1:(t.dispatch(ga(t.state,a)),!0)}function Ny(t,e){return Qt(t,a=>t.moveByChar(a,e))}var Hy=t=>Ny(t,!ht(t)),_y=t=>Ny(t,ht(t));function qy(t,e){return Qt(t,a=>t.moveByGroup(a,e))}var lT=t=>qy(t,!ht(t)),uT=t=>qy(t,ht(t));var dT=t=>Qt(t,e=>Cu(t.state,e,!ht(t))),fT=t=>Qt(t,e=>Cu(t.state,e,ht(t)));function zy(t,e){return Qt(t,a=>t.moveVertically(a,e))}var Uy=t=>zy(t,!1),Vy=t=>zy(t,!0);function Wy(t,e){return Qt(t,a=>t.moveVertically(a,e,Oy(t).height))}var hy=t=>Wy(t,!1),py=t=>Wy(t,!0),cT=t=>Qt(t,e=>To(t,e,!0)),hT=t=>Qt(t,e=>To(t,e,!1)),pT=t=>Qt(t,e=>To(t,e,!ht(t))),mT=t=>Qt(t,e=>To(t,e,ht(t))),gT=t=>Qt(t,e=>V.cursor(t.lineBlockAt(e.head).from)),xT=t=>Qt(t,e=>V.cursor(t.lineBlockAt(e.head).to)),my=({state:t,dispatch:e})=>(e(ga(t,{anchor:0})),!0),gy=({state:t,dispatch:e})=>(e(ga(t,{anchor:t.doc.length})),!0),xy=({state:t,dispatch:e})=>(e(ga(t,{anchor:t.selection.main.anchor,head:0})),!0),Ly=({state:t,dispatch:e})=>(e(ga(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),LT=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),CT=({state:t,dispatch:e})=>{let a=yu(t).map(({from:o,to:r})=>V.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:V.create(a),userEvent:"select"})),!0},yT=({state:t,dispatch:e})=>{let a=Tn(t.selection,o=>{let r=yt(t),n=r.resolveStack(o.from,1);if(o.empty){let s=r.resolveStack(o.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:i}=s;if((i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from)&&s.next)return V.range(i.to,i.from)}return o});return a.eq(t.selection)?!1:(e(ga(t,a)),!0)};function Gy(t,e){let{state:a}=t,o=a.selection,r=a.selection.ranges.slice();for(let n of a.selection.ranges){let s=a.doc.lineAt(n.head);if(e?s.to<t.state.doc.length:s.from>0)for(let i=n;;){let l=t.moveVertically(i,e);if(l.head<s.from||l.head>s.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==i.head)break;i=l}}}return r.length==o.ranges.length?!1:(t.dispatch(ga(a,V.create(r,r.length-1))),!0)}var wT=t=>Gy(t,!1),bT=t=>Gy(t,!0),IT=({state:t,dispatch:e})=>{let a=t.selection,o=null;return a.ranges.length>1?o=V.create([a.main]):a.main.empty||(o=V.create([V.cursor(a.main.head)])),o?(e(ga(t,o)),!0):!1};function js(t,e){if(t.state.readOnly)return!1;let a="delete.selection",{state:o}=t,r=o.changeByRange(n=>{let{from:s,to:i}=n;if(s==i){let l=e(n);l<s?(a="delete.backward",l=mu(t,l,!1)):l>s&&(a="delete.forward",l=mu(t,l,!0)),s=Math.min(s,l),i=Math.max(i,l)}else s=mu(t,s,!1),i=mu(t,i,!0);return s==i?{range:n}:{changes:{from:s,to:i},range:V.cursor(s,s<n.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:a,effects:a=="delete.selection"?J.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function mu(t,e,a){if(t instanceof J)for(let o of t.state.facet(J.atomicRanges).map(r=>r(t)))o.between(e,e,(r,n)=>{r<e&&n>e&&(e=a?n:r)});return e}var $y=(t,e,a)=>js(t,o=>{let r=o.from,{state:n}=t,s=n.doc.lineAt(r),i,l;if(a&&!e&&r>s.from&&r<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,r-s.from))){if(i[i.length-1]==" ")return r-1;let u=cr(i,n.tabSize),d=u%Do(n)||Do(n);for(let f=0;f<d&&i[i.length-1-f]==" ";f++)r--;l=r}else l=We(s.text,r-s.from,e,e)+s.from,l==r&&s.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,r-s.from))&&(l=We(s.text,l-s.from,!1,!1)+s.from);return l}),sp=t=>$y(t,!1,!0);var Xy=t=>$y(t,!0,!1),Ky=(t,e)=>js(t,a=>{let o=a.head,{state:r}=t,n=r.doc.lineAt(o),s=r.charCategorizer(o);for(let i=null;;){if(o==(e?n.to:n.from)){o==a.head&&n.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let l=We(n.text,o-n.from,e)+n.from,u=n.text.slice(Math.min(o,l)-n.from,Math.max(o,l)-n.from),d=s(u);if(i!=null&&d!=i)break;(u!=" "||o!=a.head)&&(i=d),o=l}return o}),jy=t=>Ky(t,!1),ST=t=>Ky(t,!0);var vT=t=>js(t,e=>{let a=t.lineBlockAt(e.head).to;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var kT=t=>js(t,e=>{let a=t.moveToLineBoundary(e,!1).head;return e.head>a?a:Math.max(0,e.head-1)}),AT=t=>js(t,e=>{let a=t.moveToLineBoundary(e,!0).head;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var MT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:xe.of(["",""])},range:V.cursor(o.from)}));return e(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0},PT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,n=t.doc.lineAt(r),s=r==n.from?r-1:We(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:We(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:i,insert:t.doc.slice(r,i).append(t.doc.slice(s,r))},range:V.cursor(i)}});return a.changes.empty?!1:(e(t.update(a,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function yu(t){let e=[],a=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),n=t.doc.lineAt(o.to);if(!o.empty&&o.to==n.from&&(n=t.doc.lineAt(o.to-1)),a>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(o)}else e.push({from:r.from,to:n.to,ranges:[o]});a=n.number+1}return e}function Zy(t,e,a){if(t.readOnly)return!1;let o=[],r=[];for(let n of yu(t)){if(a?n.to==t.doc.length:n.from==0)continue;let s=t.doc.lineAt(a?n.to+1:n.from-1),i=s.length+1;if(a){o.push({from:n.to,to:s.to},{from:n.from,insert:s.text+t.lineBreak});for(let l of n.ranges)r.push(V.range(Math.min(t.doc.length,l.anchor+i),Math.min(t.doc.length,l.head+i)))}else{o.push({from:s.from,to:n.from},{from:n.to,insert:t.lineBreak+s.text});for(let l of n.ranges)r.push(V.range(l.anchor-i,l.head-i))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:V.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var RT=({state:t,dispatch:e})=>Zy(t,e,!1),DT=({state:t,dispatch:e})=>Zy(t,e,!0);function Yy(t,e,a){if(t.readOnly)return!1;let o=[];for(let n of yu(t))a?o.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):o.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let r=t.changes(o);return e(t.update({changes:r,selection:t.selection.map(r,a?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var TT=({state:t,dispatch:e})=>Yy(t,e,!1),ET=({state:t,dispatch:e})=>Yy(t,e,!0),BT=t=>{if(t.state.readOnly)return!1;let{state:e}=t,a=e.changes(yu(e).map(({from:r,to:n})=>(r>0?r--:n<e.doc.length&&n++,{from:r,to:n}))),o=Tn(e.selection,r=>{let n;if(t.lineWrapping){let s=t.lineBlockAt(r.head),i=t.coordsAtPos(r.head,r.assoc||1);i&&(n=s.bottom+t.documentTop-i.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,n)}).map(a);return t.dispatch({changes:a,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function OT(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let a=yt(t).resolveInner(e),o=a.childBefore(e),r=a.childAfter(e),n;return o&&r&&o.to<=e&&r.from>=e&&(n=o.type.prop(fe.closedBy))&&n.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}var Cy=Jy(!1),FT=Jy(!0);function Jy(t){return({state:e,dispatch:a})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:n,to:s}=r,i=e.doc.lineAt(n),l=!t&&n==s&&OT(e,n);t&&(n=s=(s<=i.to?i:e.doc.lineAt(s)).to);let u=new vr(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=Qh(u,n);for(d==null&&(d=cr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;l?{from:n,to:s}=l:n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let f=["",Xs(e,d)];return l&&f.push(Xs(e,u.lineIndent(i.from,-1))),{changes:{from:n,to:s,insert:xe.of(f)},range:V.cursor(n+1+f[1].length)}});return a(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function up(t,e){let a=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let i=t.doc.lineAt(s);i.number>a&&(o.empty||o.to>i.from)&&(e(i,r,o),a=i.number),s=i.to+1}let n=t.changes(r);return{changes:r,range:V.range(n.mapPos(o.anchor,1),n.mapPos(o.head,1))}})}var NT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=Object.create(null),o=new vr(t,{overrideIndentation:n=>{let s=a[n];return s??-1}}),r=up(t,(n,s,i)=>{let l=Qh(o,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let u=/^\s*/.exec(n.text)[0],d=Xs(t,l);(u!=d||i.from<n.from+u.length)&&(a[n.from]=l,s.push({from:n.from,to:n.from+u.length,insert:d}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},Qy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(up(t,(a,o)=>{o.push({from:a.from,insert:t.facet(kr)})}),{userEvent:"input.indent"})),!0),e0=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(up(t,(a,o)=>{let r=/^\s*/.exec(a.text)[0];if(!r)return;let n=cr(r,t.tabSize),s=0,i=Xs(t,Math.max(0,n-Do(t)));for(;s<r.length&&s<i.length&&r.charCodeAt(s)==i.charCodeAt(s);)s++;o.push({from:a.from+s,to:a.from+r.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),HT=t=>(t.setTabFocusMode(),!0);var _T=[{key:"Ctrl-b",run:Py,shift:Hy,preventDefault:!0},{key:"Ctrl-f",run:Ry,shift:_y},{key:"Ctrl-p",run:Ey,shift:Uy},{key:"Ctrl-n",run:By,shift:Vy},{key:"Ctrl-a",run:rT,shift:gT},{key:"Ctrl-e",run:nT,shift:xT},{key:"Ctrl-d",run:Xy},{key:"Ctrl-h",run:sp},{key:"Ctrl-k",run:vT},{key:"Ctrl-Alt-h",run:jy},{key:"Ctrl-o",run:MT},{key:"Ctrl-t",run:PT},{key:"Ctrl-v",run:np}],qT=[{key:"ArrowLeft",run:Py,shift:Hy,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:jD,shift:lT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:aT,shift:pT,preventDefault:!0},{key:"ArrowRight",run:Ry,shift:_y,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:ZD,shift:uT,preventDefault:!0},{mac:"Cmd-ArrowRight",run:oT,shift:mT,preventDefault:!0},{key:"ArrowUp",run:Ey,shift:Uy,preventDefault:!0},{mac:"Cmd-ArrowUp",run:my,shift:xy},{mac:"Ctrl-ArrowUp",run:cy,shift:hy},{key:"ArrowDown",run:By,shift:Vy,preventDefault:!0},{mac:"Cmd-ArrowDown",run:gy,shift:Ly},{mac:"Ctrl-ArrowDown",run:np,shift:py},{key:"PageUp",run:cy,shift:hy},{key:"PageDown",run:np,shift:py},{key:"Home",run:tT,shift:hT,preventDefault:!0},{key:"Mod-Home",run:my,shift:xy},{key:"End",run:eT,shift:cT,preventDefault:!0},{key:"Mod-End",run:gy,shift:Ly},{key:"Enter",run:Cy,shift:Cy},{key:"Mod-a",run:LT},{key:"Backspace",run:sp,shift:sp,preventDefault:!0},{key:"Delete",run:Xy,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:jy,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:ST,preventDefault:!0},{mac:"Mod-Backspace",run:kT,preventDefault:!0},{mac:"Mod-Delete",run:AT,preventDefault:!0}].concat(_T.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),t0=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:JD,shift:dT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:QD,shift:fT},{key:"Alt-ArrowUp",run:RT},{key:"Shift-Alt-ArrowUp",run:TT},{key:"Alt-ArrowDown",run:DT},{key:"Shift-Alt-ArrowDown",run:ET},{key:"Mod-Alt-ArrowUp",run:wT},{key:"Mod-Alt-ArrowDown",run:bT},{key:"Escape",run:IT},{key:"Mod-Enter",run:FT},{key:"Alt-l",mac:"Ctrl-l",run:CT},{key:"Mod-i",run:yT,preventDefault:!0},{key:"Mod-[",run:e0},{key:"Mod-]",run:Qy},{key:"Mod-Alt-\\",run:NT},{key:"Shift-Mod-k",run:BT},{key:"Shift-Mod-\\",run:iT},{key:"Mod-/",run:TD},{key:"Alt-A",run:BD},{key:"Ctrl-m",mac:"Shift-Alt-m",run:HT}].concat(qT),a0={key:"Tab",run:Qy,shift:e0};var Iu=class{constructor(e,a,o){this.from=e,this.to=a,this.diagnostic=o}},Mr=class t{constructor(e,a,o){this.diagnostics=e,this.panel=a,this.selected=o}static init(e,a,o){let r=o.facet(Zs).markerFilter;r&&(e=r(e,o));let n=e.slice().sort((h,p)=>h.from-p.from||h.to-p.to),s=new la,i=[],l=0,u=o.doc.iter(),d=0,f=o.doc.length;for(let h=0;;){let p=h==n.length?null:n[h];if(!p&&!i.length)break;let m,g;if(i.length)m=l,g=i.reduce((L,y)=>Math.min(L,y.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>f)break;g=p.to,i.push(p),h++}for(;h<n.length;){let L=n[h];if(L.from==m&&(L.to>L.from||L.to==m))i.push(L),h++,g=Math.min(L.to,g);else{g=Math.min(L.from,g);break}}g=Math.min(g,f);let x=!1;if(i.some(L=>L.from==m&&(L.to==g||g==f))&&(x=m==g,!x&&g-m<10)){let L=m-(d+u.value.length);L>0&&(u.next(L),d=m);for(let y=m;;){if(y>=g){x=!0;break}if(!u.lineBreak&&d+u.value.length>y)break;y=d+u.value.length,d+=u.value.length,u.next()}}let C=c0(i);if(x)s.add(m,m,ce.widget({widget:new dp(C),diagnostics:i.slice()}));else{let L=i.reduce((y,S)=>S.markClass?y+" "+S.markClass:y,"");s.add(m,g,ce.mark({class:"cm-lintRange cm-lintRange-"+C+L,diagnostics:i.slice(),inclusiveEnd:i.some(y=>y.to>g)}))}if(l=g,l==f)break;for(let L=0;L<i.length;L++)i[L].to<=l&&i.splice(L--,1)}let c=s.finish();return new t(c,a,En(c))}};function En(t,e=null,a=0){let o=null;return t.between(a,1e9,(r,n,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!o)o=new Iu(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(o.diagnostic)<0)return!1;o=new Iu(o.from,n,o.diagnostic)}}),o}function n0(t,e){let a=e.pos,o=e.end||a,r=t.state.facet(Zs).hideOn(t,a,o);if(r!=null)return r;let n=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(Au))||t.changes.touchesRange(n.from,Math.max(n.to,o)))}function zT(t,e){return t.field(La,!1)?e:e.concat(le.appendConfig.of(JT))}function s0(t,e){return{effects:zT(t,[Au.of(e)])}}var Au=le.define(),i0=le.define(),l0=le.define(),La=He.define({create(){return new Mr(ce.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let a=t.diagnostics.map(e.changes),o=null,r=t.panel;if(t.selected){let n=e.changes.mapPos(t.selected.from,1);o=En(a,t.selected.diagnostic,n)||En(a,null,n)}!a.size&&r&&e.state.facet(Zs).autoPanel&&(r=null),t=new Mr(a,r,o)}for(let a of e.effects)if(a.is(Au)){let o=e.state.facet(Zs).autoPanel?a.value.length?vu.open:null:t.panel;t=Mr.init(a.value,o,e.state)}else a.is(i0)?t=new Mr(t.diagnostics,a.value?vu.open:null,t.selected):a.is(l0)&&(t=new Mr(t.diagnostics,t.panel,a.value));return t},provide:t=>[Cr.from(t,e=>e.panel),J.decorations.from(t,e=>e.diagnostics)]});var UT=ce.mark({class:"cm-lintRange cm-lintRange-active"});function VT(t,e,a){let{diagnostics:o}=t.state.field(La),r,n=-1,s=-1;o.between(e-(a<0?1:0),e+(a>0?1:0),(l,u,{spec:d})=>{if(e>=l&&e<=u&&(l==u||(e>l||a>0)&&(e<u||a<0)))return r=d.diagnostics,n=l,s=u,!1});let i=t.state.facet(Zs).tooltipFilter;return r&&i&&(r=i(r,t.state)),r?{pos:n,end:s,above:!0,create(){return{dom:u0(t,r)}}}:null}function u0(t,e){return ye("ul",{class:"cm-tooltip-lint"},e.map(a=>f0(t,a,!1)))}var o0=t=>{let e=t.state.field(La,!1);return!e||!e.panel?!1:(t.dispatch({effects:i0.of(!1)}),!0)};var Zs=j.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Pt(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:r0,tooltipFilter:r0,needsRefresh:(e,a)=>e?a?o=>e(o)||a(o):e:a,hideOn:(e,a)=>e?a?(o,r,n)=>e(o,r,n)||a(o,r,n):e:a,autoPanel:(e,a)=>e||a})}}});function r0(t,e){return t?e?(a,o)=>e(t(a,o),o):t:e}function d0(t){let e=[];if(t)e:for(let{name:a}of t){for(let o=0;o<a.length;o++){let r=a[o];if(/[a-zA-Z]/.test(r)&&!e.some(n=>n.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function f0(t,e,a){var o;let r=a?d0(e.actions):[];return ye("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ye("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(o=e.actions)===null||o===void 0?void 0:o.map((n,s)=>{let i=!1,l=h=>{if(h.preventDefault(),i)return;i=!0;let p=En(t.state.field(La).diagnostics,e);p&&n.apply(t,p.from,p.to)},{name:u}=n,d=r[s]?u.indexOf(r[s]):-1,f=d<0?u:[u.slice(0,d),ye("u",u.slice(d,d+1)),u.slice(d+1)],c=n.markClass?" "+n.markClass:"";return ye("button",{type:"button",class:"cm-diagnosticAction"+c,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[s]})"`}.`},f)}),e.source&&ye("div",{class:"cm-diagnosticSource"},e.source))}var dp=class extends Da{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ye("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Su=class{constructor(e,a){this.diagnostic=a,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=f0(e,a,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},vu=class t{constructor(e){this.view=e,this.items=[];let a=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)o0(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=d0(n.actions);for(let i=0;i<s.length;i++)if(s[i].toUpperCase().charCodeAt(0)==r.keyCode){let l=En(this.view.state.field(La).diagnostics,n);l&&n.actions[i].apply(e,l.from,l.to)}}else return;r.preventDefault()}},o=r=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(r.target)&&this.moveSelection(n)};this.list=ye("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:a,onclick:o}),this.dom=ye("div",{class:"cm-panel-lint"},this.list,ye("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>o0(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(La).selected;if(!e)return-1;for(let a=0;a<this.items.length;a++)if(this.items[a].diagnostic==e.diagnostic)return a;return-1}update(){let{diagnostics:e,selected:a}=this.view.state.field(La),o=0,r=!1,n=null,s=new Set;for(e.between(0,this.view.state.doc.length,(i,l,{spec:u})=>{for(let d of u.diagnostics){if(s.has(d))continue;s.add(d);let f=-1,c;for(let h=o;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(c=new Su(this.view,d),this.items.splice(o,0,c),r=!0):(c=this.items[f],f>o&&(this.items.splice(o,f-o),r=!0)),a&&c.diagnostic==a.diagnostic?c.dom.hasAttribute("aria-selected")||(c.dom.setAttribute("aria-selected","true"),n=c):c.dom.hasAttribute("aria-selected")&&c.dom.removeAttribute("aria-selected"),o++}});o<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Su(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:i,panel:l})=>{let u=l.height/this.list.offsetHeight;i.top<l.top?this.list.scrollTop-=(l.top-i.top)/u:i.bottom>l.bottom&&(this.list.scrollTop+=(i.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function a(){let o=e;e=o.nextSibling,o.remove()}for(let o of this.items)if(o.dom.parentNode==this.list){for(;e!=o.dom;)a();e=o.dom.nextSibling}else this.list.insertBefore(o.dom,e);for(;e;)a()}moveSelection(e){if(this.selectedIndex<0)return;let a=this.view.state.field(La),o=En(a.diagnostics,this.items[e].diagnostic);o&&this.view.dispatch({selection:{anchor:o.from,head:o.to},scrollIntoView:!0,effects:l0.of(o)})}static open(e){return new t(e)}};function bu(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function wu(t){return bu(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var WT=J.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:wu("#f11")},".cm-lintRange-warning":{backgroundImage:wu("orange")},".cm-lintRange-info":{backgroundImage:wu("#999")},".cm-lintRange-hint":{backgroundImage:wu("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function GT(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function c0(t){let e="hint",a=1;for(let o of t){let r=GT(o.severity);r>a&&(a=r,e=o.severity)}return e}var ku=class extends Yt{constructor(e){super(),this.diagnostics=e,this.severity=c0(e)}toDOM(e){let a=document.createElement("div");a.className="cm-lint-marker cm-lint-marker-"+this.severity;let o=this.diagnostics,r=e.state.facet(Mu).tooltipFilter;return r&&(o=r(o,e.state)),o.length&&(a.onmouseover=()=>XT(e,a,o)),a}};function $T(t,e){let a=o=>{let r=e.getBoundingClientRect();if(!(o.clientX>r.left-10&&o.clientX<r.right+10&&o.clientY>r.top-10&&o.clientY<r.bottom+10)){for(let n=o.target;n;n=n.parentNode)if(n.nodeType==1&&n.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",a),t.state.field(h0)&&t.dispatch({effects:cp.of(null)})}};window.addEventListener("mousemove",a)}function XT(t,e,a){function o(){let s=t.elementAtHeight(e.getBoundingClientRect().top+5-t.documentTop);t.coordsAtPos(s.from)&&t.dispatch({effects:cp.of({pos:s.from,above:!1,clip:!1,create(){return{dom:u0(t,a),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,$T(t,e)}let{hoverTime:r}=t.state.facet(Mu),n=setTimeout(o,r);e.onmouseout=()=>{clearTimeout(n),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(n),n=setTimeout(o,r)}}function KT(t,e){let a=Object.create(null);for(let r of e){let n=t.lineAt(r.from);(a[n.from]||(a[n.from]=[])).push(r)}let o=[];for(let r in a)o.push(new ku(a[r]).range(+r));return Ce.of(o,!0)}var jT=Rh({class:"cm-gutter-lint",markers:t=>t.state.field(fp),widgetMarker:(t,e,a)=>{let o=[];return t.state.field(fp).between(a.from,a.to,(r,n,s)=>{r>a.from&&r<a.to&&o.push(...s.diagnostics)}),o.length?new ku(o):null}}),fp=He.define({create(){return Ce.empty},update(t,e){t=t.map(e.changes);let a=e.state.facet(Mu).markerFilter;for(let o of e.effects)if(o.is(Au)){let r=o.value;a&&(r=a(r||[],e.state)),t=KT(e.state.doc,r.slice(0))}return t}}),cp=le.define(),h0=He.define({create(){return null},update(t,e){return t&&e.docChanged&&(t=n0(e,t)?null:{...t,pos:e.changes.mapPos(t.pos)}),e.effects.reduce((a,o)=>o.is(cp)?o.value:a,t)},provide:t=>Pn.from(t)}),ZT=J.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:bu('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:bu('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:bu('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),YT=eu(VT,{hideOn:n0}),JT=[La,J.decorations.compute([La],t=>{let{selected:e,panel:a}=t.field(La);return!e||!a||e.from==e.to?ce.none:ce.set([UT.range(e.from,e.to)])}),YT,WT],Mu=j.define({combine(t){return Pt(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function p0(t={}){return[Mu.of(t),fp,jT,ZT,h0]}var m0=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,Pr=class{constructor(e,a,o=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(o,r),this.bufferStart=o,this.normalize=n?i=>n(m0(i)):m0,this.query=this.normalize(a)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Mt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let a=ys(e),o=this.bufferStart+this.bufferPos;this.bufferPos+=$t(e);let r=this.normalize(a);if(r.length)for(let n=0,s=o,i=!0;;n++){let l=r.charCodeAt(n),u=this.match(l,s,i,this.bufferPos+this.bufferStart,n==r.length-1);if(u)return this.value=u,this;if(n==r.length-1)break;i&&n<a.length&&a.charCodeAt(n)==l?s++:i=!1}}}match(e,a,o,r,n){let s=null;for(let i=0;i<this.matches.length;){let l=this.matches[i],u=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?s={from:l.from,to:r,precise:n&&l.precise}:(l.index++,u=!0)),u?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:a,to:r,precise:o&&n}:this.matches.push({from:a,index:1,precise:o})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}};typeof Symbol<"u"&&(Pr.prototype[Symbol.iterator]=function(){return this});var x0={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Lp="gm"+(/x/.unicode==null?"":"u"),Du=class{constructor(e,a,o,r=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=x0,/\\[sWDnr]|\n|\r|\[\^/.test(a))return new Eu(e,a,o,r,n);this.re=new RegExp(a,Lp+(o?.ignoreCase?"i":"")),this.test=o?.test,this.iter=e.iter();let s=e.lineAt(r);this.curLineStart=s.from,this.matchPos=Bu(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let a=this.matchPos<=this.to&&this.re.exec(this.curLine);if(a){let o=this.curLineStart+a.index,r=o+a[0].length;if(this.matchPos=Bu(this.text,r+(o==r?1:0)),o==this.curLineStart+this.curLine.length&&this.nextLine(),(o<r||o>this.value.to)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},hp=new WeakMap,Tu=class t{constructor(e,a){this.from=e,this.text=a}get to(){return this.from+this.text.length}static get(e,a,o){let r=hp.get(e);if(!r||r.from>=o||r.to<=a){let i=new t(a,e.sliceString(a,o));return hp.set(e,i),i}if(r.from==a&&r.to==o)return r;let{text:n,from:s}=r;return s>a&&(n=e.sliceString(a,s)+n,s=a),r.to<o&&(n+=e.sliceString(r.to,o)),hp.set(e,new t(s,n)),new t(a,n.slice(a-s,o-s))}},Eu=class{constructor(e,a,o,r,n){this.text=e,this.to=n,this.done=!1,this.value=x0,this.matchPos=Bu(e,r),this.re=new RegExp(a,Lp+(o?.ignoreCase?"i":"")),this.test=o?.test,this.flat=Tu.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,a=this.re.exec(this.flat.text);if(a&&!a[0]&&a.index==e&&(this.re.lastIndex=e+1,a=this.re.exec(this.flat.text)),a){let o=this.flat.from+a.index,r=o+a[0].length;if((this.flat.to>=this.to||a.index+a[0].length<=this.flat.text.length-10)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this.matchPos=Bu(this.text,r+(o==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Tu.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(Du.prototype[Symbol.iterator]=Eu.prototype[Symbol.iterator]=function(){return this});function QT(t){try{return new RegExp(t,Lp),!0}catch{return!1}}function Bu(t,e){if(e>=t.length)return e;let a=t.lineAt(e),o;for(;e<a.to&&(o=a.text.charCodeAt(e-a.from))>=56320&&o<57344;)e++;return e}var eE=t=>{let{state:e}=t,a=String(e.doc.lineAt(t.state.selection.main.head).number),{close:o,result:r}=RC(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:a},focus:!0,submitLabel:e.phrase("go")});return r.then(n=>{let s=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!s){t.dispatch({effects:o});return}let i=e.doc.lineAt(e.selection.main.head),[,l,u,d,f]=s,c=d?+d.slice(1):0,h=u?+u:i.number;if(u&&f){let g=h/100;l&&(g=g*(l=="-"?-1:1)+i.number/e.doc.lines),h=Math.round(e.doc.lines*g)}else u&&l&&(h=h*(l=="-"?-1:1)+i.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,h))),m=V.cursor(p.from+Math.max(0,Math.min(c,p.length)));t.dispatch({effects:[o,J.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0};var tE=({state:t,dispatch:e})=>{let{selection:a}=t,o=V.create(a.ranges.map(r=>t.wordAt(r.head)||V.cursor(r.head)),a.mainIndex);return o.eq(a)?!1:(e(t.update({selection:o})),!0)};function aE(t,e){let{main:a,ranges:o}=t.selection,r=t.wordAt(a.head),n=r&&r.from==a.from&&r.to==a.to;for(let s=!1,i=new Pr(t.doc,e,o[o.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new Pr(t.doc,e,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some(l=>l.from==i.value.from))continue;if(n){let l=t.wordAt(i.value.from);if(!l||l.from!=i.value.from||l.to!=i.value.to)continue}return i.value}}var oE=({state:t,dispatch:e})=>{let{ranges:a}=t.selection;if(a.some(n=>n.from===n.to))return tE({state:t,dispatch:e});let o=t.sliceDoc(a[0].from,a[0].to);if(t.selection.ranges.some(n=>t.sliceDoc(n.from,n.to)!=o))return!1;let r=aE(t,o);return r?(e(t.update({selection:t.selection.addRange(V.range(r.from,r.to),!1),effects:J.scrollIntoView(r.to)})),!0):!1},Fn=j.define({combine(t){return Pt(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new xp(e),scrollToMatch:e=>J.scrollIntoView(e)})}});var Ou=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||QT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(a,o)=>o=="n"?`
21
- `:o=="r"?"\r":o=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new mp(this):new pp(this)}getCursor(e,a=0,o){let r=e.doc?e:Se.create({doc:e});return o==null&&(o=r.doc.length),this.regexp?On(this,r,a,o):Bn(this,r,a,o)}},Fu=class{constructor(e){this.spec=e}};function rE(t,e,a){return(o,r,n,s)=>{if(a&&!a(o,r,n,s))return!1;let i=o>=s&&r<=s+n.length?n.slice(o-s,r-s):e.doc.sliceString(o,r);return t(i,e,o,r)}}function Bn(t,e,a,o){let r;return t.wholeWord&&(r=nE(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=rE(t.test,e,r)),new Pr(e.doc,t.unquoted,a,o,t.caseSensitive?void 0:n=>n.toLowerCase(),r)}function nE(t,e){return(a,o,r,n)=>((n>a||n+r.length<o)&&(n=Math.max(0,a-2),r=t.sliceString(n,Math.min(t.length,o+2))),(e(Nu(r,a-n))!=Ee.Word||e(Hu(r,a-n))!=Ee.Word)&&(e(Hu(r,o-n))!=Ee.Word||e(Nu(r,o-n))!=Ee.Word))}var pp=class extends Fu{constructor(e){super(e)}nextMatch(e,a,o){let r=Bn(this.spec,e,o,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,a+this.spec.unquoted.length);r=Bn(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==a&&r.value.to==o?null:r.value}prevMatchInRange(e,a,o){for(let r=o;;){let n=Math.max(a,r-1e4-this.spec.unquoted.length),s=Bn(this.spec,e,n,r),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(n==a)return null;r-=1e4}}prevMatch(e,a,o){let r=this.prevMatchInRange(e,0,a);return r||(r=this.prevMatchInRange(e,Math.max(0,o-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=a||r.to!=o)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,a){let o=Bn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Bn(this.spec,e,Math.max(0,a-this.spec.unquoted.length),Math.min(o+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function sE(t,e,a){return(o,r,n)=>(!a||a(o,r,n))&&t(n[0],e,o,r)}function On(t,e,a,o){let r;return t.wholeWord&&(r=iE(e.charCategorizer(e.selection.main.head))),t.test&&(r=sE(t.test,e,r)),new Du(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},a,o)}function Nu(t,e){return t.slice(We(t,e,!1),e)}function Hu(t,e){return t.slice(e,We(t,e))}function iE(t){return(e,a,o)=>!o[0].length||(t(Nu(o.input,o.index))!=Ee.Word||t(Hu(o.input,o.index))!=Ee.Word)&&(t(Hu(o.input,o.index+o[0].length))!=Ee.Word||t(Nu(o.input,o.index+o[0].length))!=Ee.Word)}var mp=class extends Fu{nextMatch(e,a,o){let r=On(this.spec,e,o,e.doc.length).next();return r.done&&(r=On(this.spec,e,0,a).next()),r.done?null:r.value}prevMatchInRange(e,a,o){for(let r=1;;r++){let n=Math.max(a,o-r*1e4),s=On(this.spec,e,n,o),i=null;for(;!s.next().done;)i=s.value;if(i&&(n==a||i.from>n+10))return i;if(n==a)return null}}prevMatch(e,a,o){return this.prevMatchInRange(e,0,a)||this.prevMatchInRange(e,o,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(a,o)=>{if(o=="&")return e.match[0];if(o=="$")return"$";for(let r=o.length;r>0;r--){let n=+o.slice(0,r);if(n>0&&n<e.match.length)return e.match[n]+o.slice(r)}return a})}matchAll(e,a){let o=On(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=On(this.spec,e,Math.max(0,a-250),Math.min(o+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},Js=le.define(),Cp=le.define(),Eo=He.define({create(t){return new Ys(gp(t).create(),null)},update(t,e){for(let a of e.effects)a.is(Js)?t=new Ys(a.value.create(),t.panel):a.is(Cp)&&(t=new Ys(t.query,a.value?yp:null));return t},provide:t=>Cr.from(t,e=>e.panel)});var Ys=class{constructor(e,a){this.query=e,this.panel=a}},lE=ce.mark({class:"cm-searchMatch"}),uE=ce.mark({class:"cm-searchMatch cm-searchMatch-selected"}),dE=Ge.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Eo))}update(t){let e=t.state.field(Eo);(e!=t.startState.field(Eo)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return ce.none;let{view:a}=this,o=new la;for(let r=0,n=a.visibleRanges,s=n.length;r<s;r++){let{from:i,to:l}=n[r];for(;r<s-1&&l>n[r+1].from-500;)l=n[++r].to;t.highlight(a.state,i,l,(u,d)=>{let f=a.state.selection.ranges.some(c=>c.from==u&&c.to==d);o.add(u,d,f?uE:lE)})}return o.finish()}},{decorations:t=>t.decorations});function Qs(t){return e=>{let a=e.state.field(Eo,!1);return a&&a.query.spec.valid?t(e,a):y0(e)}}var _u=Qs((t,{query:e})=>{let{to:a}=t.state.selection.main,o=e.nextMatch(t.state,a,a);if(!o)return!1;let r=V.single(o.from,o.to),n=t.state.facet(Fn);return t.dispatch({selection:r,effects:[wp(t,o),n.scrollToMatch(r.main,t)],userEvent:"select.search"}),C0(t),!0}),qu=Qs((t,{query:e})=>{let{state:a}=t,{from:o}=a.selection.main,r=e.prevMatch(a,o,o);if(!r)return!1;let n=V.single(r.from,r.to),s=t.state.facet(Fn);return t.dispatch({selection:n,effects:[wp(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),C0(t),!0}),fE=Qs((t,{query:e})=>{let a=e.matchAll(t.state,1e3);return!a||!a.length?!1:(t.dispatch({selection:V.create(a.map(o=>V.range(o.from,o.to))),userEvent:"select.search.matches"}),!0)}),cE=({state:t,dispatch:e})=>{let a=t.selection;if(a.ranges.length>1||a.main.empty)return!1;let{from:o,to:r}=a.main,n=[],s=0;for(let i=new Pr(t.doc,t.sliceDoc(o,r));!i.next().done;){if(n.length>1e3)return!1;i.value.from==o&&(s=n.length),n.push(V.range(i.value.from,i.value.to))}return e(t.update({selection:V.create(n,s),userEvent:"select.search.matches"})),!0},g0=Qs((t,{query:e})=>{let{state:a}=t,{from:o,to:r}=a.selection.main;if(a.readOnly)return!1;let n=e.nextMatch(a,o,o);if(!n)return!1;let s=n,i=[],l,u,d=[];s.precise?s.from==o&&s.to==r&&(u=a.toText(e.getReplacement(s)),i.push({from:s.from,to:s.to,insert:u}),d.push(J.announce.of(a.phrase("replaced match on line $",a.doc.lineAt(o).number)+"."))):s=e.nextMatch(a,s.from,s.to);let f=t.state.changes(i);return s&&(l=V.single(s.from,s.to).map(f),d.push(wp(t,s)),d.push(a.facet(Fn).scrollToMatch(l.main,t))),t.dispatch({changes:f,selection:l,effects:d,userEvent:"input.replace"}),!0}),hE=Qs((t,{query:e})=>{if(t.state.readOnly)return!1;let a=[];for(let r of e.matchAll(t.state,1e9)){let{from:n,to:s,precise:i}=r;i&&a.push({from:n,to:s,insert:e.getReplacement(r)})}if(!a.length)return!1;let o=t.state.phrase("replaced $ matches",a.length)+".";return t.dispatch({changes:a,effects:J.announce.of(o),userEvent:"input.replace.all"}),!0});function yp(t){return t.state.facet(Fn).createPanel(t)}function gp(t,e){var a,o,r,n,s;let i=t.selection.main,l=i.empty||i.to>i.from+100?"":t.sliceDoc(i.from,i.to);if(e&&!l)return e;let u=t.facet(Fn);return new Ou({search:((a=e?.literal)!==null&&a!==void 0?a:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(o=e?.caseSensitive)!==null&&o!==void 0?o:u.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:u.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:u.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function L0(t){let e=tu(t,yp);return e&&e.dom.querySelector("[main-field]")}function C0(t){let e=L0(t);e&&e==t.root.activeElement&&e.select()}var y0=t=>{let e=t.state.field(Eo,!1);if(e&&e.panel){let a=L0(t);if(a&&a!=t.root.activeElement){let o=gp(t.state,e.query.spec);o.valid&&t.dispatch({effects:Js.of(o)}),a.focus(),a.select()}}else t.dispatch({effects:[Cp.of(!0),e?Js.of(gp(t.state,e.query.spec)):le.appendConfig.of(mE)]});return!0},w0=t=>{let e=t.state.field(Eo,!1);if(!e||!e.panel)return!1;let a=tu(t,yp);return a&&a.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Cp.of(!1)}),!0},b0=[{key:"Mod-f",run:y0,scope:"editor search-panel"},{key:"F3",run:_u,shift:qu,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:_u,shift:qu,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:w0,scope:"editor search-panel"},{key:"Mod-Shift-l",run:cE},{key:"Mod-Alt-g",run:eE},{key:"Mod-d",run:oE,preventDefault:!0}],xp=class{constructor(e){this.view=e;let a=this.query=e.state.field(Eo).query.spec;this.commit=this.commit.bind(this),this.searchField=ye("input",{value:a.search,placeholder:zt(e,"Find"),"aria-label":zt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ye("input",{value:a.replace,placeholder:zt(e,"Replace"),"aria-label":zt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ye("input",{type:"checkbox",name:"case",form:"",checked:a.caseSensitive,onchange:this.commit}),this.reField=ye("input",{type:"checkbox",name:"re",form:"",checked:a.regexp,onchange:this.commit}),this.wordField=ye("input",{type:"checkbox",name:"word",form:"",checked:a.wholeWord,onchange:this.commit});function o(r,n,s){return ye("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=ye("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,o("next",()=>_u(e),[zt(e,"next")]),o("prev",()=>qu(e),[zt(e,"previous")]),o("select",()=>fE(e),[zt(e,"all")]),ye("label",null,[this.caseField,zt(e,"match case")]),ye("label",null,[this.reField,zt(e,"regexp")]),ye("label",null,[this.wordField,zt(e,"by word")]),...e.state.readOnly?[]:[ye("br"),this.replaceField,o("replace",()=>g0(e),[zt(e,"replace")]),o("replaceAll",()=>hE(e),[zt(e,"replace all")])],ye("button",{name:"close",onclick:()=>w0(e),"aria-label":zt(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Ou({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Js.of(e)}))}keydown(e){bC(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?qu:_u)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),g0(this.view))}update(e){for(let a of e.transactions)for(let o of a.effects)o.is(Js)&&!o.value.eq(this.query)&&this.setQuery(o.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Fn).top}};function zt(t,e){return t.state.phrase(e)}var Pu=30,Ru=/[\s\.,:;?!]/;function wp(t,{from:e,to:a}){let o=t.state.doc.lineAt(e),r=t.state.doc.lineAt(a).to,n=Math.max(o.from,e-Pu),s=Math.min(r,a+Pu),i=t.state.sliceDoc(n,s);if(n!=o.from){for(let l=0;l<Pu;l++)if(!Ru.test(i[l+1])&&Ru.test(i[l])){i=i.slice(l);break}}if(s!=r){for(let l=i.length-1;l>i.length-Pu;l--)if(!Ru.test(i[l-1])&&Ru.test(i[l])){i=i.slice(0,l);break}}return J.announce.of(`${t.state.phrase("current match")}. ${i} ${t.state.phrase("on line")} ${o.number}.`)}var pE=J.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),mE=[Eo,ua.low(dE),pE];var Uu=class{constructor(e,a,o,r){this.state=e,this.pos=a,this.explicit=o,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let a=yt(this.state).resolveInner(this.pos,-1);for(;a&&e.indexOf(a.name)<0;)a=a.parent;return a?{from:a.from,to:this.pos,text:this.state.sliceDoc(a.from,this.pos),type:a.type}:null}matchBefore(e){let a=this.state.doc.lineAt(this.pos),o=Math.max(a.from,this.pos-250),r=a.text.slice(o-a.from,this.pos-a.from),n=r.search(R0(e,!1));return n<0?null:{from:o+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,a,o){e=="abort"&&this.abortListeners&&(this.abortListeners.push(a),o&&o.onDocChange&&(this.abortOnDocChange=!0))}};function I0(t){let e=Object.keys(t).join(""),a=/\w/.test(e);return a&&(e=e.replace(/\w/g,"")),`[${a?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function gE(t){let e=Object.create(null),a=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let n=1;n<r.length;n++)a[r[n]]=!0}let o=I0(e)+I0(a)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function xE(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[a,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:gE(e);return r=>{let n=r.matchBefore(o);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:a}:null}}var Vu=class{constructor(e,a,o,r){this.completion=e,this.source=a,this.match=o,this.score=r}};function Dr(t){return t.selection.main.from}function R0(t,e){var a;let{source:o}=t,r=e&&o[0]!="^",n=o[o.length-1]!="$";return!r&&!n?t:new RegExp(`${r?"^":""}(?:${o})${n?"$":""}`,(a=t.flags)!==null&&a!==void 0?a:t.ignoreCase?"i":"")}var D0=At.define();function LE(t,e,a,o){let{main:r}=t.selection,n=a-r.from,s=o-r.from;return{...t.changeByRange(i=>{if(i!=r&&a!=o&&t.sliceDoc(i.from+n,i.from+s)!=t.sliceDoc(a,o))return{range:i};let l=t.toText(e);return{changes:{from:i.from+n,to:o==r.from?i.to:i.from+s,insert:l},range:V.cursor(i.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var S0=new WeakMap;function CE(t){if(!Array.isArray(t))return t;let e=S0.get(t);return e||S0.set(t,e=xE(t)),e}var Wu=le.define(),ei=le.define(),vp=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let a=0;a<e.length;){let o=Mt(e,a),r=$t(o);this.chars.push(o);let n=e.slice(a,a+r),s=n.toUpperCase();this.folded.push(Mt(s==n?n.toLowerCase():s,0)),a+=r}this.astral=e.length!=this.chars.length}ret(e,a){return this.score=e,this.matched=a,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:a,folded:o,any:r,precise:n,byWord:s}=this;if(a.length==1){let C=Mt(e,0),L=$t(C),y=L==e.length?0:-100;if(C!=a[0])if(C==o[0])y+=-200;else return null;return this.ret(y,[0,L])}let i=e.indexOf(this.pattern);if(i==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=a.length,u=0;if(i<0){for(let C=0,L=Math.min(e.length,200);C<L&&u<l;){let y=Mt(e,C);(y==a[u]||y==o[u])&&(r[u++]=C),C+=$t(y)}if(u<l)return null}let d=0,f=0,c=!1,h=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let C=0,L=Math.min(e.length,200),y=0;C<L&&f<l;){let S=Mt(e,C);i<0&&(d<l&&S==a[d]&&(n[d++]=C),h<l&&(S==a[h]||S==o[h]?(h==0&&(p=C),m=C+1,h++):h=0));let w,b=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(w=ys(S))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!C||b==1&&g||y==0&&b!=0)&&(a[f]==S||o[f]==S&&(c=!0)?s[f++]=C:s.length&&(x=!1)),y=b,C+=$t(S)}return f==l&&s[0]==0&&x?this.result(-100+(c?-200:0),s,e):h==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):i>-1?this.ret(-700-e.length,[i,i+this.pattern.length]):h==l?this.ret(-900-e.length,[p,m]):f==l?this.result(-100+(c?-200:0)+-700+(x?0:-1100),s,e):a.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,a,o){let r=[],n=0;for(let s of a){let i=s+(this.astral?$t(Mt(o,s)):1);n&&r[n-1]==s?r[n-1]=i:(r[n++]=s,r[n++]=i)}return this.ret(e-o.length,r)}},kp=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let a=e.slice(0,this.pattern.length),o=a==this.pattern?0:a.toLowerCase()==this.folded?-200:null;return o==null?null:(this.matched=[0,a.length],this.score=o+(e.length==this.pattern.length?0:-100),this)}},tt=j.define({combine(t){return Pt(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:yE,filterStrict:!1,compareCompletions:(e,a)=>(e.sortText||e.label).localeCompare(a.sortText||a.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,a)=>e&&a,closeOnBlur:(e,a)=>e&&a,icons:(e,a)=>e&&a,tooltipClass:(e,a)=>o=>v0(e(o),a(o)),optionClass:(e,a)=>o=>v0(e(o),a(o)),addToOptions:(e,a)=>e.concat(a),filterStrict:(e,a)=>e||a})}});function v0(t,e){return t?e?t+" "+e:t:e}function yE(t,e,a,o,r,n){let s=t.textDirection==be.RTL,i=s,l=!1,u="top",d,f,c=e.left-r.left,h=r.right-e.right,p=o.right-o.left,m=o.bottom-o.top;if(i&&c<Math.min(p,h)?i=!1:!i&&h<Math.min(p,c)&&(i=!0),p<=(i?c:h))d=Math.max(r.top,Math.min(a.top,r.bottom-m))-e.top,f=Math.min(400,i?c:h);else{l=!0,f=Math.min(400,(s?e.right:r.right-e.left)-30);let C=r.bottom-e.bottom;C>=m||C>e.top?d=a.bottom-e.top:(u="bottom",d=e.bottom-a.top)}let g=(e.bottom-e.top)/n.offsetHeight,x=(e.right-e.left)/n.offsetWidth;return{style:`${u}: ${d/g}px; max-width: ${f/x}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":i?"left":"right")}}var Dp=le.define();function wE(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(a){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),a.type&&o.classList.add(...a.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(a,o,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let i=a.displayLabel||a.label,l=0;for(let u=0;u<n.length;){let d=n[u++],f=n[u++];d>l&&s.appendChild(document.createTextNode(i.slice(l,d)));let c=s.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(i.slice(d,f))),c.className="cm-completionMatchedText",l=f}return l<i.length&&s.appendChild(document.createTextNode(i.slice(l))),s},position:50},{render(a){if(!a.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=a.detail,o},position:80}),e.sort((a,o)=>a.position-o.position).map(a=>a.render)}function bp(t,e,a){if(t<=a)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/a);return{from:r*a,to:(r+1)*a}}let o=Math.ceil((t-e)/a);return{from:t-o*a,to:t-(o-1)*a}}var Ap=class{constructor(e,a,o){this.view=e,this.stateField=a,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(a),{options:n,selected:s}=r.open,i=e.state.facet(tt);this.optionContent=wE(i),this.optionClass=i.optionClass,this.tooltipClass=i.tooltipClass,this.range=bp(n.length,s,i.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=e.state.field(a).open;for(let d=l.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]<u.length){this.applyCompletion(e,u[+f[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:Dp.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(tt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:ei.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,a){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,a,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var a;let o=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),o!=r){let{options:n,selected:s,disabled:i}=o.open;(!r.open||r.open.options!=n)&&(this.range=bp(n.length,s,e.state.facet(tt).maxRenderedOptions),this.showOptions(n,o.id)),this.updateSel(),i!=((a=r.open)===null||a===void 0?void 0:a.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!i)}}updateTooltipClass(e){let a=this.tooltipClass(e);if(a!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of a.split(" "))o&&this.dom.classList.add(o);this.currentClass=a}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),a=e.open;(a.selected>-1&&a.selected<this.range.from||a.selected>=this.range.to)&&(this.range=bp(a.options.length,a.selected,this.view.state.facet(tt).maxRenderedOptions),this.showOptions(a.options,e.id));let o=this.updateSelectedOption(a.selected);if(o){this.destroyInfo();let{completion:r}=a.options[a.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(i=>{i&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(i,r)}).catch(i=>it(this.view.state,i,"completion info")):(this.addInfoPane(s,r),o.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,a){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",o.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;o.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let a=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),a=o):o.hasAttribute("aria-selected")&&(o.removeAttribute("aria-selected"),o.removeAttribute("aria-describedby"));return a&&IE(this.list,a),a}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let a=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,a.bottom)-10||r.bottom<Math.max(n.top,a.top)+10?null:this.view.state.facet(tt).positionInfo(this.view,a,r,o,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,a,o){let r=document.createElement("ul");r.id=a,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",s=>{s.target==r&&s.preventDefault()});let n=null;for(let s=o.from;s<o.to;s++){let{completion:i,match:l}=e[s],{section:u}=i;if(u){let c=typeof u=="string"?u:u.name;if(c!=n&&(s>o.from||o.from==0))if(n=c,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let h=r.appendChild(document.createElement("completion-section"));h.textContent=c}}let d=r.appendChild(document.createElement("li"));d.id=a+"-"+s,d.setAttribute("role","option");let f=this.optionClass(i);f&&(d.className=f);for(let c of this.optionContent){let h=c(i,this.view.state,this.view,l);h&&d.appendChild(h)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function bE(t,e){return a=>new Ap(a,t,e)}function IE(t,e){let a=t.getBoundingClientRect(),o=e.getBoundingClientRect(),r=a.height/t.offsetHeight;o.top<a.top?t.scrollTop-=(a.top-o.top)/r:o.bottom>a.bottom&&(t.scrollTop+=(o.bottom-a.bottom)/r)}function k0(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function SE(t,e){let a=[],o=null,r=null,n=d=>{a.push(d);let{section:f}=d.completion;if(f){o||(o=[]);let c=typeof f=="string"?f:f.name;o.some(h=>h.name==c)||o.push(typeof f=="string"?{name:c}:f)}},s=e.facet(tt);for(let d of t)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let c of d.result.options)n(new Vu(c,d.source,f?f(c):[],1e9-a.length));else{let c=e.sliceDoc(d.from,d.to),h,p=s.filterStrict?new kp(c):new vp(c);for(let m of d.result.options)if(h=p.match(m.label)){let g=m.displayLabel?f?f(m,h.matched):[]:h.matched,x=h.score+(m.boost||0);if(n(new Vu(m,d.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:C}=m.section;r||(r=Object.create(null)),r[C]=Math.max(x,r[C]||-1e9)}}}}if(o){let d=Object.create(null),f=0,c=(h,p)=>(h.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[h.name]:0)||(typeof h.rank=="number"?h.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(h.name<p.name?-1:1);for(let h of o.sort(c))f-=1e5,d[h.name]=f;for(let h of a){let{section:p}=h.completion;p&&(h.score+=d[typeof p=="string"?p:p.name])}}let i=[],l=null,u=s.compareCompletions;for(let d of a.sort((f,c)=>c.score-f.score||u(f.completion,c.completion))){let f=d.completion;!l||l.label!=f.label||l.detail!=f.detail||l.type!=null&&f.type!=null&&l.type!=f.type||l.apply!=f.apply||l.boost!=f.boost?i.push(d):k0(d.completion)>k0(l)&&(i[i.length-1]=d),l=d.completion}return i}var Mp=class t{constructor(e,a,o,r,n,s){this.options=e,this.attrs=a,this.tooltip=o,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,a){return e==this.selected||e>=this.options.length?this:new t(this.options,A0(a,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,a,o,r,n,s){if(r&&!s&&e.some(u=>u.isPending))return r.setDisabled();let i=SE(e,a);if(!i.length)return r&&e.some(u=>u.isPending)?r.setDisabled():null;let l=a.facet(tt).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;d<i.length;d++)if(i[d].completion==u){l=d;break}}return new t(i,A0(o,l),{pos:e.reduce((u,d)=>d.hasResult()?Math.min(u,d.from):u,1e8),create:RE,above:n.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new t(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Pp=class t{constructor(e,a,o){this.active=e,this.id=a,this.open=o}static start(){return new t(ME,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:a}=e,o=a.facet(tt),n=(o.override||a.languageDataAt("autocomplete",Dr(a)).map(CE)).map(l=>(this.active.find(d=>d.source==l)||new no(l,this.active.some(d=>d.state!=0)?1:0)).update(e,o));n.length==this.active.length&&n.every((l,u)=>l==this.active[u])&&(n=this.active);let s=this.open,i=e.effects.some(l=>l.is(Tp));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!vE(n,this.active)||i?s=Mp.build(n,a,this.id,s,o,i):s&&s.disabled&&!n.some(l=>l.isPending)&&(s=null),!s&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new no(l.source,0):l));for(let l of e.effects)l.is(Dp)&&(s=s&&s.setSelected(l.value,this.id));return n==this.active&&s==this.open?this:new t(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?kE:AE}};function vE(t,e){if(t==e)return!0;for(let a=0,o=0;;){for(;a<t.length&&!t[a].hasResult();)a++;for(;o<e.length&&!e[o].hasResult();)o++;let r=a==t.length,n=o==e.length;if(r||n)return r==n;if(t[a++].result!=e[o++].result)return!1}}var kE={"aria-autocomplete":"list"},AE={};function A0(t,e){let a={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(a["aria-activedescendant"]=t+"-"+e),a}var ME=[];function T0(t,e){if(t.isUserEvent("input.complete")){let o=t.annotation(D0);if(o&&e.activateOnCompletion(o))return 12}let a=t.isUserEvent("input.type");return a&&e.activateOnTyping?5:a?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var no=class t{constructor(e,a,o=!1){this.source=e,this.state=a,this.explicit=o}hasResult(){return!1}get isPending(){return this.state==1}update(e,a){let o=T0(e,a),r=this;(o&8||o&16&&this.touches(e))&&(r=new t(r.source,0)),o&4&&r.state==0&&(r=new t(this.source,1)),r=r.updateFor(e,o);for(let n of e.effects)if(n.is(Wu))r=new t(r.source,1,n.value);else if(n.is(ei))r=new t(r.source,0);else if(n.is(Tp))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,a){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Dr(e.state))}},Gu=class t extends no{constructor(e,a,o,r,n,s){super(e,3,a),this.limit=o,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,a){var o;if(!(a&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),i=Dr(e.state);if(i>s||!r||a&2&&(Dr(e.startState)==this.from||i<this.limit))return new no(this.source,a&4?1:0);let l=e.changes.mapPos(this.limit);return PE(r.validFor,e.state,n,s)?new t(this.source,this.explicit,l,r,n,s):r.update&&(r=r.update(r,n,s,new Uu(e.state,i,!1)))?new t(this.source,this.explicit,l,r,r.from,(o=r.to)!==null&&o!==void 0?o:Dr(e.state)):new no(this.source,1,this.explicit)}map(e){if(e.empty)return this;let a=this.result.map?this.result.map(this.result,e):this.result;return a?new t(this.source,this.explicit,e.mapPos(this.limit),a,e.mapPos(this.from),e.mapPos(this.to,1)):new no(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function PE(t,e,a,o){if(!t)return!1;let r=e.sliceDoc(a,o);return typeof t=="function"?t(r,a,o,e):R0(t,!0).test(r)}var Tp=le.define({map(t,e){return t.map(a=>a.map(e))}}),Tt=He.define({create(){return Pp.start()},update(t,e){return t.update(e)},provide:t=>[Pn.from(t,e=>e.tooltip),J.contentAttributes.from(t,e=>e.attrs)]});function Ep(t,e){let a=e.completion.apply||e.completion.label,o=t.state.field(Tt).active.find(r=>r.source==e.source);return o instanceof Gu?(typeof a=="string"?t.dispatch({...LE(t.state,a,o.from,o.to),annotations:D0.of(e.completion)}):a(t,e.completion,o.from,o.to),!0):!1}var RE=bE(Tt,Ep);function zu(t,e="option"){return a=>{let o=a.state.field(Tt,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<a.state.facet(tt).interactionDelay)return!1;let r=1,n;e=="page"&&(n=Ph(a,o.open.tooltip))&&(r=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,i=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return i<0?i=e=="page"?0:s-1:i>=s&&(i=e=="page"?s-1:0),a.dispatch({effects:Dp.of(i)}),!0}}var DE=t=>{let e=t.state.field(Tt,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(tt).interactionDelay?!1:Ep(t,e.open.options[e.open.selected])},Ip=t=>t.state.field(Tt,!1)?(t.dispatch({effects:Wu.of(!0)}),!0):!1,TE=t=>{let e=t.state.field(Tt,!1);return!e||!e.active.some(a=>a.state!=0)?!1:(t.dispatch({effects:ei.of(null)}),!0)},Rp=class{constructor(e,a){this.active=e,this.context=a,this.time=Date.now(),this.updates=[],this.done=void 0}},EE=50,BE=1e3,OE=Ge.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Tt).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Tt),a=t.state.facet(tt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Tt)==e)return;let o=t.transactions.some(n=>{let s=T0(n,a);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n<this.running.length;n++){let s=this.running[n];if(o||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>EE&&Date.now()-s.time>BE){for(let i of s.context.abortListeners)try{i()}catch(l){it(this.view.state,l)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(n=>n.effects.some(s=>s.is(Wu)))&&(this.pendingStart=!0);let r=this.pendingStart?50:a.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of t.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Tt);for(let a of e.active)a.isPending&&!this.running.some(o=>o.active.source==a.source)&&this.startQuery(a);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(tt).updateSyncTime))}startQuery(t){let{state:e}=this.view,a=Dr(e),o=new Uu(e,a,t.explicit,this.view),r=new Rp(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:ei.of(null)}),it(this.view.state,n)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(tt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],a=this.view.state.facet(tt),o=this.view.state.field(Tt);for(let r=0;r<this.running.length;r++){let n=this.running[r];if(n.done===void 0)continue;if(this.running.splice(r--,1),n.done){let i=Dr(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(i,n.done.from+(n.active.explicit?0:1)),u=new Gu(n.active.source,n.active.explicit,l,n.done,n.done.from,(t=n.done.to)!==null&&t!==void 0?t:i);for(let d of n.updates)u=u.update(d,a);if(u.hasResult()){e.push(u);continue}}let s=o.active.find(i=>i.source==n.active.source);if(s&&s.isPending)if(n.done==null){let i=new no(n.active.source,0);for(let l of n.updates)i=i.update(l,a);i.isPending||e.push(i)}else this.startQuery(s)}(e.length||o.open&&o.open.disabled)&&this.view.dispatch({effects:Tp.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Tt,!1);if(e&&e.tooltip&&this.view.state.facet(tt).closeOnBlur){let a=e.open&&Ph(this.view,e.open.tooltip);(!a||!a.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ei.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Wu.of(!1)}),20),this.composing=0}}}),FE=typeof navigator=="object"&&/Win/.test(navigator.platform),NE=ua.highest(J.domEventHandlers({keydown(t,e){let a=e.state.field(Tt,!1);if(!a||!a.open||a.open.disabled||a.open.selected<0||t.key.length>1||t.ctrlKey&&!(FE&&t.altKey)||t.metaKey)return!1;let o=a.open.options[a.open.selected],r=a.active.find(s=>s.source==o.source),n=o.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(t.key)>-1&&Ep(e,o),!1}})),HE=J.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var $u={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Rr=le.define({map(t,e){let a=e.mapPos(t,-1,st.TrackAfter);return a??void 0}}),Bp=new class extends Gt{};Bp.startSide=1;Bp.endSide=-1;var E0=He.define({create(){return Ce.empty},update(t,e){if(t=t.map(e.changes),e.selection){let a=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:o=>o>=a.from&&o<=a.to})}for(let a of e.effects)a.is(Rr)&&(t=t.update({add:[Bp.range(a.value,a.value+1)]}));return t}});function B0(){return[UE,E0]}var Sp="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function _E(t){for(let e=0;e<Sp.length;e+=2)if(Sp.charCodeAt(e)==t)return Sp.charAt(e+1);return ys(t<128?t:t+1)}function qE(t,e){return t.languageDataAt("closeBrackets",e)[0]||$u}var zE=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),UE=J.inputHandler.of((t,e,a,o)=>{if((zE?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&$t(Mt(o,0))==1||e!=r.from||a!=r.to)return!1;let n=VE(t.state,o);return n?(t.dispatch(n),!0):!1});function VE(t,e){let a=qE(t,t.selection.main.head),o=a.brackets||$u.brackets;for(let r of o){let n=_E(Mt(r,0));if(e==r)return n==r?$E(t,r,o.indexOf(r+r+r)>-1,a):WE(t,r,n,a.before||$u.before);if(e==n&&O0(t,t.selection.main.from))return GE(t,r,n)}return null}function O0(t,e){let a=!1;return t.field(E0).between(0,t.doc.length,o=>{o==e&&(a=!0)}),a}function Op(t,e){let a=t.sliceString(e,e+2);return a.slice(0,$t(Mt(a,0)))}function WE(t,e,a,o){let r=null,n=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:a,from:s.to}],effects:Rr.of(s.to+e.length),range:V.range(s.anchor+e.length,s.head+e.length)};let i=Op(t.doc,s.head);return!i||/\s/.test(i)||o.indexOf(i)>-1?{changes:{insert:e+a,from:s.head},effects:Rr.of(s.head+e.length),range:V.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function GE(t,e,a){let o=null,r=t.changeByRange(n=>n.empty&&Op(t.doc,n.head)==a?{changes:{from:n.head,to:n.head+a.length,insert:a},range:V.cursor(n.head+a.length)}:o={range:n});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function $E(t,e,a,o){let r=o.stringPrefixes||$u.stringPrefixes,n=null,s=t.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:Rr.of(i.to+e.length),range:V.range(i.anchor+e.length,i.head+e.length)};let l=i.head,u=Op(t.doc,l),d;if(u==e){if(M0(t,l))return{changes:{insert:e+e,from:l},effects:Rr.of(l+e.length),range:V.cursor(l+e.length)};if(O0(t,l)){let c=a&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+c.length,insert:c},range:V.cursor(l+c.length)}}}else{if(a&&t.sliceDoc(l-2*e.length,l)==e+e&&(d=P0(t,l-2*e.length,r))>-1&&M0(t,d))return{changes:{insert:e+e+e+e,from:l},effects:Rr.of(l+e.length),range:V.cursor(l+e.length)};if(t.charCategorizer(l)(u)!=Ee.Word&&P0(t,l,r)>-1&&!XE(t,l,e,r))return{changes:{insert:e+e,from:l},effects:Rr.of(l+e.length),range:V.cursor(l+e.length)}}return{range:n=i}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function M0(t,e){let a=yt(t).resolveInner(e+1);return a.parent&&a.from==e}function XE(t,e,a,o){let r=yt(t).resolveInner(e,-1),n=o.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<5;s++){let i=t.sliceDoc(r.from,Math.min(r.to,r.from+a.length+n)),l=i.indexOf(a);if(!l||l>-1&&o.indexOf(i.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>a.length+l;){if(t.sliceDoc(d.to-a.length,d.to)==a)return!1;d=d.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function P0(t,e,a){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=Ee.Word)return e;for(let r of a){let n=e-r.length;if(t.sliceDoc(n,e)==r&&o(t.sliceDoc(n-1,n))!=Ee.Word)return n}return-1}function F0(t={}){return[NE,Tt,tt.of(t),OE,KE,HE]}var Fp=[{key:"Ctrl-Space",run:Ip},{mac:"Alt-`",run:Ip},{mac:"Alt-i",run:Ip},{key:"Escape",run:TE},{key:"ArrowDown",run:zu(!0)},{key:"ArrowUp",run:zu(!1)},{key:"PageDown",run:zu(!0,"page")},{key:"PageUp",run:zu(!1,"page")},{key:"Enter",run:DE}],KE=ua.highest(yr.computeN([tt],t=>t.facet(tt).defaultKeymap?[Fp]:[]));import{jsx as eB}from"react/jsx-runtime";var jE=new Set(["entity","enum","struct","const","export","extends","fn","on","action","activity","task","variant","workflow","command","middleware","schedule","every","jai","migration","test","mock","assert","cartridge","service","component","app","route","layout","import","from","if","elif","else","while","for","in","return","break","continue","delete","defer","print","sleep","fail"]),ZE=new Set(["string","bool","ulid","document","dict","blob","DateTime","u8","u16","u32","u64","s8","s16","s32","s64","int","integer","float","float64","f32","f64","double","time","bytes","any","name","ref"]);function Np(t,e){for(;!t.eol()&&t.next()!==e;);return"string"}var YE={name:"nbt",startState:()=>({tripleString:!1}),token(t,e){if(e.tripleString){for(;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(t.eatSpace())return null;let a=t.peek();if(a==null)return null;if(a==="#")return t.skipToEnd(),"comment";if(t.match('"""')){for(e.tripleString=!0;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(a==='"')return t.next(),Np(t,'"');if(a==="'"){let o=t.string.charAt(t.pos-1);return/[A-Za-z0-9_]/.test(o)?(t.next(),null):(t.next(),Np(t,"'"))}if(a==="f"&&t.string.charAt(t.pos+1)==='"')return t.next(),t.next(),Np(t,'"');if(a==="@")return t.next(),t.eat("@"),t.eatWhile(/[A-Za-z0-9_]/),"meta";if(/\d/.test(a))return t.match(/^\d+(\.\d+)?/),"number";if(/[A-Za-z_]/.test(a)){t.eatWhile(/[A-Za-z0-9_]/);let o=t.current();return o==="true"||o==="false"?"atom":jE.has(o)?"keyword":ZE.has(o)||/^[A-Z]/.test(o)?"typeName":"variableName"}return/[+\-*/=<>!&|?.,:;]/.test(a)?(t.next(),t.eatWhile(/[+\-*/=<>!&|.]/),"operator"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}},qp=hu.define(YE);function zp(){return new du(qp,[kr.of(" ")])}function Hp(t,e){let a=t.lineAt(e);return{line:a.number-1,character:e-a.from}}function _p(t,e){let a=Math.min(Math.max(e.line+1,1),t.lines),o=t.line(a);return Math.min(o.from+Math.max(e.character,0),o.to)}function JE(t,e){return e.map(a=>{let o=_p(t,a.range.start),r=_p(t,a.range.end);r<=o&&(r=Math.min(o+1,t.length));let n=a.severity===2?"warning":a.severity===3||a.severity===4?"info":"error";return{from:o,to:r,severity:n,message:a.message,source:a.source??"nbt"}})}function QE(t){switch(t){case 3:return"function";case 5:return"property";case 13:return"enum";case 14:return"keyword";case 22:return"class";default:return"variable"}}function Up(t,e,a){let o=Ge.fromClass(class{constructor(i){this.view=i,this.timer=null,t.didOpen(e,i.state.doc.toString()),this.unsubscribe=t.onDiagnostics(e,l=>{let u=JE(this.view.state.doc,l);this.view.dispatch(s0(this.view.state,u))})}update(i){i.docChanged&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,t.didChange(e,this.view.state.doc.toString())},200))}destroy(){this.timer&&(clearTimeout(this.timer),t.didChange(e,this.view.state.doc.toString())),this.unsubscribe()}}),r=async i=>{let l=i.matchBefore(/\w*/);if(!l)return null;if(l.from===l.to&&!i.explicit){let f=i.state.doc.sliceString(Math.max(0,i.pos-1),i.pos);if(f!=="."&&f!==":"&&f!=='"')return null}t.didChange(e,i.state.doc.toString());let u;try{u=await t.completion(e,Hp(i.state.doc,i.pos))}catch{return null}let d=Array.isArray(u)?u:u?.items??[];return d.length===0?null:{from:l.from,options:d.map(f=>({label:f.label,type:QE(f.kind),detail:f.detail}))}},n=eu(async(i,l)=>{let u;try{u=await t.hover(e,Hp(i.state.doc,l))}catch{return null}let d=u?.contents?.value;return d?{pos:l,create:()=>{let f=document.createElement("pre");return f.className="nbt-hover-tooltip",f.style.cssText="margin:0;padding:6px 8px;max-width:480px;white-space:pre-wrap;font-size:11px;",f.textContent=d.replace(/```\w*\n?/g,""),{dom:f}}}:null}),s=yr.of([{key:"F12",run:i=>{let l=Hp(i.state.doc,i.state.selection.main.head);return t.definition(e,l).then(u=>{let d=Array.isArray(u)?u[0]??null:u;if(d?.uri)if(d.uri===e){let f=_p(i.state.doc,d.range.start);i.dispatch({selection:{anchor:f},scrollIntoView:!0})}else a?.(d.uri,d.range.start.line)}).catch(()=>{}),!0}}]);return[o,F0({override:[r]}),n,s]}var tB=J.theme({"&":{height:"100%",fontSize:"12px",backgroundColor:"var(--background)",color:"var(--foreground)"},".cm-content":{fontFamily:"ui-monospace, monospace"},".cm-gutters":{backgroundColor:"var(--background)",color:"var(--muted-foreground)",borderRight:"1px solid var(--border)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--accent) 35%, transparent)"},"&.cm-focused":{outline:"none"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)"}},{dark:!0}),Xu=({uri:t,value:e,readOnly:a=!1,lsp:o,onChange:r,onSave:n,onGotoDefinition:s})=>{let i=Nn.useRef(null),l=Nn.useRef(null),u=Nn.useRef(r);u.current=r;let d=Nn.useRef(n);d.current=n;let f=Nn.useRef(s);return f.current=s,Nn.useEffect(()=>{let c=i.current;if(!c)return;let h=[BC(),Iy(),kC(),MC(),iy(),B0(),p0(),ay(oy,{fallback:!0}),zp(),tB,yr.of([{key:"Mod-s",run:m=>(d.current?.(m.state.doc.toString()),!0)},...t0,...Ay,...b0,...Fp,a0]),J.updateListener.of(m=>{m.docChanged&&u.current?.(m.state.doc.toString())}),Se.readOnly.of(a)];o&&!a&&h.push(Up(o,t,(m,g)=>f.current?.(m,g)));let p=new J({state:Se.create({doc:e,extensions:h}),parent:c});return l.current=p,()=>{p.destroy(),l.current=null}},[t,a,o]),eB("div",{ref:i,className:"h-full min-h-0 overflow-hidden"})},Ku=class{constructor(t){this.rootUri=null,this.ws=null,this.nextId=1,this.pending=new Map,this.diagHandlers=new Map,this.docs=new Map,this.ready=!1,this.queue=[],this.closed=!1,this.retryMs=500,this.url=t,this.connect()}dispose(){this.closed=!0,this.ws?.close(),this.pending.forEach(t=>t.reject(new Error("lsp client disposed"))),this.pending.clear()}connect(){if(this.closed)return;let t=new WebSocket(this.url);this.ws=t,t.onopen=()=>{this.retryMs=500,this.rootUri&&this.sendInitialize(this.rootUri)},t.onmessage=e=>{typeof e.data=="string"&&this.onMessage(e.data)},t.onclose=()=>{this.ready=!1,this.ws=null;for(let e of this.pending.values())e.reject(new Error("lsp connection closed"));this.pending.clear(),this.closed||(setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(this.retryMs*2,1e4))}}initialize(t){this.rootUri=t,this.ws?.readyState===WebSocket.OPEN&&this.sendInitialize(t)}sendInitialize(t){let e=this.nextId++;this.pending.set(e,{resolve:()=>{this.sendRaw({jsonrpc:"2.0",method:"initialized",params:{}}),this.ready=!0;for(let[o,r]of this.docs)this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:o,languageId:"nbt",version:r.version,text:r.text}}});let a=this.queue;this.queue=[];for(let o of a)this.ws?.send(o)},reject:()=>{}}),this.ws?.send(JSON.stringify({jsonrpc:"2.0",id:e,method:"initialize",params:{rootUri:t}}))}sendRaw(t){let e=JSON.stringify(t);this.ready&&this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.queue.push(e)}onMessage(t){let e;try{e=JSON.parse(t)}catch{return}if(e.id!=null&&(e.result!==void 0||e.error)){let a=this.pending.get(e.id);if(!a)return;this.pending.delete(e.id),e.error?a.reject(new Error(e.error.message??"lsp error")):a.resolve(e.result);return}if(e.method==="textDocument/publishDiagnostics"){let a=e.params?.uri,o=this.diagHandlers.get(a);o&&o(e.params?.diagnostics??[])}}request(t,e){let a=this.nextId++,o=new Promise((r,n)=>{this.pending.set(a,{resolve:r,reject:n})});return this.sendRaw({jsonrpc:"2.0",id:a,method:t,params:e}),o}onDiagnostics(t,e){return this.diagHandlers.set(t,e),()=>{this.diagHandlers.get(t)===e&&this.diagHandlers.delete(t)}}didOpen(t,e){if(this.docs.get(t)){this.didChange(t,e);return}this.docs.set(t,{text:e,version:1}),this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:t,languageId:"nbt",version:1,text:e}}})}didChange(t,e){let a=this.docs.get(t);if(!a)return this.didOpen(t,e);a.text!==e&&(a.text=e,a.version+=1,this.sendRaw({jsonrpc:"2.0",method:"textDocument/didChange",params:{textDocument:{uri:t,version:a.version},contentChanges:[{text:e}]}}))}didClose(t){this.docs.delete(t)&&this.sendRaw({jsonrpc:"2.0",method:"textDocument/didClose",params:{textDocument:{uri:t}}})}completion(t,e){return this.request("textDocument/completion",{textDocument:{uri:t},position:e})}hover(t,e){return this.request("textDocument/hover",{textDocument:{uri:t},position:e})}definition(t,e){return this.request("textDocument/definition",{textDocument:{uri:t},position:e})}};import Vp from"react";import{jsx as aB}from"react/jsx-runtime";import rB,{createContext as nB,useContext as q0,useEffect as ju,useRef as Hn,useState as Zu}from"react";var H0=Vp.createContext({apiBaseUrl:""}),Wp=({apiBaseUrl:t="",children:e})=>{let a=Vp.useMemo(()=>({apiBaseUrl:t}),[t]);return aB(H0.Provider,{value:a,children:e})};function at(){return Vp.useContext(H0)}function Tr(t){if(!t){let e=window.location;return`${e.protocol==="https:"?"wss:":"ws:"}//${e.host}`}return t.replace(/^http(s?):/,"ws$1:")}var _0="nbt_devtools_token";function Yu(){try{return localStorage.getItem(_0)}catch{return null}}function Gp(t){try{localStorage.setItem(_0,t)}catch{}}function so(t){let e={...t??{}},a=Yu();return a&&(e.Authorization=`Bearer ${a}`),e}async function $p(t,e){let a=await fetch(`${t}/_console/whoami`,{signal:e,credentials:"include",headers:so()});if(!a.ok)throw new Error(`HTTP ${a.status}`);return await a.json()}async function Xp(t,e,a){let o=await fetch(`${t}/api/auth/user/signin`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,password:a})});if(!o.ok)throw new Error(o.status===401?"Invalid email or password":`Sign-in failed (HTTP ${o.status})`);let r=await o.json();if(!r.token)throw new Error("Sign-in returned no token");Gp(r.token)}async function Kp(t,e,a,o){let r=await fetch(`${t}/api/auth/user/signup`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,email:a,password:o})});if(!r.ok){let s=`HTTP ${r.status}`;if(r.status===409)s="That email is already registered";else try{let i=await r.json();i?.error&&(s=i.error)}catch{}throw new Error(`Sign-up failed: ${s}`)}let n=await r.json();if(!n.token)throw new Error("Sign-up returned no token");Gp(n.token)}function oB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for WS auth")}function jp(t){let e=Yu();return e?[t,`auth-${oB(e)}`]:[t]}var z0=1,U0=2,sB=3,Zp=4,Yp=5,Jp=6,iB=255,Ju=1,Qu=2,ed=3,td=4,ad=5,od=6,rd=7,nd=8,ai=9,sd=10,id=11,V0=12,ld=13,ud=14;function lB(t){switch(t){case Ju:return 1;case Qu:return 2;case ed:return 4;case td:return 8;case ad:return 1;case od:return 2;case rd:return 4;case nd:return 8;case ai:return 1;case sd:return 4;case id:return 8;case V0:return 0;case ld:return 8;case ud:return 0;default:return 0}}var uB=class{constructor(){this.columns=[],this.rows=[],this.totalRows=0,this.searchActive=!1,this._fullRows=[],this._fullTotalRows=0,this._idColIndex=-1,this._query=""}applySchema(t){this.columns=t.columns,this.totalRows=t.totalRows,this.rows=[],this._fullRows=[],this._fullTotalRows=t.totalRows,this.searchActive=!1,this._query="",this._idColIndex=t.columns.findIndex(e=>e.name==="id")}appendChunk(t){for(let e=0;e<t.length;e++){let a=t[e];this._fullRows.push(a),this.searchActive||this.rows.push(a)}}applyDelta(t){let e=this._fullRows;if(t.op===Zp&&t.rowData){e.push(t.rowData),this._fullTotalRows++,this.totalRows++,this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===Yp&&t.rowData){let a=this._findRowById(e,t.rowData);a>=0&&(e[a]=t.rowData),this.searchActive&&this._applySearch();return}if(t.op===Jp&&t.id!==void 0){let a=String(t.id),o=this._findRowByIdStr(e,a);o>=0&&(e.splice(o,1),this._fullTotalRows--,this.totalRows--,this.searchActive?this._applySearch():this.rows=this._fullRows);return}}search(t){let e=t.trim().toLowerCase();if(!e){this.exitSearch();return}this.searchActive=!0,this._query=e,this._applySearch()}exitSearch(){this.searchActive&&(this.rows=this._fullRows,this.totalRows=this._fullTotalRows,this.searchActive=!1,this._query="")}getRowCount(){return this.rows.length}_findRowById(t,e){if(this._idColIndex<0)return-1;let a=e[this._idColIndex];for(let o=0;o<t.length;o++)if(t[o][this._idColIndex]===a)return o;return-1}_findRowByIdStr(t,e){if(this._idColIndex<0)return-1;for(let a=0;a<t.length;a++)if(t[a][this._idColIndex]===e)return a;return-1}_applySearch(){this.rows=this._fullRows.filter(t=>t.some(e=>e.toLowerCase().includes(this._query))),this.totalRows=this.rows.length}},dd=new TextDecoder,fd=2,N0=1+fd;function dB(t){let e=Math.abs(t);return e<1e10?new Date(t*1e3):e<1e13?new Date(t):e<1e16?new Date(t/1e3):new Date(t/1e6)}function W0(t,e,a){switch(a.type){case Ju:return[String(t.getUint8(e)),1];case ad:return[String(t.getInt8(e)),1];case ai:return[t.getUint8(e)?"true":"false",1];case Qu:return[String(t.getUint16(e,!0)),2];case od:return[String(t.getInt16(e,!0)),2];case ed:return[String(t.getUint32(e,!0)),4];case rd:return[String(t.getInt32(e,!0)),4];case sd:return[String(t.getFloat32(e,!0)),4];case td:return[String(t.getBigUint64(e,!0)),8];case nd:return[String(t.getBigInt64(e,!0)),8];case id:return[String(t.getFloat64(e,!0)),8];case ld:{let o=Number(t.getBigInt64(e,!0));return o===0?["",8]:[dB(o).toISOString(),8]}case V0:case ud:{let o=t.getUint32(e,!0),r=new Uint8Array(t.buffer,t.byteOffset+e+4,o);return[dd.decode(r),4+o]}default:return["",0]}}function fB(t){return new DataView(t).getUint8(0)}function cB(t){return new DataView(t).getUint16(1,!0)}function hB(t){let e=new DataView(t),a=0,o=e.getUint8(a);if(a+=1,o!==z0)throw new Error(`Expected SCHEMA frame (0x01), got 0x${o.toString(16)}`);a+=fd;let r=e.getUint32(a,!0);a+=4;let n=e.getUint16(a,!0);a+=2;let s=[];for(let i=0;i<n;i++){let l=e.getUint8(a);a+=1;let u=e.getUint16(a,!0);a+=2;let d=new Uint8Array(t,a,u),f=dd.decode(d);a+=u,s.push({name:f,type:l,fixedSize:lB(l)})}return{totalRows:r,columns:s}}function pB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,r!==U0)throw new Error(`Expected DATA frame, got 0x${r.toString(16)}`);o+=fd;let n=a.getUint16(o,!0);o+=2;let s=[];for(let i=0;i<n;i++){let l=[];for(let u=0;u<e.length;u++){let[d,f]=W0(a,o,e[u]);l.push(d),o+=f}s.push(l)}return s}function mB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,o+=fd,r===Jp){let n=a.getUint16(o,!0);o+=2;let s=new Uint8Array(t,o,n);return{op:r,id:dd.decode(s)}}if(r===Zp||r===Yp){let n=[];for(let s=0;s<e.length;s++){let[i,l]=W0(a,o,e[s]);n.push(i),o+=l}return{op:r,rowData:n}}throw new Error(`Unknown delta op 0x${r.toString(16)}`)}function gB(t){let a=new DataView(t).getUint16(N0,!0),o=new Uint8Array(t,N0+2,a);return dd.decode(o)}function xB(t,e,a,o){return JSON.stringify({cmd:"sub",sid:t,cart:e,entity:a,...o})}var Qp=nB(null);function LB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for bulk WS auth")}function CB(t){return["nimbit-bulk",`auth-${LB(t)}`]}var ti=null,yB=6e4;async function wB(t,e){let a=Yu();if(a)return a;let o=Date.now();if(ti?.apiBaseUrl===e&&o-ti.at<yB)return ti.token;let r=await fetch(`${e}/api/auth/session/current`,{method:"POST",signal:t,credentials:"include",headers:{"content-type":"application/json"}});if(!r.ok)return null;let s=(await r.json()).session?.token;return s?(ti={apiBaseUrl:e,token:s,at:o},s):null}function bB(){ti=null}function _n(t){t.listeners.forEach(e=>e())}function em({registry:t,children:e}){let{apiBaseUrl:a}=at(),o=Hn(null),r=Hn([]),n=Hn(1),s=Hn(new Map),i=Hn(new Map),l=Hn(!1),[u,d]=Zu(!1),[f,c]=Zu(null),h=w=>{let b=o.current;b&&b.readyState===WebSocket.OPEN?b.send(w):r.current.push(w)},p=()=>{let w=o.current;if(!w||w.readyState!==WebSocket.OPEN)return;let b=r.current;r.current=[];for(let I of b)w.send(I)},m=(w,b)=>{let I=b.toLowerCase(),v=`${w}/${I}`,N=i.current.get(v);if(N)return N;let P=n.current++,R={sid:P,cart:w,entity:I,store:new uB,columns:[],totalRows:0,loadedRows:0,streaming:!1,error:null,streamRequested:!1,onRender:null,listeners:new Set};return i.current.set(v,R),s.current.set(P,R),R},g=w=>{w.streamRequested||(w.streamRequested=!0,h(xB(w.sid,w.cart,w.entity)))},x=w=>{let b=w.data,I=cB(b),v=s.current.get(I);if(!v)return;let N=fB(b),P=v.store;switch(N){case z0:{let R=hB(b);P.applySchema(R),v.columns=R.columns,v.totalRows=R.totalRows,v.loadedRows=0,v.streaming=!0,_n(v);break}case U0:{let R=pB(b,P.columns);P.appendChunk(R),v.loadedRows=P.getRowCount(),v.onRender?.();break}case sB:v.streaming=!1,_n(v);break;case Zp:case Yp:case Jp:{let R=mB(b,P.columns);P.applyDelta(R),v.totalRows=P.totalRows,v.loadedRows=P.getRowCount(),v.onRender?.(),_n(v);break}case iB:v.error=gB(b),v.streaming=!1,_n(v);break}};ju(()=>{let w=new AbortController,b=!1,I=!1,v=null;return r.current=[],n.current=1,s.current.clear(),i.current.clear(),l.current=!1,d(!1),c(null),(async()=>{let N=null;try{N=await wB(w.signal,a)}catch{}b||(v=N?new WebSocket(`${Tr(a)}/_ws/bulk`,CB(N)):new WebSocket(`${Tr(a)}/_ws/bulk`,["nimbit-bulk"]),v.binaryType="arraybuffer",o.current=v,v.onopen=()=>{b||o.current!==v||(I=!0,d(!0),c(null),p())},v.onmessage=x,v.onerror=()=>{},v.onclose=()=>{b||o.current!==v||(d(!1),o.current=null,I||(bB(),c("WebSocket connection closed")))})})(),()=>{if(b=!0,w.abort(),v){v.onopen=v.onmessage=v.onerror=v.onclose=null;try{v.close()}catch{}o.current===v&&(o.current=null)}}},[a]),ju(()=>{if(!u||l.current)return;let w=Object.keys(t);if(w.length!==0){l.current=!0;for(let b of w)for(let I of t[b]??[]){let v=m(b,I.name);g(v)}}},[u,t]);let S={getView:m,ensureStreamed:g,search:(w,b)=>{w.store.search(b),w.totalRows=w.store.totalRows,w.loadedRows=w.store.getRowCount(),_n(w),w.onRender?.()},clearSearch:w=>{w.store.exitSearch(),w.totalRows=w.store.totalRows,w.loadedRows=w.store.getRowCount(),_n(w),w.onRender?.()},subscribe:(w,b)=>(w.listeners.add(b),()=>{w.listeners.delete(b)}),connected:u,error:f};return rB.createElement(Qp.Provider,{value:S},e)}function tm(t){let e=q0(Qp);if(!e)throw new Error("useBulkRowCounts must be used within BulkStreamProvider");let[,a]=Zu(0),o=[];for(let s of Object.keys(t))for(let i of t[s]??[])o.push({id:`${s}:${i.name}`,view:e.getView(s,i.name)});let r=o.map(s=>s.id).join("|");ju(()=>{let s=o.map(i=>e.subscribe(i.view,()=>a(l=>l+1)));return()=>s.forEach(i=>i())},[r]);let n={};for(let s of o)n[s.id]=s.view.totalRows;return n}function am(t,e){let a=q0(Qp);if(!a)throw new Error("useBulkSubscription must be used within BulkStreamProvider");let o=a.getView(t,e),[,r]=Zu(0);return ju(()=>{let n=a.subscribe(o,()=>r(s=>s+1));return a.ensureStreamed(o),n},[o]),{store:o.store,connected:a.connected,streaming:o.streaming,error:o.error??a.error,columns:o.columns,totalRows:o.totalRows,loadedRows:o.loadedRows,search:n=>a.search(o,n),clearSearch:()=>a.clearSearch(o),setOnRender:n=>{o.onRender=n}}}import pt from"react";import{jsxs as dt,Fragment as po,jsx as W}from"react/jsx-runtime";import{createContext as Km,useContext as Ri,useMemo as ba,forwardRef as lS,useEffect as ke,useRef as we,useState as qa,useLayoutEffect as NF,useCallback as za,memo as $e}from"react";function qe(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let a=0,o;a<t.length;a++)(o=qe(t[a]))!==""&&(e+=(e&&" ")+o);else for(let a in t)t[a]&&(e+=(e&&" ")+a);return e}var IB={value:()=>{}};function $0(){for(var t=0,e=arguments.length,a={},o;t<e;++t){if(!(o=arguments[t]+"")||o in a||/[\s.]/.test(o))throw new Error("illegal type: "+o);a[o]=[]}return new cd(a)}function cd(t){this._=t}function SB(t,e){return t.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");if(r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),a&&!e.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:o}})}cd.prototype=$0.prototype={constructor:cd,on:function(t,e){var a=this._,o=SB(t+"",a),r,n=-1,s=o.length;if(arguments.length<2){for(;++n<s;)if((r=(t=o[n]).type)&&(r=vB(a[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++n<s;)if(r=(t=o[n]).type)a[r]=G0(a[r],t.name,e);else if(e==null)for(r in a)a[r]=G0(a[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var a in e)t[a]=e[a].slice();return new cd(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var a=new Array(r),o=0,r,n;o<r;++o)a[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(n=this._[t],o=0,r=n.length;o<r;++o)n[o].value.apply(e,a)},apply:function(t,e,a){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,n=o.length;r<n;++r)o[r].value.apply(e,a)}};function vB(t,e){for(var a=0,o=t.length,r;a<o;++a)if((r=t[a]).name===e)return r.value}function G0(t,e,a){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=IB,t=t.slice(0,o).concat(t.slice(o+1));break}return a!=null&&t.push({name:e,value:a}),t}var Er=$0;var hd="http://www.w3.org/1999/xhtml",om={svg:"http://www.w3.org/2000/svg",xhtml:hd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function io(t){var e=t+="",a=e.indexOf(":");return a>=0&&(e=t.slice(0,a))!=="xmlns"&&(t=t.slice(a+1)),om.hasOwnProperty(e)?{space:om[e],local:t}:t}function kB(t){return function(){var e=this.ownerDocument,a=this.namespaceURI;return a===hd&&e.documentElement.namespaceURI===hd?e.createElement(t):e.createElementNS(a,t)}}function AB(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function pd(t){var e=io(t);return(e.local?AB:kB)(e)}function MB(){}function Br(t){return t==null?MB:function(){return this.querySelector(t)}}function X0(t){typeof t!="function"&&(t=Br(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=new Array(s),l,u,d=0;d<s;++d)(l=n[d])&&(u=t.call(l,l.__data__,d,n))&&("__data__"in l&&(u.__data__=l.__data__),i[d]=u);return new ze(o,this._parents)}function rm(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function PB(){return[]}function oi(t){return t==null?PB:function(){return this.querySelectorAll(t)}}function RB(t){return function(){return rm(t.apply(this,arguments))}}function K0(t){typeof t=="function"?t=RB(t):t=oi(t);for(var e=this._groups,a=e.length,o=[],r=[],n=0;n<a;++n)for(var s=e[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&(o.push(t.call(l,l.__data__,u,s)),r.push(l));return new ze(o,r)}function ri(t){return function(){return this.matches(t)}}function md(t){return function(e){return e.matches(t)}}var DB=Array.prototype.find;function TB(t){return function(){return DB.call(this.children,t)}}function EB(){return this.firstElementChild}function j0(t){return this.select(t==null?EB:TB(typeof t=="function"?t:md(t)))}var BB=Array.prototype.filter;function OB(){return Array.from(this.children)}function FB(t){return function(){return BB.call(this.children,t)}}function Z0(t){return this.selectAll(t==null?OB:FB(typeof t=="function"?t:md(t)))}function Y0(t){typeof t!="function"&&(t=ri(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new ze(o,this._parents)}function gd(t){return new Array(t.length)}function J0(){return new ze(this._enter||this._groups.map(gd),this._parents)}function ni(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ni.prototype={constructor:ni,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Q0(t){return function(){return t}}function NB(t,e,a,o,r,n){for(var s=0,i,l=e.length,u=n.length;s<u;++s)(i=e[s])?(i.__data__=n[s],o[s]=i):a[s]=new ni(t,n[s]);for(;s<l;++s)(i=e[s])&&(r[s]=i)}function HB(t,e,a,o,r,n,s){var i,l,u=new Map,d=e.length,f=n.length,c=new Array(d),h;for(i=0;i<d;++i)(l=e[i])&&(c[i]=h=s.call(l,l.__data__,i,e)+"",u.has(h)?r[i]=l:u.set(h,l));for(i=0;i<f;++i)h=s.call(t,n[i],i,n)+"",(l=u.get(h))?(o[i]=l,l.__data__=n[i],u.delete(h)):a[i]=new ni(t,n[i]);for(i=0;i<d;++i)(l=e[i])&&u.get(c[i])===l&&(r[i]=l)}function _B(t){return t.__data__}function ew(t,e){if(!arguments.length)return Array.from(this,_B);var a=e?HB:NB,o=this._parents,r=this._groups;typeof t!="function"&&(t=Q0(t));for(var n=r.length,s=new Array(n),i=new Array(n),l=new Array(n),u=0;u<n;++u){var d=o[u],f=r[u],c=f.length,h=qB(t.call(d,d&&d.__data__,u,o)),p=h.length,m=i[u]=new Array(p),g=s[u]=new Array(p),x=l[u]=new Array(c);a(d,f,m,g,x,h,e);for(var C=0,L=0,y,S;C<p;++C)if(y=m[C]){for(C>=L&&(L=C+1);!(S=g[L])&&++L<p;);y._next=S||null}}return s=new ze(s,o),s._enter=i,s._exit=l,s}function qB(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function tw(){return new ze(this._exit||this._groups.map(gd),this._parents)}function aw(t,e,a){var o=this.enter(),r=this,n=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),a==null?n.remove():a(n),o&&r?o.merge(r).order():r}function ow(t){for(var e=t.selection?t.selection():t,a=this._groups,o=e._groups,r=a.length,n=o.length,s=Math.min(r,n),i=new Array(r),l=0;l<s;++l)for(var u=a[l],d=o[l],f=u.length,c=i[l]=new Array(f),h,p=0;p<f;++p)(h=u[p]||d[p])&&(c[p]=h);for(;l<r;++l)i[l]=a[l];return new ze(i,this._parents)}function rw(){for(var t=this._groups,e=-1,a=t.length;++e<a;)for(var o=t[e],r=o.length-1,n=o[r],s;--r>=0;)(s=o[r])&&(n&&s.compareDocumentPosition(n)^4&&n.parentNode.insertBefore(s,n),n=s);return this}function nw(t){t||(t=zB);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var a=this._groups,o=a.length,r=new Array(o),n=0;n<o;++n){for(var s=a[n],i=s.length,l=r[n]=new Array(i),u,d=0;d<i;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new ze(r,this._parents).order()}function zB(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function sw(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function iw(){return Array.from(this)}function lw(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length;r<n;++r){var s=o[r];if(s)return s}return null}function uw(){let t=0;for(let e of this)++t;return t}function dw(){return!this.node()}function fw(t){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],n=0,s=r.length,i;n<s;++n)(i=r[n])&&t.call(i,i.__data__,n,r);return this}function UB(t){return function(){this.removeAttribute(t)}}function VB(t){return function(){this.removeAttributeNS(t.space,t.local)}}function WB(t,e){return function(){this.setAttribute(t,e)}}function GB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function $B(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttribute(t):this.setAttribute(t,a)}}function XB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,a)}}function cw(t,e){var a=io(t);if(arguments.length<2){var o=this.node();return a.local?o.getAttributeNS(a.space,a.local):o.getAttribute(a)}return this.each((e==null?a.local?VB:UB:typeof e=="function"?a.local?XB:$B:a.local?GB:WB)(a,e))}function xd(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function KB(t){return function(){this.style.removeProperty(t)}}function jB(t,e,a){return function(){this.style.setProperty(t,e,a)}}function ZB(t,e,a){return function(){var o=e.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,a)}}function hw(t,e,a){return arguments.length>1?this.each((e==null?KB:typeof e=="function"?ZB:jB)(t,e,a??"")):Bo(this.node(),t)}function Bo(t,e){return t.style.getPropertyValue(e)||xd(t).getComputedStyle(t,null).getPropertyValue(e)}function YB(t){return function(){delete this[t]}}function JB(t,e){return function(){this[t]=e}}function QB(t,e){return function(){var a=e.apply(this,arguments);a==null?delete this[t]:this[t]=a}}function pw(t,e){return arguments.length>1?this.each((e==null?YB:typeof e=="function"?QB:JB)(t,e)):this.node()[t]}function mw(t){return t.trim().split(/^|\s+/)}function nm(t){return t.classList||new gw(t)}function gw(t){this._node=t,this._names=mw(t.getAttribute("class")||"")}gw.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function xw(t,e){for(var a=nm(t),o=-1,r=e.length;++o<r;)a.add(e[o])}function Lw(t,e){for(var a=nm(t),o=-1,r=e.length;++o<r;)a.remove(e[o])}function e2(t){return function(){xw(this,t)}}function t2(t){return function(){Lw(this,t)}}function a2(t,e){return function(){(e.apply(this,arguments)?xw:Lw)(this,t)}}function Cw(t,e){var a=mw(t+"");if(arguments.length<2){for(var o=nm(this.node()),r=-1,n=a.length;++r<n;)if(!o.contains(a[r]))return!1;return!0}return this.each((typeof e=="function"?a2:e?e2:t2)(a,e))}function o2(){this.textContent=""}function r2(t){return function(){this.textContent=t}}function n2(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function yw(t){return arguments.length?this.each(t==null?o2:(typeof t=="function"?n2:r2)(t)):this.node().textContent}function s2(){this.innerHTML=""}function i2(t){return function(){this.innerHTML=t}}function l2(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function ww(t){return arguments.length?this.each(t==null?s2:(typeof t=="function"?l2:i2)(t)):this.node().innerHTML}function u2(){this.nextSibling&&this.parentNode.appendChild(this)}function bw(){return this.each(u2)}function d2(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Iw(){return this.each(d2)}function Sw(t){var e=typeof t=="function"?t:pd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function f2(){return null}function vw(t,e){var a=typeof t=="function"?t:pd(t),o=e==null?f2:typeof e=="function"?e:Br(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),o.apply(this,arguments)||null)})}function c2(){var t=this.parentNode;t&&t.removeChild(this)}function kw(){return this.each(c2)}function h2(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function p2(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Aw(t){return this.select(t?p2:h2)}function Mw(t){return arguments.length?this.property("__data__",t):this.node().__data__}function m2(t){return function(e){t.call(this,e,this.__data__)}}function g2(t){return t.trim().split(/^|\s+/).map(function(e){var a="",o=e.indexOf(".");return o>=0&&(a=e.slice(o+1),e=e.slice(0,o)),{type:e,name:a}})}function x2(t){return function(){var e=this.__on;if(e){for(var a=0,o=-1,r=e.length,n;a<r;++a)n=e[a],(!t.type||n.type===t.type)&&n.name===t.name?this.removeEventListener(n.type,n.listener,n.options):e[++o]=n;++o?e.length=o:delete this.__on}}}function L2(t,e,a){return function(){var o=this.__on,r,n=m2(e);if(o){for(var s=0,i=o.length;s<i;++s)if((r=o[s]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=n,r.options=a),r.value=e;return}}this.addEventListener(t.type,n,a),r={type:t.type,name:t.name,value:e,listener:n,options:a},o?o.push(r):this.__on=[r]}}function Pw(t,e,a){var o=g2(t+""),r,n=o.length,s;if(arguments.length<2){var i=this.node().__on;if(i){for(var l=0,u=i.length,d;l<u;++l)for(r=0,d=i[l];r<n;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(i=e?L2:x2,r=0;r<n;++r)this.each(i(o[r],e,a));return this}function Rw(t,e,a){var o=xd(t),r=o.CustomEvent;typeof r=="function"?r=new r(e,a):(r=o.document.createEvent("Event"),a?(r.initEvent(e,a.bubbles,a.cancelable),r.detail=a.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function C2(t,e){return function(){return Rw(this,t,e)}}function y2(t,e){return function(){return Rw(this,t,e.apply(this,arguments))}}function Dw(t,e){return this.each((typeof e=="function"?y2:C2)(t,e))}function*Tw(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length,s;r<n;++r)(s=o[r])&&(yield s)}var sm=[null];function ze(t,e){this._groups=t,this._parents=e}function Ew(){return new ze([[document.documentElement]],sm)}function w2(){return this}ze.prototype=Ew.prototype={constructor:ze,select:X0,selectAll:K0,selectChild:j0,selectChildren:Z0,filter:Y0,data:ew,enter:J0,exit:tw,join:aw,merge:ow,selection:w2,order:rw,sort:nw,call:sw,nodes:iw,node:lw,size:uw,empty:dw,each:fw,attr:cw,style:hw,property:pw,classed:Cw,text:yw,html:ww,raise:bw,lower:Iw,append:Sw,insert:vw,remove:kw,clone:Aw,datum:Mw,on:Pw,dispatch:Dw,[Symbol.iterator]:Tw};var lo=Ew;function ot(t){return typeof t=="string"?new ze([[document.querySelector(t)]],[document.documentElement]):new ze([[t]],sm)}function Bw(t){let e;for(;e=t.sourceEvent;)t=e;return t}function wt(t,e){if(t=Bw(t),e===void 0&&(e=t.currentTarget),e){var a=e.ownerSVGElement||e;if(a.createSVGPoint){var o=a.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(e.getScreenCTM().inverse()),[o.x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}var Ow={passive:!1},Or={capture:!0,passive:!1};function Ld(t){t.stopImmediatePropagation()}function Oo(t){t.preventDefault(),t.stopImmediatePropagation()}function si(t){var e=t.document.documentElement,a=ot(t).on("dragstart.drag",Oo,Or);"onselectstart"in e?a.on("selectstart.drag",Oo,Or):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function ii(t,e){var a=t.document.documentElement,o=ot(t).on("dragstart.drag",null);e&&(o.on("click.drag",Oo,Or),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in a?o.on("selectstart.drag",null):(a.style.MozUserSelect=a.__noselect,delete a.__noselect)}var li=t=>()=>t;function ui(t,{sourceEvent:e,subject:a,target:o,identifier:r,active:n,x:s,y:i,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}ui.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function b2(t){return!t.ctrlKey&&!t.button}function I2(){return this.parentNode}function S2(t,e){return e??{x:t.x,y:t.y}}function v2(){return navigator.maxTouchPoints||"ontouchstart"in this}function Cd(){var t=b2,e=I2,a=S2,o=v2,r={},n=Er("start","drag","end"),s=0,i,l,u,d,f=0;function c(y){y.on("mousedown.drag",h).filter(o).on("touchstart.drag",g).on("touchmove.drag",x,Ow).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(y,S){if(!(d||!t.call(this,y,S))){var w=L(this,e.call(this,y,S),y,S,"mouse");w&&(ot(y.view).on("mousemove.drag",p,Or).on("mouseup.drag",m,Or),si(y.view),Ld(y),u=!1,i=y.clientX,l=y.clientY,w("start",y))}}function p(y){if(Oo(y),!u){var S=y.clientX-i,w=y.clientY-l;u=S*S+w*w>f}r.mouse("drag",y)}function m(y){ot(y.view).on("mousemove.drag mouseup.drag",null),ii(y.view,u),Oo(y),r.mouse("end",y)}function g(y,S){if(t.call(this,y,S)){var w=y.changedTouches,b=e.call(this,y,S),I=w.length,v,N;for(v=0;v<I;++v)(N=L(this,b,y,S,w[v].identifier,w[v]))&&(Ld(y),N("start",y,w[v]))}}function x(y){var S=y.changedTouches,w=S.length,b,I;for(b=0;b<w;++b)(I=r[S[b].identifier])&&(Oo(y),I("drag",y,S[b]))}function C(y){var S=y.changedTouches,w=S.length,b,I;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<w;++b)(I=r[S[b].identifier])&&(Ld(y),I("end",y,S[b]))}function L(y,S,w,b,I,v){var N=n.copy(),P=wt(v||w,S),R,H,k;if((k=a.call(y,new ui("beforestart",{sourceEvent:w,target:c,identifier:I,active:s,x:P[0],y:P[1],dx:0,dy:0,dispatch:N}),b))!=null)return R=k.x-P[0]||0,H=k.y-P[1]||0,function D(M,T,E){var B=P,A;switch(M){case"start":r[I]=D,A=s++;break;case"end":delete r[I],--s;case"drag":P=wt(E||T,S),A=s;break}N.call(M,y,new ui(M,{sourceEvent:T,subject:k,target:c,identifier:I,active:A,x:P[0]+R,y:P[1]+H,dx:P[0]-B[0],dy:P[1]-B[1],dispatch:N}),b)}}return c.filter=function(y){return arguments.length?(t=typeof y=="function"?y:li(!!y),c):t},c.container=function(y){return arguments.length?(e=typeof y=="function"?y:li(y),c):e},c.subject=function(y){return arguments.length?(a=typeof y=="function"?y:li(y),c):a},c.touchable=function(y){return arguments.length?(o=typeof y=="function"?y:li(!!y),c):o},c.on=function(){var y=n.on.apply(n,arguments);return y===n?c:y},c.clickDistance=function(y){return arguments.length?(f=(y=+y)*y,c):Math.sqrt(f)},c}function yd(t,e,a){t.prototype=e.prototype=a,a.constructor=t}function im(t,e){var a=Object.create(t.prototype);for(var o in e)a[o]=e[o];return a}function ci(){}var di=.7,Id=1/di,qn="\\s*([+-]?\\d+)\\s*",fi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Fa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",k2=/^#([0-9a-f]{3,8})$/,A2=new RegExp(`^rgb\\(${qn},${qn},${qn}\\)$`),M2=new RegExp(`^rgb\\(${Fa},${Fa},${Fa}\\)$`),P2=new RegExp(`^rgba\\(${qn},${qn},${qn},${fi}\\)$`),R2=new RegExp(`^rgba\\(${Fa},${Fa},${Fa},${fi}\\)$`),D2=new RegExp(`^hsl\\(${fi},${Fa},${Fa}\\)$`),T2=new RegExp(`^hsla\\(${fi},${Fa},${Fa},${fi}\\)$`),Fw={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};yd(ci,ya,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Nw,formatHex:Nw,formatHex8:E2,formatHsl:B2,formatRgb:Hw,toString:Hw});function Nw(){return this.rgb().formatHex()}function E2(){return this.rgb().formatHex8()}function B2(){return Ww(this).formatHsl()}function Hw(){return this.rgb().formatRgb()}function ya(t){var e,a;return t=(t+"").trim().toLowerCase(),(e=k2.exec(t))?(a=e[1].length,e=parseInt(e[1],16),a===6?_w(e):a===3?new Et(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):a===8?wd(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):a===4?wd(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=A2.exec(t))?new Et(e[1],e[2],e[3],1):(e=M2.exec(t))?new Et(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=P2.exec(t))?wd(e[1],e[2],e[3],e[4]):(e=R2.exec(t))?wd(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=D2.exec(t))?Uw(e[1],e[2]/100,e[3]/100,1):(e=T2.exec(t))?Uw(e[1],e[2]/100,e[3]/100,e[4]):Fw.hasOwnProperty(t)?_w(Fw[t]):t==="transparent"?new Et(NaN,NaN,NaN,0):null}function _w(t){return new Et(t>>16&255,t>>8&255,t&255,1)}function wd(t,e,a,o){return o<=0&&(t=e=a=NaN),new Et(t,e,a,o)}function O2(t){return t instanceof ci||(t=ya(t)),t?(t=t.rgb(),new Et(t.r,t.g,t.b,t.opacity)):new Et}function zn(t,e,a,o){return arguments.length===1?O2(t):new Et(t,e,a,o??1)}function Et(t,e,a,o){this.r=+t,this.g=+e,this.b=+a,this.opacity=+o}yd(Et,zn,im(ci,{brighter(t){return t=t==null?Id:Math.pow(Id,t),new Et(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?di:Math.pow(di,t),new Et(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Et(Nr(this.r),Nr(this.g),Nr(this.b),Sd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:qw,formatHex:qw,formatHex8:F2,formatRgb:zw,toString:zw}));function qw(){return`#${Fr(this.r)}${Fr(this.g)}${Fr(this.b)}`}function F2(){return`#${Fr(this.r)}${Fr(this.g)}${Fr(this.b)}${Fr((isNaN(this.opacity)?1:this.opacity)*255)}`}function zw(){let t=Sd(this.opacity);return`${t===1?"rgb(":"rgba("}${Nr(this.r)}, ${Nr(this.g)}, ${Nr(this.b)}${t===1?")":`, ${t})`}`}function Sd(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Nr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Fr(t){return t=Nr(t),(t<16?"0":"")+t.toString(16)}function Uw(t,e,a,o){return o<=0?t=e=a=NaN:a<=0||a>=1?t=e=NaN:e<=0&&(t=NaN),new Ca(t,e,a,o)}function Ww(t){if(t instanceof Ca)return new Ca(t.h,t.s,t.l,t.opacity);if(t instanceof ci||(t=ya(t)),!t)return new Ca;if(t instanceof Ca)return t;t=t.rgb();var e=t.r/255,a=t.g/255,o=t.b/255,r=Math.min(e,a,o),n=Math.max(e,a,o),s=NaN,i=n-r,l=(n+r)/2;return i?(e===n?s=(a-o)/i+(a<o)*6:a===n?s=(o-e)/i+2:s=(e-a)/i+4,i/=l<.5?n+r:2-n-r,s*=60):i=l>0&&l<1?0:s,new Ca(s,i,l,t.opacity)}function Gw(t,e,a,o){return arguments.length===1?Ww(t):new Ca(t,e,a,o??1)}function Ca(t,e,a,o){this.h=+t,this.s=+e,this.l=+a,this.opacity=+o}yd(Ca,Gw,im(ci,{brighter(t){return t=t==null?Id:Math.pow(Id,t),new Ca(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?di:Math.pow(di,t),new Ca(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,a=this.l,o=a+(a<.5?a:1-a)*e,r=2*a-o;return new Et(lm(t>=240?t-240:t+120,r,o),lm(t,r,o),lm(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new Ca(Vw(this.h),bd(this.s),bd(this.l),Sd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Sd(this.opacity);return`${t===1?"hsl(":"hsla("}${Vw(this.h)}, ${bd(this.s)*100}%, ${bd(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Vw(t){return t=(t||0)%360,t<0?t+360:t}function bd(t){return Math.max(0,Math.min(1,t||0))}function lm(t,e,a){return(t<60?e+(a-e)*t/60:t<180?a:t<240?e+(a-e)*(240-t)/60:e)*255}function um(t,e,a,o,r){var n=t*t,s=n*t;return((1-3*t+3*n-s)*e+(4-6*n+3*s)*a+(1+3*t+3*n-3*s)*o+s*r)/6}function $w(t){var e=t.length-1;return function(a){var o=a<=0?a=0:a>=1?(a=1,e-1):Math.floor(a*e),r=t[o],n=t[o+1],s=o>0?t[o-1]:2*r-n,i=o<e-1?t[o+2]:2*n-r;return um((a-o/e)*e,s,r,n,i)}}function Xw(t){var e=t.length;return function(a){var o=Math.floor(((a%=1)<0?++a:a)*e),r=t[(o+e-1)%e],n=t[o%e],s=t[(o+1)%e],i=t[(o+2)%e];return um((a-o/e)*e,r,n,s,i)}}var hi=t=>()=>t;function N2(t,e){return function(a){return t+a*e}}function H2(t,e,a){return t=Math.pow(t,a),e=Math.pow(e,a)-t,a=1/a,function(o){return Math.pow(t+o*e,a)}}function Kw(t){return(t=+t)==1?vd:function(e,a){return a-e?H2(e,a,t):hi(isNaN(e)?a:e)}}function vd(t,e){var a=e-t;return a?N2(t,a):hi(isNaN(t)?e:t)}var Hr=(function t(e){var a=Kw(e);function o(r,n){var s=a((r=zn(r)).r,(n=zn(n)).r),i=a(r.g,n.g),l=a(r.b,n.b),u=vd(r.opacity,n.opacity);return function(d){return r.r=s(d),r.g=i(d),r.b=l(d),r.opacity=u(d),r+""}}return o.gamma=t,o})(1);function jw(t){return function(e){var a=e.length,o=new Array(a),r=new Array(a),n=new Array(a),s,i;for(s=0;s<a;++s)i=zn(e[s]),o[s]=i.r||0,r[s]=i.g||0,n[s]=i.b||0;return o=t(o),r=t(r),n=t(n),i.opacity=1,function(l){return i.r=o(l),i.g=r(l),i.b=n(l),i+""}}}var _2=jw($w),q2=jw(Xw);function Zw(t,e){e||(e=[]);var a=t?Math.min(e.length,t.length):0,o=e.slice(),r;return function(n){for(r=0;r<a;++r)o[r]=t[r]*(1-n)+e[r]*n;return o}}function Yw(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Jw(t,e){var a=e?e.length:0,o=t?Math.min(a,t.length):0,r=new Array(o),n=new Array(a),s;for(s=0;s<o;++s)r[s]=uo(t[s],e[s]);for(;s<a;++s)n[s]=e[s];return function(i){for(s=0;s<o;++s)n[s]=r[s](i);return n}}function Qw(t,e){var a=new Date;return t=+t,e=+e,function(o){return a.setTime(t*(1-o)+e*o),a}}function bt(t,e){return t=+t,e=+e,function(a){return t*(1-a)+e*a}}function eb(t,e){var a={},o={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?a[r]=uo(t[r],e[r]):o[r]=e[r];return function(n){for(r in a)o[r]=a[r](n);return o}}var fm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,dm=new RegExp(fm.source,"g");function z2(t){return function(){return t}}function U2(t){return function(e){return t(e)+""}}function pi(t,e){var a=fm.lastIndex=dm.lastIndex=0,o,r,n,s=-1,i=[],l=[];for(t=t+"",e=e+"";(o=fm.exec(t))&&(r=dm.exec(e));)(n=r.index)>a&&(n=e.slice(a,n),i[s]?i[s]+=n:i[++s]=n),(o=o[0])===(r=r[0])?i[s]?i[s]+=r:i[++s]=r:(i[++s]=null,l.push({i:s,x:bt(o,r)})),a=dm.lastIndex;return a<e.length&&(n=e.slice(a),i[s]?i[s]+=n:i[++s]=n),i.length<2?l[0]?U2(l[0].x):z2(e):(e=l.length,function(u){for(var d=0,f;d<e;++d)i[(f=l[d]).i]=f.x(u);return i.join("")})}function uo(t,e){var a=typeof e,o;return e==null||a==="boolean"?hi(e):(a==="number"?bt:a==="string"?(o=ya(e))?(e=o,Hr):pi:e instanceof ya?Hr:e instanceof Date?Qw:Yw(e)?Zw:Array.isArray(e)?Jw:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?eb:bt)(t,e)}var tb=180/Math.PI,kd={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function cm(t,e,a,o,r,n){var s,i,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*a+e*o)&&(a-=t*l,o-=e*l),(i=Math.sqrt(a*a+o*o))&&(a/=i,o/=i,l/=i),t*o<e*a&&(t=-t,e=-e,l=-l,s=-s),{translateX:r,translateY:n,rotate:Math.atan2(e,t)*tb,skewX:Math.atan(l)*tb,scaleX:s,scaleY:i}}var Ad;function ab(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?kd:cm(e.a,e.b,e.c,e.d,e.e,e.f)}function ob(t){return t==null?kd:(Ad||(Ad=document.createElementNS("http://www.w3.org/2000/svg","g")),Ad.setAttribute("transform",t),(t=Ad.transform.baseVal.consolidate())?(t=t.matrix,cm(t.a,t.b,t.c,t.d,t.e,t.f)):kd)}function rb(t,e,a,o){function r(u){return u.length?u.pop()+" ":""}function n(u,d,f,c,h,p){if(u!==f||d!==c){var m=h.push("translate(",null,e,null,a);p.push({i:m-4,x:bt(u,f)},{i:m-2,x:bt(d,c)})}else(f||c)&&h.push("translate("+f+e+c+a)}function s(u,d,f,c){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),c.push({i:f.push(r(f)+"rotate(",null,o)-2,x:bt(u,d)})):d&&f.push(r(f)+"rotate("+d+o)}function i(u,d,f,c){u!==d?c.push({i:f.push(r(f)+"skewX(",null,o)-2,x:bt(u,d)}):d&&f.push(r(f)+"skewX("+d+o)}function l(u,d,f,c,h,p){if(u!==f||d!==c){var m=h.push(r(h)+"scale(",null,",",null,")");p.push({i:m-4,x:bt(u,f)},{i:m-2,x:bt(d,c)})}else(f!==1||c!==1)&&h.push(r(h)+"scale("+f+","+c+")")}return function(u,d){var f=[],c=[];return u=t(u),d=t(d),n(u.translateX,u.translateY,d.translateX,d.translateY,f,c),s(u.rotate,d.rotate,f,c),i(u.skewX,d.skewX,f,c),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,c),u=d=null,function(h){for(var p=-1,m=c.length,g;++p<m;)f[(g=c[p]).i]=g.x(h);return f.join("")}}}var hm=rb(ab,"px, ","px)","deg)"),pm=rb(ob,", ",")",")");var V2=1e-12;function nb(t){return((t=Math.exp(t))+1/t)/2}function W2(t){return((t=Math.exp(t))-1/t)/2}function G2(t){return((t=Math.exp(2*t))-1)/(t+1)}var _r=(function t(e,a,o){function r(n,s){var i=n[0],l=n[1],u=n[2],d=s[0],f=s[1],c=s[2],h=d-i,p=f-l,m=h*h+p*p,g,x;if(m<V2)x=Math.log(c/u)/e,g=function(b){return[i+b*h,l+b*p,u*Math.exp(e*b*x)]};else{var C=Math.sqrt(m),L=(c*c-u*u+o*m)/(2*u*a*C),y=(c*c-u*u-o*m)/(2*c*a*C),S=Math.log(Math.sqrt(L*L+1)-L),w=Math.log(Math.sqrt(y*y+1)-y);x=(w-S)/e,g=function(b){var I=b*x,v=nb(S),N=u/(a*C)*(v*G2(e*I+S)-W2(S));return[i+N*h,l+N*p,u*v/nb(e*I+S)]}}return g.duration=x*1e3*e/Math.SQRT2,g}return r.rho=function(n){var s=Math.max(.001,+n),i=s*s,l=i*i;return t(s,i,l)},r})(Math.SQRT2,2,4);var Un=0,gi=0,mi=0,ib=1e3,Md,xi,Pd=0,qr=0,Rd=0,Li=typeof performance=="object"&&performance.now?performance:Date,lb=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function yi(){return qr||(lb($2),qr=Li.now()+Rd)}function $2(){qr=0}function Ci(){this._call=this._time=this._next=null}Ci.prototype=Dd.prototype={constructor:Ci,restart:function(t,e,a){if(typeof t!="function")throw new TypeError("callback is not a function");a=(a==null?yi():+a)+(e==null?0:+e),!this._next&&xi!==this&&(xi?xi._next=this:Md=this,xi=this),this._call=t,this._time=a,mm()},stop:function(){this._call&&(this._call=null,this._time=1/0,mm())}};function Dd(t,e,a){var o=new Ci;return o.restart(t,e,a),o}function ub(){yi(),++Un;for(var t=Md,e;t;)(e=qr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Un}function sb(){qr=(Pd=Li.now())+Rd,Un=gi=0;try{ub()}finally{Un=0,K2(),qr=0}}function X2(){var t=Li.now(),e=t-Pd;e>ib&&(Rd-=e,Pd=t)}function K2(){for(var t,e=Md,a,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(a=e._next,e._next=null,e=t?t._next=a:Md=a);xi=t,mm(o)}function mm(t){if(!Un){gi&&(gi=clearTimeout(gi));var e=t-qr;e>24?(t<1/0&&(gi=setTimeout(sb,t-Li.now()-Rd)),mi&&(mi=clearInterval(mi))):(mi||(Pd=Li.now(),mi=setInterval(X2,ib)),Un=1,lb(sb))}}function Td(t,e,a){var o=new Ci;return e=e==null?0:+e,o.restart(r=>{o.stop(),t(r+e)},e,a),o}var j2=Er("start","end","cancel","interrupt"),Z2=[],cb=0,db=1,Bd=2,Ed=3,fb=4,Od=5,wi=6;function Fo(t,e,a,o,r,n){var s=t.__transition;if(!s)t.__transition={};else if(a in s)return;Y2(t,a,{name:e,index:o,group:r,on:j2,tween:Z2,time:n.time,delay:n.delay,duration:n.duration,ease:n.ease,timer:null,state:cb})}function bi(t,e){var a=Je(t,e);if(a.state>cb)throw new Error("too late; already scheduled");return a}function ut(t,e){var a=Je(t,e);if(a.state>Ed)throw new Error("too late; already running");return a}function Je(t,e){var a=t.__transition;if(!a||!(a=a[e]))throw new Error("transition not found");return a}function Y2(t,e,a){var o=t.__transition,r;o[e]=a,a.timer=Dd(n,0,a.time);function n(u){a.state=db,a.timer.restart(s,a.delay,a.time),a.delay<=u&&s(u-a.delay)}function s(u){var d,f,c,h;if(a.state!==db)return l();for(d in o)if(h=o[d],h.name===a.name){if(h.state===Ed)return Td(s);h.state===fb?(h.state=wi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[d]):+d<e&&(h.state=wi,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[d])}if(Td(function(){a.state===Ed&&(a.state=fb,a.timer.restart(i,a.delay,a.time),i(u))}),a.state=Bd,a.on.call("start",t,t.__data__,a.index,a.group),a.state===Bd){for(a.state=Ed,r=new Array(c=a.tween.length),d=0,f=-1;d<c;++d)(h=a.tween[d].value.call(t,t.__data__,a.index,a.group))&&(r[++f]=h);r.length=f+1}}function i(u){for(var d=u<a.duration?a.ease.call(null,u/a.duration):(a.timer.restart(l),a.state=Od,1),f=-1,c=r.length;++f<c;)r[f].call(t,d);a.state===Od&&(a.on.call("end",t,t.__data__,a.index,a.group),l())}function l(){a.state=wi,a.timer.stop(),delete o[e];for(var u in o)return;delete t.__transition}}function zr(t,e){var a=t.__transition,o,r,n=!0,s;if(a){e=e==null?null:e+"";for(s in a){if((o=a[s]).name!==e){n=!1;continue}r=o.state>Bd&&o.state<Od,o.state=wi,o.timer.stop(),o.on.call(r?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete a[s]}n&&delete t.__transition}}function hb(t){return this.each(function(){zr(this,t)})}function J2(t,e){var a,o;return function(){var r=ut(this,t),n=r.tween;if(n!==a){o=a=n;for(var s=0,i=o.length;s<i;++s)if(o[s].name===e){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function Q2(t,e,a){var o,r;if(typeof a!="function")throw new Error;return function(){var n=ut(this,t),s=n.tween;if(s!==o){r=(o=s).slice();for(var i={name:e,value:a},l=0,u=r.length;l<u;++l)if(r[l].name===e){r[l]=i;break}l===u&&r.push(i)}n.tween=r}}function pb(t,e){var a=this._id;if(t+="",arguments.length<2){for(var o=Je(this.node(),a).tween,r=0,n=o.length,s;r<n;++r)if((s=o[r]).name===t)return s.value;return null}return this.each((e==null?J2:Q2)(a,t,e))}function Vn(t,e,a){var o=t._id;return t.each(function(){var r=ut(this,o);(r.value||(r.value={}))[e]=a.apply(this,arguments)}),function(r){return Je(r,o).value[e]}}function Fd(t,e){var a;return(typeof e=="number"?bt:e instanceof ya?Hr:(a=ya(e))?(e=a,Hr):pi)(t,e)}function eO(t){return function(){this.removeAttribute(t)}}function tO(t){return function(){this.removeAttributeNS(t.space,t.local)}}function aO(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttribute(t);return s===r?null:s===o?n:n=e(o=s,a)}}function oO(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttributeNS(t.space,t.local);return s===r?null:s===o?n:n=e(o=s,a)}}function rO(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function nO(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function mb(t,e){var a=io(t),o=a==="transform"?pm:Fd;return this.attrTween(t,typeof e=="function"?(a.local?nO:rO)(a,o,Vn(this,"attr."+t,e)):e==null?(a.local?tO:eO)(a):(a.local?oO:aO)(a,o,e))}function sO(t,e){return function(a){this.setAttribute(t,e.call(this,a))}}function iO(t,e){return function(a){this.setAttributeNS(t.space,t.local,e.call(this,a))}}function lO(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&iO(t,n)),a}return r._value=e,r}function uO(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&sO(t,n)),a}return r._value=e,r}function gb(t,e){var a="attr."+t;if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;var o=io(t);return this.tween(a,(o.local?lO:uO)(o,e))}function dO(t,e){return function(){bi(this,t).delay=+e.apply(this,arguments)}}function fO(t,e){return e=+e,function(){bi(this,t).delay=e}}function xb(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?dO:fO)(e,t)):Je(this.node(),e).delay}function cO(t,e){return function(){ut(this,t).duration=+e.apply(this,arguments)}}function hO(t,e){return e=+e,function(){ut(this,t).duration=e}}function Lb(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?cO:hO)(e,t)):Je(this.node(),e).duration}function pO(t,e){if(typeof e!="function")throw new Error;return function(){ut(this,t).ease=e}}function Cb(t){var e=this._id;return arguments.length?this.each(pO(e,t)):Je(this.node(),e).ease}function mO(t,e){return function(){var a=e.apply(this,arguments);if(typeof a!="function")throw new Error;ut(this,t).ease=a}}function yb(t){if(typeof t!="function")throw new Error;return this.each(mO(this._id,t))}function wb(t){typeof t!="function"&&(t=ri(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new It(o,this._parents,this._name,this._id)}function bb(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,a=t._groups,o=e.length,r=a.length,n=Math.min(o,r),s=new Array(o),i=0;i<n;++i)for(var l=e[i],u=a[i],d=l.length,f=s[i]=new Array(d),c,h=0;h<d;++h)(c=l[h]||u[h])&&(f[h]=c);for(;i<o;++i)s[i]=e[i];return new It(s,this._parents,this._name,this._id)}function gO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var a=e.indexOf(".");return a>=0&&(e=e.slice(0,a)),!e||e==="start"})}function xO(t,e,a){var o,r,n=gO(e)?bi:ut;return function(){var s=n(this,t),i=s.on;i!==o&&(r=(o=i).copy()).on(e,a),s.on=r}}function Ib(t,e){var a=this._id;return arguments.length<2?Je(this.node(),a).on.on(t):this.each(xO(a,t,e))}function LO(t){return function(){var e=this.parentNode;for(var a in this.__transition)if(+a!==t)return;e&&e.removeChild(this)}}function Sb(){return this.on("end.remove",LO(this._id))}function vb(t){var e=this._name,a=this._id;typeof t!="function"&&(t=Br(t));for(var o=this._groups,r=o.length,n=new Array(r),s=0;s<r;++s)for(var i=o[s],l=i.length,u=n[s]=new Array(l),d,f,c=0;c<l;++c)(d=i[c])&&(f=t.call(d,d.__data__,c,i))&&("__data__"in d&&(f.__data__=d.__data__),u[c]=f,Fo(u[c],e,a,c,u,Je(d,a)));return new It(n,this._parents,e,a)}function kb(t){var e=this._name,a=this._id;typeof t!="function"&&(t=oi(t));for(var o=this._groups,r=o.length,n=[],s=[],i=0;i<r;++i)for(var l=o[i],u=l.length,d,f=0;f<u;++f)if(d=l[f]){for(var c=t.call(d,d.__data__,f,l),h,p=Je(d,a),m=0,g=c.length;m<g;++m)(h=c[m])&&Fo(h,e,a,m,c,p);n.push(c),s.push(d)}return new It(n,s,e,a)}var CO=lo.prototype.constructor;function Ab(){return new CO(this._groups,this._parents)}function yO(t,e){var a,o,r;return function(){var n=Bo(this,t),s=(this.style.removeProperty(t),Bo(this,t));return n===s?null:n===a&&s===o?r:r=e(a=n,o=s)}}function Mb(t){return function(){this.style.removeProperty(t)}}function wO(t,e,a){var o,r=a+"",n;return function(){var s=Bo(this,t);return s===r?null:s===o?n:n=e(o=s,a)}}function bO(t,e,a){var o,r,n;return function(){var s=Bo(this,t),i=a(this),l=i+"";return i==null&&(l=i=(this.style.removeProperty(t),Bo(this,t))),s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i))}}function IO(t,e){var a,o,r,n="style."+e,s="end."+n,i;return function(){var l=ut(this,t),u=l.on,d=l.value[n]==null?i||(i=Mb(e)):void 0;(u!==a||r!==d)&&(o=(a=u).copy()).on(s,r=d),l.on=o}}function Pb(t,e,a){var o=(t+="")=="transform"?hm:Fd;return e==null?this.styleTween(t,yO(t,o)).on("end.style."+t,Mb(t)):typeof e=="function"?this.styleTween(t,bO(t,o,Vn(this,"style."+t,e))).each(IO(this._id,t)):this.styleTween(t,wO(t,o,e),a).on("end.style."+t,null)}function SO(t,e,a){return function(o){this.style.setProperty(t,e.call(this,o),a)}}function vO(t,e,a){var o,r;function n(){var s=e.apply(this,arguments);return s!==r&&(o=(r=s)&&SO(t,s,a)),o}return n._value=e,n}function Rb(t,e,a){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(e==null)return this.tween(o,null);if(typeof e!="function")throw new Error;return this.tween(o,vO(t,e,a??""))}function kO(t){return function(){this.textContent=t}}function AO(t){return function(){var e=t(this);this.textContent=e??""}}function Db(t){return this.tween("text",typeof t=="function"?AO(Vn(this,"text",t)):kO(t==null?"":t+""))}function MO(t){return function(e){this.textContent=t.call(this,e)}}function PO(t){var e,a;function o(){var r=t.apply(this,arguments);return r!==a&&(e=(a=r)&&MO(r)),e}return o._value=t,o}function Tb(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,PO(t))}function Eb(){for(var t=this._name,e=this._id,a=Nd(),o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)if(l=s[u]){var d=Je(l,e);Fo(l,t,a,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new It(o,this._parents,t,a)}function Bb(){var t,e,a=this,o=a._id,r=a.size();return new Promise(function(n,s){var i={value:s},l={value:function(){--r===0&&n()}};a.each(function(){var u=ut(this,o),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(i),e._.interrupt.push(i),e._.end.push(l)),u.on=e}),r===0&&n()})}var RO=0;function It(t,e,a,o){this._groups=t,this._parents=e,this._name=a,this._id=o}function Ob(t){return lo().transition(t)}function Nd(){return++RO}var fo=lo.prototype;It.prototype=Ob.prototype={constructor:It,select:vb,selectAll:kb,selectChild:fo.selectChild,selectChildren:fo.selectChildren,filter:wb,merge:bb,selection:Ab,transition:Eb,call:fo.call,nodes:fo.nodes,node:fo.node,size:fo.size,empty:fo.empty,each:fo.each,on:Ib,attr:mb,attrTween:gb,style:Pb,styleTween:Rb,text:Db,textTween:Tb,remove:Sb,tween:pb,delay:xb,duration:Lb,ease:Cb,easeVarying:yb,end:Bb,[Symbol.iterator]:fo[Symbol.iterator]};function Hd(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var DO={time:null,delay:0,duration:250,ease:Hd};function TO(t,e){for(var a;!(a=t.__transition)||!(a=a[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return a}function Fb(t){var e,a;t instanceof It?(e=t._id,t=t._name):(e=Nd(),(a=DO).time=yi(),t=t==null?null:t+"");for(var o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&Fo(l,t,e,u,s,a||TO(l,e));return new It(o,this._parents,t,e)}lo.prototype.interrupt=hb;lo.prototype.transition=Fb;var Ii=t=>()=>t;function gm(t,{sourceEvent:e,target:a,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function wa(t,e,a){this.k=t,this.x=e,this.y=a}wa.prototype={constructor:wa,scale:function(t){return t===1?this:new wa(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new wa(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ur=new wa(1,0,0);Si.prototype=wa.prototype;function Si(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ur;return t.__zoom}function _d(t){t.stopImmediatePropagation()}function Wn(t){t.preventDefault(),t.stopImmediatePropagation()}function EO(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function BO(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Nb(){return this.__zoom||Ur}function OO(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function FO(){return navigator.maxTouchPoints||"ontouchstart"in this}function NO(t,e,a){var o=t.invertX(e[0][0])-a[0][0],r=t.invertX(e[1][0])-a[1][0],n=t.invertY(e[0][1])-a[0][1],s=t.invertY(e[1][1])-a[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>n?(n+s)/2:Math.min(0,n)||Math.max(0,s))}function qd(){var t=EO,e=BO,a=NO,o=OO,r=FO,n=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],i=250,l=_r,u=Er("start","zoom","end"),d,f,c,h=500,p=150,m=0,g=10;function x(k){k.property("__zoom",Nb).on("wheel.zoom",I,{passive:!1}).on("mousedown.zoom",v).on("dblclick.zoom",N).filter(r).on("touchstart.zoom",P).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(k,D,M,T){var E=k.selection?k.selection():k;E.property("__zoom",Nb),k!==E?S(k,D,M,T):E.interrupt().each(function(){w(this,arguments).event(T).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},x.scaleBy=function(k,D,M,T){x.scaleTo(k,function(){var E=this.__zoom.k,B=typeof D=="function"?D.apply(this,arguments):D;return E*B},M,T)},x.scaleTo=function(k,D,M,T){x.transform(k,function(){var E=e.apply(this,arguments),B=this.__zoom,A=M==null?y(E):typeof M=="function"?M.apply(this,arguments):M,q=B.invert(A),F=typeof D=="function"?D.apply(this,arguments):D;return a(L(C(B,F),A,q),E,s)},M,T)},x.translateBy=function(k,D,M,T){x.transform(k,function(){return a(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof M=="function"?M.apply(this,arguments):M),e.apply(this,arguments),s)},null,T)},x.translateTo=function(k,D,M,T,E){x.transform(k,function(){var B=e.apply(this,arguments),A=this.__zoom,q=T==null?y(B):typeof T=="function"?T.apply(this,arguments):T;return a(Ur.translate(q[0],q[1]).scale(A.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof M=="function"?-M.apply(this,arguments):-M),B,s)},T,E)};function C(k,D){return D=Math.max(n[0],Math.min(n[1],D)),D===k.k?k:new wa(D,k.x,k.y)}function L(k,D,M){var T=D[0]-M[0]*k.k,E=D[1]-M[1]*k.k;return T===k.x&&E===k.y?k:new wa(k.k,T,E)}function y(k){return[(+k[0][0]+ +k[1][0])/2,(+k[0][1]+ +k[1][1])/2]}function S(k,D,M,T){k.on("start.zoom",function(){w(this,arguments).event(T).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(T).end()}).tween("zoom",function(){var E=this,B=arguments,A=w(E,B).event(T),q=e.apply(E,B),F=M==null?y(q):typeof M=="function"?M.apply(E,B):M,G=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),_=E.__zoom,O=typeof D=="function"?D.apply(E,B):D,U=l(_.invert(F).concat(G/_.k),O.invert(F).concat(G/O.k));return function(X){if(X===1)X=O;else{var z=U(X),$=G/z[2];X=new wa($,F[0]-z[0]*$,F[1]-z[1]*$)}A.zoom(null,X)}})}function w(k,D,M){return!M&&k.__zooming||new b(k,D)}function b(k,D){this.that=k,this.args=D,this.active=0,this.sourceEvent=null,this.extent=e.apply(k,D),this.taps=0}b.prototype={event:function(k){return k&&(this.sourceEvent=k),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(k,D){return this.mouse&&k!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&k!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&k!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(k){var D=ot(this.that).datum();u.call(k,this.that,new gm(k,{sourceEvent:this.sourceEvent,target:x,type:k,transform:this.that.__zoom,dispatch:u}),D)}};function I(k,...D){if(!t.apply(this,arguments))return;var M=w(this,D).event(k),T=this.__zoom,E=Math.max(n[0],Math.min(n[1],T.k*Math.pow(2,o.apply(this,arguments)))),B=wt(k);if(M.wheel)(M.mouse[0][0]!==B[0]||M.mouse[0][1]!==B[1])&&(M.mouse[1]=T.invert(M.mouse[0]=B)),clearTimeout(M.wheel);else{if(T.k===E)return;M.mouse=[B,T.invert(B)],zr(this),M.start()}Wn(k),M.wheel=setTimeout(A,p),M.zoom("mouse",a(L(C(T,E),M.mouse[0],M.mouse[1]),M.extent,s));function A(){M.wheel=null,M.end()}}function v(k,...D){if(c||!t.apply(this,arguments))return;var M=k.currentTarget,T=w(this,D,!0).event(k),E=ot(k.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),B=wt(k,M),A=k.clientX,q=k.clientY;si(k.view),_d(k),T.mouse=[B,this.__zoom.invert(B)],zr(this),T.start();function F(_){if(Wn(_),!T.moved){var O=_.clientX-A,U=_.clientY-q;T.moved=O*O+U*U>m}T.event(_).zoom("mouse",a(L(T.that.__zoom,T.mouse[0]=wt(_,M),T.mouse[1]),T.extent,s))}function G(_){E.on("mousemove.zoom mouseup.zoom",null),ii(_.view,T.moved),Wn(_),T.event(_).end()}}function N(k,...D){if(t.apply(this,arguments)){var M=this.__zoom,T=wt(k.changedTouches?k.changedTouches[0]:k,this),E=M.invert(T),B=M.k*(k.shiftKey?.5:2),A=a(L(C(M,B),T,E),e.apply(this,D),s);Wn(k),i>0?ot(this).transition().duration(i).call(S,A,T,k):ot(this).call(x.transform,A,T,k)}}function P(k,...D){if(t.apply(this,arguments)){var M=k.touches,T=M.length,E=w(this,D,k.changedTouches.length===T).event(k),B,A,q,F;for(_d(k),A=0;A<T;++A)q=M[A],F=wt(q,this),F=[F,this.__zoom.invert(F),q.identifier],E.touch0?!E.touch1&&E.touch0[2]!==F[2]&&(E.touch1=F,E.taps=0):(E.touch0=F,B=!0,E.taps=1+!!d);d&&(d=clearTimeout(d)),B&&(E.taps<2&&(f=F[0],d=setTimeout(function(){d=null},h)),zr(this),E.start())}}function R(k,...D){if(this.__zooming){var M=w(this,D).event(k),T=k.changedTouches,E=T.length,B,A,q,F;for(Wn(k),B=0;B<E;++B)A=T[B],q=wt(A,this),M.touch0&&M.touch0[2]===A.identifier?M.touch0[0]=q:M.touch1&&M.touch1[2]===A.identifier&&(M.touch1[0]=q);if(A=M.that.__zoom,M.touch1){var G=M.touch0[0],_=M.touch0[1],O=M.touch1[0],U=M.touch1[1],X=(X=O[0]-G[0])*X+(X=O[1]-G[1])*X,z=(z=U[0]-_[0])*z+(z=U[1]-_[1])*z;A=C(A,Math.sqrt(X/z)),q=[(G[0]+O[0])/2,(G[1]+O[1])/2],F=[(_[0]+U[0])/2,(_[1]+U[1])/2]}else if(M.touch0)q=M.touch0[0],F=M.touch0[1];else return;M.zoom("touch",a(L(A,q,F),M.extent,s))}}function H(k,...D){if(this.__zooming){var M=w(this,D).event(k),T=k.changedTouches,E=T.length,B,A;for(_d(k),c&&clearTimeout(c),c=setTimeout(function(){c=null},h),B=0;B<E;++B)A=T[B],M.touch0&&M.touch0[2]===A.identifier?delete M.touch0:M.touch1&&M.touch1[2]===A.identifier&&delete M.touch1;if(M.touch1&&!M.touch0&&(M.touch0=M.touch1,delete M.touch1),M.touch0)M.touch0[1]=this.__zoom.invert(M.touch0[0]);else if(M.end(),M.taps===2&&(A=wt(A,this),Math.hypot(f[0]-A[0],f[1]-A[1])<g)){var q=ot(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return x.wheelDelta=function(k){return arguments.length?(o=typeof k=="function"?k:Ii(+k),x):o},x.filter=function(k){return arguments.length?(t=typeof k=="function"?k:Ii(!!k),x):t},x.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:Ii(!!k),x):r},x.extent=function(k){return arguments.length?(e=typeof k=="function"?k:Ii([[+k[0][0],+k[0][1]],[+k[1][0],+k[1][1]]]),x):e},x.scaleExtent=function(k){return arguments.length?(n[0]=+k[0],n[1]=+k[1],x):[n[0],n[1]]},x.translateExtent=function(k){return arguments.length?(s[0][0]=+k[0][0],s[1][0]=+k[1][0],s[0][1]=+k[0][1],s[1][1]=+k[1][1],x):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},x.constrain=function(k){return arguments.length?(a=k,x):a},x.duration=function(k){return arguments.length?(i=+k,x):i},x.interpolate=function(k){return arguments.length?(l=k,x):l},x.on=function(){var k=u.on.apply(u,arguments);return k===u?x:k},x.clickDistance=function(k){return arguments.length?(m=(k=+k)*k,x):Math.sqrt(m)},x.tapDistance=function(k){return arguments.length?(g=+k,x):g},x}var Ut={error001:(t="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:a,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?a:o}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Kn=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],wm=["Enter"," ","Escape"],bm={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:e,y:a})=>`Moved selected node ${t}. New position, x: ${e}, y: ${a}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"},_o;(function(t){t.Strict="strict",t.Loose="loose"})(_o||(_o={}));var co;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(co||(co={}));var Vr;(function(t){t.Partial="partial",t.Full="full"})(Vr||(Vr={}));var Im={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Na;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Na||(Na={}));var qo;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(qo||(qo={}));var re;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(re||(re={}));var Hb={[re.Left]:re.Right,[re.Right]:re.Left,[re.Top]:re.Bottom,[re.Bottom]:re.Top};function Sm(t){return t===null?null:t?"valid":"invalid"}var vm=t=>"id"in t&&"source"in t&&"target"in t,Yb=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),km=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t);var ki=(t,e=[0,0])=>{let{width:a,height:o}=Ha(t),r=t.origin??e,n=a*r[0],s=o*r[1];return{x:t.position.x-n,y:t.position.y-s}},Am=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let a=t.reduce((o,r)=>{let n=typeof r=="string",s=!e.nodeLookup&&!n?r:void 0;e.nodeLookup&&(s=n?e.nodeLookup.get(r):km(r)?r:e.nodeLookup.get(r.id));let i=s?Vd(s,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return $d(o,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Xd(a)},jn=(t,e={})=>{let a={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(r=>{(e.filter===void 0||e.filter(r))&&(a=$d(a,Vd(r)),o=!0)}),o?Xd(a):{x:0,y:0,width:0,height:0}},Wd=(t,e,[a,o,r]=[0,0,1],n=!1,s=!1)=>{let i={...Kr(e,[a,o,r]),width:e.width/r,height:e.height/r},l=[];for(let u of t.values()){let{measured:d,selectable:f=!0,hidden:c=!1}=u;if(s&&!f||c)continue;let h=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,m=Zn(i,Xr(u)),g=(h??0)*(p??0),x=n&&m>0;(!u.internals.handleBounds||x||m>=g||u.dragging)&&l.push(u)}return l},Jb=(t,e)=>{let a=new Set;return t.forEach(o=>{a.add(o.id)}),e.filter(o=>a.has(o.source)||a.has(o.target))};function HO(t,e){let a=new Map,o=e?.nodes?new Set(e.nodes.map(r=>r.id)):null;return t.forEach(r=>{r.measured.width&&r.measured.height&&(e?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&a.set(r.id,r)}),a}async function Qb({nodes:t,width:e,height:a,panZoom:o,minZoom:r,maxZoom:n},s){if(t.size===0)return!0;let i=HO(t,s),l=jn(i),u=Ai(l,e,a,s?.minZoom??r,s?.maxZoom??n,s?.padding??.1);return await o.setViewport(u,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function Mm({nodeId:t,nextPosition:e,nodeLookup:a,nodeOrigin:o=[0,0],nodeExtent:r,onError:n}){let s=a.get(t),i=s.parentId?a.get(s.parentId):void 0,{x:l,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!i)n?.("005",Ut.error005());else{let h=i.measured.width,p=i.measured.height;h&&p&&(f=[[l,u],[l+h,u+p]])}else i&&$r(s.extent)&&(f=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let c=$r(f)?Wr(e,f,s.measured):e;return(s.measured.width===void 0||s.measured.height===void 0)&&n?.("015",Ut.error015()),{position:{x:c.x-l+(s.measured.width??0)*d[0],y:c.y-u+(s.measured.height??0)*d[1]},positionAbsolute:c}}async function eI({nodesToRemove:t=[],edgesToRemove:e=[],nodes:a,edges:o,onBeforeDelete:r}){let n=new Set(t.map(c=>c.id)),s=[];for(let c of a){if(c.deletable===!1)continue;let h=n.has(c.id),p=!h&&c.parentId&&s.find(m=>m.id===c.parentId);(h||p)&&s.push(c)}let i=new Set(e.map(c=>c.id)),l=o.filter(c=>c.deletable!==!1),d=Jb(s,l);for(let c of l)i.has(c.id)&&!d.find(p=>p.id===c.id)&&d.push(c);if(!r)return{edges:d,nodes:s};let f=await r({nodes:s,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:s}:{edges:[],nodes:[]}:f}var Xn=(t,e=0,a=1)=>Math.min(Math.max(t,e),a),Wr=(t={x:0,y:0},e,a)=>({x:Xn(t.x,e[0][0],e[1][0]-(a?.width??0)),y:Xn(t.y,e[0][1],e[1][1]-(a?.height??0))});function tI(t,e,a){let{width:o,height:r}=Ha(a),{x:n,y:s}=a.internals.positionAbsolute;return Wr(t,[[n,s],[n+o,s+r]],e)}var _b=(t,e,a)=>t<e?Xn(Math.abs(t-e),1,e)/e:t>a?-Xn(Math.abs(t-a),1,e)/e:0,Gd=(t,e,a=15,o=40)=>{let r=_b(t.x,o,e.width-o)*a,n=_b(t.y,o,e.height-o)*a;return[r,n]},$d=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),ym=({x:t,y:e,width:a,height:o})=>({x:t,y:e,x2:t+a,y2:e+o}),Xd=({x:t,y:e,x2:a,y2:o})=>({x:t,y:e,width:a-t,height:o-e}),Xr=(t,e=[0,0])=>{let{x:a,y:o}=km(t)?t.internals.positionAbsolute:ki(t,e);return{x:a,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},Vd=(t,e=[0,0])=>{let{x:a,y:o}=km(t)?t.internals.positionAbsolute:ki(t,e);return{x:a,y:o,x2:a+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},Pm=(t,e)=>Xd($d(ym(t),ym(e))),Zn=(t,e)=>{let a=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(a*o)},Rm=t=>ea(t.width)&&ea(t.height)&&ea(t.x)&&ea(t.y),ea=t=>!isNaN(t)&&isFinite(t),Dm=(t,e)=>(a,o)=>{},Yn=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),Kr=({x:t,y:e},[a,o,r],n=!1,s=[1,1])=>{let i={x:(t-a)/r,y:(e-o)/r};return n?Yn(i,s):i},Gr=({x:t,y:e},[a,o,r])=>({x:t*r+a,y:e*r+o});function Gn(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(a)}if(typeof t=="string"&&t.endsWith("%")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(e*a*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function _O(t,e,a){if(typeof t=="string"||typeof t=="number"){let o=Gn(t,a),r=Gn(t,e);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof t=="object"){let o=Gn(t.top??t.y??0,a),r=Gn(t.bottom??t.y??0,a),n=Gn(t.left??t.x??0,e),s=Gn(t.right??t.x??0,e);return{top:o,right:s,bottom:r,left:n,x:n+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function qO(t,e,a,o,r,n){let{x:s,y:i}=Gr(t,[e,a,o]),{x:l,y:u}=Gr({x:t.x+t.width,y:t.y+t.height},[e,a,o]),d=r-l,f=n-u;return{left:Math.floor(s),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(f)}}var Ai=(t,e,a,o,r,n)=>{let s=_O(n,e,a),i=(e-s.x)/t.width,l=(a-s.y)/t.height,u=Math.min(i,l),d=Xn(u,o,r),f=t.x+t.width/2,c=t.y+t.height/2,h=e/2-f*d,p=a/2-c*d,m=qO(t,h,p,d,e,a),g={left:Math.min(m.left-s.left,0),top:Math.min(m.top-s.top,0),right:Math.min(m.right-s.right,0),bottom:Math.min(m.bottom-s.bottom,0)};return{x:h-g.left+g.right,y:p-g.top+g.bottom,zoom:d}},Jn=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function $r(t){return t!=null&&t!=="parent"}function Ha(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function Kd(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function Tm(t,e={width:0,height:0},a,o,r){let n={...t},s=o.get(a);if(s){let i=s.origin||r;n.x+=s.internals.positionAbsolute.x-(e.width??0)*i[0],n.y+=s.internals.positionAbsolute.y-(e.height??0)*i[1]}return n}function Em(t,e){if(t.size!==e.size)return!1;for(let a of t)if(!e.has(a))return!1;return!0}function aI(){let t,e;return{promise:new Promise((o,r)=>{t=o,e=r}),resolve:t,reject:e}}function oI(t){return{...bm,...t||{}}}function vi(t,{snapGrid:e=[0,0],snapToGrid:a=!1,transform:o,containerBounds:r}){let{x:n,y:s}=ta(t),i=Kr({x:n-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:u}=a?Yn(i,e):i;return{xSnapped:l,ySnapped:u,...i}}var jd=t=>({width:t.offsetWidth,height:t.offsetHeight}),Bm=t=>t?.getRootNode?.()||window?.document,zO=["INPUT","SELECT","TEXTAREA"];function Om(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:zO.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}var Fm=t=>"clientX"in t,ta=(t,e)=>{let a=Fm(t),o=a?t.clientX:t.touches?.[0].clientX,r=a?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},qb=(t,e,a,o,r)=>{let n=e.querySelectorAll(`.${t}`);return!n||!n.length?null:Array.from(n).map(s=>{let i=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:t,nodeId:r,position:s.getAttribute("data-handlepos"),x:(i.left-a.left)/o,y:(i.top-a.top)/o,...jd(s)}})};function Zd({sourceX:t,sourceY:e,targetX:a,targetY:o,sourceControlX:r,sourceControlY:n,targetControlX:s,targetControlY:i}){let l=t*.125+r*.375+s*.375+a*.125,u=e*.125+n*.375+i*.375+o*.125,d=Math.abs(l-t),f=Math.abs(u-e);return[l,u,d,f]}function zd(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function zb({pos:t,x1:e,y1:a,x2:o,y2:r,c:n}){switch(t){case re.Left:return[e-zd(e-o,n),a];case re.Right:return[e+zd(o-e,n),a];case re.Top:return[e,a-zd(a-r,n)];case re.Bottom:return[e,a+zd(r-a,n)]}}function Yd({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top,curvature:s=.25}){let[i,l]=zb({pos:a,x1:t,y1:e,x2:o,y2:r,c:s}),[u,d]=zb({pos:n,x1:o,y1:r,x2:t,y2:e,c:s}),[f,c,h,p]=Zd({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${t},${e} C${i},${l} ${u},${d} ${o},${r}`,f,c,h,p]}function Nm({sourceX:t,sourceY:e,targetX:a,targetY:o}){let r=Math.abs(a-t)/2,n=a<t?a+r:a-r,s=Math.abs(o-e)/2,i=o<e?o+s:o-s;return[n,i,r,s]}function rI({sourceNode:t,targetNode:e,selected:a=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:n="basic"}){if(n==="manual")return o;let s=r&&a?o+1e3:o,i=Math.max(t.parentId||r&&t.selected?t.internals.z:0,e.parentId||r&&e.selected?e.internals.z:0);return s+i}function nI({sourceNode:t,targetNode:e,width:a,height:o,transform:r}){let n=$d(Vd(t),Vd(e));n.x===n.x2&&(n.x2+=1),n.y===n.y2&&(n.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:a/r[2],height:o/r[2]};return Zn(s,Xd(n))>0}var UO=({source:t,sourceHandle:e,target:a,targetHandle:o})=>`xy-edge__${t}${e||""}-${a}${o||""}`,VO=(t,e)=>e.some(a=>a.source===t.source&&a.target===t.target&&(a.sourceHandle===t.sourceHandle||!a.sourceHandle&&!t.sourceHandle)&&(a.targetHandle===t.targetHandle||!a.targetHandle&&!t.targetHandle)),sI=(t,e,a={})=>{if(!t.source||!t.target)return a.onError?.("006",Ut.error006()),e;let o=a.getEdgeId||UO,r;return vm(t)?r={...t}:r={...t,id:o(t)},VO(r,e)?e:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,e.concat(r))};function Jd({sourceX:t,sourceY:e,targetX:a,targetY:o}){let[r,n,s,i]=Nm({sourceX:t,sourceY:e,targetX:a,targetY:o});return[`M ${t},${e}L ${a},${o}`,r,n,s,i]}var Ub={[re.Left]:{x:-1,y:0},[re.Right]:{x:1,y:0},[re.Top]:{x:0,y:-1},[re.Bottom]:{x:0,y:1}},WO=({source:t,sourcePosition:e=re.Bottom,target:a})=>e===re.Left||e===re.Right?t.x<a.x?{x:1,y:0}:{x:-1,y:0}:t.y<a.y?{x:0,y:1}:{x:0,y:-1},Vb=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function GO({source:t,sourcePosition:e=re.Bottom,target:a,targetPosition:o=re.Top,center:r,offset:n,stepPosition:s}){let i=Ub[e],l=Ub[o],u={x:t.x+i.x*n,y:t.y+i.y*n},d={x:a.x+l.x*n,y:a.y+l.y*n},f=WO({source:u,sourcePosition:e,target:d}),c=f.x!==0?"x":"y",h=f[c],p=[],m,g,x={x:0,y:0},C={x:0,y:0},[,,L,y]=Nm({sourceX:t.x,sourceY:t.y,targetX:a.x,targetY:a.y});if(i[c]*l[c]===-1){c==="x"?(m=r.x??u.x+(d.x-u.x)*s,g=r.y??(u.y+d.y)/2):(m=r.x??(u.x+d.x)/2,g=r.y??u.y+(d.y-u.y)*s);let I=[{x:m,y:u.y},{x:m,y:d.y}],v=[{x:u.x,y:g},{x:d.x,y:g}];i[c]===h?p=c==="x"?I:v:p=c==="x"?v:I}else{let I=[{x:u.x,y:d.y}],v=[{x:d.x,y:u.y}];if(c==="x"?p=i.x===h?v:I:p=i.y===h?I:v,e===o){let k=Math.abs(t[c]-a[c]);if(k<=n){let D=Math.min(n-1,n-k);i[c]===h?x[c]=(u[c]>t[c]?-1:1)*D:C[c]=(d[c]>a[c]?-1:1)*D}}if(e!==o){let k=c==="x"?"y":"x",D=i[c]===l[k],M=u[k]>d[k],T=u[k]<d[k];(i[c]===1&&(!D&&M||D&&T)||i[c]!==1&&(!D&&T||D&&M))&&(p=c==="x"?I:v)}let N={x:u.x+x.x,y:u.y+x.y},P={x:d.x+C.x,y:d.y+C.y},R=Math.max(Math.abs(N.x-p[0].x),Math.abs(P.x-p[0].x)),H=Math.max(Math.abs(N.y-p[0].y),Math.abs(P.y-p[0].y));R>=H?(m=(N.x+P.x)/2,g=p[0].y):(m=p[0].x,g=(N.y+P.y)/2)}let S={x:u.x+x.x,y:u.y+x.y},w={x:d.x+C.x,y:d.y+C.y};return[[t,...S.x!==p[0].x||S.y!==p[0].y?[S]:[],...p,...w.x!==p[p.length-1].x||w.y!==p[p.length-1].y?[w]:[],a],m,g,L,y]}function $O(t,e,a,o){let r=Math.min(Vb(t,e)/2,Vb(e,a)/2,o),{x:n,y:s}=e;if(t.x===n&&n===a.x||t.y===s&&s===a.y)return`L${n} ${s}`;if(t.y===s){let u=t.x<a.x?-1:1,d=t.y<a.y?1:-1;return`L ${n+r*u},${s}Q ${n},${s} ${n},${s+r*d}`}let i=t.x<a.x?1:-1,l=t.y<a.y?-1:1;return`L ${n},${s+r*l}Q ${n},${s} ${n+r*i},${s}`}function Mi({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top,borderRadius:s=5,centerX:i,centerY:l,offset:u=20,stepPosition:d=.5}){let[f,c,h,p,m]=GO({source:{x:t,y:e},sourcePosition:a,target:{x:o,y:r},targetPosition:n,center:{x:i,y:l},offset:u,stepPosition:d}),g=`M${f[0].x} ${f[0].y}`;for(let x=1;x<f.length-1;x++)g+=$O(f[x-1],f[x],f[x+1],s);return g+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[g,c,h,p,m]}function Wb(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function iI(t){let{sourceNode:e,targetNode:a}=t;if(!Wb(e)||!Wb(a))return null;let o=e.internals.handleBounds||Gb(e.handles),r=a.internals.handleBounds||Gb(a.handles),n=$b(o?.source??[],t.sourceHandle),s=$b(t.connectionMode===_o.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),t.targetHandle);if(!n||!s)return t.onError?.("008",Ut.error008(n?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let i=n?.position||re.Bottom,l=s?.position||re.Top,u=zo(e,n,i),d=zo(a,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:l}}function Gb(t){if(!t)return null;let e=[],a=[];for(let o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?e.push(o):o.type==="target"&&a.push(o);return{source:e,target:a}}function zo(t,e,a=re.Left,o=!1){let r=(e?.x??0)+t.internals.positionAbsolute.x,n=(e?.y??0)+t.internals.positionAbsolute.y,{width:s,height:i}=e??Ha(t);if(o)return{x:r+s/2,y:n+i/2};switch(e?.position??a){case re.Top:return{x:r+s/2,y:n};case re.Right:return{x:r+s,y:n+i/2};case re.Bottom:return{x:r+s/2,y:n+i};case re.Left:return{x:r,y:n+i/2}}}function $b(t,e){return t&&(e?t.find(a=>a.id===e):t[0])||null}function Qd(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function lI(t,{id:e,defaultColor:a,defaultMarkerStart:o,defaultMarkerEnd:r}){let n=new Set;return t.reduce((s,i)=>([i.markerStart||o,i.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){let u=Qd(l,e);n.has(u)||(s.push({id:u,color:l.color||a,...l}),n.add(u))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))}var uI=1e3,XO=10,Hm={nodeOrigin:[0,0],nodeExtent:Kn,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},KO={...Hm,checkEquality:!0};function _m(t,e){let a={...t};for(let o in e)e[o]!==void 0&&(a[o]=e[o]);return a}function dI(t,e,a){let o=_m(Hm,a);for(let r of t.values())if(r.parentId)zm(r,t,e,o);else{let n=ki(r,o.nodeOrigin),s=$r(r.extent)?r.extent:o.nodeExtent,i=Wr(n,s,Ha(r));r.internals.positionAbsolute=i}}function jO(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;let a=[],o=[];for(let r of t.handles){let n={id:r.id,width:r.width??1,height:r.height??1,nodeId:t.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?a.push(n):r.type==="target"&&o.push(n)}return{source:a,target:o}}function qm(t){return t==="manual"}function ef(t,e,a,o={}){let r=_m(KO,o),n={i:0},s=new Map(e),i=r?.elevateNodesOnSelect&&!qm(r.zIndexMode)?uI:0,l=t.length>0,u=!1;e.clear(),a.clear();for(let d of t){let f=s.get(d.id);if(r.checkEquality&&d===f?.internals.userNode)e.set(d.id,f);else{let c=ki(d,r.nodeOrigin),h=$r(d.extent)?d.extent:r.nodeExtent,p=Wr(c,h,Ha(d));f={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:jO(d,f),z:fI(d,i,r.zIndexMode),userNode:d}},e.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(l=!1),d.parentId&&zm(f,e,a,o,n),u||(u=d.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function ZO(t,e){if(!t.parentId)return;let a=e.get(t.parentId);a?a.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function zm(t,e,a,o,r){let{elevateNodesOnSelect:n,nodeOrigin:s,nodeExtent:i,zIndexMode:l}=_m(Hm,o),u=t.parentId,d=e.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}ZO(t,a),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*XO),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let f=n&&!qm(l)?uI:0,{x:c,y:h,z:p}=YO(t,d,s,i,f,l),{positionAbsolute:m}=t.internals,g=c!==m.x||h!==m.y;(g||p!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:g?{x:c,y:h}:m,z:p}})}function fI(t,e,a){let o=ea(t.zIndex)?t.zIndex:0;return qm(a)?o:o+(t.selected?e:0)}function YO(t,e,a,o,r,n){let{x:s,y:i}=e.internals.positionAbsolute,l=Ha(t),u=ki(t,a),d=$r(t.extent)?Wr(u,t.extent,l):u,f=Wr({x:s+d.x,y:i+d.y},o,l);t.extent==="parent"&&(f=tI(f,l,e));let c=fI(t,r,n),h=e.internals.z??0;return{x:f.x,y:f.y,z:h>=c?h+1:c}}function tf(t,e,a,o=[0,0]){let r=[],n=new Map;for(let s of t){let i=e.get(s.parentId);if(!i)continue;let l=n.get(s.parentId)?.expandedRect??Xr(i),u=Pm(l,s.rect);n.set(s.parentId,{expandedRect:u,parent:i})}return n.size>0&&n.forEach(({expandedRect:s,parent:i},l)=>{let u=i.internals.positionAbsolute,d=Ha(i),f=i.origin??o,c=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,h=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),m=Math.max(d.height,Math.round(s.height)),g=(p-d.width)*f[0],x=(m-d.height)*f[1];(c>0||h>0||g||x)&&(r.push({id:l,type:"position",position:{x:i.position.x-c+g,y:i.position.y-h+x}}),a.get(l)?.forEach(C=>{t.some(L=>L.id===C.id)||r.push({id:C.id,type:"position",position:{x:C.position.x+c,y:C.position.y+h}})})),(d.width<s.width||d.height<s.height||c||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:p+(c?f[0]*c-g:0),height:m+(h?f[1]*h-x:0)}})}),r}function cI(t,e,a,o,r,n,s){let i=o?.querySelector(".xyflow__viewport"),l=!1;if(!i)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(i),{m22:f}=new window.DOMMatrixReadOnly(d.transform),c=[];for(let h of t.values()){let p=e.get(h.id);if(!p)continue;if(p.hidden){e.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}let m=jd(h.nodeElement),g=p.measured.width!==m.width||p.measured.height!==m.height;if(!!(m.width&&m.height&&(g||!p.internals.handleBounds||h.force))){let C=h.nodeElement.getBoundingClientRect(),L=$r(p.extent)?p.extent:n,{positionAbsolute:y}=p.internals;p.parentId&&p.extent==="parent"?y=tI(y,m,e.get(p.parentId)):L&&(y=Wr(y,L,m));let S={...p,measured:m,internals:{...p.internals,positionAbsolute:y,handleBounds:{source:qb("source",h.nodeElement,C,f,p.id),target:qb("target",h.nodeElement,C,f,p.id)}}};e.set(p.id,S),p.parentId&&zm(S,e,a,{nodeOrigin:r,zIndexMode:s}),l=!0,g&&(u.push({id:p.id,type:"dimensions",dimensions:m}),p.expandParent&&p.parentId&&c.push({id:p.id,parentId:p.parentId,rect:Xr(S,r)}))}}if(c.length>0){let h=tf(c,e,a,r);u.push(...h)}return{changes:u,updatedInternals:l}}async function hI({delta:t,panZoom:e,transform:a,translateExtent:o,width:r,height:n}){if(!e||!t.x&&!t.y)return!1;let s=await e.setViewportConstrained({x:a[0]+t.x,y:a[1]+t.y,zoom:a[2]},[[0,0],[r,n]],o);return!!s&&(s.x!==a[0]||s.y!==a[1]||s.k!==a[2])}function Xb(t,e,a,o,r,n){let s=r,i=o.get(s)||new Map;o.set(s,i.set(a,e)),s=`${r}-${t}`;let l=o.get(s)||new Map;if(o.set(s,l.set(a,e)),n){s=`${r}-${t}-${n}`;let u=o.get(s)||new Map;o.set(s,u.set(a,e))}}function Um(t,e,a){t.clear(),e.clear();for(let o of a){let{source:r,target:n,sourceHandle:s=null,targetHandle:i=null}=o,l={edgeId:o.id,source:r,target:n,sourceHandle:s,targetHandle:i},u=`${r}-${s}--${n}-${i}`,d=`${n}-${i}--${r}-${s}`;Xb("source",l,d,t,r,s),Xb("target",l,u,t,n,i),e.set(o.id,o)}}function pI(t,e){if(!t.parentId)return!1;let a=e.get(t.parentId);return a?a.selected?!0:pI(a,e):!1}function Kb(t,e,a){let o=t;do{if(o?.matches?.(e))return!0;if(o===a)return!1;o=o?.parentElement}while(o);return!1}function JO(t,e,a,o){let r=new Map;for(let[n,s]of t)if((s.selected||s.id===o)&&(!s.parentId||!pI(s,t))&&(s.draggable||e&&typeof s.draggable>"u")){let i=t.get(n);i&&r.set(n,{id:n,position:i.position||{x:0,y:0},distance:{x:a.x-i.internals.positionAbsolute.x,y:a.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return r}function xm({nodeId:t,dragItems:e,nodeLookup:a,dragging:o=!0}){let r=[];for(let[s,i]of e){let l=a.get(s)?.internals.userNode;l&&r.push({...l,position:i.position,dragging:o})}if(!t)return[r[0],r];let n=a.get(t)?.internals.userNode;return[n?{...n,position:e.get(t)?.position||n.position,dragging:o}:r[0],r]}function QO({dragItems:t,snapGrid:e,x:a,y:o}){let r=t.values().next().value;if(!r)return null;let n={x:a-r.distance.x,y:o-r.distance.y},s=Yn(n,e);return{x:s.x-n.x,y:s.y-n.y}}function mI({onNodeMouseDown:t,getStoreItems:e,onDragStart:a,onDrag:o,onDragStop:r}){let n={x:null,y:null},s=0,i=new Map,l=!1,u={x:0,y:0},d=null,f=!1,c=null,h=!1,p=!1,m=null;function g({noDragClassName:C,handleSelector:L,domNode:y,isSelectable:S,nodeId:w,nodeClickDistance:b=0}){c=ot(y);function I({x:R,y:H}){let{nodeLookup:k,nodeExtent:D,snapGrid:M,snapToGrid:T,nodeOrigin:E,onNodeDrag:B,onSelectionDrag:A,onError:q,updateNodePositions:F}=e();n={x:R,y:H};let G=!1,_=i.size>1,O=_&&D?ym(jn(i)):null,U=_&&T?QO({dragItems:i,snapGrid:M,x:R,y:H}):null;for(let[X,z]of i){if(!k.has(X))continue;let $={x:R-z.distance.x,y:H-z.distance.y};T&&($=U?{x:Math.round($.x+U.x),y:Math.round($.y+U.y)}:Yn($,M));let ie=null;if(_&&D&&!z.extent&&O){let{positionAbsolute:ne}=z.internals,ue=ne.x-O.x+D[0][0],Ie=ne.x+z.measured.width-O.x2+D[1][0],Ve=ne.y-O.y+D[0][1],kt=ne.y+z.measured.height-O.y2+D[1][1];ie=[[ue,Ve],[Ie,kt]]}let{position:se,positionAbsolute:oe}=Mm({nodeId:X,nextPosition:$,nodeLookup:k,nodeExtent:ie||D,nodeOrigin:E,onError:q});G=G||z.position.x!==se.x||z.position.y!==se.y,z.position=se,z.internals.positionAbsolute=oe}if(p=p||G,!!G&&(F(i,!0),m&&(o||B||!w&&A))){let[X,z]=xm({nodeId:w,dragItems:i,nodeLookup:k});o?.(m,i,X,z),B?.(m,X,z),w||A?.(m,z)}}async function v(){if(!d)return;let{transform:R,panBy:H,autoPanSpeed:k,autoPanOnNodeDrag:D}=e();if(!D){l=!1,cancelAnimationFrame(s);return}let[M,T]=Gd(u,d,k);(M!==0||T!==0)&&(n.x=(n.x??0)-M/R[2],n.y=(n.y??0)-T/R[2],await H({x:M,y:T})&&I(n)),s=requestAnimationFrame(v)}function N(R){let{nodeLookup:H,multiSelectionActive:k,nodesDraggable:D,transform:M,snapGrid:T,snapToGrid:E,selectNodesOnDrag:B,onNodeDragStart:A,onSelectionDragStart:q,unselectNodesAndEdges:F}=e();f=!0,(!B||!S)&&!k&&w&&(H.get(w)?.selected||F()),S&&B&&w&&t?.(w);let G=vi(R.sourceEvent,{transform:M,snapGrid:T,snapToGrid:E,containerBounds:d});if(n=G,i=JO(H,D,G,w),i.size>0&&(a||A||!w&&q)){let[_,O]=xm({nodeId:w,dragItems:i,nodeLookup:H});a?.(R.sourceEvent,i,_,O),A?.(R.sourceEvent,_,O),w||q?.(R.sourceEvent,O)}}let P=Cd().clickDistance(b).on("start",R=>{let{domNode:H,nodeDragThreshold:k,transform:D,snapGrid:M,snapToGrid:T}=e();d=H?.getBoundingClientRect()||null,h=!1,p=!1,m=R.sourceEvent,k===0&&N(R),n=vi(R.sourceEvent,{transform:D,snapGrid:M,snapToGrid:T,containerBounds:d}),u=ta(R.sourceEvent,d)}).on("drag",R=>{let{autoPanOnNodeDrag:H,transform:k,snapGrid:D,snapToGrid:M,nodeDragThreshold:T,nodeLookup:E}=e(),B=vi(R.sourceEvent,{transform:k,snapGrid:D,snapToGrid:M,containerBounds:d});if(m=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||w&&!E.has(w))&&(h=!0),!h){if(!l&&H&&f&&(l=!0,v()),!f){let A=ta(R.sourceEvent,d),q=A.x-u.x,F=A.y-u.y;Math.sqrt(q*q+F*F)>T&&N(R)}(n.x!==B.xSnapped||n.y!==B.ySnapped)&&i&&f&&(u=ta(R.sourceEvent,d),I(B))}}).on("end",R=>{if(!f||h){h&&i.size>0&&e().updateNodePositions(i,!1);return}if(l=!1,f=!1,cancelAnimationFrame(s),i.size>0){let{nodeLookup:H,updateNodePositions:k,onNodeDragStop:D,onSelectionDragStop:M}=e();if(p&&(k(i,!1),p=!1),r||D||!w&&M){let[T,E]=xm({nodeId:w,dragItems:i,nodeLookup:H,dragging:!1});r?.(R.sourceEvent,i,T,E),D?.(R.sourceEvent,T,E),w||M?.(R.sourceEvent,E)}}}).filter(R=>{let H=R.target;return!R.button&&(!C||!Kb(H,`.${C}`,y))&&(!L||Kb(H,L,y))});c.call(P)}function x(){c?.on(".drag",null)}return{update:g,destroy:x}}function eF(t,e,a){let o=[],r={x:t.x-a,y:t.y-a,width:a*2,height:a*2};for(let n of e.values())Zn(r,Xr(n))>0&&o.push(n);return o}var tF=250;function aF(t,e,a,o){let r=[],n=1/0,s=eF(t,a,e+tF);for(let i of s){let l=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(let u of l){if(o.nodeId===u.nodeId&&o.type===u.type&&o.id===u.id)continue;let{x:d,y:f}=zo(i,u,u.position,!0),c=Math.sqrt(Math.pow(d-t.x,2)+Math.pow(f-t.y,2));c>e||(c<n?(r=[{...u,x:d,y:f}],n=c):c===n&&r.push({...u,x:d,y:f}))}}if(!r.length)return null;if(r.length>1){let i=o.type==="source"?"target":"source";return r.find(l=>l.type===i)??r[0]}return r[0]}function gI(t,e,a,o,r,n=!1){let s=o.get(t);if(!s)return null;let i=r==="strict"?s.internals.handleBounds?.[e]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(a?i?.find(u=>u.id===a):i?.[0])??null;return l&&n?{...l,...zo(s,l,l.position,!0)}:l}function xI(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function oF(t,e){let a=null;return e?a=!0:t&&!e&&(a=!1),a}var LI=()=>!0;function rF(t,{connectionMode:e,connectionRadius:a,handleId:o,nodeId:r,edgeUpdaterType:n,isTarget:s,domNode:i,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:f,panBy:c,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:x=LI,onReconnectEnd:C,updateConnection:L,getTransform:y,getFromHandle:S,autoPanSpeed:w,dragThreshold:b=1,handleDomNode:I}){let v=Bm(t.target),N=0,P,{x:R,y:H}=ta(t),k=xI(n,I),D=i?.getBoundingClientRect(),M=!1;if(!D||!k)return;let T=gI(r,k,o,l,e);if(!T)return;let E=ta(t,D),B=!1,A=null,q=!1,F=null;function G(){if(!d||!D)return;let[se,oe]=Gd(E,D,w);c({x:se,y:oe}),N=requestAnimationFrame(G)}let _={...T,nodeId:r,type:k,position:T.position},O=l.get(r),X={inProgress:!0,isValid:null,from:zo(O,_,re.Left,!0),fromHandle:_,fromPosition:_.position,fromNode:O,to:E,toHandle:null,toPosition:Hb[_.position],toNode:null,pointer:E};function z(){M=!0,L(X),p?.(t,{nodeId:r,handleId:o,handleType:k})}b===0&&z();function $(se){if(!M){let{x:kt,y:Za}=ta(se),Aa=kt-R,Ma=Za-H;if(!(Aa*Aa+Ma*Ma>b*b))return;z()}if(!S()||!_){ie(se);return}let oe=y();E=ta(se,D),P=aF(Kr(E,oe,!1,[1,1]),a,l,_),B||(G(),B=!0);let ne=CI(se,{handle:P,connectionMode:e,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:x,doc:v,lib:u,flowId:f,nodeLookup:l});F=ne.handleDomNode,A=ne.connection,q=oF(!!P,ne.isValid);let ue=l.get(r),Ie=ue?zo(ue,_,re.Left,!0):X.from,Ve={...X,from:Ie,isValid:q,to:ne.toHandle&&q?Gr({x:ne.toHandle.x,y:ne.toHandle.y},oe):E,toHandle:ne.toHandle,toPosition:q&&ne.toHandle?ne.toHandle.position:Hb[_.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null,pointer:E};L(Ve),X=Ve}function ie(se){if(!("touches"in se&&se.touches.length>0)){if(M){(P||F)&&A&&q&&m?.(A);let{inProgress:oe,...ne}=X,ue={...ne,toPosition:X.toHandle?X.toPosition:null};g?.(se,ue),n&&C?.(se,ue)}h(),cancelAnimationFrame(N),B=!1,q=!1,A=null,F=null,v.removeEventListener("mousemove",$),v.removeEventListener("mouseup",ie),v.removeEventListener("touchmove",$),v.removeEventListener("touchend",ie)}}v.addEventListener("mousemove",$),v.addEventListener("mouseup",ie),v.addEventListener("touchmove",$),v.addEventListener("touchend",ie)}function CI(t,{handle:e,connectionMode:a,fromNodeId:o,fromHandleId:r,fromType:n,doc:s,lib:i,flowId:l,isValidConnection:u=LI,nodeLookup:d}){let f=n==="target",c=e?s.querySelector(`.${i}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:h,y:p}=ta(t),m=s.elementFromPoint(h,p),g=m?.classList.contains(`${i}-flow__handle`)?m:c,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let C=xI(void 0,g),L=g.getAttribute("data-nodeid"),y=g.getAttribute("data-handleid"),S=g.classList.contains("connectable"),w=g.classList.contains("connectableend");if(!L||!C)return x;let b={source:f?L:o,sourceHandle:f?y:r,target:f?o:L,targetHandle:f?r:y};x.connection=b;let v=S&&w&&(a===_o.Strict?f&&C==="source"||!f&&C==="target":L!==o||y!==r);x.isValid=v&&u(b),x.toHandle=gI(L,C,y,d,a,!0)}return x}var af={onPointerDown:rF,isValid:CI};function yI({domNode:t,panZoom:e,getTransform:a,getViewScale:o}){let r=ot(t);function n({translateExtent:i,width:l,height:u,zoomStep:d=1,pannable:f=!0,zoomable:c=!0,inversePan:h=!1}){let p=L=>{if(L.sourceEvent.type!=="wheel"||!e)return;let y=a(),S=L.sourceEvent.ctrlKey&&Jn()?10:1,w=-L.sourceEvent.deltaY*(L.sourceEvent.deltaMode===1?.05:L.sourceEvent.deltaMode?1:.002)*d,b=y[2]*Math.pow(2,w*S);e.scaleTo(b)},m=[0,0],g=L=>{(L.sourceEvent.type==="mousedown"||L.sourceEvent.type==="touchstart")&&(m=[L.sourceEvent.clientX??L.sourceEvent.touches[0].clientX,L.sourceEvent.clientY??L.sourceEvent.touches[0].clientY])},x=L=>{let y=a();if(L.sourceEvent.type!=="mousemove"&&L.sourceEvent.type!=="touchmove"||!e)return;let S=[L.sourceEvent.clientX??L.sourceEvent.touches[0].clientX,L.sourceEvent.clientY??L.sourceEvent.touches[0].clientY],w=[S[0]-m[0],S[1]-m[1]];m=S;let b=o()*Math.max(y[2],Math.log(y[2]))*(h?-1:1),I={x:y[0]-w[0]*b,y:y[1]-w[1]*b},v=[[0,0],[l,u]];e.setViewportConstrained({x:I.x,y:I.y,zoom:y[2]},v,i)},C=qd().on("start",g).on("zoom",f?x:null).on("zoom.wheel",c?p:null);r.call(C,{})}function s(){r.on("zoom",null)}return{update:n,destroy:s,pointer:wt}}var of=t=>({x:t.x,y:t.y,zoom:t.k}),Lm=({x:t,y:e,zoom:a})=>Ur.translate(t,e).scale(a),$n=(t,e)=>t.target.closest(`.${e}`),wI=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),nF=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Cm=(t,e=0,a=nF,o=()=>{})=>{let r=typeof e=="number"&&e>0;return r||o(),r?t.transition().duration(e).ease(a).on("end",o):t},bI=t=>{let e=t.ctrlKey&&Jn()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function sF({zoomPanValues:t,noWheelClassName:e,d3Selection:a,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:n,zoomOnPinch:s,onPanZoomStart:i,onPanZoom:l,onPanZoomEnd:u}){return d=>{if($n(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=a.property("__zoom").k||1;if(d.ctrlKey&&s){let g=wt(d),x=bI(d),C=f*Math.pow(2,x);o.scaleTo(a,C,g,d);return}let c=d.deltaMode===1?20:1,h=r===co.Vertical?0:d.deltaX*c,p=r===co.Horizontal?0:d.deltaY*c;!Jn()&&d.shiftKey&&r!==co.Vertical&&(h=d.deltaY*c,p=0),o.translateBy(a,-(h/f)*n,-(p/f)*n,{internal:!0});let m=of(a.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(d,m),t.panScrollTimeout=setTimeout(()=>{u?.(d,m),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,i?.(d,m))}}function iF({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:a}){return function(o,r){let n=o.type==="wheel",s=!e&&n&&!o.ctrlKey,i=$n(o,t);if(o.ctrlKey&&n&&i&&o.preventDefault(),s||i)return null;o.preventDefault(),a.call(this,o,r)}}function lF({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:a}){return o=>{if(o.sourceEvent?.internal)return;let r=of(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,o.sourceEvent?.type==="mousedown"&&e(!0),a&&a?.(o.sourceEvent,r)}}function uF({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:a,onTransformChange:o,onPanZoom:r}){return n=>{t.usedRightMouseButton=!!(a&&wI(e,t.mouseButton??0)),n.sourceEvent?.sync||o([n.transform.x,n.transform.y,n.transform.k]),r&&!n.sourceEvent?.internal&&r?.(n.sourceEvent,of(n.transform))}}function dF({zoomPanValues:t,panOnDrag:e,panOnScroll:a,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:n}){return s=>{if(!s.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,n&&wI(e,t.mouseButton??0)&&!t.usedRightMouseButton&&s.sourceEvent&&n(s.sourceEvent),t.usedRightMouseButton=!1,o(!1),r)){let i=of(s.transform);t.prevViewport=i,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{r?.(s.sourceEvent,i)},a?150:0)}}}function fF({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:a,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:n,userSelectionActive:s,noWheelClassName:i,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let c=t||e,h=a&&f.ctrlKey,p=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&($n(f,`${u}-flow__node`)||$n(f,`${u}-flow__edge`)))return!0;if(!o&&!c&&!r&&!n&&!a||s||d&&!p||$n(f,i)&&p||$n(f,l)&&(!p||r&&p&&!t)||!a&&f.ctrlKey&&p)return!1;if(!a&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!c&&!r&&!h&&p||!o&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(o)&&!o.includes(f.button)&&f.type==="mousedown")return!1;let m=Array.isArray(o)&&o.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||p)&&m}}function II({domNode:t,minZoom:e,maxZoom:a,translateExtent:o,viewport:r,onPanZoom:n,onPanZoomStart:s,onPanZoomEnd:i,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=t.getBoundingClientRect(),f=qd().scaleExtent([e,a]).translateExtent(o),c=ot(t).call(f);C({x:r.x,y:r.y,zoom:Xn(r.zoom,e,a)},[[0,0],[d.width,d.height]],o);let h=c.on("wheel.zoom"),p=c.on("dblclick.zoom");f.wheelDelta(bI);async function m(P,R){return c?new Promise(H=>{f?.interpolate(R?.interpolate==="linear"?uo:_r).transform(Cm(c,R?.duration,R?.ease,()=>H(!0)),P)}):!1}function g({noWheelClassName:P,noPanClassName:R,onPaneContextMenu:H,userSelectionActive:k,panOnScroll:D,panOnDrag:M,panOnScrollMode:T,panOnScrollSpeed:E,preventScrolling:B,zoomOnPinch:A,zoomOnScroll:q,zoomOnDoubleClick:F,zoomActivationKeyPressed:G,lib:_,onTransformChange:O,connectionInProgress:U,paneClickDistance:X,selectionOnDrag:z}){k&&!u.isZoomingOrPanning&&x();let $=D&&!G&&!k;f.clickDistance(z?1/0:!ea(X)||X<0?0:X);let ie=$?sF({zoomPanValues:u,noWheelClassName:P,d3Selection:c,d3Zoom:f,panOnScrollMode:T,panOnScrollSpeed:E,zoomOnPinch:A,onPanZoomStart:s,onPanZoom:n,onPanZoomEnd:i}):iF({noWheelClassName:P,preventScrolling:B,d3ZoomHandler:h});c.on("wheel.zoom",ie,{passive:!1});let se=lF({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});f.on("start",se);let oe=uF({zoomPanValues:u,panOnDrag:M,onPaneContextMenu:!!H,onPanZoom:n,onTransformChange:O});f.on("zoom",oe);let ne=dF({zoomPanValues:u,panOnDrag:M,panOnScroll:D,onPaneContextMenu:H,onPanZoomEnd:i,onDraggingChange:l});f.on("end",ne);let ue=fF({zoomActivationKeyPressed:G,panOnDrag:M,zoomOnScroll:q,panOnScroll:D,zoomOnDoubleClick:F,zoomOnPinch:A,userSelectionActive:k,noPanClassName:R,noWheelClassName:P,lib:_,connectionInProgress:U});f.filter(ue),F?c.on("dblclick.zoom",p):c.on("dblclick.zoom",null)}function x(){f.on("zoom",null)}async function C(P,R,H){let k=Lm(P),D=f?.constrain()(k,R,H);return D&&await m(D),D}async function L(P,R){let H=Lm(P);return await m(H,R),H}function y(P){if(c){let R=Lm(P),H=c.property("__zoom");(H.k!==P.zoom||H.x!==P.x||H.y!==P.y)&&f?.transform(c,R,null,{sync:!0})}}function S(){let P=c?Si(c.node()):{x:0,y:0,k:1};return{x:P.x,y:P.y,zoom:P.k}}async function w(P,R){return c?new Promise(H=>{f?.interpolate(R?.interpolate==="linear"?uo:_r).scaleTo(Cm(c,R?.duration,R?.ease,()=>H(!0)),P)}):!1}async function b(P,R){return c?new Promise(H=>{f?.interpolate(R?.interpolate==="linear"?uo:_r).scaleBy(Cm(c,R?.duration,R?.ease,()=>H(!0)),P)}):!1}function I(P){f?.scaleExtent(P)}function v(P){f?.translateExtent(P)}function N(P){let R=!ea(P)||P<0?0:P;f?.clickDistance(R)}return{update:g,destroy:x,setViewport:L,setViewportConstrained:C,getViewport:S,scaleTo:w,scaleBy:b,setScaleExtent:I,setTranslateExtent:v,syncViewport:y,setClickDistance:N}}var Uo;(function(t){t.Line="line",t.Handle="handle"})(Uo||(Uo={}));function cF({width:t,prevWidth:e,height:a,prevHeight:o,affectsX:r,affectsY:n}){let s=t-e,i=a-o,l=[s>0?1:s<0?-1:0,i>0?1:i<0?-1:0];return s&&r&&(l[0]=l[0]*-1),i&&n&&(l[1]=l[1]*-1),l}function jb(t){let e=t.includes("right")||t.includes("left"),a=t.includes("bottom")||t.includes("top"),o=t.includes("left"),r=t.includes("top");return{isHorizontal:e,isVertical:a,affectsX:o,affectsY:r}}function No(t,e){return Math.max(0,e-t)}function Ho(t,e){return Math.max(0,t-e)}function Ud(t,e,a){return Math.max(0,e-t,t-a)}function Zb(t,e){return t?!e:e}function hF(t,e,a,o,r,n,s,i){let{affectsX:l,affectsY:u}=e,{isHorizontal:d,isVertical:f}=e,c=d&&f,{xSnapped:h,ySnapped:p}=a,{minWidth:m,maxWidth:g,minHeight:x,maxHeight:C}=o,{x:L,y,width:S,height:w,aspectRatio:b}=t,I=Math.floor(d?h-t.pointerX:0),v=Math.floor(f?p-t.pointerY:0),N=S+(l?-I:I),P=w+(u?-v:v),R=-n[0]*S,H=-n[1]*w,k=Ud(N,m,g),D=Ud(P,x,C);if(s){let E=0,B=0;l&&I<0?E=No(L+I+R,s[0][0]):!l&&I>0&&(E=Ho(L+N+R,s[1][0])),u&&v<0?B=No(y+v+H,s[0][1]):!u&&v>0&&(B=Ho(y+P+H,s[1][1])),k=Math.max(k,E),D=Math.max(D,B)}if(i){let E=0,B=0;l&&I>0?E=Ho(L+I,i[0][0]):!l&&I<0&&(E=No(L+N,i[1][0])),u&&v>0?B=Ho(y+v,i[0][1]):!u&&v<0&&(B=No(y+P,i[1][1])),k=Math.max(k,E),D=Math.max(D,B)}if(r){if(d){let E=Ud(N/b,x,C)*b;if(k=Math.max(k,E),s){let B=0;!l&&!u||l&&!u&&c?B=Ho(y+H+N/b,s[1][1])*b:B=No(y+H+(l?I:-I)/b,s[0][1])*b,k=Math.max(k,B)}if(i){let B=0;!l&&!u||l&&!u&&c?B=No(y+N/b,i[1][1])*b:B=Ho(y+(l?I:-I)/b,i[0][1])*b,k=Math.max(k,B)}}if(f){let E=Ud(P*b,m,g)/b;if(D=Math.max(D,E),s){let B=0;!l&&!u||u&&!l&&c?B=Ho(L+P*b+R,s[1][0])/b:B=No(L+(u?v:-v)*b+R,s[0][0])/b,D=Math.max(D,B)}if(i){let B=0;!l&&!u||u&&!l&&c?B=No(L+P*b,i[1][0])/b:B=Ho(L+(u?v:-v)*b,i[0][0])/b,D=Math.max(D,B)}}}v=v+(v<0?D:-D),I=I+(I<0?k:-k),r&&(c?N>P*b?v=(Zb(l,u)?-I:I)/b:I=(Zb(l,u)?-v:v)*b:d?(v=I/b,u=l):(I=v*b,l=u));let M=l?L+I:L,T=u?y+v:y;return{width:S+(l?-I:I),height:w+(u?-v:v),x:n[0]*I*(l?-1:1)+M,y:n[1]*v*(u?-1:1)+T}}var SI={width:0,height:0,x:0,y:0},pF={...SI,pointerX:0,pointerY:0,aspectRatio:1};function mF(t,e,a){let o=e.position.x+t.position.x,r=e.position.y+t.position.y,n=t.measured.width??0,s=t.measured.height??0,i=a[0]*n,l=a[1]*s;return[[o-i,r-l],[o+n-i,r+s-l]]}function vI({domNode:t,nodeId:e,getStoreItems:a,onChange:o,onEnd:r}){let n=ot(t),s={controlDirection:jb("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:c,onResizeStart:h,onResize:p,onResizeEnd:m,shouldResize:g}){let x={...SI},C={...pF};s={boundaries:d,resizeDirection:c,keepAspectRatio:f,controlDirection:jb(u)};let L,y=null,S=[],w,b,I,v=!1,N=Cd().on("start",P=>{let{nodeLookup:R,transform:H,snapGrid:k,snapToGrid:D,nodeOrigin:M,paneDomNode:T}=a();if(L=R.get(e),!L)return;y=T?.getBoundingClientRect()??null;let{xSnapped:E,ySnapped:B}=vi(P.sourceEvent,{transform:H,snapGrid:k,snapToGrid:D,containerBounds:y});x={width:L.measured.width??0,height:L.measured.height??0,x:L.position.x??0,y:L.position.y??0},C={...x,pointerX:E,pointerY:B,aspectRatio:x.width/x.height},w=void 0,b=$r(L.extent)?L.extent:void 0,L.parentId&&(L.extent==="parent"||L.expandParent)&&(w=R.get(L.parentId)),w&&L.extent==="parent"&&(b=[[0,0],[w.measured.width,w.measured.height]]),S=[],I=void 0;for(let[A,q]of R)if(q.parentId===e&&(S.push({id:A,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){let F=mF(q,L,q.origin??M);I?I=[[Math.min(F[0][0],I[0][0]),Math.min(F[0][1],I[0][1])],[Math.max(F[1][0],I[1][0]),Math.max(F[1][1],I[1][1])]]:I=F}h?.(P,{...x})}).on("drag",P=>{let{transform:R,snapGrid:H,snapToGrid:k,nodeOrigin:D}=a(),M=vi(P.sourceEvent,{transform:R,snapGrid:H,snapToGrid:k,containerBounds:y}),T=[];if(!L)return;let{x:E,y:B,width:A,height:q}=x,F={},G=L.origin??D,{width:_,height:O,x:U,y:X}=hF(C,s.controlDirection,M,s.boundaries,s.keepAspectRatio,G,b,I),z=_!==A,$=O!==q,ie=U!==E&&z,se=X!==B&&$;if(!ie&&!se&&!z&&!$)return;if((ie||se||G[0]===1||G[1]===1)&&(F.x=ie?U:x.x,F.y=se?X:x.y,x.x=F.x,x.y=F.y,S.length>0)){let Ie=U-E,Ve=X-B;for(let kt of S)kt.position={x:kt.position.x-Ie+G[0]*(_-A),y:kt.position.y-Ve+G[1]*(O-q)},T.push(kt)}if((z||$)&&(F.width=z&&(!s.resizeDirection||s.resizeDirection==="horizontal")?_:x.width,F.height=$&&(!s.resizeDirection||s.resizeDirection==="vertical")?O:x.height,x.width=F.width,x.height=F.height),w&&L.expandParent){let Ie=G[0]*(F.width??0);F.x&&F.x<Ie&&(x.x=Ie,C.x=C.x-(F.x-Ie));let Ve=G[1]*(F.height??0);F.y&&F.y<Ve&&(x.y=Ve,C.y=C.y-(F.y-Ve))}let oe=cF({width:x.width,prevWidth:A,height:x.height,prevHeight:q,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),ne={...x,direction:oe};g?.(P,ne)!==!1&&(v=!0,p?.(P,ne),o(F,T))}).on("end",P=>{v&&(m?.(P,{...x}),r?.({...x}),v=!1)});n.call(N)}function l(){n.on(".drag",null)}return{update:i,destroy:l}}var NI=WM(EI(),1);import EF from"react";var BI=t=>{let e,a=new Set,o=(d,f)=>{let c=typeof d=="function"?d(e):d;if(!Object.is(c,e)){let h=e;e=f??(typeof c!="object"||c===null)?c:Object.assign({},e,c),a.forEach(p=>p(e,h))}},r=()=>e,l={setState:o,getState:r,getInitialState:()=>u,subscribe:d=>(a.add(d),()=>a.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),a.clear()}},u=e=t(o,r,l);return l},OI=t=>t?BI(t):BI;var{useDebugValue:BF}=EF,{useSyncExternalStoreWithSelector:OF}=NI.default,FF=t=>t;function Wm(t,e=FF,a){let o=OF(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,a);return BF(o),o}var FI=(t,e)=>{let a=OI(t),o=(r,n=e)=>Wm(a,r,n);return Object.assign(o,a),o},HI=(t,e)=>t?FI(t,e):FI;function De(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,r]of t)if(!Object.is(r,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!1;for(let o of a)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}import{createPortal as c9}from"react-dom";var uf=Km(null),HF=uf.Provider,uS=Ut.error001("react");function Le(t,e){let a=Ri(uf);if(a===null)throw new Error(uS);return Wm(a,t,e)}function Fe(){let t=Ri(uf);if(t===null)throw new Error(uS);return ba(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}var _I={display:"none"},_F={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},dS="react-flow__node-desc",fS="react-flow__edge-desc",qF="react-flow__aria-live",zF=t=>t.ariaLiveMessage,UF=t=>t.ariaLabelConfig;function VF({rfId:t}){let e=Le(zF);return W("div",{id:`${qF}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:_F,children:e})}function WF({rfId:t,disableKeyboardA11y:e}){let a=Le(UF);return dt(po,{children:[W("div",{id:`${dS}-${t}`,style:_I,children:e?a["node.a11yDescription.default"]:a["node.a11yDescription.keyboardDisabled"]}),W("div",{id:`${fS}-${t}`,style:_I,children:a["edge.a11yDescription.default"]}),!e&&W(VF,{rfId:t})]})}var df=lS(({position:t="top-left",children:e,className:a,style:o,...r},n)=>{let s=`${t}`.split("-");return W("div",{className:qe(["react-flow__panel",a,...s]),style:o,ref:n,...r,children:e})});df.displayName="Panel";function GF({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:W(df,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:W("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var $F=t=>{let e=[],a=[];for(let[,o]of t.nodeLookup)o.selected&&e.push(o.internals.userNode);for(let[,o]of t.edgeLookup)o.selected&&a.push(o);return{selectedNodes:e,selectedEdges:a}},nf=t=>t.id;function XF(t,e){return De(t.selectedNodes.map(nf),e.selectedNodes.map(nf))&&De(t.selectedEdges.map(nf),e.selectedEdges.map(nf))}function KF({onSelectionChange:t}){let e=Fe(),{selectedNodes:a,selectedEdges:o}=Le($F,XF);return ke(()=>{let r={nodes:a,edges:o};t?.(r),e.getState().onSelectionChangeHandlers.forEach(n=>n(r))},[a,o,t]),null}var jF=t=>!!t.onSelectionChangeHandlers;function ZF({onSelectionChange:t}){let e=Le(jF);return t||e?W(KF,{onSelectionChange:t}):null}var cS=[0,0],YF={x:0,y:0,zoom:1},JF=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],qI=[...JF,"rfId"],QF=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),zI={translateExtent:Kn,nodeOrigin:cS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function eN(t){let{setNodes:e,setEdges:a,setMinZoom:o,setMaxZoom:r,setTranslateExtent:n,setNodeExtent:s,reset:i,setDefaultNodesAndEdges:l}=Le(QF,De),u=Fe();ke(()=>(l(t.defaultNodes,t.defaultEdges),()=>{d.current=zI,i()}),[]);let d=we(zI);return ke(()=>{for(let f of qI){let c=t[f],h=d.current[f];c!==h&&(typeof t[f]>"u"||(f==="nodes"?e(c):f==="edges"?a(c):f==="minZoom"?o(c):f==="maxZoom"?r(c):f==="translateExtent"?n(c):f==="nodeExtent"?s(c):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:oI(c)}):f==="fitView"?u.setState({fitViewQueued:c}):f==="fitViewOptions"?u.setState({fitViewOptions:c}):u.setState({[f]:c})))}d.current=t},qI.map(f=>t[f])),null}function UI(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function tN(t){let[e,a]=qa(t==="system"?null:t);return ke(()=>{if(t!=="system"){a(t);return}let o=UI(),r=()=>a(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[t]),e!==null?e:UI()?.matches?"dark":"light"}var VI=typeof document<"u"?document:null;function Pi(t=null,e={target:VI,actInsideInputWithModifier:!0}){let[a,o]=qa(!1),r=we(!1),n=we(new Set([])),[s,i]=ba(()=>{if(t!==null){let u=(Array.isArray(t)?t:[t]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
20
+ `);o>-1&&(a=a.slice(0,o))}return e+a.length<=this.to?a:a.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,a=this.lineAfter(e),o=e+a.length;for(let r=this.rangeIndex;;){let n=this.ranges[r].to;if(n>=o||(a=a.slice(0,n-(o-a.length)),r++,r==this.ranges.length))break;let s=this.ranges[r].from,i=this.lineAfter(s);a+=i,o=s+i.length}return{line:a,end:o}}skipGapsTo(e,a,o){for(;;){let r=this.ranges[this.rangeIndex].to,n=e+a;if(o>0?r>n:r>=n)break;let s=this.ranges[++this.rangeIndex].from;a+=s-r}return a}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,a,o,r){let n=4;if(this.ranges.length>1){r=this.skipGapsTo(a,r,1),a+=r;let i=this.chunk.length;r=this.skipGapsTo(o,r,-1),o+=r,n+=this.chunk.length-i}let s=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&n==4&&s>=0&&this.chunk[s]==e&&this.chunk[s+2]==a?this.chunk[s+2]=o:this.chunk.push(e,a,o,n),r}parseLine(e){let{line:a,end:o}=this.nextLine(),r=0,{streamParser:n}=this.lang,s=new Lu(a,e?e.state.tabSize:4,e?zo(e.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let i=Lw(n.token,s,this.state);if(i&&(r=this.emitToken(this.lang.tokenTable.resolve(i),this.parsedPos+s.start,this.parsedPos+s.pos,r)),s.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=ze.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:pT,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new ze(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new ze(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function Lw(t,e,a){e.start=e.pos;for(let o=0;o<10;o++){let r=t(e,a);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var pp=Object.create(null),Qs=[At.none],pT=new pu(Qs),uw=[],dw=Object.create(null),Cw=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Cw[t]=vw(pp,e);var vu=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Cw)}resolve(e){return e?this.table[e]||(this.table[e]=vw(this.extra,e)):0}},mT=new vu(pp);function rp(t,e){uw.indexOf(t)>-1||(uw.push(t),console.warn(e))}function vw(t,e){let a=[];for(let i of e.split(" ")){let l=[];for(let u of i.split(".")){let d=t[u]||b[u];d?typeof d=="function"?l.length?l=l.map(d):rp(u,`Modifier ${u} used at start of tag`):l.length?rp(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:rp(u,`Unknown highlighting tag ${u}`)}for(let u of l)a.push(u)}if(!a.length)return 0;let o=e.replace(/ /g,"_"),r=o+" "+a.map(i=>i.id),n=dw[r];if(n)return n.id;let s=dw[r]=At.define({id:Qs.length,name:o,props:[tw({[o]:a})]});return Qs.push(s),s.id}function gT(t,e){let a=At.define({id:Qs.length,name:"Document",props:[Nn.add(()=>t),fw.add(()=>o=>e.getIndent(o))],top:!0});return Qs.push(a),a}var Q4={rtl:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:Ie.RTL}),ltr:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:Ie.LTR}),auto:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var xT=t=>{let{state:e}=t,a=e.doc.lineAt(e.selection.main.from),o=Lp(t.state,a.from);return o.line?bT(t):o.block?yT(t):!1};function yp(t,e){return({state:a,dispatch:o})=>{if(a.readOnly)return!1;let r=t(e,a);return r?(o(a.update(r)),!0):!1}}var bT=yp(vT,0);var wT=yp(Tw,0);var yT=yp((t,e)=>Tw(t,e,CT(e)),0);function Lp(t,e){let a=t.languageDataAt("commentTokens",e,1);return a.length?a[0]:{}}var ti=50;function LT(t,{open:e,close:a},o,r){let n=t.sliceDoc(o-ti,o),s=t.sliceDoc(r,r+ti),i=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(s)[0].length,u=n.length-i;if(n.slice(u-e.length,u)==e&&s.slice(l,l+a.length)==a)return{open:{pos:o-i,margin:i&&1},close:{pos:r+l,margin:l&&1}};let d,c;r-o<=2*ti?d=c=t.sliceDoc(o,r):(d=t.sliceDoc(o,o+ti),c=t.sliceDoc(r-ti,r));let f=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(c)[0].length,p=c.length-h-a.length;return d.slice(f,f+e.length)==e&&c.slice(p,p+a.length)==a?{open:{pos:o+f+e.length,margin:/\s/.test(d.charAt(f+e.length))?1:0},close:{pos:r-h-a.length,margin:/\s/.test(c.charAt(p-1))?1:0}}:null}function CT(t){let e=[];for(let a of t.selection.ranges){let o=t.doc.lineAt(a.from),r=a.to<=o.to?o:t.doc.lineAt(a.to);r.from>o.from&&r.from==a.to&&(r=a.to==o.to+1?o:t.doc.lineAt(a.to-1));let n=e.length-1;n>=0&&e[n].to>o.from?e[n].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function Tw(t,e,a=e.selection.ranges){let o=a.map(n=>Lp(e,n.from).block);if(!o.every(n=>n))return null;let r=a.map((n,s)=>LT(e,o[s],n.from,n.to));if(t!=2&&!r.every(n=>n))return{changes:e.changes(a.map((n,s)=>r[s]?[]:[{from:n.from,insert:o[s].open+" "},{from:n.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(n=>n)){let n=[];for(let s=0,i;s<r.length;s++)if(i=r[s]){let l=o[s],{open:u,close:d}=i;n.push({from:u.pos-l.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function vT(t,e,a=e.selection.ranges){let o=[],r=-1;e:for(let{from:n,to:s}of a){let i=o.length,l=1e9,u;for(let d=n;d<=s;){let c=e.doc.lineAt(d);if(u==null&&(u=Lp(e,c.from).line,!u))continue e;if(c.from>r&&(n==s||s>c.from)){r=c.from;let f=/^\s*/.exec(c.text)[0].length,h=f==c.length,p=c.text.slice(f,f+u.length)==u?f:-1;f<c.text.length&&f<l&&(l=f),o.push({line:c,comment:p,token:u,indent:f,empty:h,single:!1})}d=c.to+1}if(l<1e9)for(let d=i;d<o.length;d++)o[d].indent<o[d].line.text.length&&(o[d].indent=l);o.length==i+1&&(o[i].single=!0)}if(t!=2&&o.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:i,token:l,indent:u,empty:d,single:c}of o)(c||!d)&&n.push({from:i.from+u,insert:l+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:i,token:l}of o)if(i>=0){let u=s.from+i,d=u+l.length;s.text[d-s.from]==" "&&d++,n.push({from:u,to:d})}return{changes:n}}return null}var gp=Et.define(),ST=Et.define(),IT=Y.define(),Ew=Y.define({combine(t){return Ft(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,a)=>a},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,a)=>(o,r)=>e(o,r)||a(o,r)})}}),Bw=Ve.define({create(){return Er.empty},update(t,e){let a=e.state.facet(Ew),o=e.annotation(gp);if(o){let l=va.fromTransaction(e,o.selection),u=o.side,d=u==0?t.undone:t.done;return l?d=Iu(d,d.length,a.minDepth,l):d=_w(d,e.startState.selection),new Er(u==0?o.rest:d,u==0?d:o.rest)}let r=e.annotation(ST);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(ot.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=va.fromTransaction(e),s=e.annotation(ot.time),i=e.annotation(ot.userEvent);return n?t=t.addChanges(n,s,i,a,e):e.selection&&(t=t.addSelection(e.startState.selection,s,i,a.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Er(t.done.map(va.fromJSON),t.undone.map(va.fromJSON))}});function Fw(t={}){return[Bw,Ew.of(t),Z.domEventHandlers({beforeinput(e,a){let o=e.inputType=="historyUndo"?Ow:e.inputType=="historyRedo"?xp:null;return o?(e.preventDefault(),o(a)):!1}})]}function ku(t,e){return function({state:a,dispatch:o}){if(!e&&a.readOnly)return!1;let r=a.field(Bw,!1);if(!r)return!1;let n=r.pop(t,a,e);return n?(o(n),!0):!1}}var Ow=ku(0,!1),xp=ku(1,!1),kT=ku(0,!0),AT=ku(1,!0);var va=class t{constructor(e,a,o,r,n){this.changes=e,this.effects=a,this.mapped=o,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new t(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,a,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(a=this.mapped)===null||a===void 0?void 0:a.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new t(e.changes&&It.fromJSON(e.changes),[],e.mapped&&uo.fromJSON(e.mapped),e.startSelection&&X.fromJSON(e.startSelection),e.selectionsAfter.map(X.fromJSON))}static fromTransaction(e,a){let o=la;for(let r of e.startState.facet(IT)){let n=r(e);n.length&&(o=o.concat(n))}return!o.length&&e.changes.empty?null:new t(e.changes.invert(e.startState.doc),o,void 0,a||e.startState.selection,la)}static selection(e){return new t(void 0,la,void 0,void 0,e)}};function Iu(t,e,a,o){let r=e+1>a+20?e-a-1:0,n=t.slice(r,e);return n.push(o),n}function MT(t,e){let a=[],o=!1;return t.iterChangedRanges((r,n)=>a.push(r,n)),e.iterChangedRanges((r,n,s,i)=>{for(let l=0;l<a.length;){let u=a[l++],d=a[l++];i>=u&&s<=d&&(o=!0)}}),o}function PT(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((a,o)=>a.empty!=e.ranges[o].empty).length===0}function Nw(t,e){return t.length?e.length?t.concat(e):t:e}var la=[],DT=200;function _w(t,e){if(t.length){let a=t[t.length-1],o=a.selectionsAfter.slice(Math.max(0,a.selectionsAfter.length-DT));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),Iu(t,t.length-1,1e9,a.setSelAfter(o)))}else return[va.selection([e])]}function RT(t){let e=t[t.length-1],a=t.slice();return a[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),a}function mp(t,e){if(!t.length)return t;let a=t.length,o=la;for(;a;){let r=TT(t[a-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let n=t.slice(0,a);return n[a-1]=r,n}else e=r.mapped,a--,o=r.selectionsAfter}return o.length?[va.selection(o)]:la}function TT(t,e,a){let o=Nw(t.selectionsAfter.length?t.selectionsAfter.map(i=>i.map(e)):la,a);if(!t.changes)return va.selection(o);let r=t.changes.map(e),n=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(n):n;return new va(r,de.mapEffects(t.effects,e),s,t.startSelection.map(n),o)}var ET=/^(input\.type|delete)($|\.)/,Er=class t{constructor(e,a,o=0,r=void 0){this.done=e,this.undone=a,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new t(this.done,this.undone):this}addChanges(e,a,o,r,n){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&e.changes&&(!o||ET.test(o))&&(!i.selectionsAfter.length&&a-this.prevTime<r.newGroupDelay&&r.joinToEvent(n,MT(i.changes,e.changes))||o=="input.type.compose")?s=Iu(s,s.length-1,r.minDepth,new va(e.changes.compose(i.changes),Nw(de.mapEffects(e.effects,i.changes),i.effects),i.mapped,i.startSelection,la)):s=Iu(s,s.length,r.minDepth,e),new t(s,la,a,o)}addSelection(e,a,o,r){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:la;return n.length>0&&a-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&PT(n[n.length-1],e)?this:new t(_w(this.done,e),this.undone,a,o)}addMapping(e){return new t(mp(this.done,e),mp(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,a,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let n=r[r.length-1],s=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):a.selection);if(o&&n.selectionsAfter.length)return a.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:gp.of({side:e,rest:RT(r),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=r.length==1?la:r.slice(0,r.length-1);return n.mapped&&(i=mp(i,n.mapped)),a.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:gp.of({side:e,rest:i,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Er.empty=new Er(la,la);var Hw=[{key:"Mod-z",run:Ow,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:xp,preventDefault:!0},{linux:"Ctrl-Shift-z",run:xp,preventDefault:!0},{key:"Mod-u",run:kT,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:AT,preventDefault:!0}];function zn(t,e){return X.create(t.ranges.map(e),t.mainIndex)}function Sa(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ia({state:t,dispatch:e},a){let o=zn(t.selection,a);return o.eq(t.selection,!0)?!1:(e(Sa(t,o)),!0)}function Au(t,e){return X.cursor(e?t.to:t.from)}function zw(t,e){return Ia(t,a=>a.empty?t.moveByChar(a,e):Au(a,e))}function Lt(t){return t.textDirectionAt(t.state.selection.main.head)==Ie.LTR}var qw=t=>zw(t,!Lt(t)),Uw=t=>zw(t,Lt(t));function Ww(t,e){return Ia(t,a=>a.empty?t.moveByGroup(a,e):Au(a,e))}var BT=t=>Ww(t,!Lt(t)),FT=t=>Ww(t,Lt(t));var lG=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function OT(t,e,a){if(e.type.prop(a))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Mu(t,e,a){let o=Mt(t).resolveInner(e.head),r=a?he.closedBy:he.openedBy;for(let l=e.head;;){let u=a?o.childAfter(l):o.childBefore(l);if(!u)break;OT(t,u,r)?o=u:l=a?u.to:u.from}let n=o.type.prop(r),s,i;return n&&(s=a?Ca(t,o.from,1):Ca(t,o.to,-1))&&s.matched?i=a?s.end.to:s.end.from:i=a?o.to:o.from,X.cursor(i,a?-1:1)}var NT=t=>Ia(t,e=>Mu(t.state,e,!Lt(t))),_T=t=>Ia(t,e=>Mu(t.state,e,Lt(t)));function Vw(t,e){return Ia(t,a=>{if(!a.empty)return Au(a,e);let o=t.moveVertically(a,e);return o.head!=a.head?o:t.moveToLineBoundary(a,e)})}var Gw=t=>Vw(t,!1),$w=t=>Vw(t,!0);function Xw(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,a=0,o=0,r;if(e){for(let n of t.state.facet(Z.scrollMargins)){let s=n(t);s?.top&&(a=Math.max(s?.top,a)),s?.bottom&&(o=Math.max(s?.bottom,o))}r=t.scrollDOM.clientHeight-a-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:a,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function Kw(t,e){let a=Xw(t),{state:o}=t,r=zn(o.selection,s=>s.empty?t.moveVertically(s,e,a.height):Au(s,e));if(r.eq(o.selection))return!1;let n;if(a.selfScroll){let s=t.coordsAtPos(o.selection.main.head),i=t.scrollDOM.getBoundingClientRect(),l=i.top+a.marginTop,u=i.bottom-a.marginBottom;s&&s.top>l&&s.bottom<u&&(n=Z.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(Sa(o,r),{effects:n}),!0}var Sw=t=>Kw(t,!1),bp=t=>Kw(t,!0);function Uo(t,e,a){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,a);if(r.head==e.head&&r.head!=(a?o.to:o.from)&&(r=t.moveToLineBoundary(e,a,!1)),!a&&r.head==o.from&&o.length){let n=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;n&&e.head!=o.from+n&&(r=X.cursor(o.from+n))}return r}var HT=t=>Ia(t,e=>Uo(t,e,!0)),zT=t=>Ia(t,e=>Uo(t,e,!1)),qT=t=>Ia(t,e=>Uo(t,e,!Lt(t))),UT=t=>Ia(t,e=>Uo(t,e,Lt(t))),WT=t=>Ia(t,e=>X.cursor(t.lineBlockAt(e.head).from,1)),VT=t=>Ia(t,e=>X.cursor(t.lineBlockAt(e.head).to,-1));function GT(t,e,a){let o=!1,r=zn(t.selection,n=>{let s=Ca(t,n.head,-1)||Ca(t,n.head,1)||n.head>0&&Ca(t,n.head-1,1)||n.head<t.doc.length&&Ca(t,n.head+1,-1);if(!s||!s.end)return n;o=!0;let i=s.start.from==n.head?s.end.to:s.end.from;return a?X.range(n.anchor,i):X.cursor(i)});return o?(e(Sa(t,r)),!0):!1}var $T=({state:t,dispatch:e})=>GT(t,e,!1);function ua(t,e){let a=zn(t.state.selection,o=>{let r=e(o);return X.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return a.eq(t.state.selection)?!1:(t.dispatch(Sa(t.state,a)),!0)}function jw(t,e){return ua(t,a=>t.moveByChar(a,e))}var Zw=t=>jw(t,!Lt(t)),Yw=t=>jw(t,Lt(t));function Jw(t,e){return ua(t,a=>t.moveByGroup(a,e))}var XT=t=>Jw(t,!Lt(t)),KT=t=>Jw(t,Lt(t));var jT=t=>ua(t,e=>Mu(t.state,e,!Lt(t))),ZT=t=>ua(t,e=>Mu(t.state,e,Lt(t)));function Qw(t,e){return ua(t,a=>t.moveVertically(a,e))}var ey=t=>Qw(t,!1),ty=t=>Qw(t,!0);function ay(t,e){return ua(t,a=>t.moveVertically(a,e,Xw(t).height))}var Iw=t=>ay(t,!1),kw=t=>ay(t,!0),YT=t=>ua(t,e=>Uo(t,e,!0)),JT=t=>ua(t,e=>Uo(t,e,!1)),QT=t=>ua(t,e=>Uo(t,e,!Lt(t))),eE=t=>ua(t,e=>Uo(t,e,Lt(t))),tE=t=>ua(t,e=>X.cursor(t.lineBlockAt(e.head).from)),aE=t=>ua(t,e=>X.cursor(t.lineBlockAt(e.head).to)),Aw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:0})),!0),Mw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:t.doc.length})),!0),Pw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:t.selection.main.anchor,head:0})),!0),Dw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),oE=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),rE=({state:t,dispatch:e})=>{let a=Pu(t).map(({from:o,to:r})=>X.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:X.create(a),userEvent:"select"})),!0},nE=({state:t,dispatch:e})=>{let a=zn(t.selection,o=>{let r=Mt(t),n=r.resolveStack(o.from,1);if(o.empty){let s=r.resolveStack(o.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:i}=s;if((i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from)&&s.next)return X.range(i.to,i.from)}return o});return a.eq(t.selection)?!1:(e(Sa(t,a)),!0)};function oy(t,e){let{state:a}=t,o=a.selection,r=a.selection.ranges.slice();for(let n of a.selection.ranges){let s=a.doc.lineAt(n.head);if(e?s.to<t.state.doc.length:s.from>0)for(let i=n;;){let l=t.moveVertically(i,e);if(l.head<s.from||l.head>s.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==i.head)break;i=l}}}return r.length==o.ranges.length?!1:(t.dispatch(Sa(a,X.create(r,r.length-1))),!0)}var sE=t=>oy(t,!1),iE=t=>oy(t,!0),lE=({state:t,dispatch:e})=>{let a=t.selection,o=null;return a.ranges.length>1?o=X.create([a.main]):a.main.empty||(o=X.create([X.cursor(a.main.head)])),o?(e(Sa(t,o)),!0):!1};function ai(t,e){if(t.state.readOnly)return!1;let a="delete.selection",{state:o}=t,r=o.changeByRange(n=>{let{from:s,to:i}=n;if(s==i){let l=e(n);l<s?(a="delete.backward",l=Su(t,l,!1)):l>s&&(a="delete.forward",l=Su(t,l,!0)),s=Math.min(s,l),i=Math.max(i,l)}else s=Su(t,s,!1),i=Su(t,i,!0);return s==i?{range:n}:{changes:{from:s,to:i},range:X.cursor(s,s<n.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:a,effects:a=="delete.selection"?Z.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function Su(t,e,a){if(t instanceof Z)for(let o of t.state.facet(Z.atomicRanges).map(r=>r(t)))o.between(e,e,(r,n)=>{r<e&&n>e&&(e=a?n:r)});return e}var ry=(t,e,a)=>ai(t,o=>{let r=o.from,{state:n}=t,s=n.doc.lineAt(r),i,l;if(a&&!e&&r>s.from&&r<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,r-s.from))){if(i[i.length-1]==" ")return r-1;let u=wr(i,n.tabSize),d=u%zo(n)||zo(n);for(let c=0;c<d&&i[i.length-1-c]==" ";c++)r--;l=r}else l=je(s.text,r-s.from,e,e)+s.from,l==r&&s.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,r-s.from))&&(l=je(s.text,l-s.from,!1,!1)+s.from);return l}),wp=t=>ry(t,!1,!0);var ny=t=>ry(t,!0,!1),sy=(t,e)=>ai(t,a=>{let o=a.head,{state:r}=t,n=r.doc.lineAt(o),s=r.charCategorizer(o);for(let i=null;;){if(o==(e?n.to:n.from)){o==a.head&&n.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let l=je(n.text,o-n.from,e)+n.from,u=n.text.slice(Math.min(o,l)-n.from,Math.max(o,l)-n.from),d=s(u);if(i!=null&&d!=i)break;(u!=" "||o!=a.head)&&(i=d),o=l}return o}),iy=t=>sy(t,!1),uE=t=>sy(t,!0);var dE=t=>ai(t,e=>{let a=t.lineBlockAt(e.head).to;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var cE=t=>ai(t,e=>{let a=t.moveToLineBoundary(e,!1).head;return e.head>a?a:Math.max(0,e.head-1)}),fE=t=>ai(t,e=>{let a=t.moveToLineBoundary(e,!0).head;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var hE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:we.of(["",""])},range:X.cursor(o.from)}));return e(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0},pE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,n=t.doc.lineAt(r),s=r==n.from?r-1:je(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:je(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:i,insert:t.doc.slice(r,i).append(t.doc.slice(s,r))},range:X.cursor(i)}});return a.changes.empty?!1:(e(t.update(a,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Pu(t){let e=[],a=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),n=t.doc.lineAt(o.to);if(!o.empty&&o.to==n.from&&(n=t.doc.lineAt(o.to-1)),a>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(o)}else e.push({from:r.from,to:n.to,ranges:[o]});a=n.number+1}return e}function ly(t,e,a){if(t.readOnly)return!1;let o=[],r=[];for(let n of Pu(t)){if(a?n.to==t.doc.length:n.from==0)continue;let s=t.doc.lineAt(a?n.to+1:n.from-1),i=s.length+1;if(a){o.push({from:n.to,to:s.to},{from:n.from,insert:s.text+t.lineBreak});for(let l of n.ranges)r.push(X.range(Math.min(t.doc.length,l.anchor+i),Math.min(t.doc.length,l.head+i)))}else{o.push({from:s.from,to:n.from},{from:n.to,insert:t.lineBreak+s.text});for(let l of n.ranges)r.push(X.range(l.anchor-i,l.head-i))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:X.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var mE=({state:t,dispatch:e})=>ly(t,e,!1),gE=({state:t,dispatch:e})=>ly(t,e,!0);function uy(t,e,a){if(t.readOnly)return!1;let o=[];for(let n of Pu(t))a?o.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):o.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let r=t.changes(o);return e(t.update({changes:r,selection:t.selection.map(r,a?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var xE=({state:t,dispatch:e})=>uy(t,e,!1),bE=({state:t,dispatch:e})=>uy(t,e,!0),wE=t=>{if(t.state.readOnly)return!1;let{state:e}=t,a=e.changes(Pu(e).map(({from:r,to:n})=>(r>0?r--:n<e.doc.length&&n++,{from:r,to:n}))),o=zn(e.selection,r=>{let n;if(t.lineWrapping){let s=t.lineBlockAt(r.head),i=t.coordsAtPos(r.head,r.assoc||1);i&&(n=s.bottom+t.documentTop-i.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,n)}).map(a);return t.dispatch({changes:a,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function yE(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let a=Mt(t).resolveInner(e),o=a.childBefore(e),r=a.childAfter(e),n;return o&&r&&o.to<=e&&r.from>=e&&(n=o.type.prop(he.closedBy))&&n.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}var Rw=dy(!1),LE=dy(!0);function dy(t){return({state:e,dispatch:a})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:n,to:s}=r,i=e.doc.lineAt(n),l=!t&&n==s&&yE(e,n);t&&(n=s=(s<=i.to?i:e.doc.lineAt(s)).to);let u=new Tr(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=fp(u,n);for(d==null&&(d=wr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;l?{from:n,to:s}=l:n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",ei(e,d)];return l&&c.push(ei(e,u.lineIndent(i.from,-1))),{changes:{from:n,to:s,insert:we.of(c)},range:X.cursor(n+1+c[1].length)}});return a(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function Cp(t,e){let a=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let i=t.doc.lineAt(s);i.number>a&&(o.empty||o.to>i.from)&&(e(i,r,o),a=i.number),s=i.to+1}let n=t.changes(r);return{changes:r,range:X.range(n.mapPos(o.anchor,1),n.mapPos(o.head,1))}})}var CE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=Object.create(null),o=new Tr(t,{overrideIndentation:n=>{let s=a[n];return s??-1}}),r=Cp(t,(n,s,i)=>{let l=fp(o,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let u=/^\s*/.exec(n.text)[0],d=ei(t,l);(u!=d||i.from<n.from+u.length)&&(a[n.from]=l,s.push({from:n.from,to:n.from+u.length,insert:d}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},cy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Cp(t,(a,o)=>{o.push({from:a.from,insert:t.facet(mo)})}),{userEvent:"input.indent"})),!0),fy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Cp(t,(a,o)=>{let r=/^\s*/.exec(a.text)[0];if(!r)return;let n=wr(r,t.tabSize),s=0,i=ei(t,Math.max(0,n-zo(t)));for(;s<r.length&&s<i.length&&r.charCodeAt(s)==i.charCodeAt(s);)s++;o.push({from:a.from+s,to:a.from+r.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),vE=t=>(t.setTabFocusMode(),!0);var SE=[{key:"Ctrl-b",run:qw,shift:Zw,preventDefault:!0},{key:"Ctrl-f",run:Uw,shift:Yw},{key:"Ctrl-p",run:Gw,shift:ey},{key:"Ctrl-n",run:$w,shift:ty},{key:"Ctrl-a",run:WT,shift:tE},{key:"Ctrl-e",run:VT,shift:aE},{key:"Ctrl-d",run:ny},{key:"Ctrl-h",run:wp},{key:"Ctrl-k",run:dE},{key:"Ctrl-Alt-h",run:iy},{key:"Ctrl-o",run:hE},{key:"Ctrl-t",run:pE},{key:"Ctrl-v",run:bp}],IE=[{key:"ArrowLeft",run:qw,shift:Zw,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:BT,shift:XT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:qT,shift:QT,preventDefault:!0},{key:"ArrowRight",run:Uw,shift:Yw,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:FT,shift:KT,preventDefault:!0},{mac:"Cmd-ArrowRight",run:UT,shift:eE,preventDefault:!0},{key:"ArrowUp",run:Gw,shift:ey,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Aw,shift:Pw},{mac:"Ctrl-ArrowUp",run:Sw,shift:Iw},{key:"ArrowDown",run:$w,shift:ty,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Mw,shift:Dw},{mac:"Ctrl-ArrowDown",run:bp,shift:kw},{key:"PageUp",run:Sw,shift:Iw},{key:"PageDown",run:bp,shift:kw},{key:"Home",run:zT,shift:JT,preventDefault:!0},{key:"Mod-Home",run:Aw,shift:Pw},{key:"End",run:HT,shift:YT,preventDefault:!0},{key:"Mod-End",run:Mw,shift:Dw},{key:"Enter",run:Rw,shift:Rw},{key:"Mod-a",run:oE},{key:"Backspace",run:wp,shift:wp,preventDefault:!0},{key:"Delete",run:ny,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:iy,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:uE,preventDefault:!0},{mac:"Mod-Backspace",run:cE,preventDefault:!0},{mac:"Mod-Delete",run:fE,preventDefault:!0}].concat(SE.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),hy=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:NT,shift:jT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:_T,shift:ZT},{key:"Alt-ArrowUp",run:mE},{key:"Shift-Alt-ArrowUp",run:xE},{key:"Alt-ArrowDown",run:gE},{key:"Shift-Alt-ArrowDown",run:bE},{key:"Mod-Alt-ArrowUp",run:sE},{key:"Mod-Alt-ArrowDown",run:iE},{key:"Escape",run:lE},{key:"Mod-Enter",run:LE},{key:"Alt-l",mac:"Ctrl-l",run:rE},{key:"Mod-i",run:nE,preventDefault:!0},{key:"Mod-[",run:fy},{key:"Mod-]",run:cy},{key:"Mod-Alt-\\",run:CE},{key:"Shift-Mod-k",run:wE},{key:"Shift-Mod-\\",run:$T},{key:"Mod-/",run:xT},{key:"Alt-A",run:wT},{key:"Ctrl-m",mac:"Shift-Alt-m",run:vE}].concat(IE),py={key:"Tab",run:cy,shift:fy};var Tu=class{constructor(e,a,o){this.from=e,this.to=a,this.diagnostic=o}},Br=class t{constructor(e,a,o){this.diagnostics=e,this.panel=a,this.selected=o}static init(e,a,o){let r=o.facet(oi).markerFilter;r&&(e=r(e,o));let n=e.slice().sort((h,p)=>h.from-p.from||h.to-p.to),s=new xa,i=[],l=0,u=o.doc.iter(),d=0,c=o.doc.length;for(let h=0;;){let p=h==n.length?null:n[h];if(!p&&!i.length)break;let m,g;if(i.length)m=l,g=i.reduce((w,C)=>Math.min(w,C.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>c)break;g=p.to,i.push(p),h++}for(;h<n.length;){let w=n[h];if(w.from==m&&(w.to>w.from||w.to==m))i.push(w),h++,g=Math.min(w.to,g);else{g=Math.min(w.from,g);break}}g=Math.min(g,c);let x=!1;if(i.some(w=>w.from==m&&(w.to==g||g==c))&&(x=m==g,!x&&g-m<10)){let w=m-(d+u.value.length);w>0&&(u.next(w),d=m);for(let C=m;;){if(C>=g){x=!0;break}if(!u.lineBreak&&d+u.value.length>C)break;C=d+u.value.length,d+=u.value.length,u.next()}}let y=Sy(i);if(x)s.add(m,m,pe.widget({widget:new vp(y),diagnostics:i.slice()}));else{let w=i.reduce((C,I)=>I.markClass?C+" "+I.markClass:C,"");s.add(m,g,pe.mark({class:"cm-lintRange cm-lintRange-"+y+w,diagnostics:i.slice(),inclusiveEnd:i.some(C=>C.to>g)}))}if(l=g,l==c)break;for(let w=0;w<i.length;w++)i[w].to<=l&&i.splice(w--,1)}let f=s.finish();return new t(f,a,qn(f))}};function qn(t,e=null,a=0){let o=null;return t.between(a,1e9,(r,n,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!o)o=new Tu(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(o.diagnostic)<0)return!1;o=new Tu(o.from,n,o.diagnostic)}}),o}function xy(t,e){let a=e.pos,o=e.end||a,r=t.state.facet(oi).hideOn(t,a,o);if(r!=null)return r;let n=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(Ou))||t.changes.touchesRange(n.from,Math.max(n.to,o)))}function kE(t,e){return t.field(ka,!1)?e:e.concat(de.appendConfig.of(NE))}function by(t,e){return{effects:kE(t,[Ou.of(e)])}}var Ou=de.define(),wy=de.define(),yy=de.define(),ka=Ve.define({create(){return new Br(pe.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let a=t.diagnostics.map(e.changes),o=null,r=t.panel;if(t.selected){let n=e.changes.mapPos(t.selected.from,1);o=qn(a,t.selected.diagnostic,n)||qn(a,null,n)}!a.size&&r&&e.state.facet(oi).autoPanel&&(r=null),t=new Br(a,r,o)}for(let a of e.effects)if(a.is(Ou)){let o=e.state.facet(oi).autoPanel?a.value.length?Bu.open:null:t.panel;t=Br.init(a.value,o,e.state)}else a.is(wy)?t=new Br(t.diagnostics,a.value?Bu.open:null,t.selected):a.is(yy)&&(t=new Br(t.diagnostics,t.panel,a.value));return t},provide:t=>[kr.from(t,e=>e.panel),Z.decorations.from(t,e=>e.diagnostics)]});var AE=pe.mark({class:"cm-lintRange cm-lintRange-active"});function ME(t,e,a){let{diagnostics:o}=t.state.field(ka),r,n=-1,s=-1;o.between(e-(a<0?1:0),e+(a>0?1:0),(l,u,{spec:d})=>{if(e>=l&&e<=u&&(l==u||(e>l||a>0)&&(e<u||a<0)))return r=d.diagnostics,n=l,s=u,!1});let i=t.state.facet(oi).tooltipFilter;return r&&i&&(r=i(r,t.state)),r?{pos:n,end:s,above:!0,create(){return{dom:Ly(t,r)}}}:null}function Ly(t,e){return Ce("ul",{class:"cm-tooltip-lint"},e.map(a=>vy(t,a,!1)))}var my=t=>{let e=t.state.field(ka,!1);return!e||!e.panel?!1:(t.dispatch({effects:wy.of(!1)}),!0)};var oi=Y.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Ft(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:gy,tooltipFilter:gy,needsRefresh:(e,a)=>e?a?o=>e(o)||a(o):e:a,hideOn:(e,a)=>e?a?(o,r,n)=>e(o,r,n)||a(o,r,n):e:a,autoPanel:(e,a)=>e||a})}}});function gy(t,e){return t?e?(a,o)=>e(t(a,o),o):t:e}function Cy(t){let e=[];if(t)e:for(let{name:a}of t){for(let o=0;o<a.length;o++){let r=a[o];if(/[a-zA-Z]/.test(r)&&!e.some(n=>n.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function vy(t,e,a){var o;let r=a?Cy(e.actions):[];return Ce("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Ce("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(o=e.actions)===null||o===void 0?void 0:o.map((n,s)=>{let i=!1,l=h=>{if(h.preventDefault(),i)return;i=!0;let p=qn(t.state.field(ka).diagnostics,e);p&&n.apply(t,p.from,p.to)},{name:u}=n,d=r[s]?u.indexOf(r[s]):-1,c=d<0?u:[u.slice(0,d),Ce("u",u.slice(d,d+1)),u.slice(d+1)],f=n.markClass?" "+n.markClass:"";return Ce("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[s]})"`}.`},c)}),e.source&&Ce("div",{class:"cm-diagnosticSource"},e.source))}var vp=class extends qa{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Ce("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Eu=class{constructor(e,a){this.diagnostic=a,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=vy(e,a,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Bu=class t{constructor(e){this.view=e,this.items=[];let a=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)my(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=Cy(n.actions);for(let i=0;i<s.length;i++)if(s[i].toUpperCase().charCodeAt(0)==r.keyCode){let l=qn(this.view.state.field(ka).diagnostics,n);l&&n.actions[i].apply(e,l.from,l.to)}}else return;r.preventDefault()}},o=r=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(r.target)&&this.moveSelection(n)};this.list=Ce("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:a,onclick:o}),this.dom=Ce("div",{class:"cm-panel-lint"},this.list,Ce("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>my(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(ka).selected;if(!e)return-1;for(let a=0;a<this.items.length;a++)if(this.items[a].diagnostic==e.diagnostic)return a;return-1}update(){let{diagnostics:e,selected:a}=this.view.state.field(ka),o=0,r=!1,n=null,s=new Set;for(e.between(0,this.view.state.doc.length,(i,l,{spec:u})=>{for(let d of u.diagnostics){if(s.has(d))continue;s.add(d);let c=-1,f;for(let h=o;h<this.items.length;h++)if(this.items[h].diagnostic==d){c=h;break}c<0?(f=new Eu(this.view,d),this.items.splice(o,0,f),r=!0):(f=this.items[c],c>o&&(this.items.splice(o,c-o),r=!0)),a&&f.diagnostic==a.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),o++}});o<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Eu(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:i,panel:l})=>{let u=l.height/this.list.offsetHeight;i.top<l.top?this.list.scrollTop-=(l.top-i.top)/u:i.bottom>l.bottom&&(this.list.scrollTop+=(i.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function a(){let o=e;e=o.nextSibling,o.remove()}for(let o of this.items)if(o.dom.parentNode==this.list){for(;e!=o.dom;)a();e=o.dom.nextSibling}else this.list.insertBefore(o.dom,e);for(;e;)a()}moveSelection(e){if(this.selectedIndex<0)return;let a=this.view.state.field(ka),o=qn(a.diagnostics,this.items[e].diagnostic);o&&this.view.dispatch({selection:{anchor:o.from,head:o.to},scrollIntoView:!0,effects:yy.of(o)})}static open(e){return new t(e)}};function Ru(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function Du(t){return Ru(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var PE=Z.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Du("#f11")},".cm-lintRange-warning":{backgroundImage:Du("orange")},".cm-lintRange-info":{backgroundImage:Du("#999")},".cm-lintRange-hint":{backgroundImage:Du("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function DE(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function Sy(t){let e="hint",a=1;for(let o of t){let r=DE(o.severity);r>a&&(a=r,e=o.severity)}return e}var Fu=class extends ia{constructor(e){super(),this.diagnostics=e,this.severity=Sy(e)}toDOM(e){let a=document.createElement("div");a.className="cm-lint-marker cm-lint-marker-"+this.severity;let o=this.diagnostics,r=e.state.facet(Nu).tooltipFilter;return r&&(o=r(o,e.state)),o.length&&(a.onmouseover=()=>TE(e,a,o)),a}};function RE(t,e){let a=o=>{let r=e.getBoundingClientRect();if(!(o.clientX>r.left-10&&o.clientX<r.right+10&&o.clientY>r.top-10&&o.clientY<r.bottom+10)){for(let n=o.target;n;n=n.parentNode)if(n.nodeType==1&&n.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",a),t.state.field(Iy)&&t.dispatch({effects:Ip.of(null)})}};window.addEventListener("mousemove",a)}function TE(t,e,a){function o(){let s=t.elementAtHeight(e.getBoundingClientRect().top+5-t.documentTop);t.coordsAtPos(s.from)&&t.dispatch({effects:Ip.of({pos:s.from,above:!1,clip:!1,create(){return{dom:Ly(t,a),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,RE(t,e)}let{hoverTime:r}=t.state.facet(Nu),n=setTimeout(o,r);e.onmouseout=()=>{clearTimeout(n),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(n),n=setTimeout(o,r)}}function EE(t,e){let a=Object.create(null);for(let r of e){let n=t.lineAt(r.from);(a[n.from]||(a[n.from]=[])).push(r)}let o=[];for(let r in a)o.push(new Fu(a[r]).range(+r));return ye.of(o,!0)}var BE=Wh({class:"cm-gutter-lint",markers:t=>t.state.field(Sp),widgetMarker:(t,e,a)=>{let o=[];return t.state.field(Sp).between(a.from,a.to,(r,n,s)=>{r>a.from&&r<a.to&&o.push(...s.diagnostics)}),o.length?new Fu(o):null}}),Sp=Ve.define({create(){return ye.empty},update(t,e){t=t.map(e.changes);let a=e.state.facet(Nu).markerFilter;for(let o of e.effects)if(o.is(Ou)){let r=o.value;a&&(r=a(r||[],e.state)),t=EE(e.state.doc,r.slice(0))}return t}}),Ip=de.define(),Iy=Ve.define({create(){return null},update(t,e){return t&&e.docChanged&&(t=xy(e,t)?null:{...t,pos:e.changes.mapPos(t.pos)}),e.effects.reduce((a,o)=>o.is(Ip)?o.value:a,t)},provide:t=>On.from(t)}),FE=Z.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Ru('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Ru('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Ru('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),OE=du(ME,{hideOn:xy}),NE=[ka,Z.decorations.compute([ka],t=>{let{selected:e,panel:a}=t.field(ka);return!e||!a||e.from==e.to?pe.none:pe.set([AE.range(e.from,e.to)])}),OE,PE],Nu=Y.define({combine(t){return Ft(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function ky(t={}){return[Nu.of(t),Sp,BE,FE,Iy]}var Ay=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,Fr=class{constructor(e,a,o=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(o,r),this.bufferStart=o,this.normalize=n?i=>n(Ay(i)):Ay,this.query=this.normalize(a)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Bt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let a=As(e),o=this.bufferStart+this.bufferPos;this.bufferPos+=aa(e);let r=this.normalize(a);if(r.length)for(let n=0,s=o,i=!0;;n++){let l=r.charCodeAt(n),u=this.match(l,s,i,this.bufferPos+this.bufferStart,n==r.length-1);if(u)return this.value=u,this;if(n==r.length-1)break;i&&n<a.length&&a.charCodeAt(n)==l?s++:i=!1}}}match(e,a,o,r,n){let s=null;for(let i=0;i<this.matches.length;){let l=this.matches[i],u=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?s={from:l.from,to:r,precise:n&&l.precise}:(l.index++,u=!0)),u?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:a,to:r,precise:o&&n}:this.matches.push({from:a,index:1,precise:o})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}};typeof Symbol<"u"&&(Fr.prototype[Symbol.iterator]=function(){return this});var Py={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Rp="gm"+(/x/.unicode==null?"":"u"),zu=class{constructor(e,a,o,r=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=Py,/\\[sWDnr]|\n|\r|\[\^/.test(a))return new Uu(e,a,o,r,n);this.re=new RegExp(a,Rp+(o?.ignoreCase?"i":"")),this.test=o?.test,this.iter=e.iter();let s=e.lineAt(r);this.curLineStart=s.from,this.matchPos=Wu(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let a=this.matchPos<=this.to&&this.re.exec(this.curLine);if(a){let o=this.curLineStart+a.index,r=o+a[0].length;if(this.matchPos=Wu(this.text,r+(o==r?1:0)),o==this.curLineStart+this.curLine.length&&this.nextLine(),(o<r||o>this.value.to)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},kp=new WeakMap,qu=class t{constructor(e,a){this.from=e,this.text=a}get to(){return this.from+this.text.length}static get(e,a,o){let r=kp.get(e);if(!r||r.from>=o||r.to<=a){let i=new t(a,e.sliceString(a,o));return kp.set(e,i),i}if(r.from==a&&r.to==o)return r;let{text:n,from:s}=r;return s>a&&(n=e.sliceString(a,s)+n,s=a),r.to<o&&(n+=e.sliceString(r.to,o)),kp.set(e,new t(s,n)),new t(a,n.slice(a-s,o-s))}},Uu=class{constructor(e,a,o,r,n){this.text=e,this.to=n,this.done=!1,this.value=Py,this.matchPos=Wu(e,r),this.re=new RegExp(a,Rp+(o?.ignoreCase?"i":"")),this.test=o?.test,this.flat=qu.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,a=this.re.exec(this.flat.text);if(a&&!a[0]&&a.index==e&&(this.re.lastIndex=e+1,a=this.re.exec(this.flat.text)),a){let o=this.flat.from+a.index,r=o+a[0].length;if((this.flat.to>=this.to||a.index+a[0].length<=this.flat.text.length-10)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this.matchPos=Wu(this.text,r+(o==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=qu.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(zu.prototype[Symbol.iterator]=Uu.prototype[Symbol.iterator]=function(){return this});function _E(t){try{return new RegExp(t,Rp),!0}catch{return!1}}function Wu(t,e){if(e>=t.length)return e;let a=t.lineAt(e),o;for(;e<a.to&&(o=a.text.charCodeAt(e-a.from))>=56320&&o<57344;)e++;return e}var HE=t=>{let{state:e}=t,a=String(e.doc.lineAt(t.state.selection.main.head).number),{close:o,result:r}=Wb(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:a},focus:!0,submitLabel:e.phrase("go")});return r.then(n=>{let s=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!s){t.dispatch({effects:o});return}let i=e.doc.lineAt(e.selection.main.head),[,l,u,d,c]=s,f=d?+d.slice(1):0,h=u?+u:i.number;if(u&&c){let g=h/100;l&&(g=g*(l=="-"?-1:1)+i.number/e.doc.lines),h=Math.round(e.doc.lines*g)}else u&&l&&(h=h*(l=="-"?-1:1)+i.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,h))),m=X.cursor(p.from+Math.max(0,Math.min(f,p.length)));t.dispatch({effects:[o,Z.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0};var zE=({state:t,dispatch:e})=>{let{selection:a}=t,o=X.create(a.ranges.map(r=>t.wordAt(r.head)||X.cursor(r.head)),a.mainIndex);return o.eq(a)?!1:(e(t.update({selection:o})),!0)};function qE(t,e){let{main:a,ranges:o}=t.selection,r=t.wordAt(a.head),n=r&&r.from==a.from&&r.to==a.to;for(let s=!1,i=new Fr(t.doc,e,o[o.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new Fr(t.doc,e,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some(l=>l.from==i.value.from))continue;if(n){let l=t.wordAt(i.value.from);if(!l||l.from!=i.value.from||l.to!=i.value.to)continue}return i.value}}var UE=({state:t,dispatch:e})=>{let{ranges:a}=t.selection;if(a.some(n=>n.from===n.to))return zE({state:t,dispatch:e});let o=t.sliceDoc(a[0].from,a[0].to);if(t.selection.ranges.some(n=>t.sliceDoc(n.from,n.to)!=o))return!1;let r=qE(t,o);return r?(e(t.update({selection:t.selection.addRange(X.range(r.from,r.to),!1),effects:Z.scrollIntoView(r.to)})),!0):!1},Vn=Y.define({combine(t){return Ft(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Dp(e),scrollToMatch:e=>Z.scrollIntoView(e)})}});var Vu=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||_E(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(a,o)=>o=="n"?`
21
+ `:o=="r"?"\r":o=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Mp(this):new Ap(this)}getCursor(e,a=0,o){let r=e.doc?e:Me.create({doc:e});return o==null&&(o=r.doc.length),this.regexp?Wn(this,r,a,o):Un(this,r,a,o)}},Gu=class{constructor(e){this.spec=e}};function WE(t,e,a){return(o,r,n,s)=>{if(a&&!a(o,r,n,s))return!1;let i=o>=s&&r<=s+n.length?n.slice(o-s,r-s):e.doc.sliceString(o,r);return t(i,e,o,r)}}function Un(t,e,a,o){let r;return t.wholeWord&&(r=VE(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=WE(t.test,e,r)),new Fr(e.doc,t.unquoted,a,o,t.caseSensitive?void 0:n=>n.toLowerCase(),r)}function VE(t,e){return(a,o,r,n)=>((n>a||n+r.length<o)&&(n=Math.max(0,a-2),r=t.sliceString(n,Math.min(t.length,o+2))),(e($u(r,a-n))!=_e.Word||e(Xu(r,a-n))!=_e.Word)&&(e(Xu(r,o-n))!=_e.Word||e($u(r,o-n))!=_e.Word))}var Ap=class extends Gu{constructor(e){super(e)}nextMatch(e,a,o){let r=Un(this.spec,e,o,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,a+this.spec.unquoted.length);r=Un(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==a&&r.value.to==o?null:r.value}prevMatchInRange(e,a,o){for(let r=o;;){let n=Math.max(a,r-1e4-this.spec.unquoted.length),s=Un(this.spec,e,n,r),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(n==a)return null;r-=1e4}}prevMatch(e,a,o){let r=this.prevMatchInRange(e,0,a);return r||(r=this.prevMatchInRange(e,Math.max(0,o-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=a||r.to!=o)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,a){let o=Un(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Un(this.spec,e,Math.max(0,a-this.spec.unquoted.length),Math.min(o+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function GE(t,e,a){return(o,r,n)=>(!a||a(o,r,n))&&t(n[0],e,o,r)}function Wn(t,e,a,o){let r;return t.wholeWord&&(r=$E(e.charCategorizer(e.selection.main.head))),t.test&&(r=GE(t.test,e,r)),new zu(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},a,o)}function $u(t,e){return t.slice(je(t,e,!1),e)}function Xu(t,e){return t.slice(e,je(t,e))}function $E(t){return(e,a,o)=>!o[0].length||(t($u(o.input,o.index))!=_e.Word||t(Xu(o.input,o.index))!=_e.Word)&&(t(Xu(o.input,o.index+o[0].length))!=_e.Word||t($u(o.input,o.index+o[0].length))!=_e.Word)}var Mp=class extends Gu{nextMatch(e,a,o){let r=Wn(this.spec,e,o,e.doc.length).next();return r.done&&(r=Wn(this.spec,e,0,a).next()),r.done?null:r.value}prevMatchInRange(e,a,o){for(let r=1;;r++){let n=Math.max(a,o-r*1e4),s=Wn(this.spec,e,n,o),i=null;for(;!s.next().done;)i=s.value;if(i&&(n==a||i.from>n+10))return i;if(n==a)return null}}prevMatch(e,a,o){return this.prevMatchInRange(e,0,a)||this.prevMatchInRange(e,o,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(a,o)=>{if(o=="&")return e.match[0];if(o=="$")return"$";for(let r=o.length;r>0;r--){let n=+o.slice(0,r);if(n>0&&n<e.match.length)return e.match[n]+o.slice(r)}return a})}matchAll(e,a){let o=Wn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Wn(this.spec,e,Math.max(0,a-250),Math.min(o+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},ni=de.define(),Tp=de.define(),Wo=Ve.define({create(t){return new ri(Pp(t).create(),null)},update(t,e){for(let a of e.effects)a.is(ni)?t=new ri(a.value.create(),t.panel):a.is(Tp)&&(t=new ri(t.query,a.value?Ep:null));return t},provide:t=>kr.from(t,e=>e.panel)});var ri=class{constructor(e,a){this.query=e,this.panel=a}},XE=pe.mark({class:"cm-searchMatch"}),KE=pe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),jE=Ze.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Wo))}update(t){let e=t.state.field(Wo);(e!=t.startState.field(Wo)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return pe.none;let{view:a}=this,o=new xa;for(let r=0,n=a.visibleRanges,s=n.length;r<s;r++){let{from:i,to:l}=n[r];for(;r<s-1&&l>n[r+1].from-500;)l=n[++r].to;t.highlight(a.state,i,l,(u,d)=>{let c=a.state.selection.ranges.some(f=>f.from==u&&f.to==d);o.add(u,d,c?KE:XE)})}return o.finish()}},{decorations:t=>t.decorations});function si(t){return e=>{let a=e.state.field(Wo,!1);return a&&a.query.spec.valid?t(e,a):Ty(e)}}var Ku=si((t,{query:e})=>{let{to:a}=t.state.selection.main,o=e.nextMatch(t.state,a,a);if(!o)return!1;let r=X.single(o.from,o.to),n=t.state.facet(Vn);return t.dispatch({selection:r,effects:[Bp(t,o),n.scrollToMatch(r.main,t)],userEvent:"select.search"}),Ry(t),!0}),ju=si((t,{query:e})=>{let{state:a}=t,{from:o}=a.selection.main,r=e.prevMatch(a,o,o);if(!r)return!1;let n=X.single(r.from,r.to),s=t.state.facet(Vn);return t.dispatch({selection:n,effects:[Bp(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),Ry(t),!0}),ZE=si((t,{query:e})=>{let a=e.matchAll(t.state,1e3);return!a||!a.length?!1:(t.dispatch({selection:X.create(a.map(o=>X.range(o.from,o.to))),userEvent:"select.search.matches"}),!0)}),YE=({state:t,dispatch:e})=>{let a=t.selection;if(a.ranges.length>1||a.main.empty)return!1;let{from:o,to:r}=a.main,n=[],s=0;for(let i=new Fr(t.doc,t.sliceDoc(o,r));!i.next().done;){if(n.length>1e3)return!1;i.value.from==o&&(s=n.length),n.push(X.range(i.value.from,i.value.to))}return e(t.update({selection:X.create(n,s),userEvent:"select.search.matches"})),!0},My=si((t,{query:e})=>{let{state:a}=t,{from:o,to:r}=a.selection.main;if(a.readOnly)return!1;let n=e.nextMatch(a,o,o);if(!n)return!1;let s=n,i=[],l,u,d=[];s.precise?s.from==o&&s.to==r&&(u=a.toText(e.getReplacement(s)),i.push({from:s.from,to:s.to,insert:u}),d.push(Z.announce.of(a.phrase("replaced match on line $",a.doc.lineAt(o).number)+"."))):s=e.nextMatch(a,s.from,s.to);let c=t.state.changes(i);return s&&(l=X.single(s.from,s.to).map(c),d.push(Bp(t,s)),d.push(a.facet(Vn).scrollToMatch(l.main,t))),t.dispatch({changes:c,selection:l,effects:d,userEvent:"input.replace"}),!0}),JE=si((t,{query:e})=>{if(t.state.readOnly)return!1;let a=[];for(let r of e.matchAll(t.state,1e9)){let{from:n,to:s,precise:i}=r;i&&a.push({from:n,to:s,insert:e.getReplacement(r)})}if(!a.length)return!1;let o=t.state.phrase("replaced $ matches",a.length)+".";return t.dispatch({changes:a,effects:Z.announce.of(o),userEvent:"input.replace.all"}),!0});function Ep(t){return t.state.facet(Vn).createPanel(t)}function Pp(t,e){var a,o,r,n,s;let i=t.selection.main,l=i.empty||i.to>i.from+100?"":t.sliceDoc(i.from,i.to);if(e&&!l)return e;let u=t.facet(Vn);return new Vu({search:((a=e?.literal)!==null&&a!==void 0?a:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(o=e?.caseSensitive)!==null&&o!==void 0?o:u.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:u.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:u.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function Dy(t){let e=cu(t,Ep);return e&&e.dom.querySelector("[main-field]")}function Ry(t){let e=Dy(t);e&&e==t.root.activeElement&&e.select()}var Ty=t=>{let e=t.state.field(Wo,!1);if(e&&e.panel){let a=Dy(t);if(a&&a!=t.root.activeElement){let o=Pp(t.state,e.query.spec);o.valid&&t.dispatch({effects:ni.of(o)}),a.focus(),a.select()}}else t.dispatch({effects:[Tp.of(!0),e?ni.of(Pp(t.state,e.query.spec)):de.appendConfig.of(e2)]});return!0},Ey=t=>{let e=t.state.field(Wo,!1);if(!e||!e.panel)return!1;let a=cu(t,Ep);return a&&a.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Tp.of(!1)}),!0},By=[{key:"Mod-f",run:Ty,scope:"editor search-panel"},{key:"F3",run:Ku,shift:ju,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Ku,shift:ju,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Ey,scope:"editor search-panel"},{key:"Mod-Shift-l",run:YE},{key:"Mod-Alt-g",run:HE},{key:"Mod-d",run:UE,preventDefault:!0}],Dp=class{constructor(e){this.view=e;let a=this.query=e.state.field(Wo).query.spec;this.commit=this.commit.bind(this),this.searchField=Ce("input",{value:a.search,placeholder:Zt(e,"Find"),"aria-label":Zt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ce("input",{value:a.replace,placeholder:Zt(e,"Replace"),"aria-label":Zt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ce("input",{type:"checkbox",name:"case",form:"",checked:a.caseSensitive,onchange:this.commit}),this.reField=Ce("input",{type:"checkbox",name:"re",form:"",checked:a.regexp,onchange:this.commit}),this.wordField=Ce("input",{type:"checkbox",name:"word",form:"",checked:a.wholeWord,onchange:this.commit});function o(r,n,s){return Ce("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=Ce("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,o("next",()=>Ku(e),[Zt(e,"next")]),o("prev",()=>ju(e),[Zt(e,"previous")]),o("select",()=>ZE(e),[Zt(e,"all")]),Ce("label",null,[this.caseField,Zt(e,"match case")]),Ce("label",null,[this.reField,Zt(e,"regexp")]),Ce("label",null,[this.wordField,Zt(e,"by word")]),...e.state.readOnly?[]:[Ce("br"),this.replaceField,o("replace",()=>My(e),[Zt(e,"replace")]),o("replaceAll",()=>JE(e),[Zt(e,"replace all")])],Ce("button",{name:"close",onclick:()=>Ey(e),"aria-label":Zt(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Vu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ni.of(e)}))}keydown(e){Fb(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ju:Ku)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),My(this.view))}update(e){for(let a of e.transactions)for(let o of a.effects)o.is(ni)&&!o.value.eq(this.query)&&this.setQuery(o.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Vn).top}};function Zt(t,e){return t.state.phrase(e)}var _u=30,Hu=/[\s\.,:;?!]/;function Bp(t,{from:e,to:a}){let o=t.state.doc.lineAt(e),r=t.state.doc.lineAt(a).to,n=Math.max(o.from,e-_u),s=Math.min(r,a+_u),i=t.state.sliceDoc(n,s);if(n!=o.from){for(let l=0;l<_u;l++)if(!Hu.test(i[l+1])&&Hu.test(i[l])){i=i.slice(l);break}}if(s!=r){for(let l=i.length-1;l>i.length-_u;l--)if(!Hu.test(i[l-1])&&Hu.test(i[l])){i=i.slice(0,l);break}}return Z.announce.of(`${t.state.phrase("current match")}. ${i} ${t.state.phrase("on line")} ${o.number}.`)}var QE=Z.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),e2=[Wo,Xt.low(jE),QE];var Yu=class{constructor(e,a,o,r){this.state=e,this.pos=a,this.explicit=o,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let a=Mt(this.state).resolveInner(this.pos,-1);for(;a&&e.indexOf(a.name)<0;)a=a.parent;return a?{from:a.from,to:this.pos,text:this.state.sliceDoc(a.from,this.pos),type:a.type}:null}matchBefore(e){let a=this.state.doc.lineAt(this.pos),o=Math.max(a.from,this.pos-250),r=a.text.slice(o-a.from,this.pos-a.from),n=r.search(Uy(e,!1));return n<0?null:{from:o+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,a,o){e=="abort"&&this.abortListeners&&(this.abortListeners.push(a),o&&o.onDocChange&&(this.abortOnDocChange=!0))}};function Fy(t){let e=Object.keys(t).join(""),a=/\w/.test(e);return a&&(e=e.replace(/\w/g,"")),`[${a?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function t2(t){let e=Object.create(null),a=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let n=1;n<r.length;n++)a[r[n]]=!0}let o=Fy(e)+Fy(a)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function a2(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[a,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:t2(e);return r=>{let n=r.matchBefore(o);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:a}:null}}var Ju=class{constructor(e,a,o,r){this.completion=e,this.source=a,this.match=o,this.score=r}};function Nr(t){return t.selection.main.from}function Uy(t,e){var a;let{source:o}=t,r=e&&o[0]!="^",n=o[o.length-1]!="$";return!r&&!n?t:new RegExp(`${r?"^":""}(?:${o})${n?"$":""}`,(a=t.flags)!==null&&a!==void 0?a:t.ignoreCase?"i":"")}var Wy=Et.define();function o2(t,e,a,o){let{main:r}=t.selection,n=a-r.from,s=o-r.from;return{...t.changeByRange(i=>{if(i!=r&&a!=o&&t.sliceDoc(i.from+n,i.from+s)!=t.sliceDoc(a,o))return{range:i};let l=t.toText(e);return{changes:{from:i.from+n,to:o==r.from?i.to:i.from+s,insert:l},range:X.cursor(i.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var Oy=new WeakMap;function r2(t){if(!Array.isArray(t))return t;let e=Oy.get(t);return e||Oy.set(t,e=a2(t)),e}var Qu=de.define(),ii=de.define(),_p=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let a=0;a<e.length;){let o=Bt(e,a),r=aa(o);this.chars.push(o);let n=e.slice(a,a+r),s=n.toUpperCase();this.folded.push(Bt(s==n?n.toLowerCase():s,0)),a+=r}this.astral=e.length!=this.chars.length}ret(e,a){return this.score=e,this.matched=a,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:a,folded:o,any:r,precise:n,byWord:s}=this;if(a.length==1){let y=Bt(e,0),w=aa(y),C=w==e.length?0:-100;if(y!=a[0])if(y==o[0])C+=-200;else return null;return this.ret(C,[0,w])}let i=e.indexOf(this.pattern);if(i==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=a.length,u=0;if(i<0){for(let y=0,w=Math.min(e.length,200);y<w&&u<l;){let C=Bt(e,y);(C==a[u]||C==o[u])&&(r[u++]=y),y+=aa(C)}if(u<l)return null}let d=0,c=0,f=!1,h=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let y=0,w=Math.min(e.length,200),C=0;y<w&&c<l;){let I=Bt(e,y);i<0&&(d<l&&I==a[d]&&(n[d++]=y),h<l&&(I==a[h]||I==o[h]?(h==0&&(p=y),m=y+1,h++):h=0));let v,L=I<255?I>=48&&I<=57||I>=97&&I<=122?2:I>=65&&I<=90?1:0:(v=As(I))!=v.toLowerCase()?1:v!=v.toUpperCase()?2:0;(!y||L==1&&g||C==0&&L!=0)&&(a[c]==I||o[c]==I&&(f=!0)?s[c++]=y:s.length&&(x=!1)),C=L,y+=aa(I)}return c==l&&s[0]==0&&x?this.result(-100+(f?-200:0),s,e):h==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):i>-1?this.ret(-700-e.length,[i,i+this.pattern.length]):h==l?this.ret(-900-e.length,[p,m]):c==l?this.result(-100+(f?-200:0)+-700+(x?0:-1100),s,e):a.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,a,o){let r=[],n=0;for(let s of a){let i=s+(this.astral?aa(Bt(o,s)):1);n&&r[n-1]==s?r[n-1]=i:(r[n++]=s,r[n++]=i)}return this.ret(e-o.length,r)}},Hp=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let a=e.slice(0,this.pattern.length),o=a==this.pattern?0:a.toLowerCase()==this.folded?-200:null;return o==null?null:(this.matched=[0,a.length],this.score=o+(e.length==this.pattern.length?0:-100),this)}},lt=Y.define({combine(t){return Ft(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:n2,filterStrict:!1,compareCompletions:(e,a)=>(e.sortText||e.label).localeCompare(a.sortText||a.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,a)=>e&&a,closeOnBlur:(e,a)=>e&&a,icons:(e,a)=>e&&a,tooltipClass:(e,a)=>o=>Ny(e(o),a(o)),optionClass:(e,a)=>o=>Ny(e(o),a(o)),addToOptions:(e,a)=>e.concat(a),filterStrict:(e,a)=>e||a})}});function Ny(t,e){return t?e?t+" "+e:t:e}function n2(t,e,a,o,r,n){let s=t.textDirection==Ie.RTL,i=s,l=!1,u="top",d,c,f=e.left-r.left,h=r.right-e.right,p=o.right-o.left,m=o.bottom-o.top;if(i&&f<Math.min(p,h)?i=!1:!i&&h<Math.min(p,f)&&(i=!0),p<=(i?f:h))d=Math.max(r.top,Math.min(a.top,r.bottom-m))-e.top,c=Math.min(400,i?f:h);else{l=!0,c=Math.min(400,(s?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=m||y>e.top?d=a.bottom-e.top:(u="bottom",d=e.bottom-a.top)}let g=(e.bottom-e.top)/n.offsetHeight,x=(e.right-e.left)/n.offsetWidth;return{style:`${u}: ${d/g}px; max-width: ${c/x}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":i?"left":"right")}}var Vp=de.define();function s2(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(a){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),a.type&&o.classList.add(...a.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(a,o,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let i=a.displayLabel||a.label,l=0;for(let u=0;u<n.length;){let d=n[u++],c=n[u++];d>l&&s.appendChild(document.createTextNode(i.slice(l,d)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(i.slice(d,c))),f.className="cm-completionMatchedText",l=c}return l<i.length&&s.appendChild(document.createTextNode(i.slice(l))),s},position:50},{render(a){if(!a.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=a.detail,o},position:80}),e.sort((a,o)=>a.position-o.position).map(a=>a.render)}function Fp(t,e,a){if(t<=a)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/a);return{from:r*a,to:(r+1)*a}}let o=Math.ceil((t-e)/a);return{from:t-o*a,to:t-(o-1)*a}}var zp=class{constructor(e,a,o){this.view=e,this.stateField=a,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(a),{options:n,selected:s}=r.open,i=e.state.facet(lt);this.optionContent=s2(i),this.optionClass=i.optionClass,this.tooltipClass=i.tooltipClass,this.range=Fp(n.length,s,i.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=e.state.field(a).open;for(let d=l.target,c;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(c=/-(\d+)$/.exec(d.id))&&+c[1]<u.length){this.applyCompletion(e,u[+c[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:Vp.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(lt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:ii.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,a){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,a,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var a;let o=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),o!=r){let{options:n,selected:s,disabled:i}=o.open;(!r.open||r.open.options!=n)&&(this.range=Fp(n.length,s,e.state.facet(lt).maxRenderedOptions),this.showOptions(n,o.id)),this.updateSel(),i!=((a=r.open)===null||a===void 0?void 0:a.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!i)}}updateTooltipClass(e){let a=this.tooltipClass(e);if(a!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of a.split(" "))o&&this.dom.classList.add(o);this.currentClass=a}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),a=e.open;(a.selected>-1&&a.selected<this.range.from||a.selected>=this.range.to)&&(this.range=Fp(a.options.length,a.selected,this.view.state.facet(lt).maxRenderedOptions),this.showOptions(a.options,e.id));let o=this.updateSelectedOption(a.selected);if(o){this.destroyInfo();let{completion:r}=a.options[a.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(i=>{i&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(i,r)}).catch(i=>ht(this.view.state,i,"completion info")):(this.addInfoPane(s,r),o.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,a){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",o.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;o.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let a=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),a=o):o.hasAttribute("aria-selected")&&(o.removeAttribute("aria-selected"),o.removeAttribute("aria-describedby"));return a&&l2(this.list,a),a}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let a=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,a.bottom)-10||r.bottom<Math.max(n.top,a.top)+10?null:this.view.state.facet(lt).positionInfo(this.view,a,r,o,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,a,o){let r=document.createElement("ul");r.id=a,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",s=>{s.target==r&&s.preventDefault()});let n=null;for(let s=o.from;s<o.to;s++){let{completion:i,match:l}=e[s],{section:u}=i;if(u){let f=typeof u=="string"?u:u.name;if(f!=n&&(s>o.from||o.from==0))if(n=f,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let h=r.appendChild(document.createElement("completion-section"));h.textContent=f}}let d=r.appendChild(document.createElement("li"));d.id=a+"-"+s,d.setAttribute("role","option");let c=this.optionClass(i);c&&(d.className=c);for(let f of this.optionContent){let h=f(i,this.view.state,this.view,l);h&&d.appendChild(h)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function i2(t,e){return a=>new zp(a,t,e)}function l2(t,e){let a=t.getBoundingClientRect(),o=e.getBoundingClientRect(),r=a.height/t.offsetHeight;o.top<a.top?t.scrollTop-=(a.top-o.top)/r:o.bottom>a.bottom&&(t.scrollTop+=(o.bottom-a.bottom)/r)}function _y(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function u2(t,e){let a=[],o=null,r=null,n=d=>{a.push(d);let{section:c}=d.completion;if(c){o||(o=[]);let f=typeof c=="string"?c:c.name;o.some(h=>h.name==f)||o.push(typeof c=="string"?{name:f}:c)}},s=e.facet(lt);for(let d of t)if(d.hasResult()){let c=d.result.getMatch;if(d.result.filter===!1)for(let f of d.result.options)n(new Ju(f,d.source,c?c(f):[],1e9-a.length));else{let f=e.sliceDoc(d.from,d.to),h,p=s.filterStrict?new Hp(f):new _p(f);for(let m of d.result.options)if(h=p.match(m.label)){let g=m.displayLabel?c?c(m,h.matched):[]:h.matched,x=h.score+(m.boost||0);if(n(new Ju(m,d.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:y}=m.section;r||(r=Object.create(null)),r[y]=Math.max(x,r[y]||-1e9)}}}}if(o){let d=Object.create(null),c=0,f=(h,p)=>(h.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[h.name]:0)||(typeof h.rank=="number"?h.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(h.name<p.name?-1:1);for(let h of o.sort(f))c-=1e5,d[h.name]=c;for(let h of a){let{section:p}=h.completion;p&&(h.score+=d[typeof p=="string"?p:p.name])}}let i=[],l=null,u=s.compareCompletions;for(let d of a.sort((c,f)=>f.score-c.score||u(c.completion,f.completion))){let c=d.completion;!l||l.label!=c.label||l.detail!=c.detail||l.type!=null&&c.type!=null&&l.type!=c.type||l.apply!=c.apply||l.boost!=c.boost?i.push(d):_y(d.completion)>_y(l)&&(i[i.length-1]=d),l=d.completion}return i}var qp=class t{constructor(e,a,o,r,n,s){this.options=e,this.attrs=a,this.tooltip=o,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,a){return e==this.selected||e>=this.options.length?this:new t(this.options,Hy(a,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,a,o,r,n,s){if(r&&!s&&e.some(u=>u.isPending))return r.setDisabled();let i=u2(e,a);if(!i.length)return r&&e.some(u=>u.isPending)?r.setDisabled():null;let l=a.facet(lt).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;d<i.length;d++)if(i[d].completion==u){l=d;break}}return new t(i,Hy(o,l),{pos:e.reduce((u,d)=>d.hasResult()?Math.min(u,d.from):u,1e8),create:m2,above:n.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new t(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Up=class t{constructor(e,a,o){this.active=e,this.id=a,this.open=o}static start(){return new t(h2,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:a}=e,o=a.facet(lt),n=(o.override||a.languageDataAt("autocomplete",Nr(a)).map(r2)).map(l=>(this.active.find(d=>d.source==l)||new go(l,this.active.some(d=>d.state!=0)?1:0)).update(e,o));n.length==this.active.length&&n.every((l,u)=>l==this.active[u])&&(n=this.active);let s=this.open,i=e.effects.some(l=>l.is(Gp));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!d2(n,this.active)||i?s=qp.build(n,a,this.id,s,o,i):s&&s.disabled&&!n.some(l=>l.isPending)&&(s=null),!s&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new go(l.source,0):l));for(let l of e.effects)l.is(Vp)&&(s=s&&s.setSelected(l.value,this.id));return n==this.active&&s==this.open?this:new t(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?c2:f2}};function d2(t,e){if(t==e)return!0;for(let a=0,o=0;;){for(;a<t.length&&!t[a].hasResult();)a++;for(;o<e.length&&!e[o].hasResult();)o++;let r=a==t.length,n=o==e.length;if(r||n)return r==n;if(t[a++].result!=e[o++].result)return!1}}var c2={"aria-autocomplete":"list"},f2={};function Hy(t,e){let a={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(a["aria-activedescendant"]=t+"-"+e),a}var h2=[];function Vy(t,e){if(t.isUserEvent("input.complete")){let o=t.annotation(Wy);if(o&&e.activateOnCompletion(o))return 12}let a=t.isUserEvent("input.type");return a&&e.activateOnTyping?5:a?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var go=class t{constructor(e,a,o=!1){this.source=e,this.state=a,this.explicit=o}hasResult(){return!1}get isPending(){return this.state==1}update(e,a){let o=Vy(e,a),r=this;(o&8||o&16&&this.touches(e))&&(r=new t(r.source,0)),o&4&&r.state==0&&(r=new t(this.source,1)),r=r.updateFor(e,o);for(let n of e.effects)if(n.is(Qu))r=new t(r.source,1,n.value);else if(n.is(ii))r=new t(r.source,0);else if(n.is(Gp))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,a){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Nr(e.state))}},ed=class t extends go{constructor(e,a,o,r,n,s){super(e,3,a),this.limit=o,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,a){var o;if(!(a&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),i=Nr(e.state);if(i>s||!r||a&2&&(Nr(e.startState)==this.from||i<this.limit))return new go(this.source,a&4?1:0);let l=e.changes.mapPos(this.limit);return p2(r.validFor,e.state,n,s)?new t(this.source,this.explicit,l,r,n,s):r.update&&(r=r.update(r,n,s,new Yu(e.state,i,!1)))?new t(this.source,this.explicit,l,r,r.from,(o=r.to)!==null&&o!==void 0?o:Nr(e.state)):new go(this.source,1,this.explicit)}map(e){if(e.empty)return this;let a=this.result.map?this.result.map(this.result,e):this.result;return a?new t(this.source,this.explicit,e.mapPos(this.limit),a,e.mapPos(this.from),e.mapPos(this.to,1)):new go(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function p2(t,e,a,o){if(!t)return!1;let r=e.sliceDoc(a,o);return typeof t=="function"?t(r,a,o,e):Uy(t,!0).test(r)}var Gp=de.define({map(t,e){return t.map(a=>a.map(e))}}),_t=Ve.define({create(){return Up.start()},update(t,e){return t.update(e)},provide:t=>[On.from(t,e=>e.tooltip),Z.contentAttributes.from(t,e=>e.attrs)]});function $p(t,e){let a=e.completion.apply||e.completion.label,o=t.state.field(_t).active.find(r=>r.source==e.source);return o instanceof ed?(typeof a=="string"?t.dispatch({...o2(t.state,a,o.from,o.to),annotations:Wy.of(e.completion)}):a(t,e.completion,o.from,o.to),!0):!1}var m2=i2(_t,$p);function Zu(t,e="option"){return a=>{let o=a.state.field(_t,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<a.state.facet(lt).interactionDelay)return!1;let r=1,n;e=="page"&&(n=Uh(a,o.open.tooltip))&&(r=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,i=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return i<0?i=e=="page"?0:s-1:i>=s&&(i=e=="page"?s-1:0),a.dispatch({effects:Vp.of(i)}),!0}}var g2=t=>{let e=t.state.field(_t,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(lt).interactionDelay?!1:$p(t,e.open.options[e.open.selected])},Op=t=>t.state.field(_t,!1)?(t.dispatch({effects:Qu.of(!0)}),!0):!1,x2=t=>{let e=t.state.field(_t,!1);return!e||!e.active.some(a=>a.state!=0)?!1:(t.dispatch({effects:ii.of(null)}),!0)},Wp=class{constructor(e,a){this.active=e,this.context=a,this.time=Date.now(),this.updates=[],this.done=void 0}},b2=50,w2=1e3,y2=Ze.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(_t).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(_t),a=t.state.facet(lt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(_t)==e)return;let o=t.transactions.some(n=>{let s=Vy(n,a);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n<this.running.length;n++){let s=this.running[n];if(o||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>b2&&Date.now()-s.time>w2){for(let i of s.context.abortListeners)try{i()}catch(l){ht(this.view.state,l)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(n=>n.effects.some(s=>s.is(Qu)))&&(this.pendingStart=!0);let r=this.pendingStart?50:a.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of t.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(_t);for(let a of e.active)a.isPending&&!this.running.some(o=>o.active.source==a.source)&&this.startQuery(a);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(lt).updateSyncTime))}startQuery(t){let{state:e}=this.view,a=Nr(e),o=new Yu(e,a,t.explicit,this.view),r=new Wp(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:ii.of(null)}),ht(this.view.state,n)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(lt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],a=this.view.state.facet(lt),o=this.view.state.field(_t);for(let r=0;r<this.running.length;r++){let n=this.running[r];if(n.done===void 0)continue;if(this.running.splice(r--,1),n.done){let i=Nr(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(i,n.done.from+(n.active.explicit?0:1)),u=new ed(n.active.source,n.active.explicit,l,n.done,n.done.from,(t=n.done.to)!==null&&t!==void 0?t:i);for(let d of n.updates)u=u.update(d,a);if(u.hasResult()){e.push(u);continue}}let s=o.active.find(i=>i.source==n.active.source);if(s&&s.isPending)if(n.done==null){let i=new go(n.active.source,0);for(let l of n.updates)i=i.update(l,a);i.isPending||e.push(i)}else this.startQuery(s)}(e.length||o.open&&o.open.disabled)&&this.view.dispatch({effects:Gp.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(_t,!1);if(e&&e.tooltip&&this.view.state.facet(lt).closeOnBlur){let a=e.open&&Uh(this.view,e.open.tooltip);(!a||!a.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ii.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Qu.of(!1)}),20),this.composing=0}}}),L2=typeof navigator=="object"&&/Win/.test(navigator.platform),C2=Xt.highest(Z.domEventHandlers({keydown(t,e){let a=e.state.field(_t,!1);if(!a||!a.open||a.open.disabled||a.open.selected<0||t.key.length>1||t.ctrlKey&&!(L2&&t.altKey)||t.metaKey)return!1;let o=a.open.options[a.open.selected],r=a.active.find(s=>s.source==o.source),n=o.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(t.key)>-1&&$p(e,o),!1}})),v2=Z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var td={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Or=de.define({map(t,e){let a=e.mapPos(t,-1,ft.TrackAfter);return a??void 0}}),Xp=new class extends ta{};Xp.startSide=1;Xp.endSide=-1;var Gy=Ve.define({create(){return ye.empty},update(t,e){if(t=t.map(e.changes),e.selection){let a=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:o=>o>=a.from&&o<=a.to})}for(let a of e.effects)a.is(Or)&&(t=t.update({add:[Xp.range(a.value,a.value+1)]}));return t}});function $y(){return[A2,Gy]}var Np="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function S2(t){for(let e=0;e<Np.length;e+=2)if(Np.charCodeAt(e)==t)return Np.charAt(e+1);return As(t<128?t:t+1)}function I2(t,e){return t.languageDataAt("closeBrackets",e)[0]||td}var k2=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),A2=Z.inputHandler.of((t,e,a,o)=>{if((k2?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&aa(Bt(o,0))==1||e!=r.from||a!=r.to)return!1;let n=M2(t.state,o);return n?(t.dispatch(n),!0):!1});function M2(t,e){let a=I2(t,t.selection.main.head),o=a.brackets||td.brackets;for(let r of o){let n=S2(Bt(r,0));if(e==r)return n==r?R2(t,r,o.indexOf(r+r+r)>-1,a):P2(t,r,n,a.before||td.before);if(e==n&&Xy(t,t.selection.main.from))return D2(t,r,n)}return null}function Xy(t,e){let a=!1;return t.field(Gy).between(0,t.doc.length,o=>{o==e&&(a=!0)}),a}function Kp(t,e){let a=t.sliceString(e,e+2);return a.slice(0,aa(Bt(a,0)))}function P2(t,e,a,o){let r=null,n=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:a,from:s.to}],effects:Or.of(s.to+e.length),range:X.range(s.anchor+e.length,s.head+e.length)};let i=Kp(t.doc,s.head);return!i||/\s/.test(i)||o.indexOf(i)>-1?{changes:{insert:e+a,from:s.head},effects:Or.of(s.head+e.length),range:X.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function D2(t,e,a){let o=null,r=t.changeByRange(n=>n.empty&&Kp(t.doc,n.head)==a?{changes:{from:n.head,to:n.head+a.length,insert:a},range:X.cursor(n.head+a.length)}:o={range:n});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function R2(t,e,a,o){let r=o.stringPrefixes||td.stringPrefixes,n=null,s=t.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:Or.of(i.to+e.length),range:X.range(i.anchor+e.length,i.head+e.length)};let l=i.head,u=Kp(t.doc,l),d;if(u==e){if(zy(t,l))return{changes:{insert:e+e,from:l},effects:Or.of(l+e.length),range:X.cursor(l+e.length)};if(Xy(t,l)){let f=a&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:X.cursor(l+f.length)}}}else{if(a&&t.sliceDoc(l-2*e.length,l)==e+e&&(d=qy(t,l-2*e.length,r))>-1&&zy(t,d))return{changes:{insert:e+e+e+e,from:l},effects:Or.of(l+e.length),range:X.cursor(l+e.length)};if(t.charCategorizer(l)(u)!=_e.Word&&qy(t,l,r)>-1&&!T2(t,l,e,r))return{changes:{insert:e+e,from:l},effects:Or.of(l+e.length),range:X.cursor(l+e.length)}}return{range:n=i}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function zy(t,e){let a=Mt(t).resolveInner(e+1);return a.parent&&a.from==e}function T2(t,e,a,o){let r=Mt(t).resolveInner(e,-1),n=o.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<5;s++){let i=t.sliceDoc(r.from,Math.min(r.to,r.from+a.length+n)),l=i.indexOf(a);if(!l||l>-1&&o.indexOf(i.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>a.length+l;){if(t.sliceDoc(d.to-a.length,d.to)==a)return!1;d=d.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function qy(t,e,a){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=_e.Word)return e;for(let r of a){let n=e-r.length;if(t.sliceDoc(n,e)==r&&o(t.sliceDoc(n-1,n))!=_e.Word)return n}return-1}function Ky(t={}){return[C2,_t,lt.of(t),y2,E2,v2]}var jp=[{key:"Ctrl-Space",run:Op},{mac:"Alt-`",run:Op},{mac:"Alt-i",run:Op},{key:"Escape",run:x2},{key:"ArrowDown",run:Zu(!0)},{key:"ArrowUp",run:Zu(!1)},{key:"PageDown",run:Zu(!0,"page")},{key:"PageUp",run:Zu(!1,"page")},{key:"Enter",run:g2}],E2=Xt.highest(Ar.computeN([lt],t=>t.facet(lt).defaultKeymap?[jp]:[]));var B2=({variant:t,settings:e,styles:a})=>{let o=Z.theme({"&":{backgroundColor:e.background,color:e.foreground},".cm-content":{caretColor:e.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:e.selection},".cm-activeLine":{backgroundColor:e.lineHighlight},".cm-gutters":{backgroundColor:e.gutterBackground,color:e.gutterForeground},".cm-activeLineGutter":{backgroundColor:e.lineHighlight}},{dark:t==="dark"}),r=qo.define(a);return[o,Hn(r)]},Le=B2;var jy=Le({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:b.comment,color:"#404080"},{tag:[b.string,b.regexp],color:"#999999"},{tag:b.number,color:"#7090B0"},{tag:[b.bool,b.null],color:"#8080A0"},{tag:[b.punctuation,b.derefOperator],color:"#805080"},{tag:b.keyword,color:"#60B0FF"},{tag:b.definitionKeyword,color:"#B0FFF0"},{tag:b.moduleKeyword,color:"#60B0FF"},{tag:b.operator,color:"#A0A0FF"},{tag:[b.variableName,b.self],color:"#008080"},{tag:b.operatorKeyword,color:"#A0A0FF"},{tag:b.controlKeyword,color:"#80A0FF"},{tag:b.className,color:"#70E080"},{tag:[b.function(b.propertyName),b.propertyName],color:"#50A0A0"},{tag:b.tagName,color:"#009090"},{tag:b.modifier,color:"#B0FFF0"},{tag:[b.squareBracket,b.attributeName],color:"#D0D0FF"}]});var Zy=Le({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:b.comment,color:"#787b8099"},{tag:b.string,color:"#86b300"},{tag:b.regexp,color:"#4cbf99"},{tag:[b.number,b.bool,b.null],color:"#ffaa33"},{tag:b.variableName,color:"#5c6166"},{tag:[b.definitionKeyword,b.modifier],color:"#fa8d3e"},{tag:[b.keyword,b.special(b.brace)],color:"#fa8d3e"},{tag:b.operator,color:"#ed9366"},{tag:b.separator,color:"#5c6166b3"},{tag:b.punctuation,color:"#5c6166"},{tag:[b.definition(b.propertyName),b.function(b.variableName)],color:"#f2ae49"},{tag:[b.className,b.definition(b.typeName)],color:"#22a4e6"},{tag:[b.tagName,b.typeName,b.self,b.labelName],color:"#55b4d4"},{tag:b.angleBracket,color:"#55b4d480"},{tag:b.attributeName,color:"#f2ae49"}]});var Yy=Le({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:b.comment,color:"#6E6E6E"},{tag:[b.string,b.regexp,b.special(b.brace)],color:"#5C81B3"},{tag:b.number,color:"#C1E1B8"},{tag:b.bool,color:"#53667D"},{tag:[b.definitionKeyword,b.modifier,b.function(b.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[b.keyword,b.moduleKeyword,b.operatorKeyword,b.operator],color:"#697A8E",fontWeight:"bold"},{tag:[b.variableName,b.attributeName],color:"#708E67"},{tag:[b.function(b.variableName),b.definition(b.propertyName),b.derefOperator],color:"#fff"},{tag:b.tagName,color:"#A3D295"}]});var Jy=Le({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:b.comment,color:"#666666"},{tag:[b.string,b.special(b.brace)],color:"#54BE0D"},{tag:b.regexp,color:"#E9C062"},{tag:b.number,color:"#CF6A4C"},{tag:[b.keyword,b.operator],color:"#5EA6EA"},{tag:b.variableName,color:"#7587A6"},{tag:[b.definitionKeyword,b.modifier],color:"#F9EE98"},{tag:[b.propertyName,b.function(b.variableName)],color:"#937121"},{tag:[b.typeName,b.angleBracket,b.tagName],color:"#9B859D"}]});var Qy=Le({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:b.comment,color:"#6B4E32"},{tag:[b.keyword,b.operator,b.derefOperator],color:"#EF5D32"},{tag:b.className,color:"#EFAC32",fontWeight:"bold"},{tag:[b.typeName,b.propertyName,b.function(b.variableName),b.definition(b.variableName)],color:"#EFAC32"},{tag:b.definition(b.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:b.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[b.number,b.bool],color:"#6C99BB"},{tag:[b.variableName,b.self],color:"#7DAF9C"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#D9D762"},{tag:[b.angleBracket,b.tagName,b.attributeName],color:"#EFCB43"}]});var eL=Le({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:b.comment,color:"#404040"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#00D8FF"},{tag:b.number,color:"#E62286"},{tag:[b.variableName,b.attributeName,b.self],color:"#E62286",fontWeight:"bold"},{tag:b.function(b.variableName),color:"#fff",fontWeight:"bold"}]});var tL=Le({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:b.comment,color:"#BCC8BA"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#5D90CD"},{tag:[b.number,b.bool,b.null],color:"#46A609"},{tag:b.keyword,color:"#AF956F"},{tag:[b.definitionKeyword,b.modifier],color:"#C52727"},{tag:[b.angleBracket,b.tagName,b.attributeName],color:"#606060"},{tag:b.self,color:"#000"}]});var aL=Le({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:b.comment,color:"#0088FF"},{tag:b.string,color:"#3AD900"},{tag:b.regexp,color:"#80FFC2"},{tag:[b.number,b.bool,b.null],color:"#FF628C"},{tag:[b.definitionKeyword,b.modifier],color:"#FFEE80"},{tag:b.variableName,color:"#CCCCCC"},{tag:b.self,color:"#FF80E1"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.definition(b.typeName),b.labelName],color:"#FFDD00"},{tag:[b.keyword,b.operator],color:"#FF9D00"},{tag:[b.propertyName,b.typeName],color:"#80FFBB"},{tag:b.special(b.brace),color:"#EDEF7D"},{tag:b.attributeName,color:"#9EFFFF"},{tag:b.derefOperator,color:"#fff"}]});var oL=Le({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:b.comment,color:"#AEAEAE"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#8DFF8E"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.function(b.definition(b.variableName)),b.definition(b.typeName)],color:"#A3EBFF"},{tag:[b.number,b.bool,b.null],color:"#62E9BD"},{tag:[b.keyword,b.operator],color:"#2BF1DC"},{tag:[b.definitionKeyword,b.modifier],color:"#F8FBB1"},{tag:[b.variableName,b.self],color:"#B683CA"},{tag:[b.angleBracket,b.tagName,b.typeName,b.propertyName],color:"#60A4F1"},{tag:b.derefOperator,color:"#E0E0E0"},{tag:b.attributeName,color:"#7BACCA"}]});var rL=Le({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:b.comment,color:"#6272a4"},{tag:[b.string,b.special(b.brace)],color:"#f1fa8c"},{tag:[b.number,b.self,b.bool,b.null],color:"#bd93f9"},{tag:[b.keyword,b.operator],color:"#ff79c6"},{tag:[b.definitionKeyword,b.typeName],color:"#8be9fd"},{tag:b.definition(b.typeName),color:"#f8f8f2"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.attributeName],color:"#50fa7b"}]});var nL=Le({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:b.comment,color:"#AAAAAA"},{tag:[b.keyword,b.operator,b.typeName,b.tagName,b.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[b.attributeName,b.definition(b.propertyName)],color:"#4F9FD0"},{tag:[b.className,b.string,b.special(b.brace)],color:"#CF4F5F"},{tag:b.number,color:"#CF4F5F",fontWeight:"bold"},{tag:b.variableName,fontWeight:"bold"}]});var sL=Le({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:b.comment,color:"#9995b7"},{tag:b.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[b.definitionKeyword,b.modifier],color:"#ff5792"},{tag:[b.className,b.tagName,b.definition(b.typeName)],color:"#0094f0"},{tag:[b.number,b.bool,b.null,b.special(b.brace)],color:"#5842ff"},{tag:[b.definition(b.propertyName),b.function(b.variableName)],color:"#0095a8"},{tag:b.typeName,color:"#b3694d"},{tag:[b.propertyName,b.variableName],color:"#fa8900"},{tag:b.operator,color:"#ff5792"},{tag:b.self,color:"#e64100"},{tag:[b.string,b.regexp],color:"#00b368"},{tag:[b.paren,b.bracket],color:"#0431fa"},{tag:b.labelName,color:"#00bdd6"},{tag:b.attributeName,color:"#e64100"},{tag:b.angleBracket,color:"#9995b7"}]});var iL=Le({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:b.comment,color:"#9893a5"},{tag:[b.bool,b.null],color:"#286983"},{tag:b.number,color:"#d7827e"},{tag:b.className,color:"#d7827e"},{tag:[b.angleBracket,b.tagName,b.typeName],color:"#56949f"},{tag:b.attributeName,color:"#907aa9"},{tag:b.punctuation,color:"#797593"},{tag:[b.keyword,b.modifier],color:"#286983"},{tag:[b.string,b.regexp],color:"#ea9d34"},{tag:b.variableName,color:"#d7827e"}]});var lL=Le({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:b.comment,color:"#CFCFCF"},{tag:[b.number,b.bool,b.null],color:"#E66C29"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.labelName,b.definition(b.typeName)],color:"#2EB43B"},{tag:b.keyword,color:"#D8B229"},{tag:b.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[b.definitionKeyword,b.modifier],color:"#925A47"},{tag:b.string,color:"#704D3D"},{tag:b.typeName,color:"#2F8996"},{tag:[b.variableName,b.propertyName],color:"#77ACB0"},{tag:b.self,color:"#77ACB0",fontWeight:"bold"},{tag:b.regexp,color:"#E3965E"},{tag:[b.tagName,b.angleBracket],color:"#BAA827"},{tag:b.attributeName,color:"#B06520"},{tag:b.derefOperator,color:"#000"}]});var uL=Le({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:b.comment,color:"#93A1A1"},{tag:b.string,color:"#2AA198"},{tag:b.regexp,color:"#D30102"},{tag:b.number,color:"#D33682"},{tag:b.variableName,color:"#268BD2"},{tag:[b.keyword,b.operator,b.punctuation],color:"#859900"},{tag:[b.definitionKeyword,b.modifier],color:"#073642",fontWeight:"bold"},{tag:[b.className,b.self,b.definition(b.propertyName)],color:"#268BD2"},{tag:b.function(b.variableName),color:"#268BD2"},{tag:[b.bool,b.null],color:"#B58900"},{tag:b.tagName,color:"#268BD2",fontWeight:"bold"},{tag:b.angleBracket,color:"#93A1A1"},{tag:b.attributeName,color:"#93A1A1"},{tag:b.typeName,color:"#859900"}]});var dL=Le({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:b.comment,color:"#8E908C"},{tag:[b.variableName,b.self,b.propertyName,b.attributeName,b.regexp],color:"#C82829"},{tag:[b.number,b.bool,b.null],color:"#F5871F"},{tag:[b.className,b.typeName,b.definition(b.typeName)],color:"#C99E00"},{tag:[b.string,b.special(b.brace)],color:"#718C00"},{tag:b.operator,color:"#3E999F"},{tag:[b.definition(b.propertyName),b.function(b.variableName)],color:"#4271AE"},{tag:b.keyword,color:"#8959A8"},{tag:b.derefOperator,color:"#4D4D4C"}]});import{jsx as G2}from"react/jsx-runtime";var F2=new Set(["entity","enum","struct","const","export","extends","fn","on","action","activity","task","variant","workflow","command","middleware","schedule","every","jai","migration","test","mock","assert","cartridge","service","component","app","route","layout","import","from","if","elif","else","while","for","in","return","break","continue","delete","defer","print","sleep","fail"]),O2=new Set(["string","bool","ulid","document","dict","blob","DateTime","u8","u16","u32","u64","s8","s16","s32","s64","int","integer","float","float64","f32","f64","double","time","bytes","any","name","ref"]);function Zp(t,e){for(;!t.eol()&&t.next()!==e;);return"string"}var N2={name:"nbt",startState:()=>({tripleString:!1}),token(t,e){if(e.tripleString){for(;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(t.eatSpace())return null;let a=t.peek();if(a==null)return null;if(a==="#")return t.skipToEnd(),"comment";if(t.match('"""')){for(e.tripleString=!0;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(a==='"')return t.next(),Zp(t,'"');if(a==="'"){let o=t.string.charAt(t.pos-1);return/[A-Za-z0-9_]/.test(o)?(t.next(),null):(t.next(),Zp(t,"'"))}if(a==="f"&&t.string.charAt(t.pos+1)==='"')return t.next(),t.next(),Zp(t,'"');if(a==="@")return t.next(),t.eat("@"),t.eatWhile(/[A-Za-z0-9_]/),"meta";if(/\d/.test(a))return t.match(/^\d+(\.\d+)?/),"number";if(/[A-Za-z_]/.test(a)){t.eatWhile(/[A-Za-z0-9_]/);let o=t.current();return o==="true"||o==="false"?"atom":F2.has(o)?"keyword":O2.has(o)||/^[A-Z]/.test(o)?"typeName":"variableName"}return/[+\-*/=<>!&|?.,:;]/.test(a)?(t.next(),t.eatWhile(/[+\-*/=<>!&|.]/),"operator"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}},Qp=Cu.define(N2);function em(){return new yu(Qp,[mo.of(" ")])}var _2=Z.theme({"&":{backgroundColor:"var(--background)",color:"var(--foreground)"},".cm-gutters":{backgroundColor:"var(--background)",color:"var(--muted-foreground)",borderRight:"1px solid var(--border)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--accent) 35%, transparent)"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)"}},{dark:!0}),H2=Z.theme({"&":{backgroundColor:"#0b0b0e",color:"#e4e4e7"},".cm-content":{caretColor:"#facc15"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"#facc15"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"rgba(250, 204, 21, 0.18)"},".cm-gutters":{backgroundColor:"#0b0b0e",color:"#52525b",borderRight:"1px solid rgba(255, 255, 255, 0.06)"},".cm-activeLine":{backgroundColor:"rgba(250, 204, 21, 0.06)"},".cm-activeLineGutter":{backgroundColor:"rgba(250, 204, 21, 0.06)",color:"#a1a1aa"},".cm-tooltip":{backgroundColor:"#18181b",color:"#e4e4e7",border:"1px solid rgba(255, 255, 255, 0.1)"},".cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:"rgba(250, 204, 21, 0.15)",color:"#fafafa"}},{dark:!0}),z2=qo.define([{tag:b.keyword,color:"#facc15",fontWeight:"500"},{tag:[b.typeName,b.className,b.tagName],color:"#e5e7eb",fontWeight:"500"},{tag:[b.propertyName,b.variableName,b.attributeName],color:"#cbd5e1"},{tag:[b.string,b.special(b.string)],color:"#fde047"},{tag:[b.number,b.bool,b.atom,b.null],color:"#fbbf24"},{tag:[b.meta,b.annotation],color:"#f472b6",fontWeight:"500"},{tag:b.comment,color:"#71717a",fontStyle:"italic"},{tag:[b.operator,b.punctuation,b.separator],color:"#a1a1aa"},{tag:b.invalid,color:"#f87171"}]),q2=[H2,Hn(z2)],Gn=[{id:"default",label:"Default (panel)",extension:_2},{id:"nimbitDark",label:"Nimbit Dark",extension:q2},{id:"dracula",label:"Dracula",extension:rL},{id:"tomorrow",label:"Tomorrow",extension:dL},{id:"cobalt",label:"Cobalt",extension:aL},{id:"espresso",label:"Espresso",extension:nL},{id:"barf",label:"Barf",extension:Yy},{id:"bespin",label:"Bespin",extension:Jy},{id:"birdsOfParadise",label:"Birds of Paradise",extension:Qy},{id:"boysAndGirls",label:"Boys and Girls",extension:eL},{id:"coolGlow",label:"Cool Glow",extension:oL},{id:"amy",label:"Amy",extension:jy},{id:"ayuLight",label:"Ayu Light",extension:Zy},{id:"clouds",label:"Clouds",extension:tL},{id:"noctisLilac",label:"Noctis Lilac",extension:sL},{id:"rosePineDawn",label:"Ros\xE9 Pine Dawn",extension:iL},{id:"smoothy",label:"Smoothy",extension:lL},{id:"solarizedLight",label:"Solarized Light",extension:uL}],U2=new Map(Gn.map(t=>[t.id,t.extension]));function ad(t){return U2.get(t)??Gn[0].extension}function Yp(t,e){let a=t.lineAt(e);return{line:a.number-1,character:e-a.from}}function Jp(t,e){let a=Math.min(Math.max(e.line+1,1),t.lines),o=t.line(a);return Math.min(o.from+Math.max(e.character,0),o.to)}function W2(t,e){return e.map(a=>{let o=Jp(t,a.range.start),r=Jp(t,a.range.end);r<=o&&(r=Math.min(o+1,t.length));let n=a.severity===2?"warning":a.severity===3||a.severity===4?"info":"error";return{from:o,to:r,severity:n,message:a.message,source:a.source??"nbt"}})}function V2(t){switch(t){case 3:return"function";case 5:return"property";case 13:return"enum";case 14:return"keyword";case 22:return"class";default:return"variable"}}function tm(t,e,a){let o=Ze.fromClass(class{constructor(i){this.view=i,this.timer=null,t.didOpen(e,i.state.doc.toString()),this.unsubscribe=t.onDiagnostics(e,l=>{let u=W2(this.view.state.doc,l);this.view.dispatch(by(this.view.state,u))})}update(i){i.docChanged&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,t.didChange(e,this.view.state.doc.toString())},200))}destroy(){this.timer&&(clearTimeout(this.timer),t.didChange(e,this.view.state.doc.toString())),this.unsubscribe()}}),r=async i=>{let l=i.matchBefore(/\w*/);if(!l)return null;if(l.from===l.to&&!i.explicit){let c=i.state.doc.sliceString(Math.max(0,i.pos-1),i.pos);if(c!=="."&&c!==":"&&c!=='"')return null}t.didChange(e,i.state.doc.toString());let u;try{u=await t.completion(e,Yp(i.state.doc,i.pos))}catch{return null}let d=Array.isArray(u)?u:u?.items??[];return d.length===0?null:{from:l.from,options:d.map(c=>({label:c.label,type:V2(c.kind),detail:c.detail}))}},n=du(async(i,l)=>{let u;try{u=await t.hover(e,Yp(i.state.doc,l))}catch{return null}let d=u?.contents?.value;return d?{pos:l,create:()=>{let c=document.createElement("pre");return c.className="nbt-hover-tooltip",c.style.cssText="margin:0;padding:6px 8px;max-width:480px;white-space:pre-wrap;font-size:11px;",c.textContent=d.replace(/```\w*\n?/g,""),{dom:c}}}:null}),s=Ar.of([{key:"F12",run:i=>{let l=Yp(i.state.doc,i.state.selection.main.head);return t.definition(e,l).then(u=>{let d=Array.isArray(u)?u[0]??null:u;if(d?.uri)if(d.uri===e){let c=Jp(i.state.doc,d.range.start);i.dispatch({selection:{anchor:c},scrollIntoView:!0})}else a?.(d.uri,d.range.start.line)}).catch(()=>{}),!0}}]);return[o,Ky({override:[r]}),n,s]}function cL(t){return Z.theme({"&":{height:"100%",fontSize:`${t}px`},".cm-content":{fontFamily:"ui-monospace, monospace"},"&.cm-focused":{outline:"none"}})}function fL(t){return Xt.high([mo.of(" ".repeat(t)),Me.tabSize.of(t)])}var od=({uri:t,value:e,readOnly:a=!1,lsp:o,onChange:r,onSave:n,onGotoDefinition:s,theme:i="default",fontSize:l=12,lineWrap:u=!1,tabSize:d=2})=>{let c=Aa.useRef(null),f=Aa.useRef(null),h=Aa.useRef(r);h.current=r;let p=Aa.useRef(n);p.current=n;let m=Aa.useRef(s);m.current=s;let g=Aa.useRef(new To),x=Aa.useRef(new To),y=Aa.useRef(new To),w=Aa.useRef({theme:i,fontSize:l,lineWrap:u,tabSize:d});return w.current={theme:i,fontSize:l,lineWrap:u,tabSize:d},Aa.useEffect(()=>{let C=c.current;if(!C)return;let I=w.current,v=[Xb(),Fw(),Hb(),qb(),ww(),$y(),ky(),Hn(mw,{fallback:!0}),em(),y.current.of(fL(I.tabSize)),g.current.of([cL(I.fontSize),ad(I.theme)]),x.current.of(I.lineWrap?Z.lineWrapping:[]),Ar.of([{key:"Mod-s",run:S=>(p.current?.(S.state.doc.toString()),!0)},...hy,...Hw,...By,...jp,py]),Z.updateListener.of(S=>{S.docChanged&&h.current?.(S.state.doc.toString())}),Me.readOnly.of(a)];o&&!a&&v.push(tm(o,t,(S,A)=>m.current?.(S,A)));let L=new Z({state:Me.create({doc:e,extensions:v}),parent:C});return f.current=L,()=>{L.destroy(),f.current=null}},[t,a,o]),Aa.useEffect(()=>{let C=f.current;C&&C.dispatch({effects:[g.current.reconfigure([cL(l),ad(i)]),x.current.reconfigure(u?Z.lineWrapping:[]),y.current.reconfigure(fL(d))]})},[i,l,u,d]),G2("div",{ref:c,className:"h-full min-h-0 overflow-hidden"})},rd=class{constructor(t){this.rootUri=null,this.ws=null,this.nextId=1,this.pending=new Map,this.diagHandlers=new Map,this.docs=new Map,this.ready=!1,this.queue=[],this.closed=!1,this.retryMs=500,this.url=t,this.connect()}dispose(){this.closed=!0,this.ws?.close(),this.pending.forEach(t=>t.reject(new Error("lsp client disposed"))),this.pending.clear()}connect(){if(this.closed)return;let t=new WebSocket(this.url);this.ws=t,t.onopen=()=>{this.retryMs=500,this.rootUri&&this.sendInitialize(this.rootUri)},t.onmessage=e=>{typeof e.data=="string"&&this.onMessage(e.data)},t.onclose=()=>{this.ready=!1,this.ws=null;for(let e of this.pending.values())e.reject(new Error("lsp connection closed"));this.pending.clear(),this.closed||(setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(this.retryMs*2,1e4))}}initialize(t){this.rootUri=t,this.ws?.readyState===WebSocket.OPEN&&this.sendInitialize(t)}sendInitialize(t){let e=this.nextId++;this.pending.set(e,{resolve:()=>{this.sendRaw({jsonrpc:"2.0",method:"initialized",params:{}}),this.ready=!0;for(let[o,r]of this.docs)this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:o,languageId:"nbt",version:r.version,text:r.text}}});let a=this.queue;this.queue=[];for(let o of a)this.ws?.send(o)},reject:()=>{}}),this.ws?.send(JSON.stringify({jsonrpc:"2.0",id:e,method:"initialize",params:{rootUri:t}}))}sendRaw(t){let e=JSON.stringify(t);this.ready&&this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.queue.push(e)}onMessage(t){let e;try{e=JSON.parse(t)}catch{return}if(e.id!=null&&(e.result!==void 0||e.error)){let a=this.pending.get(e.id);if(!a)return;this.pending.delete(e.id),e.error?a.reject(new Error(e.error.message??"lsp error")):a.resolve(e.result);return}if(e.method==="textDocument/publishDiagnostics"){let a=e.params?.uri,o=this.diagHandlers.get(a);o&&o(e.params?.diagnostics??[])}}request(t,e){let a=this.nextId++,o=new Promise((r,n)=>{this.pending.set(a,{resolve:r,reject:n})});return this.sendRaw({jsonrpc:"2.0",id:a,method:t,params:e}),o}onDiagnostics(t,e){return this.diagHandlers.set(t,e),()=>{this.diagHandlers.get(t)===e&&this.diagHandlers.delete(t)}}didOpen(t,e){if(this.docs.get(t)){this.didChange(t,e);return}this.docs.set(t,{text:e,version:1}),this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:t,languageId:"nbt",version:1,text:e}}})}didChange(t,e){let a=this.docs.get(t);if(!a)return this.didOpen(t,e);a.text!==e&&(a.text=e,a.version+=1,this.sendRaw({jsonrpc:"2.0",method:"textDocument/didChange",params:{textDocument:{uri:t,version:a.version},contentChanges:[{text:e}]}}))}didClose(t){this.docs.delete(t)&&this.sendRaw({jsonrpc:"2.0",method:"textDocument/didClose",params:{textDocument:{uri:t}}})}completion(t,e){return this.request("textDocument/completion",{textDocument:{uri:t},position:e})}hover(t,e){return this.request("textDocument/hover",{textDocument:{uri:t},position:e})}definition(t,e){return this.request("textDocument/definition",{textDocument:{uri:t},position:e})}};import am from"react";import{jsx as $2}from"react/jsx-runtime";import K2,{createContext as j2,useContext as gL,useEffect as nd,useRef as $n,useState as sd}from"react";var pL=am.createContext({apiBaseUrl:""}),om=({apiBaseUrl:t="",children:e})=>{let a=am.useMemo(()=>({apiBaseUrl:t}),[t]);return $2(pL.Provider,{value:a,children:e})};function tt(){return am.useContext(pL)}function _r(t){if(!t){let e=window.location;return`${e.protocol==="https:"?"wss:":"ws:"}//${e.host}`}return t.replace(/^http(s?):/,"ws$1:")}var mL="nbt_devtools_token";function id(){try{return localStorage.getItem(mL)}catch{return null}}function rm(t){try{localStorage.setItem(mL,t)}catch{}}function Ma(t){let e={...t??{}},a=id();return a&&(e.Authorization=`Bearer ${a}`),e}async function nm(t,e){let a=await fetch(`${t}/_console/whoami`,{signal:e,credentials:"include",headers:Ma()});if(!a.ok)throw new Error(`HTTP ${a.status}`);return await a.json()}async function sm(t,e){try{let a=await fetch(`${t}/_console/settings`,{signal:e,credentials:"include",headers:Ma()});if(!a.ok)return{};let o=await a.json();return o&&typeof o=="object"?o:{}}catch{return{}}}async function im(t,e){try{await fetch(`${t}/_console/settings`,{method:"PUT",credentials:"include",headers:Ma({"content-type":"application/json"}),body:JSON.stringify(e)})}catch{}}async function lm(t,e,a){let o=await fetch(`${t}/api/auth/user/signin`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,password:a})});if(!o.ok)throw new Error(o.status===401?"Invalid email or password":`Sign-in failed (HTTP ${o.status})`);let r=await o.json();if(!r.token)throw new Error("Sign-in returned no token");rm(r.token)}async function um(t,e,a,o){let r=await fetch(`${t}/api/auth/user/signup`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,email:a,password:o})});if(!r.ok){let s=`HTTP ${r.status}`;if(r.status===409)s="That email is already registered";else try{let i=await r.json();i?.error&&(s=i.error)}catch{}throw new Error(`Sign-up failed: ${s}`)}let n=await r.json();if(!n.token)throw new Error("Sign-up returned no token");rm(n.token)}function X2(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for WS auth")}function dm(t){let e=id();return e?[t,`auth-${X2(e)}`]:[t]}var xL=1,bL=2,Z2=3,cm=4,fm=5,hm=6,Y2=255,ld=1,ud=2,dd=3,cd=4,fd=5,hd=6,pd=7,md=8,ui=9,gd=10,xd=11,wL=12,bd=13,wd=14;function J2(t){switch(t){case ld:return 1;case ud:return 2;case dd:return 4;case cd:return 8;case fd:return 1;case hd:return 2;case pd:return 4;case md:return 8;case ui:return 1;case gd:return 4;case xd:return 8;case wL:return 0;case bd:return 8;case wd:return 0;default:return 0}}var Q2=class{constructor(){this.columns=[],this.rows=[],this.totalRows=0,this.searchActive=!1,this._fullRows=[],this._fullTotalRows=0,this._idColIndex=-1,this._query=""}applySchema(t){this.columns=t.columns,this.totalRows=t.totalRows,this.rows=[],this._fullRows=[],this._fullTotalRows=t.totalRows,this.searchActive=!1,this._query="",this._idColIndex=t.columns.findIndex(e=>e.name==="id")}appendChunk(t){for(let e=0;e<t.length;e++){let a=t[e];this._fullRows.push(a),this.searchActive||this.rows.push(a)}}applyDelta(t){let e=this._fullRows;if(t.op===cm&&t.rowData){e.push(t.rowData),this._fullTotalRows++,this.totalRows++,this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===fm&&t.rowData){let a=this._findRowById(e,t.rowData);a>=0&&(e[a]=t.rowData),this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===hm&&t.id!==void 0){let a=String(t.id),o=this._findRowByIdStr(e,a);o>=0&&(e.splice(o,1),this._fullTotalRows--,this.totalRows--,this.searchActive?this._applySearch():this.rows=this._fullRows);return}}search(t){let e=t.trim().toLowerCase();if(!e){this.exitSearch();return}this.searchActive=!0,this._query=e,this._applySearch()}exitSearch(){this.searchActive&&(this.rows=this._fullRows,this.totalRows=this._fullTotalRows,this.searchActive=!1,this._query="")}getRowCount(){return this.rows.length}_findRowById(t,e){if(this._idColIndex<0)return-1;let a=e[this._idColIndex];for(let o=0;o<t.length;o++)if(t[o][this._idColIndex]===a)return o;return-1}_findRowByIdStr(t,e){if(this._idColIndex<0)return-1;for(let a=0;a<t.length;a++)if(t[a][this._idColIndex]===e)return a;return-1}_applySearch(){this.rows=this._fullRows.filter(t=>t.some(e=>e.toLowerCase().includes(this._query))),this.totalRows=this.rows.length}},yd=new TextDecoder,Ld=2,hL=1+Ld;function eB(t){let e=Math.abs(t);return e<1e10?new Date(t*1e3):e<1e13?new Date(t):e<1e16?new Date(t/1e3):new Date(t/1e6)}function yL(t,e,a){switch(a.type){case ld:return[String(t.getUint8(e)),1];case fd:return[String(t.getInt8(e)),1];case ui:return[t.getUint8(e)?"true":"false",1];case ud:return[String(t.getUint16(e,!0)),2];case hd:return[String(t.getInt16(e,!0)),2];case dd:return[String(t.getUint32(e,!0)),4];case pd:return[String(t.getInt32(e,!0)),4];case gd:return[String(t.getFloat32(e,!0)),4];case cd:return[String(t.getBigUint64(e,!0)),8];case md:return[String(t.getBigInt64(e,!0)),8];case xd:return[String(t.getFloat64(e,!0)),8];case bd:{let o=Number(t.getBigInt64(e,!0));return o===0?["",8]:[eB(o).toISOString(),8]}case wL:case wd:{let o=t.getUint32(e,!0),r=new Uint8Array(t.buffer,t.byteOffset+e+4,o);return[yd.decode(r),4+o]}default:return["",0]}}function tB(t){return new DataView(t).getUint8(0)}function aB(t){return new DataView(t).getUint16(1,!0)}function oB(t){let e=new DataView(t),a=0,o=e.getUint8(a);if(a+=1,o!==xL)throw new Error(`Expected SCHEMA frame (0x01), got 0x${o.toString(16)}`);a+=Ld;let r=e.getUint32(a,!0);a+=4;let n=e.getUint16(a,!0);a+=2;let s=[];for(let i=0;i<n;i++){let l=e.getUint8(a);a+=1;let u=e.getUint16(a,!0);a+=2;let d=new Uint8Array(t,a,u),c=yd.decode(d);a+=u,s.push({name:c,type:l,fixedSize:J2(l)})}return{totalRows:r,columns:s}}function rB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,r!==bL)throw new Error(`Expected DATA frame, got 0x${r.toString(16)}`);o+=Ld;let n=a.getUint16(o,!0);o+=2;let s=[];for(let i=0;i<n;i++){let l=[];for(let u=0;u<e.length;u++){let[d,c]=yL(a,o,e[u]);l.push(d),o+=c}s.push(l)}return s}function nB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,o+=Ld,r===hm){let n=a.getUint16(o,!0);o+=2;let s=new Uint8Array(t,o,n);return{op:r,id:yd.decode(s)}}if(r===cm||r===fm){let n=[];for(let s=0;s<e.length;s++){let[i,l]=yL(a,o,e[s]);n.push(i),o+=l}return{op:r,rowData:n}}throw new Error(`Unknown delta op 0x${r.toString(16)}`)}function sB(t){let a=new DataView(t).getUint16(hL,!0),o=new Uint8Array(t,hL+2,a);return yd.decode(o)}function iB(t,e,a,o){return JSON.stringify({cmd:"sub",sid:t,cart:e,entity:a,...o})}var pm=j2(null);function lB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for bulk WS auth")}function uB(t){return["nimbit-bulk",`auth-${lB(t)}`]}var li=null,dB=6e4;async function cB(t,e){let a=id();if(a)return a;let o=Date.now();if(li?.apiBaseUrl===e&&o-li.at<dB)return li.token;let r=await fetch(`${e}/api/auth/session/current`,{method:"POST",signal:t,credentials:"include",headers:{"content-type":"application/json"}});if(!r.ok)return null;let s=(await r.json()).session?.token;return s?(li={apiBaseUrl:e,token:s,at:o},s):null}function fB(){li=null}function Xn(t){t.listeners.forEach(e=>e())}function mm({registry:t,children:e}){let{apiBaseUrl:a}=tt(),o=$n(null),r=$n([]),n=$n(1),s=$n(new Map),i=$n(new Map),l=$n(!1),[u,d]=sd(!1),[c,f]=sd(null),h=v=>{let L=o.current;L&&L.readyState===WebSocket.OPEN?L.send(v):r.current.push(v)},p=()=>{let v=o.current;if(!v||v.readyState!==WebSocket.OPEN)return;let L=r.current;r.current=[];for(let S of L)v.send(S)},m=(v,L)=>{let S=L.toLowerCase(),A=`${v}/${S}`,H=i.current.get(A);if(H)return H;let M=n.current++,R={sid:M,cart:v,entity:S,store:new Q2,columns:[],totalRows:0,loadedRows:0,streaming:!1,error:null,streamRequested:!1,onRender:null,listeners:new Set};return i.current.set(A,R),s.current.set(M,R),R},g=v=>{v.streamRequested||(v.streamRequested=!0,h(iB(v.sid,v.cart,v.entity)))},x=v=>{let L=v.data,S=aB(L),A=s.current.get(S);if(!A)return;let H=tB(L),M=A.store;switch(H){case xL:{let R=oB(L);M.applySchema(R),A.columns=R.columns,A.totalRows=R.totalRows,A.loadedRows=0,A.streaming=!0,Xn(A);break}case bL:{let R=rB(L,M.columns);M.appendChunk(R),A.loadedRows=M.getRowCount(),A.onRender?.();break}case Z2:A.streaming=!1,Xn(A);break;case cm:case fm:case hm:{let R=nB(L,M.columns);M.applyDelta(R),A.totalRows=M.totalRows,A.loadedRows=M.getRowCount(),A.onRender?.(),Xn(A);break}case Y2:A.error=sB(L),A.streaming=!1,Xn(A);break}};nd(()=>{let v=new AbortController,L=!1,S=!1,A=null;return r.current=[],n.current=1,s.current.clear(),i.current.clear(),l.current=!1,d(!1),f(null),(async()=>{let H=null;try{H=await cB(v.signal,a)}catch{}L||(A=H?new WebSocket(`${_r(a)}/_ws/bulk`,uB(H)):new WebSocket(`${_r(a)}/_ws/bulk`,["nimbit-bulk"]),A.binaryType="arraybuffer",o.current=A,A.onopen=()=>{L||o.current!==A||(S=!0,d(!0),f(null),p())},A.onmessage=x,A.onerror=()=>{},A.onclose=()=>{L||o.current!==A||(d(!1),o.current=null,S||(fB(),f("WebSocket connection closed")))})})(),()=>{if(L=!0,v.abort(),A){A.onopen=A.onmessage=A.onerror=A.onclose=null;try{A.close()}catch{}o.current===A&&(o.current=null)}}},[a]),nd(()=>{if(!u||l.current)return;let v=Object.keys(t);if(v.length!==0){l.current=!0;for(let L of v)for(let S of t[L]??[]){let A=m(L,S.name);g(A)}}},[u,t]);let I={getView:m,ensureStreamed:g,search:(v,L)=>{v.store.search(L),v.totalRows=v.store.totalRows,v.loadedRows=v.store.getRowCount(),Xn(v),v.onRender?.()},clearSearch:v=>{v.store.exitSearch(),v.totalRows=v.store.totalRows,v.loadedRows=v.store.getRowCount(),Xn(v),v.onRender?.()},subscribe:(v,L)=>(v.listeners.add(L),()=>{v.listeners.delete(L)}),connected:u,error:c};return K2.createElement(pm.Provider,{value:I},e)}function gm(t){let e=gL(pm);if(!e)throw new Error("useBulkRowCounts must be used within BulkStreamProvider");let[,a]=sd(0),o=[];for(let s of Object.keys(t))for(let i of t[s]??[])o.push({id:`${s}:${i.name}`,view:e.getView(s,i.name)});let r=o.map(s=>s.id).join("|");nd(()=>{let s=o.map(i=>e.subscribe(i.view,()=>a(l=>l+1)));return()=>s.forEach(i=>i())},[r]);let n={};for(let s of o)n[s.id]=s.view.totalRows;return n}function xm(t,e){let a=gL(pm);if(!a)throw new Error("useBulkSubscription must be used within BulkStreamProvider");let o=a.getView(t,e),[,r]=sd(0);return nd(()=>{let n=a.subscribe(o,()=>r(s=>s+1));return a.ensureStreamed(o),n},[o]),{store:o.store,connected:a.connected,streaming:o.streaming,error:o.error??a.error,columns:o.columns,totalRows:o.totalRows,loadedRows:o.loadedRows,search:n=>a.search(o,n),clearSearch:()=>a.clearSearch(o),setOnRender:n=>{o.onRender=n}}}import xt from"react";import{jsxs as gt,Fragment as vo,jsx as K}from"react/jsx-runtime";import{createContext as ug,useContext as Ni,useMemo as Ta,forwardRef as _S,useEffect as De,useRef as Se,useState as Za,useLayoutEffect as AN,useCallback as Ya,memo as Ye}from"react";function $e(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let a=0,o;a<t.length;a++)(o=$e(t[a]))!==""&&(e+=(e&&" ")+o);else for(let a in t)t[a]&&(e+=(e&&" ")+a);return e}var hB={value:()=>{}};function CL(){for(var t=0,e=arguments.length,a={},o;t<e;++t){if(!(o=arguments[t]+"")||o in a||/[\s.]/.test(o))throw new Error("illegal type: "+o);a[o]=[]}return new Cd(a)}function Cd(t){this._=t}function pB(t,e){return t.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");if(r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),a&&!e.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:o}})}Cd.prototype=CL.prototype={constructor:Cd,on:function(t,e){var a=this._,o=pB(t+"",a),r,n=-1,s=o.length;if(arguments.length<2){for(;++n<s;)if((r=(t=o[n]).type)&&(r=mB(a[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++n<s;)if(r=(t=o[n]).type)a[r]=LL(a[r],t.name,e);else if(e==null)for(r in a)a[r]=LL(a[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var a in e)t[a]=e[a].slice();return new Cd(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var a=new Array(r),o=0,r,n;o<r;++o)a[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(n=this._[t],o=0,r=n.length;o<r;++o)n[o].value.apply(e,a)},apply:function(t,e,a){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,n=o.length;r<n;++r)o[r].value.apply(e,a)}};function mB(t,e){for(var a=0,o=t.length,r;a<o;++a)if((r=t[a]).name===e)return r.value}function LL(t,e,a){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=hB,t=t.slice(0,o).concat(t.slice(o+1));break}return a!=null&&t.push({name:e,value:a}),t}var Hr=CL;var vd="http://www.w3.org/1999/xhtml",bm={svg:"http://www.w3.org/2000/svg",xhtml:vd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function xo(t){var e=t+="",a=e.indexOf(":");return a>=0&&(e=t.slice(0,a))!=="xmlns"&&(t=t.slice(a+1)),bm.hasOwnProperty(e)?{space:bm[e],local:t}:t}function gB(t){return function(){var e=this.ownerDocument,a=this.namespaceURI;return a===vd&&e.documentElement.namespaceURI===vd?e.createElement(t):e.createElementNS(a,t)}}function xB(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Sd(t){var e=xo(t);return(e.local?xB:gB)(e)}function bB(){}function zr(t){return t==null?bB:function(){return this.querySelector(t)}}function vL(t){typeof t!="function"&&(t=zr(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=new Array(s),l,u,d=0;d<s;++d)(l=n[d])&&(u=t.call(l,l.__data__,d,n))&&("__data__"in l&&(u.__data__=l.__data__),i[d]=u);return new Xe(o,this._parents)}function wm(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function wB(){return[]}function di(t){return t==null?wB:function(){return this.querySelectorAll(t)}}function yB(t){return function(){return wm(t.apply(this,arguments))}}function SL(t){typeof t=="function"?t=yB(t):t=di(t);for(var e=this._groups,a=e.length,o=[],r=[],n=0;n<a;++n)for(var s=e[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&(o.push(t.call(l,l.__data__,u,s)),r.push(l));return new Xe(o,r)}function ci(t){return function(){return this.matches(t)}}function Id(t){return function(e){return e.matches(t)}}var LB=Array.prototype.find;function CB(t){return function(){return LB.call(this.children,t)}}function vB(){return this.firstElementChild}function IL(t){return this.select(t==null?vB:CB(typeof t=="function"?t:Id(t)))}var SB=Array.prototype.filter;function IB(){return Array.from(this.children)}function kB(t){return function(){return SB.call(this.children,t)}}function kL(t){return this.selectAll(t==null?IB:kB(typeof t=="function"?t:Id(t)))}function AL(t){typeof t!="function"&&(t=ci(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new Xe(o,this._parents)}function kd(t){return new Array(t.length)}function ML(){return new Xe(this._enter||this._groups.map(kd),this._parents)}function fi(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}fi.prototype={constructor:fi,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function PL(t){return function(){return t}}function AB(t,e,a,o,r,n){for(var s=0,i,l=e.length,u=n.length;s<u;++s)(i=e[s])?(i.__data__=n[s],o[s]=i):a[s]=new fi(t,n[s]);for(;s<l;++s)(i=e[s])&&(r[s]=i)}function MB(t,e,a,o,r,n,s){var i,l,u=new Map,d=e.length,c=n.length,f=new Array(d),h;for(i=0;i<d;++i)(l=e[i])&&(f[i]=h=s.call(l,l.__data__,i,e)+"",u.has(h)?r[i]=l:u.set(h,l));for(i=0;i<c;++i)h=s.call(t,n[i],i,n)+"",(l=u.get(h))?(o[i]=l,l.__data__=n[i],u.delete(h)):a[i]=new fi(t,n[i]);for(i=0;i<d;++i)(l=e[i])&&u.get(f[i])===l&&(r[i]=l)}function PB(t){return t.__data__}function DL(t,e){if(!arguments.length)return Array.from(this,PB);var a=e?MB:AB,o=this._parents,r=this._groups;typeof t!="function"&&(t=PL(t));for(var n=r.length,s=new Array(n),i=new Array(n),l=new Array(n),u=0;u<n;++u){var d=o[u],c=r[u],f=c.length,h=DB(t.call(d,d&&d.__data__,u,o)),p=h.length,m=i[u]=new Array(p),g=s[u]=new Array(p),x=l[u]=new Array(f);a(d,c,m,g,x,h,e);for(var y=0,w=0,C,I;y<p;++y)if(C=m[y]){for(y>=w&&(w=y+1);!(I=g[w])&&++w<p;);C._next=I||null}}return s=new Xe(s,o),s._enter=i,s._exit=l,s}function DB(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function RL(){return new Xe(this._exit||this._groups.map(kd),this._parents)}function TL(t,e,a){var o=this.enter(),r=this,n=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),a==null?n.remove():a(n),o&&r?o.merge(r).order():r}function EL(t){for(var e=t.selection?t.selection():t,a=this._groups,o=e._groups,r=a.length,n=o.length,s=Math.min(r,n),i=new Array(r),l=0;l<s;++l)for(var u=a[l],d=o[l],c=u.length,f=i[l]=new Array(c),h,p=0;p<c;++p)(h=u[p]||d[p])&&(f[p]=h);for(;l<r;++l)i[l]=a[l];return new Xe(i,this._parents)}function BL(){for(var t=this._groups,e=-1,a=t.length;++e<a;)for(var o=t[e],r=o.length-1,n=o[r],s;--r>=0;)(s=o[r])&&(n&&s.compareDocumentPosition(n)^4&&n.parentNode.insertBefore(s,n),n=s);return this}function FL(t){t||(t=RB);function e(c,f){return c&&f?t(c.__data__,f.__data__):!c-!f}for(var a=this._groups,o=a.length,r=new Array(o),n=0;n<o;++n){for(var s=a[n],i=s.length,l=r[n]=new Array(i),u,d=0;d<i;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new Xe(r,this._parents).order()}function RB(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function OL(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function NL(){return Array.from(this)}function _L(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length;r<n;++r){var s=o[r];if(s)return s}return null}function HL(){let t=0;for(let e of this)++t;return t}function zL(){return!this.node()}function qL(t){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],n=0,s=r.length,i;n<s;++n)(i=r[n])&&t.call(i,i.__data__,n,r);return this}function TB(t){return function(){this.removeAttribute(t)}}function EB(t){return function(){this.removeAttributeNS(t.space,t.local)}}function BB(t,e){return function(){this.setAttribute(t,e)}}function FB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function OB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttribute(t):this.setAttribute(t,a)}}function NB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,a)}}function UL(t,e){var a=xo(t);if(arguments.length<2){var o=this.node();return a.local?o.getAttributeNS(a.space,a.local):o.getAttribute(a)}return this.each((e==null?a.local?EB:TB:typeof e=="function"?a.local?NB:OB:a.local?FB:BB)(a,e))}function Ad(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function _B(t){return function(){this.style.removeProperty(t)}}function HB(t,e,a){return function(){this.style.setProperty(t,e,a)}}function zB(t,e,a){return function(){var o=e.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,a)}}function WL(t,e,a){return arguments.length>1?this.each((e==null?_B:typeof e=="function"?zB:HB)(t,e,a??"")):Vo(this.node(),t)}function Vo(t,e){return t.style.getPropertyValue(e)||Ad(t).getComputedStyle(t,null).getPropertyValue(e)}function qB(t){return function(){delete this[t]}}function UB(t,e){return function(){this[t]=e}}function WB(t,e){return function(){var a=e.apply(this,arguments);a==null?delete this[t]:this[t]=a}}function VL(t,e){return arguments.length>1?this.each((e==null?qB:typeof e=="function"?WB:UB)(t,e)):this.node()[t]}function GL(t){return t.trim().split(/^|\s+/)}function ym(t){return t.classList||new $L(t)}function $L(t){this._node=t,this._names=GL(t.getAttribute("class")||"")}$L.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function XL(t,e){for(var a=ym(t),o=-1,r=e.length;++o<r;)a.add(e[o])}function KL(t,e){for(var a=ym(t),o=-1,r=e.length;++o<r;)a.remove(e[o])}function VB(t){return function(){XL(this,t)}}function GB(t){return function(){KL(this,t)}}function $B(t,e){return function(){(e.apply(this,arguments)?XL:KL)(this,t)}}function jL(t,e){var a=GL(t+"");if(arguments.length<2){for(var o=ym(this.node()),r=-1,n=a.length;++r<n;)if(!o.contains(a[r]))return!1;return!0}return this.each((typeof e=="function"?$B:e?VB:GB)(a,e))}function XB(){this.textContent=""}function KB(t){return function(){this.textContent=t}}function jB(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function ZL(t){return arguments.length?this.each(t==null?XB:(typeof t=="function"?jB:KB)(t)):this.node().textContent}function ZB(){this.innerHTML=""}function YB(t){return function(){this.innerHTML=t}}function JB(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function YL(t){return arguments.length?this.each(t==null?ZB:(typeof t=="function"?JB:YB)(t)):this.node().innerHTML}function QB(){this.nextSibling&&this.parentNode.appendChild(this)}function JL(){return this.each(QB)}function eF(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function QL(){return this.each(eF)}function eC(t){var e=typeof t=="function"?t:Sd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function tF(){return null}function tC(t,e){var a=typeof t=="function"?t:Sd(t),o=e==null?tF:typeof e=="function"?e:zr(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),o.apply(this,arguments)||null)})}function aF(){var t=this.parentNode;t&&t.removeChild(this)}function aC(){return this.each(aF)}function oF(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function rF(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oC(t){return this.select(t?rF:oF)}function rC(t){return arguments.length?this.property("__data__",t):this.node().__data__}function nF(t){return function(e){t.call(this,e,this.__data__)}}function sF(t){return t.trim().split(/^|\s+/).map(function(e){var a="",o=e.indexOf(".");return o>=0&&(a=e.slice(o+1),e=e.slice(0,o)),{type:e,name:a}})}function iF(t){return function(){var e=this.__on;if(e){for(var a=0,o=-1,r=e.length,n;a<r;++a)n=e[a],(!t.type||n.type===t.type)&&n.name===t.name?this.removeEventListener(n.type,n.listener,n.options):e[++o]=n;++o?e.length=o:delete this.__on}}}function lF(t,e,a){return function(){var o=this.__on,r,n=nF(e);if(o){for(var s=0,i=o.length;s<i;++s)if((r=o[s]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=n,r.options=a),r.value=e;return}}this.addEventListener(t.type,n,a),r={type:t.type,name:t.name,value:e,listener:n,options:a},o?o.push(r):this.__on=[r]}}function nC(t,e,a){var o=sF(t+""),r,n=o.length,s;if(arguments.length<2){var i=this.node().__on;if(i){for(var l=0,u=i.length,d;l<u;++l)for(r=0,d=i[l];r<n;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(i=e?lF:iF,r=0;r<n;++r)this.each(i(o[r],e,a));return this}function sC(t,e,a){var o=Ad(t),r=o.CustomEvent;typeof r=="function"?r=new r(e,a):(r=o.document.createEvent("Event"),a?(r.initEvent(e,a.bubbles,a.cancelable),r.detail=a.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function uF(t,e){return function(){return sC(this,t,e)}}function dF(t,e){return function(){return sC(this,t,e.apply(this,arguments))}}function iC(t,e){return this.each((typeof e=="function"?dF:uF)(t,e))}function*lC(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length,s;r<n;++r)(s=o[r])&&(yield s)}var Lm=[null];function Xe(t,e){this._groups=t,this._parents=e}function uC(){return new Xe([[document.documentElement]],Lm)}function cF(){return this}Xe.prototype=uC.prototype={constructor:Xe,select:vL,selectAll:SL,selectChild:IL,selectChildren:kL,filter:AL,data:DL,enter:ML,exit:RL,join:TL,merge:EL,selection:cF,order:BL,sort:FL,call:OL,nodes:NL,node:_L,size:HL,empty:zL,each:qL,attr:UL,style:WL,property:VL,classed:jL,text:ZL,html:YL,raise:JL,lower:QL,append:eC,insert:tC,remove:aC,clone:oC,datum:rC,on:nC,dispatch:iC,[Symbol.iterator]:lC};var bo=uC;function ut(t){return typeof t=="string"?new Xe([[document.querySelector(t)]],[document.documentElement]):new Xe([[t]],Lm)}function dC(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Pt(t,e){if(t=dC(t),e===void 0&&(e=t.currentTarget),e){var a=e.ownerSVGElement||e;if(a.createSVGPoint){var o=a.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(e.getScreenCTM().inverse()),[o.x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}var cC={passive:!1},qr={capture:!0,passive:!1};function Md(t){t.stopImmediatePropagation()}function Go(t){t.preventDefault(),t.stopImmediatePropagation()}function hi(t){var e=t.document.documentElement,a=ut(t).on("dragstart.drag",Go,qr);"onselectstart"in e?a.on("selectstart.drag",Go,qr):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function pi(t,e){var a=t.document.documentElement,o=ut(t).on("dragstart.drag",null);e&&(o.on("click.drag",Go,qr),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in a?o.on("selectstart.drag",null):(a.style.MozUserSelect=a.__noselect,delete a.__noselect)}var mi=t=>()=>t;function gi(t,{sourceEvent:e,subject:a,target:o,identifier:r,active:n,x:s,y:i,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}gi.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function fF(t){return!t.ctrlKey&&!t.button}function hF(){return this.parentNode}function pF(t,e){return e??{x:t.x,y:t.y}}function mF(){return navigator.maxTouchPoints||"ontouchstart"in this}function Pd(){var t=fF,e=hF,a=pF,o=mF,r={},n=Hr("start","drag","end"),s=0,i,l,u,d,c=0;function f(C){C.on("mousedown.drag",h).filter(o).on("touchstart.drag",g).on("touchmove.drag",x,cC).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(C,I){if(!(d||!t.call(this,C,I))){var v=w(this,e.call(this,C,I),C,I,"mouse");v&&(ut(C.view).on("mousemove.drag",p,qr).on("mouseup.drag",m,qr),hi(C.view),Md(C),u=!1,i=C.clientX,l=C.clientY,v("start",C))}}function p(C){if(Go(C),!u){var I=C.clientX-i,v=C.clientY-l;u=I*I+v*v>c}r.mouse("drag",C)}function m(C){ut(C.view).on("mousemove.drag mouseup.drag",null),pi(C.view,u),Go(C),r.mouse("end",C)}function g(C,I){if(t.call(this,C,I)){var v=C.changedTouches,L=e.call(this,C,I),S=v.length,A,H;for(A=0;A<S;++A)(H=w(this,L,C,I,v[A].identifier,v[A]))&&(Md(C),H("start",C,v[A]))}}function x(C){var I=C.changedTouches,v=I.length,L,S;for(L=0;L<v;++L)(S=r[I[L].identifier])&&(Go(C),S("drag",C,I[L]))}function y(C){var I=C.changedTouches,v=I.length,L,S;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),L=0;L<v;++L)(S=r[I[L].identifier])&&(Md(C),S("end",C,I[L]))}function w(C,I,v,L,S,A){var H=n.copy(),M=Pt(A||v,I),R,z,k;if((k=a.call(C,new gi("beforestart",{sourceEvent:v,target:f,identifier:S,active:s,x:M[0],y:M[1],dx:0,dy:0,dispatch:H}),L))!=null)return R=k.x-M[0]||0,z=k.y-M[1]||0,function T(D,E,q){var B=M,P;switch(D){case"start":r[S]=T,P=s++;break;case"end":delete r[S],--s;case"drag":M=Pt(q||E,I),P=s;break}H.call(D,C,new gi(D,{sourceEvent:E,subject:k,target:f,identifier:S,active:P,x:M[0]+R,y:M[1]+z,dx:M[0]-B[0],dy:M[1]-B[1],dispatch:H}),L)}}return f.filter=function(C){return arguments.length?(t=typeof C=="function"?C:mi(!!C),f):t},f.container=function(C){return arguments.length?(e=typeof C=="function"?C:mi(C),f):e},f.subject=function(C){return arguments.length?(a=typeof C=="function"?C:mi(C),f):a},f.touchable=function(C){return arguments.length?(o=typeof C=="function"?C:mi(!!C),f):o},f.on=function(){var C=n.on.apply(n,arguments);return C===n?f:C},f.clickDistance=function(C){return arguments.length?(c=(C=+C)*C,f):Math.sqrt(c)},f}function Dd(t,e,a){t.prototype=e.prototype=a,a.constructor=t}function Cm(t,e){var a=Object.create(t.prototype);for(var o in e)a[o]=e[o];return a}function wi(){}var xi=.7,Ed=1/xi,Kn="\\s*([+-]?\\d+)\\s*",bi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",$a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gF=/^#([0-9a-f]{3,8})$/,xF=new RegExp(`^rgb\\(${Kn},${Kn},${Kn}\\)$`),bF=new RegExp(`^rgb\\(${$a},${$a},${$a}\\)$`),wF=new RegExp(`^rgba\\(${Kn},${Kn},${Kn},${bi}\\)$`),yF=new RegExp(`^rgba\\(${$a},${$a},${$a},${bi}\\)$`),LF=new RegExp(`^hsl\\(${bi},${$a},${$a}\\)$`),CF=new RegExp(`^hsla\\(${bi},${$a},${$a},${bi}\\)$`),fC={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Dd(wi,Da,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:hC,formatHex:hC,formatHex8:vF,formatHsl:SF,formatRgb:pC,toString:pC});function hC(){return this.rgb().formatHex()}function vF(){return this.rgb().formatHex8()}function SF(){return yC(this).formatHsl()}function pC(){return this.rgb().formatRgb()}function Da(t){var e,a;return t=(t+"").trim().toLowerCase(),(e=gF.exec(t))?(a=e[1].length,e=parseInt(e[1],16),a===6?mC(e):a===3?new Ht(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):a===8?Rd(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):a===4?Rd(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=xF.exec(t))?new Ht(e[1],e[2],e[3],1):(e=bF.exec(t))?new Ht(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=wF.exec(t))?Rd(e[1],e[2],e[3],e[4]):(e=yF.exec(t))?Rd(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=LF.exec(t))?bC(e[1],e[2]/100,e[3]/100,1):(e=CF.exec(t))?bC(e[1],e[2]/100,e[3]/100,e[4]):fC.hasOwnProperty(t)?mC(fC[t]):t==="transparent"?new Ht(NaN,NaN,NaN,0):null}function mC(t){return new Ht(t>>16&255,t>>8&255,t&255,1)}function Rd(t,e,a,o){return o<=0&&(t=e=a=NaN),new Ht(t,e,a,o)}function IF(t){return t instanceof wi||(t=Da(t)),t?(t=t.rgb(),new Ht(t.r,t.g,t.b,t.opacity)):new Ht}function jn(t,e,a,o){return arguments.length===1?IF(t):new Ht(t,e,a,o??1)}function Ht(t,e,a,o){this.r=+t,this.g=+e,this.b=+a,this.opacity=+o}Dd(Ht,jn,Cm(wi,{brighter(t){return t=t==null?Ed:Math.pow(Ed,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ht(Wr(this.r),Wr(this.g),Wr(this.b),Bd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gC,formatHex:gC,formatHex8:kF,formatRgb:xC,toString:xC}));function gC(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}`}function kF(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}${Ur((isNaN(this.opacity)?1:this.opacity)*255)}`}function xC(){let t=Bd(this.opacity);return`${t===1?"rgb(":"rgba("}${Wr(this.r)}, ${Wr(this.g)}, ${Wr(this.b)}${t===1?")":`, ${t})`}`}function Bd(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Wr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ur(t){return t=Wr(t),(t<16?"0":"")+t.toString(16)}function bC(t,e,a,o){return o<=0?t=e=a=NaN:a<=0||a>=1?t=e=NaN:e<=0&&(t=NaN),new Pa(t,e,a,o)}function yC(t){if(t instanceof Pa)return new Pa(t.h,t.s,t.l,t.opacity);if(t instanceof wi||(t=Da(t)),!t)return new Pa;if(t instanceof Pa)return t;t=t.rgb();var e=t.r/255,a=t.g/255,o=t.b/255,r=Math.min(e,a,o),n=Math.max(e,a,o),s=NaN,i=n-r,l=(n+r)/2;return i?(e===n?s=(a-o)/i+(a<o)*6:a===n?s=(o-e)/i+2:s=(e-a)/i+4,i/=l<.5?n+r:2-n-r,s*=60):i=l>0&&l<1?0:s,new Pa(s,i,l,t.opacity)}function LC(t,e,a,o){return arguments.length===1?yC(t):new Pa(t,e,a,o??1)}function Pa(t,e,a,o){this.h=+t,this.s=+e,this.l=+a,this.opacity=+o}Dd(Pa,LC,Cm(wi,{brighter(t){return t=t==null?Ed:Math.pow(Ed,t),new Pa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new Pa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,a=this.l,o=a+(a<.5?a:1-a)*e,r=2*a-o;return new Ht(vm(t>=240?t-240:t+120,r,o),vm(t,r,o),vm(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new Pa(wC(this.h),Td(this.s),Td(this.l),Bd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Bd(this.opacity);return`${t===1?"hsl(":"hsla("}${wC(this.h)}, ${Td(this.s)*100}%, ${Td(this.l)*100}%${t===1?")":`, ${t})`}`}}));function wC(t){return t=(t||0)%360,t<0?t+360:t}function Td(t){return Math.max(0,Math.min(1,t||0))}function vm(t,e,a){return(t<60?e+(a-e)*t/60:t<180?a:t<240?e+(a-e)*(240-t)/60:e)*255}function Sm(t,e,a,o,r){var n=t*t,s=n*t;return((1-3*t+3*n-s)*e+(4-6*n+3*s)*a+(1+3*t+3*n-3*s)*o+s*r)/6}function CC(t){var e=t.length-1;return function(a){var o=a<=0?a=0:a>=1?(a=1,e-1):Math.floor(a*e),r=t[o],n=t[o+1],s=o>0?t[o-1]:2*r-n,i=o<e-1?t[o+2]:2*n-r;return Sm((a-o/e)*e,s,r,n,i)}}function vC(t){var e=t.length;return function(a){var o=Math.floor(((a%=1)<0?++a:a)*e),r=t[(o+e-1)%e],n=t[o%e],s=t[(o+1)%e],i=t[(o+2)%e];return Sm((a-o/e)*e,r,n,s,i)}}var yi=t=>()=>t;function AF(t,e){return function(a){return t+a*e}}function MF(t,e,a){return t=Math.pow(t,a),e=Math.pow(e,a)-t,a=1/a,function(o){return Math.pow(t+o*e,a)}}function SC(t){return(t=+t)==1?Fd:function(e,a){return a-e?MF(e,a,t):yi(isNaN(e)?a:e)}}function Fd(t,e){var a=e-t;return a?AF(t,a):yi(isNaN(t)?e:t)}var Vr=(function t(e){var a=SC(e);function o(r,n){var s=a((r=jn(r)).r,(n=jn(n)).r),i=a(r.g,n.g),l=a(r.b,n.b),u=Fd(r.opacity,n.opacity);return function(d){return r.r=s(d),r.g=i(d),r.b=l(d),r.opacity=u(d),r+""}}return o.gamma=t,o})(1);function IC(t){return function(e){var a=e.length,o=new Array(a),r=new Array(a),n=new Array(a),s,i;for(s=0;s<a;++s)i=jn(e[s]),o[s]=i.r||0,r[s]=i.g||0,n[s]=i.b||0;return o=t(o),r=t(r),n=t(n),i.opacity=1,function(l){return i.r=o(l),i.g=r(l),i.b=n(l),i+""}}}var PF=IC(CC),DF=IC(vC);function kC(t,e){e||(e=[]);var a=t?Math.min(e.length,t.length):0,o=e.slice(),r;return function(n){for(r=0;r<a;++r)o[r]=t[r]*(1-n)+e[r]*n;return o}}function AC(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function MC(t,e){var a=e?e.length:0,o=t?Math.min(a,t.length):0,r=new Array(o),n=new Array(a),s;for(s=0;s<o;++s)r[s]=wo(t[s],e[s]);for(;s<a;++s)n[s]=e[s];return function(i){for(s=0;s<o;++s)n[s]=r[s](i);return n}}function PC(t,e){var a=new Date;return t=+t,e=+e,function(o){return a.setTime(t*(1-o)+e*o),a}}function Dt(t,e){return t=+t,e=+e,function(a){return t*(1-a)+e*a}}function DC(t,e){var a={},o={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?a[r]=wo(t[r],e[r]):o[r]=e[r];return function(n){for(r in a)o[r]=a[r](n);return o}}var km=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Im=new RegExp(km.source,"g");function RF(t){return function(){return t}}function TF(t){return function(e){return t(e)+""}}function Li(t,e){var a=km.lastIndex=Im.lastIndex=0,o,r,n,s=-1,i=[],l=[];for(t=t+"",e=e+"";(o=km.exec(t))&&(r=Im.exec(e));)(n=r.index)>a&&(n=e.slice(a,n),i[s]?i[s]+=n:i[++s]=n),(o=o[0])===(r=r[0])?i[s]?i[s]+=r:i[++s]=r:(i[++s]=null,l.push({i:s,x:Dt(o,r)})),a=Im.lastIndex;return a<e.length&&(n=e.slice(a),i[s]?i[s]+=n:i[++s]=n),i.length<2?l[0]?TF(l[0].x):RF(e):(e=l.length,function(u){for(var d=0,c;d<e;++d)i[(c=l[d]).i]=c.x(u);return i.join("")})}function wo(t,e){var a=typeof e,o;return e==null||a==="boolean"?yi(e):(a==="number"?Dt:a==="string"?(o=Da(e))?(e=o,Vr):Li:e instanceof Da?Vr:e instanceof Date?PC:AC(e)?kC:Array.isArray(e)?MC:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?DC:Dt)(t,e)}var RC=180/Math.PI,Od={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Am(t,e,a,o,r,n){var s,i,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*a+e*o)&&(a-=t*l,o-=e*l),(i=Math.sqrt(a*a+o*o))&&(a/=i,o/=i,l/=i),t*o<e*a&&(t=-t,e=-e,l=-l,s=-s),{translateX:r,translateY:n,rotate:Math.atan2(e,t)*RC,skewX:Math.atan(l)*RC,scaleX:s,scaleY:i}}var Nd;function TC(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Od:Am(e.a,e.b,e.c,e.d,e.e,e.f)}function EC(t){return t==null?Od:(Nd||(Nd=document.createElementNS("http://www.w3.org/2000/svg","g")),Nd.setAttribute("transform",t),(t=Nd.transform.baseVal.consolidate())?(t=t.matrix,Am(t.a,t.b,t.c,t.d,t.e,t.f)):Od)}function BC(t,e,a,o){function r(u){return u.length?u.pop()+" ":""}function n(u,d,c,f,h,p){if(u!==c||d!==f){var m=h.push("translate(",null,e,null,a);p.push({i:m-4,x:Dt(u,c)},{i:m-2,x:Dt(d,f)})}else(c||f)&&h.push("translate("+c+e+f+a)}function s(u,d,c,f){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),f.push({i:c.push(r(c)+"rotate(",null,o)-2,x:Dt(u,d)})):d&&c.push(r(c)+"rotate("+d+o)}function i(u,d,c,f){u!==d?f.push({i:c.push(r(c)+"skewX(",null,o)-2,x:Dt(u,d)}):d&&c.push(r(c)+"skewX("+d+o)}function l(u,d,c,f,h,p){if(u!==c||d!==f){var m=h.push(r(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Dt(u,c)},{i:m-2,x:Dt(d,f)})}else(c!==1||f!==1)&&h.push(r(h)+"scale("+c+","+f+")")}return function(u,d){var c=[],f=[];return u=t(u),d=t(d),n(u.translateX,u.translateY,d.translateX,d.translateY,c,f),s(u.rotate,d.rotate,c,f),i(u.skewX,d.skewX,c,f),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,c,f),u=d=null,function(h){for(var p=-1,m=f.length,g;++p<m;)c[(g=f[p]).i]=g.x(h);return c.join("")}}}var Mm=BC(TC,"px, ","px)","deg)"),Pm=BC(EC,", ",")",")");var EF=1e-12;function FC(t){return((t=Math.exp(t))+1/t)/2}function BF(t){return((t=Math.exp(t))-1/t)/2}function FF(t){return((t=Math.exp(2*t))-1)/(t+1)}var Gr=(function t(e,a,o){function r(n,s){var i=n[0],l=n[1],u=n[2],d=s[0],c=s[1],f=s[2],h=d-i,p=c-l,m=h*h+p*p,g,x;if(m<EF)x=Math.log(f/u)/e,g=function(L){return[i+L*h,l+L*p,u*Math.exp(e*L*x)]};else{var y=Math.sqrt(m),w=(f*f-u*u+o*m)/(2*u*a*y),C=(f*f-u*u-o*m)/(2*f*a*y),I=Math.log(Math.sqrt(w*w+1)-w),v=Math.log(Math.sqrt(C*C+1)-C);x=(v-I)/e,g=function(L){var S=L*x,A=FC(I),H=u/(a*y)*(A*FF(e*S+I)-BF(I));return[i+H*h,l+H*p,u*A/FC(e*S+I)]}}return g.duration=x*1e3*e/Math.SQRT2,g}return r.rho=function(n){var s=Math.max(.001,+n),i=s*s,l=i*i;return t(s,i,l)},r})(Math.SQRT2,2,4);var Zn=0,vi=0,Ci=0,NC=1e3,_d,Si,Hd=0,$r=0,zd=0,Ii=typeof performance=="object"&&performance.now?performance:Date,_C=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ai(){return $r||(_C(OF),$r=Ii.now()+zd)}function OF(){$r=0}function ki(){this._call=this._time=this._next=null}ki.prototype=qd.prototype={constructor:ki,restart:function(t,e,a){if(typeof t!="function")throw new TypeError("callback is not a function");a=(a==null?Ai():+a)+(e==null?0:+e),!this._next&&Si!==this&&(Si?Si._next=this:_d=this,Si=this),this._call=t,this._time=a,Dm()},stop:function(){this._call&&(this._call=null,this._time=1/0,Dm())}};function qd(t,e,a){var o=new ki;return o.restart(t,e,a),o}function HC(){Ai(),++Zn;for(var t=_d,e;t;)(e=$r-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Zn}function OC(){$r=(Hd=Ii.now())+zd,Zn=vi=0;try{HC()}finally{Zn=0,_F(),$r=0}}function NF(){var t=Ii.now(),e=t-Hd;e>NC&&(zd-=e,Hd=t)}function _F(){for(var t,e=_d,a,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(a=e._next,e._next=null,e=t?t._next=a:_d=a);Si=t,Dm(o)}function Dm(t){if(!Zn){vi&&(vi=clearTimeout(vi));var e=t-$r;e>24?(t<1/0&&(vi=setTimeout(OC,t-Ii.now()-zd)),Ci&&(Ci=clearInterval(Ci))):(Ci||(Hd=Ii.now(),Ci=setInterval(NF,NC)),Zn=1,_C(OC))}}function Ud(t,e,a){var o=new ki;return e=e==null?0:+e,o.restart(r=>{o.stop(),t(r+e)},e,a),o}var HF=Hr("start","end","cancel","interrupt"),zF=[],UC=0,zC=1,Vd=2,Wd=3,qC=4,Gd=5,Mi=6;function $o(t,e,a,o,r,n){var s=t.__transition;if(!s)t.__transition={};else if(a in s)return;qF(t,a,{name:e,index:o,group:r,on:HF,tween:zF,time:n.time,delay:n.delay,duration:n.duration,ease:n.ease,timer:null,state:UC})}function Pi(t,e){var a=rt(t,e);if(a.state>UC)throw new Error("too late; already scheduled");return a}function mt(t,e){var a=rt(t,e);if(a.state>Wd)throw new Error("too late; already running");return a}function rt(t,e){var a=t.__transition;if(!a||!(a=a[e]))throw new Error("transition not found");return a}function qF(t,e,a){var o=t.__transition,r;o[e]=a,a.timer=qd(n,0,a.time);function n(u){a.state=zC,a.timer.restart(s,a.delay,a.time),a.delay<=u&&s(u-a.delay)}function s(u){var d,c,f,h;if(a.state!==zC)return l();for(d in o)if(h=o[d],h.name===a.name){if(h.state===Wd)return Ud(s);h.state===qC?(h.state=Mi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[d]):+d<e&&(h.state=Mi,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[d])}if(Ud(function(){a.state===Wd&&(a.state=qC,a.timer.restart(i,a.delay,a.time),i(u))}),a.state=Vd,a.on.call("start",t,t.__data__,a.index,a.group),a.state===Vd){for(a.state=Wd,r=new Array(f=a.tween.length),d=0,c=-1;d<f;++d)(h=a.tween[d].value.call(t,t.__data__,a.index,a.group))&&(r[++c]=h);r.length=c+1}}function i(u){for(var d=u<a.duration?a.ease.call(null,u/a.duration):(a.timer.restart(l),a.state=Gd,1),c=-1,f=r.length;++c<f;)r[c].call(t,d);a.state===Gd&&(a.on.call("end",t,t.__data__,a.index,a.group),l())}function l(){a.state=Mi,a.timer.stop(),delete o[e];for(var u in o)return;delete t.__transition}}function Xr(t,e){var a=t.__transition,o,r,n=!0,s;if(a){e=e==null?null:e+"";for(s in a){if((o=a[s]).name!==e){n=!1;continue}r=o.state>Vd&&o.state<Gd,o.state=Mi,o.timer.stop(),o.on.call(r?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete a[s]}n&&delete t.__transition}}function WC(t){return this.each(function(){Xr(this,t)})}function UF(t,e){var a,o;return function(){var r=mt(this,t),n=r.tween;if(n!==a){o=a=n;for(var s=0,i=o.length;s<i;++s)if(o[s].name===e){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function WF(t,e,a){var o,r;if(typeof a!="function")throw new Error;return function(){var n=mt(this,t),s=n.tween;if(s!==o){r=(o=s).slice();for(var i={name:e,value:a},l=0,u=r.length;l<u;++l)if(r[l].name===e){r[l]=i;break}l===u&&r.push(i)}n.tween=r}}function VC(t,e){var a=this._id;if(t+="",arguments.length<2){for(var o=rt(this.node(),a).tween,r=0,n=o.length,s;r<n;++r)if((s=o[r]).name===t)return s.value;return null}return this.each((e==null?UF:WF)(a,t,e))}function Yn(t,e,a){var o=t._id;return t.each(function(){var r=mt(this,o);(r.value||(r.value={}))[e]=a.apply(this,arguments)}),function(r){return rt(r,o).value[e]}}function $d(t,e){var a;return(typeof e=="number"?Dt:e instanceof Da?Vr:(a=Da(e))?(e=a,Vr):Li)(t,e)}function VF(t){return function(){this.removeAttribute(t)}}function GF(t){return function(){this.removeAttributeNS(t.space,t.local)}}function $F(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttribute(t);return s===r?null:s===o?n:n=e(o=s,a)}}function XF(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttributeNS(t.space,t.local);return s===r?null:s===o?n:n=e(o=s,a)}}function KF(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function jF(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function GC(t,e){var a=xo(t),o=a==="transform"?Pm:$d;return this.attrTween(t,typeof e=="function"?(a.local?jF:KF)(a,o,Yn(this,"attr."+t,e)):e==null?(a.local?GF:VF)(a):(a.local?XF:$F)(a,o,e))}function ZF(t,e){return function(a){this.setAttribute(t,e.call(this,a))}}function YF(t,e){return function(a){this.setAttributeNS(t.space,t.local,e.call(this,a))}}function JF(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&YF(t,n)),a}return r._value=e,r}function QF(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&ZF(t,n)),a}return r._value=e,r}function $C(t,e){var a="attr."+t;if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;var o=xo(t);return this.tween(a,(o.local?JF:QF)(o,e))}function eO(t,e){return function(){Pi(this,t).delay=+e.apply(this,arguments)}}function tO(t,e){return e=+e,function(){Pi(this,t).delay=e}}function XC(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?eO:tO)(e,t)):rt(this.node(),e).delay}function aO(t,e){return function(){mt(this,t).duration=+e.apply(this,arguments)}}function oO(t,e){return e=+e,function(){mt(this,t).duration=e}}function KC(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?aO:oO)(e,t)):rt(this.node(),e).duration}function rO(t,e){if(typeof e!="function")throw new Error;return function(){mt(this,t).ease=e}}function jC(t){var e=this._id;return arguments.length?this.each(rO(e,t)):rt(this.node(),e).ease}function nO(t,e){return function(){var a=e.apply(this,arguments);if(typeof a!="function")throw new Error;mt(this,t).ease=a}}function ZC(t){if(typeof t!="function")throw new Error;return this.each(nO(this._id,t))}function YC(t){typeof t!="function"&&(t=ci(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new Rt(o,this._parents,this._name,this._id)}function JC(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,a=t._groups,o=e.length,r=a.length,n=Math.min(o,r),s=new Array(o),i=0;i<n;++i)for(var l=e[i],u=a[i],d=l.length,c=s[i]=new Array(d),f,h=0;h<d;++h)(f=l[h]||u[h])&&(c[h]=f);for(;i<o;++i)s[i]=e[i];return new Rt(s,this._parents,this._name,this._id)}function sO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var a=e.indexOf(".");return a>=0&&(e=e.slice(0,a)),!e||e==="start"})}function iO(t,e,a){var o,r,n=sO(e)?Pi:mt;return function(){var s=n(this,t),i=s.on;i!==o&&(r=(o=i).copy()).on(e,a),s.on=r}}function QC(t,e){var a=this._id;return arguments.length<2?rt(this.node(),a).on.on(t):this.each(iO(a,t,e))}function lO(t){return function(){var e=this.parentNode;for(var a in this.__transition)if(+a!==t)return;e&&e.removeChild(this)}}function ev(){return this.on("end.remove",lO(this._id))}function tv(t){var e=this._name,a=this._id;typeof t!="function"&&(t=zr(t));for(var o=this._groups,r=o.length,n=new Array(r),s=0;s<r;++s)for(var i=o[s],l=i.length,u=n[s]=new Array(l),d,c,f=0;f<l;++f)(d=i[f])&&(c=t.call(d,d.__data__,f,i))&&("__data__"in d&&(c.__data__=d.__data__),u[f]=c,$o(u[f],e,a,f,u,rt(d,a)));return new Rt(n,this._parents,e,a)}function av(t){var e=this._name,a=this._id;typeof t!="function"&&(t=di(t));for(var o=this._groups,r=o.length,n=[],s=[],i=0;i<r;++i)for(var l=o[i],u=l.length,d,c=0;c<u;++c)if(d=l[c]){for(var f=t.call(d,d.__data__,c,l),h,p=rt(d,a),m=0,g=f.length;m<g;++m)(h=f[m])&&$o(h,e,a,m,f,p);n.push(f),s.push(d)}return new Rt(n,s,e,a)}var uO=bo.prototype.constructor;function ov(){return new uO(this._groups,this._parents)}function dO(t,e){var a,o,r;return function(){var n=Vo(this,t),s=(this.style.removeProperty(t),Vo(this,t));return n===s?null:n===a&&s===o?r:r=e(a=n,o=s)}}function rv(t){return function(){this.style.removeProperty(t)}}function cO(t,e,a){var o,r=a+"",n;return function(){var s=Vo(this,t);return s===r?null:s===o?n:n=e(o=s,a)}}function fO(t,e,a){var o,r,n;return function(){var s=Vo(this,t),i=a(this),l=i+"";return i==null&&(l=i=(this.style.removeProperty(t),Vo(this,t))),s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i))}}function hO(t,e){var a,o,r,n="style."+e,s="end."+n,i;return function(){var l=mt(this,t),u=l.on,d=l.value[n]==null?i||(i=rv(e)):void 0;(u!==a||r!==d)&&(o=(a=u).copy()).on(s,r=d),l.on=o}}function nv(t,e,a){var o=(t+="")=="transform"?Mm:$d;return e==null?this.styleTween(t,dO(t,o)).on("end.style."+t,rv(t)):typeof e=="function"?this.styleTween(t,fO(t,o,Yn(this,"style."+t,e))).each(hO(this._id,t)):this.styleTween(t,cO(t,o,e),a).on("end.style."+t,null)}function pO(t,e,a){return function(o){this.style.setProperty(t,e.call(this,o),a)}}function mO(t,e,a){var o,r;function n(){var s=e.apply(this,arguments);return s!==r&&(o=(r=s)&&pO(t,s,a)),o}return n._value=e,n}function sv(t,e,a){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(e==null)return this.tween(o,null);if(typeof e!="function")throw new Error;return this.tween(o,mO(t,e,a??""))}function gO(t){return function(){this.textContent=t}}function xO(t){return function(){var e=t(this);this.textContent=e??""}}function iv(t){return this.tween("text",typeof t=="function"?xO(Yn(this,"text",t)):gO(t==null?"":t+""))}function bO(t){return function(e){this.textContent=t.call(this,e)}}function wO(t){var e,a;function o(){var r=t.apply(this,arguments);return r!==a&&(e=(a=r)&&bO(r)),e}return o._value=t,o}function lv(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,wO(t))}function uv(){for(var t=this._name,e=this._id,a=Xd(),o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)if(l=s[u]){var d=rt(l,e);$o(l,t,a,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Rt(o,this._parents,t,a)}function dv(){var t,e,a=this,o=a._id,r=a.size();return new Promise(function(n,s){var i={value:s},l={value:function(){--r===0&&n()}};a.each(function(){var u=mt(this,o),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(i),e._.interrupt.push(i),e._.end.push(l)),u.on=e}),r===0&&n()})}var yO=0;function Rt(t,e,a,o){this._groups=t,this._parents=e,this._name=a,this._id=o}function cv(t){return bo().transition(t)}function Xd(){return++yO}var yo=bo.prototype;Rt.prototype=cv.prototype={constructor:Rt,select:tv,selectAll:av,selectChild:yo.selectChild,selectChildren:yo.selectChildren,filter:YC,merge:JC,selection:ov,transition:uv,call:yo.call,nodes:yo.nodes,node:yo.node,size:yo.size,empty:yo.empty,each:yo.each,on:QC,attr:GC,attrTween:$C,style:nv,styleTween:sv,text:iv,textTween:lv,remove:ev,tween:VC,delay:XC,duration:KC,ease:jC,easeVarying:ZC,end:dv,[Symbol.iterator]:yo[Symbol.iterator]};function Kd(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var LO={time:null,delay:0,duration:250,ease:Kd};function CO(t,e){for(var a;!(a=t.__transition)||!(a=a[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return a}function fv(t){var e,a;t instanceof Rt?(e=t._id,t=t._name):(e=Xd(),(a=LO).time=Ai(),t=t==null?null:t+"");for(var o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&$o(l,t,e,u,s,a||CO(l,e));return new Rt(o,this._parents,t,e)}bo.prototype.interrupt=WC;bo.prototype.transition=fv;var Di=t=>()=>t;function Rm(t,{sourceEvent:e,target:a,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ra(t,e,a){this.k=t,this.x=e,this.y=a}Ra.prototype={constructor:Ra,scale:function(t){return t===1?this:new Ra(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ra(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Kr=new Ra(1,0,0);Ri.prototype=Ra.prototype;function Ri(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Kr;return t.__zoom}function jd(t){t.stopImmediatePropagation()}function Jn(t){t.preventDefault(),t.stopImmediatePropagation()}function vO(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function SO(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function hv(){return this.__zoom||Kr}function IO(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function kO(){return navigator.maxTouchPoints||"ontouchstart"in this}function AO(t,e,a){var o=t.invertX(e[0][0])-a[0][0],r=t.invertX(e[1][0])-a[1][0],n=t.invertY(e[0][1])-a[0][1],s=t.invertY(e[1][1])-a[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>n?(n+s)/2:Math.min(0,n)||Math.max(0,s))}function Zd(){var t=vO,e=SO,a=AO,o=IO,r=kO,n=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],i=250,l=Gr,u=Hr("start","zoom","end"),d,c,f,h=500,p=150,m=0,g=10;function x(k){k.property("__zoom",hv).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",H).filter(r).on("touchstart.zoom",M).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(k,T,D,E){var q=k.selection?k.selection():k;q.property("__zoom",hv),k!==q?I(k,T,D,E):q.interrupt().each(function(){v(this,arguments).event(E).start().zoom(null,typeof T=="function"?T.apply(this,arguments):T).end()})},x.scaleBy=function(k,T,D,E){x.scaleTo(k,function(){var q=this.__zoom.k,B=typeof T=="function"?T.apply(this,arguments):T;return q*B},D,E)},x.scaleTo=function(k,T,D,E){x.transform(k,function(){var q=e.apply(this,arguments),B=this.__zoom,P=D==null?C(q):typeof D=="function"?D.apply(this,arguments):D,N=B.invert(P),U=typeof T=="function"?T.apply(this,arguments):T;return a(w(y(B,U),P,N),q,s)},D,E)},x.translateBy=function(k,T,D,E){x.transform(k,function(){return a(this.__zoom.translate(typeof T=="function"?T.apply(this,arguments):T,typeof D=="function"?D.apply(this,arguments):D),e.apply(this,arguments),s)},null,E)},x.translateTo=function(k,T,D,E,q){x.transform(k,function(){var B=e.apply(this,arguments),P=this.__zoom,N=E==null?C(B):typeof E=="function"?E.apply(this,arguments):E;return a(Kr.translate(N[0],N[1]).scale(P.k).translate(typeof T=="function"?-T.apply(this,arguments):-T,typeof D=="function"?-D.apply(this,arguments):-D),B,s)},E,q)};function y(k,T){return T=Math.max(n[0],Math.min(n[1],T)),T===k.k?k:new Ra(T,k.x,k.y)}function w(k,T,D){var E=T[0]-D[0]*k.k,q=T[1]-D[1]*k.k;return E===k.x&&q===k.y?k:new Ra(k.k,E,q)}function C(k){return[(+k[0][0]+ +k[1][0])/2,(+k[0][1]+ +k[1][1])/2]}function I(k,T,D,E){k.on("start.zoom",function(){v(this,arguments).event(E).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(E).end()}).tween("zoom",function(){var q=this,B=arguments,P=v(q,B).event(E),N=e.apply(q,B),U=D==null?C(N):typeof D=="function"?D.apply(q,B):D,$=Math.max(N[1][0]-N[0][0],N[1][1]-N[0][1]),_=q.__zoom,W=typeof T=="function"?T.apply(q,B):T,G=l(_.invert(U).concat($/_.k),W.invert(U).concat($/W.k));return function(O){if(O===1)O=W;else{var F=G(O),V=$/F[2];O=new Ra(V,U[0]-F[0]*V,U[1]-F[1]*V)}P.zoom(null,O)}})}function v(k,T,D){return!D&&k.__zooming||new L(k,T)}function L(k,T){this.that=k,this.args=T,this.active=0,this.sourceEvent=null,this.extent=e.apply(k,T),this.taps=0}L.prototype={event:function(k){return k&&(this.sourceEvent=k),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(k,T){return this.mouse&&k!=="mouse"&&(this.mouse[1]=T.invert(this.mouse[0])),this.touch0&&k!=="touch"&&(this.touch0[1]=T.invert(this.touch0[0])),this.touch1&&k!=="touch"&&(this.touch1[1]=T.invert(this.touch1[0])),this.that.__zoom=T,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(k){var T=ut(this.that).datum();u.call(k,this.that,new Rm(k,{sourceEvent:this.sourceEvent,target:x,type:k,transform:this.that.__zoom,dispatch:u}),T)}};function S(k,...T){if(!t.apply(this,arguments))return;var D=v(this,T).event(k),E=this.__zoom,q=Math.max(n[0],Math.min(n[1],E.k*Math.pow(2,o.apply(this,arguments)))),B=Pt(k);if(D.wheel)(D.mouse[0][0]!==B[0]||D.mouse[0][1]!==B[1])&&(D.mouse[1]=E.invert(D.mouse[0]=B)),clearTimeout(D.wheel);else{if(E.k===q)return;D.mouse=[B,E.invert(B)],Xr(this),D.start()}Jn(k),D.wheel=setTimeout(P,p),D.zoom("mouse",a(w(y(E,q),D.mouse[0],D.mouse[1]),D.extent,s));function P(){D.wheel=null,D.end()}}function A(k,...T){if(f||!t.apply(this,arguments))return;var D=k.currentTarget,E=v(this,T,!0).event(k),q=ut(k.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),B=Pt(k,D),P=k.clientX,N=k.clientY;hi(k.view),jd(k),E.mouse=[B,this.__zoom.invert(B)],Xr(this),E.start();function U(_){if(Jn(_),!E.moved){var W=_.clientX-P,G=_.clientY-N;E.moved=W*W+G*G>m}E.event(_).zoom("mouse",a(w(E.that.__zoom,E.mouse[0]=Pt(_,D),E.mouse[1]),E.extent,s))}function $(_){q.on("mousemove.zoom mouseup.zoom",null),pi(_.view,E.moved),Jn(_),E.event(_).end()}}function H(k,...T){if(t.apply(this,arguments)){var D=this.__zoom,E=Pt(k.changedTouches?k.changedTouches[0]:k,this),q=D.invert(E),B=D.k*(k.shiftKey?.5:2),P=a(w(y(D,B),E,q),e.apply(this,T),s);Jn(k),i>0?ut(this).transition().duration(i).call(I,P,E,k):ut(this).call(x.transform,P,E,k)}}function M(k,...T){if(t.apply(this,arguments)){var D=k.touches,E=D.length,q=v(this,T,k.changedTouches.length===E).event(k),B,P,N,U;for(jd(k),P=0;P<E;++P)N=D[P],U=Pt(N,this),U=[U,this.__zoom.invert(U),N.identifier],q.touch0?!q.touch1&&q.touch0[2]!==U[2]&&(q.touch1=U,q.taps=0):(q.touch0=U,B=!0,q.taps=1+!!d);d&&(d=clearTimeout(d)),B&&(q.taps<2&&(c=U[0],d=setTimeout(function(){d=null},h)),Xr(this),q.start())}}function R(k,...T){if(this.__zooming){var D=v(this,T).event(k),E=k.changedTouches,q=E.length,B,P,N,U;for(Jn(k),B=0;B<q;++B)P=E[B],N=Pt(P,this),D.touch0&&D.touch0[2]===P.identifier?D.touch0[0]=N:D.touch1&&D.touch1[2]===P.identifier&&(D.touch1[0]=N);if(P=D.that.__zoom,D.touch1){var $=D.touch0[0],_=D.touch0[1],W=D.touch1[0],G=D.touch1[1],O=(O=W[0]-$[0])*O+(O=W[1]-$[1])*O,F=(F=G[0]-_[0])*F+(F=G[1]-_[1])*F;P=y(P,Math.sqrt(O/F)),N=[($[0]+W[0])/2,($[1]+W[1])/2],U=[(_[0]+G[0])/2,(_[1]+G[1])/2]}else if(D.touch0)N=D.touch0[0],U=D.touch0[1];else return;D.zoom("touch",a(w(P,N,U),D.extent,s))}}function z(k,...T){if(this.__zooming){var D=v(this,T).event(k),E=k.changedTouches,q=E.length,B,P;for(jd(k),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),B=0;B<q;++B)P=E[B],D.touch0&&D.touch0[2]===P.identifier?delete D.touch0:D.touch1&&D.touch1[2]===P.identifier&&delete D.touch1;if(D.touch1&&!D.touch0&&(D.touch0=D.touch1,delete D.touch1),D.touch0)D.touch0[1]=this.__zoom.invert(D.touch0[0]);else if(D.end(),D.taps===2&&(P=Pt(P,this),Math.hypot(c[0]-P[0],c[1]-P[1])<g)){var N=ut(this).on("dblclick.zoom");N&&N.apply(this,arguments)}}}return x.wheelDelta=function(k){return arguments.length?(o=typeof k=="function"?k:Di(+k),x):o},x.filter=function(k){return arguments.length?(t=typeof k=="function"?k:Di(!!k),x):t},x.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:Di(!!k),x):r},x.extent=function(k){return arguments.length?(e=typeof k=="function"?k:Di([[+k[0][0],+k[0][1]],[+k[1][0],+k[1][1]]]),x):e},x.scaleExtent=function(k){return arguments.length?(n[0]=+k[0],n[1]=+k[1],x):[n[0],n[1]]},x.translateExtent=function(k){return arguments.length?(s[0][0]=+k[0][0],s[1][0]=+k[1][0],s[0][1]=+k[0][1],s[1][1]=+k[1][1],x):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},x.constrain=function(k){return arguments.length?(a=k,x):a},x.duration=function(k){return arguments.length?(i=+k,x):i},x.interpolate=function(k){return arguments.length?(l=k,x):l},x.on=function(){var k=u.on.apply(u,arguments);return k===u?x:k},x.clickDistance=function(k){return arguments.length?(m=(k=+k)*k,x):Math.sqrt(m)},x.tapDistance=function(k){return arguments.length?(g=+k,x):g},x}var Yt={error001:(t="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:a,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?a:o}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},as=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Om=["Enter"," ","Escape"],Nm={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:e,y:a})=>`Moved selected node ${t}. New position, x: ${e}, y: ${a}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"},jo;(function(t){t.Strict="strict",t.Loose="loose"})(jo||(jo={}));var Lo;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Lo||(Lo={}));var jr;(function(t){t.Partial="partial",t.Full="full"})(jr||(jr={}));var _m={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Xa;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Xa||(Xa={}));var Zo;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(Zo||(Zo={}));var se;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(se||(se={}));var pv={[se.Left]:se.Right,[se.Right]:se.Left,[se.Top]:se.Bottom,[se.Bottom]:se.Top};function Hm(t){return t===null?null:t?"valid":"invalid"}var zm=t=>"id"in t&&"source"in t&&"target"in t,Av=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),qm=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t);var Ei=(t,e=[0,0])=>{let{width:a,height:o}=Ka(t),r=t.origin??e,n=a*r[0],s=o*r[1];return{x:t.position.x-n,y:t.position.y-s}},Um=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let a=t.reduce((o,r)=>{let n=typeof r=="string",s=!e.nodeLookup&&!n?r:void 0;e.nodeLookup&&(s=n?e.nodeLookup.get(r):qm(r)?r:e.nodeLookup.get(r.id));let i=s?Qd(s,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return ac(o,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return oc(a)},os=(t,e={})=>{let a={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(r=>{(e.filter===void 0||e.filter(r))&&(a=ac(a,Qd(r)),o=!0)}),o?oc(a):{x:0,y:0,width:0,height:0}},ec=(t,e,[a,o,r]=[0,0,1],n=!1,s=!1)=>{let i={...en(e,[a,o,r]),width:e.width/r,height:e.height/r},l=[];for(let u of t.values()){let{measured:d,selectable:c=!0,hidden:f=!1}=u;if(s&&!c||f)continue;let h=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,m=rs(i,Qr(u)),g=(h??0)*(p??0),x=n&&m>0;(!u.internals.handleBounds||x||m>=g||u.dragging)&&l.push(u)}return l},Mv=(t,e)=>{let a=new Set;return t.forEach(o=>{a.add(o.id)}),e.filter(o=>a.has(o.source)||a.has(o.target))};function MO(t,e){let a=new Map,o=e?.nodes?new Set(e.nodes.map(r=>r.id)):null;return t.forEach(r=>{r.measured.width&&r.measured.height&&(e?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&a.set(r.id,r)}),a}async function Pv({nodes:t,width:e,height:a,panZoom:o,minZoom:r,maxZoom:n},s){if(t.size===0)return!0;let i=MO(t,s),l=os(i),u=Bi(l,e,a,s?.minZoom??r,s?.maxZoom??n,s?.padding??.1);return await o.setViewport(u,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function Wm({nodeId:t,nextPosition:e,nodeLookup:a,nodeOrigin:o=[0,0],nodeExtent:r,onError:n}){let s=a.get(t),i=s.parentId?a.get(s.parentId):void 0,{x:l,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,c=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!i)n?.("005",Yt.error005());else{let h=i.measured.width,p=i.measured.height;h&&p&&(c=[[l,u],[l+h,u+p]])}else i&&Jr(s.extent)&&(c=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let f=Jr(c)?Zr(e,c,s.measured):e;return(s.measured.width===void 0||s.measured.height===void 0)&&n?.("015",Yt.error015()),{position:{x:f.x-l+(s.measured.width??0)*d[0],y:f.y-u+(s.measured.height??0)*d[1]},positionAbsolute:f}}async function Dv({nodesToRemove:t=[],edgesToRemove:e=[],nodes:a,edges:o,onBeforeDelete:r}){let n=new Set(t.map(f=>f.id)),s=[];for(let f of a){if(f.deletable===!1)continue;let h=n.has(f.id),p=!h&&f.parentId&&s.find(m=>m.id===f.parentId);(h||p)&&s.push(f)}let i=new Set(e.map(f=>f.id)),l=o.filter(f=>f.deletable!==!1),d=Mv(s,l);for(let f of l)i.has(f.id)&&!d.find(p=>p.id===f.id)&&d.push(f);if(!r)return{edges:d,nodes:s};let c=await r({nodes:s,edges:d});return typeof c=="boolean"?c?{edges:d,nodes:s}:{edges:[],nodes:[]}:c}var ts=(t,e=0,a=1)=>Math.min(Math.max(t,e),a),Zr=(t={x:0,y:0},e,a)=>({x:ts(t.x,e[0][0],e[1][0]-(a?.width??0)),y:ts(t.y,e[0][1],e[1][1]-(a?.height??0))});function Rv(t,e,a){let{width:o,height:r}=Ka(a),{x:n,y:s}=a.internals.positionAbsolute;return Zr(t,[[n,s],[n+o,s+r]],e)}var mv=(t,e,a)=>t<e?ts(Math.abs(t-e),1,e)/e:t>a?-ts(Math.abs(t-a),1,e)/e:0,tc=(t,e,a=15,o=40)=>{let r=mv(t.x,o,e.width-o)*a,n=mv(t.y,o,e.height-o)*a;return[r,n]},ac=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Fm=({x:t,y:e,width:a,height:o})=>({x:t,y:e,x2:t+a,y2:e+o}),oc=({x:t,y:e,x2:a,y2:o})=>({x:t,y:e,width:a-t,height:o-e}),Qr=(t,e=[0,0])=>{let{x:a,y:o}=qm(t)?t.internals.positionAbsolute:Ei(t,e);return{x:a,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},Qd=(t,e=[0,0])=>{let{x:a,y:o}=qm(t)?t.internals.positionAbsolute:Ei(t,e);return{x:a,y:o,x2:a+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},Vm=(t,e)=>oc(ac(Fm(t),Fm(e))),rs=(t,e)=>{let a=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(a*o)},Gm=t=>da(t.width)&&da(t.height)&&da(t.x)&&da(t.y),da=t=>!isNaN(t)&&isFinite(t),$m=(t,e)=>(a,o)=>{},ns=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),en=({x:t,y:e},[a,o,r],n=!1,s=[1,1])=>{let i={x:(t-a)/r,y:(e-o)/r};return n?ns(i,s):i},Yr=({x:t,y:e},[a,o,r])=>({x:t*r+a,y:e*r+o});function Qn(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(a)}if(typeof t=="string"&&t.endsWith("%")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(e*a*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function PO(t,e,a){if(typeof t=="string"||typeof t=="number"){let o=Qn(t,a),r=Qn(t,e);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof t=="object"){let o=Qn(t.top??t.y??0,a),r=Qn(t.bottom??t.y??0,a),n=Qn(t.left??t.x??0,e),s=Qn(t.right??t.x??0,e);return{top:o,right:s,bottom:r,left:n,x:n+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function DO(t,e,a,o,r,n){let{x:s,y:i}=Yr(t,[e,a,o]),{x:l,y:u}=Yr({x:t.x+t.width,y:t.y+t.height},[e,a,o]),d=r-l,c=n-u;return{left:Math.floor(s),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(c)}}var Bi=(t,e,a,o,r,n)=>{let s=PO(n,e,a),i=(e-s.x)/t.width,l=(a-s.y)/t.height,u=Math.min(i,l),d=ts(u,o,r),c=t.x+t.width/2,f=t.y+t.height/2,h=e/2-c*d,p=a/2-f*d,m=DO(t,h,p,d,e,a),g={left:Math.min(m.left-s.left,0),top:Math.min(m.top-s.top,0),right:Math.min(m.right-s.right,0),bottom:Math.min(m.bottom-s.bottom,0)};return{x:h-g.left+g.right,y:p-g.top+g.bottom,zoom:d}},ss=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Jr(t){return t!=null&&t!=="parent"}function Ka(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function rc(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function Xm(t,e={width:0,height:0},a,o,r){let n={...t},s=o.get(a);if(s){let i=s.origin||r;n.x+=s.internals.positionAbsolute.x-(e.width??0)*i[0],n.y+=s.internals.positionAbsolute.y-(e.height??0)*i[1]}return n}function Km(t,e){if(t.size!==e.size)return!1;for(let a of t)if(!e.has(a))return!1;return!0}function Tv(){let t,e;return{promise:new Promise((o,r)=>{t=o,e=r}),resolve:t,reject:e}}function Ev(t){return{...Nm,...t||{}}}function Ti(t,{snapGrid:e=[0,0],snapToGrid:a=!1,transform:o,containerBounds:r}){let{x:n,y:s}=ca(t),i=en({x:n-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:u}=a?ns(i,e):i;return{xSnapped:l,ySnapped:u,...i}}var nc=t=>({width:t.offsetWidth,height:t.offsetHeight}),jm=t=>t?.getRootNode?.()||window?.document,RO=["INPUT","SELECT","TEXTAREA"];function Zm(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:RO.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}var Ym=t=>"clientX"in t,ca=(t,e)=>{let a=Ym(t),o=a?t.clientX:t.touches?.[0].clientX,r=a?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},gv=(t,e,a,o,r)=>{let n=e.querySelectorAll(`.${t}`);return!n||!n.length?null:Array.from(n).map(s=>{let i=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:t,nodeId:r,position:s.getAttribute("data-handlepos"),x:(i.left-a.left)/o,y:(i.top-a.top)/o,...nc(s)}})};function sc({sourceX:t,sourceY:e,targetX:a,targetY:o,sourceControlX:r,sourceControlY:n,targetControlX:s,targetControlY:i}){let l=t*.125+r*.375+s*.375+a*.125,u=e*.125+n*.375+i*.375+o*.125,d=Math.abs(l-t),c=Math.abs(u-e);return[l,u,d,c]}function Yd(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function xv({pos:t,x1:e,y1:a,x2:o,y2:r,c:n}){switch(t){case se.Left:return[e-Yd(e-o,n),a];case se.Right:return[e+Yd(o-e,n),a];case se.Top:return[e,a-Yd(a-r,n)];case se.Bottom:return[e,a+Yd(r-a,n)]}}function ic({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top,curvature:s=.25}){let[i,l]=xv({pos:a,x1:t,y1:e,x2:o,y2:r,c:s}),[u,d]=xv({pos:n,x1:o,y1:r,x2:t,y2:e,c:s}),[c,f,h,p]=sc({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${t},${e} C${i},${l} ${u},${d} ${o},${r}`,c,f,h,p]}function Jm({sourceX:t,sourceY:e,targetX:a,targetY:o}){let r=Math.abs(a-t)/2,n=a<t?a+r:a-r,s=Math.abs(o-e)/2,i=o<e?o+s:o-s;return[n,i,r,s]}function Bv({sourceNode:t,targetNode:e,selected:a=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:n="basic"}){if(n==="manual")return o;let s=r&&a?o+1e3:o,i=Math.max(t.parentId||r&&t.selected?t.internals.z:0,e.parentId||r&&e.selected?e.internals.z:0);return s+i}function Fv({sourceNode:t,targetNode:e,width:a,height:o,transform:r}){let n=ac(Qd(t),Qd(e));n.x===n.x2&&(n.x2+=1),n.y===n.y2&&(n.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:a/r[2],height:o/r[2]};return rs(s,oc(n))>0}var TO=({source:t,sourceHandle:e,target:a,targetHandle:o})=>`xy-edge__${t}${e||""}-${a}${o||""}`,EO=(t,e)=>e.some(a=>a.source===t.source&&a.target===t.target&&(a.sourceHandle===t.sourceHandle||!a.sourceHandle&&!t.sourceHandle)&&(a.targetHandle===t.targetHandle||!a.targetHandle&&!t.targetHandle)),Ov=(t,e,a={})=>{if(!t.source||!t.target)return a.onError?.("006",Yt.error006()),e;let o=a.getEdgeId||TO,r;return zm(t)?r={...t}:r={...t,id:o(t)},EO(r,e)?e:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,e.concat(r))};function lc({sourceX:t,sourceY:e,targetX:a,targetY:o}){let[r,n,s,i]=Jm({sourceX:t,sourceY:e,targetX:a,targetY:o});return[`M ${t},${e}L ${a},${o}`,r,n,s,i]}var bv={[se.Left]:{x:-1,y:0},[se.Right]:{x:1,y:0},[se.Top]:{x:0,y:-1},[se.Bottom]:{x:0,y:1}},BO=({source:t,sourcePosition:e=se.Bottom,target:a})=>e===se.Left||e===se.Right?t.x<a.x?{x:1,y:0}:{x:-1,y:0}:t.y<a.y?{x:0,y:1}:{x:0,y:-1},wv=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function FO({source:t,sourcePosition:e=se.Bottom,target:a,targetPosition:o=se.Top,center:r,offset:n,stepPosition:s}){let i=bv[e],l=bv[o],u={x:t.x+i.x*n,y:t.y+i.y*n},d={x:a.x+l.x*n,y:a.y+l.y*n},c=BO({source:u,sourcePosition:e,target:d}),f=c.x!==0?"x":"y",h=c[f],p=[],m,g,x={x:0,y:0},y={x:0,y:0},[,,w,C]=Jm({sourceX:t.x,sourceY:t.y,targetX:a.x,targetY:a.y});if(i[f]*l[f]===-1){f==="x"?(m=r.x??u.x+(d.x-u.x)*s,g=r.y??(u.y+d.y)/2):(m=r.x??(u.x+d.x)/2,g=r.y??u.y+(d.y-u.y)*s);let S=[{x:m,y:u.y},{x:m,y:d.y}],A=[{x:u.x,y:g},{x:d.x,y:g}];i[f]===h?p=f==="x"?S:A:p=f==="x"?A:S}else{let S=[{x:u.x,y:d.y}],A=[{x:d.x,y:u.y}];if(f==="x"?p=i.x===h?A:S:p=i.y===h?S:A,e===o){let k=Math.abs(t[f]-a[f]);if(k<=n){let T=Math.min(n-1,n-k);i[f]===h?x[f]=(u[f]>t[f]?-1:1)*T:y[f]=(d[f]>a[f]?-1:1)*T}}if(e!==o){let k=f==="x"?"y":"x",T=i[f]===l[k],D=u[k]>d[k],E=u[k]<d[k];(i[f]===1&&(!T&&D||T&&E)||i[f]!==1&&(!T&&E||T&&D))&&(p=f==="x"?S:A)}let H={x:u.x+x.x,y:u.y+x.y},M={x:d.x+y.x,y:d.y+y.y},R=Math.max(Math.abs(H.x-p[0].x),Math.abs(M.x-p[0].x)),z=Math.max(Math.abs(H.y-p[0].y),Math.abs(M.y-p[0].y));R>=z?(m=(H.x+M.x)/2,g=p[0].y):(m=p[0].x,g=(H.y+M.y)/2)}let I={x:u.x+x.x,y:u.y+x.y},v={x:d.x+y.x,y:d.y+y.y};return[[t,...I.x!==p[0].x||I.y!==p[0].y?[I]:[],...p,...v.x!==p[p.length-1].x||v.y!==p[p.length-1].y?[v]:[],a],m,g,w,C]}function OO(t,e,a,o){let r=Math.min(wv(t,e)/2,wv(e,a)/2,o),{x:n,y:s}=e;if(t.x===n&&n===a.x||t.y===s&&s===a.y)return`L${n} ${s}`;if(t.y===s){let u=t.x<a.x?-1:1,d=t.y<a.y?1:-1;return`L ${n+r*u},${s}Q ${n},${s} ${n},${s+r*d}`}let i=t.x<a.x?1:-1,l=t.y<a.y?-1:1;return`L ${n},${s+r*l}Q ${n},${s} ${n+r*i},${s}`}function Fi({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top,borderRadius:s=5,centerX:i,centerY:l,offset:u=20,stepPosition:d=.5}){let[c,f,h,p,m]=FO({source:{x:t,y:e},sourcePosition:a,target:{x:o,y:r},targetPosition:n,center:{x:i,y:l},offset:u,stepPosition:d}),g=`M${c[0].x} ${c[0].y}`;for(let x=1;x<c.length-1;x++)g+=OO(c[x-1],c[x],c[x+1],s);return g+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[g,f,h,p,m]}function yv(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function Nv(t){let{sourceNode:e,targetNode:a}=t;if(!yv(e)||!yv(a))return null;let o=e.internals.handleBounds||Lv(e.handles),r=a.internals.handleBounds||Lv(a.handles),n=Cv(o?.source??[],t.sourceHandle),s=Cv(t.connectionMode===jo.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),t.targetHandle);if(!n||!s)return t.onError?.("008",Yt.error008(n?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let i=n?.position||se.Bottom,l=s?.position||se.Top,u=Yo(e,n,i),d=Yo(a,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:l}}function Lv(t){if(!t)return null;let e=[],a=[];for(let o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?e.push(o):o.type==="target"&&a.push(o);return{source:e,target:a}}function Yo(t,e,a=se.Left,o=!1){let r=(e?.x??0)+t.internals.positionAbsolute.x,n=(e?.y??0)+t.internals.positionAbsolute.y,{width:s,height:i}=e??Ka(t);if(o)return{x:r+s/2,y:n+i/2};switch(e?.position??a){case se.Top:return{x:r+s/2,y:n};case se.Right:return{x:r+s,y:n+i/2};case se.Bottom:return{x:r+s/2,y:n+i};case se.Left:return{x:r,y:n+i/2}}}function Cv(t,e){return t&&(e?t.find(a=>a.id===e):t[0])||null}function uc(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function _v(t,{id:e,defaultColor:a,defaultMarkerStart:o,defaultMarkerEnd:r}){let n=new Set;return t.reduce((s,i)=>([i.markerStart||o,i.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){let u=uc(l,e);n.has(u)||(s.push({id:u,color:l.color||a,...l}),n.add(u))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))}var Hv=1e3,NO=10,Qm={nodeOrigin:[0,0],nodeExtent:as,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},_O={...Qm,checkEquality:!0};function eg(t,e){let a={...t};for(let o in e)e[o]!==void 0&&(a[o]=e[o]);return a}function zv(t,e,a){let o=eg(Qm,a);for(let r of t.values())if(r.parentId)ag(r,t,e,o);else{let n=Ei(r,o.nodeOrigin),s=Jr(r.extent)?r.extent:o.nodeExtent,i=Zr(n,s,Ka(r));r.internals.positionAbsolute=i}}function HO(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;let a=[],o=[];for(let r of t.handles){let n={id:r.id,width:r.width??1,height:r.height??1,nodeId:t.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?a.push(n):r.type==="target"&&o.push(n)}return{source:a,target:o}}function tg(t){return t==="manual"}function dc(t,e,a,o={}){let r=eg(_O,o),n={i:0},s=new Map(e),i=r?.elevateNodesOnSelect&&!tg(r.zIndexMode)?Hv:0,l=t.length>0,u=!1;e.clear(),a.clear();for(let d of t){let c=s.get(d.id);if(r.checkEquality&&d===c?.internals.userNode)e.set(d.id,c);else{let f=Ei(d,r.nodeOrigin),h=Jr(d.extent)?d.extent:r.nodeExtent,p=Zr(f,h,Ka(d));c={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:HO(d,c),z:qv(d,i,r.zIndexMode),userNode:d}},e.set(d.id,c)}(c.measured===void 0||c.measured.width===void 0||c.measured.height===void 0)&&!c.hidden&&(l=!1),d.parentId&&ag(c,e,a,o,n),u||(u=d.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function zO(t,e){if(!t.parentId)return;let a=e.get(t.parentId);a?a.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function ag(t,e,a,o,r){let{elevateNodesOnSelect:n,nodeOrigin:s,nodeExtent:i,zIndexMode:l}=eg(Qm,o),u=t.parentId,d=e.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}zO(t,a),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*NO),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let c=n&&!tg(l)?Hv:0,{x:f,y:h,z:p}=qO(t,d,s,i,c,l),{positionAbsolute:m}=t.internals,g=f!==m.x||h!==m.y;(g||p!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:g?{x:f,y:h}:m,z:p}})}function qv(t,e,a){let o=da(t.zIndex)?t.zIndex:0;return tg(a)?o:o+(t.selected?e:0)}function qO(t,e,a,o,r,n){let{x:s,y:i}=e.internals.positionAbsolute,l=Ka(t),u=Ei(t,a),d=Jr(t.extent)?Zr(u,t.extent,l):u,c=Zr({x:s+d.x,y:i+d.y},o,l);t.extent==="parent"&&(c=Rv(c,l,e));let f=qv(t,r,n),h=e.internals.z??0;return{x:c.x,y:c.y,z:h>=f?h+1:f}}function cc(t,e,a,o=[0,0]){let r=[],n=new Map;for(let s of t){let i=e.get(s.parentId);if(!i)continue;let l=n.get(s.parentId)?.expandedRect??Qr(i),u=Vm(l,s.rect);n.set(s.parentId,{expandedRect:u,parent:i})}return n.size>0&&n.forEach(({expandedRect:s,parent:i},l)=>{let u=i.internals.positionAbsolute,d=Ka(i),c=i.origin??o,f=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,h=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),m=Math.max(d.height,Math.round(s.height)),g=(p-d.width)*c[0],x=(m-d.height)*c[1];(f>0||h>0||g||x)&&(r.push({id:l,type:"position",position:{x:i.position.x-f+g,y:i.position.y-h+x}}),a.get(l)?.forEach(y=>{t.some(w=>w.id===y.id)||r.push({id:y.id,type:"position",position:{x:y.position.x+f,y:y.position.y+h}})})),(d.width<s.width||d.height<s.height||f||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:p+(f?c[0]*f-g:0),height:m+(h?c[1]*h-x:0)}})}),r}function Uv(t,e,a,o,r,n,s){let i=o?.querySelector(".xyflow__viewport"),l=!1;if(!i)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(i),{m22:c}=new window.DOMMatrixReadOnly(d.transform),f=[];for(let h of t.values()){let p=e.get(h.id);if(!p)continue;if(p.hidden){e.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}let m=nc(h.nodeElement),g=p.measured.width!==m.width||p.measured.height!==m.height;if(!!(m.width&&m.height&&(g||!p.internals.handleBounds||h.force))){let y=h.nodeElement.getBoundingClientRect(),w=Jr(p.extent)?p.extent:n,{positionAbsolute:C}=p.internals;p.parentId&&p.extent==="parent"?C=Rv(C,m,e.get(p.parentId)):w&&(C=Zr(C,w,m));let I={...p,measured:m,internals:{...p.internals,positionAbsolute:C,handleBounds:{source:gv("source",h.nodeElement,y,c,p.id),target:gv("target",h.nodeElement,y,c,p.id)}}};e.set(p.id,I),p.parentId&&ag(I,e,a,{nodeOrigin:r,zIndexMode:s}),l=!0,g&&(u.push({id:p.id,type:"dimensions",dimensions:m}),p.expandParent&&p.parentId&&f.push({id:p.id,parentId:p.parentId,rect:Qr(I,r)}))}}if(f.length>0){let h=cc(f,e,a,r);u.push(...h)}return{changes:u,updatedInternals:l}}async function Wv({delta:t,panZoom:e,transform:a,translateExtent:o,width:r,height:n}){if(!e||!t.x&&!t.y)return!1;let s=await e.setViewportConstrained({x:a[0]+t.x,y:a[1]+t.y,zoom:a[2]},[[0,0],[r,n]],o);return!!s&&(s.x!==a[0]||s.y!==a[1]||s.k!==a[2])}function vv(t,e,a,o,r,n){let s=r,i=o.get(s)||new Map;o.set(s,i.set(a,e)),s=`${r}-${t}`;let l=o.get(s)||new Map;if(o.set(s,l.set(a,e)),n){s=`${r}-${t}-${n}`;let u=o.get(s)||new Map;o.set(s,u.set(a,e))}}function og(t,e,a){t.clear(),e.clear();for(let o of a){let{source:r,target:n,sourceHandle:s=null,targetHandle:i=null}=o,l={edgeId:o.id,source:r,target:n,sourceHandle:s,targetHandle:i},u=`${r}-${s}--${n}-${i}`,d=`${n}-${i}--${r}-${s}`;vv("source",l,d,t,r,s),vv("target",l,u,t,n,i),e.set(o.id,o)}}function Vv(t,e){if(!t.parentId)return!1;let a=e.get(t.parentId);return a?a.selected?!0:Vv(a,e):!1}function Sv(t,e,a){let o=t;do{if(o?.matches?.(e))return!0;if(o===a)return!1;o=o?.parentElement}while(o);return!1}function UO(t,e,a,o){let r=new Map;for(let[n,s]of t)if((s.selected||s.id===o)&&(!s.parentId||!Vv(s,t))&&(s.draggable||e&&typeof s.draggable>"u")){let i=t.get(n);i&&r.set(n,{id:n,position:i.position||{x:0,y:0},distance:{x:a.x-i.internals.positionAbsolute.x,y:a.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return r}function Tm({nodeId:t,dragItems:e,nodeLookup:a,dragging:o=!0}){let r=[];for(let[s,i]of e){let l=a.get(s)?.internals.userNode;l&&r.push({...l,position:i.position,dragging:o})}if(!t)return[r[0],r];let n=a.get(t)?.internals.userNode;return[n?{...n,position:e.get(t)?.position||n.position,dragging:o}:r[0],r]}function WO({dragItems:t,snapGrid:e,x:a,y:o}){let r=t.values().next().value;if(!r)return null;let n={x:a-r.distance.x,y:o-r.distance.y},s=ns(n,e);return{x:s.x-n.x,y:s.y-n.y}}function Gv({onNodeMouseDown:t,getStoreItems:e,onDragStart:a,onDrag:o,onDragStop:r}){let n={x:null,y:null},s=0,i=new Map,l=!1,u={x:0,y:0},d=null,c=!1,f=null,h=!1,p=!1,m=null;function g({noDragClassName:y,handleSelector:w,domNode:C,isSelectable:I,nodeId:v,nodeClickDistance:L=0}){f=ut(C);function S({x:R,y:z}){let{nodeLookup:k,nodeExtent:T,snapGrid:D,snapToGrid:E,nodeOrigin:q,onNodeDrag:B,onSelectionDrag:P,onError:N,updateNodePositions:U}=e();n={x:R,y:z};let $=!1,_=i.size>1,W=_&&T?Fm(os(i)):null,G=_&&E?WO({dragItems:i,snapGrid:D,x:R,y:z}):null;for(let[O,F]of i){if(!k.has(O))continue;let V={x:R-F.distance.x,y:z-F.distance.y};E&&(V=G?{x:Math.round(V.x+G.x),y:Math.round(V.y+G.y)}:ns(V,D));let ie=null;if(_&&T&&!F.extent&&W){let{positionAbsolute:ne}=F.internals,ue=ne.x-W.x+T[0][0],ve=ne.x+F.measured.width-W.x2+T[1][0],Re=ne.y-W.y+T[0][1],ct=ne.y+F.measured.height-W.y2+T[1][1];ie=[[ue,Re],[ve,ct]]}let{position:le,positionAbsolute:J}=Wm({nodeId:O,nextPosition:V,nodeLookup:k,nodeExtent:ie||T,nodeOrigin:q,onError:N});$=$||F.position.x!==le.x||F.position.y!==le.y,F.position=le,F.internals.positionAbsolute=J}if(p=p||$,!!$&&(U(i,!0),m&&(o||B||!v&&P))){let[O,F]=Tm({nodeId:v,dragItems:i,nodeLookup:k});o?.(m,i,O,F),B?.(m,O,F),v||P?.(m,F)}}async function A(){if(!d)return;let{transform:R,panBy:z,autoPanSpeed:k,autoPanOnNodeDrag:T}=e();if(!T){l=!1,cancelAnimationFrame(s);return}let[D,E]=tc(u,d,k);(D!==0||E!==0)&&(n.x=(n.x??0)-D/R[2],n.y=(n.y??0)-E/R[2],await z({x:D,y:E})&&S(n)),s=requestAnimationFrame(A)}function H(R){let{nodeLookup:z,multiSelectionActive:k,nodesDraggable:T,transform:D,snapGrid:E,snapToGrid:q,selectNodesOnDrag:B,onNodeDragStart:P,onSelectionDragStart:N,unselectNodesAndEdges:U}=e();c=!0,(!B||!I)&&!k&&v&&(z.get(v)?.selected||U()),I&&B&&v&&t?.(v);let $=Ti(R.sourceEvent,{transform:D,snapGrid:E,snapToGrid:q,containerBounds:d});if(n=$,i=UO(z,T,$,v),i.size>0&&(a||P||!v&&N)){let[_,W]=Tm({nodeId:v,dragItems:i,nodeLookup:z});a?.(R.sourceEvent,i,_,W),P?.(R.sourceEvent,_,W),v||N?.(R.sourceEvent,W)}}let M=Pd().clickDistance(L).on("start",R=>{let{domNode:z,nodeDragThreshold:k,transform:T,snapGrid:D,snapToGrid:E}=e();d=z?.getBoundingClientRect()||null,h=!1,p=!1,m=R.sourceEvent,k===0&&H(R),n=Ti(R.sourceEvent,{transform:T,snapGrid:D,snapToGrid:E,containerBounds:d}),u=ca(R.sourceEvent,d)}).on("drag",R=>{let{autoPanOnNodeDrag:z,transform:k,snapGrid:T,snapToGrid:D,nodeDragThreshold:E,nodeLookup:q}=e(),B=Ti(R.sourceEvent,{transform:k,snapGrid:T,snapToGrid:D,containerBounds:d});if(m=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||v&&!q.has(v))&&(h=!0),!h){if(!l&&z&&c&&(l=!0,A()),!c){let P=ca(R.sourceEvent,d),N=P.x-u.x,U=P.y-u.y;Math.sqrt(N*N+U*U)>E&&H(R)}(n.x!==B.xSnapped||n.y!==B.ySnapped)&&i&&c&&(u=ca(R.sourceEvent,d),S(B))}}).on("end",R=>{if(!c||h){h&&i.size>0&&e().updateNodePositions(i,!1);return}if(l=!1,c=!1,cancelAnimationFrame(s),i.size>0){let{nodeLookup:z,updateNodePositions:k,onNodeDragStop:T,onSelectionDragStop:D}=e();if(p&&(k(i,!1),p=!1),r||T||!v&&D){let[E,q]=Tm({nodeId:v,dragItems:i,nodeLookup:z,dragging:!1});r?.(R.sourceEvent,i,E,q),T?.(R.sourceEvent,E,q),v||D?.(R.sourceEvent,q)}}}).filter(R=>{let z=R.target;return!R.button&&(!y||!Sv(z,`.${y}`,C))&&(!w||Sv(z,w,C))});f.call(M)}function x(){f?.on(".drag",null)}return{update:g,destroy:x}}function VO(t,e,a){let o=[],r={x:t.x-a,y:t.y-a,width:a*2,height:a*2};for(let n of e.values())rs(r,Qr(n))>0&&o.push(n);return o}var GO=250;function $O(t,e,a,o){let r=[],n=1/0,s=VO(t,a,e+GO);for(let i of s){let l=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(let u of l){if(o.nodeId===u.nodeId&&o.type===u.type&&o.id===u.id)continue;let{x:d,y:c}=Yo(i,u,u.position,!0),f=Math.sqrt(Math.pow(d-t.x,2)+Math.pow(c-t.y,2));f>e||(f<n?(r=[{...u,x:d,y:c}],n=f):f===n&&r.push({...u,x:d,y:c}))}}if(!r.length)return null;if(r.length>1){let i=o.type==="source"?"target":"source";return r.find(l=>l.type===i)??r[0]}return r[0]}function $v(t,e,a,o,r,n=!1){let s=o.get(t);if(!s)return null;let i=r==="strict"?s.internals.handleBounds?.[e]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(a?i?.find(u=>u.id===a):i?.[0])??null;return l&&n?{...l,...Yo(s,l,l.position,!0)}:l}function Xv(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function XO(t,e){let a=null;return e?a=!0:t&&!e&&(a=!1),a}var Kv=()=>!0;function KO(t,{connectionMode:e,connectionRadius:a,handleId:o,nodeId:r,edgeUpdaterType:n,isTarget:s,domNode:i,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:c,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:x=Kv,onReconnectEnd:y,updateConnection:w,getTransform:C,getFromHandle:I,autoPanSpeed:v,dragThreshold:L=1,handleDomNode:S}){let A=jm(t.target),H=0,M,{x:R,y:z}=ca(t),k=Xv(n,S),T=i?.getBoundingClientRect(),D=!1;if(!T||!k)return;let E=$v(r,k,o,l,e);if(!E)return;let q=ca(t,T),B=!1,P=null,N=!1,U=null;function $(){if(!d||!T)return;let[le,J]=tc(q,T,v);f({x:le,y:J}),H=requestAnimationFrame($)}let _={...E,nodeId:r,type:k,position:E.position},W=l.get(r),O={inProgress:!0,isValid:null,from:Yo(W,_,se.Left,!0),fromHandle:_,fromPosition:_.position,fromNode:W,to:q,toHandle:null,toPosition:pv[_.position],toNode:null,pointer:q};function F(){D=!0,w(O),p?.(t,{nodeId:r,handleId:o,handleType:k})}L===0&&F();function V(le){if(!D){let{x:ct,y:ga}=ca(le),wt=ct-R,ea=ga-z;if(!(wt*wt+ea*ea>L*L))return;F()}if(!I()||!_){ie(le);return}let J=C();q=ca(le,T),M=$O(en(q,J,!1,[1,1]),a,l,_),B||($(),B=!0);let ne=jv(le,{handle:M,connectionMode:e,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:x,doc:A,lib:u,flowId:c,nodeLookup:l});U=ne.handleDomNode,P=ne.connection,N=XO(!!M,ne.isValid);let ue=l.get(r),ve=ue?Yo(ue,_,se.Left,!0):O.from,Re={...O,from:ve,isValid:N,to:ne.toHandle&&N?Yr({x:ne.toHandle.x,y:ne.toHandle.y},J):q,toHandle:ne.toHandle,toPosition:N&&ne.toHandle?ne.toHandle.position:pv[_.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null,pointer:q};w(Re),O=Re}function ie(le){if(!("touches"in le&&le.touches.length>0)){if(D){(M||U)&&P&&N&&m?.(P);let{inProgress:J,...ne}=O,ue={...ne,toPosition:O.toHandle?O.toPosition:null};g?.(le,ue),n&&y?.(le,ue)}h(),cancelAnimationFrame(H),B=!1,N=!1,P=null,U=null,A.removeEventListener("mousemove",V),A.removeEventListener("mouseup",ie),A.removeEventListener("touchmove",V),A.removeEventListener("touchend",ie)}}A.addEventListener("mousemove",V),A.addEventListener("mouseup",ie),A.addEventListener("touchmove",V),A.addEventListener("touchend",ie)}function jv(t,{handle:e,connectionMode:a,fromNodeId:o,fromHandleId:r,fromType:n,doc:s,lib:i,flowId:l,isValidConnection:u=Kv,nodeLookup:d}){let c=n==="target",f=e?s.querySelector(`.${i}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:h,y:p}=ca(t),m=s.elementFromPoint(h,p),g=m?.classList.contains(`${i}-flow__handle`)?m:f,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let y=Xv(void 0,g),w=g.getAttribute("data-nodeid"),C=g.getAttribute("data-handleid"),I=g.classList.contains("connectable"),v=g.classList.contains("connectableend");if(!w||!y)return x;let L={source:c?w:o,sourceHandle:c?C:r,target:c?o:w,targetHandle:c?r:C};x.connection=L;let A=I&&v&&(a===jo.Strict?c&&y==="source"||!c&&y==="target":w!==o||C!==r);x.isValid=A&&u(L),x.toHandle=$v(w,y,C,d,a,!0)}return x}var fc={onPointerDown:KO,isValid:jv};function Zv({domNode:t,panZoom:e,getTransform:a,getViewScale:o}){let r=ut(t);function n({translateExtent:i,width:l,height:u,zoomStep:d=1,pannable:c=!0,zoomable:f=!0,inversePan:h=!1}){let p=w=>{if(w.sourceEvent.type!=="wheel"||!e)return;let C=a(),I=w.sourceEvent.ctrlKey&&ss()?10:1,v=-w.sourceEvent.deltaY*(w.sourceEvent.deltaMode===1?.05:w.sourceEvent.deltaMode?1:.002)*d,L=C[2]*Math.pow(2,v*I);e.scaleTo(L)},m=[0,0],g=w=>{(w.sourceEvent.type==="mousedown"||w.sourceEvent.type==="touchstart")&&(m=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY])},x=w=>{let C=a();if(w.sourceEvent.type!=="mousemove"&&w.sourceEvent.type!=="touchmove"||!e)return;let I=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY],v=[I[0]-m[0],I[1]-m[1]];m=I;let L=o()*Math.max(C[2],Math.log(C[2]))*(h?-1:1),S={x:C[0]-v[0]*L,y:C[1]-v[1]*L},A=[[0,0],[l,u]];e.setViewportConstrained({x:S.x,y:S.y,zoom:C[2]},A,i)},y=Zd().on("start",g).on("zoom",c?x:null).on("zoom.wheel",f?p:null);r.call(y,{})}function s(){r.on("zoom",null)}return{update:n,destroy:s,pointer:Pt}}var hc=t=>({x:t.x,y:t.y,zoom:t.k}),Em=({x:t,y:e,zoom:a})=>Kr.translate(t,e).scale(a),es=(t,e)=>t.target.closest(`.${e}`),Yv=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),jO=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Bm=(t,e=0,a=jO,o=()=>{})=>{let r=typeof e=="number"&&e>0;return r||o(),r?t.transition().duration(e).ease(a).on("end",o):t},Jv=t=>{let e=t.ctrlKey&&ss()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function ZO({zoomPanValues:t,noWheelClassName:e,d3Selection:a,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:n,zoomOnPinch:s,onPanZoomStart:i,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(es(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let c=a.property("__zoom").k||1;if(d.ctrlKey&&s){let g=Pt(d),x=Jv(d),y=c*Math.pow(2,x);o.scaleTo(a,y,g,d);return}let f=d.deltaMode===1?20:1,h=r===Lo.Vertical?0:d.deltaX*f,p=r===Lo.Horizontal?0:d.deltaY*f;!ss()&&d.shiftKey&&r!==Lo.Vertical&&(h=d.deltaY*f,p=0),o.translateBy(a,-(h/c)*n,-(p/c)*n,{internal:!0});let m=hc(a.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(d,m),t.panScrollTimeout=setTimeout(()=>{u?.(d,m),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,i?.(d,m))}}function YO({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:a}){return function(o,r){let n=o.type==="wheel",s=!e&&n&&!o.ctrlKey,i=es(o,t);if(o.ctrlKey&&n&&i&&o.preventDefault(),s||i)return null;o.preventDefault(),a.call(this,o,r)}}function JO({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:a}){return o=>{if(o.sourceEvent?.internal)return;let r=hc(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,o.sourceEvent?.type==="mousedown"&&e(!0),a&&a?.(o.sourceEvent,r)}}function QO({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:a,onTransformChange:o,onPanZoom:r}){return n=>{t.usedRightMouseButton=!!(a&&Yv(e,t.mouseButton??0)),n.sourceEvent?.sync||o([n.transform.x,n.transform.y,n.transform.k]),r&&!n.sourceEvent?.internal&&r?.(n.sourceEvent,hc(n.transform))}}function eN({zoomPanValues:t,panOnDrag:e,panOnScroll:a,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:n}){return s=>{if(!s.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,n&&Yv(e,t.mouseButton??0)&&!t.usedRightMouseButton&&s.sourceEvent&&n(s.sourceEvent),t.usedRightMouseButton=!1,o(!1),r)){let i=hc(s.transform);t.prevViewport=i,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{r?.(s.sourceEvent,i)},a?150:0)}}}function tN({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:a,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:n,userSelectionActive:s,noWheelClassName:i,noPanClassName:l,lib:u,connectionInProgress:d}){return c=>{let f=t||e,h=a&&c.ctrlKey,p=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(es(c,`${u}-flow__node`)||es(c,`${u}-flow__edge`)))return!0;if(!o&&!f&&!r&&!n&&!a||s||d&&!p||es(c,i)&&p||es(c,l)&&(!p||r&&p&&!t)||!a&&c.ctrlKey&&p)return!1;if(!a&&c.type==="touchstart"&&c.touches?.length>1)return c.preventDefault(),!1;if(!f&&!r&&!h&&p||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;let m=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||p)&&m}}function Qv({domNode:t,minZoom:e,maxZoom:a,translateExtent:o,viewport:r,onPanZoom:n,onPanZoomStart:s,onPanZoomEnd:i,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=t.getBoundingClientRect(),c=Zd().scaleExtent([e,a]).translateExtent(o),f=ut(t).call(c);y({x:r.x,y:r.y,zoom:ts(r.zoom,e,a)},[[0,0],[d.width,d.height]],o);let h=f.on("wheel.zoom"),p=f.on("dblclick.zoom");c.wheelDelta(Jv);async function m(M,R){return f?new Promise(z=>{c?.interpolate(R?.interpolate==="linear"?wo:Gr).transform(Bm(f,R?.duration,R?.ease,()=>z(!0)),M)}):!1}function g({noWheelClassName:M,noPanClassName:R,onPaneContextMenu:z,userSelectionActive:k,panOnScroll:T,panOnDrag:D,panOnScrollMode:E,panOnScrollSpeed:q,preventScrolling:B,zoomOnPinch:P,zoomOnScroll:N,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:_,onTransformChange:W,connectionInProgress:G,paneClickDistance:O,selectionOnDrag:F}){k&&!u.isZoomingOrPanning&&x();let V=T&&!$&&!k;c.clickDistance(F?1/0:!da(O)||O<0?0:O);let ie=V?ZO({zoomPanValues:u,noWheelClassName:M,d3Selection:f,d3Zoom:c,panOnScrollMode:E,panOnScrollSpeed:q,zoomOnPinch:P,onPanZoomStart:s,onPanZoom:n,onPanZoomEnd:i}):YO({noWheelClassName:M,preventScrolling:B,d3ZoomHandler:h});f.on("wheel.zoom",ie,{passive:!1});let le=JO({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});c.on("start",le);let J=QO({zoomPanValues:u,panOnDrag:D,onPaneContextMenu:!!z,onPanZoom:n,onTransformChange:W});c.on("zoom",J);let ne=eN({zoomPanValues:u,panOnDrag:D,panOnScroll:T,onPaneContextMenu:z,onPanZoomEnd:i,onDraggingChange:l});c.on("end",ne);let ue=tN({zoomActivationKeyPressed:$,panOnDrag:D,zoomOnScroll:N,panOnScroll:T,zoomOnDoubleClick:U,zoomOnPinch:P,userSelectionActive:k,noPanClassName:R,noWheelClassName:M,lib:_,connectionInProgress:G});c.filter(ue),U?f.on("dblclick.zoom",p):f.on("dblclick.zoom",null)}function x(){c.on("zoom",null)}async function y(M,R,z){let k=Em(M),T=c?.constrain()(k,R,z);return T&&await m(T),T}async function w(M,R){let z=Em(M);return await m(z,R),z}function C(M){if(f){let R=Em(M),z=f.property("__zoom");(z.k!==M.zoom||z.x!==M.x||z.y!==M.y)&&c?.transform(f,R,null,{sync:!0})}}function I(){let M=f?Ri(f.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function v(M,R){return f?new Promise(z=>{c?.interpolate(R?.interpolate==="linear"?wo:Gr).scaleTo(Bm(f,R?.duration,R?.ease,()=>z(!0)),M)}):!1}async function L(M,R){return f?new Promise(z=>{c?.interpolate(R?.interpolate==="linear"?wo:Gr).scaleBy(Bm(f,R?.duration,R?.ease,()=>z(!0)),M)}):!1}function S(M){c?.scaleExtent(M)}function A(M){c?.translateExtent(M)}function H(M){let R=!da(M)||M<0?0:M;c?.clickDistance(R)}return{update:g,destroy:x,setViewport:w,setViewportConstrained:y,getViewport:I,scaleTo:v,scaleBy:L,setScaleExtent:S,setTranslateExtent:A,syncViewport:C,setClickDistance:H}}var Jo;(function(t){t.Line="line",t.Handle="handle"})(Jo||(Jo={}));function aN({width:t,prevWidth:e,height:a,prevHeight:o,affectsX:r,affectsY:n}){let s=t-e,i=a-o,l=[s>0?1:s<0?-1:0,i>0?1:i<0?-1:0];return s&&r&&(l[0]=l[0]*-1),i&&n&&(l[1]=l[1]*-1),l}function Iv(t){let e=t.includes("right")||t.includes("left"),a=t.includes("bottom")||t.includes("top"),o=t.includes("left"),r=t.includes("top");return{isHorizontal:e,isVertical:a,affectsX:o,affectsY:r}}function Xo(t,e){return Math.max(0,e-t)}function Ko(t,e){return Math.max(0,t-e)}function Jd(t,e,a){return Math.max(0,e-t,t-a)}function kv(t,e){return t?!e:e}function oN(t,e,a,o,r,n,s,i){let{affectsX:l,affectsY:u}=e,{isHorizontal:d,isVertical:c}=e,f=d&&c,{xSnapped:h,ySnapped:p}=a,{minWidth:m,maxWidth:g,minHeight:x,maxHeight:y}=o,{x:w,y:C,width:I,height:v,aspectRatio:L}=t,S=Math.floor(d?h-t.pointerX:0),A=Math.floor(c?p-t.pointerY:0),H=I+(l?-S:S),M=v+(u?-A:A),R=-n[0]*I,z=-n[1]*v,k=Jd(H,m,g),T=Jd(M,x,y);if(s){let q=0,B=0;l&&S<0?q=Xo(w+S+R,s[0][0]):!l&&S>0&&(q=Ko(w+H+R,s[1][0])),u&&A<0?B=Xo(C+A+z,s[0][1]):!u&&A>0&&(B=Ko(C+M+z,s[1][1])),k=Math.max(k,q),T=Math.max(T,B)}if(i){let q=0,B=0;l&&S>0?q=Ko(w+S,i[0][0]):!l&&S<0&&(q=Xo(w+H,i[1][0])),u&&A>0?B=Ko(C+A,i[0][1]):!u&&A<0&&(B=Xo(C+M,i[1][1])),k=Math.max(k,q),T=Math.max(T,B)}if(r){if(d){let q=Jd(H/L,x,y)*L;if(k=Math.max(k,q),s){let B=0;!l&&!u||l&&!u&&f?B=Ko(C+z+H/L,s[1][1])*L:B=Xo(C+z+(l?S:-S)/L,s[0][1])*L,k=Math.max(k,B)}if(i){let B=0;!l&&!u||l&&!u&&f?B=Xo(C+H/L,i[1][1])*L:B=Ko(C+(l?S:-S)/L,i[0][1])*L,k=Math.max(k,B)}}if(c){let q=Jd(M*L,m,g)/L;if(T=Math.max(T,q),s){let B=0;!l&&!u||u&&!l&&f?B=Ko(w+M*L+R,s[1][0])/L:B=Xo(w+(u?A:-A)*L+R,s[0][0])/L,T=Math.max(T,B)}if(i){let B=0;!l&&!u||u&&!l&&f?B=Xo(w+M*L,i[1][0])/L:B=Ko(w+(u?A:-A)*L,i[0][0])/L,T=Math.max(T,B)}}}A=A+(A<0?T:-T),S=S+(S<0?k:-k),r&&(f?H>M*L?A=(kv(l,u)?-S:S)/L:S=(kv(l,u)?-A:A)*L:d?(A=S/L,u=l):(S=A*L,l=u));let D=l?w+S:w,E=u?C+A:C;return{width:I+(l?-S:S),height:v+(u?-A:A),x:n[0]*S*(l?-1:1)+D,y:n[1]*A*(u?-1:1)+E}}var eS={width:0,height:0,x:0,y:0},rN={...eS,pointerX:0,pointerY:0,aspectRatio:1};function nN(t,e,a){let o=e.position.x+t.position.x,r=e.position.y+t.position.y,n=t.measured.width??0,s=t.measured.height??0,i=a[0]*n,l=a[1]*s;return[[o-i,r-l],[o+n-i,r+s-l]]}function tS({domNode:t,nodeId:e,getStoreItems:a,onChange:o,onEnd:r}){let n=ut(t),s={controlDirection:Iv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:c,resizeDirection:f,onResizeStart:h,onResize:p,onResizeEnd:m,shouldResize:g}){let x={...eS},y={...rN};s={boundaries:d,resizeDirection:f,keepAspectRatio:c,controlDirection:Iv(u)};let w,C=null,I=[],v,L,S,A=!1,H=Pd().on("start",M=>{let{nodeLookup:R,transform:z,snapGrid:k,snapToGrid:T,nodeOrigin:D,paneDomNode:E}=a();if(w=R.get(e),!w)return;C=E?.getBoundingClientRect()??null;let{xSnapped:q,ySnapped:B}=Ti(M.sourceEvent,{transform:z,snapGrid:k,snapToGrid:T,containerBounds:C});x={width:w.measured.width??0,height:w.measured.height??0,x:w.position.x??0,y:w.position.y??0},y={...x,pointerX:q,pointerY:B,aspectRatio:x.width/x.height},v=void 0,L=Jr(w.extent)?w.extent:void 0,w.parentId&&(w.extent==="parent"||w.expandParent)&&(v=R.get(w.parentId)),v&&w.extent==="parent"&&(L=[[0,0],[v.measured.width,v.measured.height]]),I=[],S=void 0;for(let[P,N]of R)if(N.parentId===e&&(I.push({id:P,position:{...N.position},extent:N.extent}),N.extent==="parent"||N.expandParent)){let U=nN(N,w,N.origin??D);S?S=[[Math.min(U[0][0],S[0][0]),Math.min(U[0][1],S[0][1])],[Math.max(U[1][0],S[1][0]),Math.max(U[1][1],S[1][1])]]:S=U}h?.(M,{...x})}).on("drag",M=>{let{transform:R,snapGrid:z,snapToGrid:k,nodeOrigin:T}=a(),D=Ti(M.sourceEvent,{transform:R,snapGrid:z,snapToGrid:k,containerBounds:C}),E=[];if(!w)return;let{x:q,y:B,width:P,height:N}=x,U={},$=w.origin??T,{width:_,height:W,x:G,y:O}=oN(y,s.controlDirection,D,s.boundaries,s.keepAspectRatio,$,L,S),F=_!==P,V=W!==N,ie=G!==q&&F,le=O!==B&&V;if(!ie&&!le&&!F&&!V)return;if((ie||le||$[0]===1||$[1]===1)&&(U.x=ie?G:x.x,U.y=le?O:x.y,x.x=U.x,x.y=U.y,I.length>0)){let ve=G-q,Re=O-B;for(let ct of I)ct.position={x:ct.position.x-ve+$[0]*(_-P),y:ct.position.y-Re+$[1]*(W-N)},E.push(ct)}if((F||V)&&(U.width=F&&(!s.resizeDirection||s.resizeDirection==="horizontal")?_:x.width,U.height=V&&(!s.resizeDirection||s.resizeDirection==="vertical")?W:x.height,x.width=U.width,x.height=U.height),v&&w.expandParent){let ve=$[0]*(U.width??0);U.x&&U.x<ve&&(x.x=ve,y.x=y.x-(U.x-ve));let Re=$[1]*(U.height??0);U.y&&U.y<Re&&(x.y=Re,y.y=y.y-(U.y-Re))}let J=aN({width:x.width,prevWidth:P,height:x.height,prevHeight:N,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),ne={...x,direction:J};g?.(M,ne)!==!1&&(A=!0,p?.(M,ne),o(U,E))}).on("end",M=>{A&&(m?.(M,{...x}),r?.({...x}),A=!1)});n.call(H)}function l(){n.on(".drag",null)}return{update:i,destroy:l}}var hS=PP(uS(),1);import vN from"react";var dS=t=>{let e,a=new Set,o=(d,c)=>{let f=typeof d=="function"?d(e):d;if(!Object.is(f,e)){let h=e;e=c??(typeof f!="object"||f===null)?f:Object.assign({},e,f),a.forEach(p=>p(e,h))}},r=()=>e,l={setState:o,getState:r,getInitialState:()=>u,subscribe:d=>(a.add(d),()=>a.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),a.clear()}},u=e=t(o,r,l);return l},cS=t=>t?dS(t):dS;var{useDebugValue:SN}=vN,{useSyncExternalStoreWithSelector:IN}=hS.default,kN=t=>t;function ng(t,e=kN,a){let o=IN(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,a);return SN(o),o}var fS=(t,e)=>{let a=cS(t),o=(r,n=e)=>ng(a,r,n);return Object.assign(o,a),o},pS=(t,e)=>t?fS(t,e):fS;function Oe(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,r]of t)if(!Object.is(r,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!1;for(let o of a)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}import{createPortal as Pj}from"react-dom";var bc=ug(null),MN=bc.Provider,HS=Yt.error001("react");function be(t,e){let a=Ni(bc);if(a===null)throw new Error(HS);return ng(a,t,e)}function qe(){let t=Ni(bc);if(t===null)throw new Error(HS);return Ta(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}var mS={display:"none"},PN={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},zS="react-flow__node-desc",qS="react-flow__edge-desc",DN="react-flow__aria-live",RN=t=>t.ariaLiveMessage,TN=t=>t.ariaLabelConfig;function EN({rfId:t}){let e=be(RN);return K("div",{id:`${DN}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:PN,children:e})}function BN({rfId:t,disableKeyboardA11y:e}){let a=be(TN);return gt(vo,{children:[K("div",{id:`${zS}-${t}`,style:mS,children:e?a["node.a11yDescription.default"]:a["node.a11yDescription.keyboardDisabled"]}),K("div",{id:`${qS}-${t}`,style:mS,children:a["edge.a11yDescription.default"]}),!e&&K(EN,{rfId:t})]})}var wc=_S(({position:t="top-left",children:e,className:a,style:o,...r},n)=>{let s=`${t}`.split("-");return K("div",{className:$e(["react-flow__panel",a,...s]),style:o,ref:n,...r,children:e})});wc.displayName="Panel";function FN({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:K(wc,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var ON=t=>{let e=[],a=[];for(let[,o]of t.nodeLookup)o.selected&&e.push(o.internals.userNode);for(let[,o]of t.edgeLookup)o.selected&&a.push(o);return{selectedNodes:e,selectedEdges:a}},mc=t=>t.id;function NN(t,e){return Oe(t.selectedNodes.map(mc),e.selectedNodes.map(mc))&&Oe(t.selectedEdges.map(mc),e.selectedEdges.map(mc))}function _N({onSelectionChange:t}){let e=qe(),{selectedNodes:a,selectedEdges:o}=be(ON,NN);return De(()=>{let r={nodes:a,edges:o};t?.(r),e.getState().onSelectionChangeHandlers.forEach(n=>n(r))},[a,o,t]),null}var HN=t=>!!t.onSelectionChangeHandlers;function zN({onSelectionChange:t}){let e=be(HN);return t||e?K(_N,{onSelectionChange:t}):null}var US=[0,0],qN={x:0,y:0,zoom:1},UN=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],gS=[...UN,"rfId"],WN=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),xS={translateExtent:as,nodeOrigin:US,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function VN(t){let{setNodes:e,setEdges:a,setMinZoom:o,setMaxZoom:r,setTranslateExtent:n,setNodeExtent:s,reset:i,setDefaultNodesAndEdges:l}=be(WN,Oe),u=qe();De(()=>(l(t.defaultNodes,t.defaultEdges),()=>{d.current=xS,i()}),[]);let d=Se(xS);return De(()=>{for(let c of gS){let f=t[c],h=d.current[c];f!==h&&(typeof t[c]>"u"||(c==="nodes"?e(f):c==="edges"?a(f):c==="minZoom"?o(f):c==="maxZoom"?r(f):c==="translateExtent"?n(f):c==="nodeExtent"?s(f):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:Ev(f)}):c==="fitView"?u.setState({fitViewQueued:f}):c==="fitViewOptions"?u.setState({fitViewOptions:f}):u.setState({[c]:f})))}d.current=t},gS.map(c=>t[c])),null}function bS(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function GN(t){let[e,a]=Za(t==="system"?null:t);return De(()=>{if(t!=="system"){a(t);return}let o=bS(),r=()=>a(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[t]),e!==null?e:bS()?.matches?"dark":"light"}var wS=typeof document<"u"?document:null;function Oi(t=null,e={target:wS,actInsideInputWithModifier:!0}){let[a,o]=Za(!1),r=Se(!1),n=Se(new Set([])),[s,i]=Ta(()=>{if(t!==null){let u=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
22
22
  `).replace(`
23
23
 
24
24
  `,`
25
25
  +`).split(`
26
- `)),d=u.reduce((f,c)=>f.concat(...c),[]);return[u,d]}return[[],[]]},[t]);return ke(()=>{let l=e?.target??VI,u=e?.actInsideInputWithModifier??!0;if(t!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!u)&&Om(h))return!1;let m=GI(h.code,i);if(n.current.add(h[m]),WI(s,n.current,!1)){let g=h.composedPath?.()?.[0]||h.target,x=g?.nodeName==="BUTTON"||g?.nodeName==="A";e.preventDefault!==!1&&(r.current||!x)&&h.preventDefault(),o(!0)}},f=h=>{let p=GI(h.code,i);WI(s,n.current,!0)?(o(!1),n.current.clear()):n.current.delete(h[p]),h.key==="Meta"&&n.current.clear(),r.current=!1},c=()=>{n.current.clear(),o(!1)};return l?.addEventListener("keydown",d),l?.addEventListener("keyup",f),window.addEventListener("blur",c),window.addEventListener("contextmenu",c),()=>{l?.removeEventListener("keydown",d),l?.removeEventListener("keyup",f),window.removeEventListener("blur",c),window.removeEventListener("contextmenu",c)}}},[t,o]),a}function WI(t,e,a){return t.filter(o=>a||o.length===e.size).some(o=>o.every(r=>e.has(r)))}function GI(t,e){return e.includes(t)?"code":"key"}var aN=()=>{let t=Fe();return ba(()=>({zoomIn:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1.2,e):!1},zoomOut:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1/1.2,e):!1},zoomTo:async(e,a)=>{let{panZoom:o}=t.getState();return o?o.scaleTo(e,a):!1},getZoom:()=>t.getState().transform[2],setViewport:async(e,a)=>{let{transform:[o,r,n],panZoom:s}=t.getState();return s?(await s.setViewport({x:e.x??o,y:e.y??r,zoom:e.zoom??n},a),!0):!1},getViewport:()=>{let[e,a,o]=t.getState().transform;return{x:e,y:a,zoom:o}},setCenter:async(e,a,o)=>t.getState().setCenter(e,a,o),fitBounds:async(e,a)=>{let{width:o,height:r,minZoom:n,maxZoom:s,panZoom:i}=t.getState(),l=Ai(e,o,r,n,s,a?.padding??.1);return i?(await i.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0):!1},screenToFlowPosition:(e,a={})=>{let{transform:o,snapGrid:r,snapToGrid:n,domNode:s}=t.getState();if(!s)return e;let{x:i,y:l}=s.getBoundingClientRect(),u={x:e.x-i,y:e.y-l},d=a.snapGrid??r,f=a.snapToGrid??n;return Kr(u,o,f,d)},flowToScreenPosition:e=>{let{transform:a,domNode:o}=t.getState();if(!o)return e;let{x:r,y:n}=o.getBoundingClientRect(),s=Gr(e,a);return{x:s.x+r,y:s.y+n}}}),[])};function hS(t,e){let a=[],o=new Map,r=[];for(let n of t)if(n.type==="add"){r.push(n);continue}else if(n.type==="remove"||n.type==="replace")o.set(n.id,[n]);else{let s=o.get(n.id);s?s.push(n):o.set(n.id,[n])}for(let n of e){let s=o.get(n.id);if(!s){a.push(n);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){a.push({...s[0].item});continue}let i={...n};for(let l of s)oN(l,i);a.push(i)}return r.length&&r.forEach(n=>{n.index!==void 0?a.splice(n.index,0,{...n.item}):a.push({...n.item})}),a}function oN(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function rN(t,e){return hS(t,e)}function nN(t,e){return hS(t,e)}function jr(t,e){return{id:t,type:"select",selected:e}}function es(t,e=new Set,a=!1){let o=[];for(let[r,n]of t){let s=e.has(r);!(n.selected===void 0&&!s)&&n.selected!==s&&(a&&(n.selected=s),o.push(jr(n.id,s)))}return o}function $I({items:t=[],lookup:e}){let a=[],o=new Map(t.map(r=>[r.id,r]));for(let[r,n]of t.entries()){let s=e.get(n.id),i=s?.internals?.userNode??s;i!==void 0&&i!==n&&a.push({id:n.id,item:n,type:"replace"}),i===void 0&&a.push({item:n,type:"add",index:r})}for(let[r]of e)o.get(r)===void 0&&a.push({id:r,type:"remove"});return a}function XI(t){return{id:t.id,type:"remove"}}var sN=Dm("React Flow","https://reactflow.dev/");function iN(t,e,a={}){return sI(t,e,{...a,onError:a.onError??sN})}var KI=t=>Yb(t),lN=t=>vm(t);function pS(t){return lS(t)}var uN=typeof window<"u"?NF:ke;function jI(t){let[e,a]=qa(BigInt(0)),[o]=qa(()=>dN(()=>a(r=>r+BigInt(1))));return uN(()=>{let r=o.get();r.length&&(t(r),o.reset())},[e]),o}function dN(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:a=>{e.push(a),t()}}}var mS=Km(null);function fN({children:t}){let e=Fe(),a=za(i=>{let{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:c,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=e.getState(),m=l;for(let x of i)m=typeof x=="function"?x(m):x;let g=$I({items:m,lookup:c});for(let x of p.values())g=x(g);d&&u(m),g.length>0?f?.(g):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:x,nodes:C,setNodes:L}=e.getState();x&&L(C)})},[]),o=jI(a),r=za(i=>{let{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:c}=e.getState(),h=l;for(let p of i)h=typeof p=="function"?p(h):p;d?u(h):f&&f($I({items:h,lookup:c}))},[]),n=jI(r),s=ba(()=>({nodeQueue:o,edgeQueue:n}),[]);return W(mS.Provider,{value:s,children:t})}function cN(){let t=Ri(mS);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}var hN=t=>!!t.panZoom;function Di(){let t=aN(),e=Fe(),a=cN(),o=Le(hN),r=ba(()=>{let n=f=>e.getState().nodeLookup.get(f),s=f=>{a.nodeQueue.push(f)},i=f=>{a.edgeQueue.push(f)},l=f=>{let{nodeLookup:c,nodeOrigin:h}=e.getState(),p=KI(f)?f:c.get(f.id),m=p.parentId?Tm(p.position,p.measured,p.parentId,c,h):p.position,g={...p,position:m,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return Xr(g)},u=(f,c,h={replace:!1})=>{s(p=>p.map(m=>{if(m.id===f){let g=typeof c=="function"?c(m):c;return h.replace&&KI(g)?g:{...m,...g}}return m}))},d=(f,c,h={replace:!1})=>{i(p=>p.map(m=>{if(m.id===f){let g=typeof c=="function"?c(m):c;return h.replace&&lN(g)?g:{...m,...g}}return m}))};return{getNodes:()=>e.getState().nodes.map(f=>({...f})),getNode:f=>n(f)?.internals.userNode,getInternalNode:n,getEdges:()=>{let{edges:f=[]}=e.getState();return f.map(c=>({...c}))},getEdge:f=>e.getState().edgeLookup.get(f),setNodes:s,setEdges:i,addNodes:f=>{let c=Array.isArray(f)?f:[f];a.nodeQueue.push(h=>[...h,...c])},addEdges:f=>{let c=Array.isArray(f)?f:[f];a.edgeQueue.push(h=>[...h,...c])},toObject:()=>{let{nodes:f=[],edges:c=[],transform:h}=e.getState(),[p,m,g]=h;return{nodes:f.map(x=>({...x})),edges:c.map(x=>({...x})),viewport:{x:p,y:m,zoom:g}}},deleteElements:async({nodes:f=[],edges:c=[]})=>{let{nodes:h,edges:p,onNodesDelete:m,onEdgesDelete:g,triggerNodeChanges:x,triggerEdgeChanges:C,onDelete:L,onBeforeDelete:y}=e.getState(),{nodes:S,edges:w}=await eI({nodesToRemove:f,edgesToRemove:c,nodes:h,edges:p,onBeforeDelete:y}),b=w.length>0,I=S.length>0;if(b){let v=w.map(XI);g?.(w),C(v)}if(I){let v=S.map(XI);m?.(S),x(v)}return(I||b)&&L?.({nodes:S,edges:w}),{deletedNodes:S,deletedEdges:w}},getIntersectingNodes:(f,c=!0,h)=>{let p=Rm(f),m=p?f:l(f),g=h!==void 0;return m?(h||e.getState().nodes).filter(x=>{let C=e.getState().nodeLookup.get(x.id);if(C&&!p&&(x.id===f.id||!C.internals.positionAbsolute))return!1;let L=Xr(g?x:C),y=Zn(L,m);return c&&y>0||y>=L.width*L.height||y>=m.width*m.height}):[]},isNodeIntersecting:(f,c,h=!0)=>{let m=Rm(f)?f:l(f);if(!m)return!1;let g=Zn(m,c);return h&&g>0||g>=c.width*c.height||g>=m.width*m.height},updateNode:u,updateNodeData:(f,c,h={replace:!1})=>{u(f,p=>{let m=typeof c=="function"?c(p):c;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},updateEdge:d,updateEdgeData:(f,c,h={replace:!1})=>{d(f,p=>{let m=typeof c=="function"?c(p):c;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},getNodesBounds:f=>{let{nodeLookup:c,nodeOrigin:h}=e.getState();return Am(f,{nodeLookup:c,nodeOrigin:h})},getHandleConnections:({type:f,id:c,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}-${f}${c?`-${c}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:c,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}${f?c?`-${f}-${c}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{let c=e.getState().fitViewResolver??aI();return e.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:c}),a.nodeQueue.push(h=>[...h]),c.promise}}},[]);return ba(()=>({...r,...t,viewportInitialized:o}),[o])}var ZI=t=>t.selected,pN=typeof window<"u"?window:void 0;function mN({deleteKeyCode:t,multiSelectionKeyCode:e}){let a=Fe(),{deleteElements:o}=Di(),r=Pi(t,{actInsideInputWithModifier:!1}),n=Pi(e,{target:pN});ke(()=>{if(r){let{edges:s,nodes:i}=a.getState();o({nodes:i.filter(ZI),edges:s.filter(ZI)}),a.setState({nodesSelectionActive:!1})}},[r]),ke(()=>{a.setState({multiSelectionActive:n})},[n])}function gN(t){let e=Fe();ke(()=>{let a=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;let o=jd(t.current);(o.height===0||o.width===0)&&e.getState().onError?.("004",Ut.error004()),e.setState({width:o.width||500,height:o.height||500})};if(t.current){a(),window.addEventListener("resize",a);let o=new ResizeObserver(()=>a());return o.observe(t.current),()=>{window.removeEventListener("resize",a),o&&t.current&&o.unobserve(t.current)}}},[])}var ff={position:"absolute",width:"100%",height:"100%",top:0,left:0},xN=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function LN({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:n=co.Free,zoomOnDoubleClick:s=!0,panOnDrag:i=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:c,preventScrolling:h=!0,children:p,noWheelClassName:m,noPanClassName:g,onViewportChange:x,isControlledViewport:C,paneClickDistance:L,selectionOnDrag:y}){let S=Fe(),w=we(null),{userSelectionActive:b,lib:I,connectionInProgress:v}=Le(xN,De),N=Pi(c),P=we();gN(w);let R=za(H=>{x?.({x:H[0],y:H[1],zoom:H[2]}),C||S.setState({transform:H})},[x,C]);return ke(()=>{if(w.current){P.current=II({domNode:w.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:M=>S.setState(T=>T.paneDragging===M?T:{paneDragging:M}),onPanZoomStart:(M,T)=>{let{onViewportChangeStart:E,onMoveStart:B}=S.getState();B?.(M,T),E?.(T)},onPanZoom:(M,T)=>{let{onViewportChange:E,onMove:B}=S.getState();B?.(M,T),E?.(T)},onPanZoomEnd:(M,T)=>{let{onViewportChangeEnd:E,onMoveEnd:B}=S.getState();B?.(M,T),E?.(T)}});let{x:H,y:k,zoom:D}=P.current.getViewport();return S.setState({panZoom:P.current,transform:[H,k,D],domNode:w.current.closest(".react-flow")}),()=>{P.current?.destroy()}}},[]),ke(()=>{P.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:a,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:n,zoomOnDoubleClick:s,panOnDrag:i,zoomActivationKeyPressed:N,preventScrolling:h,noPanClassName:g,userSelectionActive:b,noWheelClassName:m,lib:I,onTransformChange:R,connectionInProgress:v,selectionOnDrag:y,paneClickDistance:L})},[t,e,a,o,r,n,s,i,N,h,g,b,m,I,R,v,y,L]),W("div",{className:"react-flow__renderer",ref:w,style:ff,children:p})}var CN=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function yN(){let{userSelectionActive:t,userSelectionRect:e}=Le(CN,De);return t&&e?W("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}var Gm=(t,e)=>a=>{a.target===e.current&&t?.(a)},wN=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function bN({isSelecting:t,selectionKeyPressed:e,selectionMode:a=Vr.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:n,selectionOnDrag:s,onSelectionStart:i,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:c,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){let g=we(0),x=Fe(),{userSelectionActive:C,elementsSelectable:L,dragging:y,connectionInProgress:S,panBy:w,autoPanSpeed:b}=Le(wN,De),I=L&&(t||C),v=we(null),N=we(),P=we(new Set),R=we(new Set),H=we(!1),k=we({x:0,y:0}),D=we(!1),M=z=>{if(H.current||S){H.current=!1;return}u?.(z),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},T=z=>{if(Array.isArray(o)&&o?.includes(2)){z.preventDefault();return}d?.(z)},E=f?z=>f(z):void 0,B=z=>{H.current&&(z.stopPropagation(),H.current=!1)},A=z=>{let{domNode:$,transform:ie}=x.getState();if(N.current=$?.getBoundingClientRect(),!N.current)return;let se=z.target===v.current;if(!se&&!!z.target.closest(".nokey")||!t||!(s&&se||e)||z.button!==0||!z.isPrimary)return;z.target?.setPointerCapture?.(z.pointerId),H.current=!1;let{x:ue,y:Ie}=ta(z.nativeEvent,N.current),Ve=Kr({x:ue,y:Ie},ie);x.setState({userSelectionRect:{width:0,height:0,startX:Ve.x,startY:Ve.y,x:ue,y:Ie}}),se||(z.stopPropagation(),z.preventDefault())};function q(z,$){let{userSelectionRect:ie}=x.getState();if(!ie)return;let{transform:se,nodeLookup:oe,edgeLookup:ne,connectionLookup:ue,triggerNodeChanges:Ie,triggerEdgeChanges:Ve,defaultEdgeOptions:kt}=x.getState(),Za={x:ie.startX,y:ie.startY},{x:Aa,y:Ma}=Gr(Za,se),Ya={startX:Za.x,startY:Za.y,x:z<Aa?z:Aa,y:$<Ma?$:Ma,width:Math.abs(z-Aa),height:Math.abs($-Ma)},ps=P.current,nr=R.current;P.current=new Set(Wd(oe,Ya,se,a===Vr.Partial,!0).map(ia=>ia.id)),R.current=new Set;let sr=kt?.selectable??!0;for(let ia of P.current){let Ja=ue.get(ia);if(Ja)for(let{edgeId:Qa}of Ja.values()){let ir=ne.get(Qa);ir&&(ir.selectable??sr)&&R.current.add(Qa)}}if(!Em(ps,P.current)){let ia=es(oe,P.current,!0);Ie(ia)}if(!Em(nr,R.current)){let ia=es(ne,R.current);Ve(ia)}x.setState({userSelectionRect:Ya,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!r||!N.current)return;let[z,$]=Gd(k.current,N.current,b);w({x:z,y:$}).then(ie=>{if(!H.current||!ie){g.current=requestAnimationFrame(F);return}let{x:se,y:oe}=k.current;q(se,oe),g.current=requestAnimationFrame(F)})}let G=()=>{cancelAnimationFrame(g.current),g.current=0,D.current=!1};ke(()=>()=>G(),[]);let _=z=>{let{userSelectionRect:$,transform:ie,resetSelectedElements:se}=x.getState();if(!N.current||!$)return;let{x:oe,y:ne}=ta(z.nativeEvent,N.current);k.current={x:oe,y:ne};let ue=Gr({x:$.startX,y:$.startY},ie);if(!H.current){let Ie=e?0:n;if(Math.hypot(oe-ue.x,ne-ue.y)<=Ie)return;se(),i?.(z)}H.current=!0,D.current||(F(),D.current=!0),q(oe,ne)},O=z=>{z.button===0&&(z.target?.releasePointerCapture?.(z.pointerId),!C&&z.target===v.current&&x.getState().userSelectionRect&&M?.(z),x.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(l?.(z),x.setState({nodesSelectionActive:P.current.size>0})),G())},U=z=>{z.target?.releasePointerCapture?.(z.pointerId),G()},X=o===!0||Array.isArray(o)&&o.includes(0);return dt("div",{className:qe(["react-flow__pane",{draggable:X,dragging:y,selection:t}]),onClick:I?void 0:Gm(M,v),onContextMenu:Gm(T,v),onWheel:Gm(E,v),onPointerEnter:I?void 0:c,onPointerMove:I?_:h,onPointerUp:I?O:void 0,onPointerCancel:I?U:void 0,onPointerDownCapture:I?A:void 0,onClickCapture:I?B:void 0,onPointerLeave:p,ref:v,style:ff,children:[m,W(yN,{})]})}function Xm({id:t,store:e,unselect:a=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:n,multiSelectionActive:s,nodeLookup:i,onError:l}=e.getState(),u=i.get(t);if(!u){l?.("012",Ut.error012(t));return}e.setState({nodesSelectionActive:!1}),u.selected?(a||u.selected&&s)&&(n({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([t])}function gS({nodeRef:t,disabled:e=!1,noDragClassName:a,handleSelector:o,nodeId:r,isSelectable:n,nodeClickDistance:s}){let i=Fe(),[l,u]=qa(!1),d=we();return ke(()=>{d.current=mI({getStoreItems:()=>i.getState(),onNodeMouseDown:f=>{Xm({id:f,store:i,nodeRef:t})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),ke(()=>{if(!(e||!t.current||!d.current))return d.current.update({noDragClassName:a,handleSelector:o,domNode:t.current,isSelectable:n,nodeId:r,nodeClickDistance:s}),()=>{d.current?.destroy()}},[a,o,e,n,t,r,s]),l}var IN=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function xS(){let t=Fe();return za(a=>{let{nodeExtent:o,snapToGrid:r,snapGrid:n,nodesDraggable:s,onError:i,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=t.getState(),f=new Map,c=IN(s),h=r?n[0]:5,p=r?n[1]:5,m=a.direction.x*h*a.factor,g=a.direction.y*p*a.factor;for(let[,x]of u){if(!c(x))continue;let C={x:x.internals.positionAbsolute.x+m,y:x.internals.positionAbsolute.y+g};r&&(C=Yn(C,n));let{position:L,positionAbsolute:y}=Mm({nodeId:x.id,nextPosition:C,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:i});x.position=L,x.internals.positionAbsolute=y,f.set(x.id,x)}l(f)},[])}var jm=Km(null),SN=jm.Provider;jm.Consumer;var LS=()=>Ri(jm),vN=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),kN=(t,e,a)=>o=>{let{connectionClickStartHandle:r,connectionMode:n,connection:s}=o,{fromHandle:i,toHandle:l,isValid:u}=s,d=l?.nodeId===t&&l?.id===e&&l?.type===a;return{connectingFrom:i?.nodeId===t&&i?.id===e&&i?.type===a,connectingTo:d,clickConnecting:r?.nodeId===t&&r?.id===e&&r?.type===a,isPossibleEndHandle:n===_o.Strict?i?.type!==a:t!==i?.nodeId||e!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!r,valid:d&&u}};function AN({type:t="source",position:e=re.Top,isValidConnection:a,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:n=!0,id:s,onConnect:i,children:l,className:u,onMouseDown:d,onTouchStart:f,...c},h){let p=s||null,m=t==="target",g=Fe(),x=LS(),{connectOnClick:C,noPanClassName:L,rfId:y}=Le(vN,De),{connectingFrom:S,connectingTo:w,clickConnecting:b,isPossibleEndHandle:I,connectionInProcess:v,clickConnectionInProcess:N,valid:P}=Le(kN(x,p,t),De);x||g.getState().onError?.("010",Ut.error010());let R=D=>{let{defaultEdgeOptions:M,onConnect:T,hasDefaultEdges:E}=g.getState(),B={...M,...D};if(E){let{edges:A,setEdges:q,onError:F}=g.getState();q(iN(B,A,{onError:F}))}T?.(B),i?.(B)},H=D=>{if(!x)return;let M=Fm(D.nativeEvent);if(r&&(M&&D.button===0||!M)){let T=g.getState();af.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:T.autoPanOnConnect,connectionMode:T.connectionMode,connectionRadius:T.connectionRadius,domNode:T.domNode,nodeLookup:T.nodeLookup,lib:T.lib,isTarget:m,handleId:p,nodeId:x,flowId:T.rfId,panBy:T.panBy,cancelConnection:T.cancelConnection,onConnectStart:T.onConnectStart,onConnectEnd:(...E)=>g.getState().onConnectEnd?.(...E),updateConnection:T.updateConnection,onConnect:R,isValidConnection:a||((...E)=>g.getState().isValidConnection?.(...E)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:T.autoPanSpeed,dragThreshold:T.connectionDragThreshold})}M?d?.(D):f?.(D)},k=D=>{let{onClickConnectStart:M,onClickConnectEnd:T,connectionClickStartHandle:E,connectionMode:B,isValidConnection:A,lib:q,rfId:F,nodeLookup:G,connection:_}=g.getState();if(!x||!E&&!r)return;if(!E){M?.(D.nativeEvent,{nodeId:x,handleId:p,handleType:t}),g.setState({connectionClickStartHandle:{nodeId:x,type:t,id:p}});return}let O=Bm(D.target),U=a||A,{connection:X,isValid:z}=af.isValid(D.nativeEvent,{handle:{nodeId:x,id:p,type:t},connectionMode:B,fromNodeId:E.nodeId,fromHandleId:E.id||null,fromType:E.type,isValidConnection:U,flowId:F,doc:O,lib:q,nodeLookup:G});z&&X&&R(X);let $=structuredClone(_);delete $.inProgress,$.toPosition=$.toHandle?$.toHandle.position:null,T?.(D,$),g.setState({connectionClickStartHandle:null})};return W("div",{"data-handleid":p,"data-nodeid":x,"data-handlepos":e,"data-id":`${y}-${x}-${p}-${t}`,className:qe(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",L,u,{source:!m,target:m,connectable:o,connectablestart:r,connectableend:n,clickconnecting:b,connectingfrom:S,connectingto:w,valid:P,connectionindicator:o&&(!v||I)&&(v||N?n:r)}]),onMouseDown:H,onTouchStart:H,onClick:C?k:void 0,ref:h,...c,children:l})}var ho=$e(pS(AN));function MN({data:t,isConnectable:e,sourcePosition:a=re.Bottom}){return dt(po,{children:[t?.label,W(ho,{type:"source",position:a,isConnectable:e})]})}function PN({data:t,isConnectable:e,targetPosition:a=re.Top,sourcePosition:o=re.Bottom}){return dt(po,{children:[W(ho,{type:"target",position:a,isConnectable:e}),t?.label,W(ho,{type:"source",position:o,isConnectable:e})]})}function RN(){return null}function DN({data:t,isConnectable:e,targetPosition:a=re.Top}){return dt(po,{children:[W(ho,{type:"target",position:a,isConnectable:e}),t?.label]})}var lf={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},YI={input:MN,default:PN,output:DN,group:RN};function TN(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}var EN=t=>{let{width:e,height:a,x:o,y:r}=jn(t.nodeLookup,{filter:n=>!!n.selected});return{width:ea(e)?e:null,height:ea(a)?a:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${r}px)`}};function BN({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:a}){let o=Fe(),{width:r,height:n,transformString:s,userSelectionActive:i}=Le(EN,De),l=xS(),u=we(null);ke(()=>{a||u.current?.focus({preventScroll:!0})},[a]);let d=!i&&r!==null&&n!==null;if(gS({nodeRef:u,disabled:!d}),!d)return null;let f=t?h=>{let p=o.getState().nodes.filter(m=>m.selected);t(h,p)}:void 0,c=h=>{Object.prototype.hasOwnProperty.call(lf,h.key)&&(h.preventDefault(),l({direction:lf[h.key],factor:h.shiftKey?4:1}))};return W("div",{className:qe(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s},children:W("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:a?void 0:-1,onKeyDown:a?void 0:c,style:{width:r,height:n}})})}var JI=typeof window<"u"?window:void 0,ON=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function CS({children:t,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,paneClickDistance:i,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:c,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:m,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:C,zoomOnPinch:L,panOnScroll:y,panOnScrollSpeed:S,panOnScrollMode:w,zoomOnDoubleClick:b,panOnDrag:I,autoPanOnSelection:v,defaultViewport:N,translateExtent:P,minZoom:R,maxZoom:H,preventScrolling:k,onSelectionContextMenu:D,noWheelClassName:M,noPanClassName:T,disableKeyboardA11y:E,onViewportChange:B,isControlledViewport:A}){let{nodesSelectionActive:q,userSelectionActive:F}=Le(ON,De),G=Pi(u,{target:JI}),_=Pi(m,{target:JI}),O=_||I,U=_||y,X=d&&O!==!0,z=G||F||X;return mN({deleteKeyCode:l,multiSelectionKeyCode:p}),W(LN,{onPaneContextMenu:n,elementsSelectable:x,zoomOnScroll:C,zoomOnPinch:L,panOnScroll:U,panOnScrollSpeed:S,panOnScrollMode:w,zoomOnDoubleClick:b,panOnDrag:!G&&O,defaultViewport:N,translateExtent:P,minZoom:R,maxZoom:H,zoomActivationKeyCode:g,preventScrolling:k,noWheelClassName:M,noPanClassName:T,onViewportChange:B,isControlledViewport:A,paneClickDistance:i,selectionOnDrag:X,children:dt(bN,{onSelectionStart:c,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,panOnDrag:O,autoPanOnSelection:v,isSelecting:!!z,selectionMode:f,selectionKeyPressed:G,paneClickDistance:i,selectionOnDrag:X,children:[t,q&&W(BN,{onSelectionContextMenu:D,noPanClassName:T,disableKeyboardA11y:E})]})})}CS.displayName="FlowRenderer";var FN=$e(CS),NN=t=>e=>t?Wd(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(a=>a.id):Array.from(e.nodeLookup.keys());function HN(t){return Le(za(NN(t),[t]),De)}var _N=t=>t.updateNodeInternals;function qN(){let t=Le(_N),[e]=qa(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{let o=new Map;a.forEach(r=>{let n=r.target.getAttribute("data-id");o.set(n,{id:n,nodeElement:r.target,force:!0})}),t(o)}));return ke(()=>()=>{e?.disconnect()},[e]),e}function zN({node:t,nodeType:e,hasDimensions:a,resizeObserver:o}){let r=Fe(),n=we(null),s=we(null),i=we(t.sourcePosition),l=we(t.targetPosition),u=we(e),d=a&&!!t.internals.handleBounds;return ke(()=>{n.current&&!t.hidden&&(!d||s.current!==n.current)&&(s.current&&o?.unobserve(s.current),o?.observe(n.current),s.current=n.current)},[d,t.hidden]),ke(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),ke(()=>{if(n.current){let f=u.current!==e,c=i.current!==t.sourcePosition,h=l.current!==t.targetPosition;(f||c||h)&&(u.current=e,i.current=t.sourcePosition,l.current=t.targetPosition,r.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:n.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),n}function UN({id:t,onClick:e,onMouseEnter:a,onMouseMove:o,onMouseLeave:r,onContextMenu:n,onDoubleClick:s,nodesDraggable:i,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:c,noPanClassName:h,disableKeyboardA11y:p,rfId:m,nodeTypes:g,nodeClickDistance:x,onError:C}){let{node:L,internals:y,isParent:S}=Le(z=>{let $=z.nodeLookup.get(t),ie=z.parentLookup.has(t);return{node:$,internals:$.internals,isParent:ie}},De),w=L.type||"default",b=g?.[w]||YI[w];b===void 0&&(C?.("003",Ut.error003(w)),w="default",b=g?.default||YI.default);let I=!!(L.draggable||i&&typeof L.draggable>"u"),v=!!(L.selectable||l&&typeof L.selectable>"u"),N=!!(L.connectable||u&&typeof L.connectable>"u"),P=!!(L.focusable||d&&typeof L.focusable>"u"),R=Fe(),H=Kd(L),k=zN({node:L,nodeType:w,hasDimensions:H,resizeObserver:f}),D=gS({nodeRef:k,disabled:L.hidden||!I,noDragClassName:c,handleSelector:L.dragHandle,nodeId:t,isSelectable:v,nodeClickDistance:x}),M=xS();if(L.hidden)return null;let T=Ha(L),E=TN(L),B=v||I||e||a||o||r,A=a?z=>a(z,{...y.userNode}):void 0,q=o?z=>o(z,{...y.userNode}):void 0,F=r?z=>r(z,{...y.userNode}):void 0,G=n?z=>n(z,{...y.userNode}):void 0,_=s?z=>s(z,{...y.userNode}):void 0,O=z=>{let{selectNodesOnDrag:$,nodeDragThreshold:ie}=R.getState();v&&(!$||!I||ie>0)&&Xm({id:t,store:R,nodeRef:k}),e&&e(z,{...y.userNode})},U=z=>{if(!(Om(z.nativeEvent)||p)){if(wm.includes(z.key)&&v){let $=z.key==="Escape";Xm({id:t,store:R,unselect:$,nodeRef:k})}else if(I&&L.selected&&Object.prototype.hasOwnProperty.call(lf,z.key)){z.preventDefault();let{ariaLabelConfig:$}=R.getState();R.setState({ariaLiveMessage:$["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~y.positionAbsolute.x,y:~~y.positionAbsolute.y})}),M({direction:lf[z.key],factor:z.shiftKey?4:1})}}},X=()=>{if(p||!k.current?.matches(":focus-visible"))return;let{transform:z,width:$,height:ie,autoPanOnNodeFocus:se,setCenter:oe}=R.getState();if(!se)return;Wd(new Map([[t,L]]),{x:0,y:0,width:$,height:ie},z,!0).length>0||oe(L.position.x+T.width/2,L.position.y+T.height/2,{zoom:z[2]})};return W("div",{className:qe(["react-flow__node",`react-flow__node-${w}`,{[h]:I},L.className,{selected:L.selected,selectable:v,parent:S,draggable:I,dragging:D}]),ref:k,style:{zIndex:y.z,transform:`translate(${y.positionAbsolute.x}px,${y.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:H?"visible":"hidden",...L.style,...E},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:A,onMouseMove:q,onMouseLeave:F,onContextMenu:G,onClick:O,onDoubleClick:_,onKeyDown:P?U:void 0,tabIndex:P?0:void 0,onFocus:P?X:void 0,role:L.ariaRole??(P?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${dS}-${m}`,"aria-label":L.ariaLabel,...L.domAttributes,children:W(SN,{value:t,children:W(b,{id:t,data:L.data,type:w,positionAbsoluteX:y.positionAbsolute.x,positionAbsoluteY:y.positionAbsolute.y,selected:L.selected??!1,selectable:v,draggable:I,deletable:L.deletable??!0,isConnectable:N,sourcePosition:L.sourcePosition,targetPosition:L.targetPosition,dragging:D,dragHandle:L.dragHandle,zIndex:y.z,parentId:L.parentId,...T})})})}var VN=$e(UN),WN=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function yS(t){let{nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,onError:n}=Le(WN,De),s=HN(t.onlyRenderVisibleElements),i=qN();return W("div",{className:"react-flow__nodes",style:ff,children:s.map(l=>W(VN,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:i,nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:t.nodeClickDistance,onError:n},l))})}yS.displayName="NodeRenderer";var GN=$e(yS);function $N(t){return Le(za(a=>{if(!t)return a.edges.map(r=>r.id);let o=[];if(a.width&&a.height)for(let r of a.edges){let n=a.nodeLookup.get(r.source),s=a.nodeLookup.get(r.target);n&&s&&nI({sourceNode:n,targetNode:s,width:a.width,height:a.height,transform:a.transform})&&o.push(r.id)}return o},[t]),De)}var XN=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t}};return W("polyline",{className:"arrow",style:a,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},KN=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t,fill:t}};return W("polyline",{className:"arrowclosed",style:a,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},QI={[qo.Arrow]:XN,[qo.ArrowClosed]:KN};function jN(t){let e=Fe();return ba(()=>Object.prototype.hasOwnProperty.call(QI,t)?QI[t]:(e.getState().onError?.("009",Ut.error009(t)),null),[t])}var ZN=({id:t,type:e,color:a,width:o=12.5,height:r=12.5,markerUnits:n="strokeWidth",strokeWidth:s,orient:i="auto-start-reverse"})=>{let l=jN(e);return l?W("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:n,orient:i,refX:"0",refY:"0",children:W(l,{color:a,strokeWidth:s})}):null},wS=({defaultColor:t,rfId:e})=>{let a=Le(n=>n.edges),o=Le(n=>n.defaultEdgeOptions),r=ba(()=>lI(a,{id:e,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[a,o,e,t]);return r.length?W("svg",{className:"react-flow__marker","aria-hidden":"true",children:W("defs",{children:r.map(n=>W(ZN,{id:n.id,type:n.type,color:n.color,width:n.width,height:n.height,markerUnits:n.markerUnits,strokeWidth:n.strokeWidth,orient:n.orient},n.id))})}):null};wS.displayName="MarkerDefinitions";var YN=$e(wS);function bS({x:t,y:e,label:a,labelStyle:o,labelShowBg:r=!0,labelBgStyle:n,labelBgPadding:s=[2,4],labelBgBorderRadius:i=2,children:l,className:u,...d}){let[f,c]=qa({x:1,y:0,width:0,height:0}),h=qe(["react-flow__edge-textwrapper",u]),p=we(null);return ke(()=>{if(p.current){let m=p.current.getBBox();c({x:m.x,y:m.y,width:m.width,height:m.height})}},[a]),a?dt("g",{transform:`translate(${t-f.width/2} ${e-f.height/2})`,className:h,visibility:f.width?"visible":"hidden",...d,children:[r&&W("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:n,rx:i,ry:i}),W("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:o,children:a}),l]}):null}bS.displayName="EdgeText";var JN=$e(bS);function cf({path:t,labelX:e,labelY:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return dt(po,{children:[W("path",{...d,d:t,fill:"none",className:qe(["react-flow__edge-path",d.className])}),u?W("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&ea(e)&&ea(a)?W(JN,{x:e,y:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l}):null]})}function eS({pos:t,x1:e,y1:a,x2:o,y2:r}){return t===re.Left||t===re.Right?[.5*(e+o),a]:[e,.5*(a+r)]}function IS({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top}){let[s,i]=eS({pos:a,x1:t,y1:e,x2:o,y2:r}),[l,u]=eS({pos:n,x1:o,y1:r,x2:t,y2:e}),[d,f,c,h]=Zd({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:l,targetControlY:u});return[`M${t},${e} C${s},${i} ${l},${u} ${o},${r}`,d,f,c,h]}function SS(t){return $e(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s,targetPosition:i,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})=>{let[C,L,y]=IS({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i}),S=t.isInternal?void 0:e;return W(cf,{id:S,path:C,labelX:L,labelY:y,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})})}var QN=SS({isInternal:!1}),vS=SS({isInternal:!0});QN.displayName="SimpleBezierEdge";vS.displayName="SimpleBezierEdgeInternal";function kS(t){return $e(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,sourcePosition:h=re.Bottom,targetPosition:p=re.Top,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:C})=>{let[L,y,S]=Mi({sourceX:a,sourceY:o,sourcePosition:h,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),w=t.isInternal?void 0:e;return W(cf,{id:w,path:L,labelX:y,labelY:S,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:m,markerStart:g,interactionWidth:C})})}var AS=kS({isInternal:!1}),MS=kS({isInternal:!0});AS.displayName="SmoothStepEdge";MS.displayName="SmoothStepEdgeInternal";function PS(t){return $e(({id:e,...a})=>{let o=t.isInternal?void 0:e;return W(AS,{...a,id:o,pathOptions:ba(()=>({borderRadius:0,offset:a.pathOptions?.offset}),[a.pathOptions?.offset])})})}var eH=PS({isInternal:!1}),RS=PS({isInternal:!0});eH.displayName="StepEdge";RS.displayName="StepEdgeInternal";function DS(t){return $e(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:h,markerStart:p,interactionWidth:m})=>{let[g,x,C]=Jd({sourceX:a,sourceY:o,targetX:r,targetY:n}),L=t.isInternal?void 0:e;return W(cf,{id:L,path:g,labelX:x,labelY:C,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:h,markerStart:p,interactionWidth:m})})}var tH=DS({isInternal:!1}),TS=DS({isInternal:!0});tH.displayName="StraightEdge";TS.displayName="StraightEdgeInternal";function ES(t){return $e(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s=re.Bottom,targetPosition:i=re.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:C})=>{let[L,y,S]=Yd({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i,curvature:x?.curvature}),w=t.isInternal?void 0:e;return W(cf,{id:w,path:L,labelX:y,labelY:S,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:C})})}var aH=ES({isInternal:!1}),BS=ES({isInternal:!0});aH.displayName="BezierEdge";BS.displayName="BezierEdgeInternal";var tS={default:BS,straight:TS,step:RS,smoothstep:MS,simplebezier:vS},aS={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},oH=(t,e,a)=>a===re.Left?t-e:a===re.Right?t+e:t,rH=(t,e,a)=>a===re.Top?t-e:a===re.Bottom?t+e:t,oS="react-flow__edgeupdater";function rS({position:t,centerX:e,centerY:a,radius:o=10,onMouseDown:r,onMouseEnter:n,onMouseOut:s,type:i}){return W("circle",{onMouseDown:r,onMouseEnter:n,onMouseOut:s,className:qe([oS,`${oS}-${i}`]),cx:oH(e,o,t),cy:rH(a,o,t),r:o,stroke:"transparent",fill:"transparent"})}function nH({isReconnectable:t,reconnectRadius:e,edge:a,sourceX:o,sourceY:r,targetX:n,targetY:s,sourcePosition:i,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:c,setUpdateHover:h}){let p=Fe(),m=(y,S)=>{if(y.button!==0)return;let{autoPanOnConnect:w,domNode:b,connectionMode:I,connectionRadius:v,lib:N,onConnectStart:P,cancelConnection:R,nodeLookup:H,rfId:k,panBy:D,updateConnection:M}=p.getState(),T=S.type==="target",E=(q,F)=>{c(!1),f?.(q,a,S.type,F)},B=q=>u?.(a,q),A=(q,F)=>{c(!0),d?.(y,a,S.type),P?.(q,F)};af.onPointerDown(y.nativeEvent,{autoPanOnConnect:w,connectionMode:I,connectionRadius:v,domNode:b,handleId:S.id,nodeId:S.nodeId,nodeLookup:H,isTarget:T,edgeUpdaterType:S.type,lib:N,flowId:k,cancelConnection:R,panBy:D,isValidConnection:(...q)=>p.getState().isValidConnection?.(...q)??!0,onConnect:B,onConnectStart:A,onConnectEnd:(...q)=>p.getState().onConnectEnd?.(...q),onReconnectEnd:E,updateConnection:M,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:y.currentTarget})},g=y=>m(y,{nodeId:a.target,id:a.targetHandle??null,type:"target"}),x=y=>m(y,{nodeId:a.source,id:a.sourceHandle??null,type:"source"}),C=()=>h(!0),L=()=>h(!1);return dt(po,{children:[(t===!0||t==="source")&&W(rS,{position:i,centerX:o,centerY:r,radius:e,onMouseDown:g,onMouseEnter:C,onMouseOut:L,type:"source"}),(t===!0||t==="target")&&W(rS,{position:l,centerX:n,centerY:s,radius:e,onMouseDown:x,onMouseEnter:C,onMouseOut:L,type:"target"})]})}function sH({id:t,edgesFocusable:e,edgesReconnectable:a,elementsSelectable:o,onClick:r,onDoubleClick:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:c,onReconnectEnd:h,rfId:p,edgeTypes:m,noPanClassName:g,onError:x,disableKeyboardA11y:C}){let L=Le(oe=>oe.edgeLookup.get(t)),y=Le(oe=>oe.defaultEdgeOptions);L=y?{...y,...L}:L;let S=L.type||"default",w=m?.[S]||tS[S];w===void 0&&(x?.("011",Ut.error011(S)),S="default",w=m?.default||tS.default);let b=!!(L.focusable||e&&typeof L.focusable>"u"),I=typeof f<"u"&&(L.reconnectable||a&&typeof L.reconnectable>"u"),v=!!(L.selectable||o&&typeof L.selectable>"u"),N=we(null),[P,R]=qa(!1),[H,k]=qa(!1),D=Fe(),{zIndex:M,sourceX:T,sourceY:E,targetX:B,targetY:A,sourcePosition:q,targetPosition:F}=Le(za(oe=>{let ne=oe.nodeLookup.get(L.source),ue=oe.nodeLookup.get(L.target);if(!ne||!ue)return{zIndex:L.zIndex,...aS};let Ie=iI({id:t,sourceNode:ne,targetNode:ue,sourceHandle:L.sourceHandle||null,targetHandle:L.targetHandle||null,connectionMode:oe.connectionMode,onError:x});return{zIndex:rI({selected:L.selected,zIndex:L.zIndex,sourceNode:ne,targetNode:ue,elevateOnSelect:oe.elevateEdgesOnSelect,zIndexMode:oe.zIndexMode}),...Ie||aS}},[L.source,L.target,L.sourceHandle,L.targetHandle,L.selected,L.zIndex]),De),G=ba(()=>L.markerStart?`url('#${Qd(L.markerStart,p)}')`:void 0,[L.markerStart,p]),_=ba(()=>L.markerEnd?`url('#${Qd(L.markerEnd,p)}')`:void 0,[L.markerEnd,p]);if(L.hidden||T===null||E===null||B===null||A===null)return null;let O=oe=>{let{addSelectedEdges:ne,unselectNodesAndEdges:ue,multiSelectionActive:Ie}=D.getState();v&&(D.setState({nodesSelectionActive:!1}),L.selected&&Ie?(ue({nodes:[],edges:[L]}),N.current?.blur()):ne([t])),r&&r(oe,L)},U=n?oe=>{n(oe,{...L})}:void 0,X=s?oe=>{s(oe,{...L})}:void 0,z=i?oe=>{i(oe,{...L})}:void 0,$=l?oe=>{l(oe,{...L})}:void 0,ie=u?oe=>{u(oe,{...L})}:void 0,se=oe=>{if(!C&&wm.includes(oe.key)&&v){let{unselectNodesAndEdges:ne,addSelectedEdges:ue}=D.getState();oe.key==="Escape"?(N.current?.blur(),ne({edges:[L]})):ue([t])}};return W("svg",{style:{zIndex:M},children:dt("g",{className:qe(["react-flow__edge",`react-flow__edge-${S}`,L.className,g,{selected:L.selected,animated:L.animated,inactive:!v&&!r,updating:P,selectable:v}]),onClick:O,onDoubleClick:U,onContextMenu:X,onMouseEnter:z,onMouseMove:$,onMouseLeave:ie,onKeyDown:b?se:void 0,tabIndex:b?0:void 0,role:L.ariaRole??(b?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":L.ariaLabel===null?void 0:L.ariaLabel||`Edge from ${L.source} to ${L.target}`,"aria-describedby":b?`${fS}-${p}`:void 0,ref:N,...L.domAttributes,children:[!H&&W(w,{id:t,source:L.source,target:L.target,type:L.type,selected:L.selected,animated:L.animated,selectable:v,deletable:L.deletable??!0,label:L.label,labelStyle:L.labelStyle,labelShowBg:L.labelShowBg,labelBgStyle:L.labelBgStyle,labelBgPadding:L.labelBgPadding,labelBgBorderRadius:L.labelBgBorderRadius,sourceX:T,sourceY:E,targetX:B,targetY:A,sourcePosition:q,targetPosition:F,data:L.data,style:L.style,sourceHandleId:L.sourceHandle,targetHandleId:L.targetHandle,markerStart:G,markerEnd:_,pathOptions:"pathOptions"in L?L.pathOptions:void 0,interactionWidth:L.interactionWidth}),I&&W(nH,{edge:L,isReconnectable:I,reconnectRadius:d,onReconnect:f,onReconnectStart:c,onReconnectEnd:h,sourceX:T,sourceY:E,targetX:B,targetY:A,sourcePosition:q,targetPosition:F,setUpdateHover:R,setReconnecting:k})]})})}var iH=$e(sH),lH=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function OS({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:a,edgeTypes:o,noPanClassName:r,onReconnect:n,onEdgeContextMenu:s,onEdgeMouseEnter:i,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:c,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:m}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:C,onError:L}=Le(lH,De),y=$N(e);return dt("div",{className:"react-flow__edges",children:[W(YN,{defaultColor:t,rfId:a}),y.map(S=>W(iH,{id:S,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:C,noPanClassName:r,onReconnect:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:c,onReconnectStart:h,onReconnectEnd:p,rfId:a,onError:L,edgeTypes:o,disableKeyboardA11y:m},S))]})}OS.displayName="EdgeRenderer";var uH=$e(OS),dH=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function fH({children:t}){let e=Le(dH);return W("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function cH(t){let e=Di(),a=we(!1);ke(()=>{!a.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),a.current=!0)},[t,e.viewportInitialized])}var hH=t=>t.panZoom?.syncViewport;function pH(t){let e=Le(hH),a=Fe();return ke(()=>{t&&(e?.(t),a.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function nS(t){return t.connection.inProgress?{...t.connection,to:Kr(t.connection.to,t.transform)}:{...t.connection}}function mH(t){return t?a=>{let o=nS(a);return t(o)}:nS}function gH(t){let e=mH(t);return Le(e,De)}var xH=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function LH({containerStyle:t,style:e,type:a,component:o}){let{nodesConnectable:r,width:n,height:s,isValid:i,inProgress:l}=Le(xH,De);return!(n&&r&&l)?null:W("svg",{style:t,width:n,height:s,className:"react-flow__connectionline react-flow__container",children:W("g",{className:qe(["react-flow__connection",Sm(i)]),children:W(FS,{style:e,type:a,CustomComponent:o,isValid:i})})})}var FS=({style:t,type:e=Na.Bezier,CustomComponent:a,isValid:o})=>{let{inProgress:r,from:n,fromNode:s,fromHandle:i,fromPosition:l,to:u,toNode:d,toHandle:f,toPosition:c,pointer:h}=gH();if(!r)return;if(a)return W(a,{connectionLineType:e,connectionLineStyle:t,fromNode:s,fromHandle:i,fromX:n.x,fromY:n.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:c,connectionStatus:Sm(o),toNode:d,toHandle:f,pointer:h});let p="",m={sourceX:n.x,sourceY:n.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:c};switch(e){case Na.Bezier:[p]=Yd(m);break;case Na.SimpleBezier:[p]=IS(m);break;case Na.Step:[p]=Mi({...m,borderRadius:0});break;case Na.SmoothStep:[p]=Mi(m);break;default:[p]=Jd(m)}return W("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};FS.displayName="ConnectionLine";var CH={};function sS(t=CH){let e=we(t),a=Fe();ke(()=>{},[t])}function yH(){let t=Fe(),e=we(!1);ke(()=>{},[])}function NS({nodeTypes:t,edgeTypes:e,onInit:a,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:n,onEdgeDoubleClick:s,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:c,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:m,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:C,selectionOnDrag:L,selectionMode:y,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,deleteKeyCode:I,onlyRenderVisibleElements:v,elementsSelectable:N,defaultViewport:P,translateExtent:R,minZoom:H,maxZoom:k,preventScrolling:D,defaultMarkerColor:M,zoomOnScroll:T,zoomOnPinch:E,panOnScroll:B,panOnScrollSpeed:A,panOnScrollMode:q,zoomOnDoubleClick:F,panOnDrag:G,autoPanOnSelection:_,onPaneClick:O,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:z,onPaneScroll:$,onPaneContextMenu:ie,paneClickDistance:se,nodeClickDistance:oe,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:Ie,onEdgeMouseLeave:Ve,reconnectRadius:kt,onReconnect:Za,onReconnectStart:Aa,onReconnectEnd:Ma,noDragClassName:Ya,noWheelClassName:ps,noPanClassName:nr,disableKeyboardA11y:sr,nodeExtent:ia,rfId:Ja,viewport:Qa,onViewportChange:ir}){return sS(t),sS(e),yH(),cH(a),pH(Qa),W(FN,{onPaneClick:O,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:z,onPaneContextMenu:ie,onPaneScroll:$,paneClickDistance:se,deleteKeyCode:I,selectionKeyCode:C,selectionOnDrag:L,selectionMode:y,onSelectionStart:c,onSelectionEnd:h,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:E,zoomOnDoubleClick:F,panOnScroll:B,panOnScrollSpeed:A,panOnScrollMode:q,panOnDrag:G,autoPanOnSelection:_,defaultViewport:P,translateExtent:R,minZoom:H,maxZoom:k,onSelectionContextMenu:f,preventScrolling:D,noDragClassName:Ya,noWheelClassName:ps,noPanClassName:nr,disableKeyboardA11y:sr,onViewportChange:ir,isControlledViewport:!!Qa,children:dt(fH,{children:[W(uH,{edgeTypes:e,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:Za,onReconnectStart:Aa,onReconnectEnd:Ma,onlyRenderVisibleElements:v,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:Ie,onEdgeMouseLeave:Ve,reconnectRadius:kt,defaultMarkerColor:M,noPanClassName:nr,disableKeyboardA11y:sr,rfId:Ja}),W(LH,{style:m,type:p,component:g,containerStyle:x}),W("div",{className:"react-flow__edgelabel-renderer"}),W(GN,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:n,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:oe,onlyRenderVisibleElements:v,noPanClassName:nr,noDragClassName:Ya,disableKeyboardA11y:sr,nodeExtent:ia,rfId:Ja}),W("div",{className:"react-flow__viewport-portal"})]})})}NS.displayName="GraphView";var wH=$e(NS),bH=Dm("React Flow","https://reactflow.dev/"),iS=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:c="basic"}={})=>{let h=new Map,p=new Map,m=new Map,g=new Map,x=o??e??[],C=a??t??[],L=d??[0,0],y=f??Kn;Um(m,g,x);let{nodesInitialized:S}=ef(C,h,p,{nodeOrigin:L,nodeExtent:y,zIndexMode:c}),w=[0,0,1];if(s&&r&&n){let b=jn(h,{filter:P=>!!((P.width||P.initialWidth)&&(P.height||P.initialHeight))}),{x:I,y:v,zoom:N}=Ai(b,r,n,l,u,i?.padding??.1);w=[I,v,N]}return{rfId:"1",width:r??0,height:n??0,transform:w,nodes:C,nodesInitialized:S,nodeLookup:h,parentLookup:p,edges:x,edgeLookup:g,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:a!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:Kn,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:_o.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:L,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:i,fitViewResolver:null,connection:{...Im},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:bH,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:bm,zIndexMode:c,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},IH=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:c})=>HI((h,p)=>{async function m(){let{nodeLookup:g,panZoom:x,fitViewOptions:C,fitViewResolver:L,width:y,height:S,minZoom:w,maxZoom:b}=p();x&&(await Qb({nodes:g,width:y,height:S,panZoom:x,minZoom:w,maxZoom:b},C),L?.resolve(!0),h({fitViewResolver:null}))}return{...iS({nodes:t,edges:e,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:a,defaultEdges:o,zIndexMode:c}),setNodes:g=>{let{nodeLookup:x,parentLookup:C,nodeOrigin:L,elevateNodesOnSelect:y,fitViewQueued:S,zIndexMode:w,nodesSelectionActive:b}=p(),{nodesInitialized:I,hasSelectedNodes:v}=ef(g,x,C,{nodeOrigin:L,nodeExtent:f,elevateNodesOnSelect:y,checkEquality:!0,zIndexMode:w}),N=b&&v;S&&I?(m(),h({nodes:g,nodesInitialized:I,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:N})):h({nodes:g,nodesInitialized:I,nodesSelectionActive:N})},setEdges:g=>{let{connectionLookup:x,edgeLookup:C}=p();Um(x,C,g),h({edges:g})},setDefaultNodesAndEdges:(g,x)=>{if(g){let{setNodes:C}=p();C(g),h({hasDefaultNodes:!0})}if(x){let{setEdges:C}=p();C(x),h({hasDefaultEdges:!0})}},updateNodeInternals:g=>{let{triggerNodeChanges:x,nodeLookup:C,parentLookup:L,domNode:y,nodeOrigin:S,nodeExtent:w,debug:b,fitViewQueued:I,zIndexMode:v}=p(),{changes:N,updatedInternals:P}=cI(g,C,L,y,S,w,v);P&&(dI(C,L,{nodeOrigin:S,nodeExtent:w,zIndexMode:v}),I?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),N?.length>0&&(b&&console.log("React Flow: trigger node changes",N),x?.(N)))},updateNodePositions:(g,x=!1)=>{let C=[],L=[],{nodeLookup:y,triggerNodeChanges:S,connection:w,updateConnection:b,onNodesChangeMiddlewareMap:I}=p();for(let[v,N]of g){let P=y.get(v),R=!!(P?.expandParent&&P?.parentId&&N?.position),H={id:v,type:"position",position:R?{x:Math.max(0,N.position.x),y:Math.max(0,N.position.y)}:N.position,dragging:x};if(P&&w.inProgress&&w.fromNode.id===P.id){let k=zo(P,w.fromHandle,re.Left,!0);b({...w,from:k})}R&&P.parentId&&C.push({id:v,parentId:P.parentId,rect:{...N.internals.positionAbsolute,width:N.measured.width??0,height:N.measured.height??0}}),L.push(H)}if(C.length>0){let{parentLookup:v,nodeOrigin:N}=p(),P=tf(C,y,v,N);L.push(...P)}for(let v of I.values())L=v(L);S(L)},triggerNodeChanges:g=>{let{onNodesChange:x,setNodes:C,nodes:L,hasDefaultNodes:y,debug:S}=p();if(g?.length){if(y){let w=rN(g,L);C(w)}S&&console.log("React Flow: trigger node changes",g),x?.(g)}},triggerEdgeChanges:g=>{let{onEdgesChange:x,setEdges:C,edges:L,hasDefaultEdges:y,debug:S}=p();if(g?.length){if(y){let w=nN(g,L);C(w)}S&&console.log("React Flow: trigger edge changes",g),x?.(g)}},addSelectedNodes:g=>{let{multiSelectionActive:x,edgeLookup:C,nodeLookup:L,triggerNodeChanges:y,triggerEdgeChanges:S}=p();if(x){let w=g.map(b=>jr(b,!0));y(w);return}y(es(L,new Set([...g]),!0)),S(es(C))},addSelectedEdges:g=>{let{multiSelectionActive:x,edgeLookup:C,nodeLookup:L,triggerNodeChanges:y,triggerEdgeChanges:S}=p();if(x){let w=g.map(b=>jr(b,!0));S(w);return}S(es(C,new Set([...g]))),y(es(L,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:x}={})=>{let{edges:C,nodes:L,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=p(),b=g||L,I=x||C,v=[];for(let P of b){if(!P.selected)continue;let R=y.get(P.id);R&&(R.selected=!1),v.push(jr(P.id,!1))}let N=[];for(let P of I)P.selected&&N.push(jr(P.id,!1));S(v),w(N)},setMinZoom:g=>{let{panZoom:x,maxZoom:C}=p();x?.setScaleExtent([g,C]),h({minZoom:g})},setMaxZoom:g=>{let{panZoom:x,minZoom:C}=p();x?.setScaleExtent([C,g]),h({maxZoom:g})},setTranslateExtent:g=>{p().panZoom?.setTranslateExtent(g),h({translateExtent:g})},resetSelectedElements:()=>{let{edges:g,nodes:x,triggerNodeChanges:C,triggerEdgeChanges:L,elementsSelectable:y}=p();if(!y)return;let S=x.reduce((b,I)=>I.selected?[...b,jr(I.id,!1)]:b,[]),w=g.reduce((b,I)=>I.selected?[...b,jr(I.id,!1)]:b,[]);C(S),L(w)},setNodeExtent:g=>{let{nodes:x,nodeLookup:C,parentLookup:L,nodeOrigin:y,elevateNodesOnSelect:S,nodeExtent:w,zIndexMode:b}=p();g[0][0]===w[0][0]&&g[0][1]===w[0][1]&&g[1][0]===w[1][0]&&g[1][1]===w[1][1]||(ef(x,C,L,{nodeOrigin:y,nodeExtent:g,elevateNodesOnSelect:S,checkEquality:!1,zIndexMode:b}),h({nodeExtent:g}))},panBy:g=>{let{transform:x,width:C,height:L,panZoom:y,translateExtent:S}=p();return hI({delta:g,panZoom:y,transform:x,translateExtent:S,width:C,height:L})},setCenter:async(g,x,C)=>{let{width:L,height:y,maxZoom:S,panZoom:w}=p();if(!w)return!1;let b=typeof C?.zoom<"u"?C.zoom:S;return await w.setViewport({x:L/2-g*b,y:y/2-x*b,zoom:b},{duration:C?.duration,ease:C?.ease,interpolate:C?.interpolate}),!0},cancelConnection:()=>{h({connection:{...Im}})},updateConnection:g=>{h({connection:g})},reset:()=>h({...iS()})}},Object.is);function Zm({initialNodes:t,initialEdges:e,defaultNodes:a,defaultEdges:o,initialWidth:r,initialHeight:n,initialMinZoom:s,initialMaxZoom:i,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:c,children:h}){let[p]=qa(()=>IH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:u,minZoom:s,maxZoom:i,fitViewOptions:l,nodeOrigin:d,nodeExtent:f,zIndexMode:c}));return W(HF,{value:p,children:W(fN,{children:h})})}function SH({children:t,nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:n,height:s,fitView:i,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:c,zIndexMode:h}){return Ri(uf)?W(po,{children:t}):W(Zm,{initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:n,initialHeight:s,fitView:i,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:c,zIndexMode:h,children:t})}var vH={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function kH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,className:r,nodeTypes:n,edgeTypes:s,onNodeClick:i,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:c,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:C,onNodeMouseMove:L,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:w,onNodeDragStart:b,onNodeDrag:I,onNodeDragStop:v,onNodesDelete:N,onEdgesDelete:P,onDelete:R,onSelectionChange:H,onSelectionDragStart:k,onSelectionDrag:D,onSelectionDragStop:M,onSelectionContextMenu:T,onSelectionStart:E,onSelectionEnd:B,onBeforeDelete:A,connectionMode:q,connectionLineType:F=Na.Bezier,connectionLineStyle:G,connectionLineComponent:_,connectionLineContainerStyle:O,deleteKeyCode:U="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:z=!1,selectionMode:$=Vr.Full,panActivationKeyCode:ie="Space",multiSelectionKeyCode:se=Jn()?"Meta":"Control",zoomActivationKeyCode:oe=Jn()?"Meta":"Control",snapToGrid:ne,snapGrid:ue,onlyRenderVisibleElements:Ie=!1,selectNodesOnDrag:Ve,nodesDraggable:kt,autoPanOnNodeFocus:Za,nodesConnectable:Aa,nodesFocusable:Ma,nodeOrigin:Ya=cS,edgesFocusable:ps,edgesReconnectable:nr,elementsSelectable:sr=!0,defaultViewport:ia=YF,minZoom:Ja=.5,maxZoom:Qa=2,translateExtent:ir=Kn,preventScrolling:BA=!0,nodeExtent:Zf,defaultMarkerColor:OA="#b1b1b7",zoomOnScroll:FA=!0,zoomOnPinch:NA=!0,panOnScroll:HA=!1,panOnScrollSpeed:_A=.5,panOnScrollMode:qA=co.Free,zoomOnDoubleClick:zA=!0,panOnDrag:UA=!0,onPaneClick:VA,onPaneMouseEnter:WA,onPaneMouseMove:GA,onPaneMouseLeave:$A,onPaneScroll:XA,onPaneContextMenu:KA,paneClickDistance:jA=1,nodeClickDistance:ZA=0,children:YA,onReconnect:JA,onReconnectStart:QA,onReconnectEnd:eM,onEdgeContextMenu:tM,onEdgeDoubleClick:aM,onEdgeMouseEnter:oM,onEdgeMouseMove:rM,onEdgeMouseLeave:nM,reconnectRadius:sM=10,onNodesChange:iM,onEdgesChange:lM,noDragClassName:uM="nodrag",noWheelClassName:dM="nowheel",noPanClassName:fx="nopan",fitView:cx,fitViewOptions:hx,connectOnClick:fM,attributionPosition:cM,proOptions:hM,defaultEdgeOptions:pM,elevateNodesOnSelect:mM=!0,elevateEdgesOnSelect:gM=!1,disableKeyboardA11y:px=!1,autoPanOnConnect:xM,autoPanOnNodeDrag:LM,autoPanOnSelection:CM=!0,autoPanSpeed:yM,connectionRadius:wM,isValidConnection:bM,onError:IM,style:SM,id:mx,nodeDragThreshold:vM,connectionDragThreshold:kM,viewport:AM,onViewportChange:MM,width:PM,height:RM,colorMode:DM="light",debug:TM,onScroll:gx,ariaLabelConfig:EM,zIndexMode:xx="basic",...BM},OM){let Yf=mx||"1",FM=tN(DM),NM=za(Lx=>{Lx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),gx?.(Lx)},[gx]);return W("div",{"data-testid":"rf__wrapper",...BM,onScroll:NM,style:{...SM,...vH},ref:OM,className:qe(["react-flow",r,FM]),id:mx,role:"application",children:dt(SH,{nodes:t,edges:e,width:PM,height:RM,fitView:cx,fitViewOptions:hx,minZoom:Ja,maxZoom:Qa,nodeOrigin:Ya,nodeExtent:Zf,zIndexMode:xx,children:[W(eN,{nodes:t,edges:e,defaultNodes:a,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:kt,autoPanOnNodeFocus:Za,nodesConnectable:Aa,nodesFocusable:Ma,edgesFocusable:ps,edgesReconnectable:nr,elementsSelectable:sr,elevateNodesOnSelect:mM,elevateEdgesOnSelect:gM,minZoom:Ja,maxZoom:Qa,nodeExtent:Zf,onNodesChange:iM,onEdgesChange:lM,snapToGrid:ne,snapGrid:ue,connectionMode:q,translateExtent:ir,connectOnClick:fM,defaultEdgeOptions:pM,fitView:cx,fitViewOptions:hx,onNodesDelete:N,onEdgesDelete:P,onDelete:R,onNodeDragStart:b,onNodeDrag:I,onNodeDragStop:v,onSelectionDrag:D,onSelectionDragStart:k,onSelectionDragStop:M,onMove:d,onMoveStart:f,onMoveEnd:c,noPanClassName:fx,nodeOrigin:Ya,rfId:Yf,autoPanOnConnect:xM,autoPanOnNodeDrag:LM,autoPanSpeed:yM,onError:IM,connectionRadius:wM,isValidConnection:bM,selectNodesOnDrag:Ve,nodeDragThreshold:vM,connectionDragThreshold:kM,onBeforeDelete:A,debug:TM,ariaLabelConfig:EM,zIndexMode:xx}),W(wH,{onInit:u,onNodeClick:i,onEdgeClick:l,onNodeMouseEnter:C,onNodeMouseMove:L,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:w,nodeTypes:n,edgeTypes:s,connectionLineType:F,connectionLineStyle:G,connectionLineComponent:_,connectionLineContainerStyle:O,selectionKeyCode:X,selectionOnDrag:z,selectionMode:$,deleteKeyCode:U,multiSelectionKeyCode:se,panActivationKeyCode:ie,zoomActivationKeyCode:oe,onlyRenderVisibleElements:Ie,defaultViewport:ia,translateExtent:ir,minZoom:Ja,maxZoom:Qa,preventScrolling:BA,zoomOnScroll:FA,zoomOnPinch:NA,zoomOnDoubleClick:zA,panOnScroll:HA,panOnScrollSpeed:_A,panOnScrollMode:qA,panOnDrag:UA,autoPanOnSelection:CM,onPaneClick:VA,onPaneMouseEnter:WA,onPaneMouseMove:GA,onPaneMouseLeave:$A,onPaneScroll:XA,onPaneContextMenu:KA,paneClickDistance:jA,nodeClickDistance:ZA,onSelectionContextMenu:T,onSelectionStart:E,onSelectionEnd:B,onReconnect:JA,onReconnectStart:QA,onReconnectEnd:eM,onEdgeContextMenu:tM,onEdgeDoubleClick:aM,onEdgeMouseEnter:oM,onEdgeMouseMove:rM,onEdgeMouseLeave:nM,reconnectRadius:sM,defaultMarkerColor:OA,noDragClassName:uM,noWheelClassName:dM,noPanClassName:fx,rfId:Yf,disableKeyboardA11y:px,nodeExtent:Zf,viewport:AM,onViewportChange:MM}),W(ZF,{onSelectionChange:H}),YA,W(GF,{proOptions:hM,position:cM}),W(WF,{rfId:Yf,disableKeyboardA11y:px})]})})}var HS=pS(kH);var AH=t=>e=>{if(!t.includeHiddenNodes)return e.nodesInitialized;if(e.nodeLookup.size===0)return!1;for(let[,{internals:a}]of e.nodeLookup)if(a.handleBounds===void 0||!Kd(a.userNode))return!1;return!0};function _S(t={includeHiddenNodes:!1}){return Le(AH(t))}var h9=Ut.error014();function MH({dimensions:t,lineWidth:e,variant:a,className:o}){return W("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:qe(["react-flow__background-pattern",a,o])})}function PH({radius:t,className:e}){return W("circle",{cx:t,cy:t,r:t,className:qe(["react-flow__background-pattern","dots",e])})}var _a;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(_a||(_a={}));var RH={[_a.Dots]:1,[_a.Lines]:1,[_a.Cross]:6},DH=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function qS({id:t,variant:e=_a.Dots,gap:a=20,size:o,lineWidth:r=1,offset:n=0,color:s,bgColor:i,style:l,className:u,patternClassName:d}){let f=we(null),{transform:c,patternId:h}=Le(DH,De),p=o||RH[e],m=e===_a.Dots,g=e===_a.Cross,x=Array.isArray(a)?a:[a,a],C=[x[0]*c[2]||1,x[1]*c[2]||1],L=p*c[2],y=Array.isArray(n)?n:[n,n],S=g?[L,L]:C,w=[y[0]*c[2]||1+S[0]/2,y[1]*c[2]||1+S[1]/2],b=`${h}${t||""}`;return dt("svg",{className:qe(["react-flow__background",u]),style:{...l,...ff,"--xy-background-color-props":i,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[W("pattern",{id:b,x:c[0]%C[0],y:c[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:m?W(PH,{radius:L/2,className:d}):W(MH,{dimensions:S,lineWidth:r,variant:e,className:d})}),W("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${b})`})]})}qS.displayName="Background";var zS=$e(qS);function TH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:W("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function EH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:W("path",{d:"M0 0h32v4.2H0z"})})}function BH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:W("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function OH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:W("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function FH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:W("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function sf({children:t,className:e,...a}){return W("button",{type:"button",className:qe(["react-flow__controls-button",e]),...a,children:t})}var NH=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function US({style:t,showZoom:e=!0,showFitView:a=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:n,onZoomOut:s,onFitView:i,onInteractiveChange:l,className:u,children:d,position:f="bottom-left",orientation:c="vertical","aria-label":h}){let p=Fe(),{isInteractive:m,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:C}=Le(NH,De),{zoomIn:L,zoomOut:y,fitView:S}=Di(),w=()=>{L(),n?.()},b=()=>{y(),s?.()},I=()=>{S(r),i?.()},v=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l?.(!m)};return dt(df,{className:qe(["react-flow__controls",c==="horizontal"?"horizontal":"vertical",u]),position:f,style:t,"data-testid":"rf__controls","aria-label":h??C["controls.ariaLabel"],children:[e&&dt(po,{children:[W(sf,{onClick:w,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:x,children:W(TH,{})}),W(sf,{onClick:b,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:g,children:W(EH,{})})]}),a&&W(sf,{className:"react-flow__controls-fitview",onClick:I,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:W(BH,{})}),o&&W(sf,{className:"react-flow__controls-interactive",onClick:v,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:m?W(FH,{}):W(OH,{})}),d]})}US.displayName="Controls";var VS=$e(US);function HH({id:t,x:e,y:a,width:o,height:r,style:n,color:s,strokeColor:i,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:c,onClick:h}){let{background:p,backgroundColor:m}=n||{},g=s||p||m;return W("rect",{className:qe(["react-flow__minimap-node",{selected:c},u]),x:e,y:a,rx:d,ry:d,width:o,height:r,style:{fill:g,stroke:i,strokeWidth:l},shapeRendering:f,onClick:h?x=>h(x,t):void 0})}var _H=$e(HH),qH=t=>t.nodes.map(e=>e.id),$m=t=>t instanceof Function?t:()=>t;function zH({nodeStrokeColor:t,nodeColor:e,nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:n=_H,onClick:s}){let i=Le(qH,De),l=$m(e),u=$m(t),d=$m(a),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return W(po,{children:i.map(c=>W(VH,{id:c,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:n,onClick:s,shapeRendering:f},c))})}function UH({id:t,nodeColorFunc:e,nodeStrokeColorFunc:a,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:n,shapeRendering:s,NodeComponent:i,onClick:l}){let{node:u,x:d,y:f,width:c,height:h}=Le(p=>{let m=p.nodeLookup.get(t);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};let g=m.internals.userNode,{x,y:C}=m.internals.positionAbsolute,{width:L,height:y}=Ha(g);return{node:g,x,y:C,width:L,height:y}},De);return!u||u.hidden||!Kd(u)?null:W(i,{x:d,y:f,width:c,height:h,style:u.style,selected:!!u.selected,className:o(u),color:e(u),borderRadius:r,strokeColor:a(u),strokeWidth:n,shapeRendering:s,onClick:l,id:u.id})}var VH=$e(UH),WH=$e(zH),GH=200,$H=150,XH=t=>!t.hidden,KH=t=>{let e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?Pm(jn(t.nodeLookup,{filter:XH}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},jH="react-flow__minimap-desc";function WS({style:t,className:e,nodeStrokeColor:a,nodeColor:o,nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:s,nodeComponent:i,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:c="bottom-right",onClick:h,onNodeClick:p,pannable:m=!1,zoomable:g=!1,ariaLabel:x,inversePan:C,zoomStep:L=1,offsetScale:y=5}){let S=Fe(),w=we(null),{boundingRect:b,viewBB:I,rfId:v,panZoom:N,translateExtent:P,flowWidth:R,flowHeight:H,ariaLabelConfig:k}=Le(KH,De),D=t?.width??GH,M=t?.height??$H,T=b.width/D,E=b.height/M,B=Math.max(T,E),A=B*D,q=B*M,F=y*B,G=b.x-(A-b.width)/2-F,_=b.y-(q-b.height)/2-F,O=A+F*2,U=q+F*2,X=`${jH}-${v}`,z=we(0),$=we();z.current=B,ke(()=>{if(w.current&&N)return $.current=yI({domNode:w.current,panZoom:N,getTransform:()=>S.getState().transform,getViewScale:()=>z.current}),()=>{$.current?.destroy()}},[N]),ke(()=>{$.current?.update({translateExtent:P,width:R,height:H,inversePan:C,pannable:m,zoomStep:L,zoomable:g})},[m,g,C,L,P,R,H]);let ie=h?ne=>{let[ue,Ie]=$.current?.pointer(ne)||[0,0];h(ne,{x:ue,y:Ie})}:void 0,se=p?za((ne,ue)=>{let Ie=S.getState().nodeLookup.get(ue).internals.userNode;p(ne,Ie)},[]):void 0,oe=x??k["minimap.ariaLabel"];return W(df,{position:c,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:qe(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:dt("svg",{width:D,height:M,viewBox:`${G} ${_} ${O} ${U}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:w,onClick:ie,children:[oe&&W("title",{id:X,children:oe}),W(WH,{onClick:se,nodeColor:o,nodeStrokeColor:a,nodeBorderRadius:n,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:i}),W("path",{className:"react-flow__minimap-mask",d:`M${G-F},${_-F}h${O+F*2}v${U+F*2}h${-O-F*2}z
27
- M${I.x},${I.y}h${I.width}v${I.height}h${-I.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}WS.displayName="MiniMap";var p9=$e(WS),ZH=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,YH={[Uo.Line]:"right",[Uo.Handle]:"bottom-right"};function JH({nodeId:t,position:e,variant:a=Uo.Handle,className:o,style:r=void 0,children:n,color:s,minWidth:i=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:c,autoScale:h=!0,shouldResize:p,onResizeStart:m,onResize:g,onResizeEnd:x}){let C=LS(),L=typeof t=="string"?t:C,y=Fe(),S=we(null),w=a===Uo.Handle,b=Le(za(ZH(w&&h),[w,h]),De),I=we(null),v=e??YH[a];ke(()=>{if(!(!S.current||!L))return I.current||(I.current=vI({domNode:S.current,nodeId:L,getStoreItems:()=>{let{nodeLookup:P,transform:R,snapGrid:H,snapToGrid:k,nodeOrigin:D,domNode:M}=y.getState();return{nodeLookup:P,transform:R,snapGrid:H,snapToGrid:k,nodeOrigin:D,paneDomNode:M}},onChange:(P,R)=>{let{triggerNodeChanges:H,nodeLookup:k,parentLookup:D,nodeOrigin:M}=y.getState(),T=[],E={x:P.x,y:P.y},B=k.get(L);if(B&&B.expandParent&&B.parentId){let A=B.origin??M,q=P.width??B.measured.width??0,F=P.height??B.measured.height??0,G={id:B.id,parentId:B.parentId,rect:{width:q,height:F,...Tm({x:P.x??B.position.x,y:P.y??B.position.y},{width:q,height:F},B.parentId,k,A)}},_=tf([G],k,D,M);T.push(..._),E.x=P.x?Math.max(A[0]*q,P.x):void 0,E.y=P.y?Math.max(A[1]*F,P.y):void 0}if(E.x!==void 0&&E.y!==void 0){let A={id:L,type:"position",position:{...E}};T.push(A)}if(P.width!==void 0&&P.height!==void 0){let q={id:L,type:"dimensions",resizing:!0,setAttributes:c?c==="horizontal"?"width":"height":!0,dimensions:{width:P.width,height:P.height}};T.push(q)}for(let A of R){let q={...A,type:"position"};T.push(q)}H(T)},onEnd:({width:P,height:R})=>{let H={id:L,type:"dimensions",resizing:!1,dimensions:{width:P,height:R}};y.getState().triggerNodeChanges([H])}})),I.current.update({controlPosition:v,boundaries:{minWidth:i,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:c,onResizeStart:m,onResize:g,onResizeEnd:x,shouldResize:p}),()=>{I.current?.destroy()}},[v,i,l,u,d,f,m,g,x,p]);let N=v.split("-");return W("div",{className:qe(["react-flow__resize-control","nodrag",...N,a,o]),ref:S,style:{...r,scale:b,...s&&{[w?"backgroundColor":"borderColor"]:s}},children:n})}var m9=$e(JH);import{forwardRef as o_,createElement as r_}from"react";var hf=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var GS=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var $S=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var Ym=t=>{let e=$S(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as a_,createElement as jS}from"react";var pf={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var XS=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as QH,useContext as e_,useMemo as k9,createElement as A9}from"react";var t_=QH({});var KS=()=>e_(t_);var ZS=a_(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:c="currentColor",className:h=""}=KS()??{},p=o??f?Number(a??d)*24/Number(e??u):a??d;return jS("svg",{ref:l,...pf,width:e??u??pf.width,height:e??u??pf.height,stroke:t??c,strokeWidth:p,className:hf("lucide",h,r),...!n&&!XS(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>jS(m,g)),...Array.isArray(n)?n:[n]])});var Vo=(t,e)=>{let a=o_(({className:o,...r},n)=>r_(ZS,{ref:n,iconNode:e,className:hf(`lucide-${GS(Ym(t))}`,`lucide-${t}`,o),...r}));return a.displayName=Ym(t),a};var n_=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Ti=Vo("database",n_);var s_=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ei=Vo("file-text",s_);var i_=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],Bi=Vo("key-round",i_);var l_=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Oi=Vo("link-2",l_);import{Fragment as Fv,jsx as Bt,jsxs as Va}from"react/jsx-runtime";var dv=Object.defineProperty,u_=(t,e,a)=>e in t?dv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,d_=(t,e)=>{for(var a in e)dv(t,a,{get:e[a],enumerable:!0})},f_=(t,e,a)=>u_(t,typeof e!="symbol"?e+"":e,a),fv={};d_(fv,{Graph:()=>aa,alg:()=>ng,json:()=>hv,version:()=>p_});var c_=Object.defineProperty,cv=(t,e)=>{for(var a in e)c_(t,a,{get:e[a],enumerable:!0})},aa=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,e){return t.forEach(a=>{e!==void 0?this.setNode(a,e):this.setNode(a)}),this}setNode(t,e){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let e=a=>this.removeEdge(this._edgeObjs[a]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(a=>{this.setParent(a)}),delete this._children[t]),Object.keys(this._in[t]).forEach(e),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e===void 0)e="\0";else{e+="";for(let a=e;a!==void 0;a=this.parent(a))if(a===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}parent(t){if(this._isCompound){let e=this._parent[t];if(e!=="\0")return e}}children(t="\0"){if(this._isCompound){let e=this._children[t];if(e)return Object.keys(e)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let e=this._preds[t];if(e)return Object.keys(e)}successors(t){let e=this._sucs[t];if(e)return Object.keys(e)}neighbors(t){let e=this.predecessors(t);if(e){let a=new Set(e);for(let o of this.successors(t))a.add(o);return Array.from(a.values())}}isLeaf(t){let e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){let e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{t(r)&&e.setNode(r,n)}),Object.values(this._edgeObjs).forEach(r=>{e.hasNode(r.v)&&e.hasNode(r.w)&&e.setEdge(r,this.edge(r))});let a={},o=r=>{let n=this.parent(r);return!n||e.hasNode(n)?(a[r]=n??void 0,n??void 0):n in a?a[n]:o(n)};return this._isCompound&&e.nodes().forEach(r=>e.setParent(r,o(r))),e}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,e){return t.reduce((a,o)=>(e!==void 0?this.setEdge(a,o,e):this.setEdge(a,o),o)),this}setEdge(t,e,a,o){let r,n,s,i,l=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,n=t.w,s=t.name,arguments.length===2&&(i=e,l=!0)):(r=t,n=e,s=o,arguments.length>2&&(i=a,l=!0)),r=""+r,n=""+n,s!==void 0&&(s=""+s);let u=Fi(this._isDirected,r,n,s);if(u in this._edgeLabels)return l&&(this._edgeLabels[u]=i),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(n),this._edgeLabels[u]=l?i:this._defaultEdgeLabelFn(r,n,s);let d=h_(this._isDirected,r,n,s);return r=d.v,n=d.w,Object.freeze(d),this._edgeObjs[u]=d,YS(this._preds[n],r),YS(this._sucs[r],n),this._in[n][u]=d,this._out[r][u]=d,this._edgeCount++,this}edge(t,e,a){let o=arguments.length===1?Jm(this._isDirected,t):Fi(this._isDirected,t,e,a);return this._edgeLabels[o]}edgeAsObj(t,e,a){let o=arguments.length===1?this.edge(t):this.edge(t,e,a);return typeof o!="object"?{label:o}:o}hasEdge(t,e,a){return(arguments.length===1?Jm(this._isDirected,t):Fi(this._isDirected,t,e,a))in this._edgeLabels}removeEdge(t,e,a){let o=arguments.length===1?Jm(this._isDirected,t):Fi(this._isDirected,t,e,a),r=this._edgeObjs[o];if(r){let n=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],JS(this._preds[s],n),JS(this._sucs[n],s),delete this._in[s][o],delete this._out[n][o],this._edgeCount--}return this}inEdges(t,e){return this.isDirected()?this.filterEdges(this._in[t],t,e):this.nodeEdges(t,e)}outEdges(t,e){return this.isDirected()?this.filterEdges(this._out[t],t,e):this.nodeEdges(t,e)}nodeEdges(t,e){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,e)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,e,a){if(!t)return;let o=Object.values(t);return a?o.filter(r=>r.v===e&&r.w===a||r.v===a&&r.w===e):o}};function YS(t,e){t[e]?t[e]++:t[e]=1}function JS(t,e){t[e]!==void 0&&!--t[e]&&delete t[e]}function Fi(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let s=r;r=n,n=s}return r+""+n+""+(o===void 0?"\0":o)}function h_(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let i=r;r=n,n=i}let s={v:r,w:n};return o&&(s.name=o),s}function Jm(t,e){return Fi(t,e.v,e.w,e.name)}var p_="4.0.1",hv={};cv(hv,{read:()=>L_,write:()=>m_});function m_(t){let e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:g_(t),edges:x_(t)},a=t.graph();return a!==void 0&&(e.value=structuredClone(a)),e}function g_(t){return t.nodes().map(e=>{let a=t.node(e),o=t.parent(e),r={v:e};return a!==void 0&&(r.value=a),o!==void 0&&(r.parent=o),r})}function x_(t){return t.edges().map(e=>{let a=t.edge(e),o={v:e.v,w:e.w};return e.name!==void 0&&(o.name=e.name),a!==void 0&&(o.value=a),o})}function L_(t){let e=new aa(t.options);return t.value!==void 0&&e.setGraph(t.value),t.nodes.forEach(a=>{e.setNode(a.v,a.value),a.parent&&e.setParent(a.v,a.parent)}),t.edges.forEach(a=>{e.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),e}var ng={};cv(ng,{CycleException:()=>gf,bellmanFord:()=>pv,components:()=>w_,dijkstra:()=>mf,dijkstraAll:()=>S_,findCycles:()=>v_,floydWarshall:()=>A_,isAcyclic:()=>P_,postorder:()=>D_,preorder:()=>T_,prim:()=>E_,shortestPaths:()=>B_,tarjan:()=>gv,topsort:()=>xv});var C_=()=>1;function pv(t,e,a,o){return y_(t,String(e),a||C_,o||function(r){return t.outEdges(r)})}function y_(t,e,a,o){let r={},n,s=0,i=t.nodes(),l=function(f){let c=a(f);r[f.v].distance+c<r[f.w].distance&&(r[f.w]={distance:r[f.v].distance+c,predecessor:f.v},n=!0)},u=function(){i.forEach(function(f){o(f).forEach(function(c){let h=c.v===f?c.v:c.w,p=h===c.v?c.w:c.v;l({v:h,w:p})})})};i.forEach(function(f){let c=f===e?0:Number.POSITIVE_INFINITY;r[f]={distance:c,predecessor:""}});let d=i.length;for(let f=1;f<d&&(n=!1,s++,u(),!!n);f++);if(s===d-1&&(n=!1,u(),n))throw new Error("The graph contains a negative weight cycle");return r}function w_(t){let e={},a=[],o;function r(n){n in e||(e[n]=!0,o.push(n),t.successors(n).forEach(r),t.predecessors(n).forEach(r))}return t.nodes().forEach(function(n){o=[],r(n),o.length&&a.push(o)}),a}var mv=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(t=>t.key)}has(t){return t in this._keyIndices}priority(t){let e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){let a=this._keyIndices,o=String(t);if(!(o in a)){let r=this._arr,n=r.length;return a[o]=n,r.push({key:o,priority:e}),this._decrease(n),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){let a=this._keyIndices[t];if(a===void 0)throw new Error(`Key not found: ${t}`);let o=this._arr[a].priority;if(e>o)throw new Error(`New priority is greater than current priority. Key: ${t} Old: ${o} New: ${e}`);this._arr[a].priority=e,this._decrease(a)}_heapify(t){let e=this._arr,a=2*t,o=a+1,r=t;a<e.length&&(r=e[a].priority<e[r].priority?a:r,o<e.length&&(r=e[o].priority<e[r].priority?o:r),r!==t&&(this._swap(t,r),this._heapify(r)))}_decrease(t){let e=this._arr,a=e[t].priority,o;for(;t!==0&&(o=t>>1,!(e[o].priority<a));)this._swap(t,o),t=o}_swap(t,e){let a=this._arr,o=this._keyIndices,r=a[t],n=a[e];a[t]=n,a[e]=r,o[n.key]=t,o[r.key]=e}},b_=()=>1;function mf(t,e,a,o){let r=function(n){return t.outEdges(n)};return I_(t,String(e),a||b_,o||r)}function I_(t,e,a,o){let r={},n=new mv,s,i,l=function(u){let d=u.v!==s?u.v:u.w,f=r[d],c=a(u),h=i.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+c);h<f.distance&&(f.distance=h,f.predecessor=s,n.decrease(d,h))};for(t.nodes().forEach(function(u){let d=u===e?0:Number.POSITIVE_INFINITY;r[u]={distance:d,predecessor:""},n.add(u,d)});n.size()>0&&(s=n.removeMin(),i=r[s],i.distance!==Number.POSITIVE_INFINITY);)o(s).forEach(l);return r}function S_(t,e,a){return t.nodes().reduce(function(o,r){return o[r]=mf(t,r,e,a),o},{})}function gv(t){let e=0,a=[],o={},r=[];function n(s){let i=o[s]={onStack:!0,lowlink:e,index:e++};if(a.push(s),t.successors(s).forEach(function(l){l in o?o[l].onStack&&(i.lowlink=Math.min(i.lowlink,o[l].index)):(n(l),i.lowlink=Math.min(i.lowlink,o[l].lowlink))}),i.lowlink===i.index){let l=[],u;do u=a.pop(),o[u].onStack=!1,l.push(u);while(s!==u);r.push(l)}}return t.nodes().forEach(function(s){s in o||n(s)}),r}function v_(t){return gv(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}var k_=()=>1;function A_(t,e,a){return M_(t,e||k_,a||function(o){return t.outEdges(o)})}function M_(t,e,a){let o={},r=t.nodes();return r.forEach(function(n){o[n]={},o[n][n]={distance:0,predecessor:""},r.forEach(function(s){n!==s&&(o[n][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),a(n).forEach(function(s){let i=s.v===n?s.w:s.v,l=e(s);o[n][i]={distance:l,predecessor:n}})}),r.forEach(function(n){let s=o[n];r.forEach(function(i){let l=o[i];r.forEach(function(u){let d=l[n],f=s[u],c=l[u],h=d.distance+f.distance;h<c.distance&&(c.distance=h,c.predecessor=f.predecessor)})})}),o}var gf=class extends Error{constructor(...t){super(...t)}};function xv(t){let e={},a={},o=[];function r(n){if(n in a)throw new gf;n in e||(a[n]=!0,e[n]=!0,t.predecessors(n).forEach(r),delete a[n],o.push(n))}if(t.sinks().forEach(r),Object.keys(e).length!==t.nodeCount())throw new gf;return o}function P_(t){try{xv(t)}catch(e){if(e instanceof gf)return!1;throw e}return!0}function R_(t,e,a,o,r){Array.isArray(e)||(e=[e]);let n=(i=>{var l;return(l=t.isDirected()?t.successors(i):t.neighbors(i))!=null?l:[]}),s={};return e.forEach(function(i){if(!t.hasNode(i))throw new Error("Graph does not have node: "+i);r=Lv(t,i,a==="post",s,n,o,r)}),r}function Lv(t,e,a,o,r,n,s){return e in o||(o[e]=!0,a||(s=n(s,e)),r(e).forEach(function(i){s=Lv(t,i,a,o,r,n,s)}),a&&(s=n(s,e))),s}function Cv(t,e,a){return R_(t,e,a,function(o,r){return o.push(r),o},[])}function D_(t,e){return Cv(t,e,"post")}function T_(t,e){return Cv(t,e,"pre")}function E_(t,e){let a=new aa,o={},r=new mv,n;function s(l){let u=l.v===n?l.w:l.v,d=r.priority(u);if(d!==void 0){let f=e(l);f<d&&(o[u]=n,r.decrease(u,f))}}if(t.nodeCount()===0)return a;t.nodes().forEach(function(l){r.add(l,Number.POSITIVE_INFINITY),a.setNode(l)}),r.decrease(t.nodes()[0],0);let i=!1;for(;r.size()>0;){if(n=r.removeMin(),n in o)a.setEdge(n,o[n]);else{if(i)throw new Error("Input graph is not connected: "+t);i=!0}t.nodeEdges(n).forEach(s)}return a}function B_(t,e,a,o){return O_(t,e,a,o??(r=>{let n=t.outEdges(r);return n??[]}))}function O_(t,e,a,o){if(a===void 0)return mf(t,e,a,o);let r=!1,n=t.nodes();for(let s=0;s<n.length;s++){let i=o(n[s]);for(let l=0;l<i.length;l++){let u=i[l],d=u.v===n[s]?u.v:u.w,f=d===u.v?u.w:u.v;a({v:d,w:f})<0&&(r=!0)}if(r)return pv(t,e,a,o)}return mf(t,e,a,o)}function as(t,e,a,o){let r=o;for(;t.hasNode(r);)r=sg(o);return a.dummy=e,t.setNode(r,a),r}function F_(t){let e=new aa().setGraph(t.graph());return t.nodes().forEach(a=>e.setNode(a,t.node(a))),t.edges().forEach(a=>{let o=e.edge(a.v,a.w)||{weight:0,minlen:1},r=t.edge(a);e.setEdge(a.v,a.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),e}function yv(t){let e=new aa({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(a=>{t.children(a).length||e.setNode(a,t.node(a))}),t.edges().forEach(a=>{e.setEdge(a,t.edge(a))}),e}function QS(t,e){let a=t.x,o=t.y,r=e.x-a,n=e.y-o,s=t.width/2,i=t.height/2;if(!r&&!n)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(n)*s>Math.abs(r)*i?(n<0&&(i=-i),l=i*r/n,u=i):(r<0&&(s=-s),l=s,u=s*n/r),{x:a+l,y:o+u}}function Hi(t){let e=Ni(bv(t)+1).map(()=>[]);return t.nodes().forEach(a=>{let o=t.node(a),r=o.rank;r!==void 0&&(e[r]||(e[r]=[]),e[r][o.order]=a)}),e}function N_(t){let e=t.nodes().map(o=>{let r=t.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),a=Ua(Math.min,e);t.nodes().forEach(o=>{let r=t.node(o);Object.hasOwn(r,"rank")&&(r.rank-=a)})}function H_(t){let e=t.nodes().map(s=>t.node(s).rank).filter(s=>s!==void 0),a=Ua(Math.min,e),o=[];t.nodes().forEach(s=>{let i=t.node(s).rank-a;o[i]||(o[i]=[]),o[i].push(s)});let r=0,n=t.graph().nodeRankFactor;Array.from(o).forEach((s,i)=>{s===void 0&&i%n!==0?--r:s!==void 0&&r&&s.forEach(l=>t.node(l).rank+=r)})}function ev(t,e,a,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=a,r.order=o),as(t,"border",r,e)}function __(t,e=wv){let a=[];for(let o=0;o<t.length;o+=e){let r=t.slice(o,o+e);a.push(r)}return a}var wv=65535;function Ua(t,e){if(e.length>wv){let a=__(e);return t(...a.map(o=>t(...o)))}else return t(...e)}function bv(t){let e=t.nodes().map(a=>{let o=t.node(a).rank;return o===void 0?Number.MIN_VALUE:o});return Ua(Math.max,e)}function q_(t,e){let a={lhs:[],rhs:[]};return t.forEach(o=>{e(o)?a.lhs.push(o):a.rhs.push(o)}),a}function Iv(t,e){let a=Date.now();try{return e()}finally{console.log(t+" time: "+(Date.now()-a)+"ms")}}function Sv(t,e){return e()}var z_=0;function sg(t){let e=++z_;return t+(""+e)}function Ni(t,e,a=1){e==null&&(e=t,t=0);let o=n=>n<e;a<0&&(o=n=>e<n);let r=[];for(let n=t;o(n);n+=a)r.push(n);return r}function xf(t,e){let a={};for(let o of e)t[o]!==void 0&&(a[o]=t[o]);return a}function Lf(t,e){let a;return typeof e=="string"?a=o=>o[e]:a=e,Object.entries(t).reduce((o,[r,n])=>(o[r]=a(n,r),o),{})}function U_(t,e){return t.reduce((a,o,r)=>(a[o]=e[r],a),{})}var Cf="\0",V_="3.0.0",W_=class{constructor(){f_(this,"_sentinel");let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,e=t._prev;if(e!==t)return tv(e),e}enqueue(t){let e=this._sentinel;t._prev&&t._next&&tv(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){let t=[],e=this._sentinel,a=e._prev;for(;a!==e;)t.push(JSON.stringify(a,G_)),a=a._prev;return"["+t.join(", ")+"]"}};function tv(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function G_(t,e){if(t!=="_next"&&t!=="_prev")return e}var $_=W_,X_=()=>1;function K_(t,e){if(t.nodeCount()<=1)return[];let a=Z_(t,e||X_);return j_(a.graph,a.buckets,a.zeroIdx).flatMap(o=>t.outEdges(o.v,o.w)||[])}function j_(t,e,a){var o;let r=[],n=e[e.length-1],s=e[0],i;for(;t.nodeCount();){for(;i=s.dequeue();)Qm(t,e,a,i);for(;i=n.dequeue();)Qm(t,e,a,i);if(t.nodeCount()){for(let l=e.length-2;l>0;--l)if(i=(o=e[l])==null?void 0:o.dequeue(),i){r=r.concat(Qm(t,e,a,i,!0)||[]);break}}}return r}function Qm(t,e,a,o,r){let n=[],s=r?n:void 0;return(t.inEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=t.node(i.v);r&&n.push({v:i.v,w:i.w}),u.out-=l,rg(e,a,u)}),(t.outEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=i.w,d=t.node(u);d.in-=l,rg(e,a,d)}),t.removeNode(o.v),s}function Z_(t,e){let a=new aa,o=0,r=0;t.nodes().forEach(i=>{a.setNode(i,{v:i,in:0,out:0})}),t.edges().forEach(i=>{let l=a.edge(i.v,i.w)||0,u=e(i),d=l+u;a.setEdge(i.v,i.w,d);let f=a.node(i.v),c=a.node(i.w);r=Math.max(r,f.out+=u),o=Math.max(o,c.in+=u)});let n=Y_(r+o+3).map(()=>new $_),s=o+1;return a.nodes().forEach(i=>{rg(n,s,a.node(i))}),{graph:a,buckets:n,zeroIdx:s}}function rg(t,e,a){var o,r,n;a.out?a.in?(n=t[a.out-a.in+e])==null||n.enqueue(a):(r=t[t.length-1])==null||r.enqueue(a):(o=t[0])==null||o.enqueue(a)}function Y_(t){let e=[];for(let a=0;a<t;a++)e.push(a);return e}function J_(t){(t.graph().acyclicer==="greedy"?K_(t,e(t)):Q_(t)).forEach(a=>{let o=t.edge(a);t.removeEdge(a),o.forwardName=a.name,o.reversed=!0,t.setEdge(a.w,a.v,o,sg("rev"))});function e(a){return o=>a.edge(o).weight}}function Q_(t){let e=[],a={},o={};function r(n){Object.hasOwn(o,n)||(o[n]=!0,a[n]=!0,t.outEdges(n).forEach(s=>{Object.hasOwn(a,s.w)?e.push(s):r(s.w)}),delete a[n])}return t.nodes().forEach(r),e}function eq(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.reversed){t.removeEdge(e);let o=a.forwardName;delete a.reversed,delete a.forwardName,t.setEdge(e.w,e.v,a,o)}})}function tq(t){t.graph().dummyChains=[],t.edges().forEach(e=>aq(t,e))}function aq(t,e){let a=e.v,o=t.node(a).rank,r=e.w,n=t.node(r).rank,s=e.name,i=t.edge(e),l=i.labelRank;if(n===o+1)return;t.removeEdge(e);let u,d,f;for(f=0,++o;o<n;++f,++o)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:e,rank:o},u=as(t,"edge",d,"_d"),o===l&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),t.setEdge(a,u,{weight:i.weight},s),f===0&&t.graph().dummyChains.push(u),a=u;t.setEdge(a,r,{weight:i.weight},s)}function oq(t){t.graph().dummyChains.forEach(e=>{let a=t.node(e),o=a.edgeLabel,r;for(t.setEdge(a.edgeObj,o);a.dummy;)r=t.successors(e)[0],t.removeNode(e),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),e=r,a=t.node(e)})}function ig(t){let e={};function a(o){let r=t.node(o);if(Object.hasOwn(e,o))return r.rank;e[o]=!0;let n=t.outEdges(o),s=n?n.map(l=>l==null?Number.POSITIVE_INFINITY:a(l.w)-t.edge(l).minlen):[],i=Ua(Math.min,s);return i===Number.POSITIVE_INFINITY&&(i=0),r.rank=i}t.sources().forEach(a)}function ts(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var vv=rq;function rq(t){let e=new aa({directed:!1}),a=t.nodes();if(a.length===0)throw new Error("Graph must have at least one node");let o=a[0],r=t.nodeCount();e.setNode(o,{});let n,s;for(;nq(e,t)<r&&(n=sq(e,t),!!n);)s=e.hasNode(n.v)?ts(t,n):-ts(t,n),iq(e,t,s);return e}function nq(t,e){function a(o){let r=e.nodeEdges(o);r&&r.forEach(n=>{let s=n.v,i=o===s?n.w:s;!t.hasNode(i)&&!ts(e,n)&&(t.setNode(i,{}),t.setEdge(o,i,{}),a(i))})}return t.nodes().forEach(a),t.nodeCount()}function sq(t,e){return e.edges().reduce((a,o)=>{let r=Number.POSITIVE_INFINITY;return t.hasNode(o.v)!==t.hasNode(o.w)&&(r=ts(e,o)),r<a[0]?[r,o]:a},[Number.POSITIVE_INFINITY,null])[1]}function iq(t,e,a){t.nodes().forEach(o=>e.node(o).rank+=a)}var{preorder:lq,postorder:uq}=ng,dq=Zr;Zr.initLowLimValues=ug;Zr.initCutValues=lg;Zr.calcCutValue=kv;Zr.leaveEdge=Mv;Zr.enterEdge=Pv;Zr.exchangeEdges=Rv;function Zr(t){t=F_(t),ig(t);let e=vv(t);ug(e),lg(e,t);let a,o;for(;a=Mv(e);)o=Pv(e,t,a),Rv(e,t,a,o)}function lg(t,e){let a=uq(t,t.nodes());a=a.slice(0,a.length-1),a.forEach(o=>fq(t,e,o))}function fq(t,e,a){let o=t.node(a).parent,r=t.edge(a,o);r.cutvalue=kv(t,e,a)}function kv(t,e,a){let o=t.node(a).parent,r=!0,n=e.edge(a,o),s=0;n||(r=!1,n=e.edge(o,a)),s=n.weight;let i=e.nodeEdges(a);return i&&i.forEach(l=>{let u=l.v===a,d=u?l.w:l.v;if(d!==o){let f=u===r,c=e.edge(l).weight;if(s+=f?c:-c,hq(t,a,d)){let h=t.edge(a,d).cutvalue;s+=f?-h:h}}}),s}function ug(t,e){arguments.length<2&&(e=t.nodes()[0]),Av(t,{},1,e)}function Av(t,e,a,o,r){let n=a,s=t.node(o);e[o]=!0;let i=t.neighbors(o);return i&&i.forEach(l=>{Object.hasOwn(e,l)||(a=Av(t,e,a,l,o))}),s.low=n,s.lim=a++,r?s.parent=r:delete s.parent,a}function Mv(t){return t.edges().find(e=>t.edge(e).cutvalue<0)}function Pv(t,e,a){let o=a.v,r=a.w;e.hasEdge(o,r)||(o=a.w,r=a.v);let n=t.node(o),s=t.node(r),i=n,l=!1;return n.lim>s.lim&&(i=s,l=!0),e.edges().filter(u=>l===av(t,t.node(u.v),i)&&l!==av(t,t.node(u.w),i)).reduce((u,d)=>ts(e,d)<ts(e,u)?d:u)}function Rv(t,e,a,o){let r=a.v,n=a.w;t.removeEdge(r,n),t.setEdge(o.v,o.w,{}),ug(t),lg(t,e),cq(t,e)}function cq(t,e){let a=t.nodes().find(r=>!t.node(r).parent);if(!a)return;let o=lq(t,[a]);o=o.slice(1),o.forEach(r=>{let n=t.node(r).parent,s=e.edge(r,n),i=!1;s||(s=e.edge(n,r),i=!0),e.node(r).rank=e.node(n).rank+(i?s.minlen:-s.minlen)})}function hq(t,e,a){return t.hasEdge(e,a)}function av(t,e,a){return a.low<=e.lim&&e.lim<=a.lim}var pq=mq;function mq(t){let e=t.graph().ranker;if(typeof e=="function")return e(t);switch(e){case"network-simplex":ov(t);break;case"tight-tree":xq(t);break;case"longest-path":gq(t);break;case"none":break;default:ov(t)}}var gq=ig;function xq(t){ig(t),vv(t)}function ov(t){dq(t)}var Lq=Cq;function Cq(t){let e=wq(t);t.graph().dummyChains.forEach(a=>{let o=t.node(a),r=o.edgeObj,n=yq(t,e,r.v,r.w),s=n.path,i=n.lca,l=0,u=s[l],d=!0;for(;a!==r.w;){if(o=t.node(a),d){for(;(u=s[l])!==i&&t.node(u).maxRank<o.rank;)l++;u===i&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(s[l+1]).minRank<=o.rank;)l++;u=s[l]}u!==void 0&&t.setParent(a,u),a=t.successors(a)[0]}})}function yq(t,e,a,o){let r=[],n=[],s=Math.min(e[a].low,e[o].low),i=Math.max(e[a].lim,e[o].lim),l;l=a;do l=t.parent(l),r.push(l);while(l&&(e[l].low>s||i>e[l].lim));let u=l,d=o;for(;(d=t.parent(d))!==u;)n.push(d);return{path:r.concat(n.reverse()),lca:u}}function wq(t){let e={},a=0;function o(r){let n=a;t.children(r).forEach(o),e[r]={low:n,lim:a++}}return t.children(Cf).forEach(o),e}function bq(t){let e=as(t,"root",{},"_root"),a=Iq(t),o=Object.values(a),r=Ua(Math.max,o)-1,n=2*r+1;t.graph().nestingRoot=e,t.edges().forEach(i=>t.edge(i).minlen*=n);let s=Sq(t)+1;t.children(Cf).forEach(i=>Dv(t,e,n,s,r,a,i)),t.graph().nodeRankFactor=n}function Dv(t,e,a,o,r,n,s){var i;let l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:a});return}let u=ev(t,"_bt"),d=ev(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(d,s),f.borderBottom=d,l.forEach(c=>{var h;Dv(t,e,a,o,r,n,c);let p=t.node(c),m=p.borderTop?p.borderTop:c,g=p.borderBottom?p.borderBottom:c,x=p.borderTop?o:2*o,C=m!==g?1:r-((h=n[s])!=null?h:0)+1;t.setEdge(u,m,{weight:x,minlen:C,nestingEdge:!0}),t.setEdge(g,d,{weight:x,minlen:C,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:r+((i=n[s])!=null?i:0)})}function Iq(t){let e={};function a(o,r){let n=t.children(o);n&&n.length&&n.forEach(s=>a(s,r+1)),e[o]=r}return t.children(Cf).forEach(o=>a(o,1)),e}function Sq(t){return t.edges().reduce((e,a)=>e+t.edge(a).weight,0)}function vq(t){let e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach(a=>{t.edge(a).nestingEdge&&t.removeEdge(a)})}var kq=Aq;function Aq(t){function e(a){let o=t.children(a),r=t.node(a);if(o.length&&o.forEach(e),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,s=r.maxRank+1;n<s;++n)rv(t,"borderLeft","_bl",a,r,n),rv(t,"borderRight","_br",a,r,n)}}t.children(Cf).forEach(e)}function rv(t,e,a,o,r,n){let s={width:0,height:0,rank:n,borderType:e},i=r[e][n-1],l=as(t,"border",s,a);r[e][n]=l,t.setParent(l,o),i&&t.setEdge(i,l,{weight:1})}function Mq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="lr"||a==="rl")&&Tv(t)}function Pq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="bt"||a==="rl")&&Rq(t),(a==="lr"||a==="rl")&&(Dq(t),Tv(t))}function Tv(t){t.nodes().forEach(e=>nv(t.node(e))),t.edges().forEach(e=>nv(t.edge(e)))}function nv(t){let e=t.width;t.width=t.height,t.height=e}function Rq(t){t.nodes().forEach(e=>eg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(eg),Object.hasOwn(o,"y")&&eg(o)})}function eg(t){t.y=-t.y}function Dq(t){t.nodes().forEach(e=>tg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(tg),Object.hasOwn(o,"x")&&tg(o)})}function tg(t){let e=t.x;t.x=t.y,t.y=e}function Tq(t){let e={},a=t.nodes().filter(i=>!t.children(i).length),o=a.map(i=>t.node(i).rank),r=Ua(Math.max,o),n=Ni(r+1).map(()=>[]);function s(i){if(e[i])return;e[i]=!0;let l=t.node(i);n[l.rank].push(i);let u=t.successors(i);u&&u.forEach(s)}return a.sort((i,l)=>t.node(i).rank-t.node(l).rank).forEach(s),n}function Eq(t,e){let a=0;for(let o=1;o<e.length;++o)a+=Bq(t,e[o-1],e[o]);return a}function Bq(t,e,a){let o=U_(a,a.map((u,d)=>d)),r=e.flatMap(u=>{let d=t.outEdges(u);return d?d.map(f=>({pos:o[f.w],weight:t.edge(f).weight})).sort((f,c)=>f.pos-c.pos):[]}),n=1;for(;n<a.length;)n<<=1;let s=2*n-1;n-=1;let i=new Array(s).fill(0),l=0;return r.forEach(u=>{let d=u.pos+n;i[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=i[d+1]),d=d-1>>1,i[d]+=u.weight;l+=u.weight*f}),l}function Oq(t,e=[]){return e.map(a=>{let o=t.inEdges(a);if(!o||!o.length)return{v:a};{let r=o.reduce((n,s)=>{let i=t.edge(s),l=t.node(s.v);return{sum:n.sum+i.weight*l.order,weight:n.weight+i.weight}},{sum:0,weight:0});return{v:a,barycenter:r.sum/r.weight,weight:r.weight}}})}function Fq(t,e){let a={};t.forEach((r,n)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i:n};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),a[r.v]=s}),e.edges().forEach(r=>{let n=a[r.v],s=a[r.w];n!==void 0&&s!==void 0&&(s.indegree++,n.out.push(s))});let o=Object.values(a).filter(r=>!r.indegree);return Nq(o)}function Nq(t){let e=[];function a(r){return n=>{n.merged||(n.barycenter===void 0||r.barycenter===void 0||n.barycenter>=r.barycenter)&&Hq(r,n)}}function o(r){return n=>{n.in.push(r),--n.indegree===0&&t.push(n)}}for(;t.length;){let r=t.pop();e.push(r),r.in.reverse().forEach(a(r)),r.out.forEach(o(r))}return e.filter(r=>!r.merged).map(r=>xf(r,["vs","i","barycenter","weight"]))}function Hq(t,e){let a=0,o=0;t.weight&&(a+=t.barycenter*t.weight,o+=t.weight),e.weight&&(a+=e.barycenter*e.weight,o+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=a/o,t.weight=o,t.i=Math.min(e.i,t.i),e.merged=!0}function _q(t,e){let a=q_(t,d=>Object.hasOwn(d,"barycenter")),o=a.lhs,r=a.rhs.sort((d,f)=>f.i-d.i),n=[],s=0,i=0,l=0;o.sort(qq(!!e)),l=sv(n,r,l),o.forEach(d=>{l+=d.vs.length,n.push(d.vs),s+=d.barycenter*d.weight,i+=d.weight,l=sv(n,r,l)});let u={vs:n.flat(1)};return i&&(u.barycenter=s/i,u.weight=i),u}function sv(t,e,a){let o;for(;e.length&&(o=e[e.length-1]).i<=a;)e.pop(),t.push(o.vs),a++;return a}function qq(t){return(e,a)=>e.barycenter<a.barycenter?-1:e.barycenter>a.barycenter?1:t?a.i-e.i:e.i-a.i}function Ev(t,e,a,o){let r=t.children(e),n=t.node(e),s=n?n.borderLeft:void 0,i=n?n.borderRight:void 0,l={};s&&(r=r.filter(c=>c!==s&&c!==i));let u=Oq(t,r);u.forEach(c=>{if(t.children(c.v).length){let h=Ev(t,c.v,a,o);l[c.v]=h,Object.hasOwn(h,"barycenter")&&Uq(c,h)}});let d=Fq(u,a);zq(d,l);let f=_q(d,o);if(s&&i){f.vs=[s,f.vs,i].flat(1);let c=t.predecessors(s);if(c&&c.length){let h=t.node(c[0]),p=t.predecessors(i),m=t.node(p[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+h.order+m.order)/(f.weight+2),f.weight+=2}}return f}function zq(t,e){t.forEach(a=>{a.vs=a.vs.flatMap(o=>e[o]?e[o].vs:o)})}function Uq(t,e){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)}function Vq(t,e,a,o){o||(o=t.nodes());let r=Wq(t),n=new aa({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>t.node(s));return o.forEach(s=>{let i=t.node(s),l=t.parent(s);if(i.rank===e||i.minRank<=e&&e<=i.maxRank){n.setNode(s),n.setParent(s,l||r);let u=t[a](s);u&&u.forEach(d=>{let f=d.v===s?d.w:d.v,c=n.edge(f,s),h=c!==void 0?c.weight:0;n.setEdge(f,s,{weight:t.edge(d).weight+h})}),Object.hasOwn(i,"minRank")&&n.setNode(s,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]})}}),n}function Wq(t){let e;for(;t.hasNode(e=sg("_root")););return e}function Gq(t,e,a){let o={},r;a.forEach(n=>{let s=t.parent(n),i,l;for(;s;){if(i=t.parent(s),i?(l=o[i],o[i]=s):(l=r,r=s),l&&l!==s){e.setEdge(l,s);return}s=i}})}function Bv(t,e={}){if(typeof e.customOrder=="function"){e.customOrder(t,Bv);return}let a=bv(t),o=iv(t,Ni(1,a+1),"inEdges"),r=iv(t,Ni(a-1,-1,-1),"outEdges"),n=Tq(t);if(lv(t,n),e.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,i,l=e.constraints||[];for(let u=0,d=0;d<4;++u,++d){$q(u%2?o:r,u%4>=2,l),n=Hi(t);let f=Eq(t,n);f<s?(d=0,i=Object.assign({},n),s=f):f===s&&(i=structuredClone(n))}lv(t,i)}function iv(t,e,a){let o=new Map,r=(n,s)=>{o.has(n)||o.set(n,[]),o.get(n).push(s)};for(let n of t.nodes()){let s=t.node(n);if(typeof s.rank=="number"&&r(s.rank,n),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let i=s.minRank;i<=s.maxRank;i++)i!==s.rank&&r(i,n)}return e.map(function(n){return Vq(t,n,a,o.get(n)||[])})}function $q(t,e,a){let o=new aa;t.forEach(function(r){a.forEach(i=>o.setEdge(i.left,i.right));let n=r.graph().root,s=Ev(r,n,o,e);s.vs.forEach((i,l)=>r.node(i).order=l),Gq(r,o,s.vs)})}function lv(t,e){Object.values(e).forEach(a=>a.forEach((o,r)=>t.node(o).order=r))}function Xq(t,e){let a={};function o(r,n){let s=0,i=0,l=r.length,u=n[n.length-1];return n.forEach((d,f)=>{let c=jq(t,d),h=c?t.node(c).order:l;(c||d===u)&&(n.slice(i,f+1).forEach(p=>{let m=t.predecessors(p);m&&m.forEach(g=>{let x=t.node(g),C=x.order;(C<s||h<C)&&!(x.dummy&&t.node(p).dummy)&&Ov(a,g,p)})}),i=f+1,s=h)}),n}return e.length&&e.reduce(o),a}function Kq(t,e){let a={};function o(n,s,i,l,u){Ni(s,i).forEach(d=>{let f=n[d];if(f!==void 0&&t.node(f).dummy){let c=t.predecessors(f);c&&c.forEach(h=>{if(h===void 0)return;let p=t.node(h);p.dummy&&(p.order<l||p.order>u)&&Ov(a,h,f)})}})}function r(n,s){let i=-1,l=-1,u=0;return s.forEach((d,f)=>{if(t.node(d).dummy==="border"){let c=t.predecessors(d);if(c&&c.length){let h=c[0];if(h===void 0)return;l=t.node(h).order,o(s,u,f,i,l),u=f,i=l}}o(s,u,s.length,l,n.length)}),s}return e.length&&e.reduce(r),a}function jq(t,e){if(t.node(e).dummy){let a=t.predecessors(e);if(a)return a.find(o=>t.node(o).dummy)}}function Ov(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];o||(t[e]=o={}),o[a]=!0}function Zq(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];return o!==void 0&&Object.hasOwn(o,a)}function Yq(t,e,a,o){let r={},n={},s={};return e.forEach(i=>{i.forEach((l,u)=>{r[l]=l,n[l]=l,s[l]=u})}),e.forEach(i=>{let l=-1;i.forEach(u=>{let d=o(u);if(d&&d.length){let f=d.sort((h,p)=>{let m=s[h],g=s[p];return(m!==void 0?m:0)-(g!==void 0?g:0)}),c=(f.length-1)/2;for(let h=Math.floor(c),p=Math.ceil(c);h<=p;++h){let m=f[h];if(m===void 0)continue;let g=s[m];if(g!==void 0&&n[u]===u&&l<g&&!Zq(a,u,m)){let x=r[m];x!==void 0&&(n[m]=u,n[u]=r[u]=x,l=g)}}}})}),{root:r,align:n}}function Jq(t,e,a,o,r=!1){let n={},s=Qq(t,e,a,r),i=r?"borderLeft":"borderRight";function l(h,p){let m=s.nodes().slice(),g={},x=m.pop();for(;x;){if(g[x])h(x);else{g[x]=!0,m.push(x);for(let C of p(x))m.push(C)}x=m.pop()}}function u(h){let p=s.inEdges(h);p?n[h]=p.reduce((m,g)=>{var x;let C=(x=n[g.v])!=null?x:0,L=s.edge(g);return Math.max(m,C+(L!==void 0?L:0))},0):n[h]=0}function d(h){let p=s.outEdges(h),m=Number.POSITIVE_INFINITY;p&&(m=p.reduce((x,C)=>{let L=n[C.w],y=s.edge(C);return Math.min(x,(L!==void 0?L:0)-(y!==void 0?y:0))},Number.POSITIVE_INFINITY));let g=t.node(h);m!==Number.POSITIVE_INFINITY&&g.borderType!==i&&(n[h]=Math.max(n[h]!==void 0?n[h]:0,m))}function f(h){return s.predecessors(h)||[]}function c(h){return s.successors(h)||[]}return l(u,f),l(d,c),Object.keys(o).forEach(h=>{var p;let m=a[h];m!==void 0&&(n[h]=(p=n[m])!=null?p:0)}),n}function Qq(t,e,a,o){let r=new aa,n=t.graph(),s=rz(n.nodesep,n.edgesep,o);return e.forEach(i=>{let l;i.forEach(u=>{let d=a[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let f=a[l];if(f!==void 0){let c=r.edge(f,d);r.setEdge(f,d,Math.max(s(t,u,l),c||0))}}l=u}})}),r}function ez(t,e){return Object.values(e).reduce((a,o)=>{let r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([i,l])=>{let u=nz(t,i)/2;r=Math.max(l+u,r),n=Math.min(l-u,n)});let s=r-n;return s<a[0]&&(a=[s,o]),a},[Number.POSITIVE_INFINITY,null])[1]}function tz(t,e){let a=Object.values(e),o=Ua(Math.min,a),r=Ua(Math.max,a);["u","d"].forEach(n=>{["l","r"].forEach(s=>{let i=n+s,l=t[i];if(!l||l===e)return;let u=Object.values(l),d=o-Ua(Math.min,u);s!=="l"&&(d=r-Ua(Math.max,u)),d&&(t[i]=Lf(l,f=>f+d))})})}function az(t,e=void 0){let a=t.ul;return a?Lf(a,(o,r)=>{var n,s;if(e){let l=e.toLowerCase(),u=t[l];if(u&&u[r]!==void 0)return u[r]}let i=Object.values(t).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((n=i[1])!=null?n:0)+((s=i[2])!=null?s:0))/2}):{}}function oz(t){let e=Hi(t),a=Object.assign(Xq(t,e),Kq(t,e)),o={},r;["u","d"].forEach(s=>{r=s==="u"?e:Object.values(e).reverse(),["l","r"].forEach(i=>{i==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=Yq(t,r,a,d=>(s==="u"?t.predecessors(d):t.successors(d))||[]),u=Jq(t,r,l.root,l.align,i==="r");i==="r"&&(u=Lf(u,d=>-d)),o[s+i]=u})});let n=ez(t,o);return tz(o,n),az(o,t.graph().align)}function rz(t,e,a){return(o,r,n)=>{let s=o.node(r),i=o.node(n),l=0,u;if(l+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=a?u:-u),u=void 0,l+=(s.dummy?e:t)/2,l+=(i.dummy?e:t)/2,l+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2;break}return u&&(l+=a?u:-u),l}}function nz(t,e){return t.node(e).width}function sz(t){t=yv(t),iz(t),Object.entries(oz(t)).forEach(([e,a])=>t.node(e).x=a)}function iz(t){let e=Hi(t),a=t.graph(),o=a.ranksep,r=a.rankalign,n=0;e.forEach(s=>{let i=s.reduce((l,u)=>{var d;let f=(d=t.node(u).height)!=null?d:0;return l>f?l:f},0);s.forEach(l=>{let u=t.node(l);r==="top"?u.y=n+u.height/2:r==="bottom"?u.y=n+i-u.height/2:u.y=n+i/2}),n+=i+o})}function lz(t,e={}){let a=e.debugTiming?Iv:Sv;return a("layout",()=>{let o=a(" buildLayoutGraph",()=>Lz(t));return a(" runLayout",()=>uz(o,a,e)),a(" updateInputGraph",()=>dz(t,o)),o})}function uz(t,e,a){e(" makeSpaceForEdgeLabels",()=>Cz(t)),e(" removeSelfEdges",()=>Mz(t)),e(" acyclic",()=>J_(t)),e(" nestingGraph.run",()=>bq(t)),e(" rank",()=>pq(yv(t))),e(" injectEdgeLabelProxies",()=>yz(t)),e(" removeEmptyRanks",()=>H_(t)),e(" nestingGraph.cleanup",()=>vq(t)),e(" normalizeRanks",()=>N_(t)),e(" assignRankMinMax",()=>wz(t)),e(" removeEdgeLabelProxies",()=>bz(t)),e(" normalize.run",()=>tq(t)),e(" parentDummyChains",()=>Lq(t)),e(" addBorderSegments",()=>kq(t)),e(" order",()=>Bv(t,a)),e(" insertSelfEdges",()=>Pz(t)),e(" adjustCoordinateSystem",()=>Mq(t)),e(" position",()=>sz(t)),e(" positionSelfEdges",()=>Rz(t)),e(" removeBorderNodes",()=>Az(t)),e(" normalize.undo",()=>oq(t)),e(" fixupEdgeLabelCoords",()=>vz(t)),e(" undoCoordinateSystem",()=>Pq(t)),e(" translateGraph",()=>Iz(t)),e(" assignNodeIntersects",()=>Sz(t)),e(" reversePoints",()=>kz(t)),e(" acyclic.undo",()=>eq(t))}function dz(t,e){t.nodes().forEach(a=>{let o=t.node(a),r=e.node(a);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,e.children(a).length&&(o.width=r.width,o.height=r.height))}),t.edges().forEach(a=>{let o=t.edge(a),r=e.edge(a);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var fz=["nodesep","edgesep","ranksep","marginx","marginy"],cz={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},hz=["acyclicer","ranker","rankdir","align","rankalign"],pz=["width","height","rank"],uv={width:0,height:0},mz=["minlen","weight","width","height","labeloffset"],gz={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},xz=["labelpos"];function Lz(t){let e=new aa({multigraph:!0,compound:!0}),a=og(t.graph());return e.setGraph(Object.assign({},cz,ag(a,fz),xf(a,hz))),t.nodes().forEach(o=>{let r=og(t.node(o)),n=ag(r,pz);Object.keys(uv).forEach(i=>{n[i]===void 0&&(n[i]=uv[i])}),e.setNode(o,n);let s=t.parent(o);s!==void 0&&e.setParent(o,s)}),t.edges().forEach(o=>{let r=og(t.edge(o));e.setEdge(o,Object.assign({},gz,ag(r,mz),xf(r,xz)))}),e}function Cz(t){let e=t.graph();e.ranksep/=2,t.edges().forEach(a=>{let o=t.edge(a);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function yz(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.width&&a.height){let o=t.node(e.v),r={rank:(t.node(e.w).rank-o.rank)/2+o.rank,e};as(t,"edge-proxy",r,"_ep")}})}function wz(t){let e=0;t.nodes().forEach(a=>{let o=t.node(a);o.borderTop&&(o.minRank=t.node(o.borderTop).rank,o.maxRank=t.node(o.borderBottom).rank,e=Math.max(e,o.maxRank))}),t.graph().maxRank=e}function bz(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="edge-proxy"){let o=a;t.edge(o.e).labelRank=a.rank,t.removeNode(e)}})}function Iz(t){let e=Number.POSITIVE_INFINITY,a=0,o=Number.POSITIVE_INFINITY,r=0,n=t.graph(),s=n.marginx||0,i=n.marginy||0;function l(u){let d=u.x,f=u.y,c=u.width,h=u.height;e=Math.min(e,d-c/2),a=Math.max(a,d+c/2),o=Math.min(o,f-h/2),r=Math.max(r,f+h/2)}t.nodes().forEach(u=>l(t.node(u))),t.edges().forEach(u=>{let d=t.edge(u);Object.hasOwn(d,"x")&&l(d)}),e-=s,o-=i,t.nodes().forEach(u=>{let d=t.node(u);d.x-=e,d.y-=o}),t.edges().forEach(u=>{let d=t.edge(u);d.points.forEach(f=>{f.x-=e,f.y-=o}),Object.hasOwn(d,"x")&&(d.x-=e),Object.hasOwn(d,"y")&&(d.y-=o)}),n.width=a-e+s,n.height=r-o+i}function Sz(t){t.edges().forEach(e=>{let a=t.edge(e),o=t.node(e.v),r=t.node(e.w),n,s;a.points?(n=a.points[0],s=a.points[a.points.length-1]):(a.points=[],n=r,s=o),a.points.unshift(QS(o,n)),a.points.push(QS(r,s))})}function vz(t){t.edges().forEach(e=>{let a=t.edge(e);if(Object.hasOwn(a,"x"))switch((a.labelpos==="l"||a.labelpos==="r")&&(a.width-=a.labeloffset),a.labelpos){case"l":a.x-=a.width/2+a.labeloffset;break;case"r":a.x+=a.width/2+a.labeloffset;break}})}function kz(t){t.edges().forEach(e=>{let a=t.edge(e);a.reversed&&a.points.reverse()})}function Az(t){t.nodes().forEach(e=>{if(t.children(e).length){let a=t.node(e),o=t.node(a.borderTop),r=t.node(a.borderBottom),n=t.node(a.borderLeft[a.borderLeft.length-1]),s=t.node(a.borderRight[a.borderRight.length-1]);a.width=Math.abs(s.x-n.x),a.height=Math.abs(r.y-o.y),a.x=n.x+a.width/2,a.y=o.y+a.height/2}}),t.nodes().forEach(e=>{t.node(e).dummy==="border"&&t.removeNode(e)})}function Mz(t){t.edges().forEach(e=>{if(e.v===e.w){let a=t.node(e.v);a.selfEdges||(a.selfEdges=[]),a.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function Pz(t){Hi(t).forEach(e=>{let a=0;e.forEach((o,r)=>{let n=t.node(o);n.order=r+a,(n.selfEdges||[]).forEach(s=>{as(t,"selfedge",{width:s.label.width,height:s.label.height,rank:n.rank,order:r+ ++a,e:s.e,label:s.label},"_se")}),delete n.selfEdges})})}function Rz(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="selfedge"){let o=a,r=t.node(o.e.v),n=r.x+r.width/2,s=r.y,i=a.x-n,l=r.height/2;t.setEdge(o.e,o.label),t.removeNode(e),o.label.points=[{x:n+2*i/3,y:s-l},{x:n+5*i/6,y:s-l},{x:n+i,y:s},{x:n+5*i/6,y:s+l},{x:n+2*i/3,y:s+l}],o.label.x=a.x,o.label.y=a.y}})}function ag(t,e){return Lf(xf(t,e),Number)}function og(t){let e={};return t&&Object.entries(t).forEach(([a,o])=>{typeof a=="string"&&(a=a.toLowerCase()),e[a]=o}),e}function Dz(t){let e=Hi(t),a=new aa({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+t.node(o).rank)}),t.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),e.forEach((o,r)=>{let n="layer"+r;a.setNode(n,{rank:"same"}),o.reduce((s,i)=>(a.setEdge(s,i,{style:"invis"}),i))}),a}var Tz={graphlib:fv,version:V_,layout:lz,debug:Dz,util:{time:Iv,notime:Sv}},dg=Tz;import{jsx as mo,jsxs as zz}from"react/jsx-runtime";function Nv({data:t,selected:e}){let a=t,o=a.highlight,r=new Set(o?.fields??[]),n="!h-1 !w-1 !border-0 !bg-transparent !opacity-0";return Va("div",{className:["relative w-[260px] overflow-visible rounded-xl border bg-zinc-900 font-mono text-[11px] text-zinc-100 shadow-lg shadow-black/40 transition-opacity",o?.focused?"border-blue-500 ring-2 ring-blue-500/30":o?.connected?"border-blue-400/60 ring-2 ring-blue-500/10":"border-zinc-700",o?.dimmed?"opacity-35":"",e&&!o?.focused?"ring-2 ring-zinc-100/10":""].join(" "),children:[Va("div",{className:"rounded-t-xl border-b border-zinc-700 bg-zinc-800 px-3 py-2",children:[Va("div",{className:"flex min-w-0 items-center gap-2",children:[Bt(Ti,{className:"h-3.5 w-3.5 shrink-0 text-zinc-400"}),Bt("span",{className:"min-w-0 flex-1 truncate text-[13px] font-semibold leading-none text-zinc-50",children:a.entity})]}),Bt("div",{className:"mt-1 truncate text-[10px] text-zinc-500",children:a.cartridge})]}),Bt("div",{className:"bg-zinc-900 py-1",children:a.fields.length===0?Bt("div",{className:"px-3 py-2 text-[10px] text-zinc-500",children:"No fields"}):a.fields.map(s=>{let i=`${s.type}${s.array?"[]":""}${s.optional?"?":""}`,l=s.displayName.toLowerCase()==="id",u=s.kind==="relation",d=s.kind==="document",f=r.has(s.displayName);return Va("div",{className:["relative grid min-h-[26px] grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-1 text-zinc-300",f?"bg-blue-500/15 text-blue-200":""].join(" "),children:[l?Va(Fv,{children:[Bt(ho,{id:`target-${s.displayName}-left`,type:"target",position:re.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Bt(ho,{id:`target-${s.displayName}-right`,type:"target",position:re.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,u?Va(Fv,{children:[Bt(ho,{id:`source-${s.displayName}-left`,type:"source",position:re.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Bt(ho,{id:`source-${s.displayName}-right`,type:"source",position:re.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,Va("span",{className:"flex min-w-0 items-center gap-1.5",children:[l?Bt(Bi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,u?Bt(Oi,{className:["h-3 w-3 shrink-0",f?"text-blue-300":"text-blue-400"].join(" ")}):null,d?Bt(Ei,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,Bt("span",{className:"truncate",children:s.displayName})]}),Bt("span",{className:"max-w-[96px] truncate text-right text-zinc-500",children:i})]},`${s.name}:${s.displayName}`)})}),Va("div",{className:"flex items-center justify-between gap-2 rounded-b-xl border-t border-zinc-700 bg-zinc-800 px-3 py-1.5 text-[10px] text-zinc-500",children:[Va("span",{className:"tabular-nums",children:[a.rowCount.toLocaleString()," rows"]}),Va("span",{className:"tabular-nums",children:[a.relationCount," rel \xB7 ",a.scalarCount," scalar"]})]})]})}var fg=260,Hv=150,_v=26,hg=390;function qv(t){let e=[];for(let a of t){if(!a.cartridge||!a.owns)continue;let o=[];for(let[r,n]of Object.entries(a.owns)){let s=(n.fields??[]).map(i=>({name:i.name,type:i.type,optional:i.optional,array:i.array,kind:i.kind,target:i.target,targetCart:i.target_cart,relationKind:i.relation_kind,fkField:i.fk_field}));o.push({name:r,fields:s})}o.length>0&&e.push({name:a.cartridge,entities:o})}return e}function os(t,e){return`${t}:${e}`}function zv(t){return t.kind??(t.target?"relation":"scalar")}function Ez(t){let e=zv(t);return{name:t.name,displayName:e==="relation"?t.fkField??t.name:t.name,type:e==="relation"&&t.target?t.target:t.type,kind:e,optional:t.optional===!0,array:t.array===!0,target:t.target,targetCart:t.targetCart,relationKind:t.relationKind,fkField:t.fkField}}function Bz(t){let e=t.map(Ez);return e.some(a=>a.displayName.toLowerCase()==="id")||e.unshift({name:"id",displayName:"id",type:"id",kind:"scalar",optional:!1,array:!1,implicit:!0}),e}function Uv(t){return t.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function Oz(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^a-zA-Z0-9]+/).map(e=>e.toLowerCase()).filter(Boolean)}function Fz(t){let e=Oz(t),a=new Set([Uv(t)]),o=e.length>0?e[e.length-1]:void 0;return o&&a.add(o),e.length>1&&o&&(a.add(`${e.slice(0,-1).map(r=>r[0]).join("")}${o}`),a.add(e.map(r=>r[0]).join(""))),[...a].filter(r=>r.length>=2)}function Nz(t,e){if(!/id$/i.test(t)||/^id$/i.test(t))return null;let a=Uv(t.replace(/id$/i,""));if(a.length<3)return null;let o=e.flatMap(s=>Fz(s.entity).map(i=>{let l=a===i,u=!l&&i.length>=4&&a.endsWith(i);return!l&&!u?null:{node:s,score:(l?1e3:500)+i.length}})).filter(s=>s!==null).sort((s,i)=>i.score-s.score||s.node.entity.localeCompare(i.node.entity)),r=o[0];if(!r)return null;let n=o[1];return n&&r.score===n.score?null:r.node}function Hz(t,e,a){let o=t?.fields.find(r=>r.displayName===e||r.name===e);!o||o.displayName.toLowerCase()==="id"||(o.kind="relation",o.target=a.entity,o.targetCart=a.cartridge,o.relationKind??(o.relationKind="inferred"),o.fkField??(o.fkField=e))}function _z(t){for(let e of t)e.scalarCount=e.fields.filter(a=>a.kind==="scalar").length,e.relationCount=e.fields.filter(a=>a.kind==="relation").length,e.documentCount=e.fields.filter(a=>a.kind==="document").length}function cg(t){return Math.max(Hv,74+t.fields.length*_v)}function qz(t,e){let a=new Map(t.map(l=>[l.id,0]));for(let l of e)a.set(l.source,(a.get(l.source)??0)+1),a.set(l.target,(a.get(l.target)??0)+1);let o=t.filter(l=>(a.get(l.id)??0)>0),r=t.filter(l=>(a.get(l.id)??0)===0),n=new Set(o.map(l=>l.id)),s=0,i=0;if(o.length>0){let l=new dg.graphlib.Graph;l.setGraph({rankdir:"LR",ranksep:160,nodesep:48,marginx:40,marginy:40}),l.setDefaultEdgeLabel(()=>({}));for(let u of o)l.setNode(u.id,{width:fg,height:cg(u)});for(let u of e)u.source!==u.target&&(!n.has(u.source)||!n.has(u.target)||l.setEdge(u.source,u.target));dg.layout(l);for(let u of o){let d=l.node(u.id),f=cg(u);u.position={x:d.x-fg/2,y:d.y-f/2},s=Math.max(s,u.position.x+fg),i=Math.max(i,u.position.y+f)}}if(r.length>0){r.sort((h,p)=>h.entity.localeCompare(p.entity));let l=o.length>0?s+hg:0,u=Math.max(1,Math.ceil(r.length/Math.ceil(r.length/6))),d=l,f=0,c=0;for(let h of r)h.position={x:d,y:f},f+=cg(h)+48,c+=1,c>=u&&(c=0,f=0,d+=hg)}}function Vv(t,e){return{entities:t.length,relationships:e.length,rows:t.reduce((a,o)=>a+o.rowCount,0)}}function Wv(t){let e=[...t].sort((i,l)=>i.name.localeCompare(l.name)),a=[];e.forEach((i,l)=>{let u=[...i.entities].sort((f,c)=>f.name.localeCompare(c.name)),d=0;u.forEach(f=>{let c=os(i.name,f.name),h=f.fields??[],p=Bz(h);a.push({id:c,cartridge:i.name,entity:f.name,fields:p,fieldCount:p.length,scalarCount:p.filter(m=>m.kind==="scalar").length,relationCount:p.filter(m=>m.kind==="relation").length,documentCount:p.filter(m=>m.kind==="document").length,rowCount:0,position:{x:l*hg,y:d}}),d+=Math.max(Hv,74+p.length*_v)+56})});let o=new Set(a.map(i=>i.id)),r=new Map(a.map(i=>[i.id,i])),n=[],s=new Set;for(let i of e)for(let l of i.entities){let u=os(i.name,l.name),d=r.get(u);for(let f of l.fields??[]){let c=zv(f)==="relation"&&!!f.target,h=c?null:Nz(f.name,a);if(!c&&!h)continue;let p=c?f.targetCart??i.name:h?.cartridge,m=c?f.target:h?.entity;if(!p||!m)continue;let g=os(p,m);if(!o.has(u)||!o.has(g))continue;let x=r.get(g),L=x?.fields.find(b=>b.displayName.toLowerCase()==="id")?.displayName??"__entity",S=d?.fields.find(b=>b.name===f.name||b.displayName===f.name)?.displayName??f.fkField??f.name,w=`${u}:${S}->${g}:${L}`;s.has(w)||(s.add(w),!c&&x&&Hz(d,S,x),n.push({id:`${u}:${f.name}->${g}`,source:u,target:g,sourceField:S,targetField:L,label:f.name,relationKind:f.relationKind??(c?void 0:"inferred"),fkField:f.fkField??(c?void 0:f.name)}))}}return _z(a),{nodes:a,edges:n,totals:Vv(a,n)}}function Gv(t,e){let a=t.nodes.filter(n=>e.has(n.id)).map(n=>({...n,position:{...n.position}})),o=new Set(a.map(n=>n.id)),r=t.edges.filter(n=>o.has(n.source)&&o.has(n.target));return qz(a,r),{nodes:a,edges:r,totals:Vv(a,r)}}var Uz={entity:Nv},Vz=({fitKey:t})=>{let e=_S(),{fitView:a}=Di();return pt.useEffect(()=>{e&&a({padding:.25,duration:200})},[e,t,a]),null};function Wz(){let{apiBaseUrl:t}=at(),[e,a]=pt.useState([]),[o,r]=pt.useState(!0),[n,s]=pt.useState(null);return pt.useEffect(()=>{let i=new AbortController,l=!1;return(async()=>{try{let u=await fetch(`${t}/_console/contracts`,{signal:i.signal,credentials:"include",headers:so()});if(!u.ok)throw new Error(`HTTP ${u.status}`);let d=await u.json();if(!Array.isArray(d))throw new Error("malformed contracts response");l||a(d)}catch(u){if(l||u.name==="AbortError")return;s(u instanceof Error?u.message:String(u))}finally{l||r(!1)}})(),()=>{l=!0,i.abort()}},[t]),{contracts:e,loading:o,error:n}}function Gz(t){let e={};for(let a of t){if(!a.cartridge||!a.owns)continue;let o=Object.keys(a.owns).map(r=>({name:r,route:`/_ws/bulk/${a.cartridge}/${r.toLowerCase()}`,searchFields:[]}));o.length>0&&(e[a.cartridge]=o)}return e}var pg=({visibleIds:t,onSelectNode:e})=>{let{contracts:a,loading:o,error:r}=Wz(),n=pt.useMemo(()=>Wv(qv(a)),[a]),s=pt.useMemo(()=>Gz(a),[a]);if(n.nodes.length===0){let i="No installed cartridges with entities.";return o?i="Loading entity graph\u2026":r&&(i=`Failed to load contracts: ${r}`),mo("div",{className:"p-3 text-[12px] text-muted-foreground",children:i})}return mo($z,{graph:n,registry:s,visibleIds:t,onSelectNode:e})},$z=({graph:t,registry:e,visibleIds:a,onSelectNode:o})=>{let r=tm(e),[n,s]=pt.useState(null),i=pt.useMemo(()=>Gv(t,a),[t,a]);pt.useEffect(()=>{n&&!a.has(n)&&s(null)},[n,a]);let l=pt.useMemo(()=>{if(!n)return{connectedIds:new Set,edgeIds:new Set,fieldsByNode:new Map};let p=new Set([n]),m=new Set,g=new Map,x=(C,L)=>{let y=g.get(C)??new Set;y.add(L),g.set(C,y)};for(let C of i.edges)C.source!==n&&C.target!==n||(m.add(C.id),p.add(C.source),p.add(C.target),x(C.source,C.sourceField),x(C.target,C.targetField));return{connectedIds:p,edgeIds:m,fieldsByNode:g}},[n,i.edges]),u=pt.useMemo(()=>i.nodes.map(p=>({id:p.id,type:"entity",position:p.position,data:{...p,rowCount:r[p.id]??p.rowCount,highlight:n?{focused:p.id===n,connected:l.connectedIds.has(p.id)&&p.id!==n,dimmed:!l.connectedIds.has(p.id),fields:[...l.fieldsByNode.get(p.id)??[]]}:void 0}})),[l,n,i.nodes,r]),d=pt.useMemo(()=>{let p=new Map(i.nodes.map(g=>[g.id,g])),m=new Map;return i.edges.map(g=>{let x=p.get(g.source),C=p.get(g.target),L=x&&C&&x.position.x>C.position.x?"left":"right",y=L==="left"?"right":"left",S=`${g.target}:${g.targetField}:${y}`,w=m.get(S)??0;m.set(S,w+1);let b=!n||l.edgeIds.has(g.id);return{id:g.id,source:g.source,target:g.target,sourceHandle:`source-${g.sourceField}-${L}`,targetHandle:`target-${g.targetField}-${y}`,type:"smoothstep",pathOptions:{borderRadius:8,offset:22+w%5*12},markerEnd:{type:qo.ArrowClosed,color:b?"#2563eb":"#64748b"},style:{strokeWidth:n&&b?2.5:1.5,stroke:b?"#2563eb":"#64748b",opacity:b?1:.16}}})},[l.edgeIds,n,i.edges,i.nodes]),f=pt.useCallback((p,m)=>{let g=m.data,x=os(g.cartridge,g.entity);s(C=>C===x?null:x),o?.(g.cartridge,g.entity)},[o]),c=pt.useCallback((p,m)=>{p.preventDefault();let g=m.data;s(os(g.cartridge,g.entity)),o?.(g.cartridge,g.entity)},[o]),h=pt.useCallback(()=>s(null),[]);return mo("div",{className:"flex h-full min-h-0 w-full flex-col",children:mo("div",{className:"relative min-h-0 flex-1 bg-zinc-950",children:u.length===0?mo("div",{className:"flex h-full items-center justify-center text-[12px] text-zinc-500",children:"No entities are visible."}):mo(Zm,{children:zz(HS,{colorMode:"dark",nodes:u,edges:d,nodeTypes:Uz,fitView:!0,fitViewOptions:{padding:.2},minZoom:.1,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,selectionOnDrag:!1,onNodeClick:f,onNodeContextMenu:c,onPaneClick:h,proOptions:{hideAttribution:!0},children:[mo(Vz,{fitKey:[...a].sort().join("|")}),mo(zS,{variant:_a.Dots,gap:16,size:1,color:"#3f3f46"}),mo(VS,{showInteractive:!1})]})})})})};import xo from"react";function $v(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=$v(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Xv(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=$v(t))&&(o&&(o+=" "),o+=e);return o}var Xz=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},Kz=(t,e)=>({classGroupId:t,validator:e}),Qv=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Kv=[],jz="arbitrary..",Zz=t=>{let e=Jz(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return Yz(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return ek(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?Xz(u,l):l:u||Kv}return a[s]||Kv}}},ek=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=ek(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},Yz=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?jz+o:void 0})(),Jz=t=>{let{theme:e,classGroups:a}=t;return Qz(a,e)},Qz=(t,e)=>{let a=Qv();for(let o in t){let r=t[o];gg(r,a,o,e)}return a},gg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];eU(s,e,a,o)}},eU=(t,e,a,o)=>{if(typeof t=="string"){tU(t,e,a);return}if(typeof t=="function"){aU(t,e,a,o);return}oU(t,e,a,o)},tU=(t,e,a)=>{let o=t===""?e:tk(e,t);o.classGroupId=a},aU=(t,e,a,o)=>{if(rU(t)){gg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(Kz(a,t))},oU=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];gg(l,tk(e,i),a,o)}},tk=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Qv(),a.nextPart.set(s,i)),a=i}return a},rU=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,nU=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var sU=[],jv=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),iU=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let f=n.length===0?r:r.slice(l),c=f,h=!1;f.endsWith("!")?(c=f.slice(0,-1),h=!0):f.startsWith("!")&&(c=f.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return jv(n,h,c,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):jv(sU,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},lU=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},uU=t=>({cache:nU(t.cacheSize),parseClassName:iU(t),sortModifiers:lU(t),postfixLookupClassGroupIds:dU(t),...Zz(t)}),dU=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},fU=/\s+/,cU=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(fU),u="";for(let d=l.length-1;d>=0;d-=1){let f=l[d],{isExternal:c,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(f);if(c){u=f+(u.length>0?" "+u:u);continue}let x=!!g,C;if(x){let b=m.substring(0,g);C=o(b);let I=C&&s[C]?o(m):void 0;I&&I!==C&&(C=I,x=!1)}else C=o(m);if(!C){if(!x){u=f+(u.length>0?" "+u:u);continue}if(C=o(m),!C){u=f+(u.length>0?" "+u:u);continue}x=!1}let L=h.length===0?"":h.length===1?h[0]:n(h).join(":"),y=p?L+"!":L,S=y+C;if(i.indexOf(S)>-1)continue;i.push(S);let w=r(C,x);for(let b=0;b<w.length;++b){let I=w[b];i.push(y+I)}u=f+(u.length>0?" "+u:u)}return u},hU=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=ak(a))&&(r&&(r+=" "),r+=o);return r},ak=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=ak(t[o]))&&(a&&(a+=" "),a+=e);return a},pU=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,f)=>f(d),t());return a=uU(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=cU(l,a);return r(l,d),d};return n=s,(...l)=>n(hU(...l))},mU=[],Qe=t=>{let e=a=>a[t]||mU;return e.isThemeGetter=!0,e},ok=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,rk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,gU=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,xU=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,LU=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,CU=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yU=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,wU=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Wo=t=>gU.test(t),he=t=>!!t&&!Number.isNaN(Number(t)),Wa=t=>!!t&&Number.isInteger(Number(t)),mg=t=>t.endsWith("%")&&he(t.slice(0,-1)),go=t=>xU.test(t),nk=()=>!0,bU=t=>LU.test(t)&&!CU.test(t),xg=()=>!1,IU=t=>yU.test(t),SU=t=>wU.test(t),vU=t=>!Q(t)&&!te(t),kU=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),AU=t=>Go(t,lk,xg),Q=t=>ok.test(t),Yr=t=>Go(t,uk,bU),Zv=t=>Go(t,OU,he),MU=t=>Go(t,fk,nk),PU=t=>Go(t,dk,xg),Yv=t=>Go(t,sk,xg),RU=t=>Go(t,ik,SU),yf=t=>Go(t,ck,IU),te=t=>rk.test(t),_i=t=>Jr(t,uk),DU=t=>Jr(t,dk),Jv=t=>Jr(t,sk),TU=t=>Jr(t,lk),EU=t=>Jr(t,ik),wf=t=>Jr(t,ck,!0),BU=t=>Jr(t,fk,!0),Go=(t,e,a)=>{let o=ok.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},Jr=(t,e,a=!1)=>{let o=rk.exec(t);return o?o[1]?e(o[1]):a:!1},sk=t=>t==="position"||t==="percentage",ik=t=>t==="image"||t==="url",lk=t=>t==="length"||t==="size"||t==="bg-size",uk=t=>t==="length",OU=t=>t==="number",dk=t=>t==="family-name",fk=t=>t==="number"||t==="weight",ck=t=>t==="shadow";var FU=()=>{let t=Qe("color"),e=Qe("font"),a=Qe("text"),o=Qe("font-weight"),r=Qe("tracking"),n=Qe("leading"),s=Qe("breakpoint"),i=Qe("container"),l=Qe("spacing"),u=Qe("radius"),d=Qe("shadow"),f=Qe("inset-shadow"),c=Qe("text-shadow"),h=Qe("drop-shadow"),p=Qe("blur"),m=Qe("perspective"),g=Qe("aspect"),x=Qe("ease"),C=Qe("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...y(),te,Q],w=()=>["auto","hidden","clip","visible","scroll"],b=()=>["auto","contain","none"],I=()=>[te,Q,l],v=()=>[Wo,"full","auto",...I()],N=()=>[Wa,"none","subgrid",te,Q],P=()=>["auto",{span:["full",Wa,te,Q]},Wa,te,Q],R=()=>[Wa,"auto",te,Q],H=()=>["auto","min","max","fr",te,Q],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],D=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...I()],T=()=>[Wo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],E=()=>[Wo,"screen","full","dvw","lvw","svw","min","max","fit",...I()],B=()=>[Wo,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],A=()=>[t,te,Q],q=()=>[...y(),Jv,Yv,{position:[te,Q]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",TU,AU,{size:[te,Q]}],_=()=>[mg,_i,Yr],O=()=>["","none","full",u,te,Q],U=()=>["",he,_i,Yr],X=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[he,mg,Jv,Yv],ie=()=>["","none",p,te,Q],se=()=>["none",he,te,Q],oe=()=>["none",he,te,Q],ne=()=>[he,te,Q],ue=()=>[Wo,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[go],breakpoint:[go],color:[nk],container:[go],"drop-shadow":[go],ease:["in","out","in-out"],font:[vU],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[go],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[go],shadow:[go],spacing:["px",he],text:[go],"text-shadow":[go],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Wo,Q,te,g]}],container:["container"],"container-type":[{"@container":["","normal","size",te,Q]}],"container-named":[kU],columns:[{columns:[he,Q,te,i]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{"inset-s":v(),start:v()}],end:[{"inset-e":v(),end:v()}],"inset-bs":[{"inset-bs":v()}],"inset-be":[{"inset-be":v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:["visible","invisible","collapse"],z:[{z:[Wa,"auto",te,Q]}],basis:[{basis:[Wo,"full","auto",i,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[he,Wo,"auto","initial","none",Q]}],grow:[{grow:["",he,te,Q]}],shrink:[{shrink:["",he,te,Q]}],order:[{order:[Wa,"first","last","none",te,Q]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:P()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:P()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...D(),"normal"]}],"justify-self":[{"justify-self":["auto",...D()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...D(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...D(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...D(),"baseline"]}],"place-self":[{"place-self":["auto",...D()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:T()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...T()]}],"min-w":[{"min-w":[i,"screen","none",...T()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...T()]}],h:[{h:["screen","lh",...T()]}],"min-h":[{"min-h":["screen","lh","none",...T()]}],"max-h":[{"max-h":["screen","lh",...T()]}],"font-size":[{text:["base",a,_i,Yr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,BU,MU]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",mg,Q]}],"font-family":[{font:[DU,PU,e]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,te,Q]}],"line-clamp":[{"line-clamp":[he,"none",te,Zv]}],leading:[{leading:[n,...I()]}],"list-image":[{"list-image":["none",te,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",te,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[he,"from-font","auto",te,Yr]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[he,"auto",te,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[Wa,te,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",te,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",te,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Wa,te,Q],radial:["",te,Q],conic:[Wa,te,Q]},EU,RU]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-bs":[{"border-bs":A()}],"border-color-be":[{"border-be":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[he,te,Q]}],"outline-w":[{outline:["",he,_i,Yr]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",d,wf,yf]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",f,wf,yf]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[he,Yr]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",c,wf,yf]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[he,te,Q]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[he]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[te,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[he]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",te,Q]}],filter:[{filter:["","none",te,Q]}],blur:[{blur:ie()}],brightness:[{brightness:[he,te,Q]}],contrast:[{contrast:[he,te,Q]}],"drop-shadow":[{"drop-shadow":["","none",h,wf,yf]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",he,te,Q]}],"hue-rotate":[{"hue-rotate":[he,te,Q]}],invert:[{invert:["",he,te,Q]}],saturate:[{saturate:[he,te,Q]}],sepia:[{sepia:["",he,te,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",te,Q]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[he,te,Q]}],"backdrop-contrast":[{"backdrop-contrast":[he,te,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",he,te,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[he,te,Q]}],"backdrop-invert":[{"backdrop-invert":["",he,te,Q]}],"backdrop-opacity":[{"backdrop-opacity":[he,te,Q]}],"backdrop-saturate":[{"backdrop-saturate":[he,te,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",he,te,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",te,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[he,"initial",te,Q]}],ease:[{ease:["linear","initial",x,te,Q]}],delay:[{delay:[he,te,Q]}],animate:[{animate:["none",C,te,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,te,Q]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[te,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[Wa,te,Q]}],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",te,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":A()}],"scrollbar-track-color":[{"scrollbar-track":A()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",te,Q]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[he,_i,Yr,Zv]}],stroke:[{stroke:["none",...A()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var hk=pU(FU);import rs from"react";import{createPortal as NU}from"react-dom";import{Fragment as pk,jsx as Ia,jsxs as $o}from"react/jsx-runtime";import{jsx as St,jsxs as ns}from"react/jsx-runtime";function Ko(...t){return hk(Xv(t))}var mk=420,xk=new Set([Ju,Qu,ed,td,ad,od,rd,nd]),Lk=new Set([sd,id]);function HU(t){let a=Math.max(12,Math.min(t.left,window.innerWidth-mk-12)),r=window.innerHeight-t.bottom>=180?t.bottom+6:Math.max(12,t.top-188);return{left:a,top:r,width:mk}}function _U(t,e){if(e===ai)return{value:t==="true"};if(xk.has(e)){let a=Number(t);return Number.isInteger(a)?{value:a}:{error:"Expected an integer"}}if(Lk.has(e)){let a=Number(t);return Number.isFinite(a)?{value:a}:{error:"Expected a number"}}return{value:t}}var qU=({data:t,onClose:e})=>{let{apiBaseUrl:a}=at(),[o,r]=rs.useState(!1),[n,s]=rs.useState(t.value),[i,l]=rs.useState(!1),[u,d]=rs.useState(null);rs.useEffect(()=>{s(t.value),d(null)},[t.value,t.r,t.c]),rs.useEffect(()=>{let m=g=>{g.key==="Escape"&&e()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e]);let f=async()=>{try{await navigator.clipboard.writeText(t.value),r(!0)}catch{}},c=async()=>{let m=_U(n,t.colType);if("error"in m){d(m.error);return}l(!0),d(null);try{let g=await fetch(`${a}/api/${t.cart}/${t.entity.toLowerCase()}/${encodeURIComponent(t.rowId)}`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({[t.colName]:m.value})});if(!g.ok){d(await g.text()||`HTTP ${g.status}`),l(!1);return}e()}catch(g){d(g instanceof Error?g.message:String(g)),l(!1)}},h=t.colType===ai,p=xk.has(t.colType)||Lk.has(t.colType);return NU($o(pk,{children:[Ia("div",{className:"fixed inset-0 z-[60]",onClick:e}),$o("div",{className:Ko("nimbit-devtools dark fixed z-[61] rounded-md border border-border bg-popover p-3","text-[12px] text-popover-foreground shadow-lg"),style:HU(t.rect),onClick:m=>m.stopPropagation(),children:[$o("div",{className:"mb-2 flex items-center justify-between gap-3",children:[$o("div",{className:"min-w-0",children:[Ia("div",{className:"truncate font-medium text-foreground",children:t.colName}),$o("div",{className:"text-[11px] text-muted-foreground",children:["Row ",t.r+1]})]}),$o("div",{className:"flex shrink-0 items-center gap-1.5",children:[Ia("button",{type:"button",onClick:f,className:Ko("rounded border border-border px-2 py-1 text-[11px] leading-none","hover:bg-accent hover:text-accent-foreground"),children:o?"Copied":"Copy"}),t.editable?Ia("button",{type:"button",onClick:c,disabled:i,className:Ko("rounded border border-border bg-primary/90 px-2 py-1 text-[11px] leading-none text-primary-foreground","hover:bg-primary disabled:opacity-50"),children:i?"Saving\u2026":"Save"}):null]})]}),t.editable?$o(pk,{children:[h?$o("select",{value:n,disabled:i,onChange:m=>s(m.target.value),className:"w-full rounded-sm border border-border bg-background px-2 py-1 text-[12px] outline-none focus:border-accent-foreground/30",children:[Ia("option",{value:"true",children:"true"}),Ia("option",{value:"false",children:"false"})]}):p?Ia("input",{type:"number",value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),onKeyDown:m=>{m.key==="Enter"&&c()},className:"w-full rounded-sm border border-border bg-background px-2 py-1 font-mono text-[12px] outline-none focus:border-accent-foreground/30"}):Ia("textarea",{value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),className:"max-h-48 min-h-[3rem] w-full resize-y overflow-auto rounded-sm border border-border bg-background p-2 font-mono text-[11px] leading-5 outline-none focus:border-accent-foreground/30"}),u?Ia("div",{className:"mt-2 break-words text-[11px] text-red-400",children:u}):null]}):Ia("div",{className:"max-h-48 overflow-auto rounded-sm bg-muted/40 p-2 font-mono text-[11px] leading-5 whitespace-pre-wrap break-words",children:t.value.length>0?t.value:Ia("span",{className:"font-sans italic text-muted-foreground",children:"(empty)"})})]})]}),document.body)},yg=qU,Xo=22,gk=6,zU=80,Lg=32,UU=new Set(["id","createdAt","updatedAt"]),VU=new Set([ld,ud]);function Cg(t){return t==="id"?220:t==="createdAt"||t==="updatedAt"||t==="email"||t==="phone"||t.endsWith("At")?180:Math.max(zU,Math.min(240,t.length*9+24))}var WU=({cart:t,entity:e,searchFields:a,onSelectRow:o})=>{let r=am(t,e),n=xo.useRef(null),[s,i]=xo.useState(0),[l,u]=xo.useState(0),[d,f]=xo.useState(""),[c,h]=xo.useState(null),[p,m]=xo.useState(null),[g,x]=xo.useState(0);xo.useEffect(()=>(r.setOnRender(()=>x(M=>M+1)),()=>r.setOnRender(null)),[r]);let C=r.columns.length>0;xo.useEffect(()=>{let M=n.current;if(!M)return;let T=new ResizeObserver(()=>u(M.clientHeight));return T.observe(M),u(M.clientHeight),()=>T.disconnect()},[C]);let L=r.store.rows,y=r.columns,S=L.length*Xo,w=Math.max(0,Math.floor(s/Xo)-gk),b=Math.max(0,Math.ceil(l/Xo)+gk*2),I=Math.min(L.length,w+b),v=M=>{M.key==="Enter"?r.search(d.trim()):M.key==="Escape"&&(f(""),r.clearSearch())},N=M=>{let T=L[M];if(!T)return;let E={};for(let B=0;B<y.length;B++)E[y[B].name]=T[B]??"";o(E)},P=a.length===0,R=Lg+y.reduce((M,T)=>M+Cg(T.name),0),H=y.findIndex(M=>M.name==="id"),k=M=>{let T=n.current;if(!T)return;let E=M*Xo;E<T.scrollTop?T.scrollTop=E:E+Xo>T.scrollTop+T.clientHeight&&(T.scrollTop=E+Xo-T.clientHeight)},D=M=>{if(L.length===0||y.length===0)return;if((M.metaKey||M.ctrlKey)&&(M.key==="c"||M.key==="C")){if(!c)return;let A=L[c.r]?.[c.c]??"";navigator.clipboard?.writeText(A),M.preventDefault();return}let T=c??{r:w,c:0},{r:E,c:B}=T;if(M.key==="ArrowUp")E--;else if(M.key==="ArrowDown")E++;else if(M.key==="ArrowLeft")B--;else if(M.key==="ArrowRight")B++;else return;M.preventDefault(),E=Math.max(0,Math.min(L.length-1,E)),B=Math.max(0,Math.min(y.length-1,B)),h({r:E,c:B}),m(null),k(E)};return ns("div",{className:"flex h-full flex-col bg-background",children:[ns("div",{className:"flex h-7 shrink-0 items-center gap-2 border-b border-border px-2",children:[St("input",{type:"text",value:d,disabled:P,onChange:M=>f(M.target.value),onKeyDown:v,placeholder:P?"Search disabled (no @@search declared)":`Search ${a.join(", ")} \u23CE`,className:Ko("h-5 flex-1 rounded-sm border border-border bg-background px-2 text-[12px] outline-none","placeholder:text-muted-foreground/70 focus:border-accent-foreground/30",P&&"opacity-50 cursor-not-allowed")}),St("div",{className:"shrink-0 text-[11px] text-muted-foreground tabular-nums",children:r.error?St("span",{className:"text-red-400",children:r.error}):r.connected?ns("span",{children:[r.loadedRows.toLocaleString()," / ",r.totalRows.toLocaleString()," rows",r.streaming?" \xB7 streaming":""]}):St("span",{children:"connecting\u2026"})})]}),y.length===0?St("div",{className:"flex flex-1 items-center justify-center text-[12px] text-muted-foreground",children:r.error?r.error:"Waiting for schema\u2026"}):St("div",{ref:n,tabIndex:0,onKeyDown:D,onScroll:M=>{i(M.target.scrollTop),p&&m(null)},className:"group/table relative min-h-0 flex-1 overflow-auto font-mono outline-none",children:ns("div",{style:{width:R},children:[ns("div",{className:"sticky top-0 z-10 flex h-6 select-none border-b border-border bg-background text-[11px] uppercase tracking-wider text-muted-foreground",style:{width:R},children:[St("div",{style:{width:Lg},className:"shrink-0 border-r border-border"}),y.map(M=>St("div",{style:{width:Cg(M.name)},className:"flex items-center overflow-hidden border-r border-border px-2",children:St("span",{className:"truncate",children:M.name})},M.name))]}),St("div",{style:{height:S,width:R,position:"relative"},children:L.slice(w,I).map((M,T)=>{let E=w+T;return ns("div",{style:{top:E*Xo,height:Xo,width:R},className:Ko("absolute left-0 flex text-[12px] leading-none",E%2===0?"bg-background":"bg-muted/20"),children:[St("button",{type:"button",title:"Open row detail",onClick:()=>N(E),style:{width:Lg},className:Ko("flex shrink-0 items-center justify-center border-r border-border/60","cursor-pointer text-[10px] tabular-nums text-muted-foreground/60","hover:bg-accent hover:text-accent-foreground"),children:E+1}),y.map((B,A)=>{let q=c?.r===E&&c?.c===A;return St("div",{"data-selected":q,onClick:F=>{F.stopPropagation(),h({r:E,c:A}),m(null)},onDoubleClick:F=>{F.stopPropagation(),h({r:E,c:A});let G=H>=0&&!UU.has(B.name)&&!VU.has(B.type);m({r:E,c:A,colName:B.name,value:M[A]??"",rect:F.currentTarget.getBoundingClientRect(),cart:t,entity:e,rowId:H>=0?M[H]??"":"",colType:B.type,editable:G})},style:{width:Cg(B.name)},className:Ko("flex cursor-pointer items-center overflow-hidden border-r border-border/60 px-2","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[selected=true]:[box-shadow:inset_0_0_0_1px_#60a5fa]"),title:M[A],children:St("span",{className:"truncate",children:M[A]})},B.name)})]},E)})})]})}),p?St(yg,{data:p,onClose:()=>m(null)}):null,g<0&&St("span",{})]})},qi=WU;import{useEffect as GU,useState as bf}from"react";import{useCallback as If,useMemo as XU}from"react";function $U(t){let e={},a=new Set;for(let o of t){let r=o.cartridge;if(!r||!o.owns)continue;let n=[];for(let[s,i]of Object.entries(o.owns)){let l=Array.isArray(i?.searchFields)?i.searchFields:[];n.push({name:s,route:`/_ws/bulk/${r}/${s.toLowerCase()}`,searchFields:l})}n.length>0&&(e[r]=n,o.core&&a.add(r))}return{reg:e,core:a}}function vf(){let{apiBaseUrl:t}=at(),[e,a]=bf({}),[o,r]=bf(new Set),[n,s]=bf(!0),[i,l]=bf(null);GU(()=>{let d=new AbortController,f=!1;return s(!0),l(null),(async()=>{try{let c=await fetch(`${t}/_console/contracts`,{signal:d.signal,credentials:"include",headers:so()});if(!c.ok)throw new Error(`HTTP ${c.status}`);let h=await c.json();if(!Array.isArray(h))throw new Error("malformed contracts response");if(f)return;let{reg:p,core:m}=$U(h);a(p),r(m)}catch(c){if(f||c.name==="AbortError")return;l(c instanceof Error?c.message:String(c))}finally{f||s(!1)}})(),()=>{f=!0,d.abort()}},[t]);let u=Object.keys(e).sort();return{registry:e,carts:u,coreCarts:o,loading:n,error:i}}async function Sf(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function wg(){let{apiBaseUrl:t}=at(),e=If(async()=>Sf(await fetch(`${t}/_console/integrations/gsheets`,{credentials:"include",headers:so()})),[t]),a=If(async n=>Sf(await fetch(`${t}/_console/integrations/gsheets`,{method:"POST",credentials:"include",headers:so({"content-type":"application/json"}),body:JSON.stringify(n)})),[t]),o=If(async n=>Sf(await fetch(`${t}/_console/integrations/gsheets/sync`,{method:"POST",credentials:"include",headers:so({"content-type":"application/json"}),body:JSON.stringify({cartridge:n})})),[t]),r=If(async n=>Sf(await fetch(`${t}/_console/integrations/gsheets/${encodeURIComponent(n)}`,{method:"DELETE",credentials:"include",headers:so()})),[t]);return XU(()=>({list:e,save:a,syncNow:o,remove:r}),[e,a,o,r])}import Ue,{useEffect as bg}from"react";import{jsx as ZU}from"react/jsx-runtime";var Ck=Ue.createContext(null),yk="nimbit-devtools:v1",KU={info:!0,warn:!0,error:!0,plain:!0};function jU(){if(typeof window>"u")return{};try{let t=window.localStorage.getItem(yk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}var Ig=({children:t,defaultActiveTab:e})=>{let[a,o]=Ue.useState(!1),[r,n]=Ue.useState("bottom"),[s,i]=Ue.useState(e??null),[l,u]=Ue.useState({h:320,w:480}),[d,f]=Ue.useState(!1),[c,h]=Ue.useState(null),[p,m]=Ue.useState(null),[g,x]=Ue.useState("table"),[C,L]=Ue.useState(null),[y,S]=Ue.useState(()=>new Set),[w,b]=Ue.useState(176),[I,v]=Ue.useState(440),[N,P]=Ue.useState(KU),[R,H]=Ue.useState(!1),[k,D]=Ue.useState(null),[M,T]=Ue.useState(null),[E,B]=Ue.useState(200),[A,q]=Ue.useState(!1),F=Ue.useCallback(()=>o(_=>!_),[]);bg(()=>{let _=jU();_.open!=null&&o(_.open),_.dock!=null&&n(_.dock),_.activeTab!=null&&i(_.activeTab),_.size!=null&&u(_.size),_.maximized!=null&&f(_.maximized),_.dataCart!=null&&h(_.dataCart),_.dataEntity!=null&&m(_.dataEntity),_.view!=null&&x(_.view),_.graphCarts!=null&&L(new Set(_.graphCarts)),_.hiddenEntities!=null&&S(new Set(_.hiddenEntities)),_.graphLeftW!=null&&b(_.graphLeftW),_.graphRightW!=null&&v(_.graphRightW),_.consoleFilter!=null&&P(_.consoleFilter),_.consolePaused!=null&&H(_.consolePaused),_.sourcesCart!=null&&D(_.sourcesCart),_.sourcesFile!=null&&T(_.sourcesFile),_.sourcesTreeW!=null&&B(_.sourcesTreeW),q(!0)},[]),bg(()=>{if(typeof window>"u"||!A)return;let _={open:a,dock:r,activeTab:s,size:l,maximized:d,dataCart:c,dataEntity:p,view:g,graphCarts:C?[...C]:null,hiddenEntities:[...y],graphLeftW:w,graphRightW:I,consoleFilter:N,consolePaused:R,sourcesCart:k,sourcesFile:M,sourcesTreeW:E};try{window.localStorage.setItem(yk,JSON.stringify(_))}catch{}},[A,a,r,s,l,d,c,p,g,C,y,w,I,N,R,k,M,E]);let G=Ue.useMemo(()=>({open:a,setOpen:o,toggle:F,dock:r,setDock:n,activeTab:s,setActiveTab:i,size:l,setSize:u,maximized:d,setMaximized:f,dataCart:c,setDataCart:h,dataEntity:p,setDataEntity:m,view:g,setView:x,graphCarts:C,setGraphCarts:L,hiddenEntities:y,setHiddenEntities:S,graphLeftW:w,setGraphLeftW:b,graphRightW:I,setGraphRightW:v,consoleFilter:N,setConsoleFilter:P,consolePaused:R,setConsolePaused:H,sourcesCart:k,setSourcesCart:D,sourcesFile:M,setSourcesFile:T,sourcesTreeW:E,setSourcesTreeW:B}),[a,F,r,s,l,d,c,p,g,C,y,w,I,N,R,k,M,E]);return bg(()=>{let _=U=>{U.ctrlKey&&(U.key==="F12"||U.code==="F12")&&(U.preventDefault(),F())},O=()=>F();return window.addEventListener("keydown",_),window.addEventListener("devtools-toggle",O),()=>{window.removeEventListener("keydown",_),window.removeEventListener("devtools-toggle",O)}},[F]),ZU(Ck.Provider,{value:G,children:t})};function Lo(){let t=Ue.useContext(Ck);if(!t)throw new Error("useDevTools must be used inside <DevToolsProvider>");return t}import rr from"react";import{createPortal as wG}from"react-dom";import{forwardRef as tV,createElement as aV}from"react";var kf=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var wk=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var bk=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var Sg=t=>{let e=bk(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as eV,createElement as vk}from"react";var Af={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Ik=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as YU,useContext as JU,useMemo as Gj,createElement as $j}from"react";var QU=YU({});var Sk=()=>JU(QU);var kk=eV(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:c="currentColor",className:h=""}=Sk()??{},p=o??f?Number(a??d)*24/Number(e??u):a??d;return vk("svg",{ref:l,...Af,width:e??u??Af.width,height:e??u??Af.height,stroke:t??c,strokeWidth:p,className:kf("lucide",h,r),...!n&&!Ik(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>vk(m,g)),...Array.isArray(n)?n:[n]])});var de=(t,e)=>{let a=tV(({className:o,...r},n)=>aV(kk,{ref:n,iconNode:e,className:kf(`lucide-${wk(Sg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=Sg(t),a};var oV=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zi=de("chevron-right",oV);var rV=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],jo=de("circle-alert",rV);var nV=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Zo=de("circle-check",nV);var sV=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Yo=de("ellipsis",sV);var iV=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],Jo=de("file-plus-corner",iV);var lV=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Ot=de("loader-circle",lV);var uV=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Ui=de("lock",uV);var dV=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Vi=de("maximize-2",dV);var fV=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Wi=de("minimize-2",fV);var cV=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],Gi=de("network",cV);var hV=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]],$i=de("panel-bottom",hV);var pV=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],Xi=de("panel-right",pV);var mV=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Ki=de("pause",mV);var gV=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Qr=de("play",gV);var xV=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ji=de("plus",xV);var LV=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Zi=de("refresh-cw",LV);var CV=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Yi=de("save",CV);var yV=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],Ji=de("shield-alert",yV);var wV=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]],Qi=de("table-2",wV);var bV=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],en=de("trash-2",bV);var IV=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Co=de("x",IV);function Ak(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Ak(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Mf(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Ak(t))&&(o&&(o+=" "),o+=e);return o}var SV=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},vV=(t,e)=>({classGroupId:t,validator:e}),Ek=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Mk=[],kV="arbitrary..",AV=t=>{let e=PV(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return MV(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Bk(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?SV(u,l):l:u||Mk}return a[s]||Mk}}},Bk=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Bk(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},MV=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?kV+o:void 0})(),PV=t=>{let{theme:e,classGroups:a}=t;return RV(a,e)},RV=(t,e)=>{let a=Ek();for(let o in t){let r=t[o];kg(r,a,o,e)}return a},kg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];DV(s,e,a,o)}},DV=(t,e,a,o)=>{if(typeof t=="string"){TV(t,e,a);return}if(typeof t=="function"){EV(t,e,a,o);return}BV(t,e,a,o)},TV=(t,e,a)=>{let o=t===""?e:Ok(e,t);o.classGroupId=a},EV=(t,e,a,o)=>{if(OV(t)){kg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(vV(a,t))},BV=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];kg(l,Ok(e,i),a,o)}},Ok=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Ek(),a.nextPart.set(s,i)),a=i}return a},OV=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,FV=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var NV=[],Pk=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),HV=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let f=n.length===0?r:r.slice(l),c=f,h=!1;f.endsWith("!")?(c=f.slice(0,-1),h=!0):f.startsWith("!")&&(c=f.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return Pk(n,h,c,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):Pk(NV,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},_V=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},qV=t=>({cache:FV(t.cacheSize),parseClassName:HV(t),sortModifiers:_V(t),postfixLookupClassGroupIds:zV(t),...AV(t)}),zV=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},UV=/\s+/,VV=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(UV),u="";for(let d=l.length-1;d>=0;d-=1){let f=l[d],{isExternal:c,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(f);if(c){u=f+(u.length>0?" "+u:u);continue}let x=!!g,C;if(x){let b=m.substring(0,g);C=o(b);let I=C&&s[C]?o(m):void 0;I&&I!==C&&(C=I,x=!1)}else C=o(m);if(!C){if(!x){u=f+(u.length>0?" "+u:u);continue}if(C=o(m),!C){u=f+(u.length>0?" "+u:u);continue}x=!1}let L=h.length===0?"":h.length===1?h[0]:n(h).join(":"),y=p?L+"!":L,S=y+C;if(i.indexOf(S)>-1)continue;i.push(S);let w=r(C,x);for(let b=0;b<w.length;++b){let I=w[b];i.push(y+I)}u=f+(u.length>0?" "+u:u)}return u},WV=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=Fk(a))&&(r&&(r+=" "),r+=o);return r},Fk=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=Fk(t[o]))&&(a&&(a+=" "),a+=e);return a},GV=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,f)=>f(d),t());return a=qV(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=VV(l,a);return r(l,d),d};return n=s,(...l)=>n(WV(...l))},$V=[],et=t=>{let e=a=>a[t]||$V;return e.isThemeGetter=!0,e},Nk=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Hk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,XV=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,KV=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jV=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ZV=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,YV=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,JV=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Qo=t=>XV.test(t),pe=t=>!!t&&!Number.isNaN(Number(t)),Ga=t=>!!t&&Number.isInteger(Number(t)),vg=t=>t.endsWith("%")&&pe(t.slice(0,-1)),yo=t=>KV.test(t),_k=()=>!0,QV=t=>jV.test(t)&&!ZV.test(t),Ag=()=>!1,eW=t=>YV.test(t),tW=t=>JV.test(t),aW=t=>!ee(t)&&!ae(t),oW=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),rW=t=>er(t,Uk,Ag),ee=t=>Nk.test(t),tn=t=>er(t,Vk,QV),Rk=t=>er(t,cW,pe),nW=t=>er(t,Gk,_k),sW=t=>er(t,Wk,Ag),Dk=t=>er(t,qk,Ag),iW=t=>er(t,zk,tW),Pf=t=>er(t,$k,eW),ae=t=>Hk.test(t),el=t=>an(t,Vk),lW=t=>an(t,Wk),Tk=t=>an(t,qk),uW=t=>an(t,Uk),dW=t=>an(t,zk),Rf=t=>an(t,$k,!0),fW=t=>an(t,Gk,!0),er=(t,e,a)=>{let o=Nk.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},an=(t,e,a=!1)=>{let o=Hk.exec(t);return o?o[1]?e(o[1]):a:!1},qk=t=>t==="position"||t==="percentage",zk=t=>t==="image"||t==="url",Uk=t=>t==="length"||t==="size"||t==="bg-size",Vk=t=>t==="length",cW=t=>t==="number",Wk=t=>t==="family-name",Gk=t=>t==="number"||t==="weight",$k=t=>t==="shadow";var hW=()=>{let t=et("color"),e=et("font"),a=et("text"),o=et("font-weight"),r=et("tracking"),n=et("leading"),s=et("breakpoint"),i=et("container"),l=et("spacing"),u=et("radius"),d=et("shadow"),f=et("inset-shadow"),c=et("text-shadow"),h=et("drop-shadow"),p=et("blur"),m=et("perspective"),g=et("aspect"),x=et("ease"),C=et("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...y(),ae,ee],w=()=>["auto","hidden","clip","visible","scroll"],b=()=>["auto","contain","none"],I=()=>[ae,ee,l],v=()=>[Qo,"full","auto",...I()],N=()=>[Ga,"none","subgrid",ae,ee],P=()=>["auto",{span:["full",Ga,ae,ee]},Ga,ae,ee],R=()=>[Ga,"auto",ae,ee],H=()=>["auto","min","max","fr",ae,ee],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],D=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...I()],T=()=>[Qo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],E=()=>[Qo,"screen","full","dvw","lvw","svw","min","max","fit",...I()],B=()=>[Qo,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],A=()=>[t,ae,ee],q=()=>[...y(),Tk,Dk,{position:[ae,ee]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",uW,rW,{size:[ae,ee]}],_=()=>[vg,el,tn],O=()=>["","none","full",u,ae,ee],U=()=>["",pe,el,tn],X=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[pe,vg,Tk,Dk],ie=()=>["","none",p,ae,ee],se=()=>["none",pe,ae,ee],oe=()=>["none",pe,ae,ee],ne=()=>[pe,ae,ee],ue=()=>[Qo,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[yo],breakpoint:[yo],color:[_k],container:[yo],"drop-shadow":[yo],ease:["in","out","in-out"],font:[aW],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[yo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[yo],shadow:[yo],spacing:["px",pe],text:[yo],"text-shadow":[yo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Qo,ee,ae,g]}],container:["container"],"container-type":[{"@container":["","normal","size",ae,ee]}],"container-named":[oW],columns:[{columns:[pe,ee,ae,i]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{"inset-s":v(),start:v()}],end:[{"inset-e":v(),end:v()}],"inset-bs":[{"inset-bs":v()}],"inset-be":[{"inset-be":v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:["visible","invisible","collapse"],z:[{z:[Ga,"auto",ae,ee]}],basis:[{basis:[Qo,"full","auto",i,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[pe,Qo,"auto","initial","none",ee]}],grow:[{grow:["",pe,ae,ee]}],shrink:[{shrink:["",pe,ae,ee]}],order:[{order:[Ga,"first","last","none",ae,ee]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:P()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:P()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...D(),"normal"]}],"justify-self":[{"justify-self":["auto",...D()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...D(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...D(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...D(),"baseline"]}],"place-self":[{"place-self":["auto",...D()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:T()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...T()]}],"min-w":[{"min-w":[i,"screen","none",...T()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...T()]}],h:[{h:["screen","lh",...T()]}],"min-h":[{"min-h":["screen","lh","none",...T()]}],"max-h":[{"max-h":["screen","lh",...T()]}],"font-size":[{text:["base",a,el,tn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,fW,nW]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",vg,ee]}],"font-family":[{font:[lW,sW,e]}],"font-features":[{"font-features":[ee]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,ae,ee]}],"line-clamp":[{"line-clamp":[pe,"none",ae,Rk]}],leading:[{leading:[n,...I()]}],"list-image":[{"list-image":["none",ae,ee]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ae,ee]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[pe,"from-font","auto",ae,tn]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[pe,"auto",ae,ee]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[Ga,ae,ee]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ae,ee]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ae,ee]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ga,ae,ee],radial:["",ae,ee],conic:[Ga,ae,ee]},dW,iW]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-bs":[{"border-bs":A()}],"border-color-be":[{"border-be":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[pe,ae,ee]}],"outline-w":[{outline:["",pe,el,tn]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",d,Rf,Pf]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",f,Rf,Pf]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[pe,tn]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",c,Rf,Pf]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[pe,ae,ee]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[pe]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[ae,ee]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[pe]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ae,ee]}],filter:[{filter:["","none",ae,ee]}],blur:[{blur:ie()}],brightness:[{brightness:[pe,ae,ee]}],contrast:[{contrast:[pe,ae,ee]}],"drop-shadow":[{"drop-shadow":["","none",h,Rf,Pf]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",pe,ae,ee]}],"hue-rotate":[{"hue-rotate":[pe,ae,ee]}],invert:[{invert:["",pe,ae,ee]}],saturate:[{saturate:[pe,ae,ee]}],sepia:[{sepia:["",pe,ae,ee]}],"backdrop-filter":[{"backdrop-filter":["","none",ae,ee]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[pe,ae,ee]}],"backdrop-contrast":[{"backdrop-contrast":[pe,ae,ee]}],"backdrop-grayscale":[{"backdrop-grayscale":["",pe,ae,ee]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[pe,ae,ee]}],"backdrop-invert":[{"backdrop-invert":["",pe,ae,ee]}],"backdrop-opacity":[{"backdrop-opacity":[pe,ae,ee]}],"backdrop-saturate":[{"backdrop-saturate":[pe,ae,ee]}],"backdrop-sepia":[{"backdrop-sepia":["",pe,ae,ee]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ae,ee]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[pe,"initial",ae,ee]}],ease:[{ease:["linear","initial",x,ae,ee]}],delay:[{delay:[pe,ae,ee]}],animate:[{animate:["none",C,ae,ee]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,ae,ee]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[ae,ee,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[Ga,ae,ee]}],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ae,ee]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":A()}],"scrollbar-track-color":[{"scrollbar-track":A()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ae,ee]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[pe,el,tn,Rk]}],stroke:[{stroke:["none",...A()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Xk=GV(hW);function me(...t){return Xk(Mf(t))}import wo from"react";import{Fragment as xW,jsx as vt,jsxs as tl}from"react/jsx-runtime";var pW=({children:t})=>{let{apiBaseUrl:e}=at(),[a,o]=wo.useState(null),[r,n]=wo.useState(!0),s=wo.useCallback(async i=>{n(!0);try{let l=await $p(e,i);o(l)}catch{i?.aborted||o(null)}finally{i?.aborted||n(!1)}},[e]);return wo.useEffect(()=>{let i=new AbortController;return s(i.signal),()=>i.abort()},[s]),r&&!a?tl(mW,{children:[vt(Ot,{className:"size-4 animate-spin"}),vt("span",{children:"Checking access\u2026"})]}):a?.isAdmin?vt(xW,{children:t}):vt(gW,{mode:a&&!a.claimed?"signup":"signin",onDone:()=>s(),loggedInButNotAdmin:!!a?.authenticated})},mW=({children:t})=>vt("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-muted-foreground",children:t}),gW=({mode:t,onDone:e,loggedInButNotAdmin:a})=>{let{apiBaseUrl:o}=at(),[r,n]=wo.useState(""),[s,i]=wo.useState(""),[l,u]=wo.useState(""),[d,f]=wo.useState(!1),[c,h]=wo.useState(null),p=t==="signup";return vt("div",{className:"flex h-full items-center justify-center p-4",children:tl("form",{onSubmit:async g=>{g.preventDefault(),f(!0),h(null);try{p?await Kp(o,r,s,l):await Xp(o,s,l),e()}catch(x){h(x instanceof Error?x.message:String(x))}finally{f(!1)}},className:"w-full max-w-64 space-y-2.5",children:[tl("div",{className:"space-y-0.5",children:[vt("div",{className:"text-[13px] font-medium text-foreground",children:p?"Claim this instance":"Sign in to devtools"}),vt("div",{className:"text-[11px] text-muted-foreground",children:p?"No users yet \u2014 create the first account (becomes console admin).":"Console-operator access required."})]}),a?tl("div",{className:"flex items-start gap-1.5 rounded-md border border-yellow-400/30 bg-yellow-500/10 px-2 py-1.5 text-[11px] text-yellow-300",children:[vt(Ji,{className:"mt-px size-3.5 shrink-0"}),vt("span",{children:"This account isn't a console operator. Sign in with an admin account."})]}):null,p?vt("input",{type:"text",required:!0,autoComplete:"name",placeholder:"Name",value:r,onChange:g=>n(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}):null,vt("input",{type:"email",required:!0,autoComplete:"username",placeholder:"Email",value:s,onChange:g=>i(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),vt("input",{type:"password",required:!0,minLength:8,autoComplete:p?"new-password":"current-password",placeholder:p?"Password (min 8)":"Password",value:l,onChange:g=>u(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),c?vt("div",{className:"text-[11px] text-red-400",children:c}):null,tl("button",{type:"submit",disabled:d,className:me("flex h-7 w-full items-center justify-center gap-1.5 rounded-md bg-foreground text-[12px] font-medium text-background outline-none transition-opacity",d?"opacity-60":"hover:opacity-90"),children:[d?vt(Ot,{className:"size-3.5 animate-spin"}):null,p?"Create admin account":"Sign in"]})]})})},Kk=pW;import Ft from"react";import{jsx as Me,jsxs as ss}from"react/jsx-runtime";var jk=5e3,Zk=500,LW=5e3;function CW(t,e){return`${Tr(t)}${e}`}function yW(t){if(t.parsed)try{let e=JSON.parse(t.raw),a=e.level==="info"||e.level==="warn"||e.level==="error"?e.level:"plain";return{id:Jk(),raw:t.raw,level:a,parsed:e}}catch{}return{id:Jk(),raw:t.raw,level:"plain",parsed:null}}var Yk=0;function Jk(){return Yk+=1,Yk}var e1={info:"bg-blue-500/20 text-blue-300 border-blue-400/30",warn:"bg-yellow-500/20 text-yellow-300 border-yellow-400/30",error:"bg-red-500/20 text-red-300 border-red-400/30",plain:"bg-zinc-700/40 text-zinc-300 border-zinc-500/30"},wW=()=>{let{apiBaseUrl:t}=at(),{consoleFilter:e,setConsoleFilter:a,consolePaused:o,setConsolePaused:r}=Lo(),[n,s]=Ft.useState([]),[i,l]=Ft.useState({}),u=Ft.useRef(null),d=Ft.useRef(!0),f=Ft.useRef(o);f.current=o,Ft.useEffect(()=>{let x=!0,C=null,L=Zk,y=null,S=()=>{if(x){try{C=new WebSocket(CW(t,"/_console/logs/ws"),jp("nimbit-logs"))}catch{w();return}C.onopen=()=>{L=Zk},C.onmessage=b=>{if(f.current||typeof b.data!="string")return;let I;try{I=JSON.parse(b.data)}catch{return}if(!I.lines||I.lines.length===0)return;let v=I.lines.map(yW);s(N=>{let P=N.concat(v);return P.length>jk?P.slice(P.length-jk):P})},C.onerror=()=>{},C.onclose=()=>{C=null,w()}}},w=()=>{x&&(y=setTimeout(()=>{L=Math.min(L*2,LW),S()},L))};return S(),()=>{x=!1,y&&clearTimeout(y),C&&C.close()}},[t]);let c=Ft.useCallback(()=>{let x=u.current;if(!x)return;let C=x.scrollHeight-(x.scrollTop+x.clientHeight)<8;d.current=C},[]),h=Ft.useRef(0);Ft.useEffect(()=>{d.current&&(h.current||(h.current=requestAnimationFrame(()=>{h.current=0;let x=u.current;x&&(x.scrollTop=x.scrollHeight)})))},[n]),Ft.useEffect(()=>()=>{h.current&&cancelAnimationFrame(h.current)},[]);let p=Ft.useMemo(()=>n.filter(x=>e[x.level]),[n,e]),m=Ft.useCallback(x=>a(C=>({...C,[x]:!C[x]})),[]),g=Ft.useCallback(x=>{let C=x.target;for(;C&&C!==x.currentTarget;){let L=C.dataset.rowId;if(L){let y=Number(L);Number.isFinite(y)&&l(S=>({...S,[y]:!S[y]}));return}C=C.parentElement}},[]);return ss("div",{className:"flex h-full flex-col",children:[ss("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-background px-1.5 select-none",children:[Me(Qk,{"aria-label":o?"Resume":"Pause",onClick:()=>r(x=>!x),children:o?Me(Qr,{className:"size-3.5"}):Me(Ki,{className:"size-3.5"})}),Me(Qk,{"aria-label":"Clear",onClick:()=>{s([]),l({})},children:Me(en,{className:"size-3.5"})}),Me("div",{className:"mx-1 h-3 w-px bg-border/60"}),["info","warn","error","plain"].map(x=>Me(bW,{label:x,active:e[x],level:x,onClick:()=>m(x)},x)),Me("div",{className:"flex-1"}),ss("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[p.length," / ",n.length]})]}),Me("div",{ref:u,onScroll:c,style:{overflowAnchor:"none"},className:"min-h-0 flex-1 overflow-auto font-mono text-[11px] leading-[1.45]",children:p.length===0?Me("div",{className:"p-3 text-muted-foreground",children:"Waiting for console output\u2026"}):Me("ul",{onClick:g,children:p.map(x=>Me(SW,{entry:x,expanded:!!i[x.id]},x.id))})})]})},Qk=({className:t,children:e,...a})=>Me("button",{type:"button",className:me("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",t),...a,children:e}),bW=({label:t,level:e,active:a,onClick:o})=>Me("button",{type:"button",onClick:o,"data-active":a,className:me("h-5 rounded-md border px-1.5 text-[11px] leading-none transition-colors","data-[active=false]:opacity-40 data-[active=false]:hover:opacity-70",e1[e]),children:t}),IW=({entry:t,expanded:e})=>{if(t.level==="plain"||!t.parsed)return Me("li",{className:"border-b border-border/30 px-2 py-0.5 text-zinc-400 whitespace-pre-wrap break-words",style:{contain:"content"},children:t.raw});let a=t.parsed,o=Array.isArray(a.stack)&&a.stack.length>0;return ss("li",{className:"border-b border-border/30",style:{contain:"content"},"data-row-id":o?t.id:void 0,children:[ss("div",{className:me("flex items-start gap-1.5 px-2 py-0.5",o&&"cursor-pointer hover:bg-accent/30"),children:[o?Me(zi,{className:me("mt-0.5 size-3 shrink-0 transition-transform",e&&"rotate-90")}):Me("span",{className:"inline-block size-3 shrink-0"}),Me("span",{className:me("shrink-0 rounded border px-1 text-[10px] font-medium uppercase tracking-wide",e1[t.level]),children:t.level}),a.ts&&Me("span",{className:"shrink-0 text-zinc-500 tabular-nums",children:a.ts}),Me("span",{className:"break-words text-zinc-200",children:a.msg??t.raw})]}),o&&e&&Me("ul",{className:"border-t border-border/20 bg-accent/10 px-7 py-1",children:a.stack.map((r,n)=>ss("li",{className:"text-zinc-400 whitespace-pre-wrap break-words",children:[Me("span",{className:"text-zinc-300",children:r.proc||"<anon>"}),Me("span",{className:"text-zinc-500",children:" @ "}),Me("span",{children:r.file}),Me("span",{className:"text-zinc-500",children:":"}),Me("span",{className:"tabular-nums text-zinc-300",children:r.line})]},n))})]})},SW=Ft.memo(IW,(t,e)=>t.entry===e.entry&&t.expanded===e.expanded),t1=wW;import{jsx as kW}from"react/jsx-runtime";var vW=()=>kW("div",{className:"p-3 text-muted-foreground",children:"Network placeholder"}),a1=vW;import sa from"react";import*as l1 from"react";import*as u1 from"react-dom";var Tf={};yx(Tf,{Root:()=>MW,Slot:()=>MW,Slottable:()=>PW,createSlot:()=>is,createSlottable:()=>i1});import*as ft from"react";import*as r1 from"react";function o1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function AW(...t){return e=>{let a=!1,o=t.map(r=>{let n=o1(r,e);return!a&&typeof n=="function"&&(a=!0),n});if(a)return()=>{for(let r=0;r<o.length;r++){let n=o[r];typeof n=="function"?n():o1(t[r],null)}}}}function Sa(...t){return r1.useCallback(AW(...t),t)}function is(t){let e=ft.forwardRef((a,o)=>{let{children:r,...n}=a,s=null,i=!1,l=[];n1(r)&&typeof Df=="function"&&(r=Df(r._payload)),ft.Children.forEach(r,c=>{if(EW(c)){i=!0;let h=c,p="child"in h.props?h.props.child:h.props.children;n1(p)&&typeof Df=="function"&&(p=Df(p._payload)),s=RW(h,p),l.push(s?.props?.children)}else l.push(c)}),s?s=ft.cloneElement(s,void 0,l):!i&&ft.Children.count(r)===1&&ft.isValidElement(r)&&(s=r);let u=s?TW(s):void 0,d=Sa(o,u);if(!s){if(r||r===0)throw new Error(i?NW(t):FW(t));return r}let f=DW(n,s.props??{});return s.type!==ft.Fragment&&(f.ref=o?d:u),ft.cloneElement(s,f)});return e.displayName=`${t}.Slot`,e}var MW=is("Slot"),s1=Symbol.for("radix.slottable");function i1(t){let e=a=>"child"in a?a.children(a.child):a.children;return e.displayName=`${t}.Slottable`,e.__radixId=s1,e}var PW=i1("Slottable"),RW=(t,e)=>{if("child"in t.props){let a=t.props.child;return ft.isValidElement(a)?ft.cloneElement(a,void 0,t.props.children(a.props.children)):null}return ft.isValidElement(e)?e:null};function DW(t,e){let a={...e};for(let o in e){let r=t[o],n=e[o];/^on[A-Z]/.test(o)?r&&n?a[o]=(...i)=>{let l=n(...i);return r(...i),l}:r&&(a[o]=r):o==="style"?a[o]={...r,...n}:o==="className"&&(a[o]=[r,n].filter(Boolean).join(" "))}return{...t,...a}}function TW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}function EW(t){return ft.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===s1}var BW=Symbol.for("react.lazy");function n1(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===BW&&"_payload"in t&&OW(t._payload)}function OW(t){return typeof t=="object"&&t!==null&&"then"in t}var FW=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,NW=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Df=ft[" use ".trim().toString()];import{jsx as HW}from"react/jsx-runtime";var _W=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Vt=_W.reduce((t,e)=>{let a=is(`Primitive.${e}`),o=l1.forwardRef((r,n)=>{let{asChild:s,...i}=r,l=s?a:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),HW(l,{...i,ref:n})});return o.displayName=`Primitive.${e}`,{...t,[e]:o}},{});function d1(t,e){t&&u1.flushSync(()=>t.dispatchEvent(e))}import*as oa from"react";import{jsx as f1}from"react/jsx-runtime";function c1(t,e){let a=oa.createContext(e);a.displayName=t+"Context";let o=n=>{let{children:s,...i}=n,l=oa.useMemo(()=>i,Object.values(i));return f1(a.Provider,{value:l,children:s})};o.displayName=t+"Provider";function r(n){let s=oa.useContext(a);if(s)return s;if(e!==void 0)return e;throw new Error(`\`${n}\` must be used within \`${t}\``)}return[o,r]}function h1(t,e=[]){let a=[];function o(n,s){let i=oa.createContext(s);i.displayName=n+"Context";let l=a.length;a=[...a,s];let u=f=>{let{scope:c,children:h,...p}=f,m=c?.[t]?.[l]||i,g=oa.useMemo(()=>p,Object.values(p));return f1(m.Provider,{value:g,children:h})};u.displayName=n+"Provider";function d(f,c){let h=c?.[t]?.[l]||i,p=oa.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${f}\` must be used within \`${n}\``)}return[u,d]}let r=()=>{let n=a.map(s=>oa.createContext(s));return function(i){let l=i?.[t]||n;return oa.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[o,qW(r,...e)]}function qW(...t){let e=t[0];if(t.length===1)return e;let a=()=>{let o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(n){let s=o.reduce((i,{useScope:l,scopeName:u})=>{let f=l(n)[`__scope${u}`];return{...i,...f}},{});return oa.useMemo(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return a.scopeName=e.scopeName,a}var $Z=!!(typeof window<"u"&&window.document&&window.document.createElement);function $a(t,e,{checkForDefaultPrevented:a=!0}={}){return function(r){if(t?.(r),a===!1||!r.defaultPrevented)return e?.(r)}}import*as ra from"react";import*as p1 from"react";var bo=globalThis?.document?p1.useLayoutEffect:()=>{};import*as Ef from"react";var zW=ra[" useInsertionEffect ".trim().toString()]||bo;function m1({prop:t,defaultProp:e,onChange:a=()=>{},caller:o}){let[r,n,s]=UW({defaultProp:e,onChange:a}),i=t!==void 0,l=i?t:r;{let d=ra.useRef(t!==void 0);ra.useEffect(()=>{let f=d.current;f!==i&&console.warn(`${o} is changing from ${f?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}let u=ra.useCallback(d=>{if(i){let f=VW(d)?d(t):d;f!==t&&s.current?.(f)}else n(d)},[i,t,n,s]);return[l,u]}function UW({defaultProp:t,onChange:e}){let[a,o]=ra.useState(t),r=ra.useRef(a),n=ra.useRef(e);return zW(()=>{n.current=e},[e]),ra.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,o,n]}function VW(t){return typeof t=="function"}import*as mt from"react";import*as x1 from"react";function WW(t,e){return x1.useReducer((a,o)=>e[a][o]??a,t)}var al=t=>{let{present:e,children:a}=t,o=GW(e),r=typeof a=="function"?a({present:o.isPresent}):mt.Children.only(a),n=$W(o.ref,XW(r));return typeof a=="function"||o.isPresent?mt.cloneElement(r,{ref:n}):null};al.displayName="Presence";function GW(t){let[e,a]=mt.useState(),o=mt.useRef(null),r=mt.useRef(t),n=mt.useRef("none"),s=t?"mounted":"unmounted",[i,l]=WW(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return mt.useEffect(()=>{let u=Bf(o.current);n.current=i==="mounted"?u:"none"},[i]),bo(()=>{let u=o.current,d=r.current;if(d!==t){let c=n.current,h=Bf(u);t?l("MOUNT"):h==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&c!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),bo(()=>{if(e){let u,d=e.ownerDocument.defaultView??window,f=h=>{let m=Bf(o.current).includes(CSS.escape(h.animationName));if(h.target===e&&m&&(l("ANIMATION_END"),!r.current)){let g=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=g)})}},c=h=>{h.target===e&&(n.current=Bf(o.current))};return e.addEventListener("animationstart",c),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",c),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:mt.useCallback(u=>{o.current=u?getComputedStyle(u):null,a(u)},[])}}function g1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function $W(...t){let e=mt.useRef(t);return e.current=t,mt.useCallback(a=>{let o=e.current,r=!1,n=o.map(s=>{let i=g1(s,a);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<n.length;s++){let i=n[s];typeof i=="function"?i():g1(o[s],null)}}},[])}function Bf(t){return t?.animationName||"none"}function XW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}import*as Mg from"react";var KW=Mg[" useId ".trim().toString()]||(()=>{}),jW=0;function Of(t){let[e,a]=Mg.useState(KW());return bo(()=>{t||a(o=>o??String(jW++))},[t]),t||(e?`radix-${e}`:"")}var Xa={};yx(Xa,{Close:()=>aG,Content:()=>Q3,Description:()=>tG,Dialog:()=>Zg,DialogClose:()=>nx,DialogContent:()=>tx,DialogDescription:()=>rx,DialogOverlay:()=>ex,DialogPortal:()=>Qg,DialogTitle:()=>ox,DialogTrigger:()=>Yg,Overlay:()=>J3,Portal:()=>Y3,Root:()=>j3,Title:()=>eG,Trigger:()=>Z3,WarningProvider:()=>G3,createDialogScope:()=>H3});import*as Pe from"react";import*as Ne from"react";import*as ls from"react";function tr(t){let e=ls.useRef(t);return ls.useEffect(()=>{e.current=t}),ls.useMemo(()=>((...a)=>e.current?.(...a)),[])}import*as L1 from"react";function C1(t,e=globalThis?.document){let a=tr(t);L1.useEffect(()=>{let o=r=>{r.key==="Escape"&&a(r)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[a,e])}import{jsx as b1}from"react/jsx-runtime";var ZW="DismissableLayer",Pg="dismissableLayer.update",YW="dismissableLayer.pointerDownOutside",JW="dismissableLayer.focusOutside",y1,I1=Ne.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Rg=Ne.forwardRef((t,e)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:s,onDismiss:i,...l}=t,u=Ne.useContext(I1),[d,f]=Ne.useState(null),c=d?.ownerDocument??globalThis?.document,[,h]=Ne.useState({}),p=Sa(e,b=>f(b)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),x=m.indexOf(g),C=d?m.indexOf(d):-1,L=u.layersWithOutsidePointerEventsDisabled.size>0,y=C>=x,S=t3(b=>{let I=b.target,v=[...u.branches].some(N=>N.contains(I));!y||v||(r?.(b),s?.(b),b.defaultPrevented||i?.())},c),w=a3(b=>{let I=b.target;[...u.branches].some(N=>N.contains(I))||(n?.(b),s?.(b),b.defaultPrevented||i?.())},c);return C1(b=>{C===u.layers.size-1&&(o?.(b),!b.defaultPrevented&&i&&(b.preventDefault(),i()))},c),Ne.useEffect(()=>{if(d)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(y1=c.body.style.pointerEvents,c.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),w1(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(c.body.style.pointerEvents=y1))}},[d,c,a,u]),Ne.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),w1())},[d,u]),Ne.useEffect(()=>{let b=()=>h({});return document.addEventListener(Pg,b),()=>document.removeEventListener(Pg,b)},[]),b1(Vt.div,{...l,ref:p,style:{pointerEvents:L?y?"auto":"none":void 0,...t.style},onFocusCapture:$a(t.onFocusCapture,w.onFocusCapture),onBlurCapture:$a(t.onBlurCapture,w.onBlurCapture),onPointerDownCapture:$a(t.onPointerDownCapture,S.onPointerDownCapture)})});Rg.displayName=ZW;var QW="DismissableLayerBranch",e3=Ne.forwardRef((t,e)=>{let a=Ne.useContext(I1),o=Ne.useRef(null),r=Sa(e,o);return Ne.useEffect(()=>{let n=o.current;if(n)return a.branches.add(n),()=>{a.branches.delete(n)}},[a.branches]),b1(Vt.div,{...t,ref:r})});e3.displayName=QW;function t3(t,e=globalThis?.document){let a=tr(t),o=Ne.useRef(!1),r=Ne.useRef(()=>{});return Ne.useEffect(()=>{let n=i=>{if(i.target&&!o.current){let u=function(){S1(YW,a,d,{discrete:!0})};var l=u;let d={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{e.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(s),e.removeEventListener("pointerdown",n),e.removeEventListener("click",r.current)}},[e,a]),{onPointerDownCapture:()=>o.current=!0}}function a3(t,e=globalThis?.document){let a=tr(t),o=Ne.useRef(!1);return Ne.useEffect(()=>{let r=n=>{n.target&&!o.current&&S1(JW,a,{originalEvent:n},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function w1(){let t=new CustomEvent(Pg);document.dispatchEvent(t)}function S1(t,e,a,{discrete:o}){let r=a.originalEvent.target,n=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:a});e&&r.addEventListener(t,e,{once:!0}),o?d1(r,n):r.dispatchEvent(n)}import*as na from"react";import{jsx as o3}from"react/jsx-runtime";var Dg="focusScope.autoFocusOnMount",Tg="focusScope.autoFocusOnUnmount",v1={bubbles:!1,cancelable:!0},r3="FocusScope",Eg=na.forwardRef((t,e)=>{let{loop:a=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...s}=t,[i,l]=na.useState(null),u=tr(r),d=tr(n),f=na.useRef(null),c=Sa(e,m=>l(m)),h=na.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;na.useEffect(()=>{if(o){let C=function(w){if(h.paused||!i)return;let b=w.target;i.contains(b)?f.current=b:ar(f.current,{select:!0})},L=function(w){if(h.paused||!i)return;let b=w.relatedTarget;b!==null&&(i.contains(b)||ar(f.current,{select:!0}))},y=function(w){if(document.activeElement===document.body)for(let I of w)I.removedNodes.length>0&&ar(i)};var m=C,g=L,x=y;document.addEventListener("focusin",C),document.addEventListener("focusout",L);let S=new MutationObserver(y);return i&&S.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",L),S.disconnect()}}},[o,i,h.paused]),na.useEffect(()=>{if(i){A1.add(h);let m=document.activeElement;if(!i.contains(m)){let x=new CustomEvent(Dg,v1);i.addEventListener(Dg,u),i.dispatchEvent(x),x.defaultPrevented||(n3(d3(P1(i)),{select:!0}),document.activeElement===m&&ar(i))}return()=>{i.removeEventListener(Dg,u),setTimeout(()=>{let x=new CustomEvent(Tg,v1);i.addEventListener(Tg,d),i.dispatchEvent(x),x.defaultPrevented||ar(m??document.body,{select:!0}),i.removeEventListener(Tg,d),A1.remove(h)},0)}}},[i,u,d,h]);let p=na.useCallback(m=>{if(!a&&!o||h.paused)return;let g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,x=document.activeElement;if(g&&x){let C=m.currentTarget,[L,y]=s3(C);L&&y?!m.shiftKey&&x===y?(m.preventDefault(),a&&ar(L,{select:!0})):m.shiftKey&&x===L&&(m.preventDefault(),a&&ar(y,{select:!0})):x===C&&m.preventDefault()}},[a,o,h.paused]);return o3(Vt.div,{tabIndex:-1,...s,ref:c,onKeyDown:p})});Eg.displayName=r3;function n3(t,{select:e=!1}={}){let a=document.activeElement;for(let o of t)if(ar(o,{select:e}),document.activeElement!==a)return}function s3(t){let e=P1(t),a=k1(e,t),o=k1(e.reverse(),t);return[a,o]}function P1(t){let e=[],a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)e.push(a.currentNode);return e}function k1(t,e){for(let a of t)if(!i3(a,{upTo:e}))return a}function i3(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function l3(t){return t instanceof HTMLInputElement&&"select"in t}function ar(t,{select:e=!1}={}){if(t&&t.focus){let a=document.activeElement;t.focus({preventScroll:!0}),t!==a&&l3(t)&&e&&t.select()}}var A1=u3();function u3(){let t=[];return{add(e){let a=t[0];e!==a&&a?.pause(),t=M1(t,e),t.unshift(e)},remove(e){t=M1(t,e),t[0]?.resume()}}}function M1(t,e){let a=[...t],o=a.indexOf(e);return o!==-1&&a.splice(o,1),a}function d3(t){return t.filter(e=>e.tagName!=="A")}import*as Ff from"react";import*as R1 from"react-dom";import{jsx as f3}from"react/jsx-runtime";var c3="Portal",Bg=Ff.forwardRef((t,e)=>{let{container:a,...o}=t,[r,n]=Ff.useState(!1);bo(()=>n(!0),[]);let s=a||r&&globalThis?.document?.body;return s?R1.createPortal(f3(Vt.div,{...o,ref:e}),s):null});Bg.displayName=c3;import*as T1 from"react";var Nf=0,us=null;function E1(){T1.useEffect(()=>{us||(us={start:D1(),end:D1()});let{start:t,end:e}=us;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),Nf++,()=>{Nf===1&&(us?.start.remove(),us?.end.remove(),us=null),Nf=Math.max(0,Nf-1)}},[])}function D1(){let t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Nt=function(){return Nt=Object.assign||function(e){for(var a,o=1,r=arguments.length;o<r;o++){a=arguments[o];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Nt.apply(this,arguments)};function Hf(t,e){var a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(a[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(a[o[r]]=t[o[r]]);return a}function B1(t,e,a){if(a||arguments.length===2)for(var o=0,r=e.length,n;o<r;o++)(n||!(o in e))&&(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}import*as Vf from"react";import*as gt from"react";var on="right-scroll-bar-position",rn="width-before-scroll-bar",Og="with-scroll-bars-hidden",Fg="--removed-body-scroll-bar-size";function _f(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}import{useState as h3}from"react";function O1(t,e){var a=h3(function(){return{value:t,callback:e,facade:{get current(){return a.value},set current(o){var r=a.value;r!==o&&(a.value=o,a.callback(o,r))}}}})[0];return a.callback=e,a.facade}import*as qf from"react";var p3=typeof window<"u"?qf.useLayoutEffect:qf.useEffect,F1=new WeakMap;function Ng(t,e){var a=O1(e||null,function(o){return t.forEach(function(r){return _f(r,o)})});return p3(function(){var o=F1.get(a);if(o){var r=new Set(o),n=new Set(t),s=a.current;r.forEach(function(i){n.has(i)||_f(i,null)}),n.forEach(function(i){r.has(i)||_f(i,s)})}F1.set(a,t)},[t]),a}function m3(t){return t}function g3(t,e){e===void 0&&(e=m3);var a=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:t},useMedium:function(n){var s=e(n,o);return a.push(s),function(){a=a.filter(function(i){return i!==s})}},assignSyncMedium:function(n){for(o=!0;a.length;){var s=a;a=[],s.forEach(n)}a={push:function(i){return n(i)},filter:function(){return a}}},assignMedium:function(n){o=!0;var s=[];if(a.length){var i=a;a=[],i.forEach(n),s=a}var l=function(){var d=s;s=[],d.forEach(n)},u=function(){return Promise.resolve().then(l)};u(),a={push:function(d){s.push(d),u()},filter:function(d){return s=s.filter(d),a}}}};return r}function Hg(t){t===void 0&&(t={});var e=g3(null);return e.options=Nt({async:!0,ssr:!1},t),e}import*as N1 from"react";var H1=function(t){var e=t.sideCar,a=Hf(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=e.read();if(!o)throw new Error("Sidecar medium not found");return N1.createElement(o,Nt({},a))};H1.isSideCarExport=!0;function _g(t,e){return t.useMedium(e),H1}var zf=Hg();var qg=function(){},ol=gt.forwardRef(function(t,e){var a=gt.useRef(null),o=gt.useState({onScrollCapture:qg,onWheelCapture:qg,onTouchMoveCapture:qg}),r=o[0],n=o[1],s=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,f=t.shards,c=t.sideCar,h=t.noRelative,p=t.noIsolation,m=t.inert,g=t.allowPinchZoom,x=t.as,C=x===void 0?"div":x,L=t.gapMode,y=Hf(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=c,w=Ng([a,e]),b=Nt(Nt({},y),r);return gt.createElement(gt.Fragment,null,d&&gt.createElement(S,{sideCar:zf,removeScrollBar:u,shards:f,noRelative:h,noIsolation:p,inert:m,setCallbacks:n,allowPinchZoom:!!g,lockRef:a,gapMode:L}),s?gt.cloneElement(gt.Children.only(i),Nt(Nt({},b),{ref:w})):gt.createElement(C,Nt({},b,{className:l,ref:w}),i))});ol.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ol.classNames={fullWidth:rn,zeroRight:on};import*as Te from"react";import*as fs from"react";import*as z1 from"react";var _1;var q1=function(){if(_1)return _1;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function x3(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=q1();return e&&t.setAttribute("nonce",e),t}function L3(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function C3(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var zg=function(){var t=0,e=null;return{add:function(a){t==0&&(e=x3())&&(L3(e,a),C3(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}};var Ug=function(){var t=zg();return function(e,a){z1.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&a])}};var rl=function(){var t=Ug(),e=function(a){var o=a.styles,r=a.dynamic;return t(o,r),null};return e};var y3={left:0,top:0,right:0,gap:0},Vg=function(t){return parseInt(t||"",10)||0},w3=function(t){var e=window.getComputedStyle(document.body),a=e[t==="padding"?"paddingLeft":"marginLeft"],o=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[Vg(a),Vg(o),Vg(r)]},Wg=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return y3;var e=w3(t),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,o-a+e[2]-e[0])}};var b3=rl(),ds="data-scroll-locked",I3=function(t,e,a,o){var r=t.left,n=t.top,s=t.right,i=t.gap;return a===void 0&&(a="margin"),`
28
- .`.concat(Og,` {
26
+ `)),d=u.reduce((c,f)=>c.concat(...f),[]);return[u,d]}return[[],[]]},[t]);return De(()=>{let l=e?.target??wS,u=e?.actInsideInputWithModifier??!0;if(t!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!u)&&Zm(h))return!1;let m=LS(h.code,i);if(n.current.add(h[m]),yS(s,n.current,!1)){let g=h.composedPath?.()?.[0]||h.target,x=g?.nodeName==="BUTTON"||g?.nodeName==="A";e.preventDefault!==!1&&(r.current||!x)&&h.preventDefault(),o(!0)}},c=h=>{let p=LS(h.code,i);yS(s,n.current,!0)?(o(!1),n.current.clear()):n.current.delete(h[p]),h.key==="Meta"&&n.current.clear(),r.current=!1},f=()=>{n.current.clear(),o(!1)};return l?.addEventListener("keydown",d),l?.addEventListener("keyup",c),window.addEventListener("blur",f),window.addEventListener("contextmenu",f),()=>{l?.removeEventListener("keydown",d),l?.removeEventListener("keyup",c),window.removeEventListener("blur",f),window.removeEventListener("contextmenu",f)}}},[t,o]),a}function yS(t,e,a){return t.filter(o=>a||o.length===e.size).some(o=>o.every(r=>e.has(r)))}function LS(t,e){return e.includes(t)?"code":"key"}var $N=()=>{let t=qe();return Ta(()=>({zoomIn:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1.2,e):!1},zoomOut:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1/1.2,e):!1},zoomTo:async(e,a)=>{let{panZoom:o}=t.getState();return o?o.scaleTo(e,a):!1},getZoom:()=>t.getState().transform[2],setViewport:async(e,a)=>{let{transform:[o,r,n],panZoom:s}=t.getState();return s?(await s.setViewport({x:e.x??o,y:e.y??r,zoom:e.zoom??n},a),!0):!1},getViewport:()=>{let[e,a,o]=t.getState().transform;return{x:e,y:a,zoom:o}},setCenter:async(e,a,o)=>t.getState().setCenter(e,a,o),fitBounds:async(e,a)=>{let{width:o,height:r,minZoom:n,maxZoom:s,panZoom:i}=t.getState(),l=Bi(e,o,r,n,s,a?.padding??.1);return i?(await i.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0):!1},screenToFlowPosition:(e,a={})=>{let{transform:o,snapGrid:r,snapToGrid:n,domNode:s}=t.getState();if(!s)return e;let{x:i,y:l}=s.getBoundingClientRect(),u={x:e.x-i,y:e.y-l},d=a.snapGrid??r,c=a.snapToGrid??n;return en(u,o,c,d)},flowToScreenPosition:e=>{let{transform:a,domNode:o}=t.getState();if(!o)return e;let{x:r,y:n}=o.getBoundingClientRect(),s=Yr(e,a);return{x:s.x+r,y:s.y+n}}}),[])};function WS(t,e){let a=[],o=new Map,r=[];for(let n of t)if(n.type==="add"){r.push(n);continue}else if(n.type==="remove"||n.type==="replace")o.set(n.id,[n]);else{let s=o.get(n.id);s?s.push(n):o.set(n.id,[n])}for(let n of e){let s=o.get(n.id);if(!s){a.push(n);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){a.push({...s[0].item});continue}let i={...n};for(let l of s)XN(l,i);a.push(i)}return r.length&&r.forEach(n=>{n.index!==void 0?a.splice(n.index,0,{...n.item}):a.push({...n.item})}),a}function XN(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function KN(t,e){return WS(t,e)}function jN(t,e){return WS(t,e)}function tn(t,e){return{id:t,type:"select",selected:e}}function ls(t,e=new Set,a=!1){let o=[];for(let[r,n]of t){let s=e.has(r);!(n.selected===void 0&&!s)&&n.selected!==s&&(a&&(n.selected=s),o.push(tn(n.id,s)))}return o}function CS({items:t=[],lookup:e}){let a=[],o=new Map(t.map(r=>[r.id,r]));for(let[r,n]of t.entries()){let s=e.get(n.id),i=s?.internals?.userNode??s;i!==void 0&&i!==n&&a.push({id:n.id,item:n,type:"replace"}),i===void 0&&a.push({item:n,type:"add",index:r})}for(let[r]of e)o.get(r)===void 0&&a.push({id:r,type:"remove"});return a}function vS(t){return{id:t.id,type:"remove"}}var ZN=$m("React Flow","https://reactflow.dev/");function YN(t,e,a={}){return Ov(t,e,{...a,onError:a.onError??ZN})}var SS=t=>Av(t),JN=t=>zm(t);function VS(t){return _S(t)}var QN=typeof window<"u"?AN:De;function IS(t){let[e,a]=Za(BigInt(0)),[o]=Za(()=>e_(()=>a(r=>r+BigInt(1))));return QN(()=>{let r=o.get();r.length&&(t(r),o.reset())},[e]),o}function e_(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:a=>{e.push(a),t()}}}var GS=ug(null);function t_({children:t}){let e=qe(),a=Ya(i=>{let{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:c,nodeLookup:f,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=e.getState(),m=l;for(let x of i)m=typeof x=="function"?x(m):x;let g=CS({items:m,lookup:f});for(let x of p.values())g=x(g);d&&u(m),g.length>0?c?.(g):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:x,nodes:y,setNodes:w}=e.getState();x&&w(y)})},[]),o=IS(a),r=Ya(i=>{let{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:c,edgeLookup:f}=e.getState(),h=l;for(let p of i)h=typeof p=="function"?p(h):p;d?u(h):c&&c(CS({items:h,lookup:f}))},[]),n=IS(r),s=Ta(()=>({nodeQueue:o,edgeQueue:n}),[]);return K(GS.Provider,{value:s,children:t})}function a_(){let t=Ni(GS);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}var o_=t=>!!t.panZoom;function _i(){let t=$N(),e=qe(),a=a_(),o=be(o_),r=Ta(()=>{let n=c=>e.getState().nodeLookup.get(c),s=c=>{a.nodeQueue.push(c)},i=c=>{a.edgeQueue.push(c)},l=c=>{let{nodeLookup:f,nodeOrigin:h}=e.getState(),p=SS(c)?c:f.get(c.id),m=p.parentId?Xm(p.position,p.measured,p.parentId,f,h):p.position,g={...p,position:m,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return Qr(g)},u=(c,f,h={replace:!1})=>{s(p=>p.map(m=>{if(m.id===c){let g=typeof f=="function"?f(m):f;return h.replace&&SS(g)?g:{...m,...g}}return m}))},d=(c,f,h={replace:!1})=>{i(p=>p.map(m=>{if(m.id===c){let g=typeof f=="function"?f(m):f;return h.replace&&JN(g)?g:{...m,...g}}return m}))};return{getNodes:()=>e.getState().nodes.map(c=>({...c})),getNode:c=>n(c)?.internals.userNode,getInternalNode:n,getEdges:()=>{let{edges:c=[]}=e.getState();return c.map(f=>({...f}))},getEdge:c=>e.getState().edgeLookup.get(c),setNodes:s,setEdges:i,addNodes:c=>{let f=Array.isArray(c)?c:[c];a.nodeQueue.push(h=>[...h,...f])},addEdges:c=>{let f=Array.isArray(c)?c:[c];a.edgeQueue.push(h=>[...h,...f])},toObject:()=>{let{nodes:c=[],edges:f=[],transform:h}=e.getState(),[p,m,g]=h;return{nodes:c.map(x=>({...x})),edges:f.map(x=>({...x})),viewport:{x:p,y:m,zoom:g}}},deleteElements:async({nodes:c=[],edges:f=[]})=>{let{nodes:h,edges:p,onNodesDelete:m,onEdgesDelete:g,triggerNodeChanges:x,triggerEdgeChanges:y,onDelete:w,onBeforeDelete:C}=e.getState(),{nodes:I,edges:v}=await Dv({nodesToRemove:c,edgesToRemove:f,nodes:h,edges:p,onBeforeDelete:C}),L=v.length>0,S=I.length>0;if(L){let A=v.map(vS);g?.(v),y(A)}if(S){let A=I.map(vS);m?.(I),x(A)}return(S||L)&&w?.({nodes:I,edges:v}),{deletedNodes:I,deletedEdges:v}},getIntersectingNodes:(c,f=!0,h)=>{let p=Gm(c),m=p?c:l(c),g=h!==void 0;return m?(h||e.getState().nodes).filter(x=>{let y=e.getState().nodeLookup.get(x.id);if(y&&!p&&(x.id===c.id||!y.internals.positionAbsolute))return!1;let w=Qr(g?x:y),C=rs(w,m);return f&&C>0||C>=w.width*w.height||C>=m.width*m.height}):[]},isNodeIntersecting:(c,f,h=!0)=>{let m=Gm(c)?c:l(c);if(!m)return!1;let g=rs(m,f);return h&&g>0||g>=f.width*f.height||g>=m.width*m.height},updateNode:u,updateNodeData:(c,f,h={replace:!1})=>{u(c,p=>{let m=typeof f=="function"?f(p):f;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},updateEdge:d,updateEdgeData:(c,f,h={replace:!1})=>{d(c,p=>{let m=typeof f=="function"?f(p):f;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},getNodesBounds:c=>{let{nodeLookup:f,nodeOrigin:h}=e.getState();return Um(c,{nodeLookup:f,nodeOrigin:h})},getHandleConnections:({type:c,id:f,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}-${c}${f?`-${f}`:""}`)?.values()??[]),getNodeConnections:({type:c,handleId:f,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}${c?f?`-${c}-${f}`:`-${c}`:""}`)?.values()??[]),fitView:async c=>{let f=e.getState().fitViewResolver??Tv();return e.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:f}),a.nodeQueue.push(h=>[...h]),f.promise}}},[]);return Ta(()=>({...r,...t,viewportInitialized:o}),[o])}var kS=t=>t.selected,r_=typeof window<"u"?window:void 0;function n_({deleteKeyCode:t,multiSelectionKeyCode:e}){let a=qe(),{deleteElements:o}=_i(),r=Oi(t,{actInsideInputWithModifier:!1}),n=Oi(e,{target:r_});De(()=>{if(r){let{edges:s,nodes:i}=a.getState();o({nodes:i.filter(kS),edges:s.filter(kS)}),a.setState({nodesSelectionActive:!1})}},[r]),De(()=>{a.setState({multiSelectionActive:n})},[n])}function s_(t){let e=qe();De(()=>{let a=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;let o=nc(t.current);(o.height===0||o.width===0)&&e.getState().onError?.("004",Yt.error004()),e.setState({width:o.width||500,height:o.height||500})};if(t.current){a(),window.addEventListener("resize",a);let o=new ResizeObserver(()=>a());return o.observe(t.current),()=>{window.removeEventListener("resize",a),o&&t.current&&o.unobserve(t.current)}}},[])}var yc={position:"absolute",width:"100%",height:"100%",top:0,left:0},i_=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function l_({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:n=Lo.Free,zoomOnDoubleClick:s=!0,panOnDrag:i=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:c,zoomActivationKeyCode:f,preventScrolling:h=!0,children:p,noWheelClassName:m,noPanClassName:g,onViewportChange:x,isControlledViewport:y,paneClickDistance:w,selectionOnDrag:C}){let I=qe(),v=Se(null),{userSelectionActive:L,lib:S,connectionInProgress:A}=be(i_,Oe),H=Oi(f),M=Se();s_(v);let R=Ya(z=>{x?.({x:z[0],y:z[1],zoom:z[2]}),y||I.setState({transform:z})},[x,y]);return De(()=>{if(v.current){M.current=Qv({domNode:v.current,minZoom:d,maxZoom:c,translateExtent:u,viewport:l,onDraggingChange:D=>I.setState(E=>E.paneDragging===D?E:{paneDragging:D}),onPanZoomStart:(D,E)=>{let{onViewportChangeStart:q,onMoveStart:B}=I.getState();B?.(D,E),q?.(E)},onPanZoom:(D,E)=>{let{onViewportChange:q,onMove:B}=I.getState();B?.(D,E),q?.(E)},onPanZoomEnd:(D,E)=>{let{onViewportChangeEnd:q,onMoveEnd:B}=I.getState();B?.(D,E),q?.(E)}});let{x:z,y:k,zoom:T}=M.current.getViewport();return I.setState({panZoom:M.current,transform:[z,k,T],domNode:v.current.closest(".react-flow")}),()=>{M.current?.destroy()}}},[]),De(()=>{M.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:a,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:n,zoomOnDoubleClick:s,panOnDrag:i,zoomActivationKeyPressed:H,preventScrolling:h,noPanClassName:g,userSelectionActive:L,noWheelClassName:m,lib:S,onTransformChange:R,connectionInProgress:A,selectionOnDrag:C,paneClickDistance:w})},[t,e,a,o,r,n,s,i,H,h,g,L,m,S,R,A,C,w]),K("div",{className:"react-flow__renderer",ref:v,style:yc,children:p})}var u_=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function d_(){let{userSelectionActive:t,userSelectionRect:e}=be(u_,Oe);return t&&e?K("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}var sg=(t,e)=>a=>{a.target===e.current&&t?.(a)},c_=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function f_({isSelecting:t,selectionKeyPressed:e,selectionMode:a=jr.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:n,selectionOnDrag:s,onSelectionStart:i,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:c,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){let g=Se(0),x=qe(),{userSelectionActive:y,elementsSelectable:w,dragging:C,connectionInProgress:I,panBy:v,autoPanSpeed:L}=be(c_,Oe),S=w&&(t||y),A=Se(null),H=Se(),M=Se(new Set),R=Se(new Set),z=Se(!1),k=Se({x:0,y:0}),T=Se(!1),D=F=>{if(z.current||I){z.current=!1;return}u?.(F),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},E=F=>{if(Array.isArray(o)&&o?.includes(2)){F.preventDefault();return}d?.(F)},q=c?F=>c(F):void 0,B=F=>{z.current&&(F.stopPropagation(),z.current=!1)},P=F=>{let{domNode:V,transform:ie}=x.getState();if(H.current=V?.getBoundingClientRect(),!H.current)return;let le=F.target===A.current;if(!le&&!!F.target.closest(".nokey")||!t||!(s&&le||e)||F.button!==0||!F.isPrimary)return;F.target?.setPointerCapture?.(F.pointerId),z.current=!1;let{x:ue,y:ve}=ca(F.nativeEvent,H.current),Re=en({x:ue,y:ve},ie);x.setState({userSelectionRect:{width:0,height:0,startX:Re.x,startY:Re.y,x:ue,y:ve}}),le||(F.stopPropagation(),F.preventDefault())};function N(F,V){let{userSelectionRect:ie}=x.getState();if(!ie)return;let{transform:le,nodeLookup:J,edgeLookup:ne,connectionLookup:ue,triggerNodeChanges:ve,triggerEdgeChanges:Re,defaultEdgeOptions:ct}=x.getState(),ga={x:ie.startX,y:ie.startY},{x:wt,y:ea}=Yr(ga,le),ee={startX:ga.x,startY:ga.y,x:F<wt?F:wt,y:V<ea?V:ea,width:Math.abs(F-wt),height:Math.abs(V-ea)},Ue=M.current,it=R.current;M.current=new Set(ec(J,ee,le,a===jr.Partial,!0).map(Gt=>Gt.id)),R.current=new Set;let so=ct?.selectable??!0;for(let Gt of M.current){let io=ue.get(Gt);if(io)for(let{edgeId:lo}of io.values()){let pr=ne.get(lo);pr&&(pr.selectable??so)&&R.current.add(lo)}}if(!Km(Ue,M.current)){let Gt=ls(J,M.current,!0);ve(Gt)}if(!Km(it,R.current)){let Gt=ls(ne,R.current);Re(Gt)}x.setState({userSelectionRect:ee,userSelectionActive:!0,nodesSelectionActive:!1})}function U(){if(!r||!H.current)return;let[F,V]=tc(k.current,H.current,L);v({x:F,y:V}).then(ie=>{if(!z.current||!ie){g.current=requestAnimationFrame(U);return}let{x:le,y:J}=k.current;N(le,J),g.current=requestAnimationFrame(U)})}let $=()=>{cancelAnimationFrame(g.current),g.current=0,T.current=!1};De(()=>()=>$(),[]);let _=F=>{let{userSelectionRect:V,transform:ie,resetSelectedElements:le}=x.getState();if(!H.current||!V)return;let{x:J,y:ne}=ca(F.nativeEvent,H.current);k.current={x:J,y:ne};let ue=Yr({x:V.startX,y:V.startY},ie);if(!z.current){let ve=e?0:n;if(Math.hypot(J-ue.x,ne-ue.y)<=ve)return;le(),i?.(F)}z.current=!0,T.current||(U(),T.current=!0),N(J,ne)},W=F=>{F.button===0&&(F.target?.releasePointerCapture?.(F.pointerId),!y&&F.target===A.current&&x.getState().userSelectionRect&&D?.(F),x.setState({userSelectionActive:!1,userSelectionRect:null}),z.current&&(l?.(F),x.setState({nodesSelectionActive:M.current.size>0})),$())},G=F=>{F.target?.releasePointerCapture?.(F.pointerId),$()},O=o===!0||Array.isArray(o)&&o.includes(0);return gt("div",{className:$e(["react-flow__pane",{draggable:O,dragging:C,selection:t}]),onClick:S?void 0:sg(D,A),onContextMenu:sg(E,A),onWheel:sg(q,A),onPointerEnter:S?void 0:f,onPointerMove:S?_:h,onPointerUp:S?W:void 0,onPointerCancel:S?G:void 0,onPointerDownCapture:S?P:void 0,onClickCapture:S?B:void 0,onPointerLeave:p,ref:A,style:yc,children:[m,K(d_,{})]})}function lg({id:t,store:e,unselect:a=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:n,multiSelectionActive:s,nodeLookup:i,onError:l}=e.getState(),u=i.get(t);if(!u){l?.("012",Yt.error012(t));return}e.setState({nodesSelectionActive:!1}),u.selected?(a||u.selected&&s)&&(n({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([t])}function $S({nodeRef:t,disabled:e=!1,noDragClassName:a,handleSelector:o,nodeId:r,isSelectable:n,nodeClickDistance:s}){let i=qe(),[l,u]=Za(!1),d=Se();return De(()=>{d.current=Gv({getStoreItems:()=>i.getState(),onNodeMouseDown:c=>{lg({id:c,store:i,nodeRef:t})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),De(()=>{if(!(e||!t.current||!d.current))return d.current.update({noDragClassName:a,handleSelector:o,domNode:t.current,isSelectable:n,nodeId:r,nodeClickDistance:s}),()=>{d.current?.destroy()}},[a,o,e,n,t,r,s]),l}var h_=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function XS(){let t=qe();return Ya(a=>{let{nodeExtent:o,snapToGrid:r,snapGrid:n,nodesDraggable:s,onError:i,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=t.getState(),c=new Map,f=h_(s),h=r?n[0]:5,p=r?n[1]:5,m=a.direction.x*h*a.factor,g=a.direction.y*p*a.factor;for(let[,x]of u){if(!f(x))continue;let y={x:x.internals.positionAbsolute.x+m,y:x.internals.positionAbsolute.y+g};r&&(y=ns(y,n));let{position:w,positionAbsolute:C}=Wm({nodeId:x.id,nextPosition:y,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:i});x.position=w,x.internals.positionAbsolute=C,c.set(x.id,x)}l(c)},[])}var dg=ug(null),p_=dg.Provider;dg.Consumer;var KS=()=>Ni(dg),m_=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),g_=(t,e,a)=>o=>{let{connectionClickStartHandle:r,connectionMode:n,connection:s}=o,{fromHandle:i,toHandle:l,isValid:u}=s,d=l?.nodeId===t&&l?.id===e&&l?.type===a;return{connectingFrom:i?.nodeId===t&&i?.id===e&&i?.type===a,connectingTo:d,clickConnecting:r?.nodeId===t&&r?.id===e&&r?.type===a,isPossibleEndHandle:n===jo.Strict?i?.type!==a:t!==i?.nodeId||e!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!r,valid:d&&u}};function x_({type:t="source",position:e=se.Top,isValidConnection:a,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:n=!0,id:s,onConnect:i,children:l,className:u,onMouseDown:d,onTouchStart:c,...f},h){let p=s||null,m=t==="target",g=qe(),x=KS(),{connectOnClick:y,noPanClassName:w,rfId:C}=be(m_,Oe),{connectingFrom:I,connectingTo:v,clickConnecting:L,isPossibleEndHandle:S,connectionInProcess:A,clickConnectionInProcess:H,valid:M}=be(g_(x,p,t),Oe);x||g.getState().onError?.("010",Yt.error010());let R=T=>{let{defaultEdgeOptions:D,onConnect:E,hasDefaultEdges:q}=g.getState(),B={...D,...T};if(q){let{edges:P,setEdges:N,onError:U}=g.getState();N(YN(B,P,{onError:U}))}E?.(B),i?.(B)},z=T=>{if(!x)return;let D=Ym(T.nativeEvent);if(r&&(D&&T.button===0||!D)){let E=g.getState();fc.onPointerDown(T.nativeEvent,{handleDomNode:T.currentTarget,autoPanOnConnect:E.autoPanOnConnect,connectionMode:E.connectionMode,connectionRadius:E.connectionRadius,domNode:E.domNode,nodeLookup:E.nodeLookup,lib:E.lib,isTarget:m,handleId:p,nodeId:x,flowId:E.rfId,panBy:E.panBy,cancelConnection:E.cancelConnection,onConnectStart:E.onConnectStart,onConnectEnd:(...q)=>g.getState().onConnectEnd?.(...q),updateConnection:E.updateConnection,onConnect:R,isValidConnection:a||((...q)=>g.getState().isValidConnection?.(...q)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:E.autoPanSpeed,dragThreshold:E.connectionDragThreshold})}D?d?.(T):c?.(T)},k=T=>{let{onClickConnectStart:D,onClickConnectEnd:E,connectionClickStartHandle:q,connectionMode:B,isValidConnection:P,lib:N,rfId:U,nodeLookup:$,connection:_}=g.getState();if(!x||!q&&!r)return;if(!q){D?.(T.nativeEvent,{nodeId:x,handleId:p,handleType:t}),g.setState({connectionClickStartHandle:{nodeId:x,type:t,id:p}});return}let W=jm(T.target),G=a||P,{connection:O,isValid:F}=fc.isValid(T.nativeEvent,{handle:{nodeId:x,id:p,type:t},connectionMode:B,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:G,flowId:U,doc:W,lib:N,nodeLookup:$});F&&O&&R(O);let V=structuredClone(_);delete V.inProgress,V.toPosition=V.toHandle?V.toHandle.position:null,E?.(T,V),g.setState({connectionClickStartHandle:null})};return K("div",{"data-handleid":p,"data-nodeid":x,"data-handlepos":e,"data-id":`${C}-${x}-${p}-${t}`,className:$e(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",w,u,{source:!m,target:m,connectable:o,connectablestart:r,connectableend:n,clickconnecting:L,connectingfrom:I,connectingto:v,valid:M,connectionindicator:o&&(!A||S)&&(A||H?n:r)}]),onMouseDown:z,onTouchStart:z,onClick:y?k:void 0,ref:h,...f,children:l})}var Co=Ye(VS(x_));function b_({data:t,isConnectable:e,sourcePosition:a=se.Bottom}){return gt(vo,{children:[t?.label,K(Co,{type:"source",position:a,isConnectable:e})]})}function w_({data:t,isConnectable:e,targetPosition:a=se.Top,sourcePosition:o=se.Bottom}){return gt(vo,{children:[K(Co,{type:"target",position:a,isConnectable:e}),t?.label,K(Co,{type:"source",position:o,isConnectable:e})]})}function y_(){return null}function L_({data:t,isConnectable:e,targetPosition:a=se.Top}){return gt(vo,{children:[K(Co,{type:"target",position:a,isConnectable:e}),t?.label]})}var xc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},AS={input:b_,default:w_,output:L_,group:y_};function C_(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}var v_=t=>{let{width:e,height:a,x:o,y:r}=os(t.nodeLookup,{filter:n=>!!n.selected});return{width:da(e)?e:null,height:da(a)?a:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${r}px)`}};function S_({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:a}){let o=qe(),{width:r,height:n,transformString:s,userSelectionActive:i}=be(v_,Oe),l=XS(),u=Se(null);De(()=>{a||u.current?.focus({preventScroll:!0})},[a]);let d=!i&&r!==null&&n!==null;if($S({nodeRef:u,disabled:!d}),!d)return null;let c=t?h=>{let p=o.getState().nodes.filter(m=>m.selected);t(h,p)}:void 0,f=h=>{Object.prototype.hasOwnProperty.call(xc,h.key)&&(h.preventDefault(),l({direction:xc[h.key],factor:h.shiftKey?4:1}))};return K("div",{className:$e(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s},children:K("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:a?void 0:-1,onKeyDown:a?void 0:f,style:{width:r,height:n}})})}var MS=typeof window<"u"?window:void 0,I_=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function jS({children:t,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,paneClickDistance:i,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:c,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:m,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:y,zoomOnPinch:w,panOnScroll:C,panOnScrollSpeed:I,panOnScrollMode:v,zoomOnDoubleClick:L,panOnDrag:S,autoPanOnSelection:A,defaultViewport:H,translateExtent:M,minZoom:R,maxZoom:z,preventScrolling:k,onSelectionContextMenu:T,noWheelClassName:D,noPanClassName:E,disableKeyboardA11y:q,onViewportChange:B,isControlledViewport:P}){let{nodesSelectionActive:N,userSelectionActive:U}=be(I_,Oe),$=Oi(u,{target:MS}),_=Oi(m,{target:MS}),W=_||S,G=_||C,O=d&&W!==!0,F=$||U||O;return n_({deleteKeyCode:l,multiSelectionKeyCode:p}),K(l_,{onPaneContextMenu:n,elementsSelectable:x,zoomOnScroll:y,zoomOnPinch:w,panOnScroll:G,panOnScrollSpeed:I,panOnScrollMode:v,zoomOnDoubleClick:L,panOnDrag:!$&&W,defaultViewport:H,translateExtent:M,minZoom:R,maxZoom:z,zoomActivationKeyCode:g,preventScrolling:k,noWheelClassName:D,noPanClassName:E,onViewportChange:B,isControlledViewport:P,paneClickDistance:i,selectionOnDrag:O,children:gt(f_,{onSelectionStart:f,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,panOnDrag:W,autoPanOnSelection:A,isSelecting:!!F,selectionMode:c,selectionKeyPressed:$,paneClickDistance:i,selectionOnDrag:O,children:[t,N&&K(S_,{onSelectionContextMenu:T,noPanClassName:E,disableKeyboardA11y:q})]})})}jS.displayName="FlowRenderer";var k_=Ye(jS),A_=t=>e=>t?ec(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(a=>a.id):Array.from(e.nodeLookup.keys());function M_(t){return be(Ya(A_(t),[t]),Oe)}var P_=t=>t.updateNodeInternals;function D_(){let t=be(P_),[e]=Za(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{let o=new Map;a.forEach(r=>{let n=r.target.getAttribute("data-id");o.set(n,{id:n,nodeElement:r.target,force:!0})}),t(o)}));return De(()=>()=>{e?.disconnect()},[e]),e}function R_({node:t,nodeType:e,hasDimensions:a,resizeObserver:o}){let r=qe(),n=Se(null),s=Se(null),i=Se(t.sourcePosition),l=Se(t.targetPosition),u=Se(e),d=a&&!!t.internals.handleBounds;return De(()=>{n.current&&!t.hidden&&(!d||s.current!==n.current)&&(s.current&&o?.unobserve(s.current),o?.observe(n.current),s.current=n.current)},[d,t.hidden]),De(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),De(()=>{if(n.current){let c=u.current!==e,f=i.current!==t.sourcePosition,h=l.current!==t.targetPosition;(c||f||h)&&(u.current=e,i.current=t.sourcePosition,l.current=t.targetPosition,r.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:n.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),n}function T_({id:t,onClick:e,onMouseEnter:a,onMouseMove:o,onMouseLeave:r,onContextMenu:n,onDoubleClick:s,nodesDraggable:i,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:c,noDragClassName:f,noPanClassName:h,disableKeyboardA11y:p,rfId:m,nodeTypes:g,nodeClickDistance:x,onError:y}){let{node:w,internals:C,isParent:I}=be(F=>{let V=F.nodeLookup.get(t),ie=F.parentLookup.has(t);return{node:V,internals:V.internals,isParent:ie}},Oe),v=w.type||"default",L=g?.[v]||AS[v];L===void 0&&(y?.("003",Yt.error003(v)),v="default",L=g?.default||AS.default);let S=!!(w.draggable||i&&typeof w.draggable>"u"),A=!!(w.selectable||l&&typeof w.selectable>"u"),H=!!(w.connectable||u&&typeof w.connectable>"u"),M=!!(w.focusable||d&&typeof w.focusable>"u"),R=qe(),z=rc(w),k=R_({node:w,nodeType:v,hasDimensions:z,resizeObserver:c}),T=$S({nodeRef:k,disabled:w.hidden||!S,noDragClassName:f,handleSelector:w.dragHandle,nodeId:t,isSelectable:A,nodeClickDistance:x}),D=XS();if(w.hidden)return null;let E=Ka(w),q=C_(w),B=A||S||e||a||o||r,P=a?F=>a(F,{...C.userNode}):void 0,N=o?F=>o(F,{...C.userNode}):void 0,U=r?F=>r(F,{...C.userNode}):void 0,$=n?F=>n(F,{...C.userNode}):void 0,_=s?F=>s(F,{...C.userNode}):void 0,W=F=>{let{selectNodesOnDrag:V,nodeDragThreshold:ie}=R.getState();A&&(!V||!S||ie>0)&&lg({id:t,store:R,nodeRef:k}),e&&e(F,{...C.userNode})},G=F=>{if(!(Zm(F.nativeEvent)||p)){if(Om.includes(F.key)&&A){let V=F.key==="Escape";lg({id:t,store:R,unselect:V,nodeRef:k})}else if(S&&w.selected&&Object.prototype.hasOwnProperty.call(xc,F.key)){F.preventDefault();let{ariaLabelConfig:V}=R.getState();R.setState({ariaLiveMessage:V["node.a11yDescription.ariaLiveMessage"]({direction:F.key.replace("Arrow","").toLowerCase(),x:~~C.positionAbsolute.x,y:~~C.positionAbsolute.y})}),D({direction:xc[F.key],factor:F.shiftKey?4:1})}}},O=()=>{if(p||!k.current?.matches(":focus-visible"))return;let{transform:F,width:V,height:ie,autoPanOnNodeFocus:le,setCenter:J}=R.getState();if(!le)return;ec(new Map([[t,w]]),{x:0,y:0,width:V,height:ie},F,!0).length>0||J(w.position.x+E.width/2,w.position.y+E.height/2,{zoom:F[2]})};return K("div",{className:$e(["react-flow__node",`react-flow__node-${v}`,{[h]:S},w.className,{selected:w.selected,selectable:A,parent:I,draggable:S,dragging:T}]),ref:k,style:{zIndex:C.z,transform:`translate(${C.positionAbsolute.x}px,${C.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:z?"visible":"hidden",...w.style,...q},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:P,onMouseMove:N,onMouseLeave:U,onContextMenu:$,onClick:W,onDoubleClick:_,onKeyDown:M?G:void 0,tabIndex:M?0:void 0,onFocus:M?O:void 0,role:w.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${zS}-${m}`,"aria-label":w.ariaLabel,...w.domAttributes,children:K(p_,{value:t,children:K(L,{id:t,data:w.data,type:v,positionAbsoluteX:C.positionAbsolute.x,positionAbsoluteY:C.positionAbsolute.y,selected:w.selected??!1,selectable:A,draggable:S,deletable:w.deletable??!0,isConnectable:H,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:T,dragHandle:w.dragHandle,zIndex:C.z,parentId:w.parentId,...E})})})}var E_=Ye(T_),B_=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function ZS(t){let{nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,onError:n}=be(B_,Oe),s=M_(t.onlyRenderVisibleElements),i=D_();return K("div",{className:"react-flow__nodes",style:yc,children:s.map(l=>K(E_,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:i,nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:t.nodeClickDistance,onError:n},l))})}ZS.displayName="NodeRenderer";var F_=Ye(ZS);function O_(t){return be(Ya(a=>{if(!t)return a.edges.map(r=>r.id);let o=[];if(a.width&&a.height)for(let r of a.edges){let n=a.nodeLookup.get(r.source),s=a.nodeLookup.get(r.target);n&&s&&Fv({sourceNode:n,targetNode:s,width:a.width,height:a.height,transform:a.transform})&&o.push(r.id)}return o},[t]),Oe)}var N_=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t}};return K("polyline",{className:"arrow",style:a,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},__=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t,fill:t}};return K("polyline",{className:"arrowclosed",style:a,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},PS={[Zo.Arrow]:N_,[Zo.ArrowClosed]:__};function H_(t){let e=qe();return Ta(()=>Object.prototype.hasOwnProperty.call(PS,t)?PS[t]:(e.getState().onError?.("009",Yt.error009(t)),null),[t])}var z_=({id:t,type:e,color:a,width:o=12.5,height:r=12.5,markerUnits:n="strokeWidth",strokeWidth:s,orient:i="auto-start-reverse"})=>{let l=H_(e);return l?K("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:n,orient:i,refX:"0",refY:"0",children:K(l,{color:a,strokeWidth:s})}):null},YS=({defaultColor:t,rfId:e})=>{let a=be(n=>n.edges),o=be(n=>n.defaultEdgeOptions),r=Ta(()=>_v(a,{id:e,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[a,o,e,t]);return r.length?K("svg",{className:"react-flow__marker","aria-hidden":"true",children:K("defs",{children:r.map(n=>K(z_,{id:n.id,type:n.type,color:n.color,width:n.width,height:n.height,markerUnits:n.markerUnits,strokeWidth:n.strokeWidth,orient:n.orient},n.id))})}):null};YS.displayName="MarkerDefinitions";var q_=Ye(YS);function JS({x:t,y:e,label:a,labelStyle:o,labelShowBg:r=!0,labelBgStyle:n,labelBgPadding:s=[2,4],labelBgBorderRadius:i=2,children:l,className:u,...d}){let[c,f]=Za({x:1,y:0,width:0,height:0}),h=$e(["react-flow__edge-textwrapper",u]),p=Se(null);return De(()=>{if(p.current){let m=p.current.getBBox();f({x:m.x,y:m.y,width:m.width,height:m.height})}},[a]),a?gt("g",{transform:`translate(${t-c.width/2} ${e-c.height/2})`,className:h,visibility:c.width?"visible":"hidden",...d,children:[r&&K("rect",{width:c.width+2*s[0],x:-s[0],y:-s[1],height:c.height+2*s[1],className:"react-flow__edge-textbg",style:n,rx:i,ry:i}),K("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:p,style:o,children:a}),l]}):null}JS.displayName="EdgeText";var U_=Ye(JS);function Lc({path:t,labelX:e,labelY:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return gt(vo,{children:[K("path",{...d,d:t,fill:"none",className:$e(["react-flow__edge-path",d.className])}),u?K("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&da(e)&&da(a)?K(U_,{x:e,y:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l}):null]})}function DS({pos:t,x1:e,y1:a,x2:o,y2:r}){return t===se.Left||t===se.Right?[.5*(e+o),a]:[e,.5*(a+r)]}function QS({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top}){let[s,i]=DS({pos:a,x1:t,y1:e,x2:o,y2:r}),[l,u]=DS({pos:n,x1:o,y1:r,x2:t,y2:e}),[d,c,f,h]=sc({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:l,targetControlY:u});return[`M${t},${e} C${s},${i} ${l},${u} ${o},${r}`,d,c,f,h]}function eI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s,targetPosition:i,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})=>{let[y,w,C]=QS({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i}),I=t.isInternal?void 0:e;return K(Lc,{id:I,path:y,labelX:w,labelY:C,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})})}var W_=eI({isInternal:!1}),tI=eI({isInternal:!0});W_.displayName="SimpleBezierEdge";tI.displayName="SimpleBezierEdgeInternal";function aI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,sourcePosition:h=se.Bottom,targetPosition:p=se.Top,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:y})=>{let[w,C,I]=Fi({sourceX:a,sourceY:o,sourcePosition:h,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),v=t.isInternal?void 0:e;return K(Lc,{id:v,path:w,labelX:C,labelY:I,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:m,markerStart:g,interactionWidth:y})})}var oI=aI({isInternal:!1}),rI=aI({isInternal:!0});oI.displayName="SmoothStepEdge";rI.displayName="SmoothStepEdgeInternal";function nI(t){return Ye(({id:e,...a})=>{let o=t.isInternal?void 0:e;return K(oI,{...a,id:o,pathOptions:Ta(()=>({borderRadius:0,offset:a.pathOptions?.offset}),[a.pathOptions?.offset])})})}var V_=nI({isInternal:!1}),sI=nI({isInternal:!0});V_.displayName="StepEdge";sI.displayName="StepEdgeInternal";function iI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:m})=>{let[g,x,y]=lc({sourceX:a,sourceY:o,targetX:r,targetY:n}),w=t.isInternal?void 0:e;return K(Lc,{id:w,path:g,labelX:x,labelY:y,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:m})})}var G_=iI({isInternal:!1}),lI=iI({isInternal:!0});G_.displayName="StraightEdge";lI.displayName="StraightEdgeInternal";function uI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s=se.Bottom,targetPosition:i=se.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:y})=>{let[w,C,I]=ic({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i,curvature:x?.curvature}),v=t.isInternal?void 0:e;return K(Lc,{id:v,path:w,labelX:C,labelY:I,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:y})})}var $_=uI({isInternal:!1}),dI=uI({isInternal:!0});$_.displayName="BezierEdge";dI.displayName="BezierEdgeInternal";var RS={default:dI,straight:lI,step:sI,smoothstep:rI,simplebezier:tI},TS={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},X_=(t,e,a)=>a===se.Left?t-e:a===se.Right?t+e:t,K_=(t,e,a)=>a===se.Top?t-e:a===se.Bottom?t+e:t,ES="react-flow__edgeupdater";function BS({position:t,centerX:e,centerY:a,radius:o=10,onMouseDown:r,onMouseEnter:n,onMouseOut:s,type:i}){return K("circle",{onMouseDown:r,onMouseEnter:n,onMouseOut:s,className:$e([ES,`${ES}-${i}`]),cx:X_(e,o,t),cy:K_(a,o,t),r:o,stroke:"transparent",fill:"transparent"})}function j_({isReconnectable:t,reconnectRadius:e,edge:a,sourceX:o,sourceY:r,targetX:n,targetY:s,sourcePosition:i,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:c,setReconnecting:f,setUpdateHover:h}){let p=qe(),m=(C,I)=>{if(C.button!==0)return;let{autoPanOnConnect:v,domNode:L,connectionMode:S,connectionRadius:A,lib:H,onConnectStart:M,cancelConnection:R,nodeLookup:z,rfId:k,panBy:T,updateConnection:D}=p.getState(),E=I.type==="target",q=(N,U)=>{f(!1),c?.(N,a,I.type,U)},B=N=>u?.(a,N),P=(N,U)=>{f(!0),d?.(C,a,I.type),M?.(N,U)};fc.onPointerDown(C.nativeEvent,{autoPanOnConnect:v,connectionMode:S,connectionRadius:A,domNode:L,handleId:I.id,nodeId:I.nodeId,nodeLookup:z,isTarget:E,edgeUpdaterType:I.type,lib:H,flowId:k,cancelConnection:R,panBy:T,isValidConnection:(...N)=>p.getState().isValidConnection?.(...N)??!0,onConnect:B,onConnectStart:P,onConnectEnd:(...N)=>p.getState().onConnectEnd?.(...N),onReconnectEnd:q,updateConnection:D,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:C.currentTarget})},g=C=>m(C,{nodeId:a.target,id:a.targetHandle??null,type:"target"}),x=C=>m(C,{nodeId:a.source,id:a.sourceHandle??null,type:"source"}),y=()=>h(!0),w=()=>h(!1);return gt(vo,{children:[(t===!0||t==="source")&&K(BS,{position:i,centerX:o,centerY:r,radius:e,onMouseDown:g,onMouseEnter:y,onMouseOut:w,type:"source"}),(t===!0||t==="target")&&K(BS,{position:l,centerX:n,centerY:s,radius:e,onMouseDown:x,onMouseEnter:y,onMouseOut:w,type:"target"})]})}function Z_({id:t,edgesFocusable:e,edgesReconnectable:a,elementsSelectable:o,onClick:r,onDoubleClick:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,rfId:p,edgeTypes:m,noPanClassName:g,onError:x,disableKeyboardA11y:y}){let w=be(J=>J.edgeLookup.get(t)),C=be(J=>J.defaultEdgeOptions);w=C?{...C,...w}:w;let I=w.type||"default",v=m?.[I]||RS[I];v===void 0&&(x?.("011",Yt.error011(I)),I="default",v=m?.default||RS.default);let L=!!(w.focusable||e&&typeof w.focusable>"u"),S=typeof c<"u"&&(w.reconnectable||a&&typeof w.reconnectable>"u"),A=!!(w.selectable||o&&typeof w.selectable>"u"),H=Se(null),[M,R]=Za(!1),[z,k]=Za(!1),T=qe(),{zIndex:D,sourceX:E,sourceY:q,targetX:B,targetY:P,sourcePosition:N,targetPosition:U}=be(Ya(J=>{let ne=J.nodeLookup.get(w.source),ue=J.nodeLookup.get(w.target);if(!ne||!ue)return{zIndex:w.zIndex,...TS};let ve=Nv({id:t,sourceNode:ne,targetNode:ue,sourceHandle:w.sourceHandle||null,targetHandle:w.targetHandle||null,connectionMode:J.connectionMode,onError:x});return{zIndex:Bv({selected:w.selected,zIndex:w.zIndex,sourceNode:ne,targetNode:ue,elevateOnSelect:J.elevateEdgesOnSelect,zIndexMode:J.zIndexMode}),...ve||TS}},[w.source,w.target,w.sourceHandle,w.targetHandle,w.selected,w.zIndex]),Oe),$=Ta(()=>w.markerStart?`url('#${uc(w.markerStart,p)}')`:void 0,[w.markerStart,p]),_=Ta(()=>w.markerEnd?`url('#${uc(w.markerEnd,p)}')`:void 0,[w.markerEnd,p]);if(w.hidden||E===null||q===null||B===null||P===null)return null;let W=J=>{let{addSelectedEdges:ne,unselectNodesAndEdges:ue,multiSelectionActive:ve}=T.getState();A&&(T.setState({nodesSelectionActive:!1}),w.selected&&ve?(ue({nodes:[],edges:[w]}),H.current?.blur()):ne([t])),r&&r(J,w)},G=n?J=>{n(J,{...w})}:void 0,O=s?J=>{s(J,{...w})}:void 0,F=i?J=>{i(J,{...w})}:void 0,V=l?J=>{l(J,{...w})}:void 0,ie=u?J=>{u(J,{...w})}:void 0,le=J=>{if(!y&&Om.includes(J.key)&&A){let{unselectNodesAndEdges:ne,addSelectedEdges:ue}=T.getState();J.key==="Escape"?(H.current?.blur(),ne({edges:[w]})):ue([t])}};return K("svg",{style:{zIndex:D},children:gt("g",{className:$e(["react-flow__edge",`react-flow__edge-${I}`,w.className,g,{selected:w.selected,animated:w.animated,inactive:!A&&!r,updating:M,selectable:A}]),onClick:W,onDoubleClick:G,onContextMenu:O,onMouseEnter:F,onMouseMove:V,onMouseLeave:ie,onKeyDown:L?le:void 0,tabIndex:L?0:void 0,role:w.ariaRole??(L?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":w.ariaLabel===null?void 0:w.ariaLabel||`Edge from ${w.source} to ${w.target}`,"aria-describedby":L?`${qS}-${p}`:void 0,ref:H,...w.domAttributes,children:[!z&&K(v,{id:t,source:w.source,target:w.target,type:w.type,selected:w.selected,animated:w.animated,selectable:A,deletable:w.deletable??!0,label:w.label,labelStyle:w.labelStyle,labelShowBg:w.labelShowBg,labelBgStyle:w.labelBgStyle,labelBgPadding:w.labelBgPadding,labelBgBorderRadius:w.labelBgBorderRadius,sourceX:E,sourceY:q,targetX:B,targetY:P,sourcePosition:N,targetPosition:U,data:w.data,style:w.style,sourceHandleId:w.sourceHandle,targetHandleId:w.targetHandle,markerStart:$,markerEnd:_,pathOptions:"pathOptions"in w?w.pathOptions:void 0,interactionWidth:w.interactionWidth}),S&&K(j_,{edge:w,isReconnectable:S,reconnectRadius:d,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,sourceX:E,sourceY:q,targetX:B,targetY:P,sourcePosition:N,targetPosition:U,setUpdateHover:R,setReconnecting:k})]})})}var Y_=Ye(Z_),J_=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function cI({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:a,edgeTypes:o,noPanClassName:r,onReconnect:n,onEdgeContextMenu:s,onEdgeMouseEnter:i,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:c,onEdgeDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:m}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:y,onError:w}=be(J_,Oe),C=O_(e);return gt("div",{className:"react-flow__edges",children:[K(q_,{defaultColor:t,rfId:a}),C.map(I=>K(Y_,{id:I,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:y,noPanClassName:r,onReconnect:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:c,onDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,rfId:a,onError:w,edgeTypes:o,disableKeyboardA11y:m},I))]})}cI.displayName="EdgeRenderer";var Q_=Ye(cI),eH=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function tH({children:t}){let e=be(eH);return K("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function aH(t){let e=_i(),a=Se(!1);De(()=>{!a.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),a.current=!0)},[t,e.viewportInitialized])}var oH=t=>t.panZoom?.syncViewport;function rH(t){let e=be(oH),a=qe();return De(()=>{t&&(e?.(t),a.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function FS(t){return t.connection.inProgress?{...t.connection,to:en(t.connection.to,t.transform)}:{...t.connection}}function nH(t){return t?a=>{let o=FS(a);return t(o)}:FS}function sH(t){let e=nH(t);return be(e,Oe)}var iH=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function lH({containerStyle:t,style:e,type:a,component:o}){let{nodesConnectable:r,width:n,height:s,isValid:i,inProgress:l}=be(iH,Oe);return!(n&&r&&l)?null:K("svg",{style:t,width:n,height:s,className:"react-flow__connectionline react-flow__container",children:K("g",{className:$e(["react-flow__connection",Hm(i)]),children:K(fI,{style:e,type:a,CustomComponent:o,isValid:i})})})}var fI=({style:t,type:e=Xa.Bezier,CustomComponent:a,isValid:o})=>{let{inProgress:r,from:n,fromNode:s,fromHandle:i,fromPosition:l,to:u,toNode:d,toHandle:c,toPosition:f,pointer:h}=sH();if(!r)return;if(a)return K(a,{connectionLineType:e,connectionLineStyle:t,fromNode:s,fromHandle:i,fromX:n.x,fromY:n.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:f,connectionStatus:Hm(o),toNode:d,toHandle:c,pointer:h});let p="",m={sourceX:n.x,sourceY:n.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:f};switch(e){case Xa.Bezier:[p]=ic(m);break;case Xa.SimpleBezier:[p]=QS(m);break;case Xa.Step:[p]=Fi({...m,borderRadius:0});break;case Xa.SmoothStep:[p]=Fi(m);break;default:[p]=lc(m)}return K("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};fI.displayName="ConnectionLine";var uH={};function OS(t=uH){let e=Se(t),a=qe();De(()=>{},[t])}function dH(){let t=qe(),e=Se(!1);De(()=>{},[])}function hI({nodeTypes:t,edgeTypes:e,onInit:a,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:n,onEdgeDoubleClick:s,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:c,onSelectionStart:f,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:m,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:y,selectionOnDrag:w,selectionMode:C,multiSelectionKeyCode:I,panActivationKeyCode:v,zoomActivationKeyCode:L,deleteKeyCode:S,onlyRenderVisibleElements:A,elementsSelectable:H,defaultViewport:M,translateExtent:R,minZoom:z,maxZoom:k,preventScrolling:T,defaultMarkerColor:D,zoomOnScroll:E,zoomOnPinch:q,panOnScroll:B,panOnScrollSpeed:P,panOnScrollMode:N,zoomOnDoubleClick:U,panOnDrag:$,autoPanOnSelection:_,onPaneClick:W,onPaneMouseEnter:G,onPaneMouseMove:O,onPaneMouseLeave:F,onPaneScroll:V,onPaneContextMenu:ie,paneClickDistance:le,nodeClickDistance:J,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:ve,onEdgeMouseLeave:Re,reconnectRadius:ct,onReconnect:ga,onReconnectStart:wt,onReconnectEnd:ea,noDragClassName:ee,noWheelClassName:Ue,noPanClassName:it,disableKeyboardA11y:so,nodeExtent:Gt,rfId:io,viewport:lo,onViewportChange:pr}){return OS(t),OS(e),dH(),aH(a),rH(lo),K(k_,{onPaneClick:W,onPaneMouseEnter:G,onPaneMouseMove:O,onPaneMouseLeave:F,onPaneContextMenu:ie,onPaneScroll:V,paneClickDistance:le,deleteKeyCode:S,selectionKeyCode:y,selectionOnDrag:w,selectionMode:C,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:I,panActivationKeyCode:v,zoomActivationKeyCode:L,elementsSelectable:H,zoomOnScroll:E,zoomOnPinch:q,zoomOnDoubleClick:U,panOnScroll:B,panOnScrollSpeed:P,panOnScrollMode:N,panOnDrag:$,autoPanOnSelection:_,defaultViewport:M,translateExtent:R,minZoom:z,maxZoom:k,onSelectionContextMenu:c,preventScrolling:T,noDragClassName:ee,noWheelClassName:Ue,noPanClassName:it,disableKeyboardA11y:so,onViewportChange:pr,isControlledViewport:!!lo,children:gt(tH,{children:[K(Q_,{edgeTypes:e,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:ga,onReconnectStart:wt,onReconnectEnd:ea,onlyRenderVisibleElements:A,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:ve,onEdgeMouseLeave:Re,reconnectRadius:ct,defaultMarkerColor:D,noPanClassName:it,disableKeyboardA11y:so,rfId:io}),K(lH,{style:m,type:p,component:g,containerStyle:x}),K("div",{className:"react-flow__edgelabel-renderer"}),K(F_,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:n,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:J,onlyRenderVisibleElements:A,noPanClassName:it,noDragClassName:ee,disableKeyboardA11y:so,nodeExtent:Gt,rfId:io}),K("div",{className:"react-flow__viewport-portal"})]})})}hI.displayName="GraphView";var cH=Ye(hI),fH=$m("React Flow","https://reactflow.dev/"),NS=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:c,zIndexMode:f="basic"}={})=>{let h=new Map,p=new Map,m=new Map,g=new Map,x=o??e??[],y=a??t??[],w=d??[0,0],C=c??as;og(m,g,x);let{nodesInitialized:I}=dc(y,h,p,{nodeOrigin:w,nodeExtent:C,zIndexMode:f}),v=[0,0,1];if(s&&r&&n){let L=os(h,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:S,y:A,zoom:H}=Bi(L,r,n,l,u,i?.padding??.1);v=[S,A,H]}return{rfId:"1",width:r??0,height:n??0,transform:v,nodes:y,nodesInitialized:I,nodeLookup:h,parentLookup:p,edges:x,edgeLookup:g,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:a!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:as,nodeExtent:C,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:jo.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:w,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:i,fitViewResolver:null,connection:{..._m},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:fH,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Nm,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},hH=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,zIndexMode:f})=>pS((h,p)=>{async function m(){let{nodeLookup:g,panZoom:x,fitViewOptions:y,fitViewResolver:w,width:C,height:I,minZoom:v,maxZoom:L}=p();x&&(await Pv({nodes:g,width:C,height:I,panZoom:x,minZoom:v,maxZoom:L},y),w?.resolve(!0),h({fitViewResolver:null}))}return{...NS({nodes:t,edges:e,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,defaultNodes:a,defaultEdges:o,zIndexMode:f}),setNodes:g=>{let{nodeLookup:x,parentLookup:y,nodeOrigin:w,elevateNodesOnSelect:C,fitViewQueued:I,zIndexMode:v,nodesSelectionActive:L}=p(),{nodesInitialized:S,hasSelectedNodes:A}=dc(g,x,y,{nodeOrigin:w,nodeExtent:c,elevateNodesOnSelect:C,checkEquality:!0,zIndexMode:v}),H=L&&A;I&&S?(m(),h({nodes:g,nodesInitialized:S,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:H})):h({nodes:g,nodesInitialized:S,nodesSelectionActive:H})},setEdges:g=>{let{connectionLookup:x,edgeLookup:y}=p();og(x,y,g),h({edges:g})},setDefaultNodesAndEdges:(g,x)=>{if(g){let{setNodes:y}=p();y(g),h({hasDefaultNodes:!0})}if(x){let{setEdges:y}=p();y(x),h({hasDefaultEdges:!0})}},updateNodeInternals:g=>{let{triggerNodeChanges:x,nodeLookup:y,parentLookup:w,domNode:C,nodeOrigin:I,nodeExtent:v,debug:L,fitViewQueued:S,zIndexMode:A}=p(),{changes:H,updatedInternals:M}=Uv(g,y,w,C,I,v,A);M&&(zv(y,w,{nodeOrigin:I,nodeExtent:v,zIndexMode:A}),S?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),H?.length>0&&(L&&console.log("React Flow: trigger node changes",H),x?.(H)))},updateNodePositions:(g,x=!1)=>{let y=[],w=[],{nodeLookup:C,triggerNodeChanges:I,connection:v,updateConnection:L,onNodesChangeMiddlewareMap:S}=p();for(let[A,H]of g){let M=C.get(A),R=!!(M?.expandParent&&M?.parentId&&H?.position),z={id:A,type:"position",position:R?{x:Math.max(0,H.position.x),y:Math.max(0,H.position.y)}:H.position,dragging:x};if(M&&v.inProgress&&v.fromNode.id===M.id){let k=Yo(M,v.fromHandle,se.Left,!0);L({...v,from:k})}R&&M.parentId&&y.push({id:A,parentId:M.parentId,rect:{...H.internals.positionAbsolute,width:H.measured.width??0,height:H.measured.height??0}}),w.push(z)}if(y.length>0){let{parentLookup:A,nodeOrigin:H}=p(),M=cc(y,C,A,H);w.push(...M)}for(let A of S.values())w=A(w);I(w)},triggerNodeChanges:g=>{let{onNodesChange:x,setNodes:y,nodes:w,hasDefaultNodes:C,debug:I}=p();if(g?.length){if(C){let v=KN(g,w);y(v)}I&&console.log("React Flow: trigger node changes",g),x?.(g)}},triggerEdgeChanges:g=>{let{onEdgesChange:x,setEdges:y,edges:w,hasDefaultEdges:C,debug:I}=p();if(g?.length){if(C){let v=jN(g,w);y(v)}I&&console.log("React Flow: trigger edge changes",g),x?.(g)}},addSelectedNodes:g=>{let{multiSelectionActive:x,edgeLookup:y,nodeLookup:w,triggerNodeChanges:C,triggerEdgeChanges:I}=p();if(x){let v=g.map(L=>tn(L,!0));C(v);return}C(ls(w,new Set([...g]),!0)),I(ls(y))},addSelectedEdges:g=>{let{multiSelectionActive:x,edgeLookup:y,nodeLookup:w,triggerNodeChanges:C,triggerEdgeChanges:I}=p();if(x){let v=g.map(L=>tn(L,!0));I(v);return}I(ls(y,new Set([...g]))),C(ls(w,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:x}={})=>{let{edges:y,nodes:w,nodeLookup:C,triggerNodeChanges:I,triggerEdgeChanges:v}=p(),L=g||w,S=x||y,A=[];for(let M of L){if(!M.selected)continue;let R=C.get(M.id);R&&(R.selected=!1),A.push(tn(M.id,!1))}let H=[];for(let M of S)M.selected&&H.push(tn(M.id,!1));I(A),v(H)},setMinZoom:g=>{let{panZoom:x,maxZoom:y}=p();x?.setScaleExtent([g,y]),h({minZoom:g})},setMaxZoom:g=>{let{panZoom:x,minZoom:y}=p();x?.setScaleExtent([y,g]),h({maxZoom:g})},setTranslateExtent:g=>{p().panZoom?.setTranslateExtent(g),h({translateExtent:g})},resetSelectedElements:()=>{let{edges:g,nodes:x,triggerNodeChanges:y,triggerEdgeChanges:w,elementsSelectable:C}=p();if(!C)return;let I=x.reduce((L,S)=>S.selected?[...L,tn(S.id,!1)]:L,[]),v=g.reduce((L,S)=>S.selected?[...L,tn(S.id,!1)]:L,[]);y(I),w(v)},setNodeExtent:g=>{let{nodes:x,nodeLookup:y,parentLookup:w,nodeOrigin:C,elevateNodesOnSelect:I,nodeExtent:v,zIndexMode:L}=p();g[0][0]===v[0][0]&&g[0][1]===v[0][1]&&g[1][0]===v[1][0]&&g[1][1]===v[1][1]||(dc(x,y,w,{nodeOrigin:C,nodeExtent:g,elevateNodesOnSelect:I,checkEquality:!1,zIndexMode:L}),h({nodeExtent:g}))},panBy:g=>{let{transform:x,width:y,height:w,panZoom:C,translateExtent:I}=p();return Wv({delta:g,panZoom:C,transform:x,translateExtent:I,width:y,height:w})},setCenter:async(g,x,y)=>{let{width:w,height:C,maxZoom:I,panZoom:v}=p();if(!v)return!1;let L=typeof y?.zoom<"u"?y.zoom:I;return await v.setViewport({x:w/2-g*L,y:C/2-x*L,zoom:L},{duration:y?.duration,ease:y?.ease,interpolate:y?.interpolate}),!0},cancelConnection:()=>{h({connection:{..._m}})},updateConnection:g=>{h({connection:g})},reset:()=>h({...NS()})}},Object.is);function cg({initialNodes:t,initialEdges:e,defaultNodes:a,defaultEdges:o,initialWidth:r,initialHeight:n,initialMinZoom:s,initialMaxZoom:i,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:c,zIndexMode:f,children:h}){let[p]=Za(()=>hH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:u,minZoom:s,maxZoom:i,fitViewOptions:l,nodeOrigin:d,nodeExtent:c,zIndexMode:f}));return K(MN,{value:p,children:K(t_,{children:h})})}function pH({children:t,nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:n,height:s,fitView:i,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:c,nodeExtent:f,zIndexMode:h}){return Ni(bc)?K(vo,{children:t}):K(cg,{initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:n,initialHeight:s,fitView:i,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:c,nodeExtent:f,zIndexMode:h,children:t})}var mH={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function gH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,className:r,nodeTypes:n,edgeTypes:s,onNodeClick:i,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:c,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:y,onNodeMouseMove:w,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:v,onNodeDragStart:L,onNodeDrag:S,onNodeDragStop:A,onNodesDelete:H,onEdgesDelete:M,onDelete:R,onSelectionChange:z,onSelectionDragStart:k,onSelectionDrag:T,onSelectionDragStop:D,onSelectionContextMenu:E,onSelectionStart:q,onSelectionEnd:B,onBeforeDelete:P,connectionMode:N,connectionLineType:U=Xa.Bezier,connectionLineStyle:$,connectionLineComponent:_,connectionLineContainerStyle:W,deleteKeyCode:G="Backspace",selectionKeyCode:O="Shift",selectionOnDrag:F=!1,selectionMode:V=jr.Full,panActivationKeyCode:ie="Space",multiSelectionKeyCode:le=ss()?"Meta":"Control",zoomActivationKeyCode:J=ss()?"Meta":"Control",snapToGrid:ne,snapGrid:ue,onlyRenderVisibleElements:ve=!1,selectNodesOnDrag:Re,nodesDraggable:ct,autoPanOnNodeFocus:ga,nodesConnectable:wt,nodesFocusable:ea,nodeOrigin:ee=US,edgesFocusable:Ue,edgesReconnectable:it,elementsSelectable:so=!0,defaultViewport:Gt=qN,minZoom:io=.5,maxZoom:lo=2,translateExtent:pr=as,preventScrolling:wM=!0,nodeExtent:uf,defaultMarkerColor:yM="#b1b1b7",zoomOnScroll:LM=!0,zoomOnPinch:CM=!0,panOnScroll:vM=!1,panOnScrollSpeed:SM=.5,panOnScrollMode:IM=Lo.Free,zoomOnDoubleClick:kM=!0,panOnDrag:AM=!0,onPaneClick:MM,onPaneMouseEnter:PM,onPaneMouseMove:DM,onPaneMouseLeave:RM,onPaneScroll:TM,onPaneContextMenu:EM,paneClickDistance:BM=1,nodeClickDistance:FM=0,children:OM,onReconnect:NM,onReconnectStart:_M,onReconnectEnd:HM,onEdgeContextMenu:zM,onEdgeDoubleClick:qM,onEdgeMouseEnter:UM,onEdgeMouseMove:WM,onEdgeMouseLeave:VM,reconnectRadius:GM=10,onNodesChange:$M,onEdgesChange:XM,noDragClassName:KM="nodrag",noWheelClassName:jM="nowheel",noPanClassName:Sx="nopan",fitView:Ix,fitViewOptions:kx,connectOnClick:ZM,attributionPosition:YM,proOptions:JM,defaultEdgeOptions:QM,elevateNodesOnSelect:eP=!0,elevateEdgesOnSelect:tP=!1,disableKeyboardA11y:Ax=!1,autoPanOnConnect:aP,autoPanOnNodeDrag:oP,autoPanOnSelection:rP=!0,autoPanSpeed:nP,connectionRadius:sP,isValidConnection:iP,onError:lP,style:uP,id:Mx,nodeDragThreshold:dP,connectionDragThreshold:cP,viewport:fP,onViewportChange:hP,width:pP,height:mP,colorMode:gP="light",debug:xP,onScroll:Px,ariaLabelConfig:bP,zIndexMode:Dx="basic",...wP},yP){let df=Mx||"1",LP=GN(gP),CP=Ya(Rx=>{Rx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Px?.(Rx)},[Px]);return K("div",{"data-testid":"rf__wrapper",...wP,onScroll:CP,style:{...uP,...mH},ref:yP,className:$e(["react-flow",r,LP]),id:Mx,role:"application",children:gt(pH,{nodes:t,edges:e,width:pP,height:mP,fitView:Ix,fitViewOptions:kx,minZoom:io,maxZoom:lo,nodeOrigin:ee,nodeExtent:uf,zIndexMode:Dx,children:[K(VN,{nodes:t,edges:e,defaultNodes:a,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:ct,autoPanOnNodeFocus:ga,nodesConnectable:wt,nodesFocusable:ea,edgesFocusable:Ue,edgesReconnectable:it,elementsSelectable:so,elevateNodesOnSelect:eP,elevateEdgesOnSelect:tP,minZoom:io,maxZoom:lo,nodeExtent:uf,onNodesChange:$M,onEdgesChange:XM,snapToGrid:ne,snapGrid:ue,connectionMode:N,translateExtent:pr,connectOnClick:ZM,defaultEdgeOptions:QM,fitView:Ix,fitViewOptions:kx,onNodesDelete:H,onEdgesDelete:M,onDelete:R,onNodeDragStart:L,onNodeDrag:S,onNodeDragStop:A,onSelectionDrag:T,onSelectionDragStart:k,onSelectionDragStop:D,onMove:d,onMoveStart:c,onMoveEnd:f,noPanClassName:Sx,nodeOrigin:ee,rfId:df,autoPanOnConnect:aP,autoPanOnNodeDrag:oP,autoPanSpeed:nP,onError:lP,connectionRadius:sP,isValidConnection:iP,selectNodesOnDrag:Re,nodeDragThreshold:dP,connectionDragThreshold:cP,onBeforeDelete:P,debug:xP,ariaLabelConfig:bP,zIndexMode:Dx}),K(cH,{onInit:u,onNodeClick:i,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:w,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:v,nodeTypes:n,edgeTypes:s,connectionLineType:U,connectionLineStyle:$,connectionLineComponent:_,connectionLineContainerStyle:W,selectionKeyCode:O,selectionOnDrag:F,selectionMode:V,deleteKeyCode:G,multiSelectionKeyCode:le,panActivationKeyCode:ie,zoomActivationKeyCode:J,onlyRenderVisibleElements:ve,defaultViewport:Gt,translateExtent:pr,minZoom:io,maxZoom:lo,preventScrolling:wM,zoomOnScroll:LM,zoomOnPinch:CM,zoomOnDoubleClick:kM,panOnScroll:vM,panOnScrollSpeed:SM,panOnScrollMode:IM,panOnDrag:AM,autoPanOnSelection:rP,onPaneClick:MM,onPaneMouseEnter:PM,onPaneMouseMove:DM,onPaneMouseLeave:RM,onPaneScroll:TM,onPaneContextMenu:EM,paneClickDistance:BM,nodeClickDistance:FM,onSelectionContextMenu:E,onSelectionStart:q,onSelectionEnd:B,onReconnect:NM,onReconnectStart:_M,onReconnectEnd:HM,onEdgeContextMenu:zM,onEdgeDoubleClick:qM,onEdgeMouseEnter:UM,onEdgeMouseMove:WM,onEdgeMouseLeave:VM,reconnectRadius:GM,defaultMarkerColor:yM,noDragClassName:KM,noWheelClassName:jM,noPanClassName:Sx,rfId:df,disableKeyboardA11y:Ax,nodeExtent:uf,viewport:fP,onViewportChange:hP}),K(zN,{onSelectionChange:z}),OM,K(FN,{proOptions:JM,position:YM}),K(BN,{rfId:df,disableKeyboardA11y:Ax})]})})}var pI=VS(gH);var xH=t=>e=>{if(!t.includeHiddenNodes)return e.nodesInitialized;if(e.nodeLookup.size===0)return!1;for(let[,{internals:a}]of e.nodeLookup)if(a.handleBounds===void 0||!rc(a.userNode))return!1;return!0};function mI(t={includeHiddenNodes:!1}){return be(xH(t))}var Dj=Yt.error014();function bH({dimensions:t,lineWidth:e,variant:a,className:o}){return K("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:$e(["react-flow__background-pattern",a,o])})}function wH({radius:t,className:e}){return K("circle",{cx:t,cy:t,r:t,className:$e(["react-flow__background-pattern","dots",e])})}var ja;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ja||(ja={}));var yH={[ja.Dots]:1,[ja.Lines]:1,[ja.Cross]:6},LH=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function gI({id:t,variant:e=ja.Dots,gap:a=20,size:o,lineWidth:r=1,offset:n=0,color:s,bgColor:i,style:l,className:u,patternClassName:d}){let c=Se(null),{transform:f,patternId:h}=be(LH,Oe),p=o||yH[e],m=e===ja.Dots,g=e===ja.Cross,x=Array.isArray(a)?a:[a,a],y=[x[0]*f[2]||1,x[1]*f[2]||1],w=p*f[2],C=Array.isArray(n)?n:[n,n],I=g?[w,w]:y,v=[C[0]*f[2]||1+I[0]/2,C[1]*f[2]||1+I[1]/2],L=`${h}${t||""}`;return gt("svg",{className:$e(["react-flow__background",u]),style:{...l,...yc,"--xy-background-color-props":i,"--xy-background-pattern-color-props":s},ref:c,"data-testid":"rf__background",children:[K("pattern",{id:L,x:f[0]%y[0],y:f[1]%y[1],width:y[0],height:y[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${v[0]},-${v[1]})`,children:m?K(wH,{radius:w/2,className:d}):K(bH,{dimensions:I,lineWidth:r,variant:e,className:d})}),K("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${L})`})]})}gI.displayName="Background";var xI=Ye(gI);function CH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:K("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function vH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:K("path",{d:"M0 0h32v4.2H0z"})})}function SH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:K("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function IH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function kH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function gc({children:t,className:e,...a}){return K("button",{type:"button",className:$e(["react-flow__controls-button",e]),...a,children:t})}var AH=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function bI({style:t,showZoom:e=!0,showFitView:a=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:n,onZoomOut:s,onFitView:i,onInteractiveChange:l,className:u,children:d,position:c="bottom-left",orientation:f="vertical","aria-label":h}){let p=qe(),{isInteractive:m,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:y}=be(AH,Oe),{zoomIn:w,zoomOut:C,fitView:I}=_i(),v=()=>{w(),n?.()},L=()=>{C(),s?.()},S=()=>{I(r),i?.()},A=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l?.(!m)};return gt(wc,{className:$e(["react-flow__controls",f==="horizontal"?"horizontal":"vertical",u]),position:c,style:t,"data-testid":"rf__controls","aria-label":h??y["controls.ariaLabel"],children:[e&&gt(vo,{children:[K(gc,{onClick:v,className:"react-flow__controls-zoomin",title:y["controls.zoomIn.ariaLabel"],"aria-label":y["controls.zoomIn.ariaLabel"],disabled:x,children:K(CH,{})}),K(gc,{onClick:L,className:"react-flow__controls-zoomout",title:y["controls.zoomOut.ariaLabel"],"aria-label":y["controls.zoomOut.ariaLabel"],disabled:g,children:K(vH,{})})]}),a&&K(gc,{className:"react-flow__controls-fitview",onClick:S,title:y["controls.fitView.ariaLabel"],"aria-label":y["controls.fitView.ariaLabel"],children:K(SH,{})}),o&&K(gc,{className:"react-flow__controls-interactive",onClick:A,title:y["controls.interactive.ariaLabel"],"aria-label":y["controls.interactive.ariaLabel"],children:m?K(kH,{}):K(IH,{})}),d]})}bI.displayName="Controls";var wI=Ye(bI);function MH({id:t,x:e,y:a,width:o,height:r,style:n,color:s,strokeColor:i,strokeWidth:l,className:u,borderRadius:d,shapeRendering:c,selected:f,onClick:h}){let{background:p,backgroundColor:m}=n||{},g=s||p||m;return K("rect",{className:$e(["react-flow__minimap-node",{selected:f},u]),x:e,y:a,rx:d,ry:d,width:o,height:r,style:{fill:g,stroke:i,strokeWidth:l},shapeRendering:c,onClick:h?x=>h(x,t):void 0})}var PH=Ye(MH),DH=t=>t.nodes.map(e=>e.id),ig=t=>t instanceof Function?t:()=>t;function RH({nodeStrokeColor:t,nodeColor:e,nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:n=PH,onClick:s}){let i=be(DH,Oe),l=ig(e),u=ig(t),d=ig(a),c=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return K(vo,{children:i.map(f=>K(EH,{id:f,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:n,onClick:s,shapeRendering:c},f))})}function TH({id:t,nodeColorFunc:e,nodeStrokeColorFunc:a,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:n,shapeRendering:s,NodeComponent:i,onClick:l}){let{node:u,x:d,y:c,width:f,height:h}=be(p=>{let m=p.nodeLookup.get(t);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};let g=m.internals.userNode,{x,y}=m.internals.positionAbsolute,{width:w,height:C}=Ka(g);return{node:g,x,y,width:w,height:C}},Oe);return!u||u.hidden||!rc(u)?null:K(i,{x:d,y:c,width:f,height:h,style:u.style,selected:!!u.selected,className:o(u),color:e(u),borderRadius:r,strokeColor:a(u),strokeWidth:n,shapeRendering:s,onClick:l,id:u.id})}var EH=Ye(TH),BH=Ye(RH),FH=200,OH=150,NH=t=>!t.hidden,_H=t=>{let e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?Vm(os(t.nodeLookup,{filter:NH}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},HH="react-flow__minimap-desc";function yI({style:t,className:e,nodeStrokeColor:a,nodeColor:o,nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:s,nodeComponent:i,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:c,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:m=!1,zoomable:g=!1,ariaLabel:x,inversePan:y,zoomStep:w=1,offsetScale:C=5}){let I=qe(),v=Se(null),{boundingRect:L,viewBB:S,rfId:A,panZoom:H,translateExtent:M,flowWidth:R,flowHeight:z,ariaLabelConfig:k}=be(_H,Oe),T=t?.width??FH,D=t?.height??OH,E=L.width/T,q=L.height/D,B=Math.max(E,q),P=B*T,N=B*D,U=C*B,$=L.x-(P-L.width)/2-U,_=L.y-(N-L.height)/2-U,W=P+U*2,G=N+U*2,O=`${HH}-${A}`,F=Se(0),V=Se();F.current=B,De(()=>{if(v.current&&H)return V.current=Zv({domNode:v.current,panZoom:H,getTransform:()=>I.getState().transform,getViewScale:()=>F.current}),()=>{V.current?.destroy()}},[H]),De(()=>{V.current?.update({translateExtent:M,width:R,height:z,inversePan:y,pannable:m,zoomStep:w,zoomable:g})},[m,g,y,w,M,R,z]);let ie=h?ne=>{let[ue,ve]=V.current?.pointer(ne)||[0,0];h(ne,{x:ue,y:ve})}:void 0,le=p?Ya((ne,ue)=>{let ve=I.getState().nodeLookup.get(ue).internals.userNode;p(ne,ve)},[]):void 0,J=x??k["minimap.ariaLabel"];return K(wc,{position:f,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:$e(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:gt("svg",{width:T,height:D,viewBox:`${$} ${_} ${W} ${G}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":O,ref:v,onClick:ie,children:[J&&K("title",{id:O,children:J}),K(BH,{onClick:le,nodeColor:o,nodeStrokeColor:a,nodeBorderRadius:n,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:i}),K("path",{className:"react-flow__minimap-mask",d:`M${$-U},${_-U}h${W+U*2}v${G+U*2}h${-W-U*2}z
27
+ M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}yI.displayName="MiniMap";var Rj=Ye(yI),zH=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,qH={[Jo.Line]:"right",[Jo.Handle]:"bottom-right"};function UH({nodeId:t,position:e,variant:a=Jo.Handle,className:o,style:r=void 0,children:n,color:s,minWidth:i=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:f,autoScale:h=!0,shouldResize:p,onResizeStart:m,onResize:g,onResizeEnd:x}){let y=KS(),w=typeof t=="string"?t:y,C=qe(),I=Se(null),v=a===Jo.Handle,L=be(Ya(zH(v&&h),[v,h]),Oe),S=Se(null),A=e??qH[a];De(()=>{if(!(!I.current||!w))return S.current||(S.current=tS({domNode:I.current,nodeId:w,getStoreItems:()=>{let{nodeLookup:M,transform:R,snapGrid:z,snapToGrid:k,nodeOrigin:T,domNode:D}=C.getState();return{nodeLookup:M,transform:R,snapGrid:z,snapToGrid:k,nodeOrigin:T,paneDomNode:D}},onChange:(M,R)=>{let{triggerNodeChanges:z,nodeLookup:k,parentLookup:T,nodeOrigin:D}=C.getState(),E=[],q={x:M.x,y:M.y},B=k.get(w);if(B&&B.expandParent&&B.parentId){let P=B.origin??D,N=M.width??B.measured.width??0,U=M.height??B.measured.height??0,$={id:B.id,parentId:B.parentId,rect:{width:N,height:U,...Xm({x:M.x??B.position.x,y:M.y??B.position.y},{width:N,height:U},B.parentId,k,P)}},_=cc([$],k,T,D);E.push(..._),q.x=M.x?Math.max(P[0]*N,M.x):void 0,q.y=M.y?Math.max(P[1]*U,M.y):void 0}if(q.x!==void 0&&q.y!==void 0){let P={id:w,type:"position",position:{...q}};E.push(P)}if(M.width!==void 0&&M.height!==void 0){let N={id:w,type:"dimensions",resizing:!0,setAttributes:f?f==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};E.push(N)}for(let P of R){let N={...P,type:"position"};E.push(N)}z(E)},onEnd:({width:M,height:R})=>{let z={id:w,type:"dimensions",resizing:!1,dimensions:{width:M,height:R}};C.getState().triggerNodeChanges([z])}})),S.current.update({controlPosition:A,boundaries:{minWidth:i,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:c,resizeDirection:f,onResizeStart:m,onResize:g,onResizeEnd:x,shouldResize:p}),()=>{S.current?.destroy()}},[A,i,l,u,d,c,m,g,x,p]);let H=A.split("-");return K("div",{className:$e(["react-flow__resize-control","nodrag",...H,a,o]),ref:I,style:{...r,scale:L,...s&&{[v?"backgroundColor":"borderColor"]:s}},children:n})}var Tj=Ye(UH);import{forwardRef as XH,createElement as KH}from"react";var Cc=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var LI=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var CI=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var fg=t=>{let e=CI(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as $H,createElement as II}from"react";var vc={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var vI=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as WH,useContext as VH,useMemo as Wj,createElement as Vj}from"react";var GH=WH({});var SI=()=>VH(GH);var kI=$H(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:c=!1,color:f="currentColor",className:h=""}=SI()??{},p=o??c?Number(a??d)*24/Number(e??u):a??d;return II("svg",{ref:l,...vc,width:e??u??vc.width,height:e??u??vc.height,stroke:t??f,strokeWidth:p,className:Cc("lucide",h,r),...!n&&!vI(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>II(m,g)),...Array.isArray(n)?n:[n]])});var Qo=(t,e)=>{let a=XH(({className:o,...r},n)=>KH(kI,{ref:n,iconNode:e,className:Cc(`lucide-${LI(fg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=fg(t),a};var jH=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Hi=Qo("database",jH);var ZH=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],zi=Qo("file-text",ZH);var YH=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],qi=Qo("key-round",YH);var JH=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Ui=Qo("link-2",JH);import{Fragment as fk,jsx as zt,jsxs as Qa}from"react/jsx-runtime";var zI=Object.defineProperty,QH=(t,e,a)=>e in t?zI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,ez=(t,e)=>{for(var a in e)zI(t,a,{get:e[a],enumerable:!0})},tz=(t,e,a)=>QH(t,typeof e!="symbol"?e+"":e,a),qI={};ez(qI,{Graph:()=>fa,alg:()=>yg,json:()=>WI,version:()=>rz});var az=Object.defineProperty,UI=(t,e)=>{for(var a in e)az(t,a,{get:e[a],enumerable:!0})},fa=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,e){return t.forEach(a=>{e!==void 0?this.setNode(a,e):this.setNode(a)}),this}setNode(t,e){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let e=a=>this.removeEdge(this._edgeObjs[a]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(a=>{this.setParent(a)}),delete this._children[t]),Object.keys(this._in[t]).forEach(e),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e===void 0)e="\0";else{e+="";for(let a=e;a!==void 0;a=this.parent(a))if(a===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}parent(t){if(this._isCompound){let e=this._parent[t];if(e!=="\0")return e}}children(t="\0"){if(this._isCompound){let e=this._children[t];if(e)return Object.keys(e)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let e=this._preds[t];if(e)return Object.keys(e)}successors(t){let e=this._sucs[t];if(e)return Object.keys(e)}neighbors(t){let e=this.predecessors(t);if(e){let a=new Set(e);for(let o of this.successors(t))a.add(o);return Array.from(a.values())}}isLeaf(t){let e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){let e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{t(r)&&e.setNode(r,n)}),Object.values(this._edgeObjs).forEach(r=>{e.hasNode(r.v)&&e.hasNode(r.w)&&e.setEdge(r,this.edge(r))});let a={},o=r=>{let n=this.parent(r);return!n||e.hasNode(n)?(a[r]=n??void 0,n??void 0):n in a?a[n]:o(n)};return this._isCompound&&e.nodes().forEach(r=>e.setParent(r,o(r))),e}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,e){return t.reduce((a,o)=>(e!==void 0?this.setEdge(a,o,e):this.setEdge(a,o),o)),this}setEdge(t,e,a,o){let r,n,s,i,l=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,n=t.w,s=t.name,arguments.length===2&&(i=e,l=!0)):(r=t,n=e,s=o,arguments.length>2&&(i=a,l=!0)),r=""+r,n=""+n,s!==void 0&&(s=""+s);let u=Wi(this._isDirected,r,n,s);if(u in this._edgeLabels)return l&&(this._edgeLabels[u]=i),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(n),this._edgeLabels[u]=l?i:this._defaultEdgeLabelFn(r,n,s);let d=oz(this._isDirected,r,n,s);return r=d.v,n=d.w,Object.freeze(d),this._edgeObjs[u]=d,AI(this._preds[n],r),AI(this._sucs[r],n),this._in[n][u]=d,this._out[r][u]=d,this._edgeCount++,this}edge(t,e,a){let o=arguments.length===1?hg(this._isDirected,t):Wi(this._isDirected,t,e,a);return this._edgeLabels[o]}edgeAsObj(t,e,a){let o=arguments.length===1?this.edge(t):this.edge(t,e,a);return typeof o!="object"?{label:o}:o}hasEdge(t,e,a){return(arguments.length===1?hg(this._isDirected,t):Wi(this._isDirected,t,e,a))in this._edgeLabels}removeEdge(t,e,a){let o=arguments.length===1?hg(this._isDirected,t):Wi(this._isDirected,t,e,a),r=this._edgeObjs[o];if(r){let n=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],MI(this._preds[s],n),MI(this._sucs[n],s),delete this._in[s][o],delete this._out[n][o],this._edgeCount--}return this}inEdges(t,e){return this.isDirected()?this.filterEdges(this._in[t],t,e):this.nodeEdges(t,e)}outEdges(t,e){return this.isDirected()?this.filterEdges(this._out[t],t,e):this.nodeEdges(t,e)}nodeEdges(t,e){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,e)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,e,a){if(!t)return;let o=Object.values(t);return a?o.filter(r=>r.v===e&&r.w===a||r.v===a&&r.w===e):o}};function AI(t,e){t[e]?t[e]++:t[e]=1}function MI(t,e){t[e]!==void 0&&!--t[e]&&delete t[e]}function Wi(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let s=r;r=n,n=s}return r+""+n+""+(o===void 0?"\0":o)}function oz(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let i=r;r=n,n=i}let s={v:r,w:n};return o&&(s.name=o),s}function hg(t,e){return Wi(t,e.v,e.w,e.name)}var rz="4.0.1",WI={};UI(WI,{read:()=>lz,write:()=>nz});function nz(t){let e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:sz(t),edges:iz(t)},a=t.graph();return a!==void 0&&(e.value=structuredClone(a)),e}function sz(t){return t.nodes().map(e=>{let a=t.node(e),o=t.parent(e),r={v:e};return a!==void 0&&(r.value=a),o!==void 0&&(r.parent=o),r})}function iz(t){return t.edges().map(e=>{let a=t.edge(e),o={v:e.v,w:e.w};return e.name!==void 0&&(o.name=e.name),a!==void 0&&(o.value=a),o})}function lz(t){let e=new fa(t.options);return t.value!==void 0&&e.setGraph(t.value),t.nodes.forEach(a=>{e.setNode(a.v,a.value),a.parent&&e.setParent(a.v,a.parent)}),t.edges.forEach(a=>{e.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),e}var yg={};UI(yg,{CycleException:()=>Ic,bellmanFord:()=>VI,components:()=>cz,dijkstra:()=>Sc,dijkstraAll:()=>pz,findCycles:()=>mz,floydWarshall:()=>xz,isAcyclic:()=>wz,postorder:()=>Lz,preorder:()=>Cz,prim:()=>vz,shortestPaths:()=>Sz,tarjan:()=>$I,topsort:()=>XI});var uz=()=>1;function VI(t,e,a,o){return dz(t,String(e),a||uz,o||function(r){return t.outEdges(r)})}function dz(t,e,a,o){let r={},n,s=0,i=t.nodes(),l=function(c){let f=a(c);r[c.v].distance+f<r[c.w].distance&&(r[c.w]={distance:r[c.v].distance+f,predecessor:c.v},n=!0)},u=function(){i.forEach(function(c){o(c).forEach(function(f){let h=f.v===c?f.v:f.w,p=h===f.v?f.w:f.v;l({v:h,w:p})})})};i.forEach(function(c){let f=c===e?0:Number.POSITIVE_INFINITY;r[c]={distance:f,predecessor:""}});let d=i.length;for(let c=1;c<d&&(n=!1,s++,u(),!!n);c++);if(s===d-1&&(n=!1,u(),n))throw new Error("The graph contains a negative weight cycle");return r}function cz(t){let e={},a=[],o;function r(n){n in e||(e[n]=!0,o.push(n),t.successors(n).forEach(r),t.predecessors(n).forEach(r))}return t.nodes().forEach(function(n){o=[],r(n),o.length&&a.push(o)}),a}var GI=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(t=>t.key)}has(t){return t in this._keyIndices}priority(t){let e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){let a=this._keyIndices,o=String(t);if(!(o in a)){let r=this._arr,n=r.length;return a[o]=n,r.push({key:o,priority:e}),this._decrease(n),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){let a=this._keyIndices[t];if(a===void 0)throw new Error(`Key not found: ${t}`);let o=this._arr[a].priority;if(e>o)throw new Error(`New priority is greater than current priority. Key: ${t} Old: ${o} New: ${e}`);this._arr[a].priority=e,this._decrease(a)}_heapify(t){let e=this._arr,a=2*t,o=a+1,r=t;a<e.length&&(r=e[a].priority<e[r].priority?a:r,o<e.length&&(r=e[o].priority<e[r].priority?o:r),r!==t&&(this._swap(t,r),this._heapify(r)))}_decrease(t){let e=this._arr,a=e[t].priority,o;for(;t!==0&&(o=t>>1,!(e[o].priority<a));)this._swap(t,o),t=o}_swap(t,e){let a=this._arr,o=this._keyIndices,r=a[t],n=a[e];a[t]=n,a[e]=r,o[n.key]=t,o[r.key]=e}},fz=()=>1;function Sc(t,e,a,o){let r=function(n){return t.outEdges(n)};return hz(t,String(e),a||fz,o||r)}function hz(t,e,a,o){let r={},n=new GI,s,i,l=function(u){let d=u.v!==s?u.v:u.w,c=r[d],f=a(u),h=i.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+f);h<c.distance&&(c.distance=h,c.predecessor=s,n.decrease(d,h))};for(t.nodes().forEach(function(u){let d=u===e?0:Number.POSITIVE_INFINITY;r[u]={distance:d,predecessor:""},n.add(u,d)});n.size()>0&&(s=n.removeMin(),i=r[s],i.distance!==Number.POSITIVE_INFINITY);)o(s).forEach(l);return r}function pz(t,e,a){return t.nodes().reduce(function(o,r){return o[r]=Sc(t,r,e,a),o},{})}function $I(t){let e=0,a=[],o={},r=[];function n(s){let i=o[s]={onStack:!0,lowlink:e,index:e++};if(a.push(s),t.successors(s).forEach(function(l){l in o?o[l].onStack&&(i.lowlink=Math.min(i.lowlink,o[l].index)):(n(l),i.lowlink=Math.min(i.lowlink,o[l].lowlink))}),i.lowlink===i.index){let l=[],u;do u=a.pop(),o[u].onStack=!1,l.push(u);while(s!==u);r.push(l)}}return t.nodes().forEach(function(s){s in o||n(s)}),r}function mz(t){return $I(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}var gz=()=>1;function xz(t,e,a){return bz(t,e||gz,a||function(o){return t.outEdges(o)})}function bz(t,e,a){let o={},r=t.nodes();return r.forEach(function(n){o[n]={},o[n][n]={distance:0,predecessor:""},r.forEach(function(s){n!==s&&(o[n][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),a(n).forEach(function(s){let i=s.v===n?s.w:s.v,l=e(s);o[n][i]={distance:l,predecessor:n}})}),r.forEach(function(n){let s=o[n];r.forEach(function(i){let l=o[i];r.forEach(function(u){let d=l[n],c=s[u],f=l[u],h=d.distance+c.distance;h<f.distance&&(f.distance=h,f.predecessor=c.predecessor)})})}),o}var Ic=class extends Error{constructor(...t){super(...t)}};function XI(t){let e={},a={},o=[];function r(n){if(n in a)throw new Ic;n in e||(a[n]=!0,e[n]=!0,t.predecessors(n).forEach(r),delete a[n],o.push(n))}if(t.sinks().forEach(r),Object.keys(e).length!==t.nodeCount())throw new Ic;return o}function wz(t){try{XI(t)}catch(e){if(e instanceof Ic)return!1;throw e}return!0}function yz(t,e,a,o,r){Array.isArray(e)||(e=[e]);let n=(i=>{var l;return(l=t.isDirected()?t.successors(i):t.neighbors(i))!=null?l:[]}),s={};return e.forEach(function(i){if(!t.hasNode(i))throw new Error("Graph does not have node: "+i);r=KI(t,i,a==="post",s,n,o,r)}),r}function KI(t,e,a,o,r,n,s){return e in o||(o[e]=!0,a||(s=n(s,e)),r(e).forEach(function(i){s=KI(t,i,a,o,r,n,s)}),a&&(s=n(s,e))),s}function jI(t,e,a){return yz(t,e,a,function(o,r){return o.push(r),o},[])}function Lz(t,e){return jI(t,e,"post")}function Cz(t,e){return jI(t,e,"pre")}function vz(t,e){let a=new fa,o={},r=new GI,n;function s(l){let u=l.v===n?l.w:l.v,d=r.priority(u);if(d!==void 0){let c=e(l);c<d&&(o[u]=n,r.decrease(u,c))}}if(t.nodeCount()===0)return a;t.nodes().forEach(function(l){r.add(l,Number.POSITIVE_INFINITY),a.setNode(l)}),r.decrease(t.nodes()[0],0);let i=!1;for(;r.size()>0;){if(n=r.removeMin(),n in o)a.setEdge(n,o[n]);else{if(i)throw new Error("Input graph is not connected: "+t);i=!0}t.nodeEdges(n).forEach(s)}return a}function Sz(t,e,a,o){return Iz(t,e,a,o??(r=>{let n=t.outEdges(r);return n??[]}))}function Iz(t,e,a,o){if(a===void 0)return Sc(t,e,a,o);let r=!1,n=t.nodes();for(let s=0;s<n.length;s++){let i=o(n[s]);for(let l=0;l<i.length;l++){let u=i[l],d=u.v===n[s]?u.v:u.w,c=d===u.v?u.w:u.v;a({v:d,w:c})<0&&(r=!0)}if(r)return VI(t,e,a,o)}return Sc(t,e,a,o)}function ds(t,e,a,o){let r=o;for(;t.hasNode(r);)r=Lg(o);return a.dummy=e,t.setNode(r,a),r}function kz(t){let e=new fa().setGraph(t.graph());return t.nodes().forEach(a=>e.setNode(a,t.node(a))),t.edges().forEach(a=>{let o=e.edge(a.v,a.w)||{weight:0,minlen:1},r=t.edge(a);e.setEdge(a.v,a.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),e}function ZI(t){let e=new fa({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(a=>{t.children(a).length||e.setNode(a,t.node(a))}),t.edges().forEach(a=>{e.setEdge(a,t.edge(a))}),e}function PI(t,e){let a=t.x,o=t.y,r=e.x-a,n=e.y-o,s=t.width/2,i=t.height/2;if(!r&&!n)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(n)*s>Math.abs(r)*i?(n<0&&(i=-i),l=i*r/n,u=i):(r<0&&(s=-s),l=s,u=s*n/r),{x:a+l,y:o+u}}function Gi(t){let e=Vi(JI(t)+1).map(()=>[]);return t.nodes().forEach(a=>{let o=t.node(a),r=o.rank;r!==void 0&&(e[r]||(e[r]=[]),e[r][o.order]=a)}),e}function Az(t){let e=t.nodes().map(o=>{let r=t.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),a=Ja(Math.min,e);t.nodes().forEach(o=>{let r=t.node(o);Object.hasOwn(r,"rank")&&(r.rank-=a)})}function Mz(t){let e=t.nodes().map(s=>t.node(s).rank).filter(s=>s!==void 0),a=Ja(Math.min,e),o=[];t.nodes().forEach(s=>{let i=t.node(s).rank-a;o[i]||(o[i]=[]),o[i].push(s)});let r=0,n=t.graph().nodeRankFactor;Array.from(o).forEach((s,i)=>{s===void 0&&i%n!==0?--r:s!==void 0&&r&&s.forEach(l=>t.node(l).rank+=r)})}function DI(t,e,a,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=a,r.order=o),ds(t,"border",r,e)}function Pz(t,e=YI){let a=[];for(let o=0;o<t.length;o+=e){let r=t.slice(o,o+e);a.push(r)}return a}var YI=65535;function Ja(t,e){if(e.length>YI){let a=Pz(e);return t(...a.map(o=>t(...o)))}else return t(...e)}function JI(t){let e=t.nodes().map(a=>{let o=t.node(a).rank;return o===void 0?Number.MIN_VALUE:o});return Ja(Math.max,e)}function Dz(t,e){let a={lhs:[],rhs:[]};return t.forEach(o=>{e(o)?a.lhs.push(o):a.rhs.push(o)}),a}function QI(t,e){let a=Date.now();try{return e()}finally{console.log(t+" time: "+(Date.now()-a)+"ms")}}function ek(t,e){return e()}var Rz=0;function Lg(t){let e=++Rz;return t+(""+e)}function Vi(t,e,a=1){e==null&&(e=t,t=0);let o=n=>n<e;a<0&&(o=n=>e<n);let r=[];for(let n=t;o(n);n+=a)r.push(n);return r}function kc(t,e){let a={};for(let o of e)t[o]!==void 0&&(a[o]=t[o]);return a}function Ac(t,e){let a;return typeof e=="string"?a=o=>o[e]:a=e,Object.entries(t).reduce((o,[r,n])=>(o[r]=a(n,r),o),{})}function Tz(t,e){return t.reduce((a,o,r)=>(a[o]=e[r],a),{})}var Mc="\0",Ez="3.0.0",Bz=class{constructor(){tz(this,"_sentinel");let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,e=t._prev;if(e!==t)return RI(e),e}enqueue(t){let e=this._sentinel;t._prev&&t._next&&RI(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){let t=[],e=this._sentinel,a=e._prev;for(;a!==e;)t.push(JSON.stringify(a,Fz)),a=a._prev;return"["+t.join(", ")+"]"}};function RI(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function Fz(t,e){if(t!=="_next"&&t!=="_prev")return e}var Oz=Bz,Nz=()=>1;function _z(t,e){if(t.nodeCount()<=1)return[];let a=zz(t,e||Nz);return Hz(a.graph,a.buckets,a.zeroIdx).flatMap(o=>t.outEdges(o.v,o.w)||[])}function Hz(t,e,a){var o;let r=[],n=e[e.length-1],s=e[0],i;for(;t.nodeCount();){for(;i=s.dequeue();)pg(t,e,a,i);for(;i=n.dequeue();)pg(t,e,a,i);if(t.nodeCount()){for(let l=e.length-2;l>0;--l)if(i=(o=e[l])==null?void 0:o.dequeue(),i){r=r.concat(pg(t,e,a,i,!0)||[]);break}}}return r}function pg(t,e,a,o,r){let n=[],s=r?n:void 0;return(t.inEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=t.node(i.v);r&&n.push({v:i.v,w:i.w}),u.out-=l,wg(e,a,u)}),(t.outEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=i.w,d=t.node(u);d.in-=l,wg(e,a,d)}),t.removeNode(o.v),s}function zz(t,e){let a=new fa,o=0,r=0;t.nodes().forEach(i=>{a.setNode(i,{v:i,in:0,out:0})}),t.edges().forEach(i=>{let l=a.edge(i.v,i.w)||0,u=e(i),d=l+u;a.setEdge(i.v,i.w,d);let c=a.node(i.v),f=a.node(i.w);r=Math.max(r,c.out+=u),o=Math.max(o,f.in+=u)});let n=qz(r+o+3).map(()=>new Oz),s=o+1;return a.nodes().forEach(i=>{wg(n,s,a.node(i))}),{graph:a,buckets:n,zeroIdx:s}}function wg(t,e,a){var o,r,n;a.out?a.in?(n=t[a.out-a.in+e])==null||n.enqueue(a):(r=t[t.length-1])==null||r.enqueue(a):(o=t[0])==null||o.enqueue(a)}function qz(t){let e=[];for(let a=0;a<t;a++)e.push(a);return e}function Uz(t){(t.graph().acyclicer==="greedy"?_z(t,e(t)):Wz(t)).forEach(a=>{let o=t.edge(a);t.removeEdge(a),o.forwardName=a.name,o.reversed=!0,t.setEdge(a.w,a.v,o,Lg("rev"))});function e(a){return o=>a.edge(o).weight}}function Wz(t){let e=[],a={},o={};function r(n){Object.hasOwn(o,n)||(o[n]=!0,a[n]=!0,t.outEdges(n).forEach(s=>{Object.hasOwn(a,s.w)?e.push(s):r(s.w)}),delete a[n])}return t.nodes().forEach(r),e}function Vz(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.reversed){t.removeEdge(e);let o=a.forwardName;delete a.reversed,delete a.forwardName,t.setEdge(e.w,e.v,a,o)}})}function Gz(t){t.graph().dummyChains=[],t.edges().forEach(e=>$z(t,e))}function $z(t,e){let a=e.v,o=t.node(a).rank,r=e.w,n=t.node(r).rank,s=e.name,i=t.edge(e),l=i.labelRank;if(n===o+1)return;t.removeEdge(e);let u,d,c;for(c=0,++o;o<n;++c,++o)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:e,rank:o},u=ds(t,"edge",d,"_d"),o===l&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),t.setEdge(a,u,{weight:i.weight},s),c===0&&t.graph().dummyChains.push(u),a=u;t.setEdge(a,r,{weight:i.weight},s)}function Xz(t){t.graph().dummyChains.forEach(e=>{let a=t.node(e),o=a.edgeLabel,r;for(t.setEdge(a.edgeObj,o);a.dummy;)r=t.successors(e)[0],t.removeNode(e),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),e=r,a=t.node(e)})}function Cg(t){let e={};function a(o){let r=t.node(o);if(Object.hasOwn(e,o))return r.rank;e[o]=!0;let n=t.outEdges(o),s=n?n.map(l=>l==null?Number.POSITIVE_INFINITY:a(l.w)-t.edge(l).minlen):[],i=Ja(Math.min,s);return i===Number.POSITIVE_INFINITY&&(i=0),r.rank=i}t.sources().forEach(a)}function us(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var tk=Kz;function Kz(t){let e=new fa({directed:!1}),a=t.nodes();if(a.length===0)throw new Error("Graph must have at least one node");let o=a[0],r=t.nodeCount();e.setNode(o,{});let n,s;for(;jz(e,t)<r&&(n=Zz(e,t),!!n);)s=e.hasNode(n.v)?us(t,n):-us(t,n),Yz(e,t,s);return e}function jz(t,e){function a(o){let r=e.nodeEdges(o);r&&r.forEach(n=>{let s=n.v,i=o===s?n.w:s;!t.hasNode(i)&&!us(e,n)&&(t.setNode(i,{}),t.setEdge(o,i,{}),a(i))})}return t.nodes().forEach(a),t.nodeCount()}function Zz(t,e){return e.edges().reduce((a,o)=>{let r=Number.POSITIVE_INFINITY;return t.hasNode(o.v)!==t.hasNode(o.w)&&(r=us(e,o)),r<a[0]?[r,o]:a},[Number.POSITIVE_INFINITY,null])[1]}function Yz(t,e,a){t.nodes().forEach(o=>e.node(o).rank+=a)}var{preorder:Jz,postorder:Qz}=yg,eq=an;an.initLowLimValues=Sg;an.initCutValues=vg;an.calcCutValue=ak;an.leaveEdge=rk;an.enterEdge=nk;an.exchangeEdges=sk;function an(t){t=kz(t),Cg(t);let e=tk(t);Sg(e),vg(e,t);let a,o;for(;a=rk(e);)o=nk(e,t,a),sk(e,t,a,o)}function vg(t,e){let a=Qz(t,t.nodes());a=a.slice(0,a.length-1),a.forEach(o=>tq(t,e,o))}function tq(t,e,a){let o=t.node(a).parent,r=t.edge(a,o);r.cutvalue=ak(t,e,a)}function ak(t,e,a){let o=t.node(a).parent,r=!0,n=e.edge(a,o),s=0;n||(r=!1,n=e.edge(o,a)),s=n.weight;let i=e.nodeEdges(a);return i&&i.forEach(l=>{let u=l.v===a,d=u?l.w:l.v;if(d!==o){let c=u===r,f=e.edge(l).weight;if(s+=c?f:-f,oq(t,a,d)){let h=t.edge(a,d).cutvalue;s+=c?-h:h}}}),s}function Sg(t,e){arguments.length<2&&(e=t.nodes()[0]),ok(t,{},1,e)}function ok(t,e,a,o,r){let n=a,s=t.node(o);e[o]=!0;let i=t.neighbors(o);return i&&i.forEach(l=>{Object.hasOwn(e,l)||(a=ok(t,e,a,l,o))}),s.low=n,s.lim=a++,r?s.parent=r:delete s.parent,a}function rk(t){return t.edges().find(e=>t.edge(e).cutvalue<0)}function nk(t,e,a){let o=a.v,r=a.w;e.hasEdge(o,r)||(o=a.w,r=a.v);let n=t.node(o),s=t.node(r),i=n,l=!1;return n.lim>s.lim&&(i=s,l=!0),e.edges().filter(u=>l===TI(t,t.node(u.v),i)&&l!==TI(t,t.node(u.w),i)).reduce((u,d)=>us(e,d)<us(e,u)?d:u)}function sk(t,e,a,o){let r=a.v,n=a.w;t.removeEdge(r,n),t.setEdge(o.v,o.w,{}),Sg(t),vg(t,e),aq(t,e)}function aq(t,e){let a=t.nodes().find(r=>!t.node(r).parent);if(!a)return;let o=Jz(t,[a]);o=o.slice(1),o.forEach(r=>{let n=t.node(r).parent,s=e.edge(r,n),i=!1;s||(s=e.edge(n,r),i=!0),e.node(r).rank=e.node(n).rank+(i?s.minlen:-s.minlen)})}function oq(t,e,a){return t.hasEdge(e,a)}function TI(t,e,a){return a.low<=e.lim&&e.lim<=a.lim}var rq=nq;function nq(t){let e=t.graph().ranker;if(typeof e=="function")return e(t);switch(e){case"network-simplex":EI(t);break;case"tight-tree":iq(t);break;case"longest-path":sq(t);break;case"none":break;default:EI(t)}}var sq=Cg;function iq(t){Cg(t),tk(t)}function EI(t){eq(t)}var lq=uq;function uq(t){let e=cq(t);t.graph().dummyChains.forEach(a=>{let o=t.node(a),r=o.edgeObj,n=dq(t,e,r.v,r.w),s=n.path,i=n.lca,l=0,u=s[l],d=!0;for(;a!==r.w;){if(o=t.node(a),d){for(;(u=s[l])!==i&&t.node(u).maxRank<o.rank;)l++;u===i&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(s[l+1]).minRank<=o.rank;)l++;u=s[l]}u!==void 0&&t.setParent(a,u),a=t.successors(a)[0]}})}function dq(t,e,a,o){let r=[],n=[],s=Math.min(e[a].low,e[o].low),i=Math.max(e[a].lim,e[o].lim),l;l=a;do l=t.parent(l),r.push(l);while(l&&(e[l].low>s||i>e[l].lim));let u=l,d=o;for(;(d=t.parent(d))!==u;)n.push(d);return{path:r.concat(n.reverse()),lca:u}}function cq(t){let e={},a=0;function o(r){let n=a;t.children(r).forEach(o),e[r]={low:n,lim:a++}}return t.children(Mc).forEach(o),e}function fq(t){let e=ds(t,"root",{},"_root"),a=hq(t),o=Object.values(a),r=Ja(Math.max,o)-1,n=2*r+1;t.graph().nestingRoot=e,t.edges().forEach(i=>t.edge(i).minlen*=n);let s=pq(t)+1;t.children(Mc).forEach(i=>ik(t,e,n,s,r,a,i)),t.graph().nodeRankFactor=n}function ik(t,e,a,o,r,n,s){var i;let l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:a});return}let u=DI(t,"_bt"),d=DI(t,"_bb"),c=t.node(s);t.setParent(u,s),c.borderTop=u,t.setParent(d,s),c.borderBottom=d,l.forEach(f=>{var h;ik(t,e,a,o,r,n,f);let p=t.node(f),m=p.borderTop?p.borderTop:f,g=p.borderBottom?p.borderBottom:f,x=p.borderTop?o:2*o,y=m!==g?1:r-((h=n[s])!=null?h:0)+1;t.setEdge(u,m,{weight:x,minlen:y,nestingEdge:!0}),t.setEdge(g,d,{weight:x,minlen:y,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:r+((i=n[s])!=null?i:0)})}function hq(t){let e={};function a(o,r){let n=t.children(o);n&&n.length&&n.forEach(s=>a(s,r+1)),e[o]=r}return t.children(Mc).forEach(o=>a(o,1)),e}function pq(t){return t.edges().reduce((e,a)=>e+t.edge(a).weight,0)}function mq(t){let e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach(a=>{t.edge(a).nestingEdge&&t.removeEdge(a)})}var gq=xq;function xq(t){function e(a){let o=t.children(a),r=t.node(a);if(o.length&&o.forEach(e),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,s=r.maxRank+1;n<s;++n)BI(t,"borderLeft","_bl",a,r,n),BI(t,"borderRight","_br",a,r,n)}}t.children(Mc).forEach(e)}function BI(t,e,a,o,r,n){let s={width:0,height:0,rank:n,borderType:e},i=r[e][n-1],l=ds(t,"border",s,a);r[e][n]=l,t.setParent(l,o),i&&t.setEdge(i,l,{weight:1})}function bq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="lr"||a==="rl")&&lk(t)}function wq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="bt"||a==="rl")&&yq(t),(a==="lr"||a==="rl")&&(Lq(t),lk(t))}function lk(t){t.nodes().forEach(e=>FI(t.node(e))),t.edges().forEach(e=>FI(t.edge(e)))}function FI(t){let e=t.width;t.width=t.height,t.height=e}function yq(t){t.nodes().forEach(e=>mg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(mg),Object.hasOwn(o,"y")&&mg(o)})}function mg(t){t.y=-t.y}function Lq(t){t.nodes().forEach(e=>gg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(gg),Object.hasOwn(o,"x")&&gg(o)})}function gg(t){let e=t.x;t.x=t.y,t.y=e}function Cq(t){let e={},a=t.nodes().filter(i=>!t.children(i).length),o=a.map(i=>t.node(i).rank),r=Ja(Math.max,o),n=Vi(r+1).map(()=>[]);function s(i){if(e[i])return;e[i]=!0;let l=t.node(i);n[l.rank].push(i);let u=t.successors(i);u&&u.forEach(s)}return a.sort((i,l)=>t.node(i).rank-t.node(l).rank).forEach(s),n}function vq(t,e){let a=0;for(let o=1;o<e.length;++o)a+=Sq(t,e[o-1],e[o]);return a}function Sq(t,e,a){let o=Tz(a,a.map((u,d)=>d)),r=e.flatMap(u=>{let d=t.outEdges(u);return d?d.map(c=>({pos:o[c.w],weight:t.edge(c).weight})).sort((c,f)=>c.pos-f.pos):[]}),n=1;for(;n<a.length;)n<<=1;let s=2*n-1;n-=1;let i=new Array(s).fill(0),l=0;return r.forEach(u=>{let d=u.pos+n;i[d]+=u.weight;let c=0;for(;d>0;)d%2&&(c+=i[d+1]),d=d-1>>1,i[d]+=u.weight;l+=u.weight*c}),l}function Iq(t,e=[]){return e.map(a=>{let o=t.inEdges(a);if(!o||!o.length)return{v:a};{let r=o.reduce((n,s)=>{let i=t.edge(s),l=t.node(s.v);return{sum:n.sum+i.weight*l.order,weight:n.weight+i.weight}},{sum:0,weight:0});return{v:a,barycenter:r.sum/r.weight,weight:r.weight}}})}function kq(t,e){let a={};t.forEach((r,n)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i:n};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),a[r.v]=s}),e.edges().forEach(r=>{let n=a[r.v],s=a[r.w];n!==void 0&&s!==void 0&&(s.indegree++,n.out.push(s))});let o=Object.values(a).filter(r=>!r.indegree);return Aq(o)}function Aq(t){let e=[];function a(r){return n=>{n.merged||(n.barycenter===void 0||r.barycenter===void 0||n.barycenter>=r.barycenter)&&Mq(r,n)}}function o(r){return n=>{n.in.push(r),--n.indegree===0&&t.push(n)}}for(;t.length;){let r=t.pop();e.push(r),r.in.reverse().forEach(a(r)),r.out.forEach(o(r))}return e.filter(r=>!r.merged).map(r=>kc(r,["vs","i","barycenter","weight"]))}function Mq(t,e){let a=0,o=0;t.weight&&(a+=t.barycenter*t.weight,o+=t.weight),e.weight&&(a+=e.barycenter*e.weight,o+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=a/o,t.weight=o,t.i=Math.min(e.i,t.i),e.merged=!0}function Pq(t,e){let a=Dz(t,d=>Object.hasOwn(d,"barycenter")),o=a.lhs,r=a.rhs.sort((d,c)=>c.i-d.i),n=[],s=0,i=0,l=0;o.sort(Dq(!!e)),l=OI(n,r,l),o.forEach(d=>{l+=d.vs.length,n.push(d.vs),s+=d.barycenter*d.weight,i+=d.weight,l=OI(n,r,l)});let u={vs:n.flat(1)};return i&&(u.barycenter=s/i,u.weight=i),u}function OI(t,e,a){let o;for(;e.length&&(o=e[e.length-1]).i<=a;)e.pop(),t.push(o.vs),a++;return a}function Dq(t){return(e,a)=>e.barycenter<a.barycenter?-1:e.barycenter>a.barycenter?1:t?a.i-e.i:e.i-a.i}function uk(t,e,a,o){let r=t.children(e),n=t.node(e),s=n?n.borderLeft:void 0,i=n?n.borderRight:void 0,l={};s&&(r=r.filter(f=>f!==s&&f!==i));let u=Iq(t,r);u.forEach(f=>{if(t.children(f.v).length){let h=uk(t,f.v,a,o);l[f.v]=h,Object.hasOwn(h,"barycenter")&&Tq(f,h)}});let d=kq(u,a);Rq(d,l);let c=Pq(d,o);if(s&&i){c.vs=[s,c.vs,i].flat(1);let f=t.predecessors(s);if(f&&f.length){let h=t.node(f[0]),p=t.predecessors(i),m=t.node(p[0]);Object.hasOwn(c,"barycenter")||(c.barycenter=0,c.weight=0),c.barycenter=(c.barycenter*c.weight+h.order+m.order)/(c.weight+2),c.weight+=2}}return c}function Rq(t,e){t.forEach(a=>{a.vs=a.vs.flatMap(o=>e[o]?e[o].vs:o)})}function Tq(t,e){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)}function Eq(t,e,a,o){o||(o=t.nodes());let r=Bq(t),n=new fa({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>t.node(s));return o.forEach(s=>{let i=t.node(s),l=t.parent(s);if(i.rank===e||i.minRank<=e&&e<=i.maxRank){n.setNode(s),n.setParent(s,l||r);let u=t[a](s);u&&u.forEach(d=>{let c=d.v===s?d.w:d.v,f=n.edge(c,s),h=f!==void 0?f.weight:0;n.setEdge(c,s,{weight:t.edge(d).weight+h})}),Object.hasOwn(i,"minRank")&&n.setNode(s,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]})}}),n}function Bq(t){let e;for(;t.hasNode(e=Lg("_root")););return e}function Fq(t,e,a){let o={},r;a.forEach(n=>{let s=t.parent(n),i,l;for(;s;){if(i=t.parent(s),i?(l=o[i],o[i]=s):(l=r,r=s),l&&l!==s){e.setEdge(l,s);return}s=i}})}function dk(t,e={}){if(typeof e.customOrder=="function"){e.customOrder(t,dk);return}let a=JI(t),o=NI(t,Vi(1,a+1),"inEdges"),r=NI(t,Vi(a-1,-1,-1),"outEdges"),n=Cq(t);if(_I(t,n),e.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,i,l=e.constraints||[];for(let u=0,d=0;d<4;++u,++d){Oq(u%2?o:r,u%4>=2,l),n=Gi(t);let c=vq(t,n);c<s?(d=0,i=Object.assign({},n),s=c):c===s&&(i=structuredClone(n))}_I(t,i)}function NI(t,e,a){let o=new Map,r=(n,s)=>{o.has(n)||o.set(n,[]),o.get(n).push(s)};for(let n of t.nodes()){let s=t.node(n);if(typeof s.rank=="number"&&r(s.rank,n),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let i=s.minRank;i<=s.maxRank;i++)i!==s.rank&&r(i,n)}return e.map(function(n){return Eq(t,n,a,o.get(n)||[])})}function Oq(t,e,a){let o=new fa;t.forEach(function(r){a.forEach(i=>o.setEdge(i.left,i.right));let n=r.graph().root,s=uk(r,n,o,e);s.vs.forEach((i,l)=>r.node(i).order=l),Fq(r,o,s.vs)})}function _I(t,e){Object.values(e).forEach(a=>a.forEach((o,r)=>t.node(o).order=r))}function Nq(t,e){let a={};function o(r,n){let s=0,i=0,l=r.length,u=n[n.length-1];return n.forEach((d,c)=>{let f=Hq(t,d),h=f?t.node(f).order:l;(f||d===u)&&(n.slice(i,c+1).forEach(p=>{let m=t.predecessors(p);m&&m.forEach(g=>{let x=t.node(g),y=x.order;(y<s||h<y)&&!(x.dummy&&t.node(p).dummy)&&ck(a,g,p)})}),i=c+1,s=h)}),n}return e.length&&e.reduce(o),a}function _q(t,e){let a={};function o(n,s,i,l,u){Vi(s,i).forEach(d=>{let c=n[d];if(c!==void 0&&t.node(c).dummy){let f=t.predecessors(c);f&&f.forEach(h=>{if(h===void 0)return;let p=t.node(h);p.dummy&&(p.order<l||p.order>u)&&ck(a,h,c)})}})}function r(n,s){let i=-1,l=-1,u=0;return s.forEach((d,c)=>{if(t.node(d).dummy==="border"){let f=t.predecessors(d);if(f&&f.length){let h=f[0];if(h===void 0)return;l=t.node(h).order,o(s,u,c,i,l),u=c,i=l}}o(s,u,s.length,l,n.length)}),s}return e.length&&e.reduce(r),a}function Hq(t,e){if(t.node(e).dummy){let a=t.predecessors(e);if(a)return a.find(o=>t.node(o).dummy)}}function ck(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];o||(t[e]=o={}),o[a]=!0}function zq(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];return o!==void 0&&Object.hasOwn(o,a)}function qq(t,e,a,o){let r={},n={},s={};return e.forEach(i=>{i.forEach((l,u)=>{r[l]=l,n[l]=l,s[l]=u})}),e.forEach(i=>{let l=-1;i.forEach(u=>{let d=o(u);if(d&&d.length){let c=d.sort((h,p)=>{let m=s[h],g=s[p];return(m!==void 0?m:0)-(g!==void 0?g:0)}),f=(c.length-1)/2;for(let h=Math.floor(f),p=Math.ceil(f);h<=p;++h){let m=c[h];if(m===void 0)continue;let g=s[m];if(g!==void 0&&n[u]===u&&l<g&&!zq(a,u,m)){let x=r[m];x!==void 0&&(n[m]=u,n[u]=r[u]=x,l=g)}}}})}),{root:r,align:n}}function Uq(t,e,a,o,r=!1){let n={},s=Wq(t,e,a,r),i=r?"borderLeft":"borderRight";function l(h,p){let m=s.nodes().slice(),g={},x=m.pop();for(;x;){if(g[x])h(x);else{g[x]=!0,m.push(x);for(let y of p(x))m.push(y)}x=m.pop()}}function u(h){let p=s.inEdges(h);p?n[h]=p.reduce((m,g)=>{var x;let y=(x=n[g.v])!=null?x:0,w=s.edge(g);return Math.max(m,y+(w!==void 0?w:0))},0):n[h]=0}function d(h){let p=s.outEdges(h),m=Number.POSITIVE_INFINITY;p&&(m=p.reduce((x,y)=>{let w=n[y.w],C=s.edge(y);return Math.min(x,(w!==void 0?w:0)-(C!==void 0?C:0))},Number.POSITIVE_INFINITY));let g=t.node(h);m!==Number.POSITIVE_INFINITY&&g.borderType!==i&&(n[h]=Math.max(n[h]!==void 0?n[h]:0,m))}function c(h){return s.predecessors(h)||[]}function f(h){return s.successors(h)||[]}return l(u,c),l(d,f),Object.keys(o).forEach(h=>{var p;let m=a[h];m!==void 0&&(n[h]=(p=n[m])!=null?p:0)}),n}function Wq(t,e,a,o){let r=new fa,n=t.graph(),s=Kq(n.nodesep,n.edgesep,o);return e.forEach(i=>{let l;i.forEach(u=>{let d=a[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let c=a[l];if(c!==void 0){let f=r.edge(c,d);r.setEdge(c,d,Math.max(s(t,u,l),f||0))}}l=u}})}),r}function Vq(t,e){return Object.values(e).reduce((a,o)=>{let r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([i,l])=>{let u=jq(t,i)/2;r=Math.max(l+u,r),n=Math.min(l-u,n)});let s=r-n;return s<a[0]&&(a=[s,o]),a},[Number.POSITIVE_INFINITY,null])[1]}function Gq(t,e){let a=Object.values(e),o=Ja(Math.min,a),r=Ja(Math.max,a);["u","d"].forEach(n=>{["l","r"].forEach(s=>{let i=n+s,l=t[i];if(!l||l===e)return;let u=Object.values(l),d=o-Ja(Math.min,u);s!=="l"&&(d=r-Ja(Math.max,u)),d&&(t[i]=Ac(l,c=>c+d))})})}function $q(t,e=void 0){let a=t.ul;return a?Ac(a,(o,r)=>{var n,s;if(e){let l=e.toLowerCase(),u=t[l];if(u&&u[r]!==void 0)return u[r]}let i=Object.values(t).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((n=i[1])!=null?n:0)+((s=i[2])!=null?s:0))/2}):{}}function Xq(t){let e=Gi(t),a=Object.assign(Nq(t,e),_q(t,e)),o={},r;["u","d"].forEach(s=>{r=s==="u"?e:Object.values(e).reverse(),["l","r"].forEach(i=>{i==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=qq(t,r,a,d=>(s==="u"?t.predecessors(d):t.successors(d))||[]),u=Uq(t,r,l.root,l.align,i==="r");i==="r"&&(u=Ac(u,d=>-d)),o[s+i]=u})});let n=Vq(t,o);return Gq(o,n),$q(o,t.graph().align)}function Kq(t,e,a){return(o,r,n)=>{let s=o.node(r),i=o.node(n),l=0,u;if(l+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=a?u:-u),u=void 0,l+=(s.dummy?e:t)/2,l+=(i.dummy?e:t)/2,l+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2;break}return u&&(l+=a?u:-u),l}}function jq(t,e){return t.node(e).width}function Zq(t){t=ZI(t),Yq(t),Object.entries(Xq(t)).forEach(([e,a])=>t.node(e).x=a)}function Yq(t){let e=Gi(t),a=t.graph(),o=a.ranksep,r=a.rankalign,n=0;e.forEach(s=>{let i=s.reduce((l,u)=>{var d;let c=(d=t.node(u).height)!=null?d:0;return l>c?l:c},0);s.forEach(l=>{let u=t.node(l);r==="top"?u.y=n+u.height/2:r==="bottom"?u.y=n+i-u.height/2:u.y=n+i/2}),n+=i+o})}function Jq(t,e={}){let a=e.debugTiming?QI:ek;return a("layout",()=>{let o=a(" buildLayoutGraph",()=>l3(t));return a(" runLayout",()=>Qq(o,a,e)),a(" updateInputGraph",()=>e3(t,o)),o})}function Qq(t,e,a){e(" makeSpaceForEdgeLabels",()=>u3(t)),e(" removeSelfEdges",()=>b3(t)),e(" acyclic",()=>Uz(t)),e(" nestingGraph.run",()=>fq(t)),e(" rank",()=>rq(ZI(t))),e(" injectEdgeLabelProxies",()=>d3(t)),e(" removeEmptyRanks",()=>Mz(t)),e(" nestingGraph.cleanup",()=>mq(t)),e(" normalizeRanks",()=>Az(t)),e(" assignRankMinMax",()=>c3(t)),e(" removeEdgeLabelProxies",()=>f3(t)),e(" normalize.run",()=>Gz(t)),e(" parentDummyChains",()=>lq(t)),e(" addBorderSegments",()=>gq(t)),e(" order",()=>dk(t,a)),e(" insertSelfEdges",()=>w3(t)),e(" adjustCoordinateSystem",()=>bq(t)),e(" position",()=>Zq(t)),e(" positionSelfEdges",()=>y3(t)),e(" removeBorderNodes",()=>x3(t)),e(" normalize.undo",()=>Xz(t)),e(" fixupEdgeLabelCoords",()=>m3(t)),e(" undoCoordinateSystem",()=>wq(t)),e(" translateGraph",()=>h3(t)),e(" assignNodeIntersects",()=>p3(t)),e(" reversePoints",()=>g3(t)),e(" acyclic.undo",()=>Vz(t))}function e3(t,e){t.nodes().forEach(a=>{let o=t.node(a),r=e.node(a);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,e.children(a).length&&(o.width=r.width,o.height=r.height))}),t.edges().forEach(a=>{let o=t.edge(a),r=e.edge(a);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var t3=["nodesep","edgesep","ranksep","marginx","marginy"],a3={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},o3=["acyclicer","ranker","rankdir","align","rankalign"],r3=["width","height","rank"],HI={width:0,height:0},n3=["minlen","weight","width","height","labeloffset"],s3={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},i3=["labelpos"];function l3(t){let e=new fa({multigraph:!0,compound:!0}),a=bg(t.graph());return e.setGraph(Object.assign({},a3,xg(a,t3),kc(a,o3))),t.nodes().forEach(o=>{let r=bg(t.node(o)),n=xg(r,r3);Object.keys(HI).forEach(i=>{n[i]===void 0&&(n[i]=HI[i])}),e.setNode(o,n);let s=t.parent(o);s!==void 0&&e.setParent(o,s)}),t.edges().forEach(o=>{let r=bg(t.edge(o));e.setEdge(o,Object.assign({},s3,xg(r,n3),kc(r,i3)))}),e}function u3(t){let e=t.graph();e.ranksep/=2,t.edges().forEach(a=>{let o=t.edge(a);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function d3(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.width&&a.height){let o=t.node(e.v),r={rank:(t.node(e.w).rank-o.rank)/2+o.rank,e};ds(t,"edge-proxy",r,"_ep")}})}function c3(t){let e=0;t.nodes().forEach(a=>{let o=t.node(a);o.borderTop&&(o.minRank=t.node(o.borderTop).rank,o.maxRank=t.node(o.borderBottom).rank,e=Math.max(e,o.maxRank))}),t.graph().maxRank=e}function f3(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="edge-proxy"){let o=a;t.edge(o.e).labelRank=a.rank,t.removeNode(e)}})}function h3(t){let e=Number.POSITIVE_INFINITY,a=0,o=Number.POSITIVE_INFINITY,r=0,n=t.graph(),s=n.marginx||0,i=n.marginy||0;function l(u){let d=u.x,c=u.y,f=u.width,h=u.height;e=Math.min(e,d-f/2),a=Math.max(a,d+f/2),o=Math.min(o,c-h/2),r=Math.max(r,c+h/2)}t.nodes().forEach(u=>l(t.node(u))),t.edges().forEach(u=>{let d=t.edge(u);Object.hasOwn(d,"x")&&l(d)}),e-=s,o-=i,t.nodes().forEach(u=>{let d=t.node(u);d.x-=e,d.y-=o}),t.edges().forEach(u=>{let d=t.edge(u);d.points.forEach(c=>{c.x-=e,c.y-=o}),Object.hasOwn(d,"x")&&(d.x-=e),Object.hasOwn(d,"y")&&(d.y-=o)}),n.width=a-e+s,n.height=r-o+i}function p3(t){t.edges().forEach(e=>{let a=t.edge(e),o=t.node(e.v),r=t.node(e.w),n,s;a.points?(n=a.points[0],s=a.points[a.points.length-1]):(a.points=[],n=r,s=o),a.points.unshift(PI(o,n)),a.points.push(PI(r,s))})}function m3(t){t.edges().forEach(e=>{let a=t.edge(e);if(Object.hasOwn(a,"x"))switch((a.labelpos==="l"||a.labelpos==="r")&&(a.width-=a.labeloffset),a.labelpos){case"l":a.x-=a.width/2+a.labeloffset;break;case"r":a.x+=a.width/2+a.labeloffset;break}})}function g3(t){t.edges().forEach(e=>{let a=t.edge(e);a.reversed&&a.points.reverse()})}function x3(t){t.nodes().forEach(e=>{if(t.children(e).length){let a=t.node(e),o=t.node(a.borderTop),r=t.node(a.borderBottom),n=t.node(a.borderLeft[a.borderLeft.length-1]),s=t.node(a.borderRight[a.borderRight.length-1]);a.width=Math.abs(s.x-n.x),a.height=Math.abs(r.y-o.y),a.x=n.x+a.width/2,a.y=o.y+a.height/2}}),t.nodes().forEach(e=>{t.node(e).dummy==="border"&&t.removeNode(e)})}function b3(t){t.edges().forEach(e=>{if(e.v===e.w){let a=t.node(e.v);a.selfEdges||(a.selfEdges=[]),a.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function w3(t){Gi(t).forEach(e=>{let a=0;e.forEach((o,r)=>{let n=t.node(o);n.order=r+a,(n.selfEdges||[]).forEach(s=>{ds(t,"selfedge",{width:s.label.width,height:s.label.height,rank:n.rank,order:r+ ++a,e:s.e,label:s.label},"_se")}),delete n.selfEdges})})}function y3(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="selfedge"){let o=a,r=t.node(o.e.v),n=r.x+r.width/2,s=r.y,i=a.x-n,l=r.height/2;t.setEdge(o.e,o.label),t.removeNode(e),o.label.points=[{x:n+2*i/3,y:s-l},{x:n+5*i/6,y:s-l},{x:n+i,y:s},{x:n+5*i/6,y:s+l},{x:n+2*i/3,y:s+l}],o.label.x=a.x,o.label.y=a.y}})}function xg(t,e){return Ac(kc(t,e),Number)}function bg(t){let e={};return t&&Object.entries(t).forEach(([a,o])=>{typeof a=="string"&&(a=a.toLowerCase()),e[a]=o}),e}function L3(t){let e=Gi(t),a=new fa({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+t.node(o).rank)}),t.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),e.forEach((o,r)=>{let n="layer"+r;a.setNode(n,{rank:"same"}),o.reduce((s,i)=>(a.setEdge(s,i,{style:"invis"}),i))}),a}var C3={graphlib:qI,version:Ez,layout:Jq,debug:L3,util:{time:QI,notime:ek}},Ig=C3;import{jsx as So,jsxs as R3}from"react/jsx-runtime";function hk({data:t,selected:e}){let a=t,o=a.highlight,r=new Set(o?.fields??[]),n="!h-1 !w-1 !border-0 !bg-transparent !opacity-0";return Qa("div",{className:["relative w-[260px] overflow-visible rounded-xl border bg-zinc-900 font-mono text-[11px] text-zinc-100 shadow-lg shadow-black/40 transition-opacity",o?.focused?"border-blue-500 ring-2 ring-blue-500/30":o?.connected?"border-blue-400/60 ring-2 ring-blue-500/10":"border-zinc-700",o?.dimmed?"opacity-35":"",e&&!o?.focused?"ring-2 ring-zinc-100/10":""].join(" "),children:[Qa("div",{className:"rounded-t-xl border-b border-zinc-700 bg-zinc-800 px-3 py-2",children:[Qa("div",{className:"flex min-w-0 items-center gap-2",children:[zt(Hi,{className:"h-3.5 w-3.5 shrink-0 text-zinc-400"}),zt("span",{className:"min-w-0 flex-1 truncate text-[13px] font-semibold leading-none text-zinc-50",children:a.entity})]}),zt("div",{className:"mt-1 truncate text-[10px] text-zinc-500",children:a.cartridge})]}),zt("div",{className:"bg-zinc-900 py-1",children:a.fields.length===0?zt("div",{className:"px-3 py-2 text-[10px] text-zinc-500",children:"No fields"}):a.fields.map(s=>{let i=`${s.type}${s.array?"[]":""}${s.optional?"?":""}`,l=s.displayName.toLowerCase()==="id",u=s.kind==="relation",d=s.kind==="document",c=r.has(s.displayName);return Qa("div",{className:["relative grid min-h-[26px] grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-1 text-zinc-300",c?"bg-blue-500/15 text-blue-200":""].join(" "),children:[l?Qa(fk,{children:[zt(Co,{id:`target-${s.displayName}-left`,type:"target",position:se.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),zt(Co,{id:`target-${s.displayName}-right`,type:"target",position:se.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,u?Qa(fk,{children:[zt(Co,{id:`source-${s.displayName}-left`,type:"source",position:se.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),zt(Co,{id:`source-${s.displayName}-right`,type:"source",position:se.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,Qa("span",{className:"flex min-w-0 items-center gap-1.5",children:[l?zt(qi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,u?zt(Ui,{className:["h-3 w-3 shrink-0",c?"text-blue-300":"text-blue-400"].join(" ")}):null,d?zt(zi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,zt("span",{className:"truncate",children:s.displayName})]}),zt("span",{className:"max-w-[96px] truncate text-right text-zinc-500",children:i})]},`${s.name}:${s.displayName}`)})}),Qa("div",{className:"flex items-center justify-between gap-2 rounded-b-xl border-t border-zinc-700 bg-zinc-800 px-3 py-1.5 text-[10px] text-zinc-500",children:[Qa("span",{className:"tabular-nums",children:[a.rowCount.toLocaleString()," rows"]}),Qa("span",{className:"tabular-nums",children:[a.relationCount," rel \xB7 ",a.scalarCount," scalar"]})]})]})}var kg=260,pk=150,mk=26,Mg=390;function gk(t){let e=[];for(let a of t){if(!a.cartridge||!a.owns)continue;let o=[];for(let[r,n]of Object.entries(a.owns)){let s=(n.fields??[]).map(i=>({name:i.name,type:i.type,optional:i.optional,array:i.array,kind:i.kind,target:i.target,targetCart:i.target_cart,relationKind:i.relation_kind,fkField:i.fk_field}));o.push({name:r,fields:s})}o.length>0&&e.push({name:a.cartridge,entities:o})}return e}function cs(t,e){return`${t}:${e}`}function xk(t){return t.kind??(t.target?"relation":"scalar")}function v3(t){let e=xk(t);return{name:t.name,displayName:e==="relation"?t.fkField??t.name:t.name,type:e==="relation"&&t.target?t.target:t.type,kind:e,optional:t.optional===!0,array:t.array===!0,target:t.target,targetCart:t.targetCart,relationKind:t.relationKind,fkField:t.fkField}}function S3(t){let e=t.map(v3);return e.some(a=>a.displayName.toLowerCase()==="id")||e.unshift({name:"id",displayName:"id",type:"id",kind:"scalar",optional:!1,array:!1,implicit:!0}),e}function bk(t){return t.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function I3(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^a-zA-Z0-9]+/).map(e=>e.toLowerCase()).filter(Boolean)}function k3(t){let e=I3(t),a=new Set([bk(t)]),o=e.length>0?e[e.length-1]:void 0;return o&&a.add(o),e.length>1&&o&&(a.add(`${e.slice(0,-1).map(r=>r[0]).join("")}${o}`),a.add(e.map(r=>r[0]).join(""))),[...a].filter(r=>r.length>=2)}function A3(t,e){if(!/id$/i.test(t)||/^id$/i.test(t))return null;let a=bk(t.replace(/id$/i,""));if(a.length<3)return null;let o=e.flatMap(s=>k3(s.entity).map(i=>{let l=a===i,u=!l&&i.length>=4&&a.endsWith(i);return!l&&!u?null:{node:s,score:(l?1e3:500)+i.length}})).filter(s=>s!==null).sort((s,i)=>i.score-s.score||s.node.entity.localeCompare(i.node.entity)),r=o[0];if(!r)return null;let n=o[1];return n&&r.score===n.score?null:r.node}function M3(t,e,a){let o=t?.fields.find(r=>r.displayName===e||r.name===e);!o||o.displayName.toLowerCase()==="id"||(o.kind="relation",o.target=a.entity,o.targetCart=a.cartridge,o.relationKind??(o.relationKind="inferred"),o.fkField??(o.fkField=e))}function P3(t){for(let e of t)e.scalarCount=e.fields.filter(a=>a.kind==="scalar").length,e.relationCount=e.fields.filter(a=>a.kind==="relation").length,e.documentCount=e.fields.filter(a=>a.kind==="document").length}function Ag(t){return Math.max(pk,74+t.fields.length*mk)}function D3(t,e){let a=new Map(t.map(l=>[l.id,0]));for(let l of e)a.set(l.source,(a.get(l.source)??0)+1),a.set(l.target,(a.get(l.target)??0)+1);let o=t.filter(l=>(a.get(l.id)??0)>0),r=t.filter(l=>(a.get(l.id)??0)===0),n=new Set(o.map(l=>l.id)),s=0,i=0;if(o.length>0){let l=new Ig.graphlib.Graph;l.setGraph({rankdir:"LR",ranksep:160,nodesep:48,marginx:40,marginy:40}),l.setDefaultEdgeLabel(()=>({}));for(let u of o)l.setNode(u.id,{width:kg,height:Ag(u)});for(let u of e)u.source!==u.target&&(!n.has(u.source)||!n.has(u.target)||l.setEdge(u.source,u.target));Ig.layout(l);for(let u of o){let d=l.node(u.id),c=Ag(u);u.position={x:d.x-kg/2,y:d.y-c/2},s=Math.max(s,u.position.x+kg),i=Math.max(i,u.position.y+c)}}if(r.length>0){r.sort((h,p)=>h.entity.localeCompare(p.entity));let l=o.length>0?s+Mg:0,u=Math.max(1,Math.ceil(r.length/Math.ceil(r.length/6))),d=l,c=0,f=0;for(let h of r)h.position={x:d,y:c},c+=Ag(h)+48,f+=1,f>=u&&(f=0,c=0,d+=Mg)}}function wk(t,e){return{entities:t.length,relationships:e.length,rows:t.reduce((a,o)=>a+o.rowCount,0)}}function yk(t){let e=[...t].sort((i,l)=>i.name.localeCompare(l.name)),a=[];e.forEach((i,l)=>{let u=[...i.entities].sort((c,f)=>c.name.localeCompare(f.name)),d=0;u.forEach(c=>{let f=cs(i.name,c.name),h=c.fields??[],p=S3(h);a.push({id:f,cartridge:i.name,entity:c.name,fields:p,fieldCount:p.length,scalarCount:p.filter(m=>m.kind==="scalar").length,relationCount:p.filter(m=>m.kind==="relation").length,documentCount:p.filter(m=>m.kind==="document").length,rowCount:0,position:{x:l*Mg,y:d}}),d+=Math.max(pk,74+p.length*mk)+56})});let o=new Set(a.map(i=>i.id)),r=new Map(a.map(i=>[i.id,i])),n=[],s=new Set;for(let i of e)for(let l of i.entities){let u=cs(i.name,l.name),d=r.get(u);for(let c of l.fields??[]){let f=xk(c)==="relation"&&!!c.target,h=f?null:A3(c.name,a);if(!f&&!h)continue;let p=f?c.targetCart??i.name:h?.cartridge,m=f?c.target:h?.entity;if(!p||!m)continue;let g=cs(p,m);if(!o.has(u)||!o.has(g))continue;let x=r.get(g),w=x?.fields.find(L=>L.displayName.toLowerCase()==="id")?.displayName??"__entity",I=d?.fields.find(L=>L.name===c.name||L.displayName===c.name)?.displayName??c.fkField??c.name,v=`${u}:${I}->${g}:${w}`;s.has(v)||(s.add(v),!f&&x&&M3(d,I,x),n.push({id:`${u}:${c.name}->${g}`,source:u,target:g,sourceField:I,targetField:w,label:c.name,relationKind:c.relationKind??(f?void 0:"inferred"),fkField:c.fkField??(f?void 0:c.name)}))}}return P3(a),{nodes:a,edges:n,totals:wk(a,n)}}function Lk(t,e){let a=t.nodes.filter(n=>e.has(n.id)).map(n=>({...n,position:{...n.position}})),o=new Set(a.map(n=>n.id)),r=t.edges.filter(n=>o.has(n.source)&&o.has(n.target));return D3(a,r),{nodes:a,edges:r,totals:wk(a,r)}}var T3={entity:hk},E3=({fitKey:t})=>{let e=mI(),{fitView:a}=_i(),o=be(n=>n.width),r=be(n=>n.height);return xt.useEffect(()=>{e&&a({padding:.25,duration:200})},[e,t,a]),xt.useEffect(()=>{if(!e||o===0||r===0)return;let n=setTimeout(()=>a({padding:.25,duration:200}),120);return()=>clearTimeout(n)},[o,r,e,a]),null};function B3(){let{apiBaseUrl:t}=tt(),[e,a]=xt.useState([]),[o,r]=xt.useState(!0),[n,s]=xt.useState(null);return xt.useEffect(()=>{let i=new AbortController,l=!1;return(async()=>{try{let u=await fetch(`${t}/_console/contracts`,{signal:i.signal,credentials:"include",headers:Ma()});if(!u.ok)throw new Error(`HTTP ${u.status}`);let d=await u.json();if(!Array.isArray(d))throw new Error("malformed contracts response");l||a(d)}catch(u){if(l||u.name==="AbortError")return;s(u instanceof Error?u.message:String(u))}finally{l||r(!1)}})(),()=>{l=!0,i.abort()}},[t]),{contracts:e,loading:o,error:n}}function F3(t){let e={};for(let a of t){if(!a.cartridge||!a.owns)continue;let o=Object.keys(a.owns).map(r=>({name:r,route:`/_ws/bulk/${a.cartridge}/${r.toLowerCase()}`,searchFields:[]}));o.length>0&&(e[a.cartridge]=o)}return e}var Pg=({visibleIds:t,onSelectNode:e})=>{let{contracts:a,loading:o,error:r}=B3(),n=xt.useMemo(()=>yk(gk(a)),[a]),s=xt.useMemo(()=>F3(a),[a]);if(n.nodes.length===0){let i="No installed cartridges with entities.";return o?i="Loading entity graph\u2026":r&&(i=`Failed to load contracts: ${r}`),So("div",{className:"p-3 text-[12px] text-muted-foreground",children:i})}return So(O3,{graph:n,registry:s,visibleIds:t,onSelectNode:e})},O3=({graph:t,registry:e,visibleIds:a,onSelectNode:o})=>{let r=gm(e),[n,s]=xt.useState(null),i=xt.useMemo(()=>Lk(t,a),[t,a]);xt.useEffect(()=>{n&&!a.has(n)&&s(null)},[n,a]);let l=xt.useMemo(()=>{if(!n)return{connectedIds:new Set,edgeIds:new Set,fieldsByNode:new Map};let p=new Set([n]),m=new Set,g=new Map,x=(y,w)=>{let C=g.get(y)??new Set;C.add(w),g.set(y,C)};for(let y of i.edges)y.source!==n&&y.target!==n||(m.add(y.id),p.add(y.source),p.add(y.target),x(y.source,y.sourceField),x(y.target,y.targetField));return{connectedIds:p,edgeIds:m,fieldsByNode:g}},[n,i.edges]),u=xt.useMemo(()=>i.nodes.map(p=>({id:p.id,type:"entity",position:p.position,data:{...p,rowCount:r[p.id]??p.rowCount,highlight:n?{focused:p.id===n,connected:l.connectedIds.has(p.id)&&p.id!==n,dimmed:!l.connectedIds.has(p.id),fields:[...l.fieldsByNode.get(p.id)??[]]}:void 0}})),[l,n,i.nodes,r]),d=xt.useMemo(()=>{let p=new Map(i.nodes.map(g=>[g.id,g])),m=new Map;return i.edges.map(g=>{let x=p.get(g.source),y=p.get(g.target),w=x&&y&&x.position.x>y.position.x?"left":"right",C=w==="left"?"right":"left",I=`${g.target}:${g.targetField}:${C}`,v=m.get(I)??0;m.set(I,v+1);let L=!n||l.edgeIds.has(g.id);return{id:g.id,source:g.source,target:g.target,sourceHandle:`source-${g.sourceField}-${w}`,targetHandle:`target-${g.targetField}-${C}`,type:"smoothstep",pathOptions:{borderRadius:8,offset:22+v%5*12},markerEnd:{type:Zo.ArrowClosed,color:L?"#2563eb":"#64748b"},style:{strokeWidth:n&&L?2.5:1.5,stroke:L?"#2563eb":"#64748b",opacity:L?1:.16}}})},[l.edgeIds,n,i.edges,i.nodes]),c=xt.useCallback((p,m)=>{let g=m.data,x=cs(g.cartridge,g.entity);s(y=>y===x?null:x),o?.(g.cartridge,g.entity)},[o]),f=xt.useCallback((p,m)=>{p.preventDefault();let g=m.data;s(cs(g.cartridge,g.entity)),o?.(g.cartridge,g.entity)},[o]),h=xt.useCallback(()=>s(null),[]);return So("div",{className:"flex h-full min-h-0 w-full flex-col",children:So("div",{className:"relative min-h-0 flex-1 bg-zinc-950",children:u.length===0?So("div",{className:"flex h-full items-center justify-center text-[12px] text-zinc-500",children:"No entities are visible."}):So(cg,{children:R3(pI,{colorMode:"dark",nodes:u,edges:d,nodeTypes:T3,fitView:!0,fitViewOptions:{padding:.2},minZoom:.1,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,selectionOnDrag:!1,onNodeClick:c,onNodeContextMenu:f,onPaneClick:h,proOptions:{hideAttribution:!0},children:[So(E3,{fitKey:[...a].sort().join("|")}),So(xI,{variant:ja.Dots,gap:16,size:1,color:"#3f3f46"}),So(wI,{showInteractive:!1})]})})})})};import Ea from"react";function Ck(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Ck(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function vk(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Ck(t))&&(o&&(o+=" "),o+=e);return o}var N3=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},_3=(t,e)=>({classGroupId:t,validator:e}),Pk=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Sk=[],H3="arbitrary..",z3=t=>{let e=U3(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return q3(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Dk(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?N3(u,l):l:u||Sk}return a[s]||Sk}}},Dk=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Dk(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},q3=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?H3+o:void 0})(),U3=t=>{let{theme:e,classGroups:a}=t;return W3(a,e)},W3=(t,e)=>{let a=Pk();for(let o in t){let r=t[o];Rg(r,a,o,e)}return a},Rg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];V3(s,e,a,o)}},V3=(t,e,a,o)=>{if(typeof t=="string"){G3(t,e,a);return}if(typeof t=="function"){$3(t,e,a,o);return}X3(t,e,a,o)},G3=(t,e,a)=>{let o=t===""?e:Rk(e,t);o.classGroupId=a},$3=(t,e,a,o)=>{if(K3(t)){Rg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(_3(a,t))},X3=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];Rg(l,Rk(e,i),a,o)}},Rk=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Pk(),a.nextPart.set(s,i)),a=i}return a},K3=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,j3=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var Z3=[],Ik=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),Y3=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let c=n.length===0?r:r.slice(l),f=c,h=!1;c.endsWith("!")?(f=c.slice(0,-1),h=!0):c.startsWith("!")&&(f=c.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return Ik(n,h,f,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):Ik(Z3,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},J3=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},Q3=t=>({cache:j3(t.cacheSize),parseClassName:Y3(t),sortModifiers:J3(t),postfixLookupClassGroupIds:eU(t),...z3(t)}),eU=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},tU=/\s+/,aU=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(tU),u="";for(let d=l.length-1;d>=0;d-=1){let c=l[d],{isExternal:f,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(c);if(f){u=c+(u.length>0?" "+u:u);continue}let x=!!g,y;if(x){let L=m.substring(0,g);y=o(L);let S=y&&s[y]?o(m):void 0;S&&S!==y&&(y=S,x=!1)}else y=o(m);if(!y){if(!x){u=c+(u.length>0?" "+u:u);continue}if(y=o(m),!y){u=c+(u.length>0?" "+u:u);continue}x=!1}let w=h.length===0?"":h.length===1?h[0]:n(h).join(":"),C=p?w+"!":w,I=C+y;if(i.indexOf(I)>-1)continue;i.push(I);let v=r(y,x);for(let L=0;L<v.length;++L){let S=v[L];i.push(C+S)}u=c+(u.length>0?" "+u:u)}return u},oU=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=Tk(a))&&(r&&(r+=" "),r+=o);return r},Tk=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=Tk(t[o]))&&(a&&(a+=" "),a+=e);return a},rU=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,c)=>c(d),t());return a=Q3(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=aU(l,a);return r(l,d),d};return n=s,(...l)=>n(oU(...l))},nU=[],nt=t=>{let e=a=>a[t]||nU;return e.isThemeGetter=!0,e},Ek=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Bk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,sU=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,iU=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lU=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,uU=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,dU=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cU=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,er=t=>sU.test(t),me=t=>!!t&&!Number.isNaN(Number(t)),eo=t=>!!t&&Number.isInteger(Number(t)),Dg=t=>t.endsWith("%")&&me(t.slice(0,-1)),Io=t=>iU.test(t),Fk=()=>!0,fU=t=>lU.test(t)&&!uU.test(t),Tg=()=>!1,hU=t=>dU.test(t),pU=t=>cU.test(t),mU=t=>!te(t)&&!oe(t),gU=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),xU=t=>tr(t,_k,Tg),te=t=>Ek.test(t),on=t=>tr(t,Hk,fU),kk=t=>tr(t,IU,me),bU=t=>tr(t,qk,Fk),wU=t=>tr(t,zk,Tg),Ak=t=>tr(t,Ok,Tg),yU=t=>tr(t,Nk,pU),Pc=t=>tr(t,Uk,hU),oe=t=>Bk.test(t),$i=t=>rn(t,Hk),LU=t=>rn(t,zk),Mk=t=>rn(t,Ok),CU=t=>rn(t,_k),vU=t=>rn(t,Nk),Dc=t=>rn(t,Uk,!0),SU=t=>rn(t,qk,!0),tr=(t,e,a)=>{let o=Ek.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},rn=(t,e,a=!1)=>{let o=Bk.exec(t);return o?o[1]?e(o[1]):a:!1},Ok=t=>t==="position"||t==="percentage",Nk=t=>t==="image"||t==="url",_k=t=>t==="length"||t==="size"||t==="bg-size",Hk=t=>t==="length",IU=t=>t==="number",zk=t=>t==="family-name",qk=t=>t==="number"||t==="weight",Uk=t=>t==="shadow";var kU=()=>{let t=nt("color"),e=nt("font"),a=nt("text"),o=nt("font-weight"),r=nt("tracking"),n=nt("leading"),s=nt("breakpoint"),i=nt("container"),l=nt("spacing"),u=nt("radius"),d=nt("shadow"),c=nt("inset-shadow"),f=nt("text-shadow"),h=nt("drop-shadow"),p=nt("blur"),m=nt("perspective"),g=nt("aspect"),x=nt("ease"),y=nt("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...C(),oe,te],v=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto","contain","none"],S=()=>[oe,te,l],A=()=>[er,"full","auto",...S()],H=()=>[eo,"none","subgrid",oe,te],M=()=>["auto",{span:["full",eo,oe,te]},eo,oe,te],R=()=>[eo,"auto",oe,te],z=()=>["auto","min","max","fr",oe,te],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...S()],E=()=>[er,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],q=()=>[er,"screen","full","dvw","lvw","svw","min","max","fit",...S()],B=()=>[er,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],P=()=>[t,oe,te],N=()=>[...C(),Mk,Ak,{position:[oe,te]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",CU,xU,{size:[oe,te]}],_=()=>[Dg,$i,on],W=()=>["","none","full",u,oe,te],G=()=>["",me,$i,on],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[me,Dg,Mk,Ak],ie=()=>["","none",p,oe,te],le=()=>["none",me,oe,te],J=()=>["none",me,oe,te],ne=()=>[me,oe,te],ue=()=>[er,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Io],breakpoint:[Io],color:[Fk],container:[Io],"drop-shadow":[Io],ease:["in","out","in-out"],font:[mU],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Io],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Io],shadow:[Io],spacing:["px",me],text:[Io],"text-shadow":[Io],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",er,te,oe,g]}],container:["container"],"container-type":[{"@container":["","normal","size",oe,te]}],"container-named":[gU],columns:[{columns:[me,te,oe,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[eo,"auto",oe,te]}],basis:[{basis:[er,"full","auto",i,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[me,er,"auto","initial","none",te]}],grow:[{grow:["",me,oe,te]}],shrink:[{shrink:["",me,oe,te]}],order:[{order:[eo,"first","last","none",oe,te]}],"grid-cols":[{"grid-cols":H()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":H()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":z()}],"auto-rows":[{"auto-rows":z()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",a,$i,on]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,SU,bU]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Dg,te]}],"font-family":[{font:[LU,wU,e]}],"font-features":[{"font-features":[te]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,oe,te]}],"line-clamp":[{"line-clamp":[me,"none",oe,kk]}],leading:[{leading:[n,...S()]}],"list-image":[{"list-image":["none",oe,te]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",oe,te]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[me,"from-font","auto",oe,on]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[me,"auto",oe,te]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[eo,oe,te]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",oe,te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",oe,te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},eo,oe,te],radial:["",oe,te],conic:[eo,oe,te]},vU,yU]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[me,oe,te]}],"outline-w":[{outline:["",me,$i,on]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",d,Dc,Pc]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",c,Dc,Pc]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[me,on]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",f,Dc,Pc]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[me,oe,te]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[me]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[oe,te]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[me]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",oe,te]}],filter:[{filter:["","none",oe,te]}],blur:[{blur:ie()}],brightness:[{brightness:[me,oe,te]}],contrast:[{contrast:[me,oe,te]}],"drop-shadow":[{"drop-shadow":["","none",h,Dc,Pc]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",me,oe,te]}],"hue-rotate":[{"hue-rotate":[me,oe,te]}],invert:[{invert:["",me,oe,te]}],saturate:[{saturate:[me,oe,te]}],sepia:[{sepia:["",me,oe,te]}],"backdrop-filter":[{"backdrop-filter":["","none",oe,te]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[me,oe,te]}],"backdrop-contrast":[{"backdrop-contrast":[me,oe,te]}],"backdrop-grayscale":[{"backdrop-grayscale":["",me,oe,te]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[me,oe,te]}],"backdrop-invert":[{"backdrop-invert":["",me,oe,te]}],"backdrop-opacity":[{"backdrop-opacity":[me,oe,te]}],"backdrop-saturate":[{"backdrop-saturate":[me,oe,te]}],"backdrop-sepia":[{"backdrop-sepia":["",me,oe,te]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",oe,te]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[me,"initial",oe,te]}],ease:[{ease:["linear","initial",x,oe,te]}],delay:[{delay:[me,oe,te]}],animate:[{animate:["none",y,oe,te]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,oe,te]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[oe,te,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[eo,oe,te]}],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",oe,te]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",oe,te]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[me,$i,on,kk]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Wk=rU(kU);import fs from"react";import{createPortal as AU}from"react-dom";import{Fragment as Vk,jsx as Ba,jsxs as ar}from"react/jsx-runtime";import{jsx as Ct,jsxs as nn}from"react/jsx-runtime";function rr(...t){return Wk(vk(t))}var Gk=420,Xk=new Set([ld,ud,dd,cd,fd,hd,pd,md]),Kk=new Set([gd,xd]);function MU(t){let a=Math.max(12,Math.min(t.left,window.innerWidth-Gk-12)),r=window.innerHeight-t.bottom>=180?t.bottom+6:Math.max(12,t.top-188);return{left:a,top:r,width:Gk}}function PU(t,e){if(e===ui)return{value:t==="true"};if(Xk.has(e)){let a=Number(t);return Number.isInteger(a)?{value:a}:{error:"Expected an integer"}}if(Kk.has(e)){let a=Number(t);return Number.isFinite(a)?{value:a}:{error:"Expected a number"}}return{value:t}}var DU=({data:t,onClose:e})=>{let{apiBaseUrl:a}=tt(),[o,r]=fs.useState(!1),[n,s]=fs.useState(t.value),[i,l]=fs.useState(!1),[u,d]=fs.useState(null);fs.useEffect(()=>{s(t.value),d(null)},[t.value,t.r,t.c]),fs.useEffect(()=>{let m=g=>{g.key==="Escape"&&e()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e]);let c=async()=>{try{await navigator.clipboard.writeText(t.value),r(!0)}catch{}},f=async()=>{let m=PU(n,t.colType);if("error"in m){d(m.error);return}l(!0),d(null);try{let g=await fetch(`${a}/api/${t.cart}/${t.entity.toLowerCase()}/${encodeURIComponent(t.rowId)}`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({[t.colName]:m.value})});if(!g.ok){d(await g.text()||`HTTP ${g.status}`),l(!1);return}e()}catch(g){d(g instanceof Error?g.message:String(g)),l(!1)}},h=t.colType===ui,p=Xk.has(t.colType)||Kk.has(t.colType);return AU(ar(Vk,{children:[Ba("div",{className:"fixed inset-0 z-[60]",onClick:e}),ar("div",{className:rr("nimbit-devtools dark fixed z-[61] rounded-md border border-border bg-popover p-3","text-[12px] text-popover-foreground shadow-lg"),style:MU(t.rect),onClick:m=>m.stopPropagation(),children:[ar("div",{className:"mb-2 flex items-center justify-between gap-3",children:[ar("div",{className:"min-w-0",children:[Ba("div",{className:"truncate font-medium text-foreground",children:t.colName}),ar("div",{className:"text-[11px] text-muted-foreground",children:["Row ",t.r+1]})]}),ar("div",{className:"flex shrink-0 items-center gap-1.5",children:[Ba("button",{type:"button",onClick:c,className:rr("rounded border border-border px-2 py-1 text-[11px] leading-none","hover:bg-accent hover:text-accent-foreground"),children:o?"Copied":"Copy"}),t.editable?Ba("button",{type:"button",onClick:f,disabled:i,className:rr("rounded border border-border bg-primary/90 px-2 py-1 text-[11px] leading-none text-primary-foreground","hover:bg-primary disabled:opacity-50"),children:i?"Saving\u2026":"Save"}):null]})]}),t.editable?ar(Vk,{children:[h?ar("select",{value:n,disabled:i,onChange:m=>s(m.target.value),className:"w-full rounded-sm border border-border bg-background px-2 py-1 text-[12px] outline-none focus:border-accent-foreground/30",children:[Ba("option",{value:"true",children:"true"}),Ba("option",{value:"false",children:"false"})]}):p?Ba("input",{type:"number",value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),onKeyDown:m=>{m.key==="Enter"&&f()},className:"w-full rounded-sm border border-border bg-background px-2 py-1 font-mono text-[12px] outline-none focus:border-accent-foreground/30"}):Ba("textarea",{value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),className:"max-h-48 min-h-[3rem] w-full resize-y overflow-auto rounded-sm border border-border bg-background p-2 font-mono text-[11px] leading-5 outline-none focus:border-accent-foreground/30"}),u?Ba("div",{className:"mt-2 break-words text-[11px] text-red-400",children:u}):null]}):Ba("div",{className:"max-h-48 overflow-auto rounded-sm bg-muted/40 p-2 font-mono text-[11px] leading-5 whitespace-pre-wrap break-words",children:t.value.length>0?t.value:Ba("span",{className:"font-sans italic text-muted-foreground",children:"(empty)"})})]})]}),document.body)},Bg=DU,jk="nbt_devtools_colw:v1";function Zk(){try{let t=localStorage.getItem(jk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}function RU(t,e){return Zk()[`${t}:${e}`]??{}}function TU(t,e,a,o){try{let r=Zk(),n=`${t}:${e}`;(r[n]??(r[n]={}))[a]=o,localStorage.setItem(jk,JSON.stringify(r))}catch{}}var or=22,$k=6,Fg=80,Yk=600,EU=32,BU=new Set(["id","createdAt","updatedAt"]),FU=new Set([bd,wd]);function OU(t){return t==="id"?220:t==="createdAt"||t==="updatedAt"||t==="email"||t==="phone"||t.endsWith("At")?180:Math.max(Fg,Math.min(240,t.length*9+24))}var Eg=null;function NU(){return Eg||(Eg=document.createElement("canvas")),Eg.getContext("2d")}var _U=({index:t,startWidth:e,scrollerRef:a,onCommit:o,onAutoFit:r})=>Ct("div",{onPointerDown:s=>{s.preventDefault(),s.stopPropagation();let i=a.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=e,c=!1,f=0,h=null,p=()=>{f=0,h!=null&&(d=h,i.style.setProperty(`--cw-${t}`,`${h}px`),h=null)},m=x=>{x.preventDefault(),c=!0,h=Math.max(Fg,Math.min(Yk,e+(x.clientX-u))),f||(f=requestAnimationFrame(p))},g=()=>{f&&cancelAnimationFrame(f),p(),c&&o(d),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),r()},title:"Drag to resize \xB7 double-click to fit",style:{touchAction:"none"},className:"absolute right-0 top-0 bottom-0 z-20 w-1.5 cursor-ew-resize hover:bg-accent/40"}),HU=({cart:t,entity:e,searchFields:a,onSelectRow:o})=>{let r=xm(t,e),n=Ea.useRef(null),[s,i]=Ea.useState(0),[l,u]=Ea.useState(0),[d,c]=Ea.useState(""),[f,h]=Ea.useState(null),[p,m]=Ea.useState(null),[g,x]=Ea.useState(0),[y,w]=Ea.useState(()=>RU(t,e)),C=N=>y[N]??OU(N);Ea.useEffect(()=>(r.setOnRender(()=>x(N=>N+1)),()=>r.setOnRender(null)),[r]);let I=r.columns.length>0;Ea.useEffect(()=>{let N=n.current;if(!N)return;let U=new ResizeObserver(()=>u(N.clientHeight));return U.observe(N),u(N.clientHeight),()=>U.disconnect()},[I]);let v=r.store.rows,L=r.columns,S=v.length*or,A=Math.max(0,Math.floor(s/or)-$k),H=Math.max(0,Math.ceil(l/or)+$k*2),M=Math.min(v.length,A+H),R=N=>{N.key==="Enter"?r.search(d.trim()):N.key==="Escape"&&(c(""),r.clearSearch())},z=N=>{let U=v[N];if(!U)return;let $={};for(let _=0;_<L.length;_++)$[L[_].name]=U[_]??"";o($)},k=a.length===0,T=L.findIndex(N=>N.name==="id"),D=Ea.useMemo(()=>{let N={"--gw":`${EU}px`},U=["var(--gw)"];return L.forEach(($,_)=>{N[`--cw-${_}`]=`${C($.name)}px`,U.push(`var(--cw-${_})`)}),N["--total-w"]=`calc(${U.join(" + ")})`,N},[L,y]),E=(N,U)=>{w($=>({...$,[N]:U})),TU(t,e,N,U)},q=(N,U)=>{let $=NU(),_=n.current;if(!$||!_)return;$.font=`12px ${getComputedStyle(_).fontFamily}`;let W=$.measureText(U).width,G=Math.min(v.length,1e3);for(let F=0;F<G;F++)W=Math.max(W,$.measureText(v[F]?.[N]??"").width);let O=Math.max(Fg,Math.min(Yk,Math.ceil(W)+18));_.style.setProperty(`--cw-${N}`,`${O}px`),E(U,O)},B=N=>{let U=n.current;if(!U)return;let $=N*or;$<U.scrollTop?U.scrollTop=$:$+or>U.scrollTop+U.clientHeight&&(U.scrollTop=$+or-U.clientHeight)},P=N=>{if(v.length===0||L.length===0)return;if((N.metaKey||N.ctrlKey)&&(N.key==="c"||N.key==="C")){if(!f)return;let W=v[f.r]?.[f.c]??"";navigator.clipboard?.writeText(W),N.preventDefault();return}let U=f??{r:A,c:0},{r:$,c:_}=U;if(N.key==="ArrowUp")$--;else if(N.key==="ArrowDown")$++;else if(N.key==="ArrowLeft")_--;else if(N.key==="ArrowRight")_++;else return;N.preventDefault(),$=Math.max(0,Math.min(v.length-1,$)),_=Math.max(0,Math.min(L.length-1,_)),h({r:$,c:_}),m(null),B($)};return nn("div",{className:"flex h-full flex-col bg-background",children:[nn("div",{className:"flex h-7 shrink-0 items-center gap-2 border-b border-border px-2",children:[Ct("input",{type:"text",value:d,disabled:k,onChange:N=>c(N.target.value),onKeyDown:R,placeholder:k?"Search disabled (no @@search declared)":`Search ${a.join(", ")} \u23CE`,className:rr("h-5 flex-1 rounded-sm border border-border bg-background px-2 text-[12px] outline-none","placeholder:text-muted-foreground/70 focus:border-accent-foreground/30",k&&"opacity-50 cursor-not-allowed")}),Ct("div",{className:"shrink-0 text-[11px] text-muted-foreground tabular-nums",children:r.error?Ct("span",{className:"text-red-400",children:r.error}):L.length===0?Ct("span",{children:r.connected?"loading\u2026":"connecting\u2026"}):nn("span",{children:[r.loadedRows.toLocaleString()," / ",r.totalRows.toLocaleString()," rows",r.streaming?" \xB7 streaming":""]})})]}),L.length===0?Ct("div",{className:"flex flex-1 items-center justify-center text-[12px] text-muted-foreground",children:r.error?r.error:"Waiting for schema\u2026"}):Ct("div",{ref:n,tabIndex:0,onKeyDown:P,onScroll:N=>{i(N.target.scrollTop),p&&m(null)},className:"group/table relative min-h-0 flex-1 overflow-auto font-mono outline-none",children:nn("div",{style:{...D,width:"var(--total-w)"},children:[nn("div",{className:"sticky top-0 z-10 flex h-6 select-none border-b border-border bg-background text-[11px] text-muted-foreground",style:{width:"var(--total-w)"},children:[Ct("div",{style:{width:"var(--gw)"},className:"shrink-0 border-r border-border"}),L.map((N,U)=>nn("div",{style:{width:`var(--cw-${U})`},className:"relative flex items-center overflow-hidden border-r border-border px-2",children:[Ct("span",{className:"truncate",children:N.name}),Ct(_U,{index:U,startWidth:C(N.name),scrollerRef:n,onCommit:$=>E(N.name,$),onAutoFit:()=>q(U,N.name)})]},N.name))]}),Ct("div",{style:{height:S,width:"var(--total-w)",position:"relative"},children:v.slice(A,M).map((N,U)=>{let $=A+U;return nn("div",{style:{top:$*or,height:or,width:"var(--total-w)"},className:rr("absolute left-0 flex text-[12px] leading-none",$%2===0?"bg-background":"bg-muted/20"),children:[Ct("button",{type:"button",title:"Open row detail",onClick:()=>z($),style:{width:"var(--gw)"},className:rr("flex shrink-0 items-center justify-center border-r border-border/60","cursor-pointer text-[10px] tabular-nums text-muted-foreground/60","hover:bg-accent hover:text-accent-foreground"),children:$+1}),L.map((_,W)=>{let G=f?.r===$&&f?.c===W;return Ct("div",{"data-selected":G,onClick:O=>{O.stopPropagation(),h({r:$,c:W}),m(null)},onDoubleClick:O=>{O.stopPropagation(),h({r:$,c:W});let F=T>=0&&!BU.has(_.name)&&!FU.has(_.type);m({r:$,c:W,colName:_.name,value:N[W]??"",rect:O.currentTarget.getBoundingClientRect(),cart:t,entity:e,rowId:T>=0?N[T]??"":"",colType:_.type,editable:F})},style:{width:`var(--cw-${W})`},className:rr("flex cursor-pointer items-center overflow-hidden border-r border-border/60 px-2","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[selected=true]:[box-shadow:inset_0_0_0_1px_#60a5fa]"),title:N[W],children:Ct("span",{className:"truncate",children:N[W]})},_.name)})]},$)})})]})}),p?Ct(Bg,{data:p,onClose:()=>m(null)}):null,g<0&&Ct("span",{})]})},Xi=HU;import{useEffect as zU,useState as Ki}from"react";import{useCallback as Rc,useMemo as UU}from"react";function qU(t){let e={},a=new Set,o=new Set;for(let r of t){let n=r.cartridge;if(!n||!r.owns)continue;let s=[];for(let[i,l]of Object.entries(r.owns)){let u=Array.isArray(l?.searchFields)?l.searchFields:[];s.push({name:i,route:`/_ws/bulk/${n}/${i.toLowerCase()}`,searchFields:u})}s.length>0&&(e[n]=s,r.core&&a.add(n),r.installed&&o.add(n))}return{reg:e,core:a,installed:o}}function Ec(){let{apiBaseUrl:t}=tt(),[e,a]=Ki({}),[o,r]=Ki(new Set),[n,s]=Ki(new Set),[i,l]=Ki(!0),[u,d]=Ki(null);zU(()=>{let f=new AbortController,h=!1;return l(!0),d(null),(async()=>{try{let p=await fetch(`${t}/_console/contracts`,{signal:f.signal,credentials:"include",headers:Ma()});if(!p.ok)throw new Error(`HTTP ${p.status}`);let m=await p.json();if(!Array.isArray(m))throw new Error("malformed contracts response");if(h)return;let{reg:g,core:x,installed:y}=qU(m);a(g),r(x),s(y)}catch(p){if(h||p.name==="AbortError")return;d(p instanceof Error?p.message:String(p))}finally{h||l(!1)}})(),()=>{h=!0,f.abort()}},[t]);let c=Object.keys(e).sort();return{registry:e,carts:c,coreCarts:o,installedCarts:n,loading:i,error:u}}async function Tc(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function Og(){let{apiBaseUrl:t}=tt(),e=Rc(async()=>Tc(await fetch(`${t}/_console/integrations/gsheets`,{credentials:"include",headers:Ma()})),[t]),a=Rc(async n=>Tc(await fetch(`${t}/_console/integrations/gsheets`,{method:"POST",credentials:"include",headers:Ma({"content-type":"application/json"}),body:JSON.stringify(n)})),[t]),o=Rc(async n=>Tc(await fetch(`${t}/_console/integrations/gsheets/sync`,{method:"POST",credentials:"include",headers:Ma({"content-type":"application/json"}),body:JSON.stringify({cartridge:n})})),[t]),r=Rc(async n=>Tc(await fetch(`${t}/_console/integrations/gsheets/${encodeURIComponent(n)}`,{method:"DELETE",credentials:"include",headers:Ma()})),[t]);return UU(()=>({list:e,save:a,syncNow:o,remove:r}),[e,a,o,r])}import ke,{useEffect as hs}from"react";import{jsx as GU}from"react/jsx-runtime";var Jk=ke.createContext(null),Qk="nimbit-devtools:v1",WU={info:!0,warn:!0,error:!0,plain:!0};function VU(){if(typeof window>"u")return{};try{let t=window.localStorage.getItem(Qk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}var Ng=({children:t,defaultActiveTab:e})=>{let[a,o]=ke.useState(!1),[r,n]=ke.useState("bottom"),[s,i]=ke.useState(e??null),[l,u]=ke.useState({h:320,w:480}),[d,c]=ke.useState(!1),[f,h]=ke.useState(null),[p,m]=ke.useState(null),[g,x]=ke.useState("table"),[y,w]=ke.useState(null),[C,I]=ke.useState(()=>new Set),[v,L]=ke.useState(()=>new Set),[S,A]=ke.useState(176),[H,M]=ke.useState(440),[R,z]=ke.useState(WU),[k,T]=ke.useState(!1),[D,E]=ke.useState(null),[q,B]=ke.useState(null),[P,N]=ke.useState(200),[U,$]=ke.useState("general"),[_,W]=ke.useState("default"),[G,O]=ke.useState(12),[F,V]=ke.useState(!1),[ie,le]=ke.useState(2),[J,ne]=ke.useState("system"),[ue,ve]=ke.useState(!1),{apiBaseUrl:Re}=tt(),[ct,ga]=ke.useState(!1),wt=ke.useCallback(()=>o(ee=>!ee),[]);hs(()=>{let ee=VU();ee.open!=null&&o(ee.open),ee.dock!=null&&n(ee.dock),ee.activeTab!=null&&i(ee.activeTab),ee.size!=null&&u(ee.size),ee.maximized!=null&&c(ee.maximized),ee.dataCart!=null&&h(ee.dataCart),ee.dataEntity!=null&&m(ee.dataEntity),ee.view!=null&&x(ee.view),ee.graphCarts!=null&&w(new Set(ee.graphCarts)),ee.revealedCarts!=null&&I(new Set(ee.revealedCarts)),ee.hiddenEntities!=null&&L(new Set(ee.hiddenEntities)),ee.graphLeftW!=null&&A(ee.graphLeftW),ee.graphRightW!=null&&M(ee.graphRightW),ee.consoleFilter!=null&&z(ee.consoleFilter),ee.consolePaused!=null&&T(ee.consolePaused),ee.sourcesCart!=null&&E(ee.sourcesCart),ee.sourcesFile!=null&&B(ee.sourcesFile),ee.sourcesTreeW!=null&&N(ee.sourcesTreeW),ee.settingsCategory!=null&&$(ee.settingsCategory),ee.editorTheme!=null&&W(ee.editorTheme),ee.editorFontSize!=null&&O(ee.editorFontSize),ee.editorLineWrap!=null&&V(ee.editorLineWrap),ee.editorTabSize!=null&&le(ee.editorTabSize),ee.devtoolsFont!=null&&ne(ee.devtoolsFont),ve(!0)},[]),hs(()=>{if(!ue)return;let ee=!1;return(async()=>{let Ue=await sm(Re);ee||(typeof Ue.editorTheme=="string"&&W(Ue.editorTheme),typeof Ue.editorFontSize=="number"&&O(Ue.editorFontSize),typeof Ue.editorLineWrap=="boolean"&&V(Ue.editorLineWrap),typeof Ue.editorTabSize=="number"&&le(Ue.editorTabSize),typeof Ue.devtoolsFont=="string"&&ne(Ue.devtoolsFont),Array.isArray(Ue.revealedCarts)&&I(new Set(Ue.revealedCarts)),ga(!0))})(),()=>{ee=!0}},[ue,Re]),hs(()=>{if(!ct)return;let ee={editorTheme:_,editorFontSize:G,editorLineWrap:F,editorTabSize:ie,devtoolsFont:J,revealedCarts:[...C]},Ue=setTimeout(()=>{im(Re,ee)},600);return()=>clearTimeout(Ue)},[ct,Re,_,G,F,ie,J,C]),hs(()=>{if(typeof window>"u"||!ue)return;let ee={open:a,dock:r,activeTab:s,size:l,maximized:d,dataCart:f,dataEntity:p,view:g,graphCarts:y?[...y]:null,revealedCarts:[...C],hiddenEntities:[...v],graphLeftW:S,graphRightW:H,consoleFilter:R,consolePaused:k,sourcesCart:D,sourcesFile:q,sourcesTreeW:P,settingsCategory:U,editorTheme:_,editorFontSize:G,editorLineWrap:F,editorTabSize:ie,devtoolsFont:J};try{window.localStorage.setItem(Qk,JSON.stringify(ee))}catch{}},[ue,a,r,s,l,d,f,p,g,y,C,v,S,H,R,k,D,q,P,U,_,G,F,ie,J]);let ea=ke.useMemo(()=>({open:a,setOpen:o,toggle:wt,dock:r,setDock:n,activeTab:s,setActiveTab:i,size:l,setSize:u,maximized:d,setMaximized:c,dataCart:f,setDataCart:h,dataEntity:p,setDataEntity:m,view:g,setView:x,graphCarts:y,setGraphCarts:w,revealedCarts:C,setRevealedCarts:I,hiddenEntities:v,setHiddenEntities:L,graphLeftW:S,setGraphLeftW:A,graphRightW:H,setGraphRightW:M,consoleFilter:R,setConsoleFilter:z,consolePaused:k,setConsolePaused:T,sourcesCart:D,setSourcesCart:E,sourcesFile:q,setSourcesFile:B,sourcesTreeW:P,setSourcesTreeW:N,settingsCategory:U,setSettingsCategory:$,editorTheme:_,setEditorTheme:W,editorFontSize:G,setEditorFontSize:O,editorLineWrap:F,setEditorLineWrap:V,editorTabSize:ie,setEditorTabSize:le,devtoolsFont:J,setDevtoolsFont:ne}),[a,wt,r,s,l,d,f,p,g,y,C,v,S,H,R,k,D,q,P,U,_,G,F,ie,J]);return hs(()=>{let ee=it=>{let so=it.ctrlKey&&(it.key==="F12"||it.code==="F12"),Gt=(it.ctrlKey||it.metaKey)&&it.shiftKey&&(it.code==="KeyD"||it.key==="D"||it.key==="d");(so||Gt)&&(it.preventDefault(),wt())},Ue=()=>wt();return window.addEventListener("keydown",ee),window.addEventListener("devtools-toggle",Ue),()=>{window.removeEventListener("keydown",ee),window.removeEventListener("devtools-toggle",Ue)}},[wt]),hs(()=>{window.dispatchEvent(new CustomEvent("devtools-state",{detail:{open:a}}))},[a]),GU(Jk.Provider,{value:ea,children:t})};function Jt(){let t=ke.useContext(Jk);if(!t)throw new Error("useDevTools must be used inside <DevToolsProvider>");return t}import hr from"react";import{forwardRef as ZU,createElement as YU}from"react";var Bc=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var e1=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var t1=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var _g=t=>{let e=t1(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as jU,createElement as r1}from"react";var Fc={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var a1=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as $U,useContext as XU,useMemo as uY,createElement as dY}from"react";var KU=$U({});var o1=()=>XU(KU);var n1=jU(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:c=!1,color:f="currentColor",className:h=""}=o1()??{},p=o??c?Number(a??d)*24/Number(e??u):a??d;return r1("svg",{ref:l,...Fc,width:e??u??Fc.width,height:e??u??Fc.height,stroke:t??f,strokeWidth:p,className:Bc("lucide",h,r),...!n&&!a1(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>r1(m,g)),...Array.isArray(n)?n:[n]])});var ce=(t,e)=>{let a=ZU(({className:o,...r},n)=>YU(n1,{ref:n,iconNode:e,className:Bc(`lucide-${e1(_g(t))}`,`lucide-${t}`,o),...r}));return a.displayName=_g(t),a};var JU=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ji=ce("chevron-right",JU);var QU=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],nr=ce("circle-alert",QU);var e5=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ko=ce("circle-check",e5);var t5=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],sr=ce("ellipsis",t5);var a5=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],ir=ce("file-plus-corner",a5);var o5=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],qt=ce("loader-circle",o5);var r5=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Zi=ce("lock",r5);var n5=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Yi=ce("maximize-2",n5);var s5=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Ji=ce("minimize-2",s5);var i5=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],Qi=ce("network",i5);var l5=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]],el=ce("panel-bottom",l5);var u5=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],tl=ce("panel-right",u5);var d5=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],al=ce("pause",d5);var c5=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],sn=ce("play",c5);var f5=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ol=ce("plus",f5);var h5=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],rl=ce("refresh-cw",h5);var p5=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],nl=ce("save",p5);var m5=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],sl=ce("shield-alert",m5);var g5=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]],il=ce("table-2",g5);var x5=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ln=ce("trash-2",x5);var b5=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ao=ce("x",b5);function s1(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=s1(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Oc(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=s1(t))&&(o&&(o+=" "),o+=e);return o}var w5=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},y5=(t,e)=>({classGroupId:t,validator:e}),f1=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var i1=[],L5="arbitrary..",C5=t=>{let e=S5(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return v5(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return h1(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?w5(u,l):l:u||i1}return a[s]||i1}}},h1=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=h1(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},v5=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?L5+o:void 0})(),S5=t=>{let{theme:e,classGroups:a}=t;return I5(a,e)},I5=(t,e)=>{let a=f1();for(let o in t){let r=t[o];zg(r,a,o,e)}return a},zg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];k5(s,e,a,o)}},k5=(t,e,a,o)=>{if(typeof t=="string"){A5(t,e,a);return}if(typeof t=="function"){M5(t,e,a,o);return}P5(t,e,a,o)},A5=(t,e,a)=>{let o=t===""?e:p1(e,t);o.classGroupId=a},M5=(t,e,a,o)=>{if(D5(t)){zg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(y5(a,t))},P5=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];zg(l,p1(e,i),a,o)}},p1=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=f1(),a.nextPart.set(s,i)),a=i}return a},D5=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,R5=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var T5=[],l1=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),E5=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let c=n.length===0?r:r.slice(l),f=c,h=!1;c.endsWith("!")?(f=c.slice(0,-1),h=!0):c.startsWith("!")&&(f=c.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return l1(n,h,f,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):l1(T5,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},B5=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},F5=t=>({cache:R5(t.cacheSize),parseClassName:E5(t),sortModifiers:B5(t),postfixLookupClassGroupIds:O5(t),...C5(t)}),O5=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},N5=/\s+/,_5=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(N5),u="";for(let d=l.length-1;d>=0;d-=1){let c=l[d],{isExternal:f,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(c);if(f){u=c+(u.length>0?" "+u:u);continue}let x=!!g,y;if(x){let L=m.substring(0,g);y=o(L);let S=y&&s[y]?o(m):void 0;S&&S!==y&&(y=S,x=!1)}else y=o(m);if(!y){if(!x){u=c+(u.length>0?" "+u:u);continue}if(y=o(m),!y){u=c+(u.length>0?" "+u:u);continue}x=!1}let w=h.length===0?"":h.length===1?h[0]:n(h).join(":"),C=p?w+"!":w,I=C+y;if(i.indexOf(I)>-1)continue;i.push(I);let v=r(y,x);for(let L=0;L<v.length;++L){let S=v[L];i.push(C+S)}u=c+(u.length>0?" "+u:u)}return u},H5=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=m1(a))&&(r&&(r+=" "),r+=o);return r},m1=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=m1(t[o]))&&(a&&(a+=" "),a+=e);return a},z5=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,c)=>c(d),t());return a=F5(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=_5(l,a);return r(l,d),d};return n=s,(...l)=>n(H5(...l))},q5=[],st=t=>{let e=a=>a[t]||q5;return e.isThemeGetter=!0,e},g1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,x1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,U5=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,W5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,G5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,$5=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,X5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,lr=t=>U5.test(t),ge=t=>!!t&&!Number.isNaN(Number(t)),to=t=>!!t&&Number.isInteger(Number(t)),Hg=t=>t.endsWith("%")&&ge(t.slice(0,-1)),Mo=t=>W5.test(t),b1=()=>!0,K5=t=>V5.test(t)&&!G5.test(t),qg=()=>!1,j5=t=>$5.test(t),Z5=t=>X5.test(t),Y5=t=>!ae(t)&&!re(t),J5=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),Q5=t=>ur(t,L1,qg),ae=t=>g1.test(t),un=t=>ur(t,C1,K5),u1=t=>ur(t,iW,ge),eW=t=>ur(t,S1,b1),tW=t=>ur(t,v1,qg),d1=t=>ur(t,w1,qg),aW=t=>ur(t,y1,Z5),Nc=t=>ur(t,I1,j5),re=t=>x1.test(t),ll=t=>dn(t,C1),oW=t=>dn(t,v1),c1=t=>dn(t,w1),rW=t=>dn(t,L1),nW=t=>dn(t,y1),_c=t=>dn(t,I1,!0),sW=t=>dn(t,S1,!0),ur=(t,e,a)=>{let o=g1.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},dn=(t,e,a=!1)=>{let o=x1.exec(t);return o?o[1]?e(o[1]):a:!1},w1=t=>t==="position"||t==="percentage",y1=t=>t==="image"||t==="url",L1=t=>t==="length"||t==="size"||t==="bg-size",C1=t=>t==="length",iW=t=>t==="number",v1=t=>t==="family-name",S1=t=>t==="number"||t==="weight",I1=t=>t==="shadow";var lW=()=>{let t=st("color"),e=st("font"),a=st("text"),o=st("font-weight"),r=st("tracking"),n=st("leading"),s=st("breakpoint"),i=st("container"),l=st("spacing"),u=st("radius"),d=st("shadow"),c=st("inset-shadow"),f=st("text-shadow"),h=st("drop-shadow"),p=st("blur"),m=st("perspective"),g=st("aspect"),x=st("ease"),y=st("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...C(),re,ae],v=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto","contain","none"],S=()=>[re,ae,l],A=()=>[lr,"full","auto",...S()],H=()=>[to,"none","subgrid",re,ae],M=()=>["auto",{span:["full",to,re,ae]},to,re,ae],R=()=>[to,"auto",re,ae],z=()=>["auto","min","max","fr",re,ae],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...S()],E=()=>[lr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],q=()=>[lr,"screen","full","dvw","lvw","svw","min","max","fit",...S()],B=()=>[lr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],P=()=>[t,re,ae],N=()=>[...C(),c1,d1,{position:[re,ae]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",rW,Q5,{size:[re,ae]}],_=()=>[Hg,ll,un],W=()=>["","none","full",u,re,ae],G=()=>["",ge,ll,un],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[ge,Hg,c1,d1],ie=()=>["","none",p,re,ae],le=()=>["none",ge,re,ae],J=()=>["none",ge,re,ae],ne=()=>[ge,re,ae],ue=()=>[lr,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Mo],breakpoint:[Mo],color:[b1],container:[Mo],"drop-shadow":[Mo],ease:["in","out","in-out"],font:[Y5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Mo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Mo],shadow:[Mo],spacing:["px",ge],text:[Mo],"text-shadow":[Mo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",lr,ae,re,g]}],container:["container"],"container-type":[{"@container":["","normal","size",re,ae]}],"container-named":[J5],columns:[{columns:[ge,ae,re,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[to,"auto",re,ae]}],basis:[{basis:[lr,"full","auto",i,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ge,lr,"auto","initial","none",ae]}],grow:[{grow:["",ge,re,ae]}],shrink:[{shrink:["",ge,re,ae]}],order:[{order:[to,"first","last","none",re,ae]}],"grid-cols":[{"grid-cols":H()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":H()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":z()}],"auto-rows":[{"auto-rows":z()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",a,ll,un]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,sW,eW]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hg,ae]}],"font-family":[{font:[oW,tW,e]}],"font-features":[{"font-features":[ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,re,ae]}],"line-clamp":[{"line-clamp":[ge,"none",re,u1]}],leading:[{leading:[n,...S()]}],"list-image":[{"list-image":["none",re,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",re,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[ge,"from-font","auto",re,un]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[ge,"auto",re,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[to,re,ae]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",re,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",re,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},to,re,ae],radial:["",re,ae],conic:[to,re,ae]},nW,aW]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ge,re,ae]}],"outline-w":[{outline:["",ge,ll,un]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",d,_c,Nc]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",c,_c,Nc]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[ge,un]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",f,_c,Nc]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[ge,re,ae]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[re,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",re,ae]}],filter:[{filter:["","none",re,ae]}],blur:[{blur:ie()}],brightness:[{brightness:[ge,re,ae]}],contrast:[{contrast:[ge,re,ae]}],"drop-shadow":[{"drop-shadow":["","none",h,_c,Nc]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",ge,re,ae]}],"hue-rotate":[{"hue-rotate":[ge,re,ae]}],invert:[{invert:["",ge,re,ae]}],saturate:[{saturate:[ge,re,ae]}],sepia:[{sepia:["",ge,re,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",re,ae]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[ge,re,ae]}],"backdrop-contrast":[{"backdrop-contrast":[ge,re,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ge,re,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ge,re,ae]}],"backdrop-invert":[{"backdrop-invert":["",ge,re,ae]}],"backdrop-opacity":[{"backdrop-opacity":[ge,re,ae]}],"backdrop-saturate":[{"backdrop-saturate":[ge,re,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ge,re,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",re,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ge,"initial",re,ae]}],ease:[{ease:["linear","initial",x,re,ae]}],delay:[{delay:[ge,re,ae]}],animate:[{animate:["none",y,re,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,re,ae]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[re,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[to,re,ae]}],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",re,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",re,ae]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[ge,ll,un,u1]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var k1=z5(lW);function fe(...t){return k1(Oc(t))}var Hc=[{id:"system",label:"System UI",stack:"ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"},{id:"sans",label:"Sans-serif",stack:"Inter, Helvetica, Arial, sans-serif"},{id:"serif",label:"Serif",stack:"ui-serif, Georgia, Cambria, Times New Roman, serif"},{id:"mono",label:"Monospace",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"}],uW=new Map(Hc.map(t=>[t.id,t.stack]));function A1(t){return uW.get(t)??Hc[0].stack}import Po from"react";import{Fragment as hW,jsx as Tt,jsxs as ul}from"react/jsx-runtime";var dW=({children:t})=>{let{apiBaseUrl:e}=tt(),[a,o]=Po.useState(null),[r,n]=Po.useState(!0),s=Po.useCallback(async i=>{n(!0);try{let l=await nm(e,i);o(l)}catch{i?.aborted||o(null)}finally{i?.aborted||n(!1)}},[e]);return Po.useEffect(()=>{let i=new AbortController;return s(i.signal),()=>i.abort()},[s]),r&&!a?ul(cW,{children:[Tt(qt,{className:"size-4 animate-spin"}),Tt("span",{children:"Checking access\u2026"})]}):a?.isAdmin?Tt(hW,{children:t}):Tt(fW,{mode:a&&!a.claimed?"signup":"signin",onDone:()=>s(),loggedInButNotAdmin:!!a?.authenticated})},cW=({children:t})=>Tt("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-muted-foreground",children:t}),fW=({mode:t,onDone:e,loggedInButNotAdmin:a})=>{let{apiBaseUrl:o}=tt(),[r,n]=Po.useState(""),[s,i]=Po.useState(""),[l,u]=Po.useState(""),[d,c]=Po.useState(!1),[f,h]=Po.useState(null),p=t==="signup";return Tt("div",{className:"flex h-full items-center justify-center p-4",children:ul("form",{onSubmit:async g=>{g.preventDefault(),c(!0),h(null);try{p?await um(o,r,s,l):await lm(o,s,l),e()}catch(x){h(x instanceof Error?x.message:String(x))}finally{c(!1)}},className:"w-full max-w-64 space-y-2.5",children:[ul("div",{className:"space-y-0.5",children:[Tt("div",{className:"text-[13px] font-medium text-foreground",children:p?"Claim this instance":"Sign in to devtools"}),Tt("div",{className:"text-[11px] text-muted-foreground",children:p?"No users yet \u2014 create the first account (becomes console admin).":"Console-operator access required."})]}),a?ul("div",{className:"flex items-start gap-1.5 rounded-md border border-yellow-400/30 bg-yellow-500/10 px-2 py-1.5 text-[11px] text-yellow-300",children:[Tt(sl,{className:"mt-px size-3.5 shrink-0"}),Tt("span",{children:"This account isn't a console operator. Sign in with an admin account."})]}):null,p?Tt("input",{type:"text",required:!0,autoComplete:"name",placeholder:"Name",value:r,onChange:g=>n(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}):null,Tt("input",{type:"email",required:!0,autoComplete:"username",placeholder:"Email",value:s,onChange:g=>i(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),Tt("input",{type:"password",required:!0,minLength:8,autoComplete:p?"new-password":"current-password",placeholder:p?"Password (min 8)":"Password",value:l,onChange:g=>u(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),f?Tt("div",{className:"text-[11px] text-red-400",children:f}):null,ul("button",{type:"submit",disabled:d,className:fe("flex h-7 w-full items-center justify-center gap-1.5 rounded-md bg-foreground text-[12px] font-medium text-background outline-none transition-opacity",d?"opacity-60":"hover:opacity-90"),children:[d?Tt(qt,{className:"size-3.5 animate-spin"}):null,p?"Create admin account":"Sign in"]})]})})},M1=dW;import Ut from"react";import{jsx as Ee,jsxs as ps}from"react/jsx-runtime";var P1=5e3,D1=500,pW=5e3;function mW(t,e){return`${_r(t)}${e}`}function gW(t){if(t.parsed)try{let e=JSON.parse(t.raw),a=e.level==="info"||e.level==="warn"||e.level==="error"?e.level:"plain";return{id:T1(),raw:t.raw,level:a,parsed:e}}catch{}return{id:T1(),raw:t.raw,level:"plain",parsed:null}}var R1=0;function T1(){return R1+=1,R1}var B1={info:"bg-blue-500/20 text-blue-300 border-blue-400/30",warn:"bg-yellow-500/20 text-yellow-300 border-yellow-400/30",error:"bg-red-500/20 text-red-300 border-red-400/30",plain:"bg-zinc-700/40 text-zinc-300 border-zinc-500/30"},xW=()=>{let{apiBaseUrl:t}=tt(),{consoleFilter:e,setConsoleFilter:a,consolePaused:o,setConsolePaused:r}=Jt(),[n,s]=Ut.useState([]),[i,l]=Ut.useState({}),u=Ut.useRef(null),d=Ut.useRef(!0),c=Ut.useRef(o);c.current=o,Ut.useEffect(()=>{let x=!0,y=null,w=D1,C=null,I=()=>{if(x){try{y=new WebSocket(mW(t,"/_console/logs/ws"),dm("nimbit-logs"))}catch{v();return}y.onopen=()=>{w=D1},y.onmessage=L=>{if(c.current||typeof L.data!="string")return;let S;try{S=JSON.parse(L.data)}catch{return}if(!S.lines||S.lines.length===0)return;let A=S.lines.map(gW);s(H=>{let M=H.concat(A);return M.length>P1?M.slice(M.length-P1):M})},y.onerror=()=>{},y.onclose=()=>{y=null,v()}}},v=()=>{x&&(C=setTimeout(()=>{w=Math.min(w*2,pW),I()},w))};return I(),()=>{x=!1,C&&clearTimeout(C),y&&y.close()}},[t]);let f=Ut.useCallback(()=>{let x=u.current;if(!x)return;let y=x.scrollHeight-(x.scrollTop+x.clientHeight)<8;d.current=y},[]),h=Ut.useRef(0);Ut.useEffect(()=>{d.current&&(h.current||(h.current=requestAnimationFrame(()=>{h.current=0;let x=u.current;x&&(x.scrollTop=x.scrollHeight)})))},[n]),Ut.useEffect(()=>()=>{h.current&&cancelAnimationFrame(h.current)},[]);let p=Ut.useMemo(()=>n.filter(x=>e[x.level]),[n,e]),m=Ut.useCallback(x=>a(y=>({...y,[x]:!y[x]})),[]),g=Ut.useCallback(x=>{let y=x.target;for(;y&&y!==x.currentTarget;){let w=y.dataset.rowId;if(w){let C=Number(w);Number.isFinite(C)&&l(I=>({...I,[C]:!I[C]}));return}y=y.parentElement}},[]);return ps("div",{className:"flex h-full flex-col",children:[ps("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-background px-1.5 select-none",children:[Ee(E1,{"aria-label":o?"Resume":"Pause",onClick:()=>r(x=>!x),children:o?Ee(sn,{className:"size-3.5"}):Ee(al,{className:"size-3.5"})}),Ee(E1,{"aria-label":"Clear",onClick:()=>{s([]),l({})},children:Ee(ln,{className:"size-3.5"})}),Ee("div",{className:"mx-1 h-3 w-px bg-border/60"}),["info","warn","error","plain"].map(x=>Ee(bW,{label:x,active:e[x],level:x,onClick:()=>m(x)},x)),Ee("div",{className:"flex-1"}),ps("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[p.length," / ",n.length]})]}),Ee("div",{ref:u,onScroll:f,style:{overflowAnchor:"none"},className:"min-h-0 flex-1 overflow-auto font-mono text-[11px] leading-[1.45]",children:p.length===0?Ee("div",{className:"p-3 text-muted-foreground",children:"Waiting for console output\u2026"}):Ee("ul",{onClick:g,children:p.map(x=>Ee(yW,{entry:x,expanded:!!i[x.id]},x.id))})})]})},E1=({className:t,children:e,...a})=>Ee("button",{type:"button",className:fe("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",t),...a,children:e}),bW=({label:t,level:e,active:a,onClick:o})=>Ee("button",{type:"button",onClick:o,"data-active":a,className:fe("h-5 rounded-md border px-1.5 text-[11px] leading-none transition-colors","data-[active=false]:opacity-40 data-[active=false]:hover:opacity-70",B1[e]),children:t}),wW=({entry:t,expanded:e})=>{if(t.level==="plain"||!t.parsed)return Ee("li",{className:"border-b border-border/30 px-2 py-0.5 text-zinc-400 whitespace-pre-wrap break-words",style:{contain:"content"},children:t.raw});let a=t.parsed,o=Array.isArray(a.stack)&&a.stack.length>0;return ps("li",{className:"border-b border-border/30",style:{contain:"content"},"data-row-id":o?t.id:void 0,children:[ps("div",{className:fe("flex items-start gap-1.5 px-2 py-0.5",o&&"cursor-pointer hover:bg-accent/30"),children:[o?Ee(ji,{className:fe("mt-0.5 size-3 shrink-0 transition-transform",e&&"rotate-90")}):Ee("span",{className:"inline-block size-3 shrink-0"}),Ee("span",{className:fe("shrink-0 rounded border px-1 text-[10px] font-medium uppercase tracking-wide",B1[t.level]),children:t.level}),a.ts&&Ee("span",{className:"shrink-0 text-zinc-500 tabular-nums",children:a.ts}),Ee("span",{className:"break-words text-zinc-200",children:a.msg??t.raw})]}),o&&e&&Ee("ul",{className:"border-t border-border/20 bg-accent/10 px-7 py-1",children:a.stack.map((r,n)=>ps("li",{className:"text-zinc-400 whitespace-pre-wrap break-words",children:[Ee("span",{className:"text-zinc-300",children:r.proc||"<anon>"}),Ee("span",{className:"text-zinc-500",children:" @ "}),Ee("span",{children:r.file}),Ee("span",{className:"text-zinc-500",children:":"}),Ee("span",{className:"tabular-nums text-zinc-300",children:r.line})]},n))})]})},yW=Ut.memo(wW,(t,e)=>t.entry===e.entry&&t.expanded===e.expanded),F1=xW;import{jsx as CW}from"react/jsx-runtime";var LW=()=>CW("div",{className:"p-3 text-muted-foreground",children:"Network placeholder"}),O1=LW;import Na from"react";import*as KA from"react";import*as U1 from"react";import*as W1 from"react-dom";var qc={};Ex(qc,{Root:()=>SW,Slot:()=>SW,Slottable:()=>IW,createSlot:()=>ms,createSlottable:()=>q1});import*as bt from"react";import*as _1 from"react";function N1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function vW(...t){return e=>{let a=!1,o=t.map(r=>{let n=N1(r,e);return!a&&typeof n=="function"&&(a=!0),n});if(a)return()=>{for(let r=0;r<o.length;r++){let n=o[r];typeof n=="function"?n():N1(t[r],null)}}}}function Fa(...t){return _1.useCallback(vW(...t),t)}function ms(t){let e=bt.forwardRef((a,o)=>{let{children:r,...n}=a,s=null,i=!1,l=[];H1(r)&&typeof zc=="function"&&(r=zc(r._payload)),bt.Children.forEach(r,f=>{if(PW(f)){i=!0;let h=f,p="child"in h.props?h.props.child:h.props.children;H1(p)&&typeof zc=="function"&&(p=zc(p._payload)),s=kW(h,p),l.push(s?.props?.children)}else l.push(f)}),s?s=bt.cloneElement(s,void 0,l):!i&&bt.Children.count(r)===1&&bt.isValidElement(r)&&(s=r);let u=s?MW(s):void 0,d=Fa(o,u);if(!s){if(r||r===0)throw new Error(i?EW(t):TW(t));return r}let c=AW(n,s.props??{});return s.type!==bt.Fragment&&(c.ref=o?d:u),bt.cloneElement(s,c)});return e.displayName=`${t}.Slot`,e}var SW=ms("Slot"),z1=Symbol.for("radix.slottable");function q1(t){let e=a=>"child"in a?a.children(a.child):a.children;return e.displayName=`${t}.Slottable`,e.__radixId=z1,e}var IW=q1("Slottable"),kW=(t,e)=>{if("child"in t.props){let a=t.props.child;return bt.isValidElement(a)?bt.cloneElement(a,void 0,t.props.children(a.props.children)):null}return bt.isValidElement(e)?e:null};function AW(t,e){let a={...e};for(let o in e){let r=t[o],n=e[o];/^on[A-Z]/.test(o)?r&&n?a[o]=(...i)=>{let l=n(...i);return r(...i),l}:r&&(a[o]=r):o==="style"?a[o]={...r,...n}:o==="className"&&(a[o]=[r,n].filter(Boolean).join(" "))}return{...t,...a}}function MW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}function PW(t){return bt.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===z1}var DW=Symbol.for("react.lazy");function H1(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===DW&&"_payload"in t&&RW(t._payload)}function RW(t){return typeof t=="object"&&t!==null&&"then"in t}var TW=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,EW=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,zc=bt[" use ".trim().toString()];import{jsx as BW}from"react/jsx-runtime";var FW=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Qt=FW.reduce((t,e)=>{let a=ms(`Primitive.${e}`),o=U1.forwardRef((r,n)=>{let{asChild:s,...i}=r,l=s?a:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),BW(l,{...i,ref:n})});return o.displayName=`Primitive.${e}`,{...t,[e]:o}},{});function V1(t,e){t&&W1.flushSync(()=>t.dispatchEvent(e))}import*as ha from"react";import{jsx as G1}from"react/jsx-runtime";function $1(t,e){let a=ha.createContext(e);a.displayName=t+"Context";let o=n=>{let{children:s,...i}=n,l=ha.useMemo(()=>i,Object.values(i));return G1(a.Provider,{value:l,children:s})};o.displayName=t+"Provider";function r(n){let s=ha.useContext(a);if(s)return s;if(e!==void 0)return e;throw new Error(`\`${n}\` must be used within \`${t}\``)}return[o,r]}function X1(t,e=[]){let a=[];function o(n,s){let i=ha.createContext(s);i.displayName=n+"Context";let l=a.length;a=[...a,s];let u=c=>{let{scope:f,children:h,...p}=c,m=f?.[t]?.[l]||i,g=ha.useMemo(()=>p,Object.values(p));return G1(m.Provider,{value:g,children:h})};u.displayName=n+"Provider";function d(c,f){let h=f?.[t]?.[l]||i,p=ha.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${c}\` must be used within \`${n}\``)}return[u,d]}let r=()=>{let n=a.map(s=>ha.createContext(s));return function(i){let l=i?.[t]||n;return ha.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[o,OW(r,...e)]}function OW(...t){let e=t[0];if(t.length===1)return e;let a=()=>{let o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(n){let s=o.reduce((i,{useScope:l,scopeName:u})=>{let c=l(n)[`__scope${u}`];return{...i,...c}},{});return ha.useMemo(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return a.scopeName=e.scopeName,a}var cQ=!!(typeof window<"u"&&window.document&&window.document.createElement);function ao(t,e,{checkForDefaultPrevented:a=!0}={}){return function(r){if(t?.(r),a===!1||!r.defaultPrevented)return e?.(r)}}import*as pa from"react";import*as K1 from"react";var Do=globalThis?.document?K1.useLayoutEffect:()=>{};import*as Uc from"react";var NW=pa[" useInsertionEffect ".trim().toString()]||Do;function j1({prop:t,defaultProp:e,onChange:a=()=>{},caller:o}){let[r,n,s]=_W({defaultProp:e,onChange:a}),i=t!==void 0,l=i?t:r;{let d=pa.useRef(t!==void 0);pa.useEffect(()=>{let c=d.current;c!==i&&console.warn(`${o} is changing from ${c?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}let u=pa.useCallback(d=>{if(i){let c=HW(d)?d(t):d;c!==t&&s.current?.(c)}else n(d)},[i,t,n,s]);return[l,u]}function _W({defaultProp:t,onChange:e}){let[a,o]=pa.useState(t),r=pa.useRef(a),n=pa.useRef(e);return NW(()=>{n.current=e},[e]),pa.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,o,n]}function HW(t){return typeof t=="function"}import*as vt from"react";import*as Y1 from"react";function zW(t,e){return Y1.useReducer((a,o)=>e[a][o]??a,t)}var dl=t=>{let{present:e,children:a}=t,o=qW(e),r=typeof a=="function"?a({present:o.isPresent}):vt.Children.only(a),n=UW(o.ref,WW(r));return typeof a=="function"||o.isPresent?vt.cloneElement(r,{ref:n}):null};dl.displayName="Presence";function qW(t){let[e,a]=vt.useState(),o=vt.useRef(null),r=vt.useRef(t),n=vt.useRef("none"),s=t?"mounted":"unmounted",[i,l]=zW(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return vt.useEffect(()=>{let u=Wc(o.current);n.current=i==="mounted"?u:"none"},[i]),Do(()=>{let u=o.current,d=r.current;if(d!==t){let f=n.current,h=Wc(u);t?l("MOUNT"):h==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&f!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),Do(()=>{if(e){let u,d=e.ownerDocument.defaultView??window,c=h=>{let m=Wc(o.current).includes(CSS.escape(h.animationName));if(h.target===e&&m&&(l("ANIMATION_END"),!r.current)){let g=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=g)})}},f=h=>{h.target===e&&(n.current=Wc(o.current))};return e.addEventListener("animationstart",f),e.addEventListener("animationcancel",c),e.addEventListener("animationend",c),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",f),e.removeEventListener("animationcancel",c),e.removeEventListener("animationend",c)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:vt.useCallback(u=>{o.current=u?getComputedStyle(u):null,a(u)},[])}}function Z1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function UW(...t){let e=vt.useRef(t);return e.current=t,vt.useCallback(a=>{let o=e.current,r=!1,n=o.map(s=>{let i=Z1(s,a);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<n.length;s++){let i=n[s];typeof i=="function"?i():Z1(o[s],null)}}},[])}function Wc(t){return t?.animationName||"none"}function WW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}import*as Ug from"react";var VW=Ug[" useId ".trim().toString()]||(()=>{}),GW=0;function Vc(t){let[e,a]=Ug.useState(VW());return Do(()=>{t||a(o=>o??String(GW++))},[t]),t||(e?`radix-${e}`:"")}var oo={};Ex(oo,{Close:()=>JV,Content:()=>jV,Description:()=>YV,Dialog:()=>dx,DialogClose:()=>wx,DialogContent:()=>mx,DialogDescription:()=>bx,DialogOverlay:()=>px,DialogPortal:()=>hx,DialogTitle:()=>xx,DialogTrigger:()=>cx,Overlay:()=>KV,Portal:()=>XV,Root:()=>GV,Title:()=>ZV,Trigger:()=>$V,WarningProvider:()=>qV,createDialogScope:()=>BV});import*as Be from"react";import*as We from"react";import*as gs from"react";function dr(t){let e=gs.useRef(t);return gs.useEffect(()=>{e.current=t}),gs.useMemo(()=>((...a)=>e.current?.(...a)),[])}import*as J1 from"react";function Q1(t,e=globalThis?.document){let a=dr(t);J1.useEffect(()=>{let o=r=>{r.key==="Escape"&&a(r)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[a,e])}import{jsx as aA}from"react/jsx-runtime";var $W="DismissableLayer",Wg="dismissableLayer.update",XW="dismissableLayer.pointerDownOutside",KW="dismissableLayer.focusOutside",eA,oA=We.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Vg=We.forwardRef((t,e)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:s,onDismiss:i,...l}=t,u=We.useContext(oA),[d,c]=We.useState(null),f=d?.ownerDocument??globalThis?.document,[,h]=We.useState({}),p=Fa(e,L=>c(L)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),x=m.indexOf(g),y=d?m.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,C=y>=x,I=YW(L=>{let S=L.target,A=[...u.branches].some(H=>H.contains(S));!C||A||(r?.(L),s?.(L),L.defaultPrevented||i?.())},f),v=JW(L=>{let S=L.target;[...u.branches].some(H=>H.contains(S))||(n?.(L),s?.(L),L.defaultPrevented||i?.())},f);return Q1(L=>{y===u.layers.size-1&&(o?.(L),!L.defaultPrevented&&i&&(L.preventDefault(),i()))},f),We.useEffect(()=>{if(d)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(eA=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),tA(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(f.body.style.pointerEvents=eA))}},[d,f,a,u]),We.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),tA())},[d,u]),We.useEffect(()=>{let L=()=>h({});return document.addEventListener(Wg,L),()=>document.removeEventListener(Wg,L)},[]),aA(Qt.div,{...l,ref:p,style:{pointerEvents:w?C?"auto":"none":void 0,...t.style},onFocusCapture:ao(t.onFocusCapture,v.onFocusCapture),onBlurCapture:ao(t.onBlurCapture,v.onBlurCapture),onPointerDownCapture:ao(t.onPointerDownCapture,I.onPointerDownCapture)})});Vg.displayName=$W;var jW="DismissableLayerBranch",ZW=We.forwardRef((t,e)=>{let a=We.useContext(oA),o=We.useRef(null),r=Fa(e,o);return We.useEffect(()=>{let n=o.current;if(n)return a.branches.add(n),()=>{a.branches.delete(n)}},[a.branches]),aA(Qt.div,{...t,ref:r})});ZW.displayName=jW;function YW(t,e=globalThis?.document){let a=dr(t),o=We.useRef(!1),r=We.useRef(()=>{});return We.useEffect(()=>{let n=i=>{if(i.target&&!o.current){let u=function(){rA(XW,a,d,{discrete:!0})};var l=u;let d={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{e.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(s),e.removeEventListener("pointerdown",n),e.removeEventListener("click",r.current)}},[e,a]),{onPointerDownCapture:()=>o.current=!0}}function JW(t,e=globalThis?.document){let a=dr(t),o=We.useRef(!1);return We.useEffect(()=>{let r=n=>{n.target&&!o.current&&rA(KW,a,{originalEvent:n},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function tA(){let t=new CustomEvent(Wg);document.dispatchEvent(t)}function rA(t,e,a,{discrete:o}){let r=a.originalEvent.target,n=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:a});e&&r.addEventListener(t,e,{once:!0}),o?V1(r,n):r.dispatchEvent(n)}import*as ma from"react";import{jsx as QW}from"react/jsx-runtime";var Gg="focusScope.autoFocusOnMount",$g="focusScope.autoFocusOnUnmount",nA={bubbles:!1,cancelable:!0},eV="FocusScope",Xg=ma.forwardRef((t,e)=>{let{loop:a=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...s}=t,[i,l]=ma.useState(null),u=dr(r),d=dr(n),c=ma.useRef(null),f=Fa(e,m=>l(m)),h=ma.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ma.useEffect(()=>{if(o){let y=function(v){if(h.paused||!i)return;let L=v.target;i.contains(L)?c.current=L:cr(c.current,{select:!0})},w=function(v){if(h.paused||!i)return;let L=v.relatedTarget;L!==null&&(i.contains(L)||cr(c.current,{select:!0}))},C=function(v){if(document.activeElement===document.body)for(let S of v)S.removedNodes.length>0&&cr(i)};var m=y,g=w,x=C;document.addEventListener("focusin",y),document.addEventListener("focusout",w);let I=new MutationObserver(C);return i&&I.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",w),I.disconnect()}}},[o,i,h.paused]),ma.useEffect(()=>{if(i){iA.add(h);let m=document.activeElement;if(!i.contains(m)){let x=new CustomEvent(Gg,nA);i.addEventListener(Gg,u),i.dispatchEvent(x),x.defaultPrevented||(tV(sV(uA(i)),{select:!0}),document.activeElement===m&&cr(i))}return()=>{i.removeEventListener(Gg,u),setTimeout(()=>{let x=new CustomEvent($g,nA);i.addEventListener($g,d),i.dispatchEvent(x),x.defaultPrevented||cr(m??document.body,{select:!0}),i.removeEventListener($g,d),iA.remove(h)},0)}}},[i,u,d,h]);let p=ma.useCallback(m=>{if(!a&&!o||h.paused)return;let g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,x=document.activeElement;if(g&&x){let y=m.currentTarget,[w,C]=aV(y);w&&C?!m.shiftKey&&x===C?(m.preventDefault(),a&&cr(w,{select:!0})):m.shiftKey&&x===w&&(m.preventDefault(),a&&cr(C,{select:!0})):x===y&&m.preventDefault()}},[a,o,h.paused]);return QW(Qt.div,{tabIndex:-1,...s,ref:f,onKeyDown:p})});Xg.displayName=eV;function tV(t,{select:e=!1}={}){let a=document.activeElement;for(let o of t)if(cr(o,{select:e}),document.activeElement!==a)return}function aV(t){let e=uA(t),a=sA(e,t),o=sA(e.reverse(),t);return[a,o]}function uA(t){let e=[],a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)e.push(a.currentNode);return e}function sA(t,e){for(let a of t)if(!oV(a,{upTo:e}))return a}function oV(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function rV(t){return t instanceof HTMLInputElement&&"select"in t}function cr(t,{select:e=!1}={}){if(t&&t.focus){let a=document.activeElement;t.focus({preventScroll:!0}),t!==a&&rV(t)&&e&&t.select()}}var iA=nV();function nV(){let t=[];return{add(e){let a=t[0];e!==a&&a?.pause(),t=lA(t,e),t.unshift(e)},remove(e){t=lA(t,e),t[0]?.resume()}}}function lA(t,e){let a=[...t],o=a.indexOf(e);return o!==-1&&a.splice(o,1),a}function sV(t){return t.filter(e=>e.tagName!=="A")}import*as Gc from"react";import*as dA from"react-dom";import{jsx as iV}from"react/jsx-runtime";var lV="Portal",Kg=Gc.forwardRef((t,e)=>{let{container:a,...o}=t,[r,n]=Gc.useState(!1);Do(()=>n(!0),[]);let s=a||r&&globalThis?.document?.body;return s?dA.createPortal(iV(Qt.div,{...o,ref:e}),s):null});Kg.displayName=lV;import*as fA from"react";var $c=0,xs=null;function hA(){fA.useEffect(()=>{xs||(xs={start:cA(),end:cA()});let{start:t,end:e}=xs;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),$c++,()=>{$c===1&&(xs?.start.remove(),xs?.end.remove(),xs=null),$c=Math.max(0,$c-1)}},[])}function cA(){let t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Wt=function(){return Wt=Object.assign||function(e){for(var a,o=1,r=arguments.length;o<r;o++){a=arguments[o];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Wt.apply(this,arguments)};function Xc(t,e){var a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(a[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(a[o[r]]=t[o[r]]);return a}function pA(t,e,a){if(a||arguments.length===2)for(var o=0,r=e.length,n;o<r;o++)(n||!(o in e))&&(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}import*as Jc from"react";import*as St from"react";var cn="right-scroll-bar-position",fn="width-before-scroll-bar",jg="with-scroll-bars-hidden",Zg="--removed-body-scroll-bar-size";function Kc(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}import{useState as uV}from"react";function mA(t,e){var a=uV(function(){return{value:t,callback:e,facade:{get current(){return a.value},set current(o){var r=a.value;r!==o&&(a.value=o,a.callback(o,r))}}}})[0];return a.callback=e,a.facade}import*as jc from"react";var dV=typeof window<"u"?jc.useLayoutEffect:jc.useEffect,gA=new WeakMap;function Yg(t,e){var a=mA(e||null,function(o){return t.forEach(function(r){return Kc(r,o)})});return dV(function(){var o=gA.get(a);if(o){var r=new Set(o),n=new Set(t),s=a.current;r.forEach(function(i){n.has(i)||Kc(i,null)}),n.forEach(function(i){r.has(i)||Kc(i,s)})}gA.set(a,t)},[t]),a}function cV(t){return t}function fV(t,e){e===void 0&&(e=cV);var a=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:t},useMedium:function(n){var s=e(n,o);return a.push(s),function(){a=a.filter(function(i){return i!==s})}},assignSyncMedium:function(n){for(o=!0;a.length;){var s=a;a=[],s.forEach(n)}a={push:function(i){return n(i)},filter:function(){return a}}},assignMedium:function(n){o=!0;var s=[];if(a.length){var i=a;a=[],i.forEach(n),s=a}var l=function(){var d=s;s=[],d.forEach(n)},u=function(){return Promise.resolve().then(l)};u(),a={push:function(d){s.push(d),u()},filter:function(d){return s=s.filter(d),a}}}};return r}function Jg(t){t===void 0&&(t={});var e=fV(null);return e.options=Wt({async:!0,ssr:!1},t),e}import*as xA from"react";var bA=function(t){var e=t.sideCar,a=Xc(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=e.read();if(!o)throw new Error("Sidecar medium not found");return xA.createElement(o,Wt({},a))};bA.isSideCarExport=!0;function Qg(t,e){return t.useMedium(e),bA}var Zc=Jg();var ex=function(){},cl=St.forwardRef(function(t,e){var a=St.useRef(null),o=St.useState({onScrollCapture:ex,onWheelCapture:ex,onTouchMoveCapture:ex}),r=o[0],n=o[1],s=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,c=t.shards,f=t.sideCar,h=t.noRelative,p=t.noIsolation,m=t.inert,g=t.allowPinchZoom,x=t.as,y=x===void 0?"div":x,w=t.gapMode,C=Xc(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=f,v=Yg([a,e]),L=Wt(Wt({},C),r);return St.createElement(St.Fragment,null,d&&St.createElement(I,{sideCar:Zc,removeScrollBar:u,shards:c,noRelative:h,noIsolation:p,inert:m,setCallbacks:n,allowPinchZoom:!!g,lockRef:a,gapMode:w}),s?St.cloneElement(St.Children.only(i),Wt(Wt({},L),{ref:v})):St.createElement(y,Wt({},L,{className:l,ref:v}),i))});cl.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cl.classNames={fullWidth:fn,zeroRight:cn};import*as Ne from"react";import*as ws from"react";import*as LA from"react";var wA;var yA=function(){if(wA)return wA;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function hV(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=yA();return e&&t.setAttribute("nonce",e),t}function pV(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function mV(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var tx=function(){var t=0,e=null;return{add:function(a){t==0&&(e=hV())&&(pV(e,a),mV(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}};var ax=function(){var t=tx();return function(e,a){LA.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&a])}};var fl=function(){var t=ax(),e=function(a){var o=a.styles,r=a.dynamic;return t(o,r),null};return e};var gV={left:0,top:0,right:0,gap:0},ox=function(t){return parseInt(t||"",10)||0},xV=function(t){var e=window.getComputedStyle(document.body),a=e[t==="padding"?"paddingLeft":"marginLeft"],o=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[ox(a),ox(o),ox(r)]},rx=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return gV;var e=xV(t),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,o-a+e[2]-e[0])}};var bV=fl(),bs="data-scroll-locked",wV=function(t,e,a,o){var r=t.left,n=t.top,s=t.right,i=t.gap;return a===void 0&&(a="margin"),`
28
+ .`.concat(jg,` {
29
29
  overflow: hidden `).concat(o,`;
30
30
  padding-right: `).concat(i,"px ").concat(o,`;
31
31
  }
32
- body[`).concat(ds,`] {
32
+ body[`).concat(bs,`] {
33
33
  overflow: hidden `).concat(o,`;
34
34
  overscroll-behavior: contain;
35
35
  `).concat([e&&"position: relative ".concat(o,";"),a==="margin"&&`
@@ -42,37 +42,38 @@ var HM=Object.create;var Jf=Object.defineProperty;var _M=Object.getOwnPropertyDe
42
42
  `),a==="padding"&&"padding-right: ".concat(i,"px ").concat(o,";")].filter(Boolean).join(""),`
43
43
  }
44
44
 
45
- .`).concat(on,` {
45
+ .`).concat(cn,` {
46
46
  right: `).concat(i,"px ").concat(o,`;
47
47
  }
48
48
 
49
- .`).concat(rn,` {
49
+ .`).concat(fn,` {
50
50
  margin-right: `).concat(i,"px ").concat(o,`;
51
51
  }
52
52
 
53
- .`).concat(on," .").concat(on,` {
53
+ .`).concat(cn," .").concat(cn,` {
54
54
  right: 0 `).concat(o,`;
55
55
  }
56
56
 
57
- .`).concat(rn," .").concat(rn,` {
57
+ .`).concat(fn," .").concat(fn,` {
58
58
  margin-right: 0 `).concat(o,`;
59
59
  }
60
60
 
61
- body[`).concat(ds,`] {
62
- `).concat(Fg,": ").concat(i,`px;
61
+ body[`).concat(bs,`] {
62
+ `).concat(Zg,": ").concat(i,`px;
63
63
  }
64
- `)},U1=function(){var t=parseInt(document.body.getAttribute(ds)||"0",10);return isFinite(t)?t:0},S3=function(){fs.useEffect(function(){return document.body.setAttribute(ds,(U1()+1).toString()),function(){var t=U1()-1;t<=0?document.body.removeAttribute(ds):document.body.setAttribute(ds,t.toString())}},[])},Gg=function(t){var e=t.noRelative,a=t.noImportant,o=t.gapMode,r=o===void 0?"margin":o;S3();var n=fs.useMemo(function(){return Wg(r)},[r]);return fs.createElement(b3,{styles:I3(n,!e,r,a?"":"!important")})};var $g=!1;if(typeof window<"u")try{nl=Object.defineProperty({},"passive",{get:function(){return $g=!0,!0}}),window.addEventListener("test",nl,nl),window.removeEventListener("test",nl,nl)}catch{$g=!1}var nl,nn=$g?{passive:!1}:!1;var v3=function(t){return t.tagName==="TEXTAREA"},V1=function(t,e){if(!(t instanceof Element))return!1;var a=window.getComputedStyle(t);return a[e]!=="hidden"&&!(a.overflowY===a.overflowX&&!v3(t)&&a[e]==="visible")},k3=function(t){return V1(t,"overflowY")},A3=function(t){return V1(t,"overflowX")},Xg=function(t,e){var a=e.ownerDocument,o=e;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=W1(t,o);if(r){var n=G1(t,o),s=n[1],i=n[2];if(s>i)return!0}o=o.parentNode}while(o&&o!==a.body);return!1},M3=function(t){var e=t.scrollTop,a=t.scrollHeight,o=t.clientHeight;return[e,a,o]},P3=function(t){var e=t.scrollLeft,a=t.scrollWidth,o=t.clientWidth;return[e,a,o]},W1=function(t,e){return t==="v"?k3(e):A3(e)},G1=function(t,e){return t==="v"?M3(e):P3(e)},R3=function(t,e){return t==="h"&&e==="rtl"?-1:1},$1=function(t,e,a,o,r){var n=R3(t,window.getComputedStyle(e).direction),s=n*o,i=a.target,l=e.contains(i),u=!1,d=s>0,f=0,c=0;do{if(!i)break;var h=G1(t,i),p=h[0],m=h[1],g=h[2],x=m-g-n*p;(p||x)&&W1(t,i)&&(f+=x,c+=p);var C=i.parentNode;i=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&(r&&Math.abs(f)<1||!r&&s>f)||!d&&(r&&Math.abs(c)<1||!r&&-s>c))&&(u=!0),u};var Uf=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},X1=function(t){return[t.deltaX,t.deltaY]},K1=function(t){return t&&"current"in t?t.current:t},D3=function(t,e){return t[0]===e[0]&&t[1]===e[1]},T3=function(t){return`
64
+ `)},CA=function(){var t=parseInt(document.body.getAttribute(bs)||"0",10);return isFinite(t)?t:0},yV=function(){ws.useEffect(function(){return document.body.setAttribute(bs,(CA()+1).toString()),function(){var t=CA()-1;t<=0?document.body.removeAttribute(bs):document.body.setAttribute(bs,t.toString())}},[])},nx=function(t){var e=t.noRelative,a=t.noImportant,o=t.gapMode,r=o===void 0?"margin":o;yV();var n=ws.useMemo(function(){return rx(r)},[r]);return ws.createElement(bV,{styles:wV(n,!e,r,a?"":"!important")})};var sx=!1;if(typeof window<"u")try{hl=Object.defineProperty({},"passive",{get:function(){return sx=!0,!0}}),window.addEventListener("test",hl,hl),window.removeEventListener("test",hl,hl)}catch{sx=!1}var hl,hn=sx?{passive:!1}:!1;var LV=function(t){return t.tagName==="TEXTAREA"},vA=function(t,e){if(!(t instanceof Element))return!1;var a=window.getComputedStyle(t);return a[e]!=="hidden"&&!(a.overflowY===a.overflowX&&!LV(t)&&a[e]==="visible")},CV=function(t){return vA(t,"overflowY")},vV=function(t){return vA(t,"overflowX")},ix=function(t,e){var a=e.ownerDocument,o=e;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=SA(t,o);if(r){var n=IA(t,o),s=n[1],i=n[2];if(s>i)return!0}o=o.parentNode}while(o&&o!==a.body);return!1},SV=function(t){var e=t.scrollTop,a=t.scrollHeight,o=t.clientHeight;return[e,a,o]},IV=function(t){var e=t.scrollLeft,a=t.scrollWidth,o=t.clientWidth;return[e,a,o]},SA=function(t,e){return t==="v"?CV(e):vV(e)},IA=function(t,e){return t==="v"?SV(e):IV(e)},kV=function(t,e){return t==="h"&&e==="rtl"?-1:1},kA=function(t,e,a,o,r){var n=kV(t,window.getComputedStyle(e).direction),s=n*o,i=a.target,l=e.contains(i),u=!1,d=s>0,c=0,f=0;do{if(!i)break;var h=IA(t,i),p=h[0],m=h[1],g=h[2],x=m-g-n*p;(p||x)&&SA(t,i)&&(c+=x,f+=p);var y=i.parentNode;i=y&&y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?y.host:y}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&(r&&Math.abs(c)<1||!r&&s>c)||!d&&(r&&Math.abs(f)<1||!r&&-s>f))&&(u=!0),u};var Yc=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},AA=function(t){return[t.deltaX,t.deltaY]},MA=function(t){return t&&"current"in t?t.current:t},AV=function(t,e){return t[0]===e[0]&&t[1]===e[1]},MV=function(t){return`
65
65
  .block-interactivity-`.concat(t,` {pointer-events: none;}
66
66
  .allow-interactivity-`).concat(t,` {pointer-events: all;}
67
- `)},E3=0,cs=[];function j1(t){var e=Te.useRef([]),a=Te.useRef([0,0]),o=Te.useRef(),r=Te.useState(E3++)[0],n=Te.useState(rl)[0],s=Te.useRef(t);Te.useEffect(function(){s.current=t},[t]),Te.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(r));var m=B1([t.lockRef.current],(t.shards||[]).map(K1),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[t.inert,t.lockRef.current,t.shards]);var i=Te.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var x=Uf(m),C=a.current,L="deltaX"in m?m.deltaX:C[0]-x[0],y="deltaY"in m?m.deltaY:C[1]-x[1],S,w=m.target,b=Math.abs(L)>Math.abs(y)?"h":"v";if("touches"in m&&b==="h"&&w.type==="range")return!1;var I=window.getSelection(),v=I&&I.anchorNode,N=v?v===w||v.contains(w):!1;if(N)return!1;var P=Xg(b,w);if(!P)return!0;if(P?S=b:(S=b==="v"?"h":"v",P=Xg(b,w)),!P)return!1;if(!o.current&&"changedTouches"in m&&(L||y)&&(o.current=S),!S)return!0;var R=o.current||S;return $1(R,g,m,R==="h"?L:y,!0)},[]),l=Te.useCallback(function(m){var g=m;if(!(!cs.length||cs[cs.length-1]!==n)){var x="deltaY"in g?X1(g):Uf(g),C=e.current.filter(function(S){return S.name===g.type&&(S.target===g.target||g.target===S.shadowParent)&&D3(S.delta,x)})[0];if(C&&C.should){g.cancelable&&g.preventDefault();return}if(!C){var L=(s.current.shards||[]).map(K1).filter(Boolean).filter(function(S){return S.contains(g.target)}),y=L.length>0?i(g,L[0]):!s.current.noIsolation;y&&g.cancelable&&g.preventDefault()}}},[]),u=Te.useCallback(function(m,g,x,C){var L={name:m,delta:g,target:x,should:C,shadowParent:B3(x)};e.current.push(L),setTimeout(function(){e.current=e.current.filter(function(y){return y!==L})},1)},[]),d=Te.useCallback(function(m){a.current=Uf(m),o.current=void 0},[]),f=Te.useCallback(function(m){u(m.type,X1(m),m.target,i(m,t.lockRef.current))},[]),c=Te.useCallback(function(m){u(m.type,Uf(m),m.target,i(m,t.lockRef.current))},[]);Te.useEffect(function(){return cs.push(n),t.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:c}),document.addEventListener("wheel",l,nn),document.addEventListener("touchmove",l,nn),document.addEventListener("touchstart",d,nn),function(){cs=cs.filter(function(m){return m!==n}),document.removeEventListener("wheel",l,nn),document.removeEventListener("touchmove",l,nn),document.removeEventListener("touchstart",d,nn)}},[]);var h=t.removeScrollBar,p=t.inert;return Te.createElement(Te.Fragment,null,p?Te.createElement(n,{styles:T3(r)}):null,h?Te.createElement(Gg,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function B3(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}var Z1=_g(zf,j1);var Y1=Vf.forwardRef(function(t,e){return Vf.createElement(ol,Nt({},t,{ref:e,sideCar:Z1}))});Y1.classNames=ol.classNames;var Kg=Y1;var O3=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},hs=new WeakMap,Wf=new WeakMap,Gf={},jg=0,J1=function(t){return t&&(t.host||J1(t.parentNode))},F3=function(t,e){return e.map(function(a){if(t.contains(a))return a;var o=J1(a);return o&&t.contains(o)?o:(console.error("aria-hidden",a,"in not contained inside",t,". Doing nothing"),null)}).filter(function(a){return!!a})},N3=function(t,e,a,o){var r=F3(e,Array.isArray(t)?t:[t]);Gf[a]||(Gf[a]=new WeakMap);var n=Gf[a],s=[],i=new Set,l=new Set(r),u=function(f){!f||i.has(f)||(i.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(c){if(i.has(c))d(c);else try{var h=c.getAttribute(o),p=h!==null&&h!=="false",m=(hs.get(c)||0)+1,g=(n.get(c)||0)+1;hs.set(c,m),n.set(c,g),s.push(c),m===1&&p&&Wf.set(c,!0),g===1&&c.setAttribute(a,"true"),p||c.setAttribute(o,"true")}catch(x){console.error("aria-hidden: cannot operate on ",c,x)}})};return d(e),i.clear(),jg++,function(){s.forEach(function(f){var c=hs.get(f)-1,h=n.get(f)-1;hs.set(f,c),n.set(f,h),c||(Wf.has(f)||f.removeAttribute(o),Wf.delete(f)),h||f.removeAttribute(a)}),jg--,jg||(hs=new WeakMap,hs=new WeakMap,Wf=new WeakMap,Gf={})}},Q1=function(t,e,a){a===void 0&&(a="data-aria-hidden");var o=Array.from(Array.isArray(t)?t:[t]),r=e||O3(t);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),N3(o,r,a,"aria-hidden")):function(){return null}};import{Fragment as eA,jsx as Xe,jsxs as tA}from"react/jsx-runtime";var Xf="Dialog",[aA,H3]=h1(Xf),[_3,va]=aA(Xf),Zg=t=>{let{__scopeDialog:e,children:a,open:o,defaultOpen:r,onOpenChange:n,modal:s=!0}=t,i=Pe.useRef(null),l=Pe.useRef(null),[u,d]=m1({prop:o,defaultProp:r??!1,onChange:n,caller:Xf});return Xe(_3,{scope:e,triggerRef:i,contentRef:l,contentId:Of(),titleId:Of(),descriptionId:Of(),open:u,onOpenChange:d,onOpenToggle:Pe.useCallback(()=>d(f=>!f),[d]),modal:s,children:a})};Zg.displayName=Xf;var oA="DialogTrigger",Yg=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=va(oA,a),n=Sa(e,r.triggerRef);return Xe(Vt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":sx(r.open),...o,ref:n,onClick:$a(t.onClick,r.onOpenToggle)})});Yg.displayName=oA;var Jg="DialogPortal",[q3,rA]=aA(Jg,{forceMount:void 0}),Qg=t=>{let{__scopeDialog:e,forceMount:a,children:o,container:r}=t,n=va(Jg,e);return Xe(q3,{scope:e,forceMount:a,children:Pe.Children.map(o,s=>Xe(al,{present:a||n.open,children:Xe(Bg,{asChild:!0,container:r,children:s})}))})};Qg.displayName=Jg;var $f="DialogOverlay",ex=Pe.forwardRef((t,e)=>{let a=rA($f,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=va($f,t.__scopeDialog);return n.modal?Xe(al,{present:o||n.open,children:Xe(U3,{...r,ref:e})}):null});ex.displayName=$f;var z3=is("DialogOverlay.RemoveScroll"),U3=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=va($f,a);return Xe(Kg,{as:z3,allowPinchZoom:!0,shards:[r.contentRef],children:Xe(Vt.div,{"data-state":sx(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),sn="DialogContent",tx=Pe.forwardRef((t,e)=>{let a=rA(sn,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=va(sn,t.__scopeDialog);return Xe(al,{present:o||n.open,children:n.modal?Xe(V3,{...r,ref:e}):Xe(W3,{...r,ref:e})})});tx.displayName=sn;var V3=Pe.forwardRef((t,e)=>{let a=va(sn,t.__scopeDialog),o=Pe.useRef(null),r=Sa(e,a.contentRef,o);return Pe.useEffect(()=>{let n=o.current;if(n)return Q1(n)},[]),Xe(nA,{...t,ref:r,trapFocus:a.open,disableOutsidePointerEvents:a.open,onCloseAutoFocus:$a(t.onCloseAutoFocus,n=>{n.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:$a(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,i=s.button===0&&s.ctrlKey===!0;(s.button===2||i)&&n.preventDefault()}),onFocusOutside:$a(t.onFocusOutside,n=>n.preventDefault())})}),W3=Pe.forwardRef((t,e)=>{let a=va(sn,t.__scopeDialog),o=Pe.useRef(!1),r=Pe.useRef(!1);return Xe(nA,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(o.current||a.triggerRef.current?.focus(),n.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(o.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=n.target;a.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),nA=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:n,...s}=t,i=va(sn,a),l=Pe.useRef(null),u=Sa(e,l);return E1(),tA(eA,{children:[Xe(Eg,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:n,children:Xe(Rg,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":sx(i.open),...s,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),tA(eA,{children:[Xe($3,{titleId:i.titleId}),Xe(K3,{contentRef:l,descriptionId:i.descriptionId})]})]})}),ax="DialogTitle",ox=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=va(ax,a);return Xe(Vt.h2,{id:r.titleId,...o,ref:e})});ox.displayName=ax;var sA="DialogDescription",rx=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=va(sA,a);return Xe(Vt.p,{id:r.descriptionId,...o,ref:e})});rx.displayName=sA;var iA="DialogClose",nx=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=va(iA,a);return Xe(Vt.button,{type:"button",...o,ref:e,onClick:$a(t.onClick,()=>r.onOpenChange(!1))})});nx.displayName=iA;function sx(t){return t?"open":"closed"}var lA="DialogTitleWarning",[G3,uA]=c1(lA,{contentName:sn,titleName:ax,docsSlug:"dialog"}),$3=({titleId:t})=>{let e=uA(lA),a=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
67
+ `)},PV=0,ys=[];function PA(t){var e=Ne.useRef([]),a=Ne.useRef([0,0]),o=Ne.useRef(),r=Ne.useState(PV++)[0],n=Ne.useState(fl)[0],s=Ne.useRef(t);Ne.useEffect(function(){s.current=t},[t]),Ne.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(r));var m=pA([t.lockRef.current],(t.shards||[]).map(MA),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[t.inert,t.lockRef.current,t.shards]);var i=Ne.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var x=Yc(m),y=a.current,w="deltaX"in m?m.deltaX:y[0]-x[0],C="deltaY"in m?m.deltaY:y[1]-x[1],I,v=m.target,L=Math.abs(w)>Math.abs(C)?"h":"v";if("touches"in m&&L==="h"&&v.type==="range")return!1;var S=window.getSelection(),A=S&&S.anchorNode,H=A?A===v||A.contains(v):!1;if(H)return!1;var M=ix(L,v);if(!M)return!0;if(M?I=L:(I=L==="v"?"h":"v",M=ix(L,v)),!M)return!1;if(!o.current&&"changedTouches"in m&&(w||C)&&(o.current=I),!I)return!0;var R=o.current||I;return kA(R,g,m,R==="h"?w:C,!0)},[]),l=Ne.useCallback(function(m){var g=m;if(!(!ys.length||ys[ys.length-1]!==n)){var x="deltaY"in g?AA(g):Yc(g),y=e.current.filter(function(I){return I.name===g.type&&(I.target===g.target||g.target===I.shadowParent)&&AV(I.delta,x)})[0];if(y&&y.should){g.cancelable&&g.preventDefault();return}if(!y){var w=(s.current.shards||[]).map(MA).filter(Boolean).filter(function(I){return I.contains(g.target)}),C=w.length>0?i(g,w[0]):!s.current.noIsolation;C&&g.cancelable&&g.preventDefault()}}},[]),u=Ne.useCallback(function(m,g,x,y){var w={name:m,delta:g,target:x,should:y,shadowParent:DV(x)};e.current.push(w),setTimeout(function(){e.current=e.current.filter(function(C){return C!==w})},1)},[]),d=Ne.useCallback(function(m){a.current=Yc(m),o.current=void 0},[]),c=Ne.useCallback(function(m){u(m.type,AA(m),m.target,i(m,t.lockRef.current))},[]),f=Ne.useCallback(function(m){u(m.type,Yc(m),m.target,i(m,t.lockRef.current))},[]);Ne.useEffect(function(){return ys.push(n),t.setCallbacks({onScrollCapture:c,onWheelCapture:c,onTouchMoveCapture:f}),document.addEventListener("wheel",l,hn),document.addEventListener("touchmove",l,hn),document.addEventListener("touchstart",d,hn),function(){ys=ys.filter(function(m){return m!==n}),document.removeEventListener("wheel",l,hn),document.removeEventListener("touchmove",l,hn),document.removeEventListener("touchstart",d,hn)}},[]);var h=t.removeScrollBar,p=t.inert;return Ne.createElement(Ne.Fragment,null,p?Ne.createElement(n,{styles:MV(r)}):null,h?Ne.createElement(nx,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function DV(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}var DA=Qg(Zc,PA);var RA=Jc.forwardRef(function(t,e){return Jc.createElement(cl,Wt({},t,{ref:e,sideCar:DA}))});RA.classNames=cl.classNames;var lx=RA;var RV=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},Ls=new WeakMap,Qc=new WeakMap,ef={},ux=0,TA=function(t){return t&&(t.host||TA(t.parentNode))},TV=function(t,e){return e.map(function(a){if(t.contains(a))return a;var o=TA(a);return o&&t.contains(o)?o:(console.error("aria-hidden",a,"in not contained inside",t,". Doing nothing"),null)}).filter(function(a){return!!a})},EV=function(t,e,a,o){var r=TV(e,Array.isArray(t)?t:[t]);ef[a]||(ef[a]=new WeakMap);var n=ef[a],s=[],i=new Set,l=new Set(r),u=function(c){!c||i.has(c)||(i.add(c),u(c.parentNode))};r.forEach(u);var d=function(c){!c||l.has(c)||Array.prototype.forEach.call(c.children,function(f){if(i.has(f))d(f);else try{var h=f.getAttribute(o),p=h!==null&&h!=="false",m=(Ls.get(f)||0)+1,g=(n.get(f)||0)+1;Ls.set(f,m),n.set(f,g),s.push(f),m===1&&p&&Qc.set(f,!0),g===1&&f.setAttribute(a,"true"),p||f.setAttribute(o,"true")}catch(x){console.error("aria-hidden: cannot operate on ",f,x)}})};return d(e),i.clear(),ux++,function(){s.forEach(function(c){var f=Ls.get(c)-1,h=n.get(c)-1;Ls.set(c,f),n.set(c,h),f||(Qc.has(c)||c.removeAttribute(o),Qc.delete(c)),h||c.removeAttribute(a)}),ux--,ux||(Ls=new WeakMap,Ls=new WeakMap,Qc=new WeakMap,ef={})}},EA=function(t,e,a){a===void 0&&(a="data-aria-hidden");var o=Array.from(Array.isArray(t)?t:[t]),r=e||RV(t);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),EV(o,r,a,"aria-hidden")):function(){return null}};import{Fragment as BA,jsx as Je,jsxs as FA}from"react/jsx-runtime";var af="Dialog",[OA,BV]=X1(af),[FV,Oa]=OA(af),dx=t=>{let{__scopeDialog:e,children:a,open:o,defaultOpen:r,onOpenChange:n,modal:s=!0}=t,i=Be.useRef(null),l=Be.useRef(null),[u,d]=j1({prop:o,defaultProp:r??!1,onChange:n,caller:af});return Je(FV,{scope:e,triggerRef:i,contentRef:l,contentId:Vc(),titleId:Vc(),descriptionId:Vc(),open:u,onOpenChange:d,onOpenToggle:Be.useCallback(()=>d(c=>!c),[d]),modal:s,children:a})};dx.displayName=af;var NA="DialogTrigger",cx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(NA,a),n=Fa(e,r.triggerRef);return Je(Qt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":yx(r.open),...o,ref:n,onClick:ao(t.onClick,r.onOpenToggle)})});cx.displayName=NA;var fx="DialogPortal",[OV,_A]=OA(fx,{forceMount:void 0}),hx=t=>{let{__scopeDialog:e,forceMount:a,children:o,container:r}=t,n=Oa(fx,e);return Je(OV,{scope:e,forceMount:a,children:Be.Children.map(o,s=>Je(dl,{present:a||n.open,children:Je(Kg,{asChild:!0,container:r,children:s})}))})};hx.displayName=fx;var tf="DialogOverlay",px=Be.forwardRef((t,e)=>{let a=_A(tf,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=Oa(tf,t.__scopeDialog);return n.modal?Je(dl,{present:o||n.open,children:Je(_V,{...r,ref:e})}):null});px.displayName=tf;var NV=ms("DialogOverlay.RemoveScroll"),_V=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(tf,a);return Je(lx,{as:NV,allowPinchZoom:!0,shards:[r.contentRef],children:Je(Qt.div,{"data-state":yx(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),pn="DialogContent",mx=Be.forwardRef((t,e)=>{let a=_A(pn,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=Oa(pn,t.__scopeDialog);return Je(dl,{present:o||n.open,children:n.modal?Je(HV,{...r,ref:e}):Je(zV,{...r,ref:e})})});mx.displayName=pn;var HV=Be.forwardRef((t,e)=>{let a=Oa(pn,t.__scopeDialog),o=Be.useRef(null),r=Fa(e,a.contentRef,o);return Be.useEffect(()=>{let n=o.current;if(n)return EA(n)},[]),Je(HA,{...t,ref:r,trapFocus:a.open,disableOutsidePointerEvents:a.open,onCloseAutoFocus:ao(t.onCloseAutoFocus,n=>{n.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:ao(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,i=s.button===0&&s.ctrlKey===!0;(s.button===2||i)&&n.preventDefault()}),onFocusOutside:ao(t.onFocusOutside,n=>n.preventDefault())})}),zV=Be.forwardRef((t,e)=>{let a=Oa(pn,t.__scopeDialog),o=Be.useRef(!1),r=Be.useRef(!1);return Je(HA,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(o.current||a.triggerRef.current?.focus(),n.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(o.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=n.target;a.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),HA=Be.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:n,...s}=t,i=Oa(pn,a),l=Be.useRef(null),u=Fa(e,l);return hA(),FA(BA,{children:[Je(Xg,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:n,children:Je(Vg,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":yx(i.open),...s,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),FA(BA,{children:[Je(UV,{titleId:i.titleId}),Je(VV,{contentRef:l,descriptionId:i.descriptionId})]})]})}),gx="DialogTitle",xx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(gx,a);return Je(Qt.h2,{id:r.titleId,...o,ref:e})});xx.displayName=gx;var zA="DialogDescription",bx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(zA,a);return Je(Qt.p,{id:r.descriptionId,...o,ref:e})});bx.displayName=zA;var qA="DialogClose",wx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(qA,a);return Je(Qt.button,{type:"button",...o,ref:e,onClick:ao(t.onClick,()=>r.onOpenChange(!1))})});wx.displayName=qA;function yx(t){return t?"open":"closed"}var UA="DialogTitleWarning",[qV,WA]=$1(UA,{contentName:pn,titleName:gx,docsSlug:"dialog"}),UV=({titleId:t})=>{let e=WA(UA),a=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
68
68
 
69
69
  If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
70
70
 
71
- For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return Pe.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},X3="DialogDescriptionWarning",K3=({contentRef:t,descriptionId:e})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${uA(X3).contentName}}.`;return Pe.useEffect(()=>{let r=t.current?.getAttribute("aria-describedby");e&&r&&(document.getElementById(e)||console.warn(o))},[o,t,e]),null},j3=Zg,Z3=Yg,Y3=Qg,J3=ex,Q3=tx,eG=ox,tG=rx,aG=nx;var dA=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,fA=Mf,cA=(t,e)=>a=>{var o;if(e?.variants==null)return fA(t,a?.class,a?.className);let{variants:r,defaultVariants:n}=e,s=Object.keys(r).map(u=>{let d=a?.[u],f=n?.[u];if(d===null)return null;let c=dA(d)||dA(f);return r[u][c]}),i=a&&Object.entries(a).reduce((u,d)=>{let[f,c]=d;return c===void 0||(u[f]=c),u},{}),l=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:f,className:c,...h}=d;return Object.entries(h).every(p=>{let[m,g]=p;return Array.isArray(g)?g.includes({...n,...i}[m]):{...n,...i}[m]===g})?[...u,f,c]:u},[]);return fA(t,s,l,a?.class,a?.className)};import{jsx as rG}from"react/jsx-runtime";var oG=cA("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function hA({className:t,variant:e="default",size:a="default",asChild:o=!1,...r}){let n=o?Tf.Root:"button";return rG(n,{"data-slot":"button","data-variant":e,"data-size":a,className:me(oG({variant:e,size:a,className:t})),...r})}import{jsx as Ka,jsxs as ix}from"react/jsx-runtime";function pA({...t}){return Ka(Xa.Root,{"data-slot":"sheet",...t})}function nG({...t}){return Ka(Xa.Portal,{"data-slot":"sheet-portal",...t})}function sG({className:t,...e}){return Ka(Xa.Overlay,{"data-slot":"sheet-overlay",className:me("nimbit-devtools dark fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}function mA({className:t,children:e,side:a="right",showCloseButton:o=!0,...r}){return ix(nG,{children:[Ka(sG,{}),ix(Xa.Content,{"data-slot":"sheet-content","data-side":a,className:me("nimbit-devtools dark fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",t),...r,children:[e,o&&Ka(Xa.Close,{"data-slot":"sheet-close",asChild:!0,children:ix(hA,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[Ka(Co,{}),Ka("span",{className:"sr-only",children:"Close"})]})})]})]})}function gA({className:t,...e}){return Ka("div",{"data-slot":"sheet-header",className:me("flex flex-col gap-0.5 p-4",t),...e})}function xA({className:t,...e}){return Ka(Xa.Title,{"data-slot":"sheet-title",className:me("text-base font-medium text-foreground",t),...e})}function LA({className:t,...e}){return Ka(Xa.Description,{"data-slot":"sheet-description",className:me("text-sm text-muted-foreground",t),...e})}import{Fragment as lG,jsx as ge,jsxs as rt}from"react/jsx-runtime";var iG=()=>{let{dataCart:t,setDataCart:e,dataEntity:a,setDataEntity:o,view:r,setView:n,graphCarts:s,setGraphCarts:i,hiddenEntities:l,setHiddenEntities:u,graphLeftW:d,setGraphLeftW:f,graphRightW:c,setGraphRightW:h}=Lo(),p=sa.useRef(null),m=sa.useRef(null),[g,x]=sa.useState(null),[C,L]=sa.useState(null),{registry:y,carts:S,coreCarts:w,loading:b,error:I}=vf(),[v,N]=sa.useState(new Set),[P,R]=sa.useState(!1),H=O=>w.has(O)&&O!=="auth",k=sa.useMemo(()=>S.filter(O=>!H(O)),[S,w]),D=sa.useMemo(()=>S.filter(H),[S,w]),M=sa.useMemo(()=>S.filter(O=>!H(O)||v.has(O)),[S,w,v]),T=s??new Set(k),E=O=>{i(U=>{let X=new Set(U??k);return X.has(O)?X.delete(O):X.add(O),X})},B=O=>{if(N(U=>new Set(U).add(O)),R(!1),r==="table"){e(O);let U=y[O]?.[0];o(U?U.name:null)}else i(U=>new Set(U??k).add(O))},A=O=>{u(U=>{let X=new Set(U);return X.has(O)?X.delete(O):X.add(O),X})},q=sa.useMemo(()=>{let O=new Set;for(let U of S)if(T.has(U))for(let X of y[U]??[])l.has(`${U}:${X.name}`)||O.add(`${U}:${X.name}`);return O},[S,y,s,l]);sa.useEffect(()=>{C&&!q.has(`${C.cart}:${C.entity}`)&&L(null)},[C,q]);let F=t&&y[t]?t:k[0]??S[0]??null,G=F?y[F]??[]:[],_=G.find(O=>O.name===a)??G[0]??null;if(sa.useEffect(()=>{F&&F!==t&&e(F),_&&_.name!==a&&o(_.name),F&&H(F)&&!v.has(F)&&N(O=>new Set(O).add(F))},[F,_,t,a,e,o]),S.length===0){let O="No installed cartridges with entities.";return b?O="Loading cartridges\u2026":I&&(O=`Failed to load cartridges: ${I}`),ge("div",{className:"p-3 text-[12px] text-muted-foreground",children:O})}return ge(em,{registry:y,children:rt("div",{className:"flex h-full flex-col",children:[rt("div",{className:"flex h-7 shrink-0 items-center gap-1 overflow-x-auto border-b border-border bg-background px-1 select-none",children:[rt("div",{className:"flex shrink-0 items-center gap-0.5 pr-1",children:[ge(yA,{active:r==="table",onClick:()=>n("table"),label:"Table",children:ge(Qi,{className:"size-3"})}),ge(yA,{active:r==="diagram",onClick:()=>n("diagram"),label:"Graph",children:ge(Gi,{className:"size-3"})})]}),ge("div",{className:"h-4 w-px shrink-0 bg-border"}),M.map(O=>{let U=r==="table"?O===F:T.has(O);return ge("button",{type:"button","data-active":U,onClick:()=>{if(r==="table"){e(O);let X=y[O]?.[0];o(X?X.name:null)}else E(O)},className:me("h-5 shrink-0 rounded-full px-2.5 text-[11px] leading-none outline-none transition-colors","border border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:border-border data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O},O)}),D.length>0?rt("div",{className:"relative shrink-0",children:[ge("button",{type:"button","aria-label":"More cartridges",title:"Core cartridges","data-active":P,onClick:()=>R(O=>!O),className:me("grid size-5 shrink-0 place-items-center rounded-full outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:ge(Yo,{className:"size-3.5"})}),P?rt(lG,{children:[ge("div",{className:"fixed inset-0 z-30",onClick:()=>R(!1)}),rt("div",{className:"absolute left-0 top-6 z-40 min-w-36 rounded-md border border-border bg-popover py-1 shadow-md",children:[ge("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"Core cartridges"}),D.map(O=>{let U=r==="table"?O===F:T.has(O);return ge("button",{type:"button","data-active":U,onClick:()=>B(O),className:me("block w-full px-2 py-1 text-left text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",U?"text-foreground":"text-muted-foreground"),children:O},O)})]})]}):null]}):null]}),rt("div",{className:"flex min-h-0 min-w-0 flex-1",children:[rt("div",{ref:p,style:{width:d},className:"relative shrink-0 border-r border-border bg-muted/10",children:[ge(CA,{edge:"right",targetRef:p,min:120,max:480,onCommit:f}),ge("div",{className:"flex h-full flex-col overflow-y-auto py-1",children:r==="table"?G.length===0?ge("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No entities"}):G.map(O=>{let U=O.name===_?.name;return ge("button",{type:"button","data-active":U,onClick:()=>o(O.name),className:me("h-6 shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O.name},O.name)}):S.filter(O=>T.has(O)).length===0?ge("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No cartridges selected"}):S.filter(O=>T.has(O)).map(O=>rt("div",{className:"mb-1",children:[ge("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:O}),(y[O]??[]).map(U=>{let X=`${O}:${U.name}`,z=!l.has(X);return ge("button",{type:"button","data-active":z,onClick:()=>A(X),title:z?`Hide ${U.name}`:`Show ${U.name}`,className:me("h-6 w-full shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",z?"text-foreground":"text-muted-foreground/40 line-through"),children:U.name},X)})]},O))})]}),ge("div",{className:"min-h-0 min-w-0 flex-1",children:r==="diagram"?ge(pg,{visibleIds:q,onSelectNode:(O,U)=>L({cart:O,entity:U})}):_?ge(qi,{cart:F,entity:_.name,searchFields:_.searchFields,onSelectRow:O=>x(O)},`${F}:${_.name}`):ge("div",{className:"p-3 text-[12px] text-muted-foreground",children:"Pick an entity."})}),r==="diagram"&&C?rt("div",{ref:m,style:{width:c},className:"relative flex shrink-0 flex-col border-l border-border bg-background",children:[ge(CA,{edge:"left",targetRef:m,min:280,max:900,onCommit:h}),rt("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-muted/10 px-2 select-none",children:[rt("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:[rt("span",{className:"text-muted-foreground",children:[C.cart,"."]}),C.entity]}),ge("button",{type:"button","aria-label":"Close",title:"Close",onClick:()=>L(null),className:"grid size-5 shrink-0 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",children:ge(Co,{className:"size-3.5"})})]}),ge("div",{className:"min-h-0 flex-1",children:ge(qi,{cart:C.cart,entity:C.entity,searchFields:(y[C.cart]??[]).find(O=>O.name===C.entity)?.searchFields??[],onSelectRow:O=>x(O)},`${C.cart}:${C.entity}`)})]}):null]}),ge(pA,{open:!!g,onOpenChange:O=>!O&&x(null),children:rt(mA,{side:"right",className:"w-[480px] sm:max-w-[480px]",children:[rt(gA,{children:[rt(xA,{className:"text-[13px]",children:[F,".",_?.name,g?.id?ge("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:g.id}):null]}),ge(LA,{className:"text-[11px]",children:"Row detail"})]}),ge("div",{className:"min-h-0 flex-1 overflow-auto px-4 pb-4",children:g?ge("table",{className:"w-full text-[12px]",children:ge("tbody",{children:Object.entries(g).map(([O,U])=>rt("tr",{className:"border-b border-border/40 align-top",children:[ge("td",{className:"w-32 py-1 pr-2 font-mono text-[11px] text-muted-foreground",children:O}),ge("td",{className:"break-all py-1 font-mono",children:U||ge("span",{className:"text-muted-foreground/60",children:"\u2205"})})]},O))})}):null})]})})]})})},CA=({edge:t,targetRef:e,min:a,max:o,onCommit:r})=>ge("div",{onPointerDown:s=>{s.preventDefault();let i=e.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=i.offsetWidth,f=d,c=0,h=null,p=()=>{c=0,h!=null&&(f=h,i.style.width=`${h}px`,h=null)},m=x=>{x.preventDefault();let C=x.clientX-u,L=t==="left"?-C:C;h=Math.max(a,Math.min(o,d+L)),c||(c=requestAnimationFrame(p))},g=()=>{c&&cancelAnimationFrame(c),p(),r(f),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},style:{touchAction:"none"},className:me("absolute top-0 bottom-0 z-20 w-1.5 cursor-ew-resize bg-transparent hover:bg-accent/40",t==="left"?"-left-px":"-right-px")}),yA=({active:t,onClick:e,label:a,children:o})=>rt("button",{type:"button","data-active":t,onClick:e,title:a,className:me("inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[11px] leading-none outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:[o,a]}),wA=iG;import Wt from"react";import{jsx as Re,jsxs as nt}from"react/jsx-runtime";var bA="h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring";function uG(t){if(!t)return"never";try{return new Date(t).toLocaleString()}catch{return String(t)}}var dG=({cart:t,config:e,onChanged:a})=>{let o=wg(),[r,n]=Wt.useState(!1),[s,i]=Wt.useState(""),[l,u]=Wt.useState(""),[d,f]=Wt.useState(300),[c,h]=Wt.useState(!1),[p,m]=Wt.useState(null),[g,x]=Wt.useState(null),[C,L]=Wt.useState(null);Wt.useEffect(()=>{e&&(f(e.intervalSeconds||300),h(e.enabled))},[e]);let y=async(v,N)=>{m(v),x(null),L(null);try{await N(),a()}catch(P){x(P instanceof Error?P.message:String(P))}finally{m(null)}},S=()=>y("save",async()=>{await o.save({cartridge:t,spreadsheetUrl:s,serviceAccountJson:l.trim()||void 0,intervalSeconds:d,enabled:c}),u(""),L("Saved.")}),w=()=>y("sync",async()=>{let v=await o.syncNow(t);if(!v.ok)throw new Error(v.error||"sync failed");L("Synced.")}),b=()=>y("remove",async()=>{await o.remove(t),n(!1),L(null)}),I=!!e?.hasServiceAccount;return nt("div",{className:"rounded-md border border-border",children:[nt("button",{type:"button",onClick:()=>n(v=>!v),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left",children:[Re("span",{className:"text-[12px] font-medium text-foreground",children:t}),I?e?.status==="error"?Re(jo,{className:"size-3.5 text-red-400"}):Re(Zo,{className:me("size-3.5",e?.enabled?"text-green-400":"text-muted-foreground")}):null,Re("span",{className:"ml-auto text-[11px] text-muted-foreground",children:I?e?.enabled?"syncing":"paused":"not configured"})]}),r?nt("div",{className:"space-y-2 border-t border-border px-2.5 py-2",children:[e?.saEmail?nt("div",{className:"text-[11px] text-muted-foreground",children:["Share your sheet with: ",Re("span",{className:"text-foreground",children:e.saEmail})]}):Re("div",{className:"text-[11px] text-muted-foreground",children:"Paste a Google service-account key, then share your sheet with its client_email."}),nt("label",{className:"block space-y-0.5",children:[Re("span",{className:"text-[11px] text-muted-foreground",children:"Spreadsheet URL"}),Re("input",{type:"text",placeholder:"https://docs.google.com/spreadsheets/d/\u2026",value:s,onChange:v=>i(v.target.value),className:bA})]}),nt("label",{className:"block space-y-0.5",children:[nt("span",{className:"text-[11px] text-muted-foreground",children:["Service account JSON ",I?"(leave blank to keep stored key)":""]}),Re("textarea",{placeholder:'{ "type": "service_account", \u2026 }',value:l,onChange:v=>u(v.target.value),rows:4,className:me(bA,"h-auto resize-y py-1 font-mono text-[11px]")})]}),nt("div",{className:"flex items-center gap-3",children:[nt("label",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:["Interval (s)",Re("input",{type:"number",min:30,value:d,onChange:v=>f(Number(v.target.value)||300),className:"h-7 w-20 rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"})]}),nt("label",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Re("input",{type:"checkbox",checked:c,onChange:v=>h(v.target.checked)}),"Enabled"]})]}),e?.lastError?nt("div",{className:"text-[11px] text-red-400",children:["Last error: ",e.lastError]}):null,I?nt("div",{className:"text-[11px] text-muted-foreground",children:["Last sync: ",uG(e?.lastSyncAt??0)]}):null,g?Re("div",{className:"text-[11px] text-red-400",children:g}):null,C?Re("div",{className:"text-[11px] text-green-400",children:C}):null,nt("div",{className:"flex items-center gap-2 pt-0.5",children:[nt("button",{type:"button",disabled:p!==null,onClick:S,className:me("flex h-7 items-center justify-center gap-1.5 rounded-md bg-foreground px-3 text-[12px] font-medium text-background outline-none",p?"opacity-60":"hover:opacity-90"),children:[p==="save"?Re(Ot,{className:"size-3.5 animate-spin"}):null,"Save"]}),nt("button",{type:"button",disabled:p!==null||!I,onClick:w,title:I?"Push now":"Configure first",className:me("flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-3 text-[12px] text-foreground outline-none",p!==null||!I?"opacity-60":"hover:bg-accent"),children:[p==="sync"?Re(Ot,{className:"size-3.5 animate-spin"}):Re(Zi,{className:"size-3.5"}),"Sync now"]}),I?Re("button",{type:"button",disabled:p!==null,onClick:b,title:"Remove sync config",className:"ml-auto flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-2 text-[12px] text-red-400 outline-none hover:bg-accent",children:p==="remove"?Re(Ot,{className:"size-3.5 animate-spin"}):Re(en,{className:"size-3.5"})}):null]})]}):null]})},fG=()=>{let{carts:t,coreCarts:e,loading:a}=vf(),o=wg(),[r,n]=Wt.useState({}),[s,i]=Wt.useState(null),l=Wt.useCallback(()=>{o.list().then(d=>{let f={};for(let c of d)f[c.cartridge]=c;n(f),i(null)}).catch(d=>i(d instanceof Error?d.message:String(d)))},[o]);Wt.useEffect(()=>{l()},[l]);let u=t.filter(d=>!e.has(d)||r[d]);return nt("div",{className:"h-full overflow-y-auto p-2.5",children:[nt("div",{className:"mb-2",children:[Re("div",{className:"text-[13px] font-medium text-foreground",children:"Google Sheets sync"}),Re("div",{className:"text-[11px] text-muted-foreground",children:"Mirror a cartridge into a spreadsheet \u2014 one tab per entity. One-way, on a timer."})]}),s?Re("div",{className:"mb-2 text-[11px] text-red-400",children:s}):null,a?nt("div",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[Re(Ot,{className:"size-3.5 animate-spin"})," Loading cartridges\u2026"]}):u.length===0?Re("div",{className:"text-[11px] text-muted-foreground",children:"No cartridges installed."}):Re("div",{className:"space-y-1.5",children:u.map(d=>Re(dG,{cart:d,config:r[d],onChanged:l},d))})]})},IA=fG;import{Fragment as hG,jsx as pG}from"react/jsx-runtime";var cG=()=>pG(hG,{}),SA=cG;import Ke from"react";import{useCallback as sl,useEffect as mG,useMemo as gG,useState as xG}from"react";function Kf(){let{apiBaseUrl:t}=at(),[e,a]=xG(null);return mG(()=>{let o=!1;return fetch(`${t}/_console/dev/status`,{credentials:"include"}).then(r=>r.ok?r.json():null).then(r=>{o||a(r&&r.dev?r:null)}).catch(()=>{o||a(null)}),()=>{o=!0}},[t]),e}async function il(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function vA(){let{apiBaseUrl:t}=at(),e=sl(async()=>(await il(await fetch(`${t}/_console/dev/carts`,{credentials:"include"}))).carts??[],[t]),a=sl(async(s,i)=>il(await fetch(`${t}/_console/dev/file?cart=${encodeURIComponent(s)}&path=${encodeURIComponent(i)}`,{credentials:"include"})),[t]),o=sl(async(s,i,l)=>il(await fetch(`${t}/_console/dev/file`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s,path:i,content:l})})),[t]),r=sl(async s=>il(await fetch(`${t}/_console/dev/apply`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s})})),[t]),n=sl(async s=>il(await fetch(`${t}/_console/dev/scaffold`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:s})})),[t]);return gG(()=>({listCarts:e,readFile:a,writeFile:o,applyCart:r,scaffoldCart:n}),[e,a,o,r,n])}import kA from"react";import{jsx as ka,jsxs as ln}from"react/jsx-runtime";var AA=({carts:t,selected:e,dirtyKeys:a,onSelect:o,onNewCart:r,onNewMigration:n})=>{let[s,i]=kA.useState(!1),[l,u]=kA.useState(""),d=()=>{let f=l.trim();/^[a-z][a-z0-9_]*$/.test(f)&&(r(f),u(""),i(!1))};return ln("div",{className:"flex h-full min-h-0 flex-col",children:[ln("div",{className:"flex h-6 shrink-0 items-center justify-between border-b border-border px-2",children:[ka("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Cartridges"}),ka("button",{type:"button",title:"New cartridge",onClick:()=>i(f=>!f),className:"rounded p-0.5 hover:bg-accent",children:ka(ji,{className:"size-3.5"})})]}),s&&ln("div",{className:"flex items-center gap-1 border-b border-border p-1",children:[ka("input",{autoFocus:!0,value:l,onChange:f=>u(f.target.value),onKeyDown:f=>{f.key==="Enter"&&d(),f.key==="Escape"&&i(!1)},placeholder:"cart_name",className:"h-5 w-full rounded border border-border bg-background px-1 text-[11px] outline-none"}),ka("button",{type:"button",onClick:d,disabled:!/^[a-z][a-z0-9_]*$/.test(l.trim()),className:"rounded px-1 text-[11px] hover:bg-accent disabled:opacity-40",children:"Create"})]}),ka("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:t.map(f=>ln("div",{className:"mb-1",children:[ln("div",{className:"flex items-center justify-between px-2 py-0.5",children:[ln("span",{className:"flex items-center gap-1 text-[11px] font-medium",children:[f.name,!f.writable&&ka(Ui,{className:"size-3 text-muted-foreground","aria-label":f.reason??"read-only"})]}),f.writable&&ka("button",{type:"button",title:"New migration",onClick:()=>n(f.name),className:"rounded p-0.5 text-muted-foreground hover:bg-accent",children:ka(Jo,{className:"size-3"})})]}),f.files.map(c=>{let h=`${f.name}:${c}`,p=e?.cart===f.name&&e?.path===c;return ln("button",{type:"button",onClick:()=>o({cart:f.name,path:c}),"data-active":p,className:me("flex w-full items-center gap-1 truncate py-0.5 pl-4 pr-2 text-left text-[11px]","hover:bg-accent data-[active=true]:bg-accent"),children:[ka("span",{className:"truncate",children:c}),a.has(h)&&ka("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-400",title:"unsaved"})]},c)})]},f.name))})]})};import{Fragment as yG,jsx as ja,jsxs as or}from"react/jsx-runtime";var un=t=>`${t.cart}:${t.path}`;function LG(){let t=new Date,e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var CG=()=>{let{apiBaseUrl:t}=at(),e=Kf(),a=vA(),{sourcesCart:o,setSourcesCart:r,sourcesFile:n,setSourcesFile:s,sourcesTreeW:i,setSourcesTreeW:l}=Lo(),[u,d]=Ke.useState([]),[f,c]=Ke.useState(new Map),[h,p]=Ke.useState(""),[m,g]=Ke.useState([]),[x,C]=Ke.useState(!1),L=o&&n?{cart:o,path:n}:null,y=Ke.useRef(null);Ke.useEffect(()=>{if(!e?.dev)return;let A=new Ku(`${Tr(t)}/_console/dev/lsp`);return A.initialize(`file://${e.projectRoot}`),y.current=A,()=>{A.dispose(),y.current=null}},[e?.dev,e?.projectRoot,t]);let S=Ke.useCallback(()=>{a.listCarts().then(d).catch(A=>p(String(A.message??A)))},[a]);Ke.useEffect(()=>{e?.dev&&S()},[e?.dev,S]);let w=Ke.useCallback(A=>u.find(q=>q.name===A),[u]),b=Ke.useCallback(A=>{r(A.cart),s(A.path),g([]),p("");let q=un(A);f.has(q)||a.readFile(A.cart,A.path).then(({content:F,writable:G})=>{c(_=>{if(_.has(q))return _;let O=new Map(_);return O.set(q,{saved:F,current:F,writable:G}),O})}).catch(F=>p(String(F.message??F)))},[a,f,r,s]);Ke.useEffect(()=>{L&&u.length>0&&!f.has(un(L))&&b(L)},[u]);let I=L?f.get(un(L)):void 0,v=Ke.useMemo(()=>{let A=new Set;for(let[q,F]of f)F.current!==F.saved&&A.add(q);return A},[f]);Ke.useEffect(()=>{if(v.size===0)return;let A=q=>q.preventDefault();return window.addEventListener("beforeunload",A),()=>window.removeEventListener("beforeunload",A)},[v.size]);let N=Ke.useCallback(A=>{if(!L)return;let q=un(L);c(F=>{let G=F.get(q);if(!G||G.current===A)return F;let _=new Map(F);return _.set(q,{...G,current:A}),_})},[L]),P=Ke.useCallback(A=>{if(!L)return;let q=un(L);a.writeFile(L.cart,L.path,A).then(F=>{g(F.diagnostics),p(F.ok?`saved ${L.path}`:`saved ${L.path} \u2014 ${F.diagnostics.length} problem(s)`),c(G=>{let _=G.get(q);if(!_)return G;let O=new Map(G);return O.set(q,{..._,saved:A,current:A}),O}),S()}).catch(F=>p(`save failed: ${F.message??F}`))},[a,L,S]),R=Ke.useCallback(()=>{L&&(C(!0),p(`applying ${L.cart}\u2026`),a.applyCart(L.cart).then(()=>p(`applied ${L.cart} \u2014 pending migrations ran, cart re-registered`)).catch(A=>p(`apply failed: ${A.message??A}`)).finally(()=>C(!1)))},[a,L]),H=Ke.useCallback(A=>{p(`creating ${A}\u2026`),a.scaffoldCart(A).then(()=>{p(`created ${A}`),S(),b({cart:A,path:"schema.nbt"})}).catch(q=>p(`scaffold failed: ${q.message??q}`))},[a,S,b]),k=Ke.useCallback(A=>{let q=`migrations/${LG()}_change/migration.nbt`,F=`${A}:${q}`;c(G=>{let _=new Map(G);return _.set(F,{saved:"",current:`migration change {
71
+ For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return Be.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},WV="DialogDescriptionWarning",VV=({contentRef:t,descriptionId:e})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${WA(WV).contentName}}.`;return Be.useEffect(()=>{let r=t.current?.getAttribute("aria-describedby");e&&r&&(document.getElementById(e)||console.warn(o))},[o,t,e]),null},GV=dx,$V=cx,XV=hx,KV=px,jV=mx,ZV=xx,YV=bx,JV=wx;var VA=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,GA=Oc,$A=(t,e)=>a=>{var o;if(e?.variants==null)return GA(t,a?.class,a?.className);let{variants:r,defaultVariants:n}=e,s=Object.keys(r).map(u=>{let d=a?.[u],c=n?.[u];if(d===null)return null;let f=VA(d)||VA(c);return r[u][f]}),i=a&&Object.entries(a).reduce((u,d)=>{let[c,f]=d;return f===void 0||(u[c]=f),u},{}),l=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:c,className:f,...h}=d;return Object.entries(h).every(p=>{let[m,g]=p;return Array.isArray(g)?g.includes({...n,...i}[m]):{...n,...i}[m]===g})?[...u,c,f]:u},[]);return GA(t,s,l,a?.class,a?.className)};import{jsx as e4}from"react/jsx-runtime";var QV=$A("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function XA({className:t,variant:e="default",size:a="default",asChild:o=!1,...r}){let n=o?qc.Root:"button";return e4(n,{"data-slot":"button","data-variant":e,"data-size":a,className:fe(QV({variant:e,size:a,className:t})),...r})}import{createContext as t4}from"react";var of=t4(null);import{jsx as ro,jsxs as Lx}from"react/jsx-runtime";function jA({...t}){return ro(oo.Root,{"data-slot":"sheet",...t})}function a4({...t}){let e=KA.useContext(of);return ro(oo.Portal,{"data-slot":"sheet-portal",container:e??void 0,...t})}function o4({className:t,...e}){return ro(oo.Overlay,{"data-slot":"sheet-overlay",className:fe("nimbit-devtools dark fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}function ZA({className:t,children:e,side:a="right",showCloseButton:o=!0,...r}){return Lx(a4,{children:[ro(o4,{}),Lx(oo.Content,{"data-slot":"sheet-content","data-side":a,className:fe("nimbit-devtools dark fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",t),...r,children:[e,o&&ro(oo.Close,{"data-slot":"sheet-close",asChild:!0,children:Lx(XA,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[ro(Ao,{}),ro("span",{className:"sr-only",children:"Close"})]})})]})]})}function YA({className:t,...e}){return ro("div",{"data-slot":"sheet-header",className:fe("flex flex-col gap-0.5 p-4",t),...e})}function JA({className:t,...e}){return ro(oo.Title,{"data-slot":"sheet-title",className:fe("text-base font-medium text-foreground",t),...e})}function QA({className:t,...e}){return ro(oo.Description,{"data-slot":"sheet-description",className:fe("text-sm text-muted-foreground",t),...e})}import{Fragment as n4,jsx as xe,jsxs as dt}from"react/jsx-runtime";var r4=()=>{let{dataCart:t,setDataCart:e,dataEntity:a,setDataEntity:o,view:r,setView:n,graphCarts:s,setGraphCarts:i,revealedCarts:l,setRevealedCarts:u,hiddenEntities:d,setHiddenEntities:c,graphLeftW:f,setGraphLeftW:h,graphRightW:p,setGraphRightW:m}=Jt(),g=Na.useRef(null),x=Na.useRef(null),[y,w]=Na.useState(null),[C,I]=Na.useState(null),{registry:v,carts:L,coreCarts:S,installedCarts:A,loading:H,error:M}=Ec(),[R,z]=Na.useState(!1),k=O=>O==="auth"||A.has(O)&&!S.has(O),T=O=>!k(O),D=Na.useMemo(()=>L.filter(k),[L,S,A]),E=Na.useMemo(()=>L.filter(T),[L,S,A]),q=Na.useMemo(()=>L.filter(O=>k(O)||l.has(O)),[L,S,A,l]),B=s??new Set(D),P=O=>{i(F=>{let V=new Set(F??D);return V.has(O)?V.delete(O):V.add(O),V})},N=O=>{if(u(F=>new Set(F).add(O)),z(!1),r==="table"){e(O);let F=v[O]?.[0];o(F?F.name:null)}else i(F=>new Set(F??D).add(O))},U=O=>{c(F=>{let V=new Set(F);return V.has(O)?V.delete(O):V.add(O),V})},$=Na.useMemo(()=>{let O=new Set;for(let F of L)if(B.has(F))for(let V of v[F]??[])d.has(`${F}:${V.name}`)||O.add(`${F}:${V.name}`);return O},[L,v,s,d]);Na.useEffect(()=>{C&&!$.has(`${C.cart}:${C.entity}`)&&I(null)},[C,$]);let _=t&&v[t]?t:D[0]??L[0]??null,W=_?v[_]??[]:[],G=W.find(O=>O.name===a)??W[0]??null;if(Na.useEffect(()=>{_&&_!==t&&e(_),G&&G.name!==a&&o(G.name),_&&T(_)&&!l.has(_)&&u(O=>new Set(O).add(_))},[_,G,t,a,e,o]),L.length===0){let O="No installed cartridges with entities.";return H?O="Loading cartridges\u2026":M&&(O=`Failed to load cartridges: ${M}`),xe("div",{className:"p-3 text-[12px] text-muted-foreground",children:O})}return xe(mm,{registry:v,children:dt("div",{className:"flex h-full flex-col",children:[dt("div",{className:"flex h-7 shrink-0 items-center gap-1 overflow-x-auto border-b border-border bg-background px-1 select-none",children:[dt("div",{className:"flex shrink-0 items-center gap-0.5 pr-1",children:[xe(tM,{active:r==="table",onClick:()=>n("table"),label:"Table",children:xe(il,{className:"size-3"})}),xe(tM,{active:r==="diagram",onClick:()=>n("diagram"),label:"Graph",children:xe(Qi,{className:"size-3"})})]}),xe("div",{className:"h-4 w-px shrink-0 bg-border"}),q.map(O=>{let F=r==="table"?O===_:B.has(O);return xe("button",{type:"button","data-active":F,onClick:()=>{if(r==="table"){e(O);let V=v[O]?.[0];o(V?V.name:null)}else P(O)},className:fe("h-5 shrink-0 rounded-full px-2.5 text-[11px] leading-none outline-none transition-colors","border border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:border-border data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O},O)}),E.length>0?dt("div",{className:"relative shrink-0",children:[xe("button",{type:"button","aria-label":"More cartridges",title:"More cartridges","data-active":R,onClick:()=>z(O=>!O),className:fe("grid size-5 shrink-0 place-items-center rounded-full outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:xe(sr,{className:"size-3.5"})}),R?dt(n4,{children:[xe("div",{className:"fixed inset-0 z-30",onClick:()=>z(!1)}),dt("div",{className:"absolute left-0 top-6 z-40 min-w-36 rounded-md border border-border bg-popover py-1 shadow-md",children:[xe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"More cartridges"}),E.map(O=>{let F=r==="table"?O===_:B.has(O);return xe("button",{type:"button","data-active":F,onClick:()=>N(O),className:fe("block w-full px-2 py-1 text-left text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",F?"text-foreground":"text-muted-foreground"),children:O},O)})]})]}):null]}):null]}),dt("div",{className:"flex min-h-0 min-w-0 flex-1",children:[dt("div",{ref:g,style:{width:f},className:"relative shrink-0 border-r border-border bg-muted/10",children:[xe(eM,{edge:"right",targetRef:g,min:120,max:480,onCommit:h}),xe("div",{className:"flex h-full flex-col overflow-y-auto py-1",children:r==="table"?W.length===0?xe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No entities"}):W.map(O=>{let F=O.name===G?.name;return xe("button",{type:"button","data-active":F,onClick:()=>o(O.name),className:fe("h-6 shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O.name},O.name)}):L.filter(O=>B.has(O)).length===0?xe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No cartridges selected"}):L.filter(O=>B.has(O)).map(O=>dt("div",{className:"mb-1",children:[xe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:O}),(v[O]??[]).map(F=>{let V=`${O}:${F.name}`,ie=!d.has(V);return xe("button",{type:"button","data-active":ie,onClick:()=>U(V),title:ie?`Hide ${F.name}`:`Show ${F.name}`,className:fe("h-6 w-full shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",ie?"text-foreground":"text-muted-foreground/40 line-through"),children:F.name},V)})]},O))})]}),xe("div",{className:"min-h-0 min-w-0 flex-1",children:r==="diagram"?xe(Pg,{visibleIds:$,onSelectNode:(O,F)=>I({cart:O,entity:F})}):G?xe(Xi,{cart:_,entity:G.name,searchFields:G.searchFields,onSelectRow:O=>w(O)},`${_}:${G.name}`):xe("div",{className:"p-3 text-[12px] text-muted-foreground",children:"Pick an entity."})}),r==="diagram"&&C?dt("div",{ref:x,style:{width:p},className:"relative flex shrink-0 flex-col border-l border-border bg-background",children:[xe(eM,{edge:"left",targetRef:x,min:280,max:900,onCommit:m}),dt("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-muted/10 px-2 select-none",children:[dt("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:[dt("span",{className:"text-muted-foreground",children:[C.cart,"."]}),C.entity]}),xe("button",{type:"button","aria-label":"Close",title:"Close",onClick:()=>I(null),className:"grid size-5 shrink-0 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",children:xe(Ao,{className:"size-3.5"})})]}),xe("div",{className:"min-h-0 flex-1",children:xe(Xi,{cart:C.cart,entity:C.entity,searchFields:(v[C.cart]??[]).find(O=>O.name===C.entity)?.searchFields??[],onSelectRow:O=>w(O)},`${C.cart}:${C.entity}`)})]}):null]}),xe(jA,{open:!!y,onOpenChange:O=>!O&&w(null),children:dt(ZA,{side:"right",className:"w-[480px] sm:max-w-[480px]",children:[dt(YA,{children:[dt(JA,{className:"text-[13px]",children:[_,".",G?.name,y?.id?xe("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:y.id}):null]}),xe(QA,{className:"text-[11px]",children:"Row detail"})]}),xe("div",{className:"min-h-0 flex-1 overflow-auto px-4 pb-4",children:y?xe("table",{className:"w-full text-[12px]",children:xe("tbody",{children:Object.entries(y).map(([O,F])=>dt("tr",{className:"border-b border-border/40 align-top",children:[xe("td",{className:"w-32 py-1 pr-2 font-mono text-[11px] text-muted-foreground",children:O}),xe("td",{className:"break-all py-1 font-mono",children:F||xe("span",{className:"text-muted-foreground/60",children:"\u2205"})})]},O))})}):null})]})})]})})},eM=({edge:t,targetRef:e,min:a,max:o,onCommit:r})=>xe("div",{onPointerDown:s=>{s.preventDefault();let i=e.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=i.offsetWidth,c=d,f=0,h=null,p=()=>{f=0,h!=null&&(c=h,i.style.width=`${h}px`,h=null)},m=x=>{x.preventDefault();let y=x.clientX-u,w=t==="left"?-y:y;h=Math.max(a,Math.min(o,d+w)),f||(f=requestAnimationFrame(p))},g=()=>{f&&cancelAnimationFrame(f),p(),r(c),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},style:{touchAction:"none"},className:fe("absolute top-0 bottom-0 z-20 w-1.5 cursor-ew-resize bg-transparent hover:bg-accent/40",t==="left"?"-left-px":"-right-px")}),tM=({active:t,onClick:e,label:a,children:o})=>dt("button",{type:"button","data-active":t,onClick:e,title:a,className:fe("inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[11px] leading-none outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:[o,a]}),aM=r4;import Vt from"react";import{jsx as Ae,jsxs as Ke}from"react/jsx-runtime";var oM="h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring";function s4(t){if(!t)return"never";try{return new Date(t).toLocaleString()}catch{return String(t)}}var rM=t=>`https://docs.google.com/spreadsheets/d/${t}/edit`,i4=({cart:t,config:e,onChanged:a})=>{let o=Og(),[r,n]=Vt.useState(!1),[s,i]=Vt.useState(""),[l,u]=Vt.useState(""),[d,c]=Vt.useState(300),[f,h]=Vt.useState(!1),[p,m]=Vt.useState(!1),[g,x]=Vt.useState(null),[y,w]=Vt.useState(null),[C,I]=Vt.useState(null);Vt.useEffect(()=>{e&&(c(e.intervalSeconds||300),h(e.enabled),e.spreadsheetId&&i(rM(e.spreadsheetId)))},[e]);let v=async(M,R)=>{x(M),w(null),I(null);try{await R(),a()}catch(z){w(z instanceof Error?z.message:String(z))}finally{x(null)}},L=()=>v("save",async()=>{await o.save({cartridge:t,spreadsheetUrl:s,serviceAccountJson:l.trim()||void 0,intervalSeconds:d,enabled:f}),u(""),m(!1),I("Saved.")}),S=()=>v("sync",async()=>{let M=await o.syncNow(t);if(!M.ok)throw new Error(M.error||"sync failed");I("Synced.")}),A=()=>v("remove",async()=>{await o.remove(t),n(!1),I(null)}),H=!!e?.hasServiceAccount;return Ke("div",{className:"rounded-md border border-border",children:[Ke("button",{type:"button",onClick:()=>n(M=>!M),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left",children:[Ae("span",{className:"text-[12px] font-medium text-foreground",children:t}),H?e?.status==="error"?Ae(nr,{className:"size-3.5 text-red-400"}):Ae(ko,{className:fe("size-3.5",e?.enabled?"text-green-400":"text-muted-foreground")}):null,Ae("span",{className:"ml-auto text-[11px] text-muted-foreground",children:H?e?.enabled?"syncing":"paused":"not configured"})]}),r?Ke("div",{className:"space-y-2 border-t border-border px-2.5 py-2",children:[Ke("label",{className:"block space-y-0.5",children:[Ke("div",{className:"flex items-center justify-between",children:[Ae("span",{className:"text-[11px] text-muted-foreground",children:"Spreadsheet URL"}),e?.spreadsheetId?Ae("a",{href:rM(e.spreadsheetId),target:"_blank",rel:"noreferrer",className:"text-[11px] text-foreground hover:underline",children:"Open sheet \u2197"}):null]}),Ae("input",{type:"text",placeholder:"https://docs.google.com/spreadsheets/d/\u2026",value:s,onChange:M=>i(M.target.value),className:oM})]}),H&&!p?Ke("div",{className:"space-y-0.5",children:[Ke("div",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Ae(ko,{className:"size-3.5 text-green-400"}),"Credential configured",Ae("button",{type:"button",onClick:()=>m(!0),className:"ml-auto rounded-md border border-border px-2 py-0.5 text-[11px] text-foreground hover:bg-accent",children:"Replace key"})]}),e?.saEmail?Ke("div",{className:"text-[11px] text-muted-foreground",children:["Share your sheet with: ",Ae("span",{className:"text-foreground",children:e.saEmail})]}):null]}):Ke("label",{className:"block space-y-0.5",children:[Ke("div",{className:"flex items-center justify-between",children:[Ke("span",{className:"text-[11px] text-muted-foreground",children:["Service account JSON ",p?"(leave blank to keep stored key)":""]}),p?Ae("button",{type:"button",onClick:()=>{m(!1),u("")},className:"text-[11px] text-muted-foreground hover:text-foreground",children:"Cancel"}):null]}),Ae("textarea",{placeholder:'{ "type": "service_account", \u2026 }',value:l,onChange:M=>u(M.target.value),rows:4,className:fe(oM,"h-auto resize-y py-1 font-mono text-[11px]")}),H?null:Ae("span",{className:"text-[11px] text-muted-foreground",children:"Paste a Google service-account key, then share your sheet with its client_email."})]}),Ke("div",{className:"flex items-center gap-3",children:[Ke("label",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:["Interval (s)",Ae("input",{type:"number",min:30,value:d,onChange:M=>c(Number(M.target.value)||300),className:"h-7 w-20 rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"})]}),Ke("label",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Ae("input",{type:"checkbox",checked:f,onChange:M=>h(M.target.checked)}),"Enabled"]})]}),e?.lastError?Ke("div",{className:"text-[11px] text-red-400",children:["Last error: ",e.lastError]}):null,H?Ke("div",{className:"text-[11px] text-muted-foreground",children:["Last sync: ",s4(e?.lastSyncAt??0)]}):null,y?Ae("div",{className:"text-[11px] text-red-400",children:y}):null,C?Ae("div",{className:"text-[11px] text-green-400",children:C}):null,Ke("div",{className:"flex items-center gap-2 pt-0.5",children:[Ke("button",{type:"button",disabled:g!==null,onClick:L,className:fe("flex h-7 items-center justify-center gap-1.5 rounded-md bg-foreground px-3 text-[12px] font-medium text-background outline-none",g?"opacity-60":"hover:opacity-90"),children:[g==="save"?Ae(qt,{className:"size-3.5 animate-spin"}):null,"Save"]}),Ke("button",{type:"button",disabled:g!==null||!H,onClick:S,title:H?"Push now":"Configure first",className:fe("flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-3 text-[12px] text-foreground outline-none",g!==null||!H?"opacity-60":"hover:bg-accent"),children:[g==="sync"?Ae(qt,{className:"size-3.5 animate-spin"}):Ae(rl,{className:"size-3.5"}),"Sync now"]}),H?Ae("button",{type:"button",disabled:g!==null,onClick:A,title:"Remove sync config",className:"ml-auto flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-2 text-[12px] text-red-400 outline-none hover:bg-accent",children:g==="remove"?Ae(qt,{className:"size-3.5 animate-spin"}):Ae(ln,{className:"size-3.5"})}):null]})]}):null]})},l4=()=>{let{carts:t,coreCarts:e,installedCarts:a,loading:o}=Ec(),r=Og(),[n,s]=Vt.useState({}),[i,l]=Vt.useState(null),u=Vt.useCallback(()=>{r.list().then(c=>{let f={};for(let h of c)f[h.cartridge]=h;s(f),l(null)}).catch(c=>l(c instanceof Error?c.message:String(c)))},[r]);Vt.useEffect(()=>{u()},[u]);let d=t.filter(c=>a.has(c)&&!e.has(c)||n[c]);return Ke("div",{className:"h-full overflow-y-auto p-2.5",children:[Ke("div",{className:"mb-2",children:[Ae("div",{className:"text-[13px] font-medium text-foreground",children:"Google Sheets sync"}),Ae("div",{className:"text-[11px] text-muted-foreground",children:"Mirror a cartridge into a spreadsheet \u2014 one tab per entity. One-way, on a timer."})]}),i?Ae("div",{className:"mb-2 text-[11px] text-red-400",children:i}):null,o?Ke("div",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[Ae(qt,{className:"size-3.5 animate-spin"})," Loading cartridges\u2026"]}):d.length===0?Ae("div",{className:"text-[11px] text-muted-foreground",children:"No cartridges installed."}):Ae("div",{className:"space-y-1.5",children:d.map(c=>Ae(i4,{cart:c,config:n[c],onChanged:u},c))})]})},nM=l4;import{jsx as Fe,jsxs as ml}from"react/jsx-runtime";var sM=[{id:"general",title:"General"},{id:"editor",title:"Editor"},{id:"integrations",title:"Integrations"}],pl=({label:t,description:e,children:a})=>Fe("div",{className:"border-b border-border px-4 py-3",children:ml("div",{className:"max-w-2xl",children:[Fe("div",{className:"text-[13px] font-medium text-foreground",children:t}),e?Fe("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:e}):null,Fe("div",{className:"mt-2",children:a})]})}),iM=({title:t})=>Fe("div",{className:"border-b border-border px-4 pb-3 pt-4 text-[15px] font-semibold text-foreground",children:t}),rf="rounded border border-border bg-background px-2 py-1 text-[12px] text-foreground outline-none focus:border-accent",u4=()=>{let{devtoolsFont:t,setDevtoolsFont:e}=Jt();return ml("div",{className:"h-full overflow-y-auto",children:[Fe(iM,{title:"General"}),Fe(pl,{label:"Devtools \u203A Font",description:"Font for the devtools panel interface. The code editor stays monospace.",children:Fe("select",{className:rf,value:t,onChange:a=>e(a.target.value),children:Hc.map(a=>Fe("option",{value:a.id,children:a.label},a.id))})})]})},d4=()=>{let{editorTheme:t,setEditorTheme:e,editorFontSize:a,setEditorFontSize:o,editorLineWrap:r,setEditorLineWrap:n,editorTabSize:s,setEditorTabSize:i}=Jt();return ml("div",{className:"h-full overflow-y-auto",children:[Fe(iM,{title:"Editor"}),Fe(pl,{label:"Editor \u203A Theme",description:"Color theme for the Sources editor.",children:Fe("select",{className:rf,value:t,onChange:l=>e(l.target.value),children:Gn.map(l=>Fe("option",{value:l.id,children:l.label},l.id))})}),Fe(pl,{label:"Editor \u203A Font size",description:"Editor font size in pixels.",children:Fe("input",{type:"number",min:8,max:32,className:fe(rf,"w-20"),value:a,onChange:l=>{let u=parseInt(l.target.value,10);Number.isNaN(u)||o(Math.min(32,Math.max(8,u)))}})}),Fe(pl,{label:"Editor \u203A Line wrapping",description:"Soft-wrap long lines instead of scrolling horizontally.",children:ml("label",{className:"inline-flex items-center gap-1.5 text-[12px] text-foreground",children:[Fe("input",{type:"checkbox",checked:r,onChange:l=>n(l.target.checked)}),"Wrap lines"]})}),Fe(pl,{label:"Editor \u203A Tab size",description:"Number of spaces per indent level.",children:Fe("select",{className:rf,value:s,onChange:l=>i(parseInt(l.target.value,10)),children:[2,4,8].map(l=>Fe("option",{value:l,children:l},l))})})]})},c4=()=>{let{settingsCategory:t,setSettingsCategory:e}=Jt(),a=sM.some(o=>o.id===t)?t:"general";return ml("div",{className:"flex h-full min-h-0",children:[Fe("div",{className:"w-40 shrink-0 overflow-y-auto border-r border-border py-1",children:sM.map(o=>Fe("button",{type:"button","data-active":o.id===a,onClick:()=>e(o.id),className:fe("block w-full px-3 py-1 text-left text-[12px] text-foreground outline-none transition-colors","hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:o.title},o.id))}),Fe("div",{className:"min-h-0 min-w-0 flex-1",children:a==="integrations"?Fe(nM,{}):a==="editor"?Fe(d4,{}):Fe(u4,{})})]})},lM=c4;import Qe from"react";import{useCallback as gl,useEffect as f4,useMemo as h4,useState as p4}from"react";function nf(){let{apiBaseUrl:t}=tt(),[e,a]=p4(null);return f4(()=>{let o=!1;return fetch(`${t}/_console/dev/status`,{credentials:"include"}).then(r=>r.ok?r.json():null).then(r=>{o||a(r&&r.dev?r:null)}).catch(()=>{o||a(null)}),()=>{o=!0}},[t]),e}async function xl(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function uM(){let{apiBaseUrl:t}=tt(),e=gl(async()=>(await xl(await fetch(`${t}/_console/dev/carts`,{credentials:"include"}))).carts??[],[t]),a=gl(async(s,i)=>xl(await fetch(`${t}/_console/dev/file?cart=${encodeURIComponent(s)}&path=${encodeURIComponent(i)}`,{credentials:"include"})),[t]),o=gl(async(s,i,l)=>xl(await fetch(`${t}/_console/dev/file`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s,path:i,content:l})})),[t]),r=gl(async s=>xl(await fetch(`${t}/_console/dev/apply`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s})})),[t]),n=gl(async s=>xl(await fetch(`${t}/_console/dev/scaffold`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:s})})),[t]);return h4(()=>({listCarts:e,readFile:a,writeFile:o,applyCart:r,scaffoldCart:n}),[e,a,o,r,n])}import dM from"react";import{jsx as _a,jsxs as mn}from"react/jsx-runtime";var cM=({carts:t,selected:e,dirtyKeys:a,onSelect:o,onNewCart:r,onNewMigration:n})=>{let[s,i]=dM.useState(!1),[l,u]=dM.useState(""),d=()=>{let c=l.trim();/^[a-z][a-z0-9_]*$/.test(c)&&(r(c),u(""),i(!1))};return mn("div",{className:"flex h-full min-h-0 flex-col",children:[mn("div",{className:"flex h-6 shrink-0 items-center justify-between border-b border-border px-2",children:[_a("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Cartridges"}),_a("button",{type:"button",title:"New cartridge",onClick:()=>i(c=>!c),className:"rounded p-0.5 hover:bg-accent",children:_a(ol,{className:"size-3.5"})})]}),s&&mn("div",{className:"flex items-center gap-1 border-b border-border p-1",children:[_a("input",{autoFocus:!0,value:l,onChange:c=>u(c.target.value),onKeyDown:c=>{c.key==="Enter"&&d(),c.key==="Escape"&&i(!1)},placeholder:"cart_name",className:"h-5 w-full rounded border border-border bg-background px-1 text-[11px] outline-none"}),_a("button",{type:"button",onClick:d,disabled:!/^[a-z][a-z0-9_]*$/.test(l.trim()),className:"rounded px-1 text-[11px] hover:bg-accent disabled:opacity-40",children:"Create"})]}),_a("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:t.map(c=>mn("div",{className:"mb-1",children:[mn("div",{className:"flex items-center justify-between px-2 py-0.5",children:[mn("span",{className:"flex items-center gap-1 text-[11px] font-medium",children:[c.name,!c.writable&&_a(Zi,{className:"size-3 text-muted-foreground","aria-label":c.reason??"read-only"})]}),c.writable&&_a("button",{type:"button",title:"New migration",onClick:()=>n(c.name),className:"rounded p-0.5 text-muted-foreground hover:bg-accent",children:_a(ir,{className:"size-3"})})]}),c.files.map(f=>{let h=`${c.name}:${f}`,p=e?.cart===c.name&&e?.path===f;return mn("button",{type:"button",onClick:()=>o({cart:c.name,path:f}),"data-active":p,className:fe("flex w-full items-center gap-1 truncate py-0.5 pl-4 pr-2 text-left text-[11px]","hover:bg-accent data-[active=true]:bg-accent"),children:[_a("span",{className:"truncate",children:f}),a.has(h)&&_a("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-400",title:"unsaved"})]},f)})]},c.name))})]})};import{Fragment as x4,jsx as no,jsxs as fr}from"react/jsx-runtime";var gn=t=>`${t.cart}:${t.path}`;function m4(){let t=new Date,e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var g4=()=>{let{apiBaseUrl:t}=tt(),e=nf(),a=uM(),{sourcesCart:o,setSourcesCart:r,sourcesFile:n,setSourcesFile:s,sourcesTreeW:i,setSourcesTreeW:l,editorTheme:u,editorFontSize:d,editorLineWrap:c,editorTabSize:f}=Jt(),[h,p]=Qe.useState([]),[m,g]=Qe.useState(new Map),[x,y]=Qe.useState(""),[w,C]=Qe.useState([]),[I,v]=Qe.useState(!1),L=o&&n?{cart:o,path:n}:null,S=Qe.useRef(null);Qe.useEffect(()=>{if(!e?.dev)return;let _=new rd(`${_r(t)}/_console/dev/lsp`);return _.initialize(`file://${e.projectRoot}`),S.current=_,()=>{_.dispose(),S.current=null}},[e?.dev,e?.projectRoot,t]);let A=Qe.useCallback(()=>{a.listCarts().then(p).catch(_=>y(String(_.message??_)))},[a]);Qe.useEffect(()=>{e?.dev&&A()},[e?.dev,A]);let H=Qe.useCallback(_=>h.find(W=>W.name===_),[h]),M=Qe.useCallback(_=>{r(_.cart),s(_.path),C([]),y("");let W=gn(_);m.has(W)||a.readFile(_.cart,_.path).then(({content:G,writable:O})=>{g(F=>{if(F.has(W))return F;let V=new Map(F);return V.set(W,{saved:G,current:G,writable:O}),V})}).catch(G=>y(String(G.message??G)))},[a,m,r,s]);Qe.useEffect(()=>{L&&h.length>0&&!m.has(gn(L))&&M(L)},[h]);let R=L?m.get(gn(L)):void 0,z=Qe.useMemo(()=>{let _=new Set;for(let[W,G]of m)G.current!==G.saved&&_.add(W);return _},[m]);Qe.useEffect(()=>{if(z.size===0)return;let _=W=>W.preventDefault();return window.addEventListener("beforeunload",_),()=>window.removeEventListener("beforeunload",_)},[z.size]);let k=Qe.useCallback(_=>{if(!L)return;let W=gn(L);g(G=>{let O=G.get(W);if(!O||O.current===_)return G;let F=new Map(G);return F.set(W,{...O,current:_}),F})},[L]),T=Qe.useCallback(_=>{if(!L)return;let W=gn(L);a.writeFile(L.cart,L.path,_).then(G=>{C(G.diagnostics),y(G.ok?`saved ${L.path}`:`saved ${L.path} \u2014 ${G.diagnostics.length} problem(s)`),g(O=>{let F=O.get(W);if(!F)return O;let V=new Map(O);return V.set(W,{...F,saved:_,current:_}),V}),A()}).catch(G=>y(`save failed: ${G.message??G}`))},[a,L,A]),D=Qe.useCallback(()=>{L&&(v(!0),y(`applying ${L.cart}\u2026`),a.applyCart(L.cart).then(()=>y(`applied ${L.cart} \u2014 pending migrations ran, cart re-registered`)).catch(_=>y(`apply failed: ${_.message??_}`)).finally(()=>v(!1)))},[a,L]),E=Qe.useCallback(_=>{y(`creating ${_}\u2026`),a.scaffoldCart(_).then(()=>{y(`created ${_}`),A(),M({cart:_,path:"schema.nbt"})}).catch(W=>y(`scaffold failed: ${W.message??W}`))},[a,A,M]),q=Qe.useCallback(_=>{let W=`migrations/${m4()}_change/migration.nbt`,G=`${_}:${W}`;g(O=>{let F=new Map(O);return F.set(G,{saved:"",current:`migration change {
72
72
 
73
73
  }
74
- `,writable:!0}),_}),r(A),s(q)},[r,s]),D=Ke.useCallback((A,q)=>{let F=A.replace(/^file:\/\//,""),G=null;for(let _ of u){if(!_.sourceDir)continue;let O=`${_.sourceDir}/`;F.startsWith(O)&&(!G||O.length>G.cart.length)&&(G={cart:_.name,rel:F.slice(O.length)})}G&&b({cart:G.cart,path:G.rel})},[u,b]),M=Ke.useCallback(A=>{A.preventDefault();let q=A.clientX,F=i,G=A.currentTarget;G.setPointerCapture(A.pointerId);let _=U=>l(Math.max(120,Math.min(480,F+(U.clientX-q)))),O=()=>{G.removeEventListener("pointermove",_),G.removeEventListener("pointerup",O)};G.addEventListener("pointermove",_),G.addEventListener("pointerup",O)},[i,l]);if(!e?.dev)return ja("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Sources requires the console to run in dev mode (`console up --dev`)."});let T=L?w(L.cart):void 0,E=L&&T?.sourceDir?`file://${T.sourceDir}/${L.path}`:L?`file://${e.projectRoot}/.readonly/${L.cart}/${L.path}`:"",B=L?v.has(un(L)):!1;return or("div",{className:"flex h-full min-h-0 flex-col",children:[or("div",{className:"flex min-h-0 flex-1",children:[ja("div",{style:{width:i},className:"shrink-0 border-r border-border",children:ja(AA,{carts:u,selected:L,dirtyKeys:v,onSelect:b,onNewCart:H,onNewMigration:k})}),ja("div",{onPointerDown:M,style:{touchAction:"none"},className:"w-1 shrink-0 cursor-ew-resize bg-transparent hover:bg-accent/40"}),ja("div",{className:"min-h-0 min-w-0 flex-1",children:L&&I?ja(Xu,{uri:E,value:I.current,readOnly:!I.writable,lsp:y.current,onChange:N,onSave:P,onGotoDefinition:D},un(L)):ja("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Select a file \u2014 or create a cartridge with the + button."})})]}),or("div",{className:"flex h-6 shrink-0 items-center gap-2 border-t border-border px-2 text-[11px]",children:[L&&I?.writable&&or(yG,{children:[or("button",{type:"button",onClick:()=>I&&P(I.current),className:me("flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent",B&&"text-amber-400"),title:"Save (Ctrl+S) \u2014 mirrors to your local project folder",children:[ja(Yi,{className:"size-3"})," Save"]}),or("button",{type:"button",onClick:R,disabled:x||B,className:"flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent disabled:opacity-40",title:B?"Save first":"Re-install this cart from disk (runs your pending migrations)",children:[ja(Qr,{className:"size-3"})," Apply"]})]}),L&&!I?.writable&&or("span",{className:"text-muted-foreground",children:["read-only (",T?.reason??"no source mapping",")"]}),ja("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:h}),m.length>0&&or("span",{className:"shrink-0 text-red-400",title:m.map(A=>`${A.line}:${A.col} ${A.message}`).join(`
75
- `),children:[m.length," problem",m.length>1?"s":""]})]})]})},MA=CG;import{jsx as je,jsxs as jf}from"react/jsx-runtime";var PA=120,RA=240,DA=8,TA=[{id:"console",title:"Console",render:()=>je(t1,{})},{id:"network",title:"Network",render:()=>je(a1,{})},{id:"data",title:"Data",render:()=>je(wA,{})},{id:"integrations",title:"Integrations",render:()=>je(IA,{})}],bG={id:"sources",title:"Sources",render:()=>je(MA,{})},EA={id:"settings",title:"Settings",render:()=>je(SA,{})},IG=()=>{let{open:t,setOpen:e,dock:a,setDock:o,activeTab:r,setActiveTab:n,size:s,setSize:i,maximized:l,setMaximized:u}=Lo(),d=rr.useRef(null),f=rr.useRef(!1),c=Kf(),h=rr.useMemo(()=>c?.dev?[...TA,bG,EA]:[...TA,EA],[c?.dev]),[p,m]=rr.useState(()=>typeof window>"u"?{w:0,h:0}:{w:window.innerWidth,h:window.innerHeight});rr.useEffect(()=>{let y=()=>m({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",y),window.visualViewport?.addEventListener("resize",y),()=>{window.removeEventListener("resize",y),window.visualViewport?.removeEventListener("resize",y)}},[]),rr.useEffect(()=>{r||h.length>0&&n(h[0].id)},[r,n,h]),rr.useEffect(()=>{let y=d.current;if(!y)return;let S=w=>{let b=w.target;for(;b&&b!==y;){let I=getComputedStyle(b);if(Math.abs(w.deltaY)>=Math.abs(w.deltaX)){if((I.overflowY==="auto"||I.overflowY==="scroll")&&b.scrollHeight>b.clientHeight){let P=b.scrollTop<=0,R=b.scrollTop+b.clientHeight>=b.scrollHeight-1;if(!(w.deltaY<0&&P||w.deltaY>0&&R))return}}else if((I.overflowX==="auto"||I.overflowX==="scroll")&&b.scrollWidth>b.clientWidth){let P=b.scrollLeft<=0,R=b.scrollLeft+b.clientWidth>=b.scrollWidth-1;if(!(w.deltaX<0&&P||w.deltaX>0&&R))return}b=b.parentElement}w.preventDefault()};return y.addEventListener("wheel",S,{passive:!1}),()=>y.removeEventListener("wheel",S)},[t]);let g=rr.useCallback(y=>{y.preventDefault();let S=d.current;if(!S)return;let w=y.currentTarget;w.setPointerCapture(y.pointerId);let b=y.clientX,I=y.clientY,v=S.offsetHeight,N=S.offsetWidth,P=a==="bottom",R=null,H=P?v:N,k=0,D=()=>{if(k=0,R==null)return;let E=R;R=null,H=E,P?S.style.height=`${E}px`:S.style.width=`${E}px`},M=E=>{if(E.preventDefault(),P){let B=I-E.clientY;R=Math.max(PA,Math.min(window.innerHeight-24,v+B))}else{let B=b-E.clientX;R=Math.max(RA,Math.min(window.innerWidth-24,N+B))}k||(k=requestAnimationFrame(D))},T=()=>{k&&cancelAnimationFrame(k),D(),i(E=>P?E.h===H?E:{...E,h:H}:E.w===H?E:{...E,w:H}),w.removeEventListener("pointermove",M),w.removeEventListener("pointerup",T),w.removeEventListener("pointercancel",T);try{w.releasePointerCapture(y.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor=a==="bottom"?"ns-resize":"ew-resize",w.addEventListener("pointermove",M),w.addEventListener("pointerup",T),w.addEventListener("pointercancel",T)},[a,i]);if(t&&(f.current=!0),!f.current)return null;let x=h.find(y=>y.id===r)??h[0],C=l?"inset-0":a==="bottom"?"inset-x-0 bottom-0":"inset-y-0 right-0",L=l?{}:a==="bottom"?{height:Math.max(PA,Math.min(s.h,p.h-DA))}:{width:Math.max(RA,Math.min(s.w,p.w-DA))};return wG(jf("div",{ref:d,style:L,className:me("nimbit-devtools dark fixed z-50 flex flex-col border-border bg-background text-foreground text-[12px] shadow-lg",C,a==="bottom"?"border-t":"border-l",!t&&"hidden"),onMouseDown:y=>y.stopPropagation(),children:[!l&&je("div",{onPointerDown:g,style:{touchAction:"none"},className:me("absolute z-10 bg-transparent hover:bg-accent/40",a==="bottom"?"left-0 right-0 -top-px h-1.5 cursor-ns-resize":"top-0 bottom-0 -left-px w-1.5 cursor-ew-resize")}),jf("div",{className:"flex h-7 shrink-0 items-center border-b border-border bg-background pl-1 pr-1 select-none",children:[je("div",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto",children:h.map(y=>{let S=y.id===x?.id;return je("button",{type:"button","data-active":S,onClick:()=>n(y.id),className:me("h-5 shrink-0 rounded-md px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:jf("span",{className:"inline-flex items-center gap-1",children:[y.icon,y.title]})},y.id)})}),jf("div",{className:"flex shrink-0 items-center gap-0.5 pl-2",children:[je(lx,{label:a==="bottom"?"Dock right":"Dock bottom",onClick:()=>o(a==="bottom"?"right":"bottom"),children:a==="bottom"?je(Xi,{className:"size-3.5"}):je($i,{className:"size-3.5"})}),je(lx,{label:l?"Restore":"Maximize",onClick:()=>u(!l),children:l?je(Wi,{className:"size-3.5"}):je(Vi,{className:"size-3.5"})}),je(lx,{label:"Close",onClick:()=>e(!1),children:je(Co,{className:"size-3.5"})})]})]}),je("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:je(Kk,{children:h.map(y=>je("div",{className:me("h-full w-full",y.id!==x?.id&&"hidden"),children:y.render()},y.id))})})]}),document.body)},lx=({label:t,className:e,children:a,...o})=>je("button",{type:"button","aria-label":t,title:t,className:me("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",e),...o,children:a}),ux=IG;import{jsx as dx}from"react/jsx-runtime";var SG=({apiBaseUrl:t="",defaultActiveTab:e})=>dx(Wp,{apiBaseUrl:t,children:dx(Ig,{defaultActiveTab:e,children:dx(ux,{})})}),uee=SG;function dee(){window.dispatchEvent(new CustomEvent("devtools-toggle"))}export{ux as DevTools,Ig as DevToolsProvider,SG as NimbitDevTools,uee as default,dee as toggleDevTools,Lo as useDevTools};
74
+ `,writable:!0}),F}),r(_),s(W)},[r,s]),B=Qe.useCallback((_,W)=>{let G=_.replace(/^file:\/\//,""),O=null;for(let F of h){if(!F.sourceDir)continue;let V=`${F.sourceDir}/`;G.startsWith(V)&&(!O||V.length>O.cart.length)&&(O={cart:F.name,rel:G.slice(V.length)})}O&&M({cart:O.cart,path:O.rel})},[h,M]),P=Qe.useCallback(_=>{_.preventDefault();let W=_.clientX,G=i,O=_.currentTarget;O.setPointerCapture(_.pointerId);let F=ie=>l(Math.max(120,Math.min(480,G+(ie.clientX-W)))),V=()=>{O.removeEventListener("pointermove",F),O.removeEventListener("pointerup",V)};O.addEventListener("pointermove",F),O.addEventListener("pointerup",V)},[i,l]);if(!e?.dev)return no("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Sources requires the console to run in dev mode (`console up --dev`)."});let N=L?H(L.cart):void 0,U=L&&N?.sourceDir?`file://${N.sourceDir}/${L.path}`:L?`file://${e.projectRoot}/.readonly/${L.cart}/${L.path}`:"",$=L?z.has(gn(L)):!1;return fr("div",{className:"flex h-full min-h-0 flex-col",children:[fr("div",{className:"flex min-h-0 flex-1",children:[no("div",{style:{width:i},className:"shrink-0 border-r border-border",children:no(cM,{carts:h,selected:L,dirtyKeys:z,onSelect:M,onNewCart:E,onNewMigration:q})}),no("div",{onPointerDown:P,style:{touchAction:"none"},className:"w-1 shrink-0 cursor-ew-resize bg-transparent hover:bg-accent/40"}),no("div",{className:"min-h-0 min-w-0 flex-1",children:L&&R?no(od,{uri:U,value:R.current,readOnly:!R.writable,lsp:S.current,onChange:k,onSave:T,onGotoDefinition:B,theme:u,fontSize:d,lineWrap:c,tabSize:f},gn(L)):no("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Select a file \u2014 or create a cartridge with the + button."})})]}),fr("div",{className:"flex h-6 shrink-0 items-center gap-2 border-t border-border px-2 text-[11px]",children:[L&&R?.writable&&fr(x4,{children:[fr("button",{type:"button",onClick:()=>R&&T(R.current),className:fe("flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent",$&&"text-amber-400"),title:"Save (Ctrl+S) \u2014 mirrors to your local project folder",children:[no(nl,{className:"size-3"})," Save"]}),fr("button",{type:"button",onClick:D,disabled:I||$,className:"flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent disabled:opacity-40",title:$?"Save first":"Re-install this cart from disk (runs your pending migrations)",children:[no(sn,{className:"size-3"})," Apply"]})]}),L&&!R?.writable&&fr("span",{className:"text-muted-foreground",children:["read-only (",N?.reason??"no source mapping",")"]}),no("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:x}),w.length>0&&fr("span",{className:"shrink-0 text-red-400",title:w.map(_=>`${_.line}:${_.col} ${_.message}`).join(`
75
+ `),children:[w.length," problem",w.length>1?"s":""]})]})]})},fM=g4;import{jsx as at,jsxs as sf}from"react/jsx-runtime";var hM=120,pM=240,mM=8,gM=[{id:"console",title:"Console",render:()=>at(F1,{})},{id:"network",title:"Network",render:()=>at(O1,{})},{id:"data",title:"Data",render:()=>at(aM,{})}],b4={id:"sources",title:"Sources",render:()=>at(fM,{})},xM={id:"settings",title:"Settings",render:()=>at(lM,{})},w4=()=>{let{open:t,setOpen:e,dock:a,setDock:o,activeTab:r,setActiveTab:n,size:s,setSize:i,maximized:l,setMaximized:u,devtoolsFont:d}=Jt(),c=hr.useRef(null),f=hr.useRef(!1),h=nf(),p=hr.useMemo(()=>h?.dev?[...gM,b4,xM]:[...gM,xM],[h?.dev]),[m,g]=hr.useState(()=>typeof window>"u"?{w:0,h:0}:{w:window.innerWidth,h:window.innerHeight});hr.useEffect(()=>{let I=()=>g({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",I),window.visualViewport?.addEventListener("resize",I),()=>{window.removeEventListener("resize",I),window.visualViewport?.removeEventListener("resize",I)}},[]),hr.useEffect(()=>{r||p.length>0&&n(p[0].id)},[r,n,p]),hr.useEffect(()=>{let I=c.current;if(!I)return;let v=L=>{let S=L.target;for(;S&&S!==I;){let A=getComputedStyle(S);if(Math.abs(L.deltaY)>=Math.abs(L.deltaX)){if((A.overflowY==="auto"||A.overflowY==="scroll")&&S.scrollHeight>S.clientHeight){let R=S.scrollTop<=0,z=S.scrollTop+S.clientHeight>=S.scrollHeight-1;if(!(L.deltaY<0&&R||L.deltaY>0&&z))return}}else if((A.overflowX==="auto"||A.overflowX==="scroll")&&S.scrollWidth>S.clientWidth){let R=S.scrollLeft<=0,z=S.scrollLeft+S.clientWidth>=S.scrollWidth-1;if(!(L.deltaX<0&&R||L.deltaX>0&&z))return}S=S.parentElement}L.preventDefault()};return I.addEventListener("wheel",v,{passive:!1}),()=>I.removeEventListener("wheel",v)},[t]);let x=hr.useCallback(I=>{I.preventDefault();let v=c.current;if(!v)return;let L=I.currentTarget;L.setPointerCapture(I.pointerId);let S=I.clientX,A=I.clientY,H=v.offsetHeight,M=v.offsetWidth,R=a==="bottom",z=null,k=R?H:M,T=0,D=()=>{if(T=0,z==null)return;let B=z;z=null,k=B,R?v.style.height=`${B}px`:v.style.width=`${B}px`},E=B=>{if(B.preventDefault(),R){let P=A-B.clientY;z=Math.max(hM,Math.min(window.innerHeight-24,H+P))}else{let P=S-B.clientX;z=Math.max(pM,Math.min(window.innerWidth-24,M+P))}T||(T=requestAnimationFrame(D))},q=()=>{T&&cancelAnimationFrame(T),D(),i(B=>R?B.h===k?B:{...B,h:k}:B.w===k?B:{...B,w:k}),L.removeEventListener("pointermove",E),L.removeEventListener("pointerup",q),L.removeEventListener("pointercancel",q);try{L.releasePointerCapture(I.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor=a==="bottom"?"ns-resize":"ew-resize",L.addEventListener("pointermove",E),L.addEventListener("pointerup",q),L.addEventListener("pointercancel",q)},[a,i]);if(t&&(f.current=!0),!f.current)return null;let y=p.find(I=>I.id===r)??p[0],w=l?"inset-0":a==="bottom"?"inset-x-0 bottom-0":"inset-y-0 right-0",C=l?{}:a==="bottom"?{height:Math.max(hM,Math.min(s.h,m.h-mM))}:{width:Math.max(pM,Math.min(s.w,m.w-mM))};return sf("div",{ref:c,style:{...C,fontFamily:A1(d)},className:fe("nimbit-devtools dark fixed z-50 flex flex-col border-border bg-background text-foreground text-[12px] shadow-lg",w,a==="bottom"?"border-t":"border-l",!t&&"hidden"),onMouseDown:I=>I.stopPropagation(),children:[!l&&at("div",{onPointerDown:x,style:{touchAction:"none"},className:fe("absolute z-10 bg-transparent hover:bg-accent/40",a==="bottom"?"left-0 right-0 -top-px h-1.5 cursor-ns-resize":"top-0 bottom-0 -left-px w-1.5 cursor-ew-resize")}),sf("div",{className:"flex h-7 shrink-0 items-center border-b border-border bg-background pl-1 pr-1 select-none",children:[at("div",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto",children:p.map(I=>{let v=I.id===y?.id;return at("button",{type:"button","data-active":v,onClick:()=>n(I.id),className:fe("h-5 shrink-0 rounded-md px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:sf("span",{className:"inline-flex items-center gap-1",children:[I.icon,I.title]})},I.id)})}),sf("div",{className:"flex shrink-0 items-center gap-0.5 pl-2",children:[at(Cx,{label:a==="bottom"?"Dock right":"Dock bottom",onClick:()=>o(a==="bottom"?"right":"bottom"),children:a==="bottom"?at(tl,{className:"size-3.5"}):at(el,{className:"size-3.5"})}),at(Cx,{label:l?"Restore":"Maximize",onClick:()=>u(!l),children:l?at(Ji,{className:"size-3.5"}):at(Yi,{className:"size-3.5"})}),at(Cx,{label:"Close",onClick:()=>e(!1),children:at(Ao,{className:"size-3.5"})})]})]}),at("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:at(M1,{children:p.map(I=>at("div",{className:fe("h-full w-full",I.id!==y?.id&&"hidden"),children:I.render()},I.id))})})]})},Cx=({label:t,className:e,children:a,...o})=>at("button",{type:"button","aria-label":t,title:t,className:fe("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",e),...o,children:a}),vx=w4;var bM=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
76
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing) * 0)}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.\\!right-0{right:calc(var(--spacing) * 0)!important}.-right-px{right:-1px}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.\\!left-0{left:calc(var(--spacing) * 0)!important}.-left-px{left:-1px}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[61\\]{z-index:61}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.\\!h-1{height:calc(var(--spacing) * 1)!important}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-auto{height:auto}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[3rem\\]{min-height:3rem}.min-h-\\[26px\\]{min-height:26px}.\\!w-1{width:calc(var(--spacing) * 1)!important}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-\\[260px\\]{width:260px}.w-\\[480px\\]{width:480px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\\[96px\\]{max-width:96px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-\\[minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\]{border-radius:min(var(--radius-md), 10px)}.rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.\\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-400\\/30{border-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-400\\/30{border-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.border-blue-400\\/60{border-color:#54a2ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-400\\/60{border-color:color-mix(in oklab, var(--color-blue-400) 60%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab, var(--border) 20%, transparent)}}.border-border\\/30{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/30{border-color:color-mix(in oklab, var(--border) 30%, transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.border-border\\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-red-400\\/30{border-color:#ff65684d}@supports (color:color-mix(in lab, red, red)){.border-red-400\\/30{border-color:color-mix(in oklab, var(--color-red-400) 30%, transparent)}}.border-transparent{border-color:#0000}.border-yellow-400\\/30{border-color:#fac8004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-400\\/30{border-color:color-mix(in oklab, var(--color-yellow-400) 30%, transparent)}}.border-zinc-500\\/30{border-color:#71717b4d}@supports (color:color-mix(in lab, red, red)){.border-zinc-500\\/30{border-color:color-mix(in oklab, var(--color-zinc-500) 30%, transparent)}}.border-zinc-700{border-color:var(--color-zinc-700)}.\\!bg-transparent{background-color:#0000!important}.bg-accent\\/10{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/10{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.bg-amber-400{background-color:var(--color-amber-400)}.bg-background{background-color:var(--background)}.bg-black\\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/20{background-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.bg-border,.bg-border\\/60{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\\/60{background-color:color-mix(in oklab, var(--border) 60%, transparent)}}.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted\\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/10{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.bg-muted\\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\\/90{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/90{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-yellow-500\\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-yellow-500\\/20{background-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\\/20{background-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.bg-zinc-700\\/40{background-color:#3f3f4666}@supports (color:color-mix(in lab, red, red)){.bg-zinc-700\\/40{background-color:color-mix(in oklab, var(--color-zinc-700) 40%, transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-clip-padding{background-clip:padding-box}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.8rem\\]{font-size:.8rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[1\\.45\\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-background{color:var(--background)}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-400{color:var(--color-green-400)}.text-muted-foreground,.text-muted-foreground\\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-muted-foreground\\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-yellow-300{color:var(--color-yellow-300)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.\\!opacity-0{opacity:0!important}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-blue-500\\/10{--tw-ring-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.ring-blue-500\\/10{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.ring-blue-500\\/30{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.ring-blue-500\\/30{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.ring-zinc-100\\/10{--tw-ring-color:#f4f4f51a}@supports (color:color-mix(in lab, red, red)){.ring-zinc-100\\/10{--tw-ring-color:color-mix(in oklab, var(--color-zinc-100) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}@media (hover:hover){.hover\\:bg-accent:hover,.hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.hover\\:bg-accent\\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\\:bg-muted:hover{background-color:var(--muted)}.hover\\:bg-primary:hover{background-color:var(--primary)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}}.focus\\:border-accent:focus{border-color:var(--accent)}.focus\\:border-accent-foreground\\/30:focus{border-color:var(--accent-foreground)}@supports (color:color-mix(in lab, red, red)){.focus\\:border-accent-foreground\\/30:focus{border-color:color-mix(in oklab, var(--accent-foreground) 30%, transparent)}}.focus\\:border-ring:focus{border-color:var(--ring)}.focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}.has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\\[icon\\=inline-end\\]\\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\\[icon\\=inline-start\\]\\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-closed\\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-open\\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-\\[active\\=false\\]\\:opacity-40[data-active=false]{opacity:.4}@media (hover:hover){.data-\\[active\\=false\\]\\:hover\\:opacity-70[data-active=false]:hover{opacity:.7}}.data-\\[active\\=true\\]\\:border-border[data-active=true]{border-color:var(--border)}.data-\\[active\\=true\\]\\:bg-accent[data-active=true]{background-color:var(--accent)}.data-\\[active\\=true\\]\\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\\[selected\\=true\\]\\:\\[box-shadow\\:inset_0_0_0_1px_\\#60a5fa\\][data-selected=true]{box-shadow:inset 0 0 0 1px #60a5fa}.data-\\[side\\=bottom\\]\\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\\[side\\=bottom\\]\\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\\[side\\=bottom\\]\\:h-auto[data-side=bottom]{height:auto}.data-\\[side\\=bottom\\]\\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom][data-closed]{--tw-exit-translate-y:calc(.1*100%)}.data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom][data-open]{--tw-enter-translate-y:calc(.1*100%)}.data-\\[side\\=left\\]\\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\\[side\\=left\\]\\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\\[side\\=left\\]\\:h-full[data-side=left]{height:100%}.data-\\[side\\=left\\]\\:w-3\\/4[data-side=left]{width:75%}.data-\\[side\\=left\\]\\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left][data-closed]{--tw-exit-translate-x:calc(.1*-100%)}.data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left][data-open]{--tw-enter-translate-x:calc(.1*-100%)}.data-\\[side\\=right\\]\\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\\[side\\=right\\]\\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\\[side\\=right\\]\\:h-full[data-side=right]{height:100%}.data-\\[side\\=right\\]\\:w-3\\/4[data-side=right]{width:75%}.data-\\[side\\=right\\]\\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right][data-closed]{--tw-exit-translate-x:calc(.1*100%)}.data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right][data-open]{--tw-enter-translate-x:calc(.1*100%)}.data-\\[side\\=top\\]\\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\\[side\\=top\\]\\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\\[side\\=top\\]\\:h-auto[data-side=top]{height:auto}.data-\\[side\\=top\\]\\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top][data-closed]{--tw-exit-translate-y:calc(.1*-100%)}.data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top][data-open]{--tw-enter-translate-y:calc(.1*-100%)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.sm\\:max-w-\\[480px\\]{max-width:480px}.data-\\[side\\=left\\]\\:sm\\:max-w-sm[data-side=left],.data-\\[side\\=right\\]\\:sm\\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media (hover:hover){.\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.nimbit-devtools{color-scheme:dark;scrollbar-width:thin;scrollbar-color:oklch(40% 0 0) transparent;--spacing:4px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--radius:10px;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);font-size:12px;line-height:1.5}.nimbit-devtools ::-webkit-scrollbar{width:10px;height:10px}.nimbit-devtools::-webkit-scrollbar{width:10px;height:10px}.nimbit-devtools ::-webkit-scrollbar-track{background:0 0}.nimbit-devtools::-webkit-scrollbar-track{background:0 0}.nimbit-devtools ::-webkit-scrollbar-corner{background:0 0}.nimbit-devtools::-webkit-scrollbar-corner{background:0 0}.nimbit-devtools ::-webkit-scrollbar-thumb{background:oklch(40% 0 0) padding-box padding-box;border:2px solid #0000;border-radius:5px}.nimbit-devtools::-webkit-scrollbar-thumb{background:oklch(40% 0 0) padding-box padding-box;border:2px solid #0000;border-radius:5px}.nimbit-devtools ::-webkit-scrollbar-thumb:hover{background:oklch(50% 0 0)}.nimbit-devtools::-webkit-scrollbar-thumb:hover{background:oklch(50% 0 0)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}`;import{jsx as lf}from"react/jsx-runtime";var C4=({apiBaseUrl:t="",defaultActiveTab:e})=>{let[a,o]=bl.useState(null);return bl.useEffect(()=>{let r=document.createElement("div");r.setAttribute("data-nimbit-devtools-host",""),document.body.appendChild(r);let n=r.attachShadow({mode:"open"}),s=document.createElement("style");s.textContent=bM,n.appendChild(s);let i=document.createElement("div");i.className="nimbit-devtools dark",n.appendChild(i);let l=L4(i);return o({root:l,node:i}),()=>{setTimeout(()=>{l.unmount(),r.remove()},0)}},[]),bl.useEffect(()=>{a&&a.root.render(lf(of.Provider,{value:a.node,children:lf(om,{apiBaseUrl:t,children:lf(Ng,{defaultActiveTab:e,children:lf(vx,{})})})}))},[a,t,e]),null},zae=C4;function qae(){window.dispatchEvent(new CustomEvent("devtools-toggle"))}function Uae(){let[t,e]=bl.useState(!1);return bl.useEffect(()=>{let a=o=>{let r=o.detail;r&&typeof r.open=="boolean"&&e(r.open)};return window.addEventListener("devtools-state",a),()=>window.removeEventListener("devtools-state",a)},[]),t}export{vx as DevTools,Ng as DevToolsProvider,C4 as NimbitDevTools,zae as default,qae as toggleDevTools,Jt as useDevTools,Uae as useDevToolsOpen};
76
77
  /*! Bundled license information:
77
78
 
78
79
  use-sync-external-store/cjs/use-sync-external-store-shim.production.js: