@gdquest/gd-exercise
Version:
Core package that handles logic for the GDExercise project.
3 lines • 325 kB
JavaScript
"use strict";var zf=Object.create;var fr=Object.defineProperty;var jf=Object.getOwnPropertyDescriptor;var Wf=Object.getOwnPropertyNames;var qf=Object.getPrototypeOf,Zf=Object.prototype.hasOwnProperty;var Ct=(n,e)=>()=>(n&&(e=n(n=0)),e);var ur=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),hr=(n,e)=>{for(var t in e)fr(n,t,{get:e[t],enumerable:!0})},zo=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Wf(e))!Zf.call(n,i)&&i!==t&&fr(n,i,{get:()=>e[i],enumerable:!(r=jf(e,i))||r.enumerable});return n};var Tt=(n,e,t)=>(t=n!=null?zf(qf(n)):{},zo(e||!n||!n.__esModule?fr(t,"default",{value:n,enumerable:!0}):t,n)),Vf=n=>zo(fr({},"__esModule",{value:!0}),n);var Wo=ur((A0,Yi)=>{"use strict";var Gf=Object.prototype.hasOwnProperty,Ee="~";function bn(){}Object.create&&(bn.prototype=Object.create(null),new bn().__proto__||(Ee=!1));function Yf(n,e,t){this.fn=n,this.context=e,this.once=t||!1}function jo(n,e,t,r,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new Yf(t,r||n,i),s=Ee?Ee+e:e;return n._events[s]?n._events[s].fn?n._events[s]=[n._events[s],o]:n._events[s].push(o):(n._events[s]=o,n._eventsCount++),n}function dr(n,e){--n._eventsCount===0?n._events=new bn:delete n._events[e]}function me(){this._events=new bn,this._eventsCount=0}me.prototype.eventNames=function(){var e=[],t,r;if(this._eventsCount===0)return e;for(r in t=this._events)Gf.call(t,r)&&e.push(Ee?r.slice(1):r);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};me.prototype.listeners=function(e){var t=Ee?Ee+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s};me.prototype.listenerCount=function(e){var t=Ee?Ee+e:e,r=this._events[t];return r?r.fn?1:r.length:0};me.prototype.emit=function(e,t,r,i,o,s){var a=Ee?Ee+e:e;if(!this._events[a])return!1;var l=this._events[a],u=arguments.length,c,f;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),u){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,r),!0;case 4:return l.fn.call(l.context,t,r,i),!0;case 5:return l.fn.call(l.context,t,r,i,o),!0;case 6:return l.fn.call(l.context,t,r,i,o,s),!0}for(f=1,c=new Array(u-1);f<u;f++)c[f-1]=arguments[f];l.fn.apply(l.context,c)}else{var h=l.length,_;for(f=0;f<h;f++)switch(l[f].once&&this.removeListener(e,l[f].fn,void 0,!0),u){case 1:l[f].fn.call(l[f].context);break;case 2:l[f].fn.call(l[f].context,t);break;case 3:l[f].fn.call(l[f].context,t,r);break;case 4:l[f].fn.call(l[f].context,t,r,i);break;default:if(!c)for(_=1,c=new Array(u-1);_<u;_++)c[_-1]=arguments[_];l[f].fn.apply(l[f].context,c)}}return!0};me.prototype.on=function(e,t,r){return jo(this,e,t,r,!1)};me.prototype.once=function(e,t,r){return jo(this,e,t,r,!0)};me.prototype.removeListener=function(e,t,r,i){var o=Ee?Ee+e:e;if(!this._events[o])return this;if(!t)return dr(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!r||s.context===r)&&dr(this,o);else{for(var a=0,l=[],u=s.length;a<u;a++)(s[a].fn!==t||i&&!s[a].once||r&&s[a].context!==r)&&l.push(s[a]);l.length?this._events[o]=l.length===1?l[0]:l:dr(this,o)}return this};me.prototype.removeAllListeners=function(e){var t;return e?(t=Ee?Ee+e:e,this._events[t]&&dr(this,t)):(this._events=new bn,this._eventsCount=0),this};me.prototype.off=me.prototype.removeListener;me.prototype.addListener=me.prototype.on;me.prefixed=Ee;me.EventEmitter=me;typeof Yi<"u"&&(Yi.exports=me)});var yn=ur((T0,Zo)=>{"use strict";function Be(n){if(typeof n!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(n))}function qo(n,e){for(var t="",r=0,i=-1,o=0,s,a=0;a<=n.length;++a){if(a<n.length)s=n.charCodeAt(a);else{if(s===47)break;s=47}if(s===47){if(!(i===a-1||o===1))if(i!==a-1&&o===2){if(t.length<2||r!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var l=t.lastIndexOf("/");if(l!==t.length-1){l===-1?(t="",r=0):(t=t.slice(0,l),r=t.length-1-t.lastIndexOf("/")),i=a,o=0;continue}}else if(t.length===2||t.length===1){t="",r=0,i=a,o=0;continue}}e&&(t.length>0?t+="/..":t="..",r=2)}else t.length>0?t+="/"+n.slice(i+1,a):t=n.slice(i+1,a),r=a-i-1;i=a,o=0}else s===46&&o!==-1?++o:o=-1}return t}function Hf(n,e){var t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||"");return t?t===e.root?t+r:t+n+r:r}var Yt={resolve:function(){for(var e="",t=!1,r,i=arguments.length-1;i>=-1&&!t;i--){var o;i>=0?o=arguments[i]:(r===void 0&&(r=process.cwd()),o=r),Be(o),o.length!==0&&(e=o+"/"+e,t=o.charCodeAt(0)===47)}return e=qo(e,!t),t?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(e){if(Be(e),e.length===0)return".";var t=e.charCodeAt(0)===47,r=e.charCodeAt(e.length-1)===47;return e=qo(e,!t),e.length===0&&!t&&(e="."),e.length>0&&r&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return Be(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,t=0;t<arguments.length;++t){var r=arguments[t];Be(r),r.length>0&&(e===void 0?e=r:e+="/"+r)}return e===void 0?".":Yt.normalize(e)},relative:function(e,t){if(Be(e),Be(t),e===t||(e=Yt.resolve(e),t=Yt.resolve(t),e===t))return"";for(var r=1;r<e.length&&e.charCodeAt(r)===47;++r);for(var i=e.length,o=i-r,s=1;s<t.length&&t.charCodeAt(s)===47;++s);for(var a=t.length,l=a-s,u=o<l?o:l,c=-1,f=0;f<=u;++f){if(f===u){if(l>u){if(t.charCodeAt(s+f)===47)return t.slice(s+f+1);if(f===0)return t.slice(s+f)}else o>u&&(e.charCodeAt(r+f)===47?c=f:f===0&&(c=0));break}var h=e.charCodeAt(r+f),_=t.charCodeAt(s+f);if(h!==_)break;h===47&&(c=f)}var d="";for(f=r+c+1;f<=i;++f)(f===i||e.charCodeAt(f)===47)&&(d.length===0?d+="..":d+="/..");return d.length>0?d+t.slice(s+c):(s+=c,t.charCodeAt(s)===47&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(Be(e),e.length===0)return".";for(var t=e.charCodeAt(0),r=t===47,i=-1,o=!0,s=e.length-1;s>=1;--s)if(t=e.charCodeAt(s),t===47){if(!o){i=s;break}}else o=!1;return i===-1?r?"/":".":r&&i===1?"//":e.slice(0,i)},basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Be(e);var r=0,i=-1,o=!0,s;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,l=-1;for(s=e.length-1;s>=0;--s){var u=e.charCodeAt(s);if(u===47){if(!o){r=s+1;break}}else l===-1&&(o=!1,l=s+1),a>=0&&(u===t.charCodeAt(a)?--a===-1&&(i=s):(a=-1,i=l))}return r===i?i=l:i===-1&&(i=e.length),e.slice(r,i)}else{for(s=e.length-1;s>=0;--s)if(e.charCodeAt(s)===47){if(!o){r=s+1;break}}else i===-1&&(o=!1,i=s+1);return i===-1?"":e.slice(r,i)}},extname:function(e){Be(e);for(var t=-1,r=0,i=-1,o=!0,s=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(l===47){if(!o){r=a+1;break}continue}i===-1&&(o=!1,i=a+1),l===46?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||i===-1||s===0||s===1&&t===i-1&&t===r+1?"":e.slice(t,i)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return Hf("/",e)},parse:function(e){Be(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;var r=e.charCodeAt(0),i=r===47,o;i?(t.root="/",o=1):o=0;for(var s=-1,a=0,l=-1,u=!0,c=e.length-1,f=0;c>=o;--c){if(r=e.charCodeAt(c),r===47){if(!u){a=c+1;break}continue}l===-1&&(u=!1,l=c+1),r===46?s===-1?s=c:f!==1&&(f=1):s!==-1&&(f=-1)}return s===-1||l===-1||f===0||f===1&&s===l-1&&s===a+1?l!==-1&&(a===0&&i?t.base=t.name=e.slice(1,l):t.base=t.name=e.slice(a,l)):(a===0&&i?(t.name=e.slice(1,s),t.base=e.slice(1,l)):(t.name=e.slice(a,s),t.base=e.slice(a,l)),t.ext=e.slice(s,l)),a>0?t.dir=e.slice(0,a-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Yt.posix=Yt;Zo.exports=Yt});var Go=ur((P0,Hi)=>{"use strict";var Kf=Object.prototype.hasOwnProperty,Se="~";function vn(){}Object.create&&(vn.prototype=Object.create(null),new vn().__proto__||(Se=!1));function Jf(n,e,t){this.fn=n,this.context=e,this.once=t||!1}function Vo(n,e,t,r,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new Jf(t,r||n,i),s=Se?Se+e:e;return n._events[s]?n._events[s].fn?n._events[s]=[n._events[s],o]:n._events[s].push(o):(n._events[s]=o,n._eventsCount++),n}function pr(n,e){--n._eventsCount===0?n._events=new vn:delete n._events[e]}function ge(){this._events=new vn,this._eventsCount=0}ge.prototype.eventNames=function(){var e=[],t,r;if(this._eventsCount===0)return e;for(r in t=this._events)Kf.call(t,r)&&e.push(Se?r.slice(1):r);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};ge.prototype.listeners=function(e){var t=Se?Se+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s};ge.prototype.listenerCount=function(e){var t=Se?Se+e:e,r=this._events[t];return r?r.fn?1:r.length:0};ge.prototype.emit=function(e,t,r,i,o,s){var a=Se?Se+e:e;if(!this._events[a])return!1;var l=this._events[a],u=arguments.length,c,f;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),u){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,r),!0;case 4:return l.fn.call(l.context,t,r,i),!0;case 5:return l.fn.call(l.context,t,r,i,o),!0;case 6:return l.fn.call(l.context,t,r,i,o,s),!0}for(f=1,c=new Array(u-1);f<u;f++)c[f-1]=arguments[f];l.fn.apply(l.context,c)}else{var h=l.length,_;for(f=0;f<h;f++)switch(l[f].once&&this.removeListener(e,l[f].fn,void 0,!0),u){case 1:l[f].fn.call(l[f].context);break;case 2:l[f].fn.call(l[f].context,t);break;case 3:l[f].fn.call(l[f].context,t,r);break;case 4:l[f].fn.call(l[f].context,t,r,i);break;default:if(!c)for(_=1,c=new Array(u-1);_<u;_++)c[_-1]=arguments[_];l[f].fn.apply(l[f].context,c)}}return!0};ge.prototype.on=function(e,t,r){return Vo(this,e,t,r,!1)};ge.prototype.once=function(e,t,r){return Vo(this,e,t,r,!0)};ge.prototype.removeListener=function(e,t,r,i){var o=Se?Se+e:e;if(!this._events[o])return this;if(!t)return pr(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!r||s.context===r)&&pr(this,o);else{for(var a=0,l=[],u=s.length;a<u;a++)(s[a].fn!==t||i&&!s[a].once||r&&s[a].context!==r)&&l.push(s[a]);l.length?this._events[o]=l.length===1?l[0]:l:pr(this,o)}return this};ge.prototype.removeAllListeners=function(e){var t;return e?(t=Se?Se+e:e,this._events[t]&&pr(this,t)):(this._events=new vn,this._eventsCount=0),this};ge.prototype.off=ge.prototype.removeListener;ge.prototype.addListener=ge.prototype.on;ge.prefixed=Se;ge.EventEmitter=ge;typeof Hi<"u"&&(Hi.exports=ge)});var fa={};hr(fa,{createLsp:()=>hu,getCharacterFromPosition:()=>Ht,getDiagnosticSeverity:()=>ca,getPositionFromCharacter:()=>uu});function Ht(n,e){let t=0,r=0;for(let i=0;i<n.length;i++){if(n[i]===`
`?(t+=1,r=0):r+=1,e.line<t)return 0;if(t===e.line&&r===e.character)return i+1}return n.length}function uu(n,e){let t=0,r=0;for(let i=1;i<n.length;i++)if(n[i-1]===`
`?(t+=1,r=0):r+=1,i===e)return{line:t,character:r};return{line:t,character:r}}function ca(n){switch(n){case 1:return"error";case 2:return"warning";case 3:case 4:default:return"info"}}function hu(n){let e=new la.default,t=null,r=0,{autocompletion:i=!0,onClientCommand:o,getData:s}=n,a=new fu;class l{constructor(d){this.view=d}update(d){}}aa.ViewPlugin.fromClass(l);let u=(0,vr.linter)(async _=>{t=_,e.emit("view",_);let d=[],p=r;return r+=1,a.notify({method:"textDocument/didChange",params:{textDocument:{uri:"file:///whatever",version:p},contentChanges:[{text:_.state.doc.toString()}]}}),d},{});a.on("request",_=>{o(_)});let c=_=>{switch(_.method){case"textDocument/publishDiagnostics":f(_);break}};a.on("notification",c);let f=_=>{if(console.log("onPublishDiagnostics",_,t),t==null)return;let d=_.params.diagnostics.map(g=>({from:Ht(t?.state.doc.toString()??"",g.range.start),to:Ht(t?.state.doc.toString()??"",g.range.end),severity:ca(g.severity),source:g.source,message:g.message}));console.log("diagnostics",d);let p=(0,vr.setDiagnostics)(t.state,d),m=t.state.update(p);t.dispatch(m)};return s({emitServerCommand:_=>{let d=JSON.parse(_);if(typeof d=="string")throw new Error("JSON is string");if(Array.isArray(d)){let p=[];for(let m of d)"method"in m?a.emit("notification",m):p.push(m);a.emit("batch",p);return}if("error"in d){a.emit("error",d);return}if("result"in d){a.emit("response",d);return}if("method"in d){a.emit("notification",d);return}throw new Error("unknown error")}}),[u,...i?[]:[]]}var vr,aa,eu,sa,tu,oa,nu,ru,iu,su,ou,au,la,lu,cu,fu,rs=Ct(()=>{"use strict";vr=require("@codemirror/lint"),aa=require("@codemirror/view"),eu=Object.create,sa=Object.defineProperty,tu=Object.getOwnPropertyDescriptor,oa=Object.getOwnPropertyNames,nu=Object.getPrototypeOf,ru=Object.prototype.hasOwnProperty,iu=(n,e)=>function(){return e||(0,n[oa(n)[0]])((e={exports:{}}).exports,e),e.exports},su=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of oa(e))!ru.call(n,i)&&i!==t&&sa(n,i,{get:()=>e[i],enumerable:!(r=tu(e,i))||r.enumerable});return n},ou=(n,e,t)=>(t=n!=null?eu(nu(n)):{},su(e||!n||!n.__esModule?sa(t,"default",{value:n,enumerable:!0}):t,n)),au=iu({"../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js"(n,e){"use strict";var t=Object.prototype.hasOwnProperty,r="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function o(u,c,f){this.fn=u,this.context=c,this.once=f||!1}function s(u,c,f,h,_){if(typeof f!="function")throw new TypeError("The listener must be a function");var d=new o(f,h||u,_),p=r?r+c:c;return u._events[p]?u._events[p].fn?u._events[p]=[u._events[p],d]:u._events[p].push(d):(u._events[p]=d,u._eventsCount++),u}function a(u,c){--u._eventsCount===0?u._events=new i:delete u._events[c]}function l(){this._events=new i,this._eventsCount=0}l.prototype.eventNames=function(){var c=[],f,h;if(this._eventsCount===0)return c;for(h in f=this._events)t.call(f,h)&&c.push(r?h.slice(1):h);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(f)):c},l.prototype.listeners=function(c){var f=r?r+c:c,h=this._events[f];if(!h)return[];if(h.fn)return[h.fn];for(var _=0,d=h.length,p=new Array(d);_<d;_++)p[_]=h[_].fn;return p},l.prototype.listenerCount=function(c){var f=r?r+c:c,h=this._events[f];return h?h.fn?1:h.length:0},l.prototype.emit=function(c,f,h,_,d,p){var m=r?r+c:c;if(!this._events[m])return!1;var g=this._events[m],w=arguments.length,E,b;if(g.fn){switch(g.once&&this.removeListener(c,g.fn,void 0,!0),w){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,f),!0;case 3:return g.fn.call(g.context,f,h),!0;case 4:return g.fn.call(g.context,f,h,_),!0;case 5:return g.fn.call(g.context,f,h,_,d),!0;case 6:return g.fn.call(g.context,f,h,_,d,p),!0}for(b=1,E=new Array(w-1);b<w;b++)E[b-1]=arguments[b];g.fn.apply(g.context,E)}else{var y=g.length,x;for(b=0;b<y;b++)switch(g[b].once&&this.removeListener(c,g[b].fn,void 0,!0),w){case 1:g[b].fn.call(g[b].context);break;case 2:g[b].fn.call(g[b].context,f);break;case 3:g[b].fn.call(g[b].context,f,h);break;case 4:g[b].fn.call(g[b].context,f,h,_);break;default:if(!E)for(x=1,E=new Array(w-1);x<w;x++)E[x-1]=arguments[x];g[b].fn.apply(g[b].context,E)}}return!0},l.prototype.on=function(c,f,h){return s(this,c,f,h,!1)},l.prototype.once=function(c,f,h){return s(this,c,f,h,!0)},l.prototype.removeListener=function(c,f,h,_){var d=r?r+c:c;if(!this._events[d])return this;if(!f)return a(this,d),this;var p=this._events[d];if(p.fn)p.fn===f&&(!_||p.once)&&(!h||p.context===h)&&a(this,d);else{for(var m=0,g=[],w=p.length;m<w;m++)(p[m].fn!==f||_&&!p[m].once||h&&p[m].context!==h)&&g.push(p[m]);g.length?this._events[d]=g.length===1?g[0]:g:a(this,d)}return this},l.prototype.removeAllListeners=function(c){var f;return c?(f=r?r+c:c,this._events[f]&&a(this,f)):(this._events=new i,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=r,l.EventEmitter=l,typeof e<"u"&&(e.exports=l)}}),la=ou(au(),1),lu=la.default,cu=class extends Error{constructor(n,e){let{cause:t,code:r,response:i}=e??{};super(n,{cause:t}),this.code=0,this.response=null,r!=null&&(this.code=r),i!=null&&(this.response=i)}},fu=class extends lu{constructor(){super(...arguments),this._requests=new Map,this._lastId=0}async send(n){return await new Promise((e,t)=>{Array.isArray(n)?this._processBatch(n,e):this._process(n,e,t)})}notify(n){if(Array.isArray(n)){new Promise(e=>{this._processBatch(n,e)}).catch(e=>{console.error("Error while processing batch:",e)});return}new Promise((e,t)=>{this._process(n,e,t)}).catch(e=>{console.error("Error while running process:",e)})}_process(n,e,t){let r=this._lastId;this._lastId+=1;let i={jsonrpc:"2.0",id:r,...n},o=()=>{this.off("response",s),this.off("error",a)},s=l=>{l.id===r&&(e(l),o())},a=l=>{if(l.id===r){let u=new cu(l.error.message,{code:l.error.code,response:l});t(u),o()}};this.on("response",s),this.on("error",a),this.emit("request",JSON.stringify(i))}_processBatch(n,e){let t=n.map(i=>{let o={jsonrpc:"2.0",id:this._lastId,...i};return this._lastId+=1,o}),r=i=>{let o=[];for(let s of i)for(let a of t)a.id===s.id&&o.push(s);o.length>0&&(e(o),this.off("batch",r))};this.on("batch",r),this.emit("request",t)}}});function yc(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function vc(n,e){let t=n.childBefore(e);for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}function dn(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let s=!r&&n instanceof zt&&n.index<0?null:n.parent;if(!s)return n;n=s}let o=r?0:ue.IgnoreOverlays;if(r)for(let s=n,a=s.parent;a;s=a,a=s.parent)s instanceof zt&&s.index<0&&((i=a.enter(e,t,o))===null||i===void 0?void 0:i.from)!=s.from&&(n=a);for(;;){let s=n.enter(e,t,o);if(!s)return n;n=s}}function xi(n,e,t,r){let i=n.cursor(),o=[];if(!i.firstChild())return o;if(t!=null){for(;!i.type.is(t);)if(!i.nextSibling())return o}for(;;){if(r!=null&&i.type.is(r))return o;if(i.type.is(e)&&o.push(i.node),!i.nextSibling())return r==null?o:[]}}function wi(n,e,t=e.length-1){for(let r=n.parent;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}function oo(n){return n.children.some(e=>e instanceof Bt||!e.type.isAnonymous||oo(e))}function gd(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=1024,reused:o=[],minRepeatType:s=r.types.length}=n,a=Array.isArray(t)?new ro(t,t.length):t,l=r.types,u=0,c=0;function f(b,y,x,O,k){let{id:S,start:v,end:R,size:P}=a,C=c;for(;P<0;)if(a.next(),P==-1){let B=o[S];x.push(B),O.push(v-b);return}else if(P==-3){u=S;return}else if(P==-4){c=S;return}else throw new RangeError(`Unrecognized record size: ${P}`);let $=l[S],U,D,q=v-b;if(R-v<=i&&(D=p(a.pos-y,k))){let B=new Uint16Array(D.size-D.skip),V=a.pos-D.size,Q=B.length;for(;a.pos>V;)Q=m(D.start,B,Q);U=new Bt(B,R-D.start,r),q=D.start-b}else{let B=a.pos-P;a.next();let V=[],Q=[],H=S>=s?S:-1,j=0,G=R;for(;a.pos>B;)H>=0&&a.id==H&&a.size>=0?(a.end<=G-i&&(_(V,Q,v,j,a.end,G,H,C),j=V.length,G=a.end),a.next()):f(v,B,V,Q,H);if(H>=0&&j>0&&j<V.length&&_(V,Q,v,j,v,G,H,C),V.reverse(),Q.reverse(),H>-1&&j>0){let he=h($);U=ao($,V,Q,0,V.length,0,R-v,he,he)}else U=d($,V,Q,R-v,C-R)}x.push(U),O.push(q)}function h(b){return(y,x,O)=>{let k=0,S=y.length-1,v,R;if(S>=0&&(v=y[S])instanceof ke){if(!S&&v.type==b&&v.length==O)return v;(R=v.prop(J.lookAhead))&&(k=x[S]+v.length+R)}return d(b,y,x,O,k)}}function _(b,y,x,O,k,S,v,R){let P=[],C=[];for(;b.length>O;)P.push(b.pop()),C.push(y.pop()+x-k);b.push(d(r.types[v],P,C,S-k,R-S)),y.push(k-x)}function d(b,y,x,O,k=0,S){if(u){let v=[J.contextHash,u];S=S?[v].concat(S):[v]}if(k>25){let v=[J.lookAhead,k];S=S?[v].concat(S):[v]}return new ke(b,y,x,O,S)}function p(b,y){let x=a.fork(),O=0,k=0,S=0,v=x.end-i,R={size:0,start:0,skip:0};e:for(let P=x.pos-b;x.pos>P;){let C=x.size;if(x.id==y&&C>=0){R.size=O,R.start=k,R.skip=S,S+=4,O+=4,x.next();continue}let $=x.pos-C;if(C<0||$<P||x.start<v)break;let U=x.id>=s?4:0,D=x.start;for(x.next();x.pos>$;){if(x.size<0)if(x.size==-3)U+=4;else break e;else x.id>=s&&(U+=4);x.next()}k=D,O+=C,S+=U}return(y<0||O==b)&&(R.size=O,R.start=k,R.skip=S),R.size>4?R:void 0}function m(b,y,x){let{id:O,start:k,end:S,size:v}=a;if(a.next(),v>=0&&O<s){let R=x;if(v>4){let P=a.pos-(v-4);for(;a.pos>P;)x=m(b,y,x)}y[--x]=R,y[--x]=S-b,y[--x]=k-b,y[--x]=O}else v==-3?u=O:v==-4&&(c=O);return x}let g=[],w=[];for(;a.pos>0;)f(n.start||0,n.bufferStart||0,g,w,-1);let E=(e=n.length)!==null&&e!==void 0?e:g.length?w[0]+g[0].length:0;return new ke(l[n.topID],g.reverse(),w.reverse(),E)}function gi(n,e){if(!n.isAnonymous||e instanceof Bt||e.type!=n)return 1;let t=bc.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof ke)){t=1;break}t+=gi(n,r)}bc.set(e,t)}return t}function ao(n,e,t,r,i,o,s,a,l){let u=0;for(let d=r;d<i;d++)u+=gi(n,e[d]);let c=Math.ceil(u*1.5/8),f=[],h=[];function _(d,p,m,g,w){for(let E=m;E<g;){let b=E,y=p[E],x=gi(n,d[E]);for(E++;E<g;E++){let O=gi(n,d[E]);if(x+O>=c)break;x+=O}if(E==b+1){if(x>c){let O=d[b];_(O.children,O.positions,0,O.children.length,p[b]+w);continue}f.push(d[b])}else{let O=p[E-1]+d[E-1].length-y;f.push(ao(n,d,p,b,E,y,O,null,l))}h.push(y+w-o)}}return _(e,t,r,i,0),(a||l)(f,h,s)}var pd,Hn,J,md,Ue,_i,mi,Oc,ue,ke,ro,Bt,zt,io,Kn,pn,bc,Oi,so,n1,lo=Ct(()=>{"use strict";pd=0,Hn=class{constructor(e,t){this.from=e,this.to=t}},J=class{constructor(e={}){this.id=pd++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Ue.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}};J.closedBy=new J({deserialize:n=>n.split(" ")});J.openedBy=new J({deserialize:n=>n.split(" ")});J.group=new J({deserialize:n=>n.split(" ")});J.contextHash=new J({perNode:!0});J.lookAhead=new J({perNode:!0});J.mounted=new J({perNode:!0});md=Object.create(null),Ue=class n{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):md,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new n(e.name||"",t,e.id,r);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(i)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[o[0].id]=o[1]}}return i}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 t=this.prop(J.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(J.group),o=-1;o<(i?i.length:0);o++){let s=t[o<0?r.name:i[o]];if(s)return s}}}};Ue.none=new Ue("",Object.create(null),0,8);_i=class n{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let o of e){let s=o(r);s&&(i||(i=Object.assign({},r.props)),i[s[0].id]=s[1])}t.push(i?new Ue(r.name,i,r.id,r.flags):r)}return new n(t)}},mi=new WeakMap,Oc=new WeakMap;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays"})(ue||(ue={}));ke=class n{constructor(e,t,r,i,o){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,o&&o.length){this.props=Object.create(null);for(let[s,a]of o)this.props[typeof s=="number"?s:s.id]=a}}toString(){let e=this.prop(J.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let i=r.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new pn(this.topNode,e)}cursorAt(e,t=0,r=0){let i=mi.get(this)||this.topNode,o=new pn(i);return o.moveTo(e,t),mi.set(this,o._tree),o}get topNode(){return new zt(this,0,0,null)}resolve(e,t=0){let r=dn(mi.get(this)||this.topNode,e,t,!1);return mi.set(this,r),r}resolveInner(e,t=0){let r=dn(Oc.get(this)||this.topNode,e,t,!0);return Oc.set(this,r),r}iterate(e){let{enter:t,leave:r,from:i=0,to:o=this.length}=e,s=e.mode||0,a=(s&ue.IncludeAnonymous)>0;for(let l=this.cursor(s|ue.IncludeAnonymous);;){let u=!1;if(l.from<=o&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&r&&(a||!l.type.isAnonymous)&&r(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 t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ao(Ue.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new n(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new n(Ue.none,t,r,i)))}static build(e){return gd(e)}};ke.empty=new ke(Ue.none,[],[],0);ro=class n{constructor(e,t){this.buffer=e,this.index=t}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 n(this.buffer,this.index)}},Bt=class n{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return Ue.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],o=i.name;if(/\W/.test(o)&&!i.isError&&(o=JSON.stringify(o)),e+=4,r==e)return o;let s=[];for(;e<r;)s.push(this.childString(e)),e=this.buffer[e+3];return o+"("+s.join(",")+")"}findChild(e,t,r,i,o){let{buffer:s}=this,a=-1;for(let l=e;l!=t&&!(yc(o,i,s[l+1],s[l+2])&&(a=l,r>0));l=s[l+3]);return a}slice(e,t,r){let i=this.buffer,o=new Uint16Array(t-e),s=0;for(let a=e,l=0;a<t;){o[l++]=i[a++],o[l++]=i[a++]-r;let u=o[l++]=i[a++]-r;o[l++]=i[a++]-e,s=Math.max(s,u)}return new n(o,s,this.set)}};zt=class n{constructor(e,t,r,i){this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,o=0){for(let s=this;;){for(let{children:a,positions:l}=s._tree,u=t>0?a.length:-1;e!=u;e+=t){let c=a[e],f=l[e]+s.from;if(yc(i,r,f,f+c.length)){if(c instanceof Bt){if(o&ue.ExcludeBuffers)continue;let h=c.findChild(0,c.buffer.length,t,r-f,i);if(h>-1)return new Kn(new io(s,c,e,f),null,h)}else if(o&ue.IncludeAnonymous||!c.type.isAnonymous||oo(c)){let h;if(!(o&ue.IgnoreMounts)&&c.props&&(h=c.prop(J.mounted))&&!h.overlay)return new n(h.tree,f,e,s);let _=new n(c,f,e,s);return o&ue.IncludeAnonymous||!_.type.isAnonymous?_:_.nextChild(t<0?c.children.length-1:0,t,r,i)}}}if(o&ue.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<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)}enter(e,t,r=0){let i;if(!(r&ue.IgnoreOverlays)&&(i=this._tree.prop(J.mounted))&&i.overlay){let o=e-this.from;for(let{from:s,to:a}of i.overlay)if((t>0?s<=o:s<o)&&(t<0?a>=o:a>o))return new n(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}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}cursor(e=0){return new pn(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return dn(this,e,t,!1)}resolveInner(e,t=0){return dn(this,e,t,!0)}enterUnfinishedNodesBefore(e){return vc(this,e)}getChild(e,t=null,r=null){let i=xi(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return xi(this,e,t,r)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return wi(this,e)}};io=class{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}},Kn=class n{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,t,r){this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,o=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return o<0?null:new n(this.context,this,o)}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)}enter(e,t,r=0){if(r&ue.ExcludeBuffers)return null;let{buffer:i}=this.context,o=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new n(this.context,this,o)}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,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new n(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new n(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new pn(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,o=r.buffer[this.index+3];if(o>i){let s=r.buffer[this.index+1];e.push(r.slice(i,o,s)),t.push(0)}return new ke(this.type,e,t,this.to-this.from)}resolve(e,t=0){return dn(this,e,t,!1)}resolveInner(e,t=0){return dn(this,e,t,!0)}enterUnfinishedNodesBefore(e){return vc(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,r=null){let i=xi(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return xi(this,e,t,r)}get node(){return this}matchContext(e){return wi(this,e)}},pn=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof zt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.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,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof zt?(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,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,o=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return o<0?!1:(this.stack.push(this.index),this.yieldBuf(o))}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,t,r=this.mode){return this.buffer?r&ue.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ue.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ue.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:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<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 t,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let o=0;o<this.index;o++)if(i.buffer.buffer[o+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let o=t+e,s=e<0?-1:r._tree.children.length;o!=s;o+=e){let a=r._tree.children[o];if(this.mode&ue.IncludeAnonymous||a instanceof Bt||!a.type.isAnonymous||oo(a))return!1}return!0}move(e,t){if(t&&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,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,o=this.stack.length;o>=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,r=o+1;break e}i=this.stack[--o]}for(let i=r;i<this.stack.length;i++)t=new Kn(this.buffer,t,this.stack[i]);return this.bufferNode=new Kn(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;i&&t&&t(this),i=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return wi(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,o=this.stack.length-1;i>=0;o--){if(o<0)return wi(this.node,e,i);let s=r[t.buffer[this.stack[o]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}};bc=new WeakMap;Oi=class{startParse(e,t,r){return typeof e=="string"&&(e=new so(e)),r=r?r.length?r.map(i=>new Hn(i.from,i.to)):[new Hn(0,0)]:[new Hn(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let o=i.advance();if(o)return o}}},so=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,t){return this.string.slice(e,t)}},n1=new J({perNode:!0})});function Jn(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r<n.length;){let o=0;for(;;){let s=n.charCodeAt(r++),a=!1;if(s==126){o=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,a=!0),o+=l,a)break;o*=46}t?t[i++]=o:t=new e(o)}return t}function Nc(n,e,t,r,i,o){let s=0,a=1<<r,{dialect:l}=t.p.parser;e:for(;a&n[s];){let u=n[s+1];for(let _=s+3;_<u;_+=2)if((n[_+1]&a)>0){let d=n[_];if(l.allows(d)&&(e.token.value==-1||e.token.value==d||xd(d,e.token.value,i,o))){e.acceptToken(d);break}}let c=e.next,f=0,h=n[s+2];if(e.next<0&&h>f&&n[u+h*3-3]==65535&&n[u+h*3-3]==65535){s=n[u+h*3-1];continue e}for(;f<h;){let _=f+h>>1,d=u+_+(_<<1),p=n[d],m=n[d+1]||65536;if(c<p)h=_;else if(c>=m)f=_+1;else{s=n[d+2],e.advance();continue e}}break}}function Rc(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function xd(n,e,t,r){let i=Rc(t,r,e);return i<0||Rc(t,r,n)<i}function Ac(n,e,t){let r=n.cursor(ue.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}function Tc(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}function st(n,e){return n[e]|n[e+1]<<16}function wd(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function Pc(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}var uo,bi,Ec,ho,po,mn,Sc,mo,St,go,er,$e,co,kc,_o,xo,Cc,wo,Oo,fo,yi,vi,bo=Ct(()=>{"use strict";lo();uo=class n{constructor(e,t,r,i,o,s,a,l,u,c=0,f){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=o,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=u,this.lookAhead=c,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new n(e,[],t,r,r,0,[],0,i?new bi(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:o}=this.p,s=o.dynamicPrecedence(i);if(s&&(this.score+=s),r==0){this.pushState(o.getGoto(this.state,i,!0),this.reducePos),i<o.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,4,!0),this.reduceContext(i,this.reducePos);return}let a=this.stack.length-(r-1)*3-(e&262144?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,u=this.reducePos-l;u>=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=u));let c=a?this.stack[a-1]:0,f=this.bufferBase+this.buffer.length-c;if(i<o.minRepeatTerm||e&131072){let h=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,l,h,f+4,!0)}if(e&262144)this.state=this.stack[a];else{let h=this.stack[a-3];this.state=o.getGoto(h,i,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(i,l)}storeNode(e,t,r,i=4,o=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,a=this.buffer.length;if(a==0&&s.parent&&(a=s.bufferBase-s.parent.bufferBase,s=s.parent),a>0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==r)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=r;return}}}if(!o||this.pos==r)this.buffer.push(e,t,r,i);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,i>4&&(i-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=r,this.buffer[s+3]=i}}shift(e,t,r){let i=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4);else{let o=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(o,1)||(this.reducePos=r)),this.pushState(o,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}}apply(e,t,r){e&65536?this.reduce(e):this.shift(e,t,r)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new n(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ho(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let o=0,s;o<t.length;o+=2)(s=t[o+1])!=this.state&&this.p.parser.hasAction(s,e)&&i.push(t[o],s);if(this.stack.length<120)for(let o=0;i.length<8&&o<t.length;o+=2){let s=t[o+1];i.some((a,l)=>l&1&&a==s)||i.push(t[o],s)}t=i}let r=[];for(let i=0;i<t.length&&r.length<4;i+=2){let o=t[i+1];if(o==this.state)continue;let s=this.split();s.pushState(o,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(t[i],this.pos),s.score-=200,r.push(s)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,i=t&65535,o=this.stack.length-r*3;if(o<0||e.getGoto(this.stack[o],i,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,o)=>{if(!t.includes(i))return t.push(i),e.allActions(i,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-o;if(a>1){let l=s&65535,u=this.stack.length-a*3;if(u>=0&&e.getGoto(this.stack[u],l,!1)>=0)return a<<19|65536|l}}else{let a=r(s,o+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new bi(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},bi=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}};(function(n){n[n.Insert=200]="Insert",n[n.Delete=190]="Delete",n[n.Reduce=100]="Reduce",n[n.MaxNext=4]="MaxNext",n[n.MaxInsertStackDepth=300]="MaxInsertStackDepth",n[n.DampenInsertStackDepth=120]="DampenInsertStackDepth",n[n.MinBigReduction=2e3]="MinBigReduction"})(Ec||(Ec={}));ho=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}},po=class n{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new n(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new n(this.stack,this.pos,this.index)}};mn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Sc=new mn,mo=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Sc,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,o=this.pos+e;for(;o<r.from;){if(!i)return null;let s=this.ranges[--i];o-=r.from-s.to,r=s}for(;t<0?o>r.to:o>=r.to;){if(i==this.ranges.length-1)return null;let s=this.ranges[++i];o+=s.from-r.to,r=s}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t<this.chunk.length)r=this.pos+e,i=this.chunk.charCodeAt(t);else{let o=this.resolveOffset(e,1);if(o==null)return-1;if(r=o,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let s=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Sc,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}},St=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Nc(this.data,e,t,this.id,r.data,r.tokenPrecTable)}};St.prototype.contextual=St.prototype.fallback=St.prototype.extend=!1;go=class{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?Jn(e):e}token(e,t){let r=e.pos,i=0;for(;;){let o=e.next<0,s=e.resolveOffset(1,1);if(Nc(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(o||i++,s==null)break;e.reset(s,e.token)}i&&(e.reset(r,e.token),e.acceptToken(this.elseToken,i))}};go.prototype.contextual=St.prototype.fallback=St.prototype.extend=!1;er=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};$e=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),co=null;(function(n){n[n.Margin=25]="Margin"})(kc||(kc={}));_o=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Ac(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Ac(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragm